Sieci komputerowe - Wykład 9: Elementy kryptografii
Transkrypt
Sieci komputerowe - Wykład 9: Elementy kryptografii
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ć sie˛ efektywnie, teraz chcemy komunikować sie˛ 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 sie˛ przykładem Alicji i Boba. Reprezentuje to: komunikacje˛ miedzy ˛ dwoma osobami komunikacje˛ miedzy ˛ fizyczna˛ osoba˛ a serwerem/usługa˛ (np. bankiem) komunikacje˛ miedzy ˛ 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 funkcje˛ 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 litere˛ 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 litere˛ 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 Bob niezabezpieczony kanal dane Jak zgadna˛ć E (typy ataków): Atak z wybranym tekstem jawnym: świnia potrafi zmusić Alicje, ˛ żeby wysłała wybrany przez świnie˛ tekst. Przykładowo: „Pchnać ˛ w t˛ e łó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 dostep ˛ do kanału, widzi szyfrogramy → analiza statystyczna. Sieci komputerowe (II UWr) Wykład 9 9 / 32 Szyfrowanie Szyfry monoalfabetyczne, cd. Alicja Bob niezabezpieczony kanal dane Jak zgadna˛ć E (typy ataków): Atak z wybranym tekstem jawnym: świnia potrafi zmusić Alicje, ˛ żeby wysłała wybrany przez świnie˛ tekst. Przykładowo: „Pchnać ˛ w t˛ e łó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 dostep ˛ do kanału, widzi szyfrogramy → analiza statystyczna. Sieci komputerowe (II UWr) Wykład 9 9 / 32 Szyfrowanie Szyfry monoalfabetyczne, cd. Alicja Bob niezabezpieczony kanal dane Jak zgadna˛ć E (typy ataków): Atak z wybranym tekstem jawnym: świnia potrafi zmusić Alicje, ˛ żeby wysłała wybrany przez świnie˛ tekst. Przykładowo: „Pchnać ˛ w t˛ e łó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 dostep ˛ do kanału, widzi szyfrogramy → analiza statystyczna. Sieci komputerowe (II UWr) Wykład 9 9 / 32 Szyfrowanie Szyfry monoalfabetyczne, cd. Alicja W każdym przypadku: te szyfry sa˛ trywialne do złamania. Bob niezabezpieczony kanal dane Główne zastosowanie praktyczne: ROT-13. Jak zgadna˛ć E (typy ataków): Atak z wybranym tekstem jawnym: świnia potrafi zmusić Alicje, ˛ żeby wysłała wybrany przez świnie˛ tekst. Przykładowo: „Pchnać ˛ w t˛ e łó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 dostep ˛ 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 EK (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 DK (EK (m)) = m. Symetryczność = ten sam klucz jest używany do szyfrowania i deszyfrowania s = EK (m) oblicza DK (s) = m Sieci komputerowe (II UWr) Wykład 9 10 / 32 Szyfrowanie Szyfrowanie symetryczne Szyfrowanie symetryczne, cd. Szyfrowanie symetryczne, cd. Algorytm E to zazwyczaj złożenie wielu odwracalnych operacji bitowych (xor, przesuniecia ˛ 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 Szyfrowanie symetryczne Diabeł tkwi w szczegółach One-Time Pad Szyfrowanie z kluczem symetrycznym. EK (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 Diabeł tkwi w szczegółach One-Time Pad Szyfrowanie z kluczem symetrycznym. EK (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 Diabeł tkwi w szczegółach One-Time Pad Szyfrowanie z kluczem symetrycznym. EK (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 Dd (Ee (m)) = m . s = Ee(m) zna: e, m zna: (e, d) oblicza: Dd(s) = m podsluchuje: e, s m i d sa˛ trudno obliczalne na podstawie s = Ee (m) i e ! Sieci komputerowe (II UWr) Wykład 9 14 / 32 Szyfrowanie Szyfrowanie asymetryczne Efekt 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 sie˛ odczytać szyfrogramu), tutaj mamy bezpieczeństwo kryptograficzne (odczytanie jest bardzo trudne obliczeniowo). Sieci komputerowe (II UWr) Wykład 9 15 / 32 Szyfrowanie Szyfrowanie asymetryczne Efekt 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 sie˛ odczytać szyfrogramu), tutaj mamy bezpieczeństwo kryptograficzne (odczytanie jest bardzo trudne obliczeniowo). Sieci komputerowe (II UWr) Wykład 9 15 / 32 Szyfrowanie Szyfrowanie asymetryczne Efekt 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 sie˛ odczytać szyfrogramu), tutaj mamy bezpieczeństwo kryptograficzne (odczytanie jest bardzo trudne obliczeniowo). Sieci komputerowe (II UWr) Wykład 9 15 / 32 Szyfrowanie Szyfrowanie asymetryczne Efekt 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 sie˛ odczytać szyfrogramu), tutaj mamy bezpieczeństwo kryptograficzne (odczytanie jest bardzo trudne obliczeniowo). Sieci komputerowe (II UWr) Wykład 9 15 / 32 Szyfrowanie Szyfrowanie asymetryczne Problemy (1) Problem z szyfrowaniem symetrycznym Jak ustalić wspólny klucz? Sieci komputerowe (II UWr) Wykład 9 16 / 32 Szyfrowanie Szyfrowanie asymetryczne Problemy (2) Problem z szyfrowaniem asymetrycznym Sieci komputerowe (II UWr) Wykład 9 17 / 32 Szyfrowanie Szyfrowanie asymetryczne Problemy (2), cd. Problem z szyfrowaniem asymetrycznym Skad ˛ wiemy, że klucz publiczny Boba faktycznie do niego należy? Sieci komputerowe (II UWr) Wykład 9 18 / 32 Szyfrowanie Szyfrowanie asymetryczne Problemy (2), cd. Problem z szyfrowaniem asymetrycznym Skad ˛ wiemy, że klucz publiczny Boba faktycznie do niego należy? Scenariusz 1: Alicja spotyka sie˛ fizycznie z Bobem i dostaje od niego klucz publiczny. Ale kontakt fizyczny = możliwość ustalenia klucza symetrycznego; po co zawracać sobie głowe˛ kryptografia˛ asymetryczna? ˛ Sieci komputerowe (II UWr) Wykład 9 18 / 32 Szyfrowanie Szyfrowanie asymetryczne Problemy (2), cd. 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 Szyfrowanie Szyfrowanie asymetryczne Problemy (2), cd. 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 sie˛ na strone˛ WWW i nie podmieni klucza! Sieci komputerowe (II UWr) Wykład 9 18 / 32 Szyfrowanie Szyfrowanie asymetryczne Problemy (2), cd. Problem z szyfrowaniem asymetrycznym Skad ˛ wiemy, że klucz publiczny Boba faktycznie do niego należy? Rozwiazanie: ˛ Certyfikaty. O certyfikatach za chwile. ˛ 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 sie˛ 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 naprawde˛ 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 sie˛ 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 naprawde˛ 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 sie˛ 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 naprawde˛ 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 sie˛ 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 naprawde˛ 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 Dd (Ee (m)) = m , ale również De (Ed (m)) = m . Ed (m) nazywamy podpisem cyfrowym tekstu m . To nie do końca prawda, ale nie bedziemy ˛ sie˛ 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 Dd (Ee (m)) = m , ale również De (Ed (m)) = m . Ed (m) nazywamy podpisem cyfrowym tekstu m . To nie do końca prawda, ale nie bedziemy ˛ sie˛ 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 Dd (Ee (m)) = m , ale również De (Ed (m)) = m . Ed (m) nazywamy podpisem cyfrowym tekstu m . To nie do końca prawda, ale nie bedziemy ˛ sie˛ 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 Złe rozwiazanie ˛ To ja, Alicja Wysylam X oraz Y = Ed(X) klucz publiczny: e zna: e = klucz publiczny Alicji klucz prywatny: d Sprawdza, czy Ee(Y ) = X Problem: Świnia może nagrać te˛ transmisje˛ 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 Złe rozwiazanie ˛ To ja, Alicja Wysylam X oraz Y = Ed(X) klucz publiczny: e zna: e = klucz publiczny Alicji klucz prywatny: d Sprawdza, czy Ee(Y ) = X Problem: Świnia może nagrać te˛ transmisje˛ 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 = Ed(X) klucz publiczny: e zna: e = klucz publiczny Alicji klucz prywatny: d Sprawdza, czy Ee(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 sie˛ 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 sie˛ 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. Wiare˛ w to, że instytucja C świadomie wykorzystuje podpisy cyfrowe. Wiadomość „klucz publiczny osoby G to g” podpisana˛ przez instytucje˛ 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. Wiare˛ w to, że instytucja C świadomie wykorzystuje podpisy cyfrowe. Wiadomość „klucz publiczny osoby G to g” podpisana˛ przez instytucje˛ 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. Wiare˛ w to, że instytucja C świadomie wykorzystuje podpisy cyfrowe. Wiadomość „klucz publiczny osoby G to g” podpisana˛ przez instytucje˛ 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˛edy certyfikujace ˛ (CA) Instytucje takie jak C nazywamy urz˛edami certyfikujacymi ˛ . Przegladarki ˛ WWW maja˛ zaszyta˛ liste˛ kluczy publicznych kilkudziesieciu ˛ urz˛edó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 Certyfikaty SSL 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˛ te˛ strone, ˛ z która˛ zamierzamy sie˛ łaczyć. ˛ W tym momencie mamy uwierzytelniony serwer i możemy szyfrować wiadomości dla serwera WWW. Uwaga: W SSL zazwyczaj nie uwierzytelnia sie˛ użytkownika, choć jest to teoretycznie możliwe. Sieci komputerowe (II UWr) Wykład 9 28 / 32 Certyfikaty SSL 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˛ te˛ strone, ˛ z która˛ zamierzamy sie˛ łaczyć. ˛ W tym momencie mamy uwierzytelniony serwer i możemy szyfrować wiadomości dla serwera WWW. Uwaga: W SSL zazwyczaj nie uwierzytelnia sie˛ użytkownika, choć jest to teoretycznie możliwe. Sieci komputerowe (II UWr) Wykład 9 28 / 32 Certyfikaty SSL, certyfikaty Certyfikaty zwykłe = zaświadczenie, że łaczymy ˛ sie˛ faktycznie z konkretna˛ strona˛ (niebieski kolor w Firefoksie) → prezentacja Czy jeśli sklep internetowy blabla.org posługuje sie˛ takim certyfikatem, to należy podać mu numer karty kredytowej? To nie znaczy, że łaczymy ˛ sie˛ ze strona˛ należac ˛ a˛ do instytucji blabla! Certyfikaty rozszerzone = zaświadczenie, że łaczymy ˛ sie˛ ze strona˛ danej instytucji (zielony kolor w Firefoksie) → prezentacja Wadliwe certyfikaty, najcz˛eściej firma X podpisuje sama dla siebie → prezentacja Sieci komputerowe (II UWr) Wykład 9 29 / 32 Certyfikaty SSL, certyfikaty Certyfikaty zwykłe = zaświadczenie, że łaczymy ˛ sie˛ faktycznie z konkretna˛ strona˛ (niebieski kolor w Firefoksie) → prezentacja Czy jeśli sklep internetowy blabla.org posługuje sie˛ takim certyfikatem, to należy podać mu numer karty kredytowej? To nie znaczy, że łaczymy ˛ sie˛ ze strona˛ należac ˛ a˛ do instytucji blabla! Certyfikaty rozszerzone = zaświadczenie, że łaczymy ˛ sie˛ ze strona˛ danej instytucji (zielony kolor w Firefoksie) → prezentacja Wadliwe certyfikaty, najcz˛eściej firma X podpisuje sama dla siebie → prezentacja Sieci komputerowe (II UWr) Wykład 9 29 / 32 Certyfikaty SSL, certyfikaty Certyfikaty zwykłe = zaświadczenie, że łaczymy ˛ sie˛ faktycznie z konkretna˛ strona˛ (niebieski kolor w Firefoksie) → prezentacja Czy jeśli sklep internetowy blabla.org posługuje sie˛ takim certyfikatem, to należy podać mu numer karty kredytowej? To nie znaczy, że łaczymy ˛ sie˛ ze strona˛ należac ˛ a˛ do instytucji blabla! Certyfikaty rozszerzone = zaświadczenie, że łaczymy ˛ sie˛ ze strona˛ danej instytucji (zielony kolor w Firefoksie) → prezentacja Wadliwe certyfikaty, najcz˛eściej firma X podpisuje sama dla siebie → prezentacja Sieci komputerowe (II UWr) Wykład 9 29 / 32 Certyfikaty Klucze sesji 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 2 3 przegladarka ˛ generuje symetryczny klucz sesji; przegladarka ˛ szyfruje go kluczem publicznym serwera WWW i wysyła do serwera WWW; 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˛ warstwe˛ pomiedzy ˛ 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