Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałRadosław Rygielski Został zmieniony 11 lat temu
1
Kryptografia oraz infrastruktura PKI w pasywnych zabezpieczeniach
Rafał Łukawiecki Strategic Consultant, Project Botticelli Ltd Copyright 2005 © Microsoft Corp & Project Botticelli Ltd. E&OE. Ta prezentacja ma wyłącznie charakter informacyjny. Nie udziela się jakichkolwiek gwarancji i przed posłużeniem się tymi informacjami należy je zweryfikować. Można ponownie użyć tej prezentacji pod warunkiem przeczytania, zaakceptowania i stosowania się do wytycznych opisanych w polu „Komentarze” okna Plik/Właściwości.
2
Cele Omówienie podstaw pasywnych mechanizmów zabezpieczeń, których podstawowym zadaniem jest ochrona warstwy danych: kryptografia Przedyskutowanie aktualnie używanych algorytmów z punktu widzenia specjalisty IT Podanie kilku prostych zaleceń Przestrzeżenie przed kilkoma typowymi nieporozumieniami i słabymi algorytmami
3
Program sesji Podstawowe pojęcia Typowe algorytmy
Infrastruktura PKI i podpisy Zalecenia
4
Podstawowe pojęcia
5
Dogłębna obrona Dane Aplikacja Host Zabezpieczenia fizyczne
Zasady, procedury i świadomość Zabezpieczenia fizyczne Dane Aplikacja Host Sieć wewnętrzna Granica
6
Co naprawdę jest zabezpieczone?
Poszukajmy systemów Dobrze znanych firm Z opublikowanymi (nie tajnymi!) algorytmami Przyciągających sporą uwagę Których nie udało się przejąć hakerom przez parę lat Które zostały przeanalizowane matematycznie Pod żadnym pozorem nie „poprawiać” samodzielnie algorytmów Chyba że jest się specjalistą w tej dziedzinie
7
Nie traktować kryptografii jako danej
Typowe niepowodzenia: Szyfrowanie zawartości DVD GSM WiFi Dobry przykład złego użycia kryptografii w protokole WEP Po którym nastąpiła cała masa poprawek, takich jak Mirosoft 802.1x A po nich rozsądniejsze rozwiązanie, WPA
8
Kryptografia z kluczem symetrycznym
Wejście: czysty tekst Tekst zaszyfrowany Wyjście: czysty tekst „The quick brown fox jumps over the lazy dog” „The quick brown fox jumps over the lazy dog” Szyfrowanie Deszyfrowanie Ten sam klucz (wspólny sekret)
9
Za i przeciw symetrii Siła: Słabość:
Prostota i naprawdę ogromna szybkość (od 1000 do razy większa niż mechanizmów asymetrycznych) Superszybka (i trochę bezpieczniejsza), jeśli realizowana sprzętowo (DES, Rijndael) Słabość: Zawczasu trzeba uzgodnić klucz Konieczność bezpiecznego przekazania klucza drugiej stronie
10
Kryptografia z kluczem publicznym
Znajomość klucza szyfrującego nie jest równoznaczna ze znajomością klucza deszyfrującego Odbiorca informacji generuje parę kluczy Ogłasza klucz publiczny w katalogu Następnie każdy może wysyłać do niego wiadomości, które tylko on może odczytać
11
Kryptografia z kluczem publicznym
Wejście: czysty tekst Tekst zaszyfrowany Wyjście: czysty tekst „The quick brown fox jumps over the lazy dog” „The quick brown fox jumps over the lazy dog” Szyfrowanie Deszyfrowanie publiczny prywatny Różne klucze Klucz publiczny odbiorcy Klucz prywatny odbiorcy
12
Za i przeciw klucza publicznego
Słabość: Niezwykle mała prędkość Podatność na atak typu „znany tekst zaszyfrowany” Problem z zaufanym kluczem publicznym (zobacz dalej przy opisie PKI) Siła: Rozwiązany problem przekazywania klucza Możliwość utworzenia kontekstu zaufania między stronami
13
Szyfrowanie hybrydowe
Klucz odpalenia pocisku jądrowego „RedHeat” to... Szyfrowanie symetryczne (np. DES) *#$fjda^j u539!3t t389E 5e%32\^kd Klucz symetryczny zaszyfrowany asymetrycznie (np., RSA) Koperta cyfrowa Klucz publiczny użytkownika (w certyfikacie) Jak wyżej, powtórzone dla innych odbiorców lub agentów odtwarzania Koperta cyfrowa Klucz publiczny innego odbiorcy lub agenta (w certyfikacie) w zasadzie odtwarzania Generowany losowo symetryczny klucz „sesyjny” RNG
14
Deszyfrowanie hybrydowe
*#$fjda^j u539!3t t389E 5e%32\^kd Klucz odpalenia pocisku jądrowego „RedHeat” to... Deszyfrowanie symetryczne (np. DES) Koperta cyfrowa Asymetryczne deszyfrowanie klucza „sesyjnego” (np., RSA) Symetryczny klucz „sesyjny” Klucz sesyjny musi być zdeszyfrowany za pomocą klucza prywatnego odbiorcy Koperta cyfrowa zawiera klucz „sesyjny” zaszyfrowany za pomocą klucza publicznego odbiorcy Klucz prywatny odbiorcy
15
Typowe algorytmy
16
DES, IDEA, RC2, RC5, Twofish S/MIME, SSL, Kerberos .NET Fx PGP .NET Fx
Symetryczne DES (Data Encryption Standard) jest wciąż najpopularniejszy Bardzo krótkie klucze: 56 bitów W roku 1993 atak siłowy wymagał 3,5 godziny na komputerze wartym 1 milion USD. Dziś odbywa się to w czasie rzeczywistym Triple DES (3DES) jest bezpieczniejszy, ale mogą być lepsze opcje Po prostu odmawiać, chyba że wartość danych jest minimalna IDEA (International Data Encryption Standard) Pozornie podobny do algorytmu DES i „nie” pochodzi z NSA Klucze 128-bitowe RC2 & RC5 (autorstwa R. Rivesta) RC2 jest starszy a RC5 nowszy (1994) - podobne do DES i IDEA Blowfish, Twofish Zamiennik B. Schneiera dla algorytmu DES, a po nim Twofish, jeden z finalistów NIST tych zawodów .NET Fx PGP .NET Fx S/MIME, SSL Java
17
Rijndael (AES) .NET Fx Standardowy zamiennik algorytmu DES dla rządu USA i prawdopodobnie, w efekcie, dla wszystkich… Zwycięzca zawodów AES (Advanced Encryption Standard) prowadzonych przez instytut NIST (National Institute of Standards and Technology w USA) w latach Pochodzi z Europy (Belgia), autorzy Joan Daemen oraz Vincent Rijmen. Historie typu „Z archiwum X” raczej nie wchodzą w rachubę (w odróżnieniu od DES). Symetryczny szyfr blokowy (128, 192 lub 256-bitowy) ze zmiennym kluczem (także 128, 192 lub 256-bitowym) Szybki, o wielu dobrych cechach, takich jak dobra odporność na analizę czasową i poboru mocy Budowa ponownie pozornie podobna do DES (S-Box, operacje XOR itp.) ale tak naprawdę inna
18
CAST i GOST CAST GOST Kanadyjczycy Carlisle Adams i Stafford Tavares
Klucze i dane 64-bitowe Wybierz swoje skrzynki S Wydaje się odporny na kryptoanalizę różnicową i liniową, i jedynym sposobem złamania go jest atak siłowy (ale klucz jest trochę krótki!) GOST Radziecka „wersja” algorytmu DES, ale jaśniej zaprojektowany i ze znacznie większą liczbą powtórzeń procesu Klucz 256-bitowy, ale w rzeczywistości 610 bitów tajemnicy, więc „solidny jak czołg” Tylne drzwi? Kto wie…
19
Używać kryptosystemów
W istocie: nigdy nie używać samego algorytmu, ale całego kryptosystemu Na przykład: Użycie algorytmu DES czy analogicznego, w prostej „pętli” do zaszyfrowania strumienia danych, to dosłownie oznacza to całkowitą utratę bezpieczeństwa Należy: użyć techniki zaprojektowanej w celu zaadaptowania algorytmu do przetworzenia strumienia danych, takiej jak CBC (Cipher Block Chaining) To z kolei oznacza, że należy wybrać i przesłać wektor inicjujący (IV) – jak? Użyć w tym celu dobrze znanego kryptosystemu Firma Microsoft nigdy nie implementuje samego algorytmu – zawsze kompletny kryptosystem, np. RSA-OAEP itp.
20
Niebezpieczne implementacje
Aplikacje kryptograficzne ze słabo znanych źródeł „Po prostu pobrane biblioteki” używane przez własnych programistów Domagać się używania systemów wbudowanych, tam gdzie jest to możliwe: Systemy firmy Microsoft: CAPI, CAPICOM, MS CSP itp. Karty inteligentne: wbudowane dobrze znane systemy CSP Gdzie indziej: implementacje zgodne ze standardem FIPS
21
RC4 Symetryczny PPTP R. Rivest w 1994 roku
Szybkie szyfrowanie strumieniowe R. Rivest w 1994 roku Początkowo tajny, ale „ogłoszony” na sci.crypt Spokrewniony z szyfrowaniem „one-time pad”, teoretycznie bezpieczniejszy Ale! Zależy od naprawdę dobrego generatora liczb losowych A to jest problem Obecnie skłaniamy się do używania szyfrowania blokowego w trybie działania pracującym na strumieniach PPTP
22
RSA, DSA, ElGamal, ECC SSL, PGP .NET Fx .NET Fx Asymetryczne
Bardzo wolne i kosztowne obliczenia – niezbędny komputer Bardzo bezpieczne Rivest, Shamir, Adleman – 1978 Popularne i dobrze zbadane Siła wynika z obecnej niemożności rozkładu na czynniki będące liczbami pierwszymi Istnieją obawy o proces generowania klucza w pewnych implementacjach DSA (Digital Signature Algorithm) – produkt NSA/NIST Tylko do podpisywania cyfrowego, a nie do szyfrowania Wariant algorytmu podpisywania Schnorra i ElGamala ElGamal Bazuje na złożoności dyskretnych logarytmów ECC (Elliptic Curve Cryptography) Naprawdę „wysoka” matematyka i topologia Poprawia algorytm RSA (i inne) SSL, PGP .NET Fx .NET Fx
23
Kryptografia kwantowa
Metoda generowania i poufnego przekazywania klucza lub losowego strumienia Nie służy do przekazywania faktycznych danych, ale to nie jest istotne Polaryzacja światła (fotony) może być wykryta jedynie w sposób niszczący „kierunek” (bazę) Jeśli więc ktoś inny podejrzy ją, nie otrzymamy niczego przydatnego i będzie wiadomo, że miał miejsce podsłuch Znakomicie wykonywalne za pośrednictwem dedykowanego łącza światłowodowego o długości do 120 km Wydaje się idealnym rozwiązaniem, ale jest kłopotliwe i wolne W praktycznych implementacjach do rzeczywistego szyfrowania wciąż się stosuje algorytmy AES/DES itp. Magiq QPN: Nie mylić z komputeryzacją kwantową, której nie będzie przez co najmniej najbliższych 50 lat, a może dłużej…
24
MD5, SHA Wszędzie Funkcje haszujące – część podpisu cyfrowego Cele:
Nieodwracalne: nie można uzyskać wiadomości z jej hasza Hasz jest znacznie krótszy niż oryginalna wiadomość Dwie wiadomości nie będą miały identycznego hasza MD5 (R. Rivest) 512 bitów haszowanych na 128 Model matematyczny wciąż nieznany Ostatnio (lipiec 2004) złamany, nie używać samego SHA (Secure Hash Algorithm) Standard USA oparty na MD5 SHA-0 złamany (lipiec 2004), SHA-1 prawdopodobnie za słaby (częściowo złamany), używać co najmniej SHA-256 Wszędzie
25
Diffie-Hellman, „SSL”, certyfikaty
PGP Metody generacji i wymiany kluczy Algorytm DH jest inteligentny, gdyż zawsze generuje nową „parę kluczy” dla każdej sesji asymetrycznej Metody STS i MTI oraz certyfikaty gwarantują jeszcze większe bezpieczeństwo Certyfikaty to powszechny sposób wymiany kluczy publicznych Podstawa infrastruktury Public Key Infrastructure (PKI) SSL używa protokołu do bezpiecznej wymiany kluczy Patrz dalej Każdy
26
Kryptoanaliza Atak siłowy Analiza częstości Kryptoanaliza liniowa
Dobre do zgadywania haseł oraz niektórych 40-bitowych symetrycznych kluczy (w pewnych wypadkach potrzeba 27 prób) Analiza częstości Tylko do bardzo prostych metod (telefony komórkowe w USA) Kryptoanaliza liniowa Do silniejszych algorytmów typu DES, potrzeba 243 par tekst czysty-szyfr Kryptoanaliza różnicowa Słabsze algorytmy typu DES, potrzeba 214 par Analiza poboru mocy i czasowa Fluktuacje czasu reakcji lub zużycia energii przez procesor Użyteczna do łamania skradzionych kart inteligentnych
27
Łamanie za 10 milionów USD
Klucz symetrycz-ny Klucz ECC Klucz RSA Czas na złamanie Liczba maszyn Pamięć 56 112 420 < 5 minut 10 000 Banalna 80 160 760 600 miesięcy 4300 4 GB 96 192 1020 3 miliony lat 114 170 GB 128 256 1620 10E16 lat 0,16 120 TB Z raportu opracowanego przez Roberta Silvermana, RSA Laboratories, 2000
28
Infrastruktura PKI i podpisy
29
Problem dystrybucji klucza publicznego
Właśnie rozwiązaliśmy problem dystrybucji klucza symetrycznego, korzystając z kluczy publicznych/prywatnych Ale... Scott tworzy parę kluczy (prywatny/publiczny) i szybko informuje świat, że ogłoszony przez niego klucz publiczny należy do Billa Ludzie wysyłają poufne informacje do Billa Bill nie ma klucza prywatnego, aby je odczytać… Scott odczytuje wiadomości Billa
30
Eureka! Potrzebna nam infrastruktura PKI, aby rozwiązać ten problem
I parę innych rzeczy…
31
Jak zweryfikować klucz publiczny?
Dwa podejścia: Przed użyciem klucza publicznego Billa zadzwonić do niego lub spotkać się z nim, aby sprawdzić, czy mamy właściwy klucz Skrót danych lub hasz klucza można potwierdzić przez telefon Poprosić kogoś, komu ufamy, o potwierdzenie, że klucz faktycznie należy do Billa Sprawdzając zaufany podpis cyfrowy na kluczu Ale musi taki istnieć… I przede wszystkim trzeba mieć przyjaciół, którym można zaufać…
32
Modele zaufania Sieć zaufania (ang. Web-of-trust) (PGP)
Model równorzędny (ang. Peer-to-Peer) Ludzie nawzajem podpisują cyfrowo swoje klucze Z założenia będzie się ufać kluczom podpisanym przez niektórych przyjaciół Zaufany urząd + ścieżka zaufania (urzędy certyfikacji) Wszyscy ufają głównym urzędom certyfikacji (Verisign, Thawte, BT itp.) Urząd certyfikacji podpisuje klucze każdej osoby, której poświadczenia zostały sprawdzone tradycyjnymi metodami Urząd certyfikacji może nawet mianować inne strony jako urzędy certyfikacji – i automatycznie także one będą zaufane
33
Tworzenie podpisu cyfrowego
Wiadomość lub plik 256-bitowy hash wiadomości Podpis cyfrowy To jest bardzo długa wiadomość na temat Billa… Funkcja haszująca (SHA, MD5) Szyfrowanie asymetryczne prywatny Obliczenie hashu (skrótu) wiadomości na podstawie długiej wiadomości za pomocą jednokierunkowej funkcji tworzącej skrót (hasz) Klucz prywatny sygnatariusza
34
Weryfikowanie podpisu cyfrowego
Jrf843kjf gf*£$&Hd if*7oUsd FHSD(** Py75c%bn&*) 9|fDe^bDFaq &nmdFg$5kn vMd’rkvegMs” Deszyfrowanie asymetryczne (np. RSA) Wszyscy mają dostęp do zaufanego klucza publicznego sygnatariusza Klucz publiczny sygnatariusza Podpis cyfrowy ? == ? Takie same? To jest bardzo długa Wiadomość na temat Billa… Taka sama funkcja haszująca (np. MD5, SHA...) Oryginalna wiadomość Py75c%bn&*) 9|fDe^bDFaq &nmdFg$5kn vMd’rkvegMs”
35
Kody uwierzytelniające wiadomość
Kody „MAC” – Na ogół połączenie funkcji haszującej z szyfrowaniem symetryczynym Integralność, autentyczność, ale brak niezaprzeczalności Konieczność udostępniania klucza! HMAC Hash + szyfrowanie ze wspólnym sekretem dla wyników o długości do 160 bitów MACTripleDES Szyfrowanie, w którym korzysta się z 8, 16 lub 24-bajtowych kluczy TripleDES nałożonych na hasz Wynik 64-bitowy (na ogół niewystarczający) Często używane w transakcjach i bazach danych
36
Certyfikaty Najprostszy certyfikat zawiera po prostu:
Informacje na temat certyfikowanego podmiotu, który ma być właścicielem klucza publicznego Ten klucz publiczny A to wszystko jest Podpisane cyfrowo przez kogoś zaufanego (na przykład urząd certyfikacji)
37
Certyfikat X.509 OU=Project Botticelli… Klucz lub informacje o nim
38
Uwierzytelnianie za pomocą certyfikatów
Melinda otrzymuje certyfikat Billa Weryfikuje jego podpis cyfrowy Może zaufać, że klucz publiczny naprawdę należy do Billa Ale czy to Bill stoi przed nią, czy jest to Scott? Melinda wzywa Billa do zaszyfrowania frazy, którą właśnie wymyśliła („Naprawdę potrzebuję więcej butów”) Bill dysponuje oczywiście kluczem prywatnym pasującym do certyfikatu, więc odpowiada („*&$^%L$&Lfhsdf*&EHFDhd62^&L”) Melinda rozszyfrowuje to za pomocą klucza publicznego, który ma w certyfikacie (któremu ufa) i jeśli fraza jest zgodna z frazą, o zaszyfrowanie której poprosiła Billa, to z drugiej strony faktycznie musi być Bill! Tak przy okazji, to jest podstawowa idea działania protokołu SSL
39
Gdzie przechowywać? W większości certyfikaty są „bezpieczne”
Nie ma potrzeby za bardzo ich chronić, gdyż są podpisane cyfrowo i zawierają jedynie publicznie dostępne informacje Można je przechowywać gdziekolwiek, w pliku lub na „tępej” karcie inteligentnej zawierającej wyłącznie pamięć Klucze prywatne (i zawierające je certyfikaty) odpowiadający kluczowi publicznemu są niezwykle wrażliwe To są kluczowe zasoby. Należy dobrze ich strzec Przechowywać w „chronionym miejscu” systemu operacyjnego lub na „inteligentnej” karcie inteligentnej z wbudowanymi funkcjami kryptograficznymi Na przykład karty inteligentne firmy Axalto zgodne z platformą .NET
40
Słowo o kartach inteligentnych (smartcards)
Niektóre karty inteligentne są „tępe” tzn. zawierają jedynie kości pamięci Nie są zalecane do przechowywania kluczy prywatnych używanych do weryfikowania tożsamości Mimo to i tak są lepszym miejscem niż dyskietki czy dyski twarde Karty inteligentne z wbudowanymi funkcjami kryptograficznymi są droższe, ale zapewniają lepsze zabezpieczenia Klucz prywatny jest bezpieczny i używany zgodnie z potrzebami Możliwa jest dodatkowa ochrona (hasło, biometria) W sprzęcie są zaimplementowane pewne algorytmy Możliwe jest samozniszczenie
41
Hierarchia certyfikacji
Większość organizacji nie używa tylko jednego klucza głównego do podpisywania certyfikatów Narażenie tego klucza wiąże się z niebezpieczeństwem Nie jest to odpowiednie dla wielkich organizacji Problemy z zarządzaniem odpowiedzialnością Hierarchie certyfikatów Na ogół 3-warstwowa: 2 offline i 1 online Weryfikacja certyfikatu może się wiązać z weryfikacją ścieżki zaufania Certyfikacja krzyżowa („mesh”, „web”), jeśli jest to możliwe
42
Zalecenia
43
Silne systemy Zawsze jest to mieszanka! Zmienia się cały czas…
Symetryczne: AES, min. 128-bitowe dla RC2 i RC5, 3DES, IDEA, uważnie przeanalizowane RC4, lepsze 256-bitowe Asymetryczne: RSA, ElGamal, Diffie-Hellman (dla kluczy) minimum 1024-bitowe (decydować się na maksymalne wartości, typowo 4096, jeśli stać nas na to) Hasz: SHA co najmniej 256 bitów
44
Słabe systemy Wszystkie 40-bitowe (w tym wersje 128 i 56-bitowe z „ustaloną” resztą) Większość uważa DES za słaby algorytm CLIPPER A5 (telefony komórkowe GSM poza USA) Vigenère (telefony komórkowe w USA) Pochodzi z 1585 roku! Hasze (i podpisy) oparte na MD5 lub SHA-0 (być może także na SHA-1) lub 64-bitowych haszach Niezweryfikowane certyfikaty bez zaufania Słabe certyfikaty (tak jak wiele osobistych certyfikatów „klasy 1”)
45
Wnioski
46
Streszczenie Kryptografia to bogata i dojrzała dziedzina
Każdego dnia uzależniamy od niej nasze życie Należy znać podstawy i dokonywać słusznych wyborów, unikając pułapek Wcześnie planować swoją infrastrukturę PKI Unikać bardzo nowych, nieznanych rozwiązań
47
Odsyłacze Odwiedź witrynę www.microsoft.com/poland/security
Zagraj w Czytaj grupę sci.crypt (w tym archiwa) Dodatkowe informacje: Cryptography: An Introduction, N. Smart, McGraw-Hill, ISBN Practical Cryptography, N. Ferguson & B. Schneier, Wiley, ISBN Contemporary Cryptography, R. Oppliger, Artech House, ISBN (data planowanej publikacji Maj 2005, zobacz Applied Cryptography, B. Schneier, John Wiley & Sons, ISBN Handbook of Applied Cryptography, A.J. Menezes, CRC Press, ISBN , (bezpłatny plik PDF) PKI, A. Nash et al., RSA Press, ISBN Foundations of Cryptography, O. Goldereich, Cryptography in C and C++, M. Welschenbach, Apress, ISBN X (zawiera przykłady kodu na dysku CD)
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.