Sieci komputerowe Wykład 9: Elementy kryptografii Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe (II UWr) Wykład 9 1 / 32
Do tej pory chcieliśmy komunikować się efektywnie, teraz chcemy komunikować się też bezpiecznie. Sieci komputerowe (II UWr) Wykład 9 2 / 32
Spis treści 1 Szyfrowanie Szyfrowanie symetryczne Szyfrowanie asymetryczne 2 Uwierzytelnianie 3 Certyfikaty Sieci komputerowe (II UWr) Wykład 9 3 / 32
Co to właściwie jest bezpieczna komunikacja? Alicja Bob niezabezpieczony kanal dane Pożadane cechy: Poufność (tylko Alicja i Bob wiedza, co jest przesyłane) Uwierzytelnianie (potwierdzanie tożsamości partnera) Sieci komputerowe (II UWr) Wykład 9 4 / 32
Co to właściwie jest bezpieczna komunikacja? Alicja Bob niezabezpieczony kanal dane Pożadane cechy: Poufność (tylko Alicja i Bob wiedza, co jest przesyłane) Uwierzytelnianie (potwierdzanie tożsamości partnera) Sieci komputerowe (II UWr) Wykład 9 4 / 32
Alicja i Bob? Posługujemy się przykładem Alicji i Boba. Reprezentuje to: komunikację między dwoma osobami komunikację między fizyczna osoba a serwerem/usługa (np. bankiem) komunikację między dwiema usługami (np. wymieniajacymi tablice routingu) Sieci komputerowe (II UWr) Wykład 9 5 / 32
Szyfrowanie Poufność Sieci komputerowe (II UWr) Wykład 9 6 / 32
Szyfrowanie Jak osiagn ać poufność? Alicja Bob niezabezpieczony kanal dane Szyfrować! Alicja ma do wysłania tekst jawny m. Alicja oblicza i wysyła szyfrogram s = E(m). Bob zna funkcję D = E 1 i oblicza: D(s) = E 1 (E(m)) = m. Sieci komputerowe (II UWr) Wykład 9 7 / 32
Szyfrowanie Szyfry monoalfabetyczne (podstawieniowe) Szyfry monoalfabetyczne Funkcja E operuje na pojedynczych literach, przykładowo E zmienia literę a na d, b na h itd. Stosowane już w czasach Juliusza Cezara (wtedy E(a) = (a + 3) mod 26). Jak adwersarz może złamać taki szyfr? Sieci komputerowe (II UWr) Wykład 9 8 / 32
Szyfrowanie Szyfry monoalfabetyczne (podstawieniowe) Szyfry monoalfabetyczne Funkcja E operuje na pojedynczych literach, przykładowo E zmienia literę a na d, b na h itd. Stosowane już w czasach Juliusza Cezara (wtedy E(a) = (a + 3) mod 26). Jak adwersarz może złamać taki szyfr? To zależy od tego, co adwersarz (czyli świnia) potrafi! Alicja Bob niezabezpieczony kanal dane Sieci komputerowe (II UWr) Wykład 9 8 / 32
Szyfrowanie Szyfry monoalfabetyczne, cd. Alicja niezabezpieczony kanal dane Bob Jak zgadnać E (typy ataków): Atak z wybranym tekstem jawnym: świnia potrafi zmusić Alicję, żeby wysłała wybrany przez świnię tekst. Przykładowo: Pchnąć w tę łódź jeża lub ośm skrzyń fig. Atak ze znanym tekstem jawnym: świnia potrafi podgladn ać kilka par (tekst jawny, szyfrogram). Atak ze znanym szyfrogramem: Świnia ma tylko dostęp do kanału, widzi szyfrogramy analiza statystyczna. Sieci komputerowe (II UWr) Wykład 9 9 / 32
Szyfrowanie Szyfry monoalfabetyczne, cd. Alicja niezabezpieczony kanal dane Bob Jak zgadnać E (typy ataków): Atak z wybranym tekstem jawnym: świnia potrafi zmusić Alicję, żeby wysłała wybrany przez świnię tekst. Przykładowo: Pchnąć w tę łódź jeża lub ośm skrzyń fig. Atak ze znanym tekstem jawnym: świnia potrafi podgladn ać kilka par (tekst jawny, szyfrogram). Atak ze znanym szyfrogramem: Świnia ma tylko dostęp do kanału, widzi szyfrogramy analiza statystyczna. Sieci komputerowe (II UWr) Wykład 9 9 / 32
Szyfrowanie Szyfry monoalfabetyczne, cd. Alicja niezabezpieczony kanal dane Bob Jak zgadnać E (typy ataków): Atak z wybranym tekstem jawnym: świnia potrafi zmusić Alicję, żeby wysłała wybrany przez świnię tekst. Przykładowo: Pchnąć w tę łódź jeża lub ośm skrzyń fig. Atak ze znanym tekstem jawnym: świnia potrafi podgladn ać kilka par (tekst jawny, szyfrogram). Atak ze znanym szyfrogramem: Świnia ma tylko dostęp do kanału, widzi szyfrogramy analiza statystyczna. Sieci komputerowe (II UWr) Wykład 9 9 / 32
Szyfrowanie Szyfry monoalfabetyczne, cd. Alicja niezabezpieczony kanal dane Bob Jak zgadnać E (typy ataków): W każdym przypadku: te szyfry sa trywialne do złamania. Główne zastosowanie praktyczne: ROT-13. Atak z wybranym tekstem jawnym: świnia potrafi zmusić Alicję, żeby wysłała wybrany przez świnię tekst. Przykładowo: Pchnąć w tę łódź jeża lub ośm skrzyń fig. Atak ze znanym tekstem jawnym: świnia potrafi podgladn ać kilka par (tekst jawny, szyfrogram). Atak ze znanym szyfrogramem: Świnia ma tylko dostęp do kanału, widzi szyfrogramy analiza statystyczna. Sieci komputerowe (II UWr) Wykład 9 9 / 32
Szyfrowanie Szyfrowanie symetryczne Szyfrowanie symetryczne Szyfrowanie symetryczne Alicja i Bob ustalaja pewien wspólny klucz K. Szyfrogram E K (m) jest funkcja tekstu jawnego m i klucza K. Algorytm obliczajacy E (np. DES lub AES) jest znany wszystkim! Istnieje funkcja deszyfrujaca D = E 1 korzystajaca z klucza, taka że D K (E K (m)) = m. Symetryczność = ten sam klucz jest używany do szyfrowania i deszyfrowania s = E K (m) oblicza D K (s) = m Sieci komputerowe (II UWr) Wykład 9 10 / 32
Szyfrowanie Szyfrowanie symetryczne, cd. Szyfrowanie symetryczne Szyfrowanie symetryczne, cd. Algorytm E to zazwyczaj złożenie wielu odwracalnych operacji bitowych (xor, przesunięcia itp) Algorytm D to te odwrotności tych operacji wykonane w odwrotnej kolejności. Funkcje E i D sa szybko obliczalne. Siła kryptograficzna algorytmu zależy głównie od długości klucza (56 bitów w przypadku DES, 128 256 dla AES). Sieci komputerowe (II UWr) Wykład 9 11 / 32
Szyfrowanie Diabeł tkwi w szczegółach Szyfrowanie symetryczne One-Time Pad Szyfrowanie z kluczem symetrycznym. E K (m) = m xor K (klucz musi być co najmniej tak długi jak tekst jawny) Jak bezpieczne jest to szyfrowanie? Matematycznie: na podstawie samego szyfrogramu niemożliwy do złamania (nie dostajemy żadnej informacji poza długościa tekstu) Ale: trywialne odzyskiwanie klucza jeśli znamy tekst jawny! Sieci komputerowe (II UWr) Wykład 9 12 / 32
Szyfrowanie Diabeł tkwi w szczegółach Szyfrowanie symetryczne One-Time Pad Szyfrowanie z kluczem symetrycznym. E K (m) = m xor K (klucz musi być co najmniej tak długi jak tekst jawny) Jak bezpieczne jest to szyfrowanie? Matematycznie: na podstawie samego szyfrogramu niemożliwy do złamania (nie dostajemy żadnej informacji poza długościa tekstu) Ale: trywialne odzyskiwanie klucza jeśli znamy tekst jawny! Sieci komputerowe (II UWr) Wykład 9 12 / 32
Szyfrowanie Diabeł tkwi w szczegółach Szyfrowanie symetryczne One-Time Pad Szyfrowanie z kluczem symetrycznym. E K (m) = m xor K (klucz musi być co najmniej tak długi jak tekst jawny) Jak bezpieczne jest to szyfrowanie? Matematycznie: na podstawie samego szyfrogramu niemożliwy do złamania (nie dostajemy żadnej informacji poza długościa tekstu) Ale: trywialne odzyskiwanie klucza jeśli znamy tekst jawny! Sieci komputerowe (II UWr) Wykład 9 12 / 32
Szyfrowanie Szyfrowanie symetryczne Szyfrowanie symetryczne Główny problem: jak ustalić wspólny klucz K? Rozwiazanie: przesłać innym, zabezpieczonym kanałem (zazwyczaj niepraktyczne / drogie) Lepiej zastosować inne podejście: szyfrowanie asymetryczne (do przesyłania klucza lub całej wiadomości) Sieci komputerowe (II UWr) Wykład 9 13 / 32
Szyfrowanie Szyfrowanie symetryczne Szyfrowanie symetryczne Główny problem: jak ustalić wspólny klucz K? Rozwiazanie: przesłać innym, zabezpieczonym kanałem (zazwyczaj niepraktyczne / drogie) Lepiej zastosować inne podejście: szyfrowanie asymetryczne (do przesyłania klucza lub całej wiadomości) Sieci komputerowe (II UWr) Wykład 9 13 / 32
Szyfrowanie Szyfrowanie asymetryczne Szyfrowanie asymetryczne, założenia Bob ma dwa klucze klucz publiczny e (na stronie WWW) klucz prywatny d (w sejfie) Istnieje algorytm szyfrujacy E i deszyfrujacy D taki, że dla dowolnej wiadomości m zachodzi D d (E e (m)) = m. s = E e (m) zna: e, m zna: (e, d) oblicza: D d (s) = m podsluchuje: e, s m i d sa trudno obliczalne na podstawie s = E e (m) i e! Sieci komputerowe (II UWr) Wykład 9 14 / 32
Efekt Szyfrowanie Szyfrowanie asymetryczne Każdy może wysłać wiadomość do Boba, ale odczytać może ja tylko Bob. Czy takie szyfrowanie jest w ogóle możliwe do zrealizowania? Tak! Idea: pewne odwracalne operacje sa łatwiejsze do wykonania niż ich odwrotności (np. mnożenie liczb pierwszych kontra rozkład na czynniki pierwsze). Przykładowy algorytm: RSA notatki. Uwaga: W przypadku one-time pad mamy bezpieczeństwo teorioinformacyjne (nie da się odczytać szyfrogramu), tutaj mamy bezpieczeństwo kryptograficzne (odczytanie jest bardzo trudne obliczeniowo). Sieci komputerowe (II UWr) Wykład 9 15 / 32
Efekt Szyfrowanie Szyfrowanie asymetryczne Każdy może wysłać wiadomość do Boba, ale odczytać może ja tylko Bob. Czy takie szyfrowanie jest w ogóle możliwe do zrealizowania? Tak! Idea: pewne odwracalne operacje sa łatwiejsze do wykonania niż ich odwrotności (np. mnożenie liczb pierwszych kontra rozkład na czynniki pierwsze). Przykładowy algorytm: RSA notatki. Uwaga: W przypadku one-time pad mamy bezpieczeństwo teorioinformacyjne (nie da się odczytać szyfrogramu), tutaj mamy bezpieczeństwo kryptograficzne (odczytanie jest bardzo trudne obliczeniowo). Sieci komputerowe (II UWr) Wykład 9 15 / 32
Efekt Szyfrowanie Szyfrowanie asymetryczne Każdy może wysłać wiadomość do Boba, ale odczytać może ja tylko Bob. Czy takie szyfrowanie jest w ogóle możliwe do zrealizowania? Tak! Idea: pewne odwracalne operacje sa łatwiejsze do wykonania niż ich odwrotności (np. mnożenie liczb pierwszych kontra rozkład na czynniki pierwsze). Przykładowy algorytm: RSA notatki. Uwaga: W przypadku one-time pad mamy bezpieczeństwo teorioinformacyjne (nie da się odczytać szyfrogramu), tutaj mamy bezpieczeństwo kryptograficzne (odczytanie jest bardzo trudne obliczeniowo). Sieci komputerowe (II UWr) Wykład 9 15 / 32
Efekt Szyfrowanie Szyfrowanie asymetryczne Każdy może wysłać wiadomość do Boba, ale odczytać może ja tylko Bob. Czy takie szyfrowanie jest w ogóle możliwe do zrealizowania? Tak! Idea: pewne odwracalne operacje sa łatwiejsze do wykonania niż ich odwrotności (np. mnożenie liczb pierwszych kontra rozkład na czynniki pierwsze). Przykładowy algorytm: RSA notatki. Uwaga: W przypadku one-time pad mamy bezpieczeństwo teorioinformacyjne (nie da się odczytać szyfrogramu), tutaj mamy bezpieczeństwo kryptograficzne (odczytanie jest bardzo trudne obliczeniowo). Sieci komputerowe (II UWr) Wykład 9 15 / 32
Problemy (1) Szyfrowanie Szyfrowanie asymetryczne Problem z szyfrowaniem symetrycznym Jak ustalić wspólny klucz? Sieci komputerowe (II UWr) Wykład 9 16 / 32
Problemy (2) Szyfrowanie Szyfrowanie asymetryczne Problem z szyfrowaniem asymetrycznym Sieci komputerowe (II UWr) Wykład 9 17 / 32
Problemy (2), cd. Szyfrowanie Szyfrowanie asymetryczne Problem z szyfrowaniem asymetrycznym Skad wiemy, że klucz publiczny Boba faktycznie do niego należy? Sieci komputerowe (II UWr) Wykład 9 18 / 32
Problemy (2), cd. Szyfrowanie Szyfrowanie asymetryczne Problem z szyfrowaniem asymetrycznym Skad wiemy, że klucz publiczny Boba faktycznie do niego należy? Scenariusz 1: Alicja spotyka się fizycznie z Bobem i dostaje od niego klucz publiczny. Ale kontakt fizyczny = możliwość ustalenia klucza symetrycznego; po co zawracać sobie głowę kryptografia asymetryczna? Sieci komputerowe (II UWr) Wykład 9 18 / 32
Problemy (2), cd. Szyfrowanie Szyfrowanie asymetryczne Problem z szyfrowaniem asymetrycznym Skad wiemy, że klucz publiczny Boba faktycznie do niego należy? Scenariusz 2: Bob wysyła na poczatku komunikacji Jestem Bob, mój klucz publiczny to b. Problem: To ja, Bob. Moj klucz publiczny to s Sieci komputerowe (II UWr) Wykład 9 18 / 32
Problemy (2), cd. Szyfrowanie Szyfrowanie asymetryczne Problem z szyfrowaniem asymetrycznym Skad wiemy, że klucz publiczny Boba faktycznie do niego należy? Scenariusz 3: Bob umieszcza swój klucz publiczny na swojej stronie WWW. Prawie dobrze, pod warunkiem, że świnia nie włamie się na stronę WWW i nie podmieni klucza! Sieci komputerowe (II UWr) Wykład 9 18 / 32
Problemy (2), cd. Szyfrowanie Szyfrowanie asymetryczne Problem z szyfrowaniem asymetrycznym Skad wiemy, że klucz publiczny Boba faktycznie do niego należy? Rozwiazanie: Certyfikaty. O certyfikatach za chwilę. Sieci komputerowe (II UWr) Wykład 9 18 / 32
Uwierzytelnianie Uwierzytelnianie Sieci komputerowe (II UWr) Wykład 9 19 / 32
Uwierzytelnianie Normalny scenariusz Założenia Alicja zna klucz publiczny Boba. jeszcze nie wiemy jak to zapewnić w sensowny sposób! Alicja wysyła wiadomość do Boba zaszyfrowana jego kluczem publicznym. Co wiedza poszczególne osoby? Bob nie musi się uwierzytelniać, bo jeśli Alicja wysyła wiadomość zaszyfrowana kluczem publicznym Boba to i tak może ja przeczytać tylko Bob. Ale Bob nie wie, kto tak naprawdę wysłał wiadomość! Sieci komputerowe (II UWr) Wykład 9 20 / 32
Uwierzytelnianie Normalny scenariusz Założenia Alicja zna klucz publiczny Boba. jeszcze nie wiemy jak to zapewnić w sensowny sposób! Alicja wysyła wiadomość do Boba zaszyfrowana jego kluczem publicznym. Co wiedza poszczególne osoby? Bob nie musi się uwierzytelniać, bo jeśli Alicja wysyła wiadomość zaszyfrowana kluczem publicznym Boba to i tak może ja przeczytać tylko Bob. Ale Bob nie wie, kto tak naprawdę wysłał wiadomość! Sieci komputerowe (II UWr) Wykład 9 20 / 32
Uwierzytelnianie Normalny scenariusz Założenia Alicja zna klucz publiczny Boba. jeszcze nie wiemy jak to zapewnić w sensowny sposób! Alicja wysyła wiadomość do Boba zaszyfrowana jego kluczem publicznym. Co wiedza poszczególne osoby? Bob nie musi się uwierzytelniać, bo jeśli Alicja wysyła wiadomość zaszyfrowana kluczem publicznym Boba to i tak może ja przeczytać tylko Bob. Ale Bob nie wie, kto tak naprawdę wysłał wiadomość! To ja, Alicja. Oto wiadomosc... Sieci komputerowe (II UWr) Wykład 9 20 / 32
Uwierzytelnianie Normalny scenariusz Założenia Alicja zna klucz publiczny Boba. jeszcze nie wiemy jak to zapewnić w sensowny sposób! Alicja wysyła wiadomość do Boba zaszyfrowana jego kluczem publicznym. Co wiedza poszczególne osoby? Bob nie musi się uwierzytelniać, bo jeśli Alicja wysyła wiadomość zaszyfrowana kluczem publicznym Boba to i tak może ja przeczytać tylko Bob. Ale Bob nie wie, kto tak naprawdę wysłał wiadomość! Uwaga na marginesie: w przypadku szyfrowania symetrycznego nie mamy tego problemu, bo Alicja udowadnia swoja tożsamość znajomościa klucza (który jest znany przecież tylko Alicji i Bobowi). Sieci komputerowe (II UWr) Wykład 9 20 / 32
Uwierzytelnianie Wróćmy do algorytmu RSA Funkcje D i E sa takie same. Klucz prywatny d można zamienić miejscami z publicznym e, tj. dla każdego tekstu m zachodzi nie tylko D d (E e (m)) = m, ale również D e (E d (m)) = m. E d (m) nazywamy podpisem cyfrowym tekstu m. To nie do końca prawda, ale nie będziemy się tym tutaj przejmować. Tylko posiadacz klucza prywatnego d jest w stanie tak podpisać m, ale zweryfikować taki podpis może każdy, kto posiada klucz publiczny e! Jak wykorzystać to w uwierzytelnianiu? Sieci komputerowe (II UWr) Wykład 9 21 / 32
Uwierzytelnianie Wróćmy do algorytmu RSA Funkcje D i E sa takie same. Klucz prywatny d można zamienić miejscami z publicznym e, tj. dla każdego tekstu m zachodzi nie tylko D d (E e (m)) = m, ale również D e (E d (m)) = m. E d (m) nazywamy podpisem cyfrowym tekstu m. To nie do końca prawda, ale nie będziemy się tym tutaj przejmować. Tylko posiadacz klucza prywatnego d jest w stanie tak podpisać m, ale zweryfikować taki podpis może każdy, kto posiada klucz publiczny e! Jak wykorzystać to w uwierzytelnianiu? Sieci komputerowe (II UWr) Wykład 9 21 / 32
Uwierzytelnianie Wróćmy do algorytmu RSA Funkcje D i E sa takie same. Klucz prywatny d można zamienić miejscami z publicznym e, tj. dla każdego tekstu m zachodzi nie tylko D d (E e (m)) = m, ale również D e (E d (m)) = m. E d (m) nazywamy podpisem cyfrowym tekstu m. To nie do końca prawda, ale nie będziemy się tym tutaj przejmować. Tylko posiadacz klucza prywatnego d jest w stanie tak podpisać m, ale zweryfikować taki podpis może każdy, kto posiada klucz publiczny e! Jak wykorzystać to w uwierzytelnianiu? Sieci komputerowe (II UWr) Wykład 9 21 / 32
Złe rozwiazanie Uwierzytelnianie To ja, Alicja Wysylam X oraz Y = E d (X) klucz publiczny: e klucz prywatny: d zna: e = klucz publiczny Alicji Sprawdza, czy E e (Y ) = X Problem: Świnia może nagrać tę transmisję i odtworzyć później w komunikacji z Bobem (nie rozumiejac nawet co jest przesyłane)! Sieci komputerowe (II UWr) Wykład 9 22 / 32
Złe rozwiazanie Uwierzytelnianie To ja, Alicja Wysylam X oraz Y = E d (X) klucz publiczny: e klucz prywatny: d zna: e = klucz publiczny Alicji Sprawdza, czy E e (Y ) = X Problem: Świnia może nagrać tę transmisję i odtworzyć później w komunikacji z Bobem (nie rozumiejac nawet co jest przesyłane)! Sieci komputerowe (II UWr) Wykład 9 22 / 32
Uwierzytelnianie Uwierzytelnianie za pomoca podpisu cyfrowego To ja, Alicja X Y = E d (X) klucz publiczny: e klucz prywatny: d zna: e = klucz publiczny Alicji Sprawdza, czy E e (Y ) = X Bob wybiera unikatowe, wcześniej niewykorzystywane X Alicja udowadnia w ten sposób że jest posiadaczka klucza prywatnego pasujacego do klucza publicznego Alicji. Sieci komputerowe (II UWr) Wykład 9 23 / 32
Certyfikaty Skad wziać czyjś klucz publiczny? I przy szyfrowaniu i przy uwierzytelnianiu wszystko opiera się na znajomości klucza publicznego drugiej strony (tj. na wierze w zwiazek posiadanego klucza publicznego z fizyczna osoba, która znamy). Nie należy ufać kluczom publicznym znalezionym na stronach WWW! Jest pewien sens w ich umieszczaniu, ale i tak wymaga nawiazania kontaktu z fizyczna osoba + wykorzystania funkcji skrótu ( za tydzień). Sieci komputerowe (II UWr) Wykład 9 24 / 32
Certyfikaty Skad wziać czyjś klucz publiczny? I przy szyfrowaniu i przy uwierzytelnianiu wszystko opiera się na znajomości klucza publicznego drugiej strony (tj. na wierze w zwiazek posiadanego klucza publicznego z fizyczna osoba, która znamy). Nie należy ufać kluczom publicznym znalezionym na stronach WWW! Jest pewien sens w ich umieszczaniu, ale i tak wymaga nawiazania kontaktu z fizyczna osoba + wykorzystania funkcji skrótu ( za tydzień). Sieci komputerowe (II UWr) Wykład 9 24 / 32
Certyfikaty Certyfikaty Sieci komputerowe (II UWr) Wykład 9 25 / 32
Certyfikaty Certyfikaty Załóżmy, że mamy: Klucz publiczny pewnej instytucji C. Wiarę w to, że instytucja C świadomie wykorzystuje podpisy cyfrowe. Wiadomość klucz publiczny osoby G to g podpisana przez instytucję C. Na tej podstawie: Potrafimy zweryfikować, że to faktycznie C podpisała powyższa wiadomość. Ufamy osadowi instytucji C. A zatem wiadomość jest prawdziwa mamy klucz publiczny osoby G! Sieci komputerowe (II UWr) Wykład 9 26 / 32
Certyfikaty Certyfikaty Załóżmy, że mamy: Klucz publiczny pewnej instytucji C. Wiarę w to, że instytucja C świadomie wykorzystuje podpisy cyfrowe. Wiadomość klucz publiczny osoby G to g podpisana przez instytucję C. Na tej podstawie: Potrafimy zweryfikować, że to faktycznie C podpisała powyższa wiadomość. Ufamy osadowi instytucji C. A zatem wiadomość jest prawdziwa mamy klucz publiczny osoby G! Sieci komputerowe (II UWr) Wykład 9 26 / 32
Certyfikaty Certyfikaty Załóżmy, że mamy: Klucz publiczny pewnej instytucji C. Wiarę w to, że instytucja C świadomie wykorzystuje podpisy cyfrowe. Wiadomość klucz publiczny osoby G to g podpisana przez instytucję C. to jest certyfikat Na tej podstawie: Potrafimy zweryfikować, że to faktycznie C podpisała powyższa wiadomość. Ufamy osadowi instytucji C. A zatem wiadomość jest prawdziwa mamy klucz publiczny osoby G! Sieci komputerowe (II UWr) Wykład 9 26 / 32
Certyfikaty Urzędy certyfikujace (CA) Instytucje takie jak C nazywamy urzędami certyfikujacymi. Przegladarki WWW maja zaszyta listę kluczy publicznych kilkudziesięciu urzędów certyfikujacych prezentacja. Do bezpiecznej komunikacji z serwerami WWW służy protokół HTTPS = HTTP + SSL. SSL odpowiada za szyfrowanie i uwierzytelnianie. Sieci komputerowe (II UWr) Wykład 9 27 / 32
SSL Certyfikaty Przy łaczeniu z serwerem WWW z wykorzystaniem SSL: Serwer WWW wysyła certyfikat (klucz publiczny + dane o stronie) podpisany przez pewne CA. Przegladarka sprawdza, czy posiada klucz publiczny tego CA, jeśli tak to sprawdza prawdziwość podpisu CA na certyfikacie. Przegladarka sprawdza, czy dane o stronie opisuja tę stronę, z która zamierzamy się łaczyć. W tym momencie mamy uwierzytelniony serwer i możemy szyfrować wiadomości dla serwera WWW. Uwaga: W SSL zazwyczaj nie uwierzytelnia się użytkownika, choć jest to teoretycznie możliwe. Sieci komputerowe (II UWr) Wykład 9 28 / 32
SSL Certyfikaty Przy łaczeniu z serwerem WWW z wykorzystaniem SSL: Serwer WWW wysyła certyfikat (klucz publiczny + dane o stronie) podpisany przez pewne CA. Przegladarka sprawdza, czy posiada klucz publiczny tego CA, jeśli tak to sprawdza prawdziwość podpisu CA na certyfikacie. Przegladarka sprawdza, czy dane o stronie opisuja tę stronę, z która zamierzamy się łaczyć. W tym momencie mamy uwierzytelniony serwer i możemy szyfrować wiadomości dla serwera WWW. Uwaga: W SSL zazwyczaj nie uwierzytelnia się użytkownika, choć jest to teoretycznie możliwe. Sieci komputerowe (II UWr) Wykład 9 28 / 32
SSL, certyfikaty Certyfikaty Certyfikaty zwykłe = zaświadczenie, że łaczymy się faktycznie z konkretna strona (zamknięta kłódka w Chrome) prezentacja Czy jeśli sklep internetowy blabla.org posługuje się takim certyfikatem, to należy podać mu numer karty kredytowej? To nie znaczy, że łaczymy się ze strona należac a do instytucji blabla! Certyfikaty rozszerzone = zaświadczenie, że łaczymy się ze strona danej instytucji (w Chrome: kłódka + nazwa instytucji) prezentacja Wadliwe certyfikaty, najczęściej firma X podpisuje sama dla siebie prezentacja Sieci komputerowe (II UWr) Wykład 9 29 / 32
SSL, certyfikaty Certyfikaty Certyfikaty zwykłe = zaświadczenie, że łaczymy się faktycznie z konkretna strona (zamknięta kłódka w Chrome) prezentacja Czy jeśli sklep internetowy blabla.org posługuje się takim certyfikatem, to należy podać mu numer karty kredytowej? To nie znaczy, że łaczymy się ze strona należac a do instytucji blabla! Certyfikaty rozszerzone = zaświadczenie, że łaczymy się ze strona danej instytucji (w Chrome: kłódka + nazwa instytucji) prezentacja Wadliwe certyfikaty, najczęściej firma X podpisuje sama dla siebie prezentacja Sieci komputerowe (II UWr) Wykład 9 29 / 32
SSL, certyfikaty Certyfikaty Certyfikaty zwykłe = zaświadczenie, że łaczymy się faktycznie z konkretna strona (zamknięta kłódka w Chrome) prezentacja Czy jeśli sklep internetowy blabla.org posługuje się takim certyfikatem, to należy podać mu numer karty kredytowej? To nie znaczy, że łaczymy się ze strona należac a do instytucji blabla! Certyfikaty rozszerzone = zaświadczenie, że łaczymy się ze strona danej instytucji (w Chrome: kłódka + nazwa instytucji) prezentacja Wadliwe certyfikaty, najczęściej firma X podpisuje sama dla siebie prezentacja Sieci komputerowe (II UWr) Wykład 9 29 / 32
Klucze sesji Certyfikaty Powiedzieliśmy: mamy uwierzytelniony serwer i możemy szyfrować wiadomości dla serwera WWW Problemy techniczne Serwer musi też jakoś szyfrować dane do nas. Moglibyśmy mu teraz wysłać swój klucz publiczny... Podstawowy problem: szyfrowanie asymetryczne jest nieefektywne (RSA jest ok. 1000 razy wolniejszy niż AES) Rozwiazanie: 1 przegladarka generuje symetryczny klucz sesji; 2 przegladarka szyfruje go kluczem publicznym serwera WWW i wysyła do serwera WWW; 3 dalsza komunikacja jest szyfrowana kluczem sesji. Sieci komputerowe (II UWr) Wykład 9 30 / 32
Uwagi końcowe SSL można uważać za dodatkowa warstwę pomiędzy transportowa i aplikacji (tak, wydzielenie warstwy prezentacji w ISO OSI ma jakiś sens!) SSL może być też wykorzystywany np. przy odbieraniu i wysyłaniu poczty. Kryptografia asymetryczna jest wykorzystywana m.in. przy wysyłaniu wiadomości email (PGP) i pracy zdalnej (SSH) ( za tydzień). Sieci komputerowe (II UWr) Wykład 9 31 / 32
Lektura dodatkowa Kurose, Ross: rozdział 8.1 8.3, 8.5 Tanenbaum: rozdział 8.1 8.5 Sieci komputerowe (II UWr) Wykład 9 32 / 32