kryptografia-w-javie.-od-podstaw ebook.pdf
(
18855 KB
)
Pobierz
IDZ DO
PRZYK£ADOW
Y ROZDZIA£
Kryptografia w Javie.
SPIS TREŒCI
Od podstaw
KATALOG KSI¥¯EK
Autor: David Hook
T³umaczenie: Zbigniew Banach
ISBN: 83-246-0277-1
Tytu³ orygina³u:
Beginning Cryptography with Java
Format: B5, stron: 512
Przyk³ady na ftp: 600 kB
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
Stosuj algorytmy kryptograficzne w aplikacjach
• Poznaj architekturê interfejsów kryptograficznych Javy
Zastosuj klucze symetryczne i asymetryczne
Naucz siê zarz¹dzania certyfikatami w programach
W œwiecie, w którym najcenniejszym towarem jest informacja, kryptografia coraz
bardziej zyskuje na znaczeniu. Cenne dane, przesy³ane w sieci lub przechowywane
w aplikacjach i bazach danych, musz¹ byæ chronione za pomoc¹ skomplikowanych
algorytmów szyfrowania i uwierzytelniania. Poniewa¿ próby w³amañ do serwerów
internetowych zdarzaj¹ siê regularnie, implementacja mechanizmów kryptograficznych
w aplikacjach sieciowych i platformach handlu elektronicznego ma szczególnie wysoki
priorytet. Java, wykorzystywana bardzo czêsto do tworzenia takich w³aœnie rozwi¹zañ,
wyposa¿ona zosta³a w zestaw interfejsów programistycznych (API), które pozwalaj¹
szybko i skutecznie wzbogacaæ aplikacje o obs³ugê kryptografii.
Ksi¹¿ka „Kryptografia w Javie. Podstawy” to podrêcznik przedstawiaj¹cy na
praktycznych przyk³adach narzêdzia kryptograficzne Javy. Opisuje podstawowe
zasady ich u¿ywania, u³atwia zrozumienie zale¿noœci miêdzy poszczególnymi
interfejsami API i uczy, jak w razie potrzeby korzystaæ z gotowych rozwi¹zañ,
by oszczêdziæ czas. Daje wiedzê niezbêdn¹ do implementowania technik
kryptograficznych w aplikacjach bez niepotrzebnego komplikowania kodu Ÿród³owego.
Architektura interfejsów JCA i JCE
Szyfrowanie symetryczne
Generowanie kluczy
Stosowanie kluczy asymetrycznych
Podpisy cyfrowe
Obs³uga certyfikatów
Szyfrowanie poczty elektronicznej
Twórz bezpieczne aplikacje,
wykorzystuj¹c nowoczesne mechanizmy kryptograficzne
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
ONOWOŒCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
O autorze .................................................................................................................................................... 13
Wstęp .......................................................................................................................................................... 15
Rozdział 1. JCA i JCE ................................................................................................................................... 21
Podstawowa architektura .............................................................................................. 21
Podpisywanie dostawców .............................................................................................. 24
Pliki polityki ograniczeń ................................................................................................ 25
Instalacja plików polityki nieograniczających siły algorytmów ....................................... 25
Rozwiązywanie innych problemów ............................................................................. 27
Skąd wiadomo, że pliki dostarczone
przez firmę Sun naprawdę działają tak, jak powinny? .............................................. 28
Instalacja dostawcy Bouncy Castle ................................................................................ 28
Instalacja poprzez konfigurację środowiska uruchomieniowego ................................... 28
Instalacja na etapie wykonania ................................................................................ 31
Priorytety dostawców .................................................................................................... 31
Sprawdzanie możliwości dostawcy ................................................................................. 33
Podsumowanie ............................................................................................................ 34
Ćwiczenia .................................................................................................................... 35
Rozdział 2. Kryptografia z kluczem symetrycznym .............................................................................. 37
Pierwszy przykład ......................................................................................................... 38
Prosta klasa narzędziowa ........................................................................................ 38
Klasa SecretKeySpec .............................................................................................. 42
Klasa Cipher .......................................................................................................... 42
Dopełnienie w symetrycznych szyfrach blokowych ........................................................... 44
Dopełnienie PKCS #5/PKCS #7 ............................................................................... 44
Inne mechanizmy dopełnienia .................................................................................. 47
Tryby szyfrowania w symetrycznych szyfrach blokowych ................................................... 48
Tryb ECB ................................................................................................................ 48
Tryb CBC ................................................................................................................ 50
Słowo o obiektach parametrów szyfru ....................................................................... 58
Klasa AlgorithmParameters ..................................................................................... 58
Tryb CTS — specjalna odmiana CBC ........................................................................ 59
Tryby strumieniowe symetrycznych szyfrów blokowych ................................................ 59
6
Kryptografia w Javie. Od podstaw
Symetryczne szyfry strumieniowe ................................................................................... 63
Generowanie losowych kluczy ....................................................................................... 65
Interfejs Key ........................................................................................................... 67
Klasa KeyGenerator ................................................................................................ 67
Szyfrowanie z hasłem ................................................................................................... 68
Podstawowe PBE .................................................................................................... 69
PBE w JCE .............................................................................................................. 70
Opakowywanie klucza ................................................................................................... 75
Szyfrowanie operacji wejścia-wyjścia .............................................................................. 78
Podsumowanie ............................................................................................................ 80
Ćwiczenia .................................................................................................................... 81
Rozdział 3. Skróty wiadomości, MAC i HMAC ......................................................................................... 83
Klasa narzędziowa ....................................................................................................... 84
Problem modyfikacji wiadomości ................................................................................... 86
Skróty wiadomości ....................................................................................................... 88
Klasa MessageDigest ............................................................................................. 90
Modyfikacja skrótu ....................................................................................................... 92
HMAC — MAC oparty na skrócie ................................................................................... 94
Klasa Mac .............................................................................................................. 97
Kody MAC oparte na szyfrach symetrycznych .................................................................. 98
Funkcje skrótu jako źródło danych pseudolosowych ...................................................... 100
Generowanie kluczy PBE ........................................................................................ 100
Generowanie maski .............................................................................................. 103
Operacje wejścia-wyjścia ze skrótami kryptograficznymi ................................................. 105
Podsumowanie .......................................................................................................... 107
Ćwiczenia .................................................................................................................. 108
Rozdział 4. Kryptografia asymetryczna ................................................................................................109
Klasa narzędziowa ..................................................................................................... 110
Interfejsy PublicKey i PrivateKey .................................................................................. 111
Algorytm RSA ............................................................................................................. 111
Klasa KeyFactory .................................................................................................. 114
Klasa RSAPublicKeySpec i interfejs RSAPublicKey ................................................... 115
Klasa RSAPrivateKeySpec i interfejs RSAPrivateKey ................................................. 115
Tworzenie losowych kluczy RSA .............................................................................. 115
Przyspieszanie pracy RSA ...................................................................................... 118
Mechanizmy dopełniania RSA ................................................................................ 120
Opakowywanie kluczy RSA ..................................................................................... 128
Wymiana kluczy tajnych .............................................................................................. 130
Uzgadnianie klucza .................................................................................................... 133
Algorytm Diffiego-Hellmana .................................................................................... 133
Diffie-Hellman bazujący na krzywych eliptycznych ..................................................... 137
Diffie-Hellman z wieloma stronami ......................................................................... 142
Algorytm El Gamala .................................................................................................... 144
Klasa AlgorithmParameterGenerator ....................................................................... 146
Podpisy cyfrowe ......................................................................................................... 148
Klasa Signature .................................................................................................... 149
Algorytm podpisu cyfrowego DSA ........................................................................... 150
Algorytmy podpisu oparte na RSA ........................................................................... 156
Podsumowanie .......................................................................................................... 160
Ćwiczenia .................................................................................................................. 161
Spis treści
7
Rozdział 5. Opis obiektów kryptograficznych w notacji ASN.1 ............................................................163
Czym jest ASN.1? ...................................................................................................... 163
Klasa narzędziowa ..................................................................................................... 164
Podstawowa składnia ASN.1 ....................................................................................... 165
Składnia komentarzy ............................................................................................. 165
Identyfikatory obiektów .......................................................................................... 165
Struktura modułu .................................................................................................. 166
Typy danych w ASN.1 ................................................................................................. 168
Typy proste .......................................................................................................... 169
Typy ciągów bitowych ............................................................................................ 170
Typy ciągów znakowych ......................................................................................... 170
Typy strukturalizowane .......................................................................................... 172
Adnotacje typów ................................................................................................... 172
Znaczniki ............................................................................................................. 173
Typ CHOICE .......................................................................................................... 177
Typ CLASS ........................................................................................................... 178
Reguły kodowania ...................................................................................................... 179
Kodowanie BER .................................................................................................... 179
Kodowanie DER .................................................................................................... 181
API ASN.1 w Bouncy Castle ........................................................................................ 182
Tworzenie podstawowych typów ASN.1 ................................................................... 183
Obsługa znaczników .............................................................................................. 185
Definiowanie własnych obiektów ............................................................................ 186
Analiza nieznanego zakodowanego obiektu ............................................................. 192
Prawdziwe przykłady wykorzystania ASN.1 w Javie ......................................................... 194
Podstawowe struktury ASN.1 ................................................................................. 194
Kodowanie IV ....................................................................................................... 195
Budowa podpisu PKCS #1 V1.5 ............................................................................. 196
Kodowanie parametrów podpisu PSS ..................................................................... 199
Kodowanie kluczy publicznych i prywatnych ............................................................. 201
Podsumowanie .......................................................................................................... 212
Ćwiczenia .................................................................................................................. 213
Rozdział 6. Nazwy wyróżniające i certyfikaty ......................................................................................215
Klasa narzędziowa ..................................................................................................... 216
Nazwy wyróżniające .................................................................................................... 216
Klasa X500Principal .............................................................................................. 218
Certyfikaty klucza publicznego ..................................................................................... 219
Klasa Certificate ................................................................................................... 220
Certyfikaty X.509 ....................................................................................................... 221
Klasa X509Certificate ........................................................................................... 221
Rozszerzenia X.509 .............................................................................................. 229
Interfejs X509Extension ........................................................................................ 230
Rozszerzenia obsługiwane bezpośrednio przez klasę X509Certificate ........................ 231
Odczyt i zapis certyfikatów .......................................................................................... 238
Klasa CertificateFactory ........................................................................................ 238
Żądania certyfikacyjne ................................................................................................ 242
Tworzenie prostego centrum certyfikacji ....................................................................... 248
8
Kryptografia w Javie. Od podstaw
Ścieżki i składy certyfikatów ........................................................................................ 253
Klasa CertPath ..................................................................................................... 254
Klasa CertStore .................................................................................................... 256
Klasa X509CertSelector ........................................................................................ 257
Podsumowanie .......................................................................................................... 259
Ćwiczenia .................................................................................................................. 260
Rozdział 7. Unieważnianie certyfikatów i walidacja ścieżek ...............................................................261
Klasa narzędziowa ..................................................................................................... 262
Listy unieważnionych certyfikatów ................................................................................ 265
Klasa CRL ............................................................................................................ 265
Listy unieważnionych certyfikatów X.509 ...................................................................... 266
Klasa X509CRL .................................................................................................... 267
Klasa X509CRLEntry ............................................................................................. 271
Rozszerzenia wpisów list CRL X.509 ...................................................................... 272
Rozszerzenia list CRL X.509 .................................................................................. 273
Pobieranie list CRL za pomocą klasy CertificateFactory ............................................ 278
Klasa X509CRLSelector ........................................................................................ 281
Protokół OCSP — weryfikacja statusu certyfikatów w czasie rzeczywistym ....................... 283
Klasa CertificateID ................................................................................................ 284
Klasa OCSPReq .................................................................................................... 285
Rozszerzenia żądań OCSP ..................................................................................... 288
Klasa OCSPResp .................................................................................................. 292
Klasa BasicOCSPResp .......................................................................................... 293
Rozszerzenia odpowiedzi OCSP .............................................................................. 295
Walidacja ścieżek certyfikatów .................................................................................... 301
Klasa TrustAnchor ................................................................................................ 301
Klasa PKIXParameters .......................................................................................... 302
Klasa CertPathValidator ........................................................................................ 304
Klasa PKIXCertPathValidatorResult ........................................................................ 305
Klasa PKIXCertPathChecker ................................................................................... 308
Budowanie poprawnej ścieżki na podstawie składu CertStore ........................................ 313
Klasa CertPathBuilder ........................................................................................... 313
PKIXBuilderParameters ......................................................................................... 313
Podsumowanie .......................................................................................................... 316
Ćwiczenia .................................................................................................................. 317
Rozdział 8. Zarządzanie kluczami i certyfikatami ................................................................................319
Klasa narzędziowa ..................................................................................................... 320
Klasa KeyStore .......................................................................................................... 321
Rodzaje repozytoriów ............................................................................................ 322
Podstawowe API klasy KeyStore ............................................................................. 323
Zagnieżdżone klasy i interfejsy klasy KeyStore .............................................................. 330
Interfejs KeyStore.ProtectionParameter .................................................................. 330
Interfejs KeyStore.Entry ......................................................................................... 331
Klasa KeyStore.Builder ......................................................................................... 335
Interfejs KeyStore.LoadStoreParameter .................................................................. 338
Format PKCS #12 ...................................................................................................... 338
Korzystanie z plików PKCS #12 w API KeyStore ....................................................... 341
Plik z chomika:
basia1995x
Inne pliki z tego folderu:
autocad 2005 i 2005 pl full.pdf
(22413 KB)
intensywny kurs przywództwa. szybki program rozwoju zdolności przywódczych full.pdf
(9732 KB)
płytki umysł. jak internet wpływa na nasz mózg helion.pdf
(34503 KB)
analiza statystyczna. microsoft excel 2010 pl cała książka.pdf
(27781 KB)
matematyczne-szkielko-i-oko.-mniej-i-bardziej-powazne-zastosowania-matmy full scan.pdf
(28897 KB)
Inne foldery tego chomika:
ebooki(1)moooooooo
ebooki(1)moooooooo(10)
ebooki(1)moooooooo(11)
ebooki(1)moooooooo(12)
ebooki(1)moooooooo(13)
Zgłoś jeśli
naruszono regulamin