Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Kryptograficzne zabezpieczenie transmisji Semestr 8, rok ak. 2007/2008 dr hab. inż. Roman Rykaczewski prof. nadzw. PG pok. 610 Politechnika Gdańska Wydział.

Podobne prezentacje


Prezentacja na temat: "Kryptograficzne zabezpieczenie transmisji Semestr 8, rok ak. 2007/2008 dr hab. inż. Roman Rykaczewski prof. nadzw. PG pok. 610 Politechnika Gdańska Wydział."— Zapis prezentacji:

1 Kryptograficzne zabezpieczenie transmisji Semestr 8, rok ak. 2007/2008 dr hab. inż. Roman Rykaczewski prof. nadzw. PG pok. 610 Politechnika Gdańska Wydział Elektroniki, Telekomunikacji i Informatyki Katedra Sieci Teleinformacyjnych

2 Zasady zaliczenia przedmiotu Dwa kolokwia: kwietnia br. godz Aud czerwca br. godz Aud.1 Próg zaliczenia 50% Oba kolokwia muszą być zaliczone Kolokwium zaliczeniowe dla osób, które nie zaliczyły 1. lub 2. kolokwium

3 Katedra Sieci Teleinformacyjnych Literatura B. Schneier: Kryptografia dla praktyków, WN-T, Warszawa 2002 N. Ferguson,B. Schneier: Kryptografia w praktyce, Helion, 2004 W. Stallings: Cryptography and Network Security: Principles and Practice, Prentice Hall, 1998 Internet

4 Katedra Sieci Teleinformacyjnych Program wykładu Wprowadzenie, cel stosowania metod kryptograficznych przy transmisji informacji, wymagania stawiane systemom kryptograficznym (SK), terminologia Matematyczny opis funkcji realizowanych przez SK, klasyfikacja SK, symetryczne i asymetryczne SK, klasyczna kryptografia Ataki kryptoanalityczne, rodzaje zabezpieczeń dawanych przez SK, kompresja danych a zabezpieczenie kryptograficzne Zasady Shannon’a tworzenia bezpiecznych SK, przykłady rozwiązań klasycznych Symetryczne SK, systemy potokowe, generatory kluczy, przykłady rozwiązań Blokowe symetryczne SK, tryby pracy-ECB, CBC, OFB, przykładowe rozwiązania- DES, modyfikacje DES, IDEA, AES Asymetryczne SK, opis ogólny, funkcje jednokierunkowe, system RSA, podstawy matematycznej realizacji algorytmu, ograniczenia Algorytm Diffi’ego-Helman’a, wykorzystanie, podstawy matematyczne realizacji Jednokierunkowe funkcje skrótu, metody tworzenia, przykłady Podpis cyfrowy, zasada, algorytm DSA Protokoły kryptograficzne, dowody wiedzy zerowej Kryptografia a kodowanie nadmiarowe

5 Katedra Sieci Teleinformacyjnych Wprowadzenie Bezpieczeństwo informacji ( ang. information security ) - zabezpieczenia fizyczne i administracyjne - zabezpieczenia komputerów ( ang. computer security ) - zabezpieczenia sieciowe ( ang. network security ) - zabezpieczenie internetu ( ang. internet security )

6 Katedra Sieci Teleinformacyjnych Zabezpieczenie internetu : zapobieganie, wykrywanie i naprawianie naruszeń bezpieczeństwa transmitowanych danych Przykłady naruszeń bezpieczeństwa w internecie: haker monitoruje transmisję i przechwytuje pliki przekazywane między dwoma użytkownikami; administrator sieci transmituje do komputera w zarządzanej przez siebie sieci listę nowych użytkowników, którzy są uprawnieni do dostępu do tego komputera. Haker przechwytuje tę listę i ją modyfikuje lub całkowicie zmienia, a następnie przesyła ją do komputera przeznaczenia jako wiadomość pochodzącą od administratora; haker może przechwycić wiadomość (np.wiadomość o konieczności zablokowania konta bankowego) i opóźnić jej przekazanie do serwera przeznaczenia, co może spowodować stratę finansową; haker zleca dokonania transakcji finansowych, a następnie wypiera się, że to on był autorem zlecenia.

7 Katedra Sieci Teleinformacyjnych Podstawowe aspekty bezpieczeństwa informacji: Usługi – działania zwiększające bezpieczeństwo przetwarzania i przesyłania informacji poprzez przeciwdziałanie atakom za pomocą określonych mechanizmów - realizacja wymagań stawianych dokumentom papierowym; Mechanizmy – zapobieganie i wykrywanie ataków, przywracanie stanu pierwotnego; Ataki – działania mające na celu zmniejszenie bądź utratę bezpieczeństwa informacji.

8 Katedra Sieci Teleinformacyjnych Usługi bezpieczeństwa informacji Poufność (ang. confidentiality) – zapewnia, że informacje w systemie komputerowym i podczas transmisji są dostępne jedynie upoważnionym osobom; Uwierzytelnienie (ang. authentication) – zapewnia, że źródło pochodzenia informacji zostało zidentyfikowane i nie jest ono fałszywe; Integralność (ang. integrity) – zapewnia, że do modyfikowania informacji są uprawnione jedynie upoważnione osoby; Niezaprzeczalność (ang. nonrepudiation) – zapewnia, że ani nadawca ani odbiorca wiadomości nie może wyprzeć się faktu jej przesłania i odbioru;

9 Katedra Sieci Teleinformacyjnych Usługi bezpieczeństwa informacji c.d. Sterowanie dostępem (ang. access control) – zapewnia, że dostęp do zasobów informacyjnych może być sterowany przez system docelowy; Dostępność (ang. avaliability) – zapewnia, że zasoby informacyjne są dostępne upoważnionym w każdej chwili.

10 Katedra Sieci Teleinformacyjnych Mechanizmy bezpieczeństwa Będziemy zajmować się wyłącznie kryptograficznymi technikami zapewnienia bezpieczeństwa informacji.

11 Katedra Sieci Teleinformacyjnych Ataki na bezpieczeństwo informacji Przerwanie transmisji – atak na dostępność; Przechwycenie wiadomości – atak na poufność; Modyfikacja wiadomości – atak na integralność; Sfabrykowanie wiadomości – atak na uwierzytelnienie

12 Katedra Sieci Teleinformacyjnych Klasyfikacja ataków Pasywne | Przechwycenie || Ujawnienie treści Analiza ruchu Aktywne ||| Przerwanie Modyfikacja Sfabrykowanie

13 Katedra Sieci Teleinformacyjnych Ataki aktywne Atak maskaradowy – podszycie się pod innego użytkownika za pomocą przechwyconej sekwencji danych uwierzytelniających; Atak powtórzeniowy – przechwycenie bloków danych i następnie ich retransmitowanie; Atak „odmowa usługi” ( ang. denial of service ) – zablokowanie dostępu do wybranego punktu przeznaczenia lub uszkodzenie całej sieci;

14 Katedra Sieci Teleinformacyjnych Model bezpieczeństwa sieciowego

15 Katedra Sieci Teleinformacyjnych Zadania konieczne przy projektowaniu systemu bezpieczeństwa: Zaprojektowanie odpornego na ataki algorytmu zabezpieczającego wiadomości; Opracowanie mechanizmu wytwarzania tajnych informacji wykorzystywanych przez algorytm zabezpieczający; Opracowanie metod rozdziału i ewentualnego współdzielenia tajnych informacji; Opracowanie protokołu, używanego przez obie strony, zabezpieczającego odpowiednie usługi bezpieczeństwa.

16 Katedra Sieci Teleinformacyjnych Model bezpieczeństwa dostępu sieciowego Linie obrony: procedury logowania wykorzystujące hasła; wewnętrzne mechanizmy bezpieczeństwa.

17 Katedra Sieci Teleinformacyjnych Symetryczne systemy kryptograficzne X=[X 1,X 2,...,X N ] - tekst otwarty (ang. plaintext), X n  A, A – alfabet; Y- szyfrogram; E() – algorytm szyfrujący; D() – algorytm deszyfrujący;

18 Katedra Sieci Teleinformacyjnych Systemy asymetryczne K A, K B - klucze jawne;T A, T B – klucze tajne; y = f K (x) – funkcja jednokierunkowa ( ang. One-way trap-door f.): y jest łatwe do obliczenia, jeśli K i x są znane; x = f K -1 (y,T) x jest łatwe do obliczenia, jeśli K, y i T są znane; x = f K -1 (y) x jest praktycznie niemożliwe do obliczenia, jeśli K i y jest znane i T jest nieznane.

19 Katedra Sieci Teleinformacyjnych Klasyfikacja systemów kryptograficznych ze względu na różne kryteria klasyfikacji Typ wykorzystywanych operacji przekształcających wiadomość w szyfrogram : - podstawieniowe; - przestawieniowe; - wykorzystujące naprzemienne podstawienia i przestawienia (krypto-systemy iloczynowe); Liczba użytych kluczy: - symetryczne (tajnego klucza, konwencjonalne); - asymetryczne;

20 Katedra Sieci Teleinformacyjnych Klasyfikacja systemów kryptograficznych ze względu na różne kryteria klasyfikacji c.d. Rodzaj operacji przetwarzania wiadomości na szyfrogram: - blokowe; - strumieniowe ( ang. stream cipher).

21 Katedra Sieci Teleinformacyjnych Metody kryptoanalizy Kryptoanaliza: proces mający na celu uzyskanie wiadomości X lub klucza K za pomocą ataków kryptoanalitycznych. Rodzaje ataków ( w każdym przypadku kryptoanalityk zna algorytm szyfrujący i algorytm deszyfrujący ): Tylko z szyfrogramem ( znany jest tylko szyfrogram); Ze znanym tekstem otwartym ( znany jest szyfrogram oraz odpowiadający mu tekst otwarty, ewentualnie znana jest większa liczba par: tekst otwarty-szyfrogram utworzonych za pomocą tajnego klucza);

22 Katedra Sieci Teleinformacyjnych Metody kryptoanalizy c.d. Z wybranym tekstem otwartym (znany jest szyfrogram poddawany dekryptażowi oraz kryptoanalityk ma możliwość wyboru tekstów otwartych i ich szyfrowania); Z wybranym szyfrogramem (znany jest szyfrogram poddawany dekryptażowi oraz kryptoanalityk może wybierać szyfrogramy wraz z odpowiadającymi im zdeszyfrowanymi tekstami otwartymi; Przez kolizje : - urodzinowy - spotkanie pośrodku (przy podwójnym szyfrowaniu)

23 Katedra Sieci Teleinformacyjnych Atak urodzinowy: Wykorzystanie paradoksu dnia urodzin (wystarczą 23 osoby, aby z prawdopodobieństwem  0,5 wśród nich były co najmniej dwie urodzone tego samego dnia)  Szuka się dwóch wiadomości (komunikatów), z różnych sesji łączności, zaszyfrowanych tym samym kluczem- można wtedy wykorzystać komunikaty jednej sesji, zaszyfrowane tym samym kluczem, dla ataku na integralność danych drugiej sesji.

24 Katedra Sieci Teleinformacyjnych Atak spotkaniem pośrodku (ang. meet-in-the-middle): Atak został pierwotnie zaproponowany dla SK z podwójnym szyfrowaniem kluczami K1 i K2 Spostrzeżenie: Jeżeli C = E K2 (E K1 (M)), to D K2 (C)= D K2 (E K2 (E K1 (M))) = E K1 (M) Stąd atak: Mając znaną parę (M, C) szyfrujemy M za pomocą wszystkich możliwych kluczy K1 i wyniki po posortowaniu zapisujemy w tablicy. Następnie deszyfrujemy C używając wszystkich możliwych kluczy K2 i po każdym deszyfrowaniu sprawdzamy, czy wyniku tego nie ma w tablicy. Jeżeli znajdziemy, to tak znalezioną parę kluczy sprawdzamy na nowej parze (M,C).

25 Katedra Sieci Teleinformacyjnych System kryptograficzny bezwarunkowo bezpieczny Szyfrogramy w systemie bezwarunkowo bezpiecznym nie zawierają dostatecznej ilości informacji, aby jednoznacznie określić tekst otwarty, niezależnie od długości szyfrogramu; Jedynym przykładem jest system klucza jednorazowego. Wszystkie pozostałe systemy kryptograficzne powinny spełniać kryteria bezpieczeństwa obliczeniowego: Koszt złamania systemu powinien przewyższać koszt utraty informacji; Czas konieczny do złamania systemu powinien być dłuższy od czasu życia informacji.

26 Katedra Sieci Teleinformacyjnych Minimalna długość szyfrogramu, konieczna dla dekryptażu szyfru przypadkowego (Shannon 1946): H(K)/D = entropia klucza/rozwlekłość języka  30 znaków dla języka angielskiego Kompresja danych powoduje zmniejszenie rozwlekłości – granicą zmniejszenia jest entropia danych; Poprzedzenie operacji szyfrowania kompresją bezstratną zwiększa bezpieczeństwo danych. Kompresja danych a szyfrowanie romryk:

27 Katedra Sieci Teleinformacyjnych Tabela średniego czasu przeprowadzenia ataku brutalnego ( wypróbowanie ½ liczby kluczy ) Długość klucza [bit] Liczba kluczy Czas ataku przy szybkości 1. deszyfracja/  s Czas ataku przy szybkości 10 6 deszyfracji /  s 324, ,8 min2,15 ms 567, lat10,01 h 1283, , lat5, lat 26 znaków 26!= 4, , lat6, lat

28 Katedra Sieci Teleinformacyjnych Szyfry klasyczne Szyfry podstawieniowe: zastąpienie każdego symbolu tekstu otwartego przez inny symbol Szyfr Cesara : zastąpienie każdej litery alfabetu przez literę leżącą K pozycji dalej (oryginalny szyfr Cesara: K=3) Algorytm: szyfrowanie: C = E(k) = ( k + K ) mod 26 deszyfrowanie: k = D(C) = ( C – K ) mod abcdefghijklmnopqrstuvwxyz DEFGHIJKLMNOPQRSTUVWXYZABC

29 Katedra Sieci Teleinformacyjnych Atak na szyfr Cesara: atak brutalny (wypróbowanie wszystkich 25 kluczy) Założenia do przeprowadzenia powyższego ataku: Znany algorytm szyfrowania i deszyfracji; Mała liczba możliwych kluczy; Znany język tekstu otwartego (pojawia się problem, kiedy tekst otwarty jest tekstem skompresowanym).

30 Katedra Sieci Teleinformacyjnych Podstawienie monoalfabetyczne Każdy symbol alfabetu może być zastąpiony przez dowolny symbol tego alfabetu Liczba kluczy: 26! = 4·10 26 ( algorytm DES z kluczem 56 bitów ma tylko 2 56 = 7 · kluczy); Atak: częstość występowania znaków w szyfrogramie odpowiada częstości występowania odpowiednich znaków w tekście otwartym – wykorzystanie tablic częstości występowania pojedynczych znaków, par znaków, trójek znaków itd.

31 Katedra Sieci Teleinformacyjnych Szyfr Playfair (1854 r.) Charles Wheatstone wynalazca Lord Playfair propagator szyfru

32 Katedra Sieci Teleinformacyjnych Szyfr Playfair (1854 r.) SEKWO JABCD FGHLM NPQRT UVXYZ Klucz: sekwoja Zapisując klucz pomijamy dublujące się litery I i J traktujemy jako jedną literę Zasada szyfrowania ( szyfrujemy po dwie litery) : Dwie jednakowe litery, które tworzyłyby parę rozdzielamy dopisując wybraną, rzadko występującą, literę np.q. Literę taką dopisujemy też jako brakujące uzupełnienie do pary liter na końcu tekstu otwartego-np. bar rybak  ba rr yb ak  ba rq ry ba kq ; Litery, które znajdują się w tym samym wierszu tablicy są zastępowane przez litery znajdujące się na prawo od nich, przy czym dla ostatniej litery wiersza jest to pierwsza litera tego wiersza np. para ko będzie zaszyfrowana jako WS

33 Katedra Sieci Teleinformacyjnych Szyfr Playfair c.d. Litery pary, które znajdują się w tej samej kolumnie tablicy są zastępowane przez litery znajdujące się poniżej nich, przy czym dla ostatniej litery kolumny jest to pierwsza litera tej kolumny np. para mz będzie zaszyfrowana jako TO; W pozostałych przypadkach każda litera pary jest zastępowana przez literę, która leży w tym samym wierszu i kolumnie drugiego elementu pary np. para er będzie zaszyfrowana jako WP; SEKWO JABCD FGHLM NPQRT UVXYZ

34 Katedra Sieci Teleinformacyjnych Szyfr Playfair c.d. Liczba digramów: 26  26=676  Trudniejsza analiza częstotliwościowa, ale szyfrogram nadal zachowuje strukturę tekstu otwartego. Do złamania wystarcza kilkaset znaków szyfrogramu. Szyfr był używany przez armię brytyjską w czasie I Wojny Światowej, a także przez armię USA i innych krajów podczas II WŚ.

35 Katedra Sieci Teleinformacyjnych Szyfr Hill’a (1929 r.) W szyfrze Hill’a zespoły kolejnych m liter tekstu otwartego (TO), są zastępowane przez zespoły m liter szyfrogramu. Podstawienie jest dokonywane zgodnie z m równaniami liniowymi. Algorytmu szyfrowania w postaci macierzowej: C = K M, gdzie: K m x m - macierz klucza, M m x 1 - macierz kolumnowa TO, C m x 1 – macierz kolumnowa szyfrogramu. Deszyfrowanie: M = K -1 C( macierz klucza musi być nieosobliwa) !!! Wszystkie działania są wykonywane w arytmetyce modulo 26 Szyfr Hill’a zaciera informację o częstościach występowania n- gramów, gdzie n < m, ale jest nieodporny na atak ze znanym tekstem otwartym.

36 Katedra Sieci Teleinformacyjnych Szyfr Hill’a Przykład: elektronika z  PCCGZRFUYJHB

37 Katedra Sieci Teleinformacyjnych Podstawienie polialfabetyczne Podstawienie polialfabetyczne to podstawienie wykorzystujące więcej niż jedno podstawienie monoalfabetyczne: podany jest zbiór reguł podstawień monoalfabetycznych; klucz określa, które podstawienie należy wykorzystać. Przykład: szyfr Vigenere’a (Batista Belaso w 1553 r.): Klucz: ELEKT RONIK AELEK TRONI KAELE KTRON Tekst otwarty: TOBEO RNOTT OBETH ATIST HEQUE ST ION Szyfrogram: XZFOH IAABD OFPXR TKWFB REUFI SMZCA

38 Katedra Sieci Teleinformacyjnych Tablica Vigenere’a A B C D E F G H I J K L M N O P Q R S T U V W X Y Z B C D E F G H I J K L M N O P Q R S T U V W X Y Z A C D E F G H I J K L M N O P Q R S T U V W X Y Z A B D E F G H I J K L M N O P Q R S T U V W X Y Z A B C E F G H I J K L M N O P Q R S T U V W X Y Z A B C D F G H I J K L M N O P Q R S T U V W X Y Z A B C D E G H I J K L M N O P Q R S T U V W X Y Z A B C D E F H I J K L M N O P Q R S T U V W X Y Z A B C D E F G I J K L M N O P Q R S T U V W X Y Z A B C D E F G H J K L M N O P Q R S T U V W X Y Z A B C D E F G H I K L M N O P Q R S T U V W X Y Z A B C D E F G H I J L M N O P Q R S T U V W X Y Z A B C D E F G H I J K M N O P Q R S T U V W X Y Z A B C D E F G H I J K L N O P Q R S T U V W X Y Z A B C D E F G H I J K L M O P Q R S T U V W X Y Z A B C D E F G H I J K L M N P Q R S T U V W X Y Z A B C D E F G H I J K L M N O Q R S T U V W X Y Z A B C D E F G H I J K L M N O P R S T U V W X Y Z A B C D E F G H I J K L M N O P Q S T U V W X Y Z A B C D E F G H I J K L M N O P Q R T U V W X Y Z A B C D E F G H I J K L M N O P Q R S U V W X Y Z A B C D E F G H I J K L M N O P Q R S T V W X Y Z A B C D E F G H I J K L M N O P Q R S T U W X Y Z A B C D E F G H I J K L M N O P Q R S T U V X Y Z A B C D E F G H I J K L M N O P Q R S T U V W Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Z A B C D E F G H I J K L M N O P Q R S T U V W X Y

39 Katedra Sieci Teleinformacyjnych Szyfr Vigenere’a Giovan Batista Belaso: 1553r. książka: La cifra del. Sig. Giovan Batista Belaso Blaise de Vigenère Traicte de Chiffres (1585r.) system z autokluczem

40 Katedra Sieci Teleinformacyjnych Atak na szyfr Vigenera Określenie długości klucza N: powtarzające się fragmenty tekstu otwartego, odległe o całkowitą wielokrotność długości klucza będą powodować występowanie powtarzających się fragmentów szyfrogramu; Atak na każde z N podstawień monoalfabetycznych. Szyfr Vigenera z autokluczem Ciąg klucza stanowi klucz właściwy uzupełniony tekstem otwartym. Atak na ten szyfr bazuje na fakcie, że klucz i tekst otwarty mają taką samą charakterystykę częstościową.

41 Katedra Sieci Teleinformacyjnych Szyfr Vernama (Gilbert Vernam 1918) Klucz ma taką samą długość jak tekst otwarty i jest statystycznie niezależny od niego; Wykorzystywany jest głównie dla danych w postaci binarnej: szyfrowanie:C n = M n  K n deszyfrowanie:M n = C n  K n = M n  K n  K n = M n Szyfr klucza jednorazowego (ang. one-time pad): Joseph Mauborgne: klucz w szyfrze Vernama wytwarzany jest całkowicie losowo i ma długość tekstu otwartego. W ciągu klucza nie ma powtórzeń.

42 Katedra Sieci Teleinformacyjnych Szyfry przestawieniowe Szyfrogram uzyskuje się dokonując permutacji symboli tekstu otwartego-np. Szyfr „płotkowy”: Tekst otwarty: ”szpieg wytropiony” Zapis: s p e w t o i n \ / \ / \ / \ / \ / \ / \ / \ z i g y r p o y Szyfrogram: SPEWTOINZIGYRPOY Szyfr przestawieniowy zachowuje częstości symboli tekstu otwartego

43 Katedra Sieci Teleinformacyjnych Szyfry przestawieniowe c.d. Przeplot blokowy: zapis tekstu otwartego wierszami, a odczyt kolumnami wybieranymi za pomocą klucza: np. Klucz: 9, 1, 3, 5, 11, 2, 4, 7, 6, 8, 10 Tekst otwarty: akcjazaczyn asiedzisocz wartejwnocy Szyfrogram: ZOOAAWCIRADENZYKSAJETAIWZZJCSNYCC

44 Katedra Sieci Teleinformacyjnych Szyfry przestawieniowe c.d. Wzmocnienie zabezpieczenia przez powtórne zastosowanie przeplotu do szyfrogramu (z tym samym kluczem: 9, 1, 3, 5, 11, 2, 4, 7, 6, 8, 10 ) ZOOAAWCIRAD ENZYKSAJETA IWZZJCSNYCC Szyfrogram: REYZEIOZZAKJDACONWAYZCASWSCIJNATC

45 Katedra Sieci Teleinformacyjnych Szyfratory rotorowe - ENIGMA Wielokrotne stosowanie operacji szyfrujących (podstawienia, przestawienia) powoduje zwiększenie stopnia randomizacji symboli szyfrogramu. Zasada działania szyfratorów rotorowych:

46 Katedra Sieci Teleinformacyjnych Szyfratory rotorowe - ENIGMA

47 Katedra Sieci Teleinformacyjnych Szyfratory rotorowe - ENIGMA

48 Katedra Sieci Teleinformacyjnych Szyfratory rotorowe - ENIGMA

49 Katedra Sieci Teleinformacyjnych Szyfratory rotorowe – ENIGMA cd. Liczba możliwych ustawień: liczba możliwych wyborów rotorów – 3 z 5 = 5 · 4 · 3 = 60 4 z 8 = 8 · 7 · 6 · 5 = 1680 liczba możliwych ustawień pierścieni = ( 3 rotory) 26 4 = (4 rotory) liczba możliwych krosowań liter Liczba kluczy: =10 20,75 dla (3 z 5) =10 23,612 dla (4 z 8)

50 Katedra Sieci Teleinformacyjnych Przyczyny złamania Enigmy kolejność wykorzystywanych wirników nie powinna powtarzać się w ciągu jednego miesiąca; żaden wirnik nie powinien zajmować tej samej pozycji w kolejnych dwóch dniach; wykorzystywanie tylko 10 krosowań; używanie przewidywalnych słów i zwrotów; szyfrowanie tych samych tekstów otwartych różnymi kluczami; używanie łatwych do odgadnięcia ustawień początkowych.

51 SYMETRYCZNE SYSTEMY KRYPTOGRAFICZNE SZYFRY BLOKOWE

52 Katedra Sieci Teleinformacyjnych Zasada działania szyfru blokowego Podstawienie za n bitów tekstu otwartego n bitów szyfrogramu w taki sposób, aby odwzorowanie to było odwracalne t.j. każdemu z 2 n możliwych bloków n bitów wejściowych musi odpowiadać inny blok n bitów wyjściowych; Liczba możliwych odwzorowań odwracalnych: 2 n ! Tekst otwartySzyfrogram Przykład: n =2

53 Katedra Sieci Teleinformacyjnych Realizacja bloku podstawienia Dla małych wartości n możliwa jest kryptoanaliza częstościowa (jak dla klasycznego szyfru podstawieniowego). Duża wartość n  trudność realizacji bloku podstawienia 2 n  2 n ( 2 64  ) ; Objętość klucza: n 2 n bitów.

54 Katedra Sieci Teleinformacyjnych Uwaga! Zastosowanie odwzorowania liniowego C= K M gdzie: wektor C to n-bitowy blok szyfrogramu, wektor M to n-bitowy blok tekstu otwartego, macierz K o wymiarach n x n jest kluczem, jest odpowiednikiem szyfru Hill’a, łatwym do kryptoanalizy. Stąd wniosek: odwzorowanie realizowane w bloku podstawienia musi być nieliniowe !!!

55 Katedra Sieci Teleinformacyjnych Zasada Shannona konstrukcji szyfrów (1945r.) Szyfr iloczynowy (ang. product cipher) powinien być zbudowany za pomocą naprzemiennego stosowania operacji: mieszania (ang. confusion)- przez podstawienia rozpraszania (ang. diffusion)- przez przestawienia Szyfr Feistela (1973r.) – praktyczna realizacja zasady Shannona: budowa mocnego systemu kryptograficznego za pomocą kaskadowego połączenia słabszych, prostych w realizacji systemów kryptograficznych

56 Katedra Sieci Teleinformacyjnych Data Encryption Standard (DES) 1977r. Lucifer- IBM 1971r. 2n=64, K=128 DES – 1977r. 2n = 64, K=56 (64-8) Lucifer- IBM 1971r. 2n=64, K=128 bitów DES – 1977r. 2n = 64, K=56 (64-8) bitów 1994r. przedłużenie na kolejnych 5 lat DES jako standardowego systemu kryptograficznego 2001r. nowy standard AES - (Advanced Encryption Standard - Rijndael)

57 Katedra Sieci Teleinformacyjnych Sieć Feistela Długość bloku: 2 n – typowo 64 bity; Długość klucza: najczęściej 64, 128, 256, 512; Liczba rund: typowa wartość-16; Algorytm wytwarzania podkluczy: im bardziej złożony, tym SK jest trudniejszy do kryptoanalizy; Funkcja rundowa f(  ): im bardziej złożona (nieliniowa), tym SK jest trudniejszy do kryptoanalizy;

58 Katedra Sieci Teleinformacyjnych Zasada szyfrowania i deszyfrowania w sieci Feistela - deszyfrowanie LE 16 =RE 15 RE 16 =LE 15  F(RE 15,K 16 ) LD 1 =RD 0 =LE 16 =RE 15 RD 1 =LD 0  F(RD 0,K 16 ) = RE 16  F(RE 15,K 16 ) =[LE 15  F(RE 15,K 16 ) ]  F(RE 15,K 16 ) =LE 15 Ogólnie: LE i = RE i-1 RE i = LE i-1  F(RE i-1,K i ) stąd RE i-1 = LE i LE i-1 =RE i  F(RE i-1,K i )=RE i  F(LE i,K i ) (patrz prawa strona rysunku np. dla i=15) !!! Funkcja F(,) nie musi być odwracalna

59 Katedra Sieci Teleinformacyjnych DES – ogólny schemat działania

60 Katedra Sieci Teleinformacyjnych DES – tablice permutacji IP i IP IPIP Numery pozycji

61 Katedra Sieci Teleinformacyjnych DES – struktura rundy

62 Katedra Sieci Teleinformacyjnych DES – tablice permutacji w bloku f(): Permutacja z rozszerzeniem ( dublowanie bitów 1. i 4. kolumny ) Permutacja

63 Katedra Sieci Teleinformacyjnych DES – obliczenie f( R i-1, K i )

64 Katedra Sieci Teleinformacyjnych DES – definicje S-bloków

65 Katedra Sieci Teleinformacyjnych DES – definicje S-bloków S-blok Sześć bitów wejściowych każdego bloku b 1, b 2, b 3,, b 4,, b 5,, b 6 określa element tabeli w następujący sposób: para bitów b 1 b 6 określa numer wiersza w tabeli; czwórka bitów b 2 b 3 b 4 b 5 określa numer kolumny w tabeli; Wyznaczony element macierzy, po zamianie na postać binarną, określa wyjście S-bloku. Każdy wiersz macierzy definiuje odwracalne podstawienie.

66 Katedra Sieci Teleinformacyjnych DES – definicje S-bloków: podstawienie realizowane w S-bloku 1-wiersz 3

67 Katedra Sieci Teleinformacyjnych DES – generacja kluczy-tablice: Permutacja Permutacja 2 Runda Przesunięcie Przesunięcia cykliczne w lewo 9, 18, 22, 25, 35, 38, 43, 54

68 Katedra Sieci Teleinformacyjnych DES – efekt lawinowy TO1: 64 zera ; TO2:1 i 63 zera; Klucz: Rund Różnic K1: K2: Rund Różnic TO:

69 Katedra Sieci Teleinformacyjnych DES – siła zabezpieczenia 2 56 = 7, kluczy w tym: klucze słabe (wytwarzają 16 jednakowych podkluczy  podwójne szyfrowanie takim kluczem daje TO) Klucze słabe (zapis szesnastkowy) Klucze faktyczne (zapis szesnastkowy) F1F 0E0E FFFFFFF E0E0 F1F1 FFFFFFF FEFE FFFFFFF klucze pół-słabe – pary różnych kluczy, które szyfrują dany TO do jednakowych szyfrogramów - niebezpieczeństwo deszyfracji jednym z kluczy pary, wiadomości zaszyfrowanej drugim kluczem z tej pary; E K1 (E K2 (M))=M – jest 6 takich par.

70 Katedra Sieci Teleinformacyjnych DES – siła zabezpieczenia cd. Bruce Schneier:Applied Cryptography,John Wiley & Sons, Inc.

71 Katedra Sieci Teleinformacyjnych DES – siła zabezpieczenia cd. klucze komplementarne – klucz komplementarny do danego klucza uzyskujemy przez zamianę 0 na 1 i 1 na 0; Właściwość: Y=E K (X), Y’=E K’ (X’) (apostrof oznacza tu komplementarność). Wniosek: przy ataku na DES metodą wybranego tekstu jawnego wystarczy przetestować tylko połowę wszystkich kluczy tj kluczy.

72 Katedra Sieci Teleinformacyjnych DES – Kryptoanaliza różnicowa ( Biham 1993) Zasada kryptoanalizy różnicowej: Podawanie na wejście szyfratora, przy ustalonym kluczu, par TO różniących się na znanych pozycjach i analiza odpowiadających im szyfrogramów: Szyfrujemy losowo wybrany TO: M otrzymujemy szyfrogram C; Wprowadzamy zmiany do M na ustalonych pozycjach i otrzymujemy TO: M*; Obliczamy  M= M  M* Szyfrujemy  M i otrzymujemy  C = DES(K,  M) Badamy relacje między M* = M   M i C* = C   C Wykorzystuje się to, że dla pewnych  M odpowiednie  C występują z większym prawdopodobieństwem niż dla szyfru z idealną randomizacją bitów.

73 Katedra Sieci Teleinformacyjnych DES – Kryptoanaliza różnicowa Nowe bloki: m 2 =m 0  f(m 1,K 1 ) m 3 =m 1  f(m 2,K 2 ) ¦ m i+1 =m i-1  f(m i,K i ) ¦ m 17 =m 15  f(m 16,K 16 )  m i =m i  m i *  m i+1 =m i+1  m i+1 *=  m i-1  [f(m i,K i )  f(m* i,K i )]

74 Katedra Sieci Teleinformacyjnych DES – Kryptoanaliza różnicowa Zakładamy, że przy tym samym podkluczu istnieje wiele par m i, m i *, różniących się na tych samych pozycjach i dających jednakowe, odpowiednie różnice na wyjściu funkcji f(·). Stąd, jeżeli znamy takie pary różnic  m i-1 i  m i, to także znamy  m i+1 i dysponując odpowiednio dużą liczbą takich par możemy obliczyć elementy podklucza.

75 Katedra Sieci Teleinformacyjnych DES – Kryptoanaliza liniowa ( Matsui 1993 ) Oznaczamy poszczególne bity bloku TO i bloku szyfrogramu: odpowiednioM[1], M[2],...,M[n]; C[1], C[2],...,C[n] oraz bloku klucza: K[1], K[2],...,K[m]. Definiujemy operację: A[i 1, i 2,...,i k ]=A[i 1 ]  A[i 2 ] ...  A[i k ] Zasada: Należy znaleźć równania: M[ i 1, i 2,..., i k ]  C[ j 1, j 2,..., j r ]=K[k 1, k 2,..., k s ] gdzie 1  k,r  n, 1  s  m które są spełnione z prawdopodobieństwem  0,5. Dla dużej liczby par M-C obliczamy lewą stronę równania. Jeżeli otrzymamy więcej 0 niż 1, to przyjmujemy, że K[k 1, k 2,..., k s ] =0. Jeżeli jest więcej 1, to przyjmujemy, że K[k 1, k 2,..., k s ] =1. Dla dużej liczby powyższych relacji możliwe jest obliczenie bitów klucza.

76 Katedra Sieci Teleinformacyjnych Zasady projektowania szyfrów blokowych Wymagania stawiane S-blokom (DES): 1.Żaden bit wyjściowy S-bloku nie powinien być zbyt bliski liniowej funkcji bitów wejściowych (jeżeli wybierzemy dowolny bit wyjściowy i dowolny podzbiór 6. bitów wejściowych S-bloku, to część tych ciągów 6. bitów, dla których bit wyjściowy jest równy sumie modulo 2 bitów wejściowych powinna być możliwie bliska 0,5). 2.Każdy wiersz macierzy S-bloku powinien zawierać wszystkie możliwe kombinacje bitów wyjściowych. 3.Jeżeli dwa ciągi 6. bitów wejściowych S-bloku różnią się 1. bitem, to odpowiednie ciągi wyjściowe muszą różnić się co najmniej 2. bitami.

77 Katedra Sieci Teleinformacyjnych Zasady projektowania szyfrów blokowych 4.Jeżeli dwa ciągi 6. bitów wejściowych S- bloku różnią się 2. środkowymi bitami, to odpowiednie ciągi wyjściowe muszą różnić się co najmniej 2. bitami. 5.Jeżeli dwa ciągi 6. bitów wejściowych S- bloku różnią się pierwszymi dwoma bitami, a ostatnie 2. bity są jednakowe, to odpowiednie ciągi wyjściowe nie mogą być identyczne.

78 Katedra Sieci Teleinformacyjnych Zasady projektowania szyfrów blokowych 6. Dla każdej niezerowej 6. bitowej różnicy między ciągami wejściowymi S-bloku, dla nie więcej niż 8. z 32. par takich ciągów wejściowych, odpowiednie ciągi wyjściowe mogą różnić się między sobą tak samo.

79 Katedra Sieci Teleinformacyjnych Zasady projektowania szyfrów blokowych Wymagania stawiane permutacji po S-blokach (DES): 1.Cztery bity wyjściowe z każdego S-bloku w rundzie i powinny być tak przestawione, aby 2 z nich wpływały na środkowe bity wejściowe S-bloku rundy i +1, a pozostałe dwa na bity końcowe wejścia tego S-bloku. 2.Cztery bity wyjściowe każdego S-bloku powinny mieć wpływ na 6 innych S-bloków w kolejnej rundzie i żadne 2 z nich nie mogą dotyczyć tego samego S-bloku. 3.Dla dwóch S-bloków r i s, jeżeli bit wyjściowy z S r wpływa na środkowy bit S s następnej rundy, to bit wyjściowy S s nie może wpływać na środkowy bit S r Stąd, dla s=r, bit wyjściowy S r nie może wpływać na bit środkowy S r w kolejnej rundzie. Cel: uzyskanie jak największego rozproszenia bitów

80 Katedra Sieci Teleinformacyjnych Wymagania stawiane liczbie rund: Liczba rund powinna być tak wybrana, aby najlepszy znany atak kryptoanalityczny wymagał większego nakładu niż atak brutalny. Dla DES z 16. rundami kryptoanaliza różnicowa wymaga 2 55,1 operacji natomiast atak brutalny 2 55 operacji (2 55,1 = 2 47 wybranych TO x 2 8,1 operacji związanych z wyborem odpowiednich TO)

81 Katedra Sieci Teleinformacyjnych Wymagania stawiane funkcji f(  ): musi to być funkcja nieliniowa; zmiana wartości dowolnego bitu wejściowego powinna powodować, z prawdopodobieństwem 1/2, zmianę wartości dowolnego bitu wyjściowego (ang. Strict Avalanche Criterion (SAC)); wartości dwóch dowolnych bitów wyjściowych powinny zmieniać się niezależnie przy zmianie wartości dowolnego bitu wejściowego (ang. Bit Independence Criterion (BIC)).

82 Katedra Sieci Teleinformacyjnych Wymagania stawiane funkcji f(  ): jeżeli zmianie ulegnie 1 bit wejściowy, to zmienia się co najmniej n bitów wyjściowych (GAC rzędu n)); GAC  ang. Guaranteed Avalanche Criterion

83 Katedra Sieci Teleinformacyjnych Zasady projektowania S-bloków: wymiary S-bloku: n wejść x m wyjść (DES:6x4; Blowfish, CAST:8 x 32 - zwykle n =8 do10); budowa: 2 n wierszy po m bitów w wierszu; powinny spełniać kryteria SAC i BIC; powinny spełniać kryterium GAC rzędu 2 do 5.

84 Katedra Sieci Teleinformacyjnych Zasady projektowania S-bloków: Losowa generacja tablic (może być stosowana do S-bloków dużych rozmiarów); Losowa generacja tablic z testowaniem zawartości na zgodność z kryteriami; Metoda „ręczna” – przykład DES- ograniczona do małych S-bloków; Metody matematyczne; S-bloki z zawartością zależną od klucza (znaczne zwiększenie odporności na kryptoanalizę).

85 Katedra Sieci Teleinformacyjnych Zasady użycia klucza: tworzenie podkluczy powinno zabezpieczać przed ich łatwą identyfikacją i tym samym przed możliwością odtworzenia klucza pierwotnego; proces tworzenia podkluczy powinny zabezpieczać spełnienie SAC i BIC.

86 Katedra Sieci Teleinformacyjnych Tryby pracy szyfrów blokowych Książki kodowej (ang. Electronic Codebook (ECB)); ( każdy blok TO jest oddzielnie szyfrowany przy użyciu tego samego klucza) Wiązania bloków (ang. Cipher Block Chaining (CBC)); (kolejne bloki wejściowe są sumą XOR aktualnego bloku TO i poprzedniego bloku szyfrogramu) Sprzężenia zwrotnego szyfrogramu (ang. Cipher Feedback (CFB)); (tryb pozwalający na użycie szyfru blokowego jako szyfru strumieniowego) Sprzężenia zwrotnego wyjścia (ang. Output Feedback (OFB)); (tryb pozwalający na użycie szyfru blokowego jako szyfru strumieniowego)

87 Katedra Sieci Teleinformacyjnych Tryby pracy szyfrów blokowych -tryb EBC Wada : identyczne bloki N bitów są dają identyczne bloki szyfrogramu. Stosuje się przy przesyłaniu małych ilości danych, np. kluczy szyfrujących.

88 Katedra Sieci Teleinformacyjnych Tryby pracy szyfrów blokowych -tryb CBC WI  Wektor Inicjujący (ang. Initialization Vector (IV)) – musi być znany obu stronom Strona nadawcza: C n =E K (C n-1  m n ) Strona odbiorcza: D K (C n )=D K (E K (C n-1  m n )) D K (C n )= C n-1  m n D K (C n )  C n-1 =C n-1  m n  C n-1 = m n Możliwe są ataki bazujące na znanym WI – dlatego WI należy przekazywać zabezpieczonym kanałem (stosując szyfrowanie w trybie ECB)!

89 Katedra Sieci Teleinformacyjnych Tryb CBC – atak wykorzystujący niezabezpieczony WI C 1 =E K (WI  m 1 );m 1 =WI  D K (C 1 ) Jeżeli oznaczymy X[k] k-ty bit bloku X, to m 1 [k]=WI[k]  (D K (C 1 ))[k] Stąd ( A’ oznacza dopełnienie A ): m 1 ’[k]=WI[k]’  (D K (C 1 ))[k] Oznacza to, że zmieniając bity WI możemy zmienić odpowiednie bity m 1

90 Katedra Sieci Teleinformacyjnych Tryby pracy szyfrów blokowych -tryb CFB Szyfrowanie: C 1 = m 1  MSB j (E K (WI)); Kolejne jednostki szyfrogramu są zależne od wcześniejszych jednostek TO  Wada: propagacja błędów transmisji. Jednostką transmisji jest blok j bitów. Najczęściej j = 8 bitów.

91 Katedra Sieci Teleinformacyjnych Tryby pracy szyfrów blokowych -tryb CFB Deszyfrowanie: C 1 = m 1  MSB j (E K (WI)) m 1 = C 1  MSB j (E K (WI)) !!! Do deszyfrowania używana jest funkcja szyfrująca.

92 Katedra Sieci Teleinformacyjnych Tryby pracy szyfrów blokowych -tryb OFB Szyfrowanie: Zaleta: brak propagacji błędów transmisji; Wada: podatność na atak modyfikujący bity szyfrogramu (dopełnienie bitu szyfrogramu  dopełnienie odpowiedniego bitu TO  możliwość „oszukania” kodu nadmiarowego)

93 Katedra Sieci Teleinformacyjnych Tryby pracy szyfrów blokowych -tryb OFB Deszyfrowanie: Zaleta: brak propagacji błędów transmisji. Wada: łatwość modyfikacji strumienia wiadomości (dopełnienie bitu szyfrogramu powoduje dopełnienie odpowiedniego bitu TO).

94 Katedra Sieci Teleinformacyjnych Podwójne szyfrowanie: C=E K2 (E K1 (M));M=D K1 (D K2 (C) Dwukrotne powiększenie długości klucza – dla DES, z 56 bitów do 112 bitów.

95 Katedra Sieci Teleinformacyjnych Podwójne szyfrowanie - redukcja Czy możliwe jest zredukowanie systemu z podwójnym szyfrowaniem do systemu z szyfrowaniem pojedynczym tzn. E K2 (E K1 (M))= E K3 (M) W 1992r udowodniono, że dla DES nie jest to możliwe. System jest podatny na atak spotkaniem pośrodku.

96 Katedra Sieci Teleinformacyjnych Atak spotkaniem pośrodku (ang. meet-in-the-middle): Spostrzeżenie: Jeżeli C=E K2 (E K1 (M)), to D K2 (C)= D K2 (E K2 (E K1 (M)))= E K1 (M). Stąd atak: Mając znaną parę (M, C) szyfrujemy M za pomocą wszystkich możliwych kluczy K1 i wyniki po posortowaniu zapisujemy w tablicy. Następnie deszyfrujemy C używając wszystkich możliwych kluczy K2 i po każdym deszyfrowaniu sprawdzamy, czy wyniku tego nie ma w tablicy. Jeżeli znajdziemy, to tak znalezioną parę kluczy sprawdzamy na nowej parze (M,C). Dla DES 2 56 operacji dla K1 i K2.

97 Katedra Sieci Teleinformacyjnych Podwójne szyfrowanie – atak spotkaniem pośrodku Dla DDES dla danego bloku wiadomości M mamy 2 64 możliwych bloków szyfrogramu C i możliwych kluczy  liczba różnych kluczy dających ten sam C jest równa =2 48  2 48 fałszywych alarmów; Znajomość dodatkowej pary (M,C) redukuje prawdopodobieństwo fałszywego alarmu do =2 -16; Stąd, jeżeli atak spotkaniem pośrodku jest prowadzony dla dwóch par bloków (M,C), to prawdopodobieństwo znalezienia właściwych kluczy jest równe ; Wniosek: dla DDES z kluczem 112 bitów atak ze znanym TO wymaga średnio 2 56 operacji w porównaniu do 2 55 dla DES.

98 Katedra Sieci Teleinformacyjnych Szyfrowanie potrójne – dwa klucze C=E K1 (D K2 (E K1 (M))); M=D K1 (E K2 (D K1 (C))) Podwojenie długości klucza – dla DES 2x56=112 bitów Kompatybilność z DES  K 2 =K 1 : C= E K1 (D K1 (E K1 (M)))=E K1 (M); Atak brutalny: (5x10 33 ) Atak z wybranymi TO: 2 56 par (TO,C)

99 Katedra Sieci Teleinformacyjnych Szyfrowanie potrójne – trzy klucze C=E K3 (D K2 (E K1 (M))); M=D K1 (E K2 (D K3 (C))) Potrojenie długości klucza – dla DES 3x56=168 bitów Kompatybilność z DES: K 3 =K 2 albo K 1 =K 2

100 Katedra Sieci Teleinformacyjnych System kryptograficzny IDEA IDEA (International Data Encryption Algorithm) – 1990r. Szyfr blokowy – długość bloku 64 bity, długość klucza 128 bitów; Operacje zapewniające mieszanie (ang. confusion): - poelementowe sumowanie ciągów modulo 2 (  ) - dodawanie liczb całkowitych modulo 2 16 ( ‡ ) - mnożenie liczb całkowitych modulo (  ) (blok 16. zer traktujemy jako 2 16 ) np. (1)  = · 2 15 mod = ponieważ = ( )( ) { ( )( ) = – = ·2 15 – 2 16 = }

101 Katedra Sieci Teleinformacyjnych System kryptograficzny IDEA Żadna para operacji , , ‡ nie spełnia prawa rozłączności tj. np.: a  (b ‡ c) ≠ (a  b) ‡ (a  c) Żadna para operacji   ‡ nie spełnia prawa łączności tj. np.: a  (b ‡ c) ≠ (a  b) ‡ c Dzięki powyższym właściwościom IDEA jest dużo trudniejszym algorytmem do kryptoanalizy niż DES, gdzie wykorzystywana jest tylko operacja .

102 Katedra Sieci Teleinformacyjnych System kryptograficzny IDEA Tabela ilustrująca operacje matematyczne w SK IDEA dla bloków 2-bitowych: W.Stallings: Cryptography and Network Security

103 Katedra Sieci Teleinformacyjnych System kryptograficzny IDEA Podstawowa struktura rozpraszająca algorytmu: F 1, F 2 – bloki 16 bitów tekstu; Z 1, Z 2 - bloki 16 bitów podkluczy; G 1, G 2 - bloki 16 bitów wyjściowych; Struktura jest powtarzana 8 razy w przebiegu szyfrowania pojedynczego bloku 64 bitów tekstu otwartego.

104 Katedra Sieci Teleinformacyjnych System kryptograficzny IDEA Struktura algorytmu

105 Katedra Sieci Teleinformacyjnych System kryptograficzny IDEA Struktura rundy (runda 1): Przekształcenie wyjściowe: Każda runda wymaga 6. podkluczy, natomiast przekształcenie wyjściowe 4.

106 Katedra Sieci Teleinformacyjnych System kryptograficzny IDEA Tworzenie podkluczy: Pierwszy podklucz każdej rundy zawiera podzbiór innych bitów klucza: Z 1 =Z[1...16], Z 7 =Z[ ], Z 13 =Z[ ], Z 19 =Z[ ], Z 25 =Z[ ], Z 31 =Z[ ], Z 37 =Z[ ], Z 43 =Z[ ]. Za wyjątkiem 1. i 8. rundy, 96 bitów podkluczy w każdej rundzie nie zawiera podciągów będących cyklicznymi przesunięciami podkluczy innych rund.

107 Katedra Sieci Teleinformacyjnych IDEA - podklucze deszyfrujące 1st round: z49* z50# z51# z52* z47 z48 2nd round: z43* z45# z44# z46* z41 z42 3rd round: z37* z39# z38# z39* z35 z36 4th round: z31* z33# z32# z34* z29 z30 5th round: z25* z27# z26# z28* z23 z24 6th round: z19* z21# z20# z22* z17 z18 7th round: z13* z15# z14# z16* z11 z12 8th round: z7* z9# z8# z10* z5 z6 Final transformation: z1* z2# z3# z4* zXX* = multiplicative inverse of zXX modulus ((2^16)+1) zXX# = additive inverse of zXX modulus (2^16)

108 Katedra Sieci Teleinformacyjnych AES AES (Advanced Encryption Standard) 01/02/97 ogłoszenie konkursu Wymagania:  wysokie bezpieczeństwo;  efektywność obliczeniowa;  niskie wymagania pamięciowe;  możliwość wydajnej realizacji sprzętowej i programowej;  prostota;  elastyczność;  brak elementów wymagających licencji. 10/02/00 ogłoszenie, że zwycięskim algorytmem AES jest Rijndael: Joan Daemen i Vincent Rijmen Rijndael (Rijmen & Daemen)

109 Katedra Sieci Teleinformacyjnych AES Podstawy matematyczne: -bajty są reprezentowane przez elementy ciała Galois GF(2 8 ) za pomocą reprezentacji wielomianowej tzn. bajt „b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 ” jest reprezentowany przez wielomian b 7 x 7 +b 6 x 6 +b 5 x 5 +b 4 x 4 +b 3 x 3 +b 2 x 2 +b 1 x 1 +b 0 x 0 ; np. bajtowi „73” hex „ ” bin odpowiada wielomian „x 6 +x 5 +x 4 +x+1; -dodawanie: sumowanie wielomianów z operacją sumowania modulo 2 współczynników  poelementowe sumowanie modulo 2 ciągów binarnych – element jednostkowy ciała względem operacji dodawania ’00’; -mnożenie: wielomian nieredukowalny generujący ciało CG(2 8 ): m(x)=x 8 +x 4 +x 3 +x+1; iloczyn dwóch elementów ciała = reszta z podziału iloczynu odpowiadających im wielomianów przez wielomian m(x)  mnożenie wielomianów modulo wielomian m(x) – element jednostkowy ciała względem operacji mnożenia ’01’;

110 Katedra Sieci Teleinformacyjnych AES np. ’72’’52’=‘1A’, ponieważ: (x 6 +x 5 +x 4 +x)(x 6 +x 4 +x)=x 12 +x 11 +x 10 +x 7 + x 10 +x 9 +x 8 +x 5 + x 7 +x 6 +x 5 +x 2 = =x 12 +x 11 +x 9 +x 8 +x 6 +x 2 x 12 +x 11 +x 9 +x 8 +x 6 +x 2 modulo x 8 +x 4 +x 3 +x+1=x 4 +x 3 +x  =‘1A’ { x 12 +x 11 +x 9 +x 8 +x 6 +x 2 = (x 4 +x 3 +x)m(x)+ x 4 +x 3 +x }

111 Katedra Sieci Teleinformacyjnych AES Mnożenie przez x (x  ’02’) x b(x)=b 7 x 8 +b 6 x 7 +b 5 x 6 +b 4 x 5 +b 3 x 4 +b 2 x 3 +b 1 x 2 +b 0 x xb(x)=x b(x) mod m(x) = Jeżeli b 7 =1, to jest to równoważne przesunięciu bajtu o jeden element w lewo i poelementowym zsumowaniu go z ciągiem ‘1B’ { b 6 x 7 +b 5 x 6 +b 4 x 5 +(b 3  1)x 4 +(b 2  1)x 3 +b 1 x 2 +(b 0  1)x+1 } Operację tę oznacza się b = xtime (a) (w realizacji sprzętowej wymaga ona 4 XOR)

112 Katedra Sieci Teleinformacyjnych AES Wielomiany ze współczynnikami z GF(2 8 ): 4. bajtowym wektorom odpowiadają wielomiany stopnia mniejszego od 4; dodawanie wielomianów  dodawaniu odpowiednich współczynników  poelementowe XOR bitów; mnożenie: a(x)=a 3 x 3 +a 2 x 2 +a 1 x+a 0 ; b(x)=b 3 x 3 +b 2 x 2 +b 1 x+b 0 ; c(x) = a(x) b(x) = c 6 x 6 +c 5 x 5 +c 4 x 4 +c 3 x 3 +c 2 x 2 +c 1 x+c 0 c 0 =a 0b 0 ; c 1 =a 1  b 0  a 0  b 1 ; c 2 = a 2  b 0  a 1  b 1  a 0  b 2 ; c 3 = a 3  b 0  a 2  b 1  a 1  b 2  a 0  b 3 ; c 4 = a 3  b 1  a 2  b 2  a 1  b 3 ; c 5 =a 3  b 2  a 2  b 3 ; c 6 =a 3b 3

113 Katedra Sieci Teleinformacyjnych AES redukcja wielomianu c(x) modulo wielomian M(x) = x ; ponieważ x j mod (x 4 + 1) = x j mod 4 zatem d(x) = a(x)  b(x) = c(x) mod (x 4 + 1) = d 3 x 3 +d 2 x 2 +d 1 x+d 0 ; d 0 = a 0  b 0  a 3  b 1  a 2  b 2  a 1  b 3 ; d 1 = a 1  b 0  a 0  b 1  a 3  b 2  a 2  b 3 ; d 2 = a 2  b 0  a 1  b 1  a 0  b 2  a 3  b 3 ; d 3 = a 3  b 0  a 2  b 1  a 1  b 2  a 0  b 3 ;

114 Katedra Sieci Teleinformacyjnych AES postać macierzowa mnożenie przez x : c(x) = x  b(x) mod x 4 +1 jest równoważne postaci macierzowej:

115 Katedra Sieci Teleinformacyjnych AES Postać macierzowa iloczynu: c(x) = x  b(x) mod x 4 +1 Wynika stąd, że mnożenie przez x (potęgę x) jest równoważne cyklicznemu przesunięciu bajtów wektora o jeden bajt w prawo.

116 Katedra Sieci Teleinformacyjnych AES AES nie ma postaci sieci Feistela. Pojedyncza runda zbudowana jest z trzech odwracalnych przekształceń nazywanych warstwami (ang. layers): liniowa warstwa mieszająca (ang. linear mixing layer) warstwa nieliniowa (ang.non-linear layer) warstwa dodawania klucza Przed pierwszą rundą występuje warstwa dodawania klucza. Liniowa warstwa mieszająca ostatniej rundy różni się od odpowiednich warstw rund pozostałych. Długości bloku i klucza (mogą być wybierane niezależnie): 128, 192, 256 bitów.

117 Katedra Sieci Teleinformacyjnych AES Przekształcenia w AES bazują na Stanach ( ang. State ) będących pośrednimi stanami szyfratora, reprezentowanymi przez macierz bajtów o 4. wierszach i liczbie kolumn Nb, równej długości bloku podzielonej przez 32  Nb= 4, 6, 8; Klucz Szyfrujący ( ang. Cipher Key) jest macierzą bajtów o 4. wierszach i liczbie kolumn Nk, równej długości klucza podzielonej przez 32  Nk= 4, 6, 8;

118 Katedra Sieci Teleinformacyjnych AES Macierz Stanu dla Nb = 4 (zapis kolumnami): Macierz Klucza dla Nk = 4 (zapis kolumnami):

119 Katedra Sieci Teleinformacyjnych AES Liczba rund algorytmu Nr zależy od Nb i Nk:

120 Katedra Sieci Teleinformacyjnych AES Struktura pojedynczej rundy, nie będącej rundą końcową: Round(State,RoundKey) { ByteSub(State); ShiftRow(State); MixColumn(State); AddRoundKey(State,RoundKey); { Round(State,RoundKey) { ByteSub(State); ShiftRow(State); AddRoundKey(State,RoundKey); { Struktura rundy końcowej:

121 Katedra Sieci Teleinformacyjnych AES – struktura rundy John Savard

122 Katedra Sieci Teleinformacyjnych AESOperacja ByteSub(State) Blok podstawienia: operacja ByteSub (odwracalna): obliczenie elementu odwrotnego (multiplikatywnego) w CG(2 8 ) (przyjmuje się, że elementem odwrotnym do’00’ jest ’00’); zastosowanie transformacji afinicznej nad CG(2)

123 Katedra Sieci Teleinformacyjnych AES Ilustracja działania bloku podstawienia:

124 Katedra Sieci Teleinformacyjnych AESTransformacja ShiftRow(State) wiersze macierzy State są cyklicznie przesuwane w lewo o różną wartość przesunięcia: wiersz 0 nie jest przesuwany, wiersz 1 jest przesuwany o C1 bajtów; wiersz 2 jest przesuwany o C2 bajtów; wiersz 3 jest przesuwany o C3 bajtów. Przesunięcia C1, C2, C3 zależą od długości bloku Nb: NbC1C2C

125 Katedra Sieci Teleinformacyjnych AESTransformacja ShiftRow(State) ilustracja

126 Katedra Sieci Teleinformacyjnych AESTransformacja MixColumn(State) Kolumny macierzy State traktowane są jako wielomiany nad CG(2 8 ) i mnożone, modulo wielomian x 4 +1, przez ustalony wielomian c(x)=’03’x 3 +’01’x 2 +’01’x+’02’. Ponieważ wielomian c(x) jest względnie pierwszy do wielomianu x 4 +1, zatem przekształcenie to jest odwracalne. Działanie b(x)=c(x)  a(x) zapisane w postaci macierzowej: (patrz slajd 113)

127 Katedra Sieci Teleinformacyjnych AESTransformacja MixColumn(State) - ilustracja Transformacja odwrotna: mnożenie kolumn przez wielomian d(x)=‘0B’x 3 +’0D’x 2 +’09’x+’0E’ { c(x)  d(x)=’01’ }

128 Katedra Sieci Teleinformacyjnych AES Operacja AddRoundKey(State, RoundKey) RoundKey jest obliczany z CipherKey i ma długość bloku Nb.

129 Katedra Sieci Teleinformacyjnych AES Tworzenie kluczy rundowych Klucze rundowe Round Keys są tworzone z Cipher Key za pomocą dwóch operacji: Key Expansion (z CK tworzony jest Expanded Key) Round Key Selection (kolejne RK są tworzone z EK jako pobierane z niego kolejne Nb słowa (każde słowo składa się z 4. bajtów) Całkowita liczba bitów kluczy rundowych = Nb*(Nr + 1)

130 Katedra Sieci Teleinformacyjnych AES Key Expansion Expanded Key = liniowa tablica słów 4-bajtowych W[Nb*(Nr + 1)]. Pierwszych Nk słów to Cipher Key. Kolejne słowa są tworzone rekursywnie ze słów poprzedzających. Algorytm zależy od wartości Nk: Nk  6, Nk > 6.

131 Katedra Sieci Teleinformacyjnych AES Zalety: Możliwość bardzo szybkiej implementacji na procesorze Pentium; Możliwość implementacji na Smart Card, mała objętość : kodu, pamięci RAM, mała liczba cykli; Przekształcenia rundowe są tak zaprojektowane, że mogą być realizowane równolegle; Niezależność od architektury procesora (czy „little endian” czy „big endian”); Przejrzysta konstrukcja matematyczna; Duża liczba możliwych wariantów długości bloku i długości klucza – od 128 do 256 bitów z krokiem 32 bitów.

132 Katedra Sieci Teleinformacyjnych AES Ograniczenia: Deszyfracja jest bardziej złożona niż szyfrowanie i mniej przystosowana do implementacji na Smart Card; Przy realizacji programowej szyfrowanie i deszyfrowanie są realizowane za pomocą różnych programów i wykorzystują inne tablice; Przy realizacji sprzętowej tylko niewielka część układów może być wykorzystana zarówno do szyfrowania jak i do deszyfrowania;

133 Katedra Sieci Teleinformacyjnych Ogólne właściwości, współczesnych, zaawansowanych, blokowych, symetrycznych SK Zmienna długość klucza, długość bloku i liczba rund; Użycie operatorów arytmetycznych i boolowskich, nie spełniających praw łączności i rozłączności, jako nieliniowej alternatywy do S-bloków; Użycie przesunięć cyklicznych (rotacji) zależnych od szyfrowanych danych lub podkluczy; S-bloki zależne od klucza; Złożone algorytmy generacji podkluczy; Funkcja rundowa zależna od numeru rundy; Przeprowadzanie operacji na całym bloku.

134 Katedra Sieci Teleinformacyjnych Umiejscowienie systemu kryptograficznego w sieciach komputerowych Zagadnienia: szyfrowanie w łączu telekomunikacyjnym; szyfrowanie end-to-end; szyfrowanie dla zapobieżenia analizie ruchu; rozdział kluczy.

135 Katedra Sieci Teleinformacyjnych Potencjalne miejsca przeprowadzenia ataku na poufność Miejsca: linie telekomunikacyjne; węzeł okablowania; sieć telefoniczna. Ataki: aktywne; pasywne. Tory: metaliczne, światłowodowe, radiowe.

136 Katedra Sieci Teleinformacyjnych Szyfrowanie w łączu telekomunikacyjnym i szyfrowanie „end-to-end” Szyfrowanie w łączach (w warstwie łącza ew. w warstwie fizycznej) zabezpiecza przed analizą ruchu (nagłówki są zaszyfrowane), ale w węźle wiadomości muszą być rozszyfrowane (routing) oraz wymagana jest duża liczby kluczy, które muszą być dostarczone tylko do dwóch węzłów.

137 Katedra Sieci Teleinformacyjnych Szyfrowanie w łączu telekomunikacyjnym i szyfrowanie „end-to-end” c.d. Szyfrowanie „end-to-end” zabezpiecza przed ujawnieniem wiadomości wewnątrz sieci, ale możliwa jest analiza ruchu (nagłówki pakietów muszą pozostać niezaszyfrowane).  Dla zapewnienia bezpieczeństwa należy stosować jednocześnie oba rodzaje szyfrowania: 1.szyfr E-T-E do danych użytkownika, 2.szyfr łącza do całego pakietu, nagłówek jest w otwartej postaci jedynie w węźle.

138 Katedra Sieci Teleinformacyjnych Szyfrowanie w łączu i end-to-end wiadomość widoczna w węźle nadawczym (host); wiadomość widoczna w węzłach pośrednich; przezroczyste dla użytkownika; węzeł zarządza szyfrowaniem; jedno urządzenie dla wszystkich użytkowników; realizacja sprzętowa; wszystkie wiadomości są szyfrowane; jeden klucz na każde łącze; zapewnia uwierzytelnienie węzła. wiadomość zaszyfrowana w węźle nadawczym(host); wiadomość zaszyfrowana w węzłach pośrednich; użytkownik przeprowadza szyfrowanie; użytkownik wybiera algorytm; użytkownik wybiera tryb szyfrowania; realizacja programowa; użytkownik decyduje o tym, czy szyfrować dana wiadomość, czy nie; jeden klucz na parę użytkowników; zapewnia uwierzytelnienie użytkownika; Szyfrowanie w łączuSzyfrowanie end-to-end Bezpieczeństwo end-to-end i na etapach pośrednich Implementacja Rola użytkownika

139 Katedra Sieci Teleinformacyjnych Przeciwdziałanie analizie ruchu Analiza ruchu może udostępnić atakującemu: tożsamość stron; częstość komunikowania się; strukturę, liczbę i długości wiadomości; korelację przesyłanych wiadomości z zewnętrznymi zdarzeniami. Utrudnienie analizy ruchu przy szyfrowaniu w łączu: traffic padding – przy braku wiadomości nadawane są ciągi losowe. Utrudnienie analizy ruchu przy szyfrowaniu tylko E-T-E: zunifikowanie długości wiadomości przez odpowiednie uzupełnianie losowymi danymi.

140 Katedra Sieci Teleinformacyjnych Metody dystrybucji kluczy 1.Strona A wybiera klucz i dostarcza go fizycznie stronie B; 2.Trzecia strona wybiera klucz i dostarcza go fizycznie stronom A i B; 3.Jeżeli strony A i B komunikowały się używając SK, to jedna ze stron może przesłać nowy klucz drugiej stronie używając SK ze starym kluczem; 4.Jeżeli strony A i B używają szyfrowanego połączenia z trzecią stroną C, to strona C może dostarczyć klucz stronom A i B.

141 Katedra Sieci Teleinformacyjnych Liczba kluczy Przy szyfrowaniu E-T-E, przy N użytkownikach jeden klucz jest potrzebny dla każdej komunikującej się pary  liczba kluczy: Dla N=1000 liczba kluczy: Dla N=10000 liczba kluczy: 50 milionów

142 Katedra Sieci Teleinformacyjnych Centrum dystrybucji kluczy (CDK) CDK dokonuje rozdziału kluczy dla par użytkowników  każdy użytkownik musi posiadać unikatowy klucz do komunikowania się z CDK; Hierarchia kluczy: Klucze główne (ang. master keys) - liczba kluczy N - służą do przesyłania kluczy sesyjnych ; Klucze sesyjne (ang. session keys) – służą do szyfrowania E-T-E dla danego połączenia, po czym są wymazywane ;

143 Katedra Sieci Teleinformacyjnych Przykład systemu rozdziału kluczy Założenia: Każdy użytkownik dysponuje kluczem głównym z CDK – użytkownik A – K A, użytkownik B - K B ; Użytkownik A chce ustanowić połączenie logiczne z użytkownikiem B i potrzebuje klucza sesyjnego dla zabezpieczenia transmisji. Realizacja: A, używając K A, wysyła zapotrzebowanie do CDK na klucz sesyjny dla transmisji do B, które zawiera: 1.identyfikator A; 2.identyfikator B; 3. unikatowy identyfikator transakcji N 1 ( znacznik czasu, liczba losowa itp.) różny dla każdej transakcji i trudny do odgadnięcia dla hakera chcącego przeprowadzić atak maskaradowy);

144 Katedra Sieci Teleinformacyjnych Przykład systemu rozdziału kluczy – c.d. CDK odpowiada A używając klucza K A (tylko A może odczytać wiadomość i A ma pewność, że wiadomość pochodzi od CDK). Wiadomość ta zawiera 2. informacje dla A: - jednorazowy klucz sesyjny K S ; - powtórzenie wiadomości otrzymanej od A (daje to A możliwość sprawdzenia, czy oryginalne zapotrzebowanie na klucz sesyjny nie zostało zmodyfikowane przed jego odbiorem przez CDK albo nie jest powtórzeniem wcześniejszego zapotrzebowania); oraz 2. informacje przeznaczone dla B, zaszyfrowane kluczem K B : - jednorazowy klucz sesyjny K S ; - identyfikator A: ID A A zapamiętuje klucz sesyjny K S i wysyła do B otrzymane od CDK informacje przeznaczone dla B tj. ( B zna teraz klucz sesyjny- wie, że nastąpi komunikacja z A i wie, że wiadomości te pochodzą od CDK); Obie strony dysponują teraz kluczem sesyjnym

145 Katedra Sieci Teleinformacyjnych Przykład systemu rozdziału kluczy – c.d. Dla upewnienia B, że otrzymane dane nie są powtórzeniem wiadomości wcześniejszych: B, używając klucza sesyjnego K S wysyła do A identyfikator N 2 ; A, używając K S wysyła B f(N 2 ), gdzie funkcja f(  ) jest pewnym, znanym przekształceniem N 2

146 Katedra Sieci Teleinformacyjnych Przykład systemu rozdziału kluczy – c.d.

147 Katedra Sieci Teleinformacyjnych Generowanie liczb losowych Cel: identyfikatory, klucze do SK Właściwości: losowość w sensie 2. podstawowych kryteriów: rozkład równomierny, niezależność statystyczna symboli; spełnienie testów losowości. Praktyczne znaczenie mają deterministyczne algorytmy wytwarzania liczb o charakterze zbliżonym do losowego- możliwie niewiele różniące się od realizacji dyskretnego białego szumu o rozkładzie równomiernym.

148 Katedra Sieci Teleinformacyjnych Testy losowości dla ciągów binarnych Test częstości pojedynczych bitów - statystyka: X 1 =(n 0 - n 1 ) 2 /n ma rozkład  2 z 1. stopniem swobody dla n  10; Test par bitów- statystyka: X 2 =(n n n n 11 2 ) 2 4/(n-1) - (n n 1 2 ) 2/n +1 ma rozkład  2 z 2. stopniami swobody dla n  21;

149 Katedra Sieci Teleinformacyjnych Testy losowości dla ciągów binarnych Test pokerowy - bada, czy podciągi o długości m występujące w ciągu o długości n występują w przybliżeniu tak samo często- statystyka: ma rozkład  2 z 2 m -1. stopniami swobody;

150 Katedra Sieci Teleinformacyjnych Testy losowości dla ciągów binarnych Test serii - bada, czy liczby serii zer i serii jedynek różnych długości są takie jak dla ciągu losowego- statystyka: B i - liczba serii długości i; G i - liczba pauz między seriami długości i; e i = (n-i+3)/2 i+2 - średnia liczba serii (albo pauz) w losowym ciągu binarnym o długości n; ma rozkład  2 z 2j-2. stopniami swobody;

151 Katedra Sieci Teleinformacyjnych Testy losowości dla ciągów binarnych Test autokorelacyjny- bada korelację między badanym ciągiem i jego przesunięciem o zadaną liczbę pozycji d A(d) - odległość ciągu badanego od jego przesuniętej wersji Statystyka: ma w przybliżeniu rozkład N(0,1) jeżeli n-d  10

152 Katedra Sieci Teleinformacyjnych Testy losowości dla ciągów binarnych Test FIPS-140-1: badany jest ciąg bitów. Jeżeli nie jest spełniony jeden z 4. testów, to generator jest dyskwalifikowany: -test monobitowy: 9654

153 Katedra Sieci Teleinformacyjnych Testy losowości dla ciągów binarnych Test FIPS cd Test długich serii - jest spełniony, jeżeli jeżeli nie występują serie długości 34 lub dłuższe. Długość serii Przedział

154 Katedra Sieci Teleinformacyjnych Generatory liczb pseudolosowych Liniowe generatory kongruencyjne: X n+1 = (a X n + c) mod m 0  X 0 < m – wartość początkowa (ziarno); 0  a < m - mnożnik; 0  c < m - przyrost; m > 0 - moduł. Jeżeli X 0, a, c, m są liczbami całkowitymi, to X n są liczbami całkowitymi 0  X n  m-1.

155 Katedra Sieci Teleinformacyjnych Liniowe generatory kongruencyjne c.d. Typowa wartość m : ; Kryteria dla LGK: - generator pełnego okresu (ang. full period) ( wszystkie wartości z zakresu 0 do m-1 powinny wystąpić przed ich powtórzeniem); - ciąg liczb powinien spełniać kryteria losowości; - algorytm powinien być łatwo realizowalny w arytmetyce 32- bitowej.

156 Katedra Sieci Teleinformacyjnych Liniowe generatory kongruencyjne c.d. Jeżeli m jest liczbą pierwszą i c=0, to dla niektórych wartości a okres generatora jest równy m-1 (bez wartości 0). Dla m = 2 31 –1 (liczba pierwsza) X n+1 = a X n mod 2 31 –1 Tylko dla niewielkiej liczby wartości a generatory spełniają wszystkie 3 kryteria. np. a = 7 5 = – generator dla IBM 360

157 Katedra Sieci Teleinformacyjnych Liniowe generatory kongruencyjne c.d. Jedynym losowym elementem generatora jest wartość ziarna X 0  łatwość kryptoanalizy: - jeżeli znamy wartości X 0, X 1, X 2, X 3, to z równań: X 1 = (a X 0 + c) mod m X 2 = (a X 1 + c) mod m X 3 = (a X 2 + c) mod m możemy obliczyć a, c, m.

158 Katedra Sieci Teleinformacyjnych Kryptograficzne generatory liczb losowych

159 Katedra Sieci Teleinformacyjnych Generatory liczb losowych c.d. Ciągi binarne wytwarzane przez rejestry przesuwające ze sprzężeniem zwrotnym (ang. feedback shift register): Funkcja sprzężenia zwrotnego może być liniowa albo nieliniowa.

160 Katedra Sieci Teleinformacyjnych Generatory liczb losowych c.d. Rejestr przesuwający z liniowym sprzężeniem zwrotnym (ang. linear feedback shift register (LFSR)): przykład Wielomian generujący: g(x) = 1 + x + x 3 Wielomian pierwotny: wielomian pierwszy (nieredukowalny) stopnia m będący dzielnikiem dwumianu Jeżeli g(x) jest wielomianem pierwotnym, to ciąg{a k } jest ciągiem maksymalnego okresu – m – ciągiem. Okres m-ciągu: 2 m - 1

161 Katedra Sieci Teleinformacyjnych Kombinacje generatorów LFSR f ( x 1, x 2,..., x n )

162 Katedra Sieci Teleinformacyjnych Przykład kombinacji trzech generatorów - generator Geffe Złożoność liniowa generatora: długość najkrótszego rejestru LFSR, który może wytworzyć ciąg wyjściowy tego generatora Złożoność liniowa generatora Geffe: n = ( n 2 + 1) n 1 + n 2 n 3 Szyfr A5 ( stosowany w GSM ) : 3 LFSR o długościach 19,22,23

163 Katedra Sieci Teleinformacyjnych Generator klucza dla szyfru A5/1 stosowanego w GSM LFSR o długościach 19,22,23 W każdym cyklu analizowane są bity taktowania i określany jest bit większościowy. Rejestr jest taktowany, jeżeli odpowiedni bit taktowania jest zgodny z bitem większościowym.

164 Katedra Sieci Teleinformacyjnych Generator klucza w szyfrze E0 stosowanym w Bluetooth

165 Katedra Sieci Teleinformacyjnych Generator klucza w szyfrze E0 stosowanym w Bluetooth

166 Katedra Sieci Teleinformacyjnych Generator klucza w szyfrze E0 stosowanym w Bluetooth Ophir Levy Avishai Wool:A Uniform Framework for Cryptanalysis of the Bluetooth E0 Cipher

167 Katedra Sieci Teleinformacyjnych Generator ANSI X9.17 i – numer cyklu generacji;DT i –aktualna data i czas; V i – ziarno; K 1, K 2 – klucze dla 3DES; R i – wyjście generatora

168 Katedra Sieci Teleinformacyjnych Generator Blum Blum Shub (1986r.) Wybieramy dwie duże liczby pierwsze: p i q takie, że p  q  3 mod 4 np. 7  19  3 mod 4 Obliczamy: n = p · q; Wybieramy losowo liczbę s względnie pierwszą do n ( ani p ani q nie jest dzielnikiem s ); Lenore Blum, Manuel Blum, and Michael Shub. "A Simple Unpredictable Pseudo-Random Number Generator", SIAM Journal on Computing, volume 15, pages 364–383, May 1986.

169 Katedra Sieci Teleinformacyjnych Generator Blum Blum Shub - algorytm Ciąg bitów B i, i = 1,2,..., N wytwarzany jest zgodnie z algorytmem: X 0 = s 2 mod n for i = 1 to N X i = ( X i-1 ) 2 mod n B i = X i mod 2 end

170 Katedra Sieci Teleinformacyjnych Generator Blum Blum Shub Generator spełnia „test następnego bitu”: Nie istnieje algorytm, działający w czasie wielomianowym *), który na podstawie znajomości k pierwszych bitów ciągu pseudolosowego może przewidzieć wartość bitu k +1 z prawdopodobieństwem istotnie większym od 0.5; Generator jest uznawany jako praktycznie bezpieczny. * ) algorytm, którego czas działania jest ograniczony przez wielomian od rozmiaru danych wejściowych

171 Katedra Sieci Teleinformacyjnych Asymetryczne systemy kryptograficzne (systemy klucza publicznego)

172 Katedra Sieci Teleinformacyjnych Problem z dystrybucją kluczy przy wykorzystaniu symetrycznych systemów kryptograficznych dla bezpiecznej wymiany informacji w sieciach komputerowych: Dla każdej z n osób komunikujących się z sobą konieczne jest wytworzenie i bezpieczne przesłanie n – 1 kluczy; Łączna liczba kluczy, wymagających bezpiecznego przesłania, dla n = 500, przy zmianie kluczy co godzinę: kluczy na dobę

173 Katedra Sieci Teleinformacyjnych System asymetryczny Przy wykorzystaniu systemów kryptograficznych z kluczem jawnym: wystarcza opublikowanie n kluczy jawnych (szyfrujących) każdej osoby; brak konieczności bezpiecznego przesyłania kluczy (para kluczy: jawny (szyfrujący) i tajny (deszyfrujący) wytwarzane są przez każdą z n osób lokalnie.

174 Katedra Sieci Teleinformacyjnych System asymetryczny K A, K B - klucze jawne;T A, T B – klucze tajne; y = f K (x) – funkcja jednokierunkowa ( ang. One-way trap-door f.): y jest łatwe do obliczenia, jeśli K i x są znane; x = f K -1 (y) x jest łatwe do obliczenia, jeśli K, T i y są znane; x = f K -1 (y) x jest praktycznie niemożliwe do obliczenia, jeśli y i K jest znane i T jest nieznane.

175 Katedra Sieci Teleinformacyjnych Porównanie systemów symetrycznych i asymetrycznych Konieczne do działania: - ten sam algorytm z tym samym kluczem używany do szyfrowania i deszyfrowania; - nadawca i odbiorca współdzielą algorytm i klucz; Konieczne dla bezpieczeństwa: - klucz musi być tajny; - bez znajomości klucza odczytanie wiadomości niemożliwe lub praktycznie niemożliwe; Konieczne do działania : - jeden algorytm jest wykorzystywany do szyfrowania i deszyfrowania z dwoma kluczami: jeden do szyfrowania, drugi do deszyfrowania; - nadawca i odbiorca współdzielą algorytm, ale każda strona dysponuje jedną z dopasowanych par kluczy (K B,T A ), (K A,T B ) ; Symetryczny SK | Asymetryczny SK

176 Katedra Sieci Teleinformacyjnych Porównanie systemów symetrycznych i asymetrycznych Klucze muszą być utajnione; dekryptaż szyfrogramu bez dodatkowych informacji powinien być co najmniej praktycznie niemożliwy; znajomość algorytmu i próbek szyfrogramów powinna być niewystarczająca do określenia klucza. jeden z dwóch kluczy musi być kluczem tajnym; dekryptaż szyfrogramu bez dodatkowych informacji powinien być co najmniej praktycznie niemożliwy; znajomość algorytmu i próbek szyfrogramów oraz jednego z kluczy powinna być niewystarczająca do określenia drugiego klucza. Konieczne dla zapewnienia bezpieczeństwa: Symetryczny SK | Asymetryczny SK

177 Katedra Sieci Teleinformacyjnych Uwierzytelnianie za pomocą asymetrycznego SK C = E T A ( M) M = D K A ( C) Tylko A mógł wytworzyć C, bo tylko A dysponuje tajnym kluczem T A  szyfrowanie tajnym kluczem stanowi odpowiednik podpisu.

178 Katedra Sieci Teleinformacyjnych Zapewnienie bezpieczeństwa i uwierzytelnienia przez asymetryczny SK F = E K B [ E T A (M)]M = D K A [ D T B (F)]  utajnienie podpis (uwierzytelnienie)

179 Katedra Sieci Teleinformacyjnych System RSA (Autorzy:Ron Rivest, Adi Shamir, Leonard Adleman) Funkcja jednokierunkowa: Obliczenie y = f(x) jest łatwe. Obliczenie x = f -1 ( y ) jest praktycznie niewykonalne bez dodatkowych informacji. Trudny problem wykorzystany w systemie RSA, zabezpieczający odkrycie tajnego klucza: trudność faktoryzacji dużych liczb na czynniki pierwsze

180 Katedra Sieci Teleinformacyjnych RSA – algorytm generacji kluczy 1.Wybieramy dwie duże ( 512 – 1024 bitów) liczby pierwsze p i q 2.Obliczamy ich iloczyn: n = p q 3.Wybieramy losowo liczbę naturalną e < (p – 1) ( q – 1) względnie pierwszą z liczbą ( p – 1 ) ( q – 1), która razem z liczbą n stanowi klucz jawny ( n, e ) 4.Za pomocą algorytmu Euklidesa obliczamy liczbę d = e -1 mod ( p – 1) ( q – 1 ) { ed = 1 mod (p-1)(q-1)} która razem z liczbą n stanowi klucz tajny ( n, d ) 5.Liczby p i q wymazujemy z pamięci

181 Katedra Sieci Teleinformacyjnych RSA – przykład generacji kluczy p = 3, q = 11 n = p q = 33 (p-1) (q-1) = 2 10 = = 20 Liczbę e musimy wybrać tak, aby była względnie pierwsza do 20 tzn. nie może zawierać czynników 2 i 5  możliwe pary liczb e i d: ede d e d mod

182 Katedra Sieci Teleinformacyjnych RSA – szyfrowanie Wiadomość szyfrowaną dzielimy na bloki m i i=1,2,...,L o takiej długości, aby ich reprezentacja liczbowa była mniejsza od n; Obliczamy bloki szyfrogramu: c i = m i e mod n ; i=1,2,...,L

183 Katedra Sieci Teleinformacyjnych RSA – deszyfrowanie Obliczamy bloki wiadomości: m i = c i d mod n ; i=1,2,...,L Twierdzenie Eulera: Jeżeli liczby naturalne m i n są względnie pierwsze i m < n, oraz k jest dowolną liczbą całkowitą, to m k  (n) = 1 mod n gdzie funkcja  (n) jest funkcją Eulera ( liczba dodatnich liczb całkowitych < n i względnie pierwszych do n. Jeżeli n=p q, gdzie p i q są liczbami pierwszymi, to  (n) = (p-1)(q-1) ). (a·b) mod n = [(a mod n) · (b mod n)] mod n

184 Katedra Sieci Teleinformacyjnych RSA – ograniczenia Znajomość tylko jednej pary ( e, d ) umożliwia atakującemu faktoryzację modułu n; Znajomość tylko jednej pary ( e, d ) umożliwia atakującemu obliczenie innych par wykładników bez konieczności faktoryzacji modułu n; Nie powinno się wykorzystywać jednego modułu przy pracy w sieci; Nie powinno się wybierać małych wartości wykładników (przyspieszają szyfrowanie, ale ułatwiają ataki).

185 Katedra Sieci Teleinformacyjnych RSA – ograniczenia Jeżeli moduł n=p q, gdzie liczby pierwsze p i q mają takie wartości, że q < p < 2 q, a wykładnik d < 1/3 n 1/4, to istnieje efektywny algorytm pozwalający na obliczenie d, przy znajomości n oraz drugiego wykładnika e (klucza jawnego). Jeżeli moduł n=p q ma m cyfr binarnych i znane jest m/4 pierwszych lub m/4 ostatnich cyfr, to możliwa jest efektywna faktoryzacja modułu n. Jeżeli moduł n=p q ma m cyfr binarnych i znane jest co najmniej m/4 ostatnich cyfr wykładnika d, to możliwe jest obliczenie d w czasie proporcjonalnym do wartości e ln(e).

186 Katedra Sieci Teleinformacyjnych Asymetryczne SK - zarządzanie kluczami Dystrybucja kluczy publicznych: - rozdział niekontrolowany ( ang. Public Announcement of P-K ); - ogólnie dostępny katalog ( ang. Publicly Availiable Directory ); - centralny rejestr kluczy ( ang. Public-Key Authority ); - centrum certyfikacyjne ( ang. Public-Key Certificate Authority )

187 Katedra Sieci Teleinformacyjnych Rozdział niekontrolowany Wada: łatwość podszycia się pod inną osobę

188 Katedra Sieci Teleinformacyjnych Ogólnie dostępny katalog 1.Katalogiem zarządza zaufana jednostka albo organizacja; 2.Katalog zawiera nazwisko (nazwę) oraz klucz publiczny każdego użytkownika; 3.Każdy użytkownik może w dowolnej chwili zastąpić dany klucz innym; 4.Zarządzający katalogiem okresowo publikuje cały katalog albo jego aktualizacje; 5.Dostęp elektroniczny do katalogu powinien być zabezpieczony (uwierzytelnianie i bezpieczna transmisja). Wada: złamanie zabezpieczenia 5. "odkrywa" wszystkich uż.

189 Katedra Sieci Teleinformacyjnych Centralny rejestr kluczy (CRK) 1.A wysyła do CRK żądanie, oznaczone czasowo (ang. time-stamped), dostarczenia klucza publicznego B; 2.CRK odpowiada wiadomością, zaszyfrowaną kluczem prywatnym CRK, która zawiera: Klucz publiczny B ; Powtórzenie żądania A; Znacznik czasowy; 3.A wysyła do B wiadomość zaszyfrowaną kluczem publicznym B, podając swój identyfikator ID A i identyfikator transmisji IT 1 ;

190 Katedra Sieci Teleinformacyjnych Centralny rejestr kluczy (CRK) 4.5. B uzyskuje klucz publiczny A z CRK w analogiczny sposób, jak A uzyskał klucz B; 6.B wysyła do A wiadomość zaszyfrowaną kluczem publicznym A, dołączając znacznik transmisji IT 1 otrzymany od A (ponieważ tylko B mógł odszyfrować wiadomość 3, obecność IT 1 upewnia A, że autorem wiadomości jest B) i swój znacznik transmisji IT 2 ; 7.A odpowiada B wysyłając znacznik IT 2 zaszyfrowany kluczem publicznym B- upewnia to B, że autorem wiadomości jest A. Wada: duży nakład protokolarny, CRK może stać się "wąskim gardłem"

191 Katedra Sieci Teleinformacyjnych Centrum certyfikacji 1.Każdy użytkownik może odczytywać certyfikat, aby określić nazwę i publiczny klucz właściciela certyfikatu; 2.Każdy użytkownik może sprawdzić, że certyfikat pochodzi z CC i nie jest podrobiony; 3.Tylko CC może tworzyć i uaktualniać certyfikaty; 4.Każdy użytkownik może sprawdzić aktualność certyfikatu Za pomocą bezpiecznej, uwierzytelnionej transmisji A uzyskuje certyfikat: C A = E Tcc (T, ID A, K A )(T=czas ważności) Sprawdzenie certyfikatu: D Kcc (C A )=D Kcc (E Tcc (T, ID A, K A )= {T, ID A, K A }

192 Katedra Sieci Teleinformacyjnych Algorytm Diffiego-Hellmana Algorytm D-H może być wykorzystywany do dystrybucji kluczy dla symetrycznych systemów kryptograficznych; Wykorzystywany trudny problem: trudność obliczenia logarytmów dyskretnych w ciałach skończonych- potęgowanie w takich ciałach jest łatwe;

193 Katedra Sieci Teleinformacyjnych Algorytm Diffiego-Hellmana c.d. Algorytm: Strony A i B wybierają dwie duże ( bity) liczby całkowite n i g, takie, że 1 < g < n. Liczby n i g nie muszą być tajne. Strona A wybiera losowo dużą liczbę całkowitą x i obliczaX = g x mod n Strona B wybiera losowo dużą liczbę całkowitą y i obliczaY = g y mod n ( liczby x i y są utrzymywane w tajemnicy przez obie strony)

194 Katedra Sieci Teleinformacyjnych Algorytm Diffiego-Hellmana c.d. Strona A oblicza: K = Y x mod n; Strona B oblicza: K’ = X y mod n. Liczby K i K’ stanowią wspólny klucz dla stron A i B K= (g y ) x = g xy = (g x ) y = K’ Atakujący zna tylko liczby n, g, X i Y i bez obliczenia logarytmu dyskretnego liczb X i Y nie jest w stanie obliczyć K (K’).

195 Katedra Sieci Teleinformacyjnych Algorytm Diffiego-Hellmana c.d.

196 Katedra Sieci Teleinformacyjnych Kryptografia oparta o krzywe eliptyczne ( ang. Elliptic Curve Cryptography (ECC )) Zaleta w stosunku do RSA: dużo mniejsze nakłady obliczeniowe przy porównywalnym bezpieczeństwie. Krzywe eliptyczne Opisane są równaniami 3 stopnia: y 2 + d x y + e y = x 3 + c x 2 + a x + b gdzie a, b, c, d, e są liczbami rzeczywistymi, spełniającymi pewne, proste warunki. Do definicji krzywych eliptycznych należy także element O nazywany punktem w nieskończoności (ang. point at infinity) albo punktem zerowym ( ang. zero point ).

197 Katedra Sieci Teleinformacyjnych ECC Dodawanie dla krzywych eliptycznych (KE): 1.Jeżeli 3 punkty na KE leżą na linii prostej, to ich suma jest równa O; 2. O jest elementem jednostkowym względem dodawania  O = -O i dla dowolnego punktu P na KE zachodzi P + O = P; 3.Linia pionowa przecina KE w dwóch punktach i przechodzi przez punkt zerowy - Q + R + O = O  R= -Q; 4.Aby podwoić dany punkt Q należy poprowadzić styczną przechodzącą przez ten punkt i znaleźć punkt R jej przecięcia z KE  Q + Q + S = O  2 Q = - S Każda prosta przecina krzywą eliptyczną w trzech punktach, wliczając punkt zerowy, lub jest do niej styczna.

198 Katedra Sieci Teleinformacyjnych ECC y 2 = x 3 -3x+1 Q+R+P 1 = O Q+R = -P 1 y 2 = x 3 -x+1 Q+R+P 1 = O Q+R = - P 1 P1 + (-P1) = O

199 Katedra Sieci Teleinformacyjnych ECC – mnożenie przez liczbę naturalną W punkcie Q prowadzimy styczną do KE Q + Q +P = O 2 Q = -P 2 Q = (0,2) 3 Q = 2Q + Q= (-2,-2)

200 Katedra Sieci Teleinformacyjnych ECC – grupa eliptyczna E p (a,b) - grupa eliptyczna mod p ( p jest liczbą pierwszą ), której elementy (x,y) są parami liczb całkowitych nieujemnych, mniejszych od p, spełniających równanie; y 2  x 3 + a x + b (mod p) gdzie a, b są nieujemnymi liczbami całkowitymi, mniejszymi od p, takimi, że: 4 a b 2 (mod p)  0 oraz zawiera punkt w nieskończoności O (element jednostkowy grupy).

201 Katedra Sieci Teleinformacyjnych ECC- grupa eliptyczna - przykład p = 23; y 2 =x 3 +x+1; = 31 mod 23 = 8  0; p = 23

202 Katedra Sieci Teleinformacyjnych ECC- grupa eliptyczna – przykład c.d. dla każdej wartości x = 0,1,2,...,p-1 obliczamy x 3 +a x + b (mod p); dla każdej tak obliczonej wartości sprawdzamy, czy istnieje dla niej pierwiastek kwadratowy mod p; jeżeli pierwiastek nie istnieje, to nie ma elementów grupy eliptycznej dla tej wartości x; jeżeli pierwiastek istnieje, to dla tej wartości x istnieją dwa elementy grupy eliptycznej E p (a,b)

203 Katedra Sieci Teleinformacyjnych ECC- grupa eliptyczna – przykład c.d. (0,1)(6,4)(12,19) (0,22)(6,19)( 13, 7) ( 1,7 )(7,11 )(13, 16) ( 1, 16)( 7,12 )( 17, 3) (3,10 )( 9,7 )(17, 20) ( 3,13 )(9,16 )( 18,3 ) ( 4, 0)( 11,3)(18, 20) ( 5,4)( 11,20)( 19, 5) (5, 19)(12, 4)( 19, 18) x=1y 2 = = 3 mod 23=(3+2  23) mod23=49 mod 23  3 1/2 mod23=7-7mod23=(-7+23)mod23=16

204 Katedra Sieci Teleinformacyjnych ECC- grupa eliptyczna – reguły dodawania Dla dowolnych dwóch punktów P, Q  E p (a,b): P + O = P ; Jeżeli P = (x,y), to P + (x,-y) = O; - P = (x,-y)  E p (a,b) ; Jeżeli P = (x 1,y 1 ) i Q = (x 2,y 2 ) i P  - Q,to punkt P+Q=(x 3,y 3 ) ma współrzędne: x 3 = 2 – x 1 – x 2 (mod p) y 3 = (x 1 – x 3 ) – y 1 (mod p)

205 Katedra Sieci Teleinformacyjnych ECC- grupa eliptyczna – reguły dodawania c.d. gdzie P=(5,4) P+P=(x 3,y 3 ) = (3·5 2 +1)/2 · 4 = 76/8 = 7/8  21 mod 23 { 7/8 = (7+7 · 23)/8 = 21 } x 3 = 21 2 –5 – 5 = = 431 = 19*23+4  4 mod 23 y 3 = 21 · (5 - 4) - 4  17 mod 23 2*P = (4,17)

206 Katedra Sieci Teleinformacyjnych ECC – trudny problem Weźmy równanie: Q = k P; Q, P  E p (a,b), k < p Mając dane k i P łatwo jest obliczyć Q. Trudnym problemem wykorzystywanym w kryptografii jest trudność obliczenia k, mając dane Q i P.

207 Katedra Sieci Teleinformacyjnych ECC – wymiana kluczy Definiujemy grupę eliptyczną E p (a,b) p  ; Wyznaczamy t.zw. punkt generujący G(x 1,y 1 ), w taki sposób, aby najmniejsza wartość n, dla której n G(x 1,y 1 )=O była bardzo dużą liczbą pierwszą; E p (a,b) i G(x 1,y 1 ) są znane wszystkim użytkownikom;

208 Katedra Sieci Teleinformacyjnych ECC – wymiana kluczy c. d. Wymiana kluczy pomiędzy A i B: A wybiera liczbę całkowitą n A < n ; n A to klucz prywatny A; klucz publiczny A: K A = n A G (punkt w E p (a,b) ); B analogicznie wyznacza klucz prywatny n B i klucz publiczny K B = n B G; A wytwarza klucz tajny T A = n A K B B wytwarza klucz tajny T B =n B K A Ponieważ n A K B = n A n B G= n B (n A G )=n B K A, zatem zarówno A, jak i B dysponują tym samym, tajnym kluczem T AB =T A =T B.

209 Katedra Sieci Teleinformacyjnych ECC – szyfrowanie i deszyfrowanie nie można bezpośrednio zaszyfrować danej wiadomości M jako punktu P(x,y)  E p (a,b), ponieważ grupa eliptyczna zawiera tylko ograniczoną liczbę punktów; użytkownik A wybiera grupę eliptyczną E p (a,b), punkt G, klucz tajny n A, klucz publiczny P A =n A G;

210 Katedra Sieci Teleinformacyjnych ECC – szyfrowanie i deszyfrowanie A wysyła do B szyfrogram zawierający parę punktów: C A = { k G, M A + k P B }, gdzie P B jest kluczem publicznym B; B wykonuje działanie: (M A + k P B ) – n B (kG) = M A + k ( n B G) - n B (kG) = M A

211 Katedra Sieci Teleinformacyjnych ECC- bezpieczeństwo- miara MIPS-Years ECC Dł. klucza MIPS-Years 1503, , , RSA Dł. klucza MIPS-Years MIPS-Year =1 x 10 6 operacji/sek. x 3600sek./h x 24h/dzień x 365 dni/rok x 1rok = 3, operacji arytmetycznych

212 Katedra Sieci Teleinformacyjnych ECC - długości kluczy przy porównywalnym bezpieczeństwie Symmetric Key Size (bits) RSA and Diffie- Hellman Key Size (bits) Elliptic Curve Key Size (bits) Table 1: NIST Recommended Key Sizes

213 Katedra Sieci Teleinformacyjnych Uwierzytelnianie wiadomości Ataki przy przesyłaniu wiadomości w sieci: 1.ujawnienie; 2.analiza ruchu; 3.maskarada; 4.modyfikacja zawartości; 5.modyfikacja kolejności; 6.modyfikacja czasowa; 7.zaprzeczenie. Poufność Autentyczność Podpis cyfrowy

214 Katedra Sieci Teleinformacyjnych Uwierzytelnianie wiadomości Uwierzytelnienie wiadomości - procedura sprawdzająca, czy odebrane wiadomości pochodzą z uprawnionego źródła i czy nie zostały zmienione. Funkcje wykorzystywane w procedurach uwierzytelniania: Szyfrowanie wiadomości; Kod uwierzytelnienia wiadomości (MAC- Message Authentication Code); Funkcja skrótu (ang. hash function)

215 Katedra Sieci Teleinformacyjnych Uwierzytelnianie wiadomości c. d. Uwierzytelnianie za pomocą szyfrowania - symetryczny SK Warunek: wiadomość M nie może być dowolnym ciągiem bitów - - Zastosowanie kodowania nadmiarowego

216 Katedra Sieci Teleinformacyjnych Uwierzytelnianie wiadomości c. d. - zabezpieczenie wewnętrzne: - zabezpieczenie zewnętrzne:

217 Katedra Sieci Teleinformacyjnych Uwierzytelnianie wiadomości c. d. - asymetryczny SK uwierzytelnienie i podpis utajnienie, uwierzytelnienie, podpis

218 Katedra Sieci Teleinformacyjnych Uwierzytelnianie wiadomości c. d. MAC - kryptograficzna suma kontrolna Zakładamy, że obie strony A i B dysponują wspólnym, tajnym kluczem T AB Ten schemat zapewnia tylko uwierzytelnienie - brak tajności MAC nie musi być funkcją odwracalną

219 Katedra Sieci Teleinformacyjnych Uwierzytelnianie wiadomości c. d. uwierzytelnienie i tajność zapewnia schemat: MAC przed szyfrowaniem - uwierzytelnienie związane jest z wiadomością

220 Katedra Sieci Teleinformacyjnych Uwierzytelnianie wiadomości c. d. Uwierzytelnienie i tajność - MAC po szyfrowaniu  uwierzytelnienie szyfrogramu

221 Katedra Sieci Teleinformacyjnych Uwierzytelnianie wiadomości c. d. Dlaczego używamy MAC, a nie wyłącznie szyfrowania symetrycznego? MAC jest dogodniejsze w przypadkach: powiadamianie wielu użytkowników z jednego punktu - jeden użytkownik jest odpowiedzialny za uwierzytelnianie -po sprawdzeniu powiadamia pozostałych; użytkownik jest mocno obciążony (deszyfracja jest złożoną operacją)- za pomocą MAC wiadomości są uwierzytelniane wyrywkowo;

222 Katedra Sieci Teleinformacyjnych Uwierzytelnianie wiadomości c. d. przy jawnym przesyłaniu programów komputerowych; w systemach z rozdzieleniem procesów uwierzytelniania i utajniania- np. uwierzytelnienie na poziomie aplikacji, a utajnienie na poziomie warstwy transportowej

223 Katedra Sieci Teleinformacyjnych Uwierzytelnianie wiadomości c. d. Wymagania dla MAC Długość MAC n bitów; długość klucza k bitów  2 n możliwych MAC << liczby możliwych wiadomości o różnych długościach. Atak brutalny: k > n ; mając parę: wiadomość M 1 -MAC 1 kryptoanalityk oblicza MAC i = C Ki (M 1 ) i =1,...,2 k  co najmniej dla jednego klucza MAC i =MAC 1 { 2 k > 2 n  średnio dla 2 (k-n) kluczy wystąpi zgodność }  algorytm ataku:

224 Katedra Sieci Teleinformacyjnych Uwierzytelnianie wiadomości c. d. Algorytm ataku na MAC: Runda 1 Dane: M 1, MAC 1 =C K (M 1 ); MAC i = C Ki (M 1 ); i=1,...,2 k ; liczba koincydencji MAC i =MAC 1 : 2 (k-n) ; Runda 2 Dane: M 2, MAC 2 =C K (M 2 ); MAC i = C Ki (M 2 ); i=1,...,2 (k-n) ; liczba koincydencji MAC i =MAC 2 : 2 (k-2n) ; Jeżeli k = m n, to potrzeba średnio m rund do wyznaczenia klucza

225 Katedra Sieci Teleinformacyjnych Uwierzytelnianie wiadomości c. d. MAC utworzone za pomocą DES – ANSI standard X9.17 : Data Authentication Code M={ m 1, m 2,...., m N }; Długość m i : 64 bity.

226 Katedra Sieci Teleinformacyjnych Jednokierunkowe funkcje skrótu (ang. one-way hash functions) Jednokierunkową funkcją skrótu nazywamy funkcję: h = H (M) gdzie: M jest wiadomością o dowolnej długości, h jest liczbą o ustalonej długości m bitów

227 Katedra Sieci Teleinformacyjnych Funkcja skrótu - właściwości Obliczenie wartości funkcji h dla danej wiadomości M jest łatwe; Mając h jest obliczeniowo niewykonalne otrzymanie M; Dla danej wiadomości M praktycznie niemożliwe jest znalezienie innej wiadomości M’ takiej, że H(M’)=H(M) Zmiana dowolnego bitu (bitów) M powoduje zmianę h.

228 Katedra Sieci Teleinformacyjnych Funkcja skrótu (FS) - właściwości Dla danej wiadomości M praktycznie niemożliwe jest znalezienie innej wiadomości M’ takiej, że H(M’)=H(M); Aby to wymaganie mogło być spełnione, to długość funkcji skrótu m musi być równa co najmniej 128 bitów (np. w SHS (Secure Hash Standard m=160) ponieważ można w 2 m/2 próbach uzyskać dwie wiadomości o jednakowym skrócie.

229 Katedra Sieci Teleinformacyjnych Funkcja skrótu - metody wykorzystania FS do uwierzytelniania wiadomości Zapewnienie: tajności i uwierzytelnienia

230 Katedra Sieci Teleinformacyjnych Funkcja skrótu - metody wykorzystania FS do uwierzytelniania wiadomości Zapewnia: uwierzytelnienie  MAC

231 Katedra Sieci Teleinformacyjnych Funkcja skrótu - metody wykorzystania FS do uwierzytelniania wiadomości Zapewnia: uwierzytelnienie i podpis cyfrowy

232 Katedra Sieci Teleinformacyjnych Funkcja skrótu - metody wykorzystania FS do uwierzytelniania wiadomości Zapewnia: tajność i podpis

233 Katedra Sieci Teleinformacyjnych Funkcja skrótu - metody wykorzystania FS do uwierzytelniania wiadomości Zapewnia: uwierzytelnienie

234 Katedra Sieci Teleinformacyjnych Funkcja skrótu - metody wykorzystania FS do uwierzytelniania wiadomości Zapewnia: uwierzytelnienie i tajność

235 Katedra Sieci Teleinformacyjnych Funkcja skrótu – zasada realizacji f() – algorytm kompresujący; Y i – b-bitowe bloki wiadomości; CV i - n-bitowe bloki zmiennej łańcuchowej (ang. chaining variable); n – długość skrótu; b > n. Algorytmy FS: MD5, MD4, SHA, RIPEMD-160

236 Katedra Sieci Teleinformacyjnych Przykład wykorzystania symetrycznego blokowego SK do tworzenia funkcji skrótu- algorytm Daviesa-Meyera Długość skrótu jest równa długości bloku wykorzystywanego blokowego systemu kryptograficznego IV - losowy blok początkowy

237 Katedra Sieci Teleinformacyjnych Podpis cyfrowy Właściwości podpisu:  każda osoba ma właściwy dla siebie, niepodrabialny podpis;  powinna istnieć możliwość stwierdzenia autentyczności podpisu złożonego pod dokumentem;  powinno być niemożliwe kopiowanie podpisu z jednego dokumentu na drugi. Schemat tworzenia i odczytywania podpisu cyfrowego: KS A - klucz tajny osoby A ; KP A - klucz jawny osoby A Podpisywanie Odczytywanie podpisu

238 Katedra Sieci Teleinformacyjnych Podpis cyfrowy Wspólne cechy podpisu odręcznego i podpisu cyfrowego:  są przypisane do jednej osoby;  są trudne do podrobienia;  uniemożliwiają wyparcie się go przez autora;  możliwa jest weryfikacja przez czynniki niezależne;  są proste do wytworzenia.

239 Katedra Sieci Teleinformacyjnych Podpis cyfrowy Różnice między podpisem odręcznym i podpisem cyfrowym: Podpis odręcznyPodpis cyfrowy  jest na stałe związany z dokumentem  może być przesyłany niezależnie od dokumentu  jest taki sam dla wszystkich dokumentów  jest funkcją dokumentu  stawiany jest na końcu dokumentu (końcu każdej strony dokumentu)  obejmuje cały dokument

240 Katedra Sieci Teleinformacyjnych Algorytm podpisu cyfrowego DSA ( Digital Signature Algorithm - 19 maja 1994 ) Tworzenie klucza publicznego: Wybieramy liczbę pierwszą p o długości 512 do 1024 bitów; Obliczamy czynnik pierwszy q liczby p –1 o długości 160 bitów; Wybieramy liczbę h 1 Liczby p, q i h mogą być wspólne dla grupy użytkowników; Obliczamy liczbę: g = h ( p – 1 )/q mod p ; Klucz jawny: | Klucz prywatny: y = g x mod p | liczba x < q o długości 160 bitów

241 Katedra Sieci Teleinformacyjnych Algorytm podpisu cyfrowego DSA Proces podpisywania wiadomości M: Wybieramy losowo liczbę k < q o długości 160 bitów; Obliczamy liczby tworzące podpis cyfrowy: r = ( g k mod p ) mod q s = ( k -1 ( H(M ) + x r )) mod q *) Weryfikacja podpisu: w = s -1 mod q u1 = ( H(M) w ) mod q u2 = ( r w ) mod q v = (( g u1 y u2 ) mod p ) mod q Jeżeli v = r, to uznajemy podpis za prawdziwy. * ) H( M ) – skrót wiadomości M obliczony za pomocą SHA-1

242 Katedra Sieci Teleinformacyjnych Problem nr 1 Przedstaw problem, używając prostego języka Przedstaw dowody werbalne i wizualne na poparcie swojej argumentacji Rozszerz wystąpienie o przykład lub anegdotę Przechodząc do następnego problemu, logicznie połącz go z poprzednim

243 Katedra Sieci Teleinformacyjnych Zakończ Streść problemy omawiane w wystąpieniu Przedstaw wnioski. Przedstaw ich znaczenie dla słuchaczy


Pobierz ppt "Kryptograficzne zabezpieczenie transmisji Semestr 8, rok ak. 2007/2008 dr hab. inż. Roman Rykaczewski prof. nadzw. PG pok. 610 Politechnika Gdańska Wydział."

Podobne prezentacje


Reklamy Google