original-version-kryptografia-w-praktyce_krprak.pdf

(10125 KB) Pobierz
665016339 UNPDF
IDZ DO
PRZYK£ADOW Y ROZDZIA£
Kryptografia
SPIS TRECI
w praktyce
KATALOG KSI¥¯EK
Autorzy: Niels Ferguson, Bruce Schneier
T³umaczenie: Romasz ¯mijewski
ISBN: 83-7361-211 - 4
Tytu³ orygina³ u: Practical Cryptography
Format: B5, stron: 290
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
Obecnie najwa¿niejszym zagadnieniem w wiecie biznesu jest bezpieczeñstwo.
Nie maj¹c bezpiecznego systemu komputerowego nie mo¿na zarabiaæ pieniêdzy,
nie mo¿na rozwijaæ dzia³alnoci, wiêc tak naprawdê nie sposób przetrwaæ na rynku.
Kryptografia jawi siê jako metoda zapewnienia bezpieczeñstwa w cyberprzestrzeni.
Co ciekawe, nie pojawi³y siê jeszcze ksi¹¿ki powiêcone implementowaniu kryptografii
i w³¹czaniu jej w u¿ywane na co dzieñ systemy.
W wiêkszoci przypadków kryptografia da³a internetowej spo³ecznoci niewiele
ponad z³udne poczucie bezpieczeñstwa, gdy¿ tak naprawdê bezpieczeñstwa
tego dot¹d nie ma. Sytuacja taka nie sprzyja nikomu… poza w³amywaczami.
Niniejsza ksi¹¿ka, autorstwa spó³ki niekwestionowanych autorytetów wiatowych,
wype³nia tê lukê pokazuj¹c, jak implementowaæ metody kryptografii w praktyce;
ksi¹¿ka ta stanowi zatem po³¹czenie teorii z praktyk¹ informatyczn¹.
W ksi¹¿ce opisano miêdzy innymi:
• Praktyczne zasady doboru i u¿ycia kryptograficznych funkcji elementarnych,
od szyfrów blokowych po podpisy cyfrowe.
• Implementacjê algorytmów kryptograficznych i budowê bezpiecznych systemów.
• Spójn¹ filozofiê projektowania daj¹ca gwarancjê, ¿e ostatecznie ca³y system
uzyska ¿¹dany poziom bezpieczeñstwa.
• Dlaczego bezpieczeñstwo wp³ywa na wszystkie sk³adniki systemu i dlaczego
ma ono byæ podstawowym celem projektu?
• Jak proste interfejsy funkcji kryptograficznych pozwalaj¹ ograniczyæ z³o¿onoæ
systemu i zwiêkszyæ jego bezpieczeñstwo?
O autorach:
Niels Ferguson jest in¿ynierem i konsultantem kryptografii. Ma on ogromne
dowiadczenie w projektowaniu i implementacji algorytmów i protoko³ów
kryptograficznych oraz du¿ych systemów zabezpieczeñ. Wczeniej pracowa³ na rzecz
DigiCash i CWI; w Counterpane Internet Security cile wspó³pracowa³ z Brucem
Schneierem. Opublikowa³ wiele prac naukowych z dziedziny kryptografii.
Bruce Schneier jest za³o¿ycielem i dyrektorem technicznym Counterpane Internet
Security, firmy zajmuj¹cej siê monitorowaniem bezpieczeñstwa. Ten wiatowej s³awy
naukowiec, ekspert w dziedzinie bezpieczeñstwa, jest autorem ksi¹¿ek „Secrets and
Lies: Digital Security in a Networked World” oraz „Applied Cryptography” wydanych
przez Wiley Technology Publishing.
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOCIACH
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
665016339.004.png 665016339.005.png 665016339.006.png
Spis treci
Wstp .....................................................................................................................13
Jak czyta t ksik .................................................................................................................................... 14
1.
Nasza filozofia projektowa....................................................................................17
1.1. Zgubne skutki wydajnoci .................................................................................................................... 17
1.2. Przekle"stwa rozbudowanych moliwoci........................................................................................... 19
2.
Otoczka kryptografii..............................................................................................21
2.1. Rola kryptografii................................................................................................................................... 21
2.2. Reguła najsłabszego ogniwa................................................................................................................. 22
2.3. Wizerunek przeciwnika ........................................................................................................................ 24
2.4. Mylenie paranoiczne ........................................................................................................................... 24
2.4.1. Atak ............................................................................................................................................ 25
2.5. Model zagroe" .................................................................................................................................... 26
2.6. Kryptografia nie rozwizuje problemu................................................................................................. 27
2.7. Kryptografia jest bardzo trudna............................................................................................................ 28
2.8. Kryptografia jest łatwym elementem systemu ..................................................................................... 28
2.9. Podstawowa literatura........................................................................................................................... 29
3.
Wprowadzenie do kryptografii..............................................................................31
3.1. Szyfrowanie .......................................................................................................................................... 31
3.1.1. Zasada Kerckhoffsa .................................................................................................................... 32
3.2. Potwierdzanie tosamoci..................................................................................................................... 33
3.3. Szyfrowanie z kluczem publicznym..................................................................................................... 34
3.4. Podpis cyfrowy ..................................................................................................................................... 35
3.5. PKI........................................................................................................................................................ 36
665016339.007.png
4
SPIS TRECI
3.6. Ataki ..................................................................................................................................................... 37
3.6.1. Atak tylko z tekstem zaszyfrowanym......................................................................................... 37
3.6.2. Atak ze znanym tekstem otwartym ............................................................................................ 37
3.6.3. Atak z wybranym tekstem otwartym.......................................................................................... 38
3.6.4. Atak z wybranym tekstem zaszyfrowanym................................................................................ 38
3.6.5. Rozrónianie ataków .................................................................................................................. 39
3.6.6. Atak urodzinowy ........................................................................................................................ 39
3.6.7. Spotkanie porodku .................................................................................................................... 40
3.6.8. Inne rodzaje ataków.................................................................................................................... 41
3.7. Poziom bezpiecze"stwa........................................................................................................................ 41
3.8. Wydajno ............................................................................................................................................ 42
3.9. Złoono.............................................................................................................................................. 43
Cz I Bezpieczestwo komunikacji
45
4.
Szyfry blokowe......................................................................................................47
4.1. Co to jest szyfr blokowy? ..................................................................................................................... 47
4.2. Rodzaje ataku ....................................................................................................................................... 48
4.3. Idealny szyfr blokowy .......................................................................................................................... 49
4.4. Definicja bezpiecze"stwa szyfru blokowego ....................................................................................... 49
4.4.1. Parzysto permutacji ................................................................................................................. 51
4.5. Praktyczne szyfry blokowe................................................................................................................... 52
4.5.1. DES............................................................................................................................................. 52
4.5.2. AES............................................................................................................................................. 55
4.5.3. Serpent ........................................................................................................................................ 57
4.5.4. Twofish....................................................................................................................................... 58
4.5.5. Pozostali finalici AES ............................................................................................................... 59
4.5.6. Ataki przez rozwizywanie równa" ........................................................................................... 60
4.5.7. Którego szyfru blokowego naley uy?....................................................................................61
4.5.8. Jak długi powinien by mój klucz? ............................................................................................ 62
5.
Tryby szyfrów blokowych.....................................................................................63
5.1. Dopełnianie........................................................................................................................................... 63
5.2. ECB ...................................................................................................................................................... 64
5.3. CBC ...................................................................................................................................................... 65
5.3.1. Stały IV....................................................................................................................................... 65
5.3.2. IV jako licznik ............................................................................................................................ 65
5.3.3. Losowy IV .................................................................................................................................. 66
5.3.4. Jednorazowy IV.......................................................................................................................... 66
5.4. OFB ...................................................................................................................................................... 67
5.5. CTR ...................................................................................................................................................... 68
5.6. Nowe tryby ........................................................................................................................................... 69
5.7. Którego trybu naley uy?.................................................................................................................. 70
5.8. Wycieki informacji ............................................................................................................................... 71
5.8.1. Prawdopodobie"stwo kolizji ...................................................................................................... 72
5.8.2. Jak radzi sobie z wyciekami ..................................................................................................... 73
5.8.3. O naszym podejciu do matematyki........................................................................................... 74
665016339.001.png
SPIS TRECI
5
6.
Funkcje mieszaj(ce................................................................................................75
6.1. Bezpiecze"stwo funkcji mieszajcych ................................................................................................. 76
6.2. Prawdziwe funkcje mieszajce............................................................................................................. 77
6.2.1. MD5............................................................................................................................................ 78
6.2.2. SHA-1......................................................................................................................................... 78
6.2.3. SHA-256, SHA-384 i SHA-512 ................................................................................................. 79
6.3. Słabe punkty funkcji mieszajcych ...................................................................................................... 79
6.3.1. Wydłuanie................................................................................................................................. 80
6.3.2. Kolizja czci wiadomoci ......................................................................................................... 80
6.4. Usuwanie słabych punktów .................................................................................................................. 81
6.4.1. Rozwizanie kompletne.............................................................................................................. 81
6.4.2. Rozwizanie wydajne ................................................................................................................. 82
6.5. Wybór funkcji mieszajcej ................................................................................................................... 83
6.6. Ku przyszłoci ...................................................................................................................................... 84
7.
Kody uwierzytelniania wiadomo+ci.......................................................................85
7.1. Do czego słuy MAC ........................................................................................................................... 85
7.2. Idealna funkcja MAC ........................................................................................................................... 85
7.3. Bezpiecze"stwo MAC .......................................................................................................................... 86
7.4. CBC-MAC............................................................................................................................................ 87
7.5. HMAC .................................................................................................................................................. 88
7.5.1. HMAC a SHA d ........................................................................................................................... 89
7.6. UMAC .................................................................................................................................................. 90
7.6.1. Rozmiar wyniku MAC ............................................................................................................... 90
7.6.2. Która UMAC? ............................................................................................................................ 90
7.6.3. Elastyczno rodowiska ............................................................................................................ 91
7.6.4. Zakres analizy............................................................................................................................. 92
7.6.5. Po co zatem w ogóle wspomina o UMAC?.............................................................................. 92
7.7. Któr funkcj MAC wybra? ............................................................................................................... 92
7.8. Uycie funkcji MAC ............................................................................................................................ 93
8.
Bezpieczny kanał...................................................................................................95
8.1. Opis zagadnienia................................................................................................................................... 95
8.1.1. Role............................................................................................................................................. 95
8.1.2. Klucz........................................................................................................................................... 96
8.1.3. Wiadomoci czy strumie" danych.............................................................................................. 96
8.1.4. Właciwoci bezpiecze"stwa...................................................................................................... 97
8.2. Kolejno potwierdzania wiarygodnoci i szyfrowania ....................................................................... 98
8.3. Szkic rozwizania ................................................................................................................................. 99
8.3.1. Numerowanie wiadomoci ......................................................................................................... 99
8.3.2. Potwierdzanie autentycznoci................................................................................................... 100
8.3.3. Szyfrowanie .............................................................................................................................. 101
8.3.4. Format ramki ............................................................................................................................ 101
8.4. Szczegóły implementacji.................................................................................................................... 101
8.4.1. Inicjalizacja............................................................................................................................... 102
8.4.2. Wysyłanie wiadomoci............................................................................................................. 103
665016339.002.png
6
SPIS TRECI
8.4.3. Odbieranie wiadomoci ............................................................................................................ 103
8.4.4. Kolejno wiadomoci.............................................................................................................. 105
8.5. Alternatywy ........................................................................................................................................ 105
8.6. Podsumowanie.................................................................................................................................... 106
9.
O implementacji (I)..............................................................................................107
9.1. Tworzenie poprawnych programów................................................................................................... 108
9.1.1. Specyfikacje.............................................................................................................................. 108
9.1.2. Testowanie i poprawki.............................................................................................................. 109
9.1.3. Lekcewace podejcie............................................................................................................. 110
9.1.4. Co zatem robi? ........................................................................................................................ 110
9.2. Tworzenie bezpiecznego oprogramowania ........................................................................................ 111
9.3. Zachowywanie tajemnic ..................................................................................................................... 111
9.3.1. Kasowanie pamici stanu ......................................................................................................... 112
9.3.2. Plik wymiany............................................................................................................................ 113
9.3.3. Pami podrczna ..................................................................................................................... 114
9.3.4. Zatrzymanie danych w pamici................................................................................................ 115
9.3.5. Dostp osób postronnych.......................................................................................................... 117
9.3.6. Integralno danych.................................................................................................................. 117
9.3.7. Co robi .................................................................................................................................... 118
9.4. Jako kodu Eródłowego..................................................................................................................... 118
9.4.1. Prostota ..................................................................................................................................... 118
9.4.2. Modularyzacja .......................................................................................................................... 119
9.4.3. Asercje ...................................................................................................................................... 120
9.4.4. Przepełnienie bufora ................................................................................................................. 121
9.4.5. Testowanie................................................................................................................................ 121
9.5. Ataki bocznym kanałem ..................................................................................................................... 122
9.6. Wnioski............................................................................................................................................... 123
Cz II Negocjowanie kluczy
125
10.
Generowanie warto+ci losowych .........................................................................127
10.1. Wartoci prawdziwie losowe.............................................................................................................. 128
10.1.1. Problemy zwizane z uyciem prawdziwych danych losowych ............................................ 128
10.1.2. Dane pseudolosowe ................................................................................................................ 129
10.1.3. Prawdziwe dane losowe i PRNG............................................................................................ 129
10.2. Modele ataku na PRNG...................................................................................................................... 130
10.3. Fortuna................................................................................................................................................ 131
10.4. Generator ............................................................................................................................................ 131
10.4.1. Inicjalizacja............................................................................................................................. 133
10.4.2. Ponowne przekazanie ziarna .................................................................................................. 133
10.4.3. Generowanie bloków.............................................................................................................. 133
10.4.4. Generowanie danych losowych .............................................................................................. 134
10.4.5. Szybko działania generatora................................................................................................ 135
10.5. Akumulator......................................................................................................................................... 135
10.5.1. Gródła entropii ........................................................................................................................ 135
10.5.2. Pule ......................................................................................................................................... 136
10.5.3. O implementacji ..................................................................................................................... 137
665016339.003.png
Zgłoś jeśli naruszono regulamin