Bezpieczeństwo systemów komputerowych Poczta elektroniczna mgr Katarzyna Trybicka-Francik kasiat@zeus.polsl.gliwice.pl pok. 503 System PGP (pretty good privacy) Dzieło Phila Zimmermanna http://www.philzimmermann.com/ Dostępny bezpłatnie Pakiet zawiera: algorytm RSA algorytm IDEA algorytm D5 Nie został stworzony, ani też nie jest kontrolowany przez żadną instytucję rządową ani standaryzacyjną Działanie programu zapewnia 5 usług: uwierzytelnienie poufność kompresję zgodność poczty segmentację 1
Usługi systemu PGP szyfrowanie komunikatu IDEA, RSA sygnatura cyfrowa RSA, D5 kompresja ZIP zgodność poczty elektronicznej konwersja radix-64 segmentacja Sygnatura cyfrowa D5 jednokierunkowa funkcja skrótu skrót 128 bitowy opis algorytmu dostępny na stronie www-zo.iinf.polsl.gliwice.pl/~kfrancik/bsk Uwierzytelnienie 1. Nadawca tworzy komunikat. 2. Przy użyciu D5 jest generowany 128-bitowy wynik haszowania dla komunikatu. 3. Wynik haszowania szyfruje się za pomocą RSA, przy użyciu klucza prywatnego nadawcy, i wynik dołącza się do początku komunikatu. 4. Odbiorca używa RSA i klucza jawnego nadawcy do odszyfrowania wyniku haszowania. 5. Odbiorca generuje nowy wynik haszowania dla komunikatu i porównuje go z odszyfrowanym wynikiem. Jeśli oba są takie same, komunikat zostaje uznany za autentyczny. 2
Uwierzytelnienie KR a H II Z ER KU a ER KRa [H()] DR Z -1 H porównanie Poufność 1. Nadawca generuje komunikat i 128-bitową liczbę, która ma pełnić rolę klucza sesji tylko dla tego komunikatu 2. Komunikat jest szyfrowany za pomocą algorytmu IDEA, przy użyciu klucza sesji 3. Klucz sesji jest szyfrowany za pomocą algorytmu RSA kluczem jawnym odbiorcy i dołączony do początku komunikatu 4. Odbiorca korzysta z RSA i odszyfrowuje klucz sesji za pomocą swojego klucza prywatnego. 5. Do odszyfrowania komunikatu używa się klucza sesji. Poufność KU b K s ER Z EI II ER KUb [K s ] KR b DR DI Z -1 3
Uwierzytelnienie i poufność KU b KR a K s ER H II Z ER EI II ER KUb [K s ] KR b KU a DR ER KRa [H()] DR DI Z -1 H porównanie Kompresja Wykonywana automatycznie po wygenerowaniu sygnatury Zgodność poczty X<-plik Potrzebna sygnatura? T Generuj sygnaturę X<- sygnatura X N Kompresuj X<-Z(X) Typowy diagram transmisji (od A) Potrzebna poufność? T Szyfruj klucz X X<- ER KUb [K S ] EI Ks [X] N Konwersja na radix 64 X<-R64[X] 4
Zgodność poczty Konwersja z radix 64 X<-R64-1[X] Potrzebna poufność? De kompresuj X<-Z-1(X) Potrzebna poufność? N N T T Odszyfruj klucz X X<- DRKUb[KS]; DIK[X] Oddziel sygnaturę od X Zweryfikuj sygnaturę Typowy diagram odbioru (do B) Segmentacja i desegmentacja Klucze kryptograficzne i bazy danych jednorazowe konwencjonalne klucze sesji klucze jawne klucze prywatne klucze oparte na haśle 5
Generowanie klucza sesji klucze DES użyte w odpowiednich etapach (K 1,K 2 ) data i czas na początku i-tego etapu generowania (Dt i ) 3-DES ziarno na początku i-tego etapu generowania (V i ) 3-DES 3-DES V i+1 liczba pseudolosowa wyprodukowana w i-tego etapu generowania (R i ) Generator liczb pseudolosowych ANSI X9.17 Identyfikatory kluczy ID klucza jawnego składa się z jego mniej znaczących 64 bitów. Co w przypadku sygnatury cyfrowej? Sygnatura cyfrowa komunikatu zawiera 64-bitowy ID odpowiedniego klucza jawnego Baza kluczy Baza kluczy prywatnych Datownik ID klucza Klucz jawny Klucz prywatny (zaszyfrowany) ID użytkownika 6
Identyfikatory kluczy Szyfrowanie klucza prywatnego Użytkownik wybiera hasło do szyfrowania klucza prywatnego Gdy system tworzy nową parę kluczy jawny/prywatny za pomocą RSA, prosi użytkownika o podanie hasła. Na podstawie hasła przy użyciu D5 generuje się 128-bitowy wynik haszowania, a samo hasło jest kasowane System za pomocą algorytmu IDEA szyfruje klucz prywatny, posługując się wynikiem haszowania jako kluczem. Następnie wynik haszowania kasuje się, a zaszyfrowany klucz prywatny przechowuje w bazie kluczy prywatnych. Baza kluczy jawnych Datownik ID klucza Klucz jawny ID użytkownika Baza kluczy Działanie PGP Format komunikatu Komunikat Sygnatura Datownik Wyciąg Pierwsze dwa bajty wyciągu ID klucza jawnego nadawcy Klucz sesji 7
Baza kluczy prywatnych ID A Działanie PGP Generowanie komunikatu PGP hasło zaszyfrowany klucz prywatny H DI RNG ID B wybór Baza kluczy jawnych ID klucza klucz prywatny KR a klucz sesji klucz jawny ER H komunikat wyciąg ER sygnatura+ komunikat EI zasz. syg.+ komunikat wynik Działanie PGP Odbiór komunikatu PGP Baza kluczy prywatnych hasło H Baza kluczy jawnych wybór zaszyfrowany klucz prywatny DI wybór klucz prywatnyk R b ID klucza odbiorcy Zasz. klucz sesji Zasz. kom.+ sygnatura DR klucz sesji K s DI ID klucza nadawcy Zasz. wyciąg komunikat klucz jawny KR b DR H porównanie Działanie PGP Zarządzanie kluczami jawnymi Fizycznie uzyskać klucz od B Zweryfikować klucz przez telefon Uzyskać klucz jawny B od zaufanej osoby D Uzyskać klucz B od zaufanej instytucji certyfikacującej 8
Działanie PGP Poziomy zaufania pole zaufania właściciela nieznanego nie obdarzonego zaufaniem obdarzonego ograniczonym zaufaniem całkowitym zaufaniem pole zaufania sygnatury pole wiarygodności klucza Działanie PGP odel zaufania Alicja?? Bob Adam Ewa?? Ola Jan Iwan Kasia Jarek Tomek Karol?? Adrian Jakub arek Działanie PGP odel zaufania Alicja Bob Rozproszone poświadczenia certyfikatów 9
System PE (Privacy Enhanced ail) Specyfikacja PE zawiera następujące cztery RFC (request for comments): RFC 1421: Szyfrowanie komunikatów i procedury uwierzytelniania RFC 1422: Zarządzanie kluczami na podstawie certyfikatów RFC 1423: Algorytmy, tryby i identyfikatory RFC 1424: Poświadczenia kluczy i usługi z tym związane Cechy PE Wymienność Zgodność z innymi elementami Zgodność z różnymi narzędziami przesyłania poczty Zgodność z różnymi interfejsami użytkownika Wsparcie dla użytkowników PC Usługi dla list dyskusyjnych Zgodność z wieloma metodami zarządzania kluczami PE - możliwości ochrona przed ujawnieniem uwierzytelnienie pochodzenia nienaruszalność komunikatu niezaprzeczalność pochodzenia (przy asymetrycznym zarządzaniu kluczami) 10
PE PE nie porusza następujących tematów kontrola dostępu poufność przesyłu kontrola rutowania problemy używania komputerów PC przez wielu użytkowników zapewnienie odbioru komunikatu i niemożności zaprzeczenia odbioru automatyczne kojarzenie potwierdzeń z komunikatami, do których się odnoszą wykrywanie duplikatów komunikatów PE - algorytmy Szyfrowanie komunikatu (DES-CBC) Uwierzytelnianie i sygnatura cyfrowa (szyfrowanie asymetryczne), (RSA wraz z D2 lub D5) Uwierzytelnianie (szyfrowanie symetryczne), (DES-ECB lub DES-EDE wraz z D2 lub D5) Symetryczne zarządzanie kluczami (DES-ECB lub DES-EDE) Asymetryczne zarządzanie kluczami (RSA, D5) Zgodność poczty elektronicznej (konwersja radix-64) PE zastosowanie kluczy Asymetryczne zarządzanie kluczami Symetryczne zarządzanie kluczami Klucze szyfrowania danych (DEK) stosuje się do szyfrowania tekstu komunikatu, sygnowanej reprezentacji IC Tekstu komunikatu Klucze wymiany stosuje się do szyfrowania DEK DEK, IC Asymetryczny klucz wydającego stosuje się do szyfrowania Wynik haszowania certyfikatu klucza jawnego - 11
PE - opis działania 1. Konwersja komunikatu do postaci kanonicznej 2. Generacja informacji służącej do uwierzytelniania i zapewnienia poufności 3. Szyfrowanie komunikatu (opcjonalnie) 4. Konwersja do postaci kodowania drukowanego (opcjonalnie) PE - typy komunikatu ENCRYPTED: wykonane są czynności od 1 do 4 IC-ONLY: wykonane są czynności 1, 2 i 4 IC-CLEAR: wykonane są czynności 1 i 2 PE diagram przesyłania komunikat w postaci jawnej Konwersja komunikatu do postaci kanonicznej Generowanie IC, dołączenie informacji uwierzytelniających Szyfrowanie? T Szyfrowanie komunikatu; dołączenie informacji o kluczu N Kodowanie drukowalne? N T Konwersja na radix-64 Komunikat przetworzony 12
PE diagram odbioru Komunikat przetworzony kodowanie drukowalne N Szyfrowano? N T T Konwersja na radix-64 Uzyskanie klucza sesji, odszyfrowanie komunikatu Generowanie IC, uwierzytelnienie komunikatu Konwersja komunikatu z postaci kanonicznej komunikat w postaci jawnej PE - forma kanoniczna Komunikat może zawierać znaki, które można przedstawić w 7-bitowym kodzie ASCII. Wszystkie wprowadzane znaki podlegają konwersji na ASCII. Każdy kod 7-bitowy umieszcza się w mniej znaczących siedmiu bitach bajtu, a najbardziej znaczący bit ustawia na zero Do oznaczenia końca wiersza stosuje się sekwencję ASCII<CR><LF> aksymalna długość wiersza z wliczeniem <CR><LF> to 1000 znaków. Dłuższe wiersze są dzielone przez wstawienie dodatkowych <CR><LF> PE Nienaruszalność i uwierzytelnienie kod nienaruszalności IC dwie techniki technika szyfrowania symetrycznego technika szyfrowania asymetrycznego IC szyfrowany jest kluczem jawnym nadawcy (odbiorca może otrzymać klucz jako: ID osoby, certyfikat klucza jawnego) 13
PE Szyfrowanie komunikatów usługa opcjonalna w nagłówku informacja o stosowanym algorytmie użycie asymetrycznego klucza IK do komunikatu zostaje włączony klucz DEK zaszyfrowany IK, oraz sygnatura IC zaszyfrowana DEK użycie symetrycznego klucza IK PE Kapsulacja -Begin privacyenhanced message- Nagłówek kapsułkowy Pusty wiersz Tekst kapsułkowy -End privacyenhanced message- Nagłówek zamykający RFC 822 Komunikat kapsułkowany PE Kapsulacja -Begin privacyenhanced message- Nagłówek zamykający RFC 822 Nagłówek kapsułkowy Pusty wiersz Komunikat kapsułkowany Tekst kapsułkowy -End privacy-enhanced message- 14
PE Listy dyskusyjne etoda jednego klucza IK na odbiorcę etoda jednego klucza IK na każdą listę PE Zarządzanie kluczami jawnymi Certyfikaty kluczy jawnych Wersja formatu certyfikatu (0) Numer seryjny Identyfikator algorytmu Wydający Okres ważności Podmiot Informacja o kluczu jawnym Sygnatura PE Internetowa hierarchia certyfikatów IPRA PCA PCA... PCA CA...... Użytkownik CA... Użytkownik Użytkownik Użytkownik CA CA CA CA CA Użytkownik Użytkownik IPRA=Internet PCA Registration Authority PCA=Policy Certification Authority CA=Certification Authority 15
Dziękuję za uwagę 16