Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałBogusław Antczak Został zmieniony 8 lat temu
1
Dystrybucja kluczy
2
Plan wykładu Motywacja Dystrybucja kluczy dla szyfrowania konwencjonalnego Zarządzanie kluczami dla szyfrowania asymetrycznego Certyfikaty cyfrowe Dystrybucja kluczy z użyciem szyfrowania asymetrycznego Algorytm Diffiego Hellmana Podsumowanie
3
Plan wykładu Motywacja Dystrybucja kluczy dla szyfrowania konwencjonalnego Zarządzanie kluczami dla szyfrowania asymetrycznego Certyfikaty cyfrowe Dystrybucja kluczy z użyciem szyfrowania asymetrycznego Algorytm Diffiego Hellmana Podsumowanie
4
Motywacja Wzrost zapotrzebowania na bezpieczne usługi informatyczne realizowane z wykorzystaniem kryptografii spowodował potrzebę opracowanie metod dystrybucji kluczy Podstawowym kryterium projektowania systemu dystrybucji kluczy powinno być bezpieczeństwo Z usług teleinformatycznych korzystają miliony użytkowników, więc system dystrybucji kluczy musi być skalowalny i działać online Dotychczas stosowane metody nie zapewniają odpowiedniego bezpieczeństwa, skalowalności i szybkości działania
5
Jak bezpiecznie przesłać tajną informację (klucz) Poczta, usługi kurierski (ale jak sprawdzić czy ktoś nie otworzył przesyłki?) Telefon (możliwy podsłuch) Steganografia (trzeba ustalić wcześniej sposób kodowania) Przesyłanie wielu kluczy „na zapas” (dla wykorzystania na przyszłość) Wykorzystać istniejący szyfrowany kanał (ale jak zestawić taki kanał po raz pierwszy?)
6
Plan wykładu Motywacja Dystrybucja kluczy dla szyfrowania konwencjonalnego Zarządzanie kluczami dla szyfrowania asymetrycznego Certyfikaty cyfrowe Dystrybucja kluczy z użyciem szyfrowania asymetrycznego Algorytm Diffiego Hellmana Podsumowanie
7
Dystrybucja kluczy dla szyfrowania konwencjonalnego Dla szyfrowania konwencjonalnego, obie strony wymieniające informacje muszą posiadać ten sam, tajny klucz Dla komunikujących się stron A i B dystrybucja klucza może być realizowana na wiele sposobów: –Klucz jest tworzony przez A i fizycznie dostarczany do B –Strona trzecia tworzy klucz i fizycznie dostarcza do A i B –Jedna ze stron przekazuje drugiej klucz zaszyfrowany za pomocą poprzednio używanego klucza –Trzecia strona C, posiadające zaszyfrowane łącze z A i B, przekazuje zaszyfrowany klucz
8
Liczba kluczy Problem dystrybucji klucza powiązany jest z liczbą stron, która chce komunikować się bezpiecznie Dla N stron, liczba kluczy wynosi ((N(N-1))/2 Na przykład, dla 1000000 (10 6 ) stron liczba kluczy wynosi 100000000000 (10 11 ) Liczba kluczy rośnie, jeśli strony komunikują się na poziomie programów Korzystanie z centrum dystrybucji kluczy KDC (ang. Key Distribution Center) opiera się na stosowaniu hierarchii kluczy
9
Hierarchiczne zarządzanie kluczami Transmisja między użytkownikami końcowymi jest szyfrowana za pomocą klucza tymczasowego, nazywanego kluczem sesji Klucze sesji, otrzymywane z centrum dystrybucji kluczy, są przesyłane za pomocą klucza głównego, wspólnego dla centrali dystrybucji kluczy i użytkownika Dla bardzo dużych sieci można stworzyć hierarchię KDC Dla lokalnych podsieci lokalne KDC są odpowiedzialne za dystrybucję kluczy Jeśli dwaj użytkownicy, należący do różnych podsieci, potrzebują klucza sesji, to lokalne KDC łączą się z ogólnym KDC
10
Scentralizowana dystrybucja kluczy B A Żądanie||N 1 E KA [Ks||Żądanie||N 1 ||E KB (KS,ID A )] E KB [KS,ID A ] E KS [N 2 ] E KS [f(N 2 )] KS Każdy użytkownik ma klucz główny wspólny z centralą dystrybucji kluczy KDC Użytkownik A chce uzyskać klucz sesji dla połączenia z użytkownikiem B KDC
11
Scentralizowana dystrybucja kluczy 1.A rozpoczyna od wysłania żądania Z i identyfikatora jednorazowego N 1 2.KDC wysyła dane zaszyfrowane kluczem KA zawierające: klucz sesji KS, żądanie N 1, zaszyfrowane kluczem KB klucz sesji KS oraz identyfikator ID A 3.Następnie A przechowuje klucz sesji Ks i wysyła do B zaszyfrowany za pomocą KB klucz sesji KS oraz identyfikator ID A 4.Na końcu B wysyła do A identyfikator jednorazowy N 2 5.Wtedy A odpowiada przesłaniem f(N 2 ) (funkcji przekształcającej N 2 )
12
Zdecentralizowane zarządzanie kluczami B A Żądanie||N 1 E KM [Ks||Żądanie||N 1 ||ID B ||f(N 1 )] E KS [f(N 2 )] KS
13
Zdecentralizowane zarządzanie kluczami 1.A rozpoczyna od wysłania żądania Z i identyfikatora jednorazowego N1 2.B odpowiada wysyłaniem danych (zaszyfrowanych kluczem głównym KM) zawierających: klucz sesji Ks wybrany przez B, żądanie Z, identyfikator B, wartość f(N 1 ) oraz identyfikator jednorazowy N 1 3.A odpowiada przesłaniem f(N 2 ) (funkcji przekształcającej N 2 ) zaszyfrowane nowym kluczem sesji
14
Inne aspekty Czas używania klucza sesji – zbyt długie trwanie klucza sesji może obniżać bezpieczeństwo, zbyt krótkie trwanie klucza sesji może być niewygodne dla użytkownika Przeźroczysty system zarządzania kluczami – tak aby użytkownicy korzystając z bezpiecznej transmisji nie musieli zajmować się dystrybucją kluczy Zarządzanie stosowaniem kluczy – powinno ułatwiać i usprawniać bezpieczną dystrybucję kluczy
15
Plan wykładu Motywacja Dystrybucja kluczy dla szyfrowania konwencjonalnego Zarządzanie kluczami dla szyfrowania asymetrycznego Certyfikaty cyfrowe Dystrybucja kluczy z użyciem szyfrowania asymetrycznego Algorytm Diffiego Hellmana Podsumowanie
16
Zarządzanie kluczami dla szyfrowania asymetrycznego Dla szyfrowania asymetrycznego nie ma potrzeby dystrybucji kluczy prywatnych, które pozostają w posiadaniu i pod ochroną ich właściciela Należy jednak zapewnić dystrybucję kluczy jawnych Metody używane do dystrybucji kluczy jawnych można podzielić na następujące kategorie: –Publiczne ogłoszenie –Ogólnie dostępny katalog –Organ zarządzający kluczami jawnymi –Certyfikaty kluczy jawnych
17
Publiczne ogłaszanie kluczy jawnych Każdy użytkownik wysyła swój klucz jawny innym użytkownikom, którzy potrzebują tego klucza Zaletą tej metody jest prostota Główna wada to fakt, że ktoś może się podszyć pod użytkownika A, i podając się za niego rozpowszechnić sobie znany klucz jawny, wtedy może odczytywać zaszyfrowane dane przeznaczone dla A
18
Ogólnie dostępny katalog Za pomocą ogólnie dostępnego dynamicznego katalogu kluczy jawnych można zagwarantować większe bezpieczeństwo niż poprzez ogłaszanie kluczy jawnych Zarządzanie i dystrybucja kluczami można zlecić zaufanej jednostce lub organizacji Główna wada to możliwość kradzieży klucza prywatnego zarządzającego, co umożliwia publikowanie fałszywych kluczy jawnych
19
Ogólnie dostępny katalog Organ zarządzający utrzymuje katalog, w którym znajdują się pozycje {nazwa, klucz jawny} dla każdego uczestnika Każdy uczestnik rejestruje klucza jawny u zarządzającego katalogiem osobiście lub w formie uwierzytelnionego przekazu Uczestnik może w każdej chwili zmienić klucz na nowy Okresowo zarządzający publikuje (książka, czasopismo) cały katalog lub uaktualnia go Uczestnicy mają dostęp do katalogu także drogą elektroniczną za pomocą bezpiecznej, uwierzytelnionej komunikacji
20
Organ zarządzający kluczami jawnymi B A Żądanie||Czas 1 E KPC [KJB||Żądanie||Czas 1 ] E KJB [ID A,N 1 ] E KJA [N 1 ||N 2 ] E KJB [N 2 ] KJB KJA Organ zarządzający kluczami jawnymi może okazać się wąskim gardłem całego systemu C Żądanie||Czas 2 E KPC [KJA||Żądanie||Czas 2 ]
21
Plan wykładu Motywacja Dystrybucja kluczy dla szyfrowania konwencjonalnego Zarządzanie kluczami dla szyfrowania asymetrycznego Certyfikaty cyfrowe Dystrybucja kluczy z użyciem szyfrowania asymetrycznego Algorytm Diffiego Hellmana Podsumowanie
22
Certyfikaty kluczy jawnych B A KJA C A =E KPC [KJA||ID A ||Czas 1 ] CBCB CACA KJB KJA Certyfikaty są uzyskiwane na pewien okres czasu (np. 1 rok) więc obciążenie centrum certyfikatów jest niewielkie, gdyż użytkownicy wymieniają certyfikaty między sobą C KJB C B =E KPC [KJB||ID B ||Czas 2 ]
23
Standard X.509 X.509 to jedno z zaleceń CCITT definiujące usługę katalogowania RFC 3280 opisuje stosowanie certyfikatów X.509 w Internecie Katalog to serwer lub rozproszony zbiór serwerów, który prowadzi bazę danych o użytkownikach zawierającą nazwy użytkowników, ich adresy sieciowe oraz inne atrybuty X.509 definiuje ramy usług uwierzytelniania świadczonych użytkownikom przez katalog X.500 Katalog może służyć jako magazyn certyfikatów kluczy jawnych dla algorytmów asymetrycznych
24
Certyfikat klucza jawnego X.509 Certyfikat tworzy zaufana instytucja certyfikacyjna CA (ang. certification authority) Są one umieszczane w katalogu przez użytkownika lub przez CA Serwer katalogu nie odpowiada za tworzenie kluczy jawnych i ich certyfikację Zapewnia jedynie łatwo dostępne miejsce, z którego użytkownicy mogą pobrać certyfikaty Ceryfikaty X.509 są stosowane m.in. na potrzeby TLS (SSL), podpisu cyfrowego, systemu szyfrowania poczty PEM
25
Certyfikat TLS (SSL) TLS (ang. Transport Layer Security) poprzednio znany jako SSL ang. (Secure Sockets Layer) służy do realizacji bezpiecznych transmisji w Internecie TLS do dystrybucji kluczy stosuje ceryfikaty X.509 System jest oparty o grupę instytucji certyfikujących CA (ang. Certyfing Authorities), które opatrują swoim podpisem certyfikaty poszczególnych serwerów CA z założenia są godni zaufania, a uzyskanie podpisu wymaga przedstawienia szeregu dowodów tożsamości W ten sposób wchodząc na serwer legitymujący się certyfikatem jednego ze znanych CA mamy pewność, że serwer rzeczywiście jest tym za który się podaje
26
Składniki certyfikatu
27
Rodzaje certyfikatów Certyfikat CA. Zbiór informacji reprezentujących tożsamość danej instytucji certyfikującej. Obecność podpisu danego CA na certyfikacie serwera oznacza, że CA zaakceptował dowody przedstawione przez firmę występującą o podpis i swoim certyfikatem poświadcza autentyczność serwera Certyfikat serwera. Zbiór informacji reprezentujących tożsamość danego serwera. Certyfikat serwera musi być opatrzony podpisem CA Certyfikat osobisty. Znacznie mniej rozpowszechnione są certyfikaty klienta - firmy promujące używanie tego certyfikatu nazywają go "cyfrowym paszportem". Wraz z podpisem odpowiedniego CA pozwala potwierdzić Twoją tożsamość jako klienta
28
Rejestracja certyfikatu Certyfikat SSL rejestruje się zawsze na określoną nazwę domeny (np. www.abc.pl) Zawiera on informacje o właścicielu certyfikatu, jego adresie itp Danych tych nie można zmienić bez powtórnej rejestracji nowego certyfikatu Dzięki skrupulatnej procedurze uwierzytelnienia przyszłego właściciela certyfikatu podczas jego zakupu, przyszły klient wchodzący przez SSL na stronę sklepu www.abc.pl ma pewność, że jego właścicielem jest firma ABC oraz że podany na stronie adres i dane kontaktowe są prawdziwe
29
Ścieżka cerytfikacji Certyfikaty najbardziej znanych CA są wbudowane w większość przeglądarek (np. VeriSign), kolejne certyfikaty w hierarchii są podpisywane przez nadrzędne certyfikaty co gwarantuje ich poprawność
30
Własny CA Istnieje możliwość wystawienia certyfikatu samemu sobie, z pominięciem CA, jednak certyfikat taki będący nie podpisany przez CA, będzie niegodny zaufania Stosuje się jednak tę możliwość w sytuacji, gdy chcemy posiadać certyfikaty dla kilku obiektów w naszym systemie Instalowany jest własny urząd certyfikujący, którego zadaniem będzie poświadczanie lokalnych certyfikatów Sam urząd zaś będzie legitymował się certyfikatem wystawionym przez CA W ten sposób tworzony jest łańcuch, na szczycie którego stoi zaufana instytucja Więc chociaż lokalne certyfikaty będą wystawione przez nas samych to dajemy użytkownikowi możliwość ich zweryfikowania
31
Weryfikacja certyfikatu Czy certyfikat jest ważny (czy dzisiejszy dzień jest w okresie ważności certyfikatu)? Czy CA wydające dany certyfikat jest zaufane? Czy klucz publiczny wydającego CA pasuje do podpisu cyfrowego certyfikatu? Czy adres domenowy podany w certyfikacie zgadza się z adresem w przeglądarce?
32
Ważność certyfikatu Ważność certyfikatu może wygasnąć w dwóch przypadkach: W momencie upływu jego terminu ważności Gdy certyfikat zostanie unieważniony z innych powodów przed datą wygaśnięcia ważności. Istnieje czasami konieczność anulowania certyfikatu ze względów bezpieczeństwa (np. w przypadku zmian personalnych w przedsiębiorstwie). W tym celu wykorzystuje się tak zwane listy unieważnień (ang. certificate revocation lists), które są przechowywane na serwerach wszystkich CA
33
Dane i dokumenty potrzebne do otrzymania certyfikatu Dane osoby kontaktowej na stanowisku decyzyjnym Dane osoby kontaktowej na stanowisku technicznym Pełny adres firmy, dla której jest kupowany certyfikat Dokumenty stwierdzające fakt rejestracji firmy pod podaną nazwą (wyciąg z ewidencji gospodarczej, REGON, NIP) Dowód rejestracji określonej domeny przez daną firmę Dane do certyfikatu - nazwę kraju, w którym jest zarejestrowana firma, nazwę województwa, nazwę firmy oraz nazwę domeny
34
Plan wykładu Motywacja Dystrybucja kluczy dla szyfrowania konwencjonalnego Zarządzanie kluczami dla szyfrowania asymetrycznego Certyfikaty cyfrowe Dystrybucja kluczy z użyciem szyfrowania asymetrycznego Algorytm Diffiego Hellmana Podsumowanie
35
Dystrybucja kluczy z użyciem szyfrowania asymetrycznego Ponieważ szyfrowanie z kluczem jawnym (np. RSA) działa wolno, rzadko stosuje się tą metodę do szyfrowania całego przesyłanego tekstu jawnego Jednak szyfrowanie z kluczem jawnym można wykorzystać do efektywnej i bezpiecznej dystrybucji klucza szyfrowania konwencjonalnego (klucza sesji) W tym celu wykorzystywany jest klucz publiczny odbiorcy w celu zaszyfrowania stworzonego przez nadawcy klucza sesji
36
Prosta dystrybucja kluczy B A [KJA||ID A ]E KJA [Ks] KS
37
Prosta dystrybucja kluczy Protokół jest narażony na atak aktywny realizowany przez użytkownika C mającego dostęp do sieci i mogącego przechwycić i zmienić komunikaty B A E KJC [Ks] KS C [KJC||ID A ] KS [KJA||ID A ] E KJA [Ks]
38
Prosta dystrybucja kluczy Użytkownik C, mający dostęp do kanału komunikującego może przechwycić komunikat od A z kluczem jawnym KJA i podać swój własny klucz jawny KJC wraz z identyfikatorem IDa To umożliwia mu przechwycenie i klucza zaszyfrowanego sesji KS i odszyfrowanie go Następnie może go przesłać do A, szyfrując go za pomocą KJA W rezultacie strony A i B znają klucz sesji Ks nie wiedząc, że poznał go również C, który może teraz podsłuchiwać szyfrowaną transmisję między A i B
39
Dystrybucja kluczy z zapewnieniem poufności i uwierzytelnieni Użytkownicy A i B po wymianie kluczy jawnych dokonują operacji dla zabezpieczenia przed atakami aktywnymi i pasywnymi B A E KJB [N 1 ||ID A ] E KJA [N 1 ||N 2 ] KJB KJA E KJB [N 2 ]E KJB [E KJA [Ks]] KS
40
Plan wykładu Motywacja Dystrybucja kluczy dla szyfrowania konwencjonalnego Zarządzanie kluczami dla szyfrowania asymetrycznego Certyfikaty cyfrowe Dystrybucja kluczy z użyciem szyfrowania asymetrycznego Algorytm Diffiego Hellmana Podsumowanie
41
Algorytm Diffiego-Hellmana Algorytm wymiany kluczy Diffiego-Hellmana opracowali w 1976 roku Whitfield Diffie i Martin Hellman Jest to pierwszy algorytm, który stosuje metodę wspólnego sekretu (ang. shared secret) Celem algorytmu opracowanego przez Diffiego i Hellmana jest umożliwienie bezpiecznej wymiany klucza potrzebnego do szyfrowania kolejnych komunikatów Algorytm wykorzystuje pewne właściwości liczby pierwszych i teorii liczb
42
Logarytm dyskretny Pierwiastek liczby pierwszej p, to taka liczba, która podniesiona po kolei do potęgi od 1 do (p-1) da przy dzieleniu przez p reszty od 1 do (p-1) To znaczy, że liczby a mod p, a 2 mod p,…, a (p–1) mod p są liczbami całkowitymi od 1 do (p-1) w pewnej permutacji Dla dowolnej liczby całkowitej b i pierwiastka a liczby pierwszej p można znaleźć wykładnik i taki, że b = a i mod p gdzie 0 i (p – 1) Wykładnik i to logarytm dyskretny Wyznaczenie i znając b, a oraz p jest bardzo trudne dla dużych liczb
43
Algorytm Diffiego-Hellmana Globalne elementy jawny qliczba pierwsza <q, jest pierwiastkiem q Generowanie klucza użytkownika i Wybór prywatnego X i <q Wybór jawnego Y i = Xi mod q Generowanie klucza użytkownika j Wybór prywatnego X j <q Wybór jawnego Y j = Xj mod q
44
Algorytm Diffiego-Hellmana Użytkownicy wymieniają między sobą jawne liczby Y i oraz Y j Następnie na tej podstawie mogą obliczyć ten sam klucz K według zasad teorii liczb Generowanie klucza tajnego przez użytkownika i K = (Y j ) Xi mod q Generowanie klucza tajnego przez użytkownika j K = (Y i ) Xj mod q Klucz K jest w posiadaniu obydwu stron pomimo, że nie został on nigdy przesłany w całości
45
Przykład Alicja i Bogdan uzgadniają, że będą używać liczby pierwszej q=23 i bazy =5 Alicja wybiera tajną liczbę X a =6, następnie wysyła Bogdanowi liczbę 8=5 6 mod 23 (Y a = Xa mod q) Bogdan wybiera tajną liczbę X b =15, następnie wysyła Alicji 19=5 15 mod 23 (Y b = Xb mod q) Alicja oblicza klucz 2=19 6 mod 23 (K =(Y b ) Xa mod q) Bogdan oblicza 2=8 15 mod 23 (K =(Y a ) Xb mod q) Alicja i Bogdan mają ten sam klucz
46
Plan wykładu Motywacja Dystrybucja kluczy dla szyfrowania konwencjonalnego Zarządzanie kluczami dla szyfrowania asymetrycznego Certyfikaty cyfrowe Dystrybucja kluczy z użyciem szyfrowania asymetrycznego Algorytm Diffiego Hellmana Podsumowanie
47
Efektywne i bezpieczne systemy dystrybucji kluczy są niezbędne do stworzenie bezpiecznych usług sieciowych działających online Kryptografia asymetryczna zaimplementowana w postaci certyfikatów cyfrowych jest najbardziej popularnym sposobem dystrybucji kluczy (np. TLS (SSL)) Efektywnym mechanizmem dystrybucji kluczy jest również algorytm Diffiego Hellmana wykorzystujący koncepcję podobną do szyfrowania asymetrycznego
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.