Sieci komputerowe. Wykład 9: Elementy kryptografii. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski



Podobne dokumenty
Sieci komputerowe. Wykład 11: Podstawy kryptografii. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Sieci komputerowe. Wykład 11: Kodowanie i szyfrowanie. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Sieci komputerowe. Wykład 10: Kodowanie i szyfrowanie. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

2 Kryptografia: algorytmy symetryczne

Bezpieczeństwo w Internecie

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 1

Zamiana porcji informacji w taki sposób, iż jest ona niemożliwa do odczytania dla osoby postronnej. Tak zmienione dane nazywamy zaszyfrowanymi.

Wprowadzenie do PKI. 1. Wstęp. 2. Kryptografia symetryczna. 3. Kryptografia asymetryczna

WSIZ Copernicus we Wrocławiu

2.1. System kryptograficzny symetryczny (z kluczem tajnym) 2.2. System kryptograficzny asymetryczny (z kluczem publicznym)

Przewodnik użytkownika

Sieci komputerowe Wykład 7. Bezpieczeństwo w sieci. Paweł Niewiadomski Katedra Informatyki Stosowanej Wydział Matematyki UŁ niewiap@math.uni.lodz.

II klasa informatyka rozszerzona SZYFROWANIE INFORMACJI

Wykład VI. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Zadanie 1: Protokół ślepych podpisów cyfrowych w oparciu o algorytm RSA

PuTTY. Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Inne interesujące programy pakietu PuTTY. Kryptografia symetryczna

Wykład 4. Metody uwierzytelniania - Bezpieczeństwo (3) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 11

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

Podstawy systemów kryptograficznych z kluczem jawnym RSA

Bezpieczeństwo danych, zabezpieczanie safety, security

n = p q, (2.2) przy czym p i q losowe duże liczby pierwsze.

Laboratorium nr 3 Podpis elektroniczny i certyfikaty

Wykład 4. komputerowych Protokoły SSL i TLS główne slajdy. 26 października Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński

Authenticated Encryption

Algorytmy asymetryczne

Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Marcin Pilarski

Wykład 4 Bezpieczeństwo przesyłu informacji; Szyfrowanie

ZiMSK. Konsola, TELNET, SSH 1

Sieci komputerowe. Wykład 9: Poczta elektroniczna. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Wasze dane takie jak: numery kart kredytowych, identyfikatory sieciowe. kradzieŝy! Jak się przed nią bronić?

Ataki na RSA. Andrzej Chmielowiec. Centrum Modelowania Matematycznego Sigma. Ataki na RSA p. 1

Opis efektów kształcenia dla modułu zajęć

BSK. Copyright by Katarzyna Trybicka-Fancik 1. Bezpieczeństwo systemów komputerowych. Podpis cyfrowy. Podpisy cyfrowe i inne protokoły pośrednie

Kryptografia szyfrowanie i zabezpieczanie danych

Bezpieczna poczta i PGP

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

BSK. Copyright by Katarzyna Trybicka-Fancik 1. Nowy klucz jest jedynie tak bezpieczny jak klucz stary. Bezpieczeństwo systemów komputerowych

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Podstawy Secure Sockets Layer

Zarys algorytmów kryptograficznych

SSL (Secure Socket Layer)

Laboratorium nr 5 Podpis elektroniczny i certyfikaty

Wykład 3 Bezpieczeństwo przesyłu informacji; Szyfrowanie

Szyfrowanie RSA (Podróż do krainy kryptografii)

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 9

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 5

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, Kryptografia: algorytmy asymetryczne (RSA)

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

KUS - KONFIGURACJA URZĄDZEŃ SIECIOWYCH - E.13 ZABEZPIECZANIE DOSTĘPU DO SYSTEMÓW OPERACYJNYCH KOMPUTERÓW PRACUJĄCYCH W SIECI.

Algorytmy podstawieniowe

Program szkolenia: Bezpieczny kod - podstawy

SET (Secure Electronic Transaction)

Bezpieczeństwo w sieci I. a raczej: zabezpieczenia wiarygodnosć, uwierzytelnianie itp.

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, Kryptografia: algorytmy asymetryczne (RSA)

Scenariusz lekcji. wymienić różnice pomiędzy kryptologią, kryptografią i kryptoanalizą;

Szyfrowanie informacji

Wykład VII. Kryptografia Kierunek Informatyka - semestr V. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej

Plan całości wykładu. Ochrona informacji 1

Informatyka na WPPT. prof. dr hab. Jacek Cichoń dr inż. Marek Klonowski

RSA. R.L.Rivest A. Shamir L. Adleman. Twórcy algorytmu RSA

Matematyka dyskretna. Wykład 11: Kryptografia z kluczem publicznym. Gniewomir Sarbicki

Czym jest kryptografia?

Technologia Internetowa w organizacji giełdy przemysłowej

Sieci komputerowe. Wykład 1: Podstawowe pojęcia i modele. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Bezpieczeństwo kart elektronicznych

Podpis elektroniczny

Bezpieczeństwo systemów komputerowych. Metody łamania szyfrów. Kryptoanaliza. Badane własności. Cel. Kryptoanaliza - szyfry przestawieniowe.

Bezpieczeństwo systemów komputerowych. Kryptoanaliza. Metody łamania szyfrów. Cel BSK_2003. Copyright by K.Trybicka-Francik 1

Algorytmy podstawieniowe

Zastosowania PKI dla wirtualnych sieci prywatnych

Szyfry Strumieniowe. Zastosowanie wybranych rozwiąza. zań ECRYPT do zabezpieczenia komunikacji w sieci Ethernet. Opiekun: prof.

Protokoły zdalnego logowania Telnet i SSH

Bezpieczeństwo usług oraz informacje o certyfikatach

Systemy Mobilne i Bezprzewodowe laboratorium 12. Bezpieczeństwo i prywatność

Parametry systemów klucza publicznego

Wykład VIII. Systemy kryptograficzne Kierunek Matematyka - semestr IV. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Zdalne logowanie do serwerów

Copyright by K. Trybicka-Francik 1

Copyright by K. Trybicka-Francik 1

Protokół SSL/TLS. Algorytmy wymiany klucza motywacja

Kryptografia-0. przykład ze starożytności: około 489 r. p.n.e. niewidzialny atrament (pisze o nim Pliniusz Starszy I wiek n.e.)

Protokół SSL/TLS. Patryk Czarnik. Bezpieczeństwo sieci komputerowych MSUI 2009/10. Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski

Rozdział 5. Bezpieczeństwo komunikacji

Gerard Frankowski, Błażej Miga Zespół Bezpieczeństwa PCSS. Konferencja SECURE 2008 Warszawa,

Kryptologia przykład metody RSA

Bazy danych i usługi sieciowe

Zastosowania informatyki w gospodarce Wykład 5

PRZEWODNIK PO PRZEDMIOCIE

Bezpieczeństwo informacji w systemach komputerowych

Bezpieczeństwo systemów komputerowych. Algorytmy kryptograficzne (1) Algorytmy kryptograficzne. Algorytmy kryptograficzne BSK_2003

Praktyczne aspekty wykorzystania nowoczesnej kryptografii. Wojciech A. Koszek

Ataki kryptograficzne.

Bezpieczna poczta i PGP

urządzenia: awaria układów ochronnych, spowodowanie awarii oprogramowania

Bezpieczeństwo systemów komputerowych. Opis działania PGP. Poczta elektroniczna. System PGP (pretty good privacy) Sygnatura cyfrowa MD5

Informatyka kwantowa. Zaproszenie do fizyki. Zakład Optyki Nieliniowej. wykład z cyklu. Ryszard Tanaś. mailto:tanas@kielich.amu.edu.

Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5.

WEP: przykład statystycznego ataku na źle zaprojektowany algorytm szyfrowania

Transkrypt:

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