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

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

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

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

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

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

WSIZ Copernicus we Wrocławiu

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

Podstawy Secure Sockets Layer

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

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

Przewodnik użytkownika

Laboratorium nr 5 Podpis elektroniczny i certyfikaty

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

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

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

Bezpieczeństwo w Internecie

Podstawy systemów kryptograficznych z kluczem jawnym RSA

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

2 Kryptografia: algorytmy symetryczne

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

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

Laboratorium nr 3 Podpis elektroniczny i certyfikaty

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

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

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

SSL (Secure Socket Layer)

Bezpieczeństwo usług oraz informacje o certyfikatach

ZiMSK. Konsola, TELNET, SSH 1

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

SET (Secure Electronic Transaction)

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

VPN Virtual Private Network. Użycie certyfikatów niekwalifikowanych w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA

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

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

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

Protokół SSL/TLS. Algorytmy wymiany klucza motywacja

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

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

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

Bezpieczna poczta i PGP

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

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

Program szkolenia: Bezpieczny kod - podstawy

Sieci komputerowe. Wykład 7: Transport: protokół TCP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Bezpieczeństwo aplikacji typu software token. Mariusz Burdach, Prevenity. Agenda

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

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

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

Zarządzanie systemami informatycznymi. Bezpieczeństwo przesyłu danych

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

Bezpieczeństwo korespondencji elektronicznej

PGP - Pretty Good Privacy. Użycie certyfikatów niekwalifikowanych w programie PGP

Wykorzystanie protokołu T=CL w systemach kontroli dostępu

Praktyczne aspekty wykorzystania nowoczesnej kryptografii. Wojciech A. Koszek

Szyfrowanie RSA (Podróż do krainy kryptografii)

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

Authenticated Encryption

Bezpieczeństwo danych, zabezpieczanie safety, security

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

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

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

Zdalne logowanie do serwerów

Podpis elektroniczny

Bringing privacy back

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

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

x60bezpieczeństwo SYSTEMÓW KOMPUTEROWYCH Bezpieczeństwo poczty elektronicznej

Bazy danych i usługi sieciowe

Copyright by K. Trybicka-Francik 1

Copyright by K. Trybicka-Francik 1

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

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

Technologie informacyjne - wykład 5 -

Praktyczne aspekty stosowania kryptografii w systemach komputerowych

WHEEL LYNX SSL/TLS DECRYPTOR. najszybszy deszyfrator ruchu SSL/TLS

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

Modele uwierzytelniania, autoryzacji i kontroli dostępu do systemów komputerowych.

INSTRUKCJA AKTYWACJI I INSTALACJI CERTYFIKATU ID

Parametry systemów klucza publicznego

Bezpieczeństwo systemów komputerowych

Laboratorium nr 2 Szyfrowanie, podpis elektroniczny i certyfikaty

KRYPTOGRAFIA ASYMETRYCZNA I JEJ ZASTOSOWANIE

Laboratorium Programowania Kart Elektronicznych

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

Technologia Internetowa w organizacji giełdy przemysłowej

Rozdział 5. Bezpieczeństwo komunikacji

Algorytmy asymetryczne

Zastosowania informatyki w gospodarce Wykład 8

Przewodnik SSL d l a p o c z ą t k u j ą c y c h

System Użytkowników Wirtualnych

VPN Virtual Private Network. Użycie certyfikatów niekwalifikowanych. w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA

Technologie cyfrowe semestr letni 2018/2019

Bezpieczeństwo systemów komputerowych.

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

Kryptografia na procesorach wielordzeniowych

Bezpieczna poczta i PGP

Sieci VPN SSL czy IPSec?

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

Czym jest kryptografia?

Wykład 7. komputerowych Integralność i uwierzytelnianie danych - główne slajdy. 16 listopada 2011

Transkrypt:

Sieci komputerowe Wykład 11: Podstawy kryptografii Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe (II UWr) Wykład 11 1 / 35

Spis treści 1 Szyfrowanie 2 Uwierzytelnianie 3 Dystrybucja kluczy publicznych 4 Uwagi końcowe Sieci komputerowe (II UWr) Wykład 11 2 / 35

Szyfrowanie Sieci komputerowe (II UWr) Wykład 11 3 / 35

Szyfrowanie Szyfrowanie symetryczne Główny problem: jak ustalić wspólny klucz K? Rozwiazanie 1: przesłać innym, zabezpieczonym kanałem (zazwyczaj niepraktyczne / drogie) Rozwiazanie 2: zastosować szyfrowanie asymetryczne (do przesyłania klucza lub całej wiadomości) Sieci komputerowe (II UWr) Wykład 11 4 / 35

Szyfrowanie Szyfrowanie asymetryczne, założenia Bob ma dwa klucze klucz B (na stronie WWW) klucz b (w sejfie) Istnieje algorytm szyfrujacy E, taki że dla dowolnej wiadomości m zachodzi E b (E B (m)) = m. wysyla s = E B (m) zna: B, m zna: b, B oblicza: E b (s) = m zna: B, podsluchuje s b i m sa trudno obliczalne na podstawie s = E B (m) i B! Sieci komputerowe (II UWr) Wykład 11 5 / 35

Efekt Szyfrowanie 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. Sieci komputerowe (II UWr) Wykład 11 6 / 35

Efekt Szyfrowanie 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. Sieci komputerowe (II UWr) Wykład 11 6 / 35

Szyfrowanie Szyfrowanie asymetryczne Bob ma dwa klucze klucz B (na stronie WWW) klucz b (w sejfie) Istnieje algorytm szyfrujacy E, taki że dla dowolnej wiadomości m zachodzi E b (E B (m)) = m. wysyla s = E B (m) zna: B, m zna: b, B oblicza: E b (s) = m zna: B, podsluchuje s b i m sa trudno obliczalne na podstawie s = E B (m) i B! Sieci komputerowe (II UWr) Wykład 11 7 / 35

Uwierzytelnianie Sieci komputerowe (II UWr) Wykład 11 8 / 35

Uwierzytelnianie Normalny scenariusz Założenia Alicja zna klucz B (publiczny Boba). Alicja wysyła wiadomość do Boba zaszyfrowana B. Co wiedza poszczególne osoby? Bob nie musi się uwierzytelniać. Wiadomość jest zaszyfrowana kluczem B, więc przeczytać może tylko posiadacz b, czyli Bob. Ale Bob nie wie, kto wysłał wiadomość! Sieci komputerowe (II UWr) Wykład 11 9 / 35

Uwierzytelnianie Normalny scenariusz Założenia Alicja zna klucz B (publiczny Boba). Alicja wysyła wiadomość do Boba zaszyfrowana B. Co wiedza poszczególne osoby? Bob nie musi się uwierzytelniać. Wiadomość jest zaszyfrowana kluczem B, więc przeczytać może tylko posiadacz b, czyli Bob. Ale Bob nie wie, kto wysłał wiadomość! Sieci komputerowe (II UWr) Wykład 11 9 / 35

Uwierzytelnianie Normalny scenariusz Założenia Alicja zna klucz B (publiczny Boba). Alicja wysyła wiadomość do Boba zaszyfrowana B. Co wiedza poszczególne osoby? Bob nie musi się uwierzytelniać. Wiadomość jest zaszyfrowana kluczem B, więc przeczytać może tylko posiadacz b, czyli Bob. Ale Bob nie wie, kto wysłał wiadomość! To ja, Alicja. Oto wiadomosc... Sieci komputerowe (II UWr) Wykład 11 9 / 35

Uwierzytelnianie Normalny scenariusz Założenia Alicja zna klucz B (publiczny Boba). Alicja wysyła wiadomość do Boba zaszyfrowana B. Co wiedza poszczególne osoby? Bob nie musi się uwierzytelniać. Wiadomość jest zaszyfrowana kluczem B, więc przeczytać może tylko posiadacz b, czyli Bob. Ale Bob nie wie, kto 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 tylko Alicji i Bobowi). Sieci komputerowe (II UWr) Wykład 11 9 / 35

Uwierzytelnianie Wróćmy do algorytmu RSA Klucz prywatny B i publiczny b można zamienić miejscami, tj. E b (E B (m)) = m, ale również E B (E b (m)) = m. E b (m) nazywamy podpisem cyfrowym tekstu m. To nie do końca prawda. Zweryfikować taki podpis może każdy, wystarczy znać klucz publiczny B. Tylko posiadacz klucza prywatnego b może tak podpisać m. Jak wykorzystać to w uwierzytelnianiu? Sieci komputerowe (II UWr) Wykład 11 10 / 35

Uwierzytelnianie Wróćmy do algorytmu RSA Klucz prywatny B i publiczny b można zamienić miejscami, tj. E b (E B (m)) = m, ale również E B (E b (m)) = m. E b (m) nazywamy podpisem cyfrowym tekstu m. To nie do końca prawda. Zweryfikować taki podpis może każdy, wystarczy znać klucz publiczny B. Tylko posiadacz klucza prywatnego b może tak podpisać m. Jak wykorzystać to w uwierzytelnianiu? Sieci komputerowe (II UWr) Wykład 11 10 / 35

Złe rozwiazanie Uwierzytelnianie To ja, Alicja. Wysylam X oraz Y = E a (X) klucz prywatny: a klucz publiczny: A zna: A sprawdza, czy E A (Y ) = X Problem: Atak powtórzeniowy: świnia może nagrać tę transmisję i odtworzyć później w komunikacji z Bobem. Sieci komputerowe (II UWr) Wykład 11 11 / 35

Złe rozwiazanie Uwierzytelnianie To ja, Alicja. Wysylam X oraz Y = E a (X) klucz prywatny: a klucz publiczny: A zna: A sprawdza, czy E A (Y ) = X Problem: Atak powtórzeniowy: świnia może nagrać tę transmisję i odtworzyć później w komunikacji z Bobem. Sieci komputerowe (II UWr) Wykład 11 11 / 35

Uwierzytelnianie Uwierzytelnianie za pomoca podpisu cyfrowego To ja, Alicja. X Y = E a (X) klucz prywatny: a klucz publiczny: A zna: A sprawdza, czy E A (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 11 12 / 35

Uwierzytelnianie Podsumowanie szyfrowania i uwierzytelniania Każda strona komunikacji generuje parę kluczy: publiczny i prywatny Alicja: (A, a), Bob: (B, b). wiadomość: m wiadomość + podpis kluczem prywatnym Alicji m, E a (m) (każdy może zweryfikować, że to Alicja napisała) wiadomość zaszyfrowana kluczem publicznym Alicji E A (m) (przeczytać może tylko Alicja) Zastosowanie: PGP (Pretty Good Privacy). Sieci komputerowe (II UWr) Wykład 11 13 / 35

Uwierzytelnianie Podpisy cyfrowe raz jeszcze Rozwiazanie 1: Alicja wysyła parę (m, E a (m)). Wada: zużywa 2 x więcej miejsca Wada: obliczanie E a ( ) długo trwa. Rozwiazanie 2: Alicja wysyła parę (m, E a (h(m)), gdzie h to kryptograficzna funkcja skrótu. Sieci komputerowe (II UWr) Wykład 11 14 / 35

Uwierzytelnianie Podpisy cyfrowe raz jeszcze Rozwiazanie 1: Alicja wysyła parę (m, E a (m)). Wada: zużywa 2 x więcej miejsca Wada: obliczanie E a ( ) długo trwa. Rozwiazanie 2: Alicja wysyła parę (m, E a (h(m)), gdzie h to kryptograficzna funkcja skrótu. Sieci komputerowe (II UWr) Wykład 11 14 / 35

Dystrybucja kluczy publicznych Sieci komputerowe (II UWr) Wykład 11 15 / 35

Dystrybucja kluczy publicznych Skad wziać czyjś klucz publiczny? (1) Szyfrowanie i uwierzytelnianie zakłada, że nie tylko znamy czyjś klucz publiczny, ale wiemy też, że należy on do konkretnej osoby. Szyfrujemy kluczem publicznym B, odczytać może tylko posiadacz b, ale czy jest to Bob? Uwierzytelnianie: wiemy, że druga osoba posiada klucz prywatny a pasujacy do klucza publicznego A, ale czy jest to Alicja? Sieci komputerowe (II UWr) Wykład 11 16 / 35

Dystrybucja kluczy publicznych Skad wziać czyjś klucz publiczny? (2) Pomysł 1: Spotkanie fizyczne / telefoniczne / videokonferencja (czasem niepraktyczne). Poza tym wtedy można ustalić klucz symetryczny, po co nam kryptografia asymetryczna? Pomysł 2: Klucz publiczny dostępny na stronie WWW. Bezpieczeństwo oparte na tym, że nikt go nie podmieni! Konieczna dodatkowa weryfikacja, np.: Alicja umieszcza na stronie WWW klucz A. Bob pobiera ze strony klucz A. Alicja i Bob weryfikuja telefonicznie, czy h(a) = h(a ). Sieci komputerowe (II UWr) Wykład 11 17 / 35

Dystrybucja kluczy publicznych Skad wziać czyjś klucz publiczny? (3) Poprzednie pomysły działaja tylko przy komunikacji fizycznych osób. Komunikacja z instytucja: Wchodzimy na stronę banku. Bank mówi mój klucz publiczny =..., szyfruj do mnie dane tym kluczem. Skad wiemy, że łaczymy się faktycznie z bankiem? Sieci komputerowe (II UWr) Wykład 11 18 / 35

Certyfikaty Dystrybucja kluczy publicznych Załóżmy, że Alicja: Ma klucz publiczny B i wie, że należy on do Boba. Wierzy w to, że Bob świadomie używa podpisów cyfrowych. Ma wiadomość klucz publiczny Charliego to C podpisana kluczem b. Ta wiadomość to certyfikat. Na tej podstawie Alicja może zweryfikować, że wiadomość napisał Bob i uwierzyć w nia. poznaje klucz publiczny Charliego. Sieci komputerowe (II UWr) Wykład 11 19 / 35

Certyfikaty Dystrybucja kluczy publicznych Załóżmy, że Alicja: Ma klucz publiczny B i wie, że należy on do Boba. Wierzy w to, że Bob świadomie używa podpisów cyfrowych. Ma wiadomość klucz publiczny Charliego to C podpisana kluczem b. Ta wiadomość to certyfikat. Na tej podstawie Alicja może zweryfikować, że wiadomość napisał Bob i uwierzyć w nia. poznaje klucz publiczny Charliego. Sieci komputerowe (II UWr) Wykład 11 19 / 35

Dystrybucja kluczy publicznych Certyfikaty w PGP Na stronie WWW Charlie może umieścić Uwagi: swój klucz publiczny C. certyfikat klucz publiczny Charliego to C podpisany kluczami różnych osób. Umożliwia budowanie grafu certyfikacji. Ścieżki certyfikacji moga być długie. Podpisywanie kluczy publicznych: częste w środowisku programistów open source. PGP wykorzystywane do podpisywania oprogramowania. Sieci komputerowe (II UWr) Wykład 11 20 / 35

Dystrybucja kluczy publicznych A co z kluczami publicznymi instytucji? Również certyfikaty: Ale generowane przez specjalne (zaufane) urzędy certyfikacji (CA). Można zgłosić się do CA, żeby dostać certyfikat (żeby CA podpisało nasz klucz publiczny). CA powinno zweryfikowac, czy jesteśmy tym, za kogo się podajemy. Ale skad wziać klucz publiczny CA? Mamy je wpisane w przegladarkę WWW prezentacja Sieci komputerowe (II UWr) Wykład 11 21 / 35

SSL / TLS Dystrybucja kluczy publicznych SSL (Secure Sockets Layer), TLS (Transport Layer Security) Warstwa pośredniczaca pomiędzy warstwa transportowa i warstwa aplikacji. Odpowiada za szyfrowanie i uwierzytelnianie. Większość popularnych usług ma swoje warianty wykorzystujace SSL działajace na innym porcie (np. HTTPS = HTTP over SSL, port 443) Sieci komputerowe (II UWr) Wykład 11 22 / 35

Dystrybucja kluczy publicznych Łaczenie z serwerem HTTPS Serwer WWW wysyła certyfikat (klucz publiczny + dane o stronie) podpisany przez pewne CA. Przegladarka sprawdza, czy: posiada klucz publiczny tego CA i sprawdza prawdziwość podpisu CA. dane o stronie opisuja tę stronę, z która zamierzamy się łaczyć. Mamy uwierzytelniony serwer i możemy szyfrować wiadomości dla serwera WWW jego kluczem publicznym. Zazwyczaj nie uwierzytelnia się użytkownika, choć jest to teoretycznie możliwe. Sieci komputerowe (II UWr) Wykład 11 23 / 35

Dystrybucja kluczy publicznych Rodzaje certyfikatów Zwykłe: zaświadczenie, że łaczymy się z konkretna strona abc.org. To nie znaczy, że łaczymy się ze strona należac a do instytucji ABC! Rozszerzone: zaświadczenie, że łaczymy się ze strona danej instytucji. Wadliwe: najczęściej klucz publiczny podpisany nim samym. prezentacja Sieci komputerowe (II UWr) Wykład 11 24 / 35

Klucze sesji Dystrybucja kluczy publicznych Powiedzieliśmy: mamy uwierzytelniony serwer i możemy szyfrować wiadomości dla serwera WWW Problemy: Serwer musi też jakoś szyfrować dane do nas. Moglibyśmy mu teraz wysłać swój klucz publiczny... Szyfrowanie asymetryczne jest nieefektywne (RSA jest ok. 1000 razy wolniejszy niż AES) Rozwiazanie: 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 11 25 / 35

Uwagi końcowe Sieci komputerowe (II UWr) Wykład 11 26 / 35

Uwagi końcowe Dwie historie na zakończenie Kryptografia bezpieczeństwo Kryptografia dostarcza matematycznych metod. Te metody moga być wadliwe same w sobie. Ale zazwyczaj po prostu sa źle wykorzystywane. Trudność: nie umiemy zdefiniować matematycznie, co to jest bezpieczeństwo. Sieci komputerowe (II UWr) Wykład 11 27 / 35

Historia nr 1 (1) Uwagi końcowe Alicja pisze list rekomendacyjny Alicja jest bardzo zajęta (jest profesorem). Alicja chce rekomendować na stanowisko osobę X. Alicja zleca napisanie listu Bobowi, dajac mu wytyczne co ma w nim być. Po tym jak Bob napisze rekomendację m, Alicja ja przeczyta, obliczy E a (h(m)) i Bob wyśle (m, E a (h(m)) do pracodawcy. Zakładamy, że funkcja h generuje 80-bitowy skrót. Gdzie tu jest problem? Ustalmy parę (m, E a (h(m)). Jeśli chcemy znaleźć m takie, że E a (h(m)) = E a (h(m )) to musimy sprawdzić średnio 2 80 /2 wiadomości. A co może zrobić Bob jeśli nie lubi osoby X? Sieci komputerowe (II UWr) Wykład 11 28 / 35

Historia nr 1 (1) Uwagi końcowe Alicja pisze list rekomendacyjny Alicja jest bardzo zajęta (jest profesorem). Alicja chce rekomendować na stanowisko osobę X. Alicja zleca napisanie listu Bobowi, dajac mu wytyczne co ma w nim być. Po tym jak Bob napisze rekomendację m, Alicja ja przeczyta, obliczy E a (h(m)) i Bob wyśle (m, E a (h(m)) do pracodawcy. Zakładamy, że funkcja h generuje 80-bitowy skrót. Gdzie tu jest problem? Ustalmy parę (m, E a (h(m)). Jeśli chcemy znaleźć m takie, że E a (h(m)) = E a (h(m )) to musimy sprawdzić średnio 2 80 /2 wiadomości. A co może zrobić Bob jeśli nie lubi osoby X? Sieci komputerowe (II UWr) Wykład 11 28 / 35

Historia nr 1 (1) Uwagi końcowe Alicja pisze list rekomendacyjny Alicja jest bardzo zajęta (jest profesorem). Alicja chce rekomendować na stanowisko osobę X. Alicja zleca napisanie listu Bobowi, dajac mu wytyczne co ma w nim być. Po tym jak Bob napisze rekomendację m, Alicja ja przeczyta, obliczy E a (h(m)) i Bob wyśle (m, E a (h(m)) do pracodawcy. Zakładamy, że funkcja h generuje 80-bitowy skrót. Gdzie tu jest problem? Ustalmy parę (m, E a (h(m)). Jeśli chcemy znaleźć m takie, że E a (h(m)) = E a (h(m )) to musimy sprawdzić średnio 2 80 /2 wiadomości. A co może zrobić Bob jeśli nie lubi osoby X? Sieci komputerowe (II UWr) Wykład 11 28 / 35

Historia nr 1 (2) Uwagi końcowe Alicja chce rekomendować na stanowisko osobę X. Alicja zleca napisanie listu Bobowi, dajac mu wytyczne co ma w nim być. Po tym jak Bob napisze rekomendację m, Alicja ja przeczyta, obliczy E a (h(m)) i Bob wyśle (m, E a (h(m)) do pracodawcy. Zakładamy, że funkcja h generuje 80-bitowy skrót. Gdzie tu jest problem? Bob generuje 2 40 listów rekomendacyjnych polecajacych X (zbiór M X ) i 2 40 listów rekomendacyjnych polecajacych Y (zbiór M Y ) listy różnia się spacjami, przecinkami, drobnymi słowami, etc. h zachowuje się jak funkcja zwracajaca losowy ciag 80-bitowy. Ze stałym prawdopodobieństwem, istnieja m x M X i m y M Y, takie że h(m x ) = h(m y )! ( ćwiczenie (paradoks urodzin)) Bob pokazuje Alicji m x, Alicja oblicza E a (h(m x )), Bob wysyła poprawnie podpisany list (m y, E a (h(m x )). Sieci komputerowe (II UWr) Wykład 11 29 / 35

Historia nr 1 (2) Uwagi końcowe Alicja chce rekomendować na stanowisko osobę X. Alicja zleca napisanie listu Bobowi, dajac mu wytyczne co ma w nim być. Po tym jak Bob napisze rekomendację m, Alicja ja przeczyta, obliczy E a (h(m)) i Bob wyśle (m, E a (h(m)) do pracodawcy. Zakładamy, że funkcja h generuje 80-bitowy skrót. Gdzie tu jest problem? Bob generuje 2 40 listów rekomendacyjnych polecajacych X (zbiór M X ) i 2 40 listów rekomendacyjnych polecajacych Y (zbiór M Y ) listy różnia się spacjami, przecinkami, drobnymi słowami, etc. h zachowuje się jak funkcja zwracajaca losowy ciag 80-bitowy. Ze stałym prawdopodobieństwem, istnieja m x M X i m y M Y, takie że h(m x ) = h(m y )! ( ćwiczenie (paradoks urodzin)) Bob pokazuje Alicji m x, Alicja oblicza E a (h(m x )), Bob wysyła poprawnie podpisany list (m y, E a (h(m x )). Sieci komputerowe (II UWr) Wykład 11 29 / 35

Historia nr 1 (3) Uwagi końcowe Morał: dla funkcji skrótu ważne sa dwie własności kryptograficzne Słaba własność: dla ustalonego x znalezienie y, takiego że h(x) = h(y) jest obliczeniowo trudne. Silna własność: znalezienie x i y, takich że h(x) = h(y) jest obliczeniowo trudne. MD5 nie ma silnej własności, SHA-2 jak dotad ma. Rozwiazaniem jest zazwyczaj podwojenie długości skrótu zwracanego przez h. Sieci komputerowe (II UWr) Wykład 11 30 / 35

Historia nr 2 (1) Uwagi końcowe Alicja pisze wiadomość m. Chce ja podpisać i zaszyfrować do Boba. W jakiej kolejności powinna to robić? Sieci komputerowe (II UWr) Wykład 11 31 / 35

Historia nr 2 (2) Uwagi końcowe Wariant 1: zaszyfruj, potem podpisz E a(e B (m)) klucz publiczny: A klucz prywatny: a m =,,moj genialny pomysl... klucz publiczny: B klucz prywatny: b Sieci komputerowe (II UWr) Wykład 11 32 / 35

Historia nr 2 (2) Uwagi końcowe Wariant 1: zaszyfruj, potem podpisz E a(e B (m)) klucz publiczny: A klucz prywatny: a m =,,moj genialny pomysl... klucz publiczny: B klucz prywatny: b Oczywiście świnia przechwytuje wiadomość i wysyła własna. E s(e B (m)) klucz publiczny: S klucz prywatny: s klucz publiczny: B klucz prywatny: b Bob myśli, że genialny pomysł miała świnia (świnia nawet nie wie jaki). Sieci komputerowe (II UWr) Wykład 11 32 / 35

Historia nr 2 (3) Uwagi końcowe Wariant 2: podpisz, potem zaszyfruj E B (E a(m)) klucz publiczny: A klucz prywatny: a m =,,kocham Cie klucz publiczny: B klucz prywatny: b Tym razem Bob to świnia, wysyła E C (E a (m)) do swojego kumpla Charliego (dysponujacego para kluczy (C, c)). Sieci komputerowe (II UWr) Wykład 11 33 / 35

Historia nr 2 (3) Uwagi końcowe Wariant 2: podpisz, potem zaszyfruj E B (E a(m)) klucz publiczny: A klucz prywatny: a m =,,kocham Cie klucz publiczny: B klucz prywatny: b Tym razem Bob to świnia, wysyła E C (E a (m)) do swojego kumpla Charliego (dysponujacego para kluczy (C, c)). Sieci komputerowe (II UWr) Wykład 11 33 / 35

Historia nr 2 (4) Uwagi końcowe Jeden ze sposobów naprawy: Wariant szyfruj, potem podpisuj jeszcze raz: E a(e B (m)) klucz publiczny: A klucz prywatny: a m =,,moj genialny pomysl... klucz publiczny: B klucz prywatny: b Sieci komputerowe (II UWr) Wykład 11 34 / 35

Historia nr 2 (4) Uwagi końcowe Jeden ze sposobów naprawy: Wariant szyfruj, potem podpisuj jeszcze raz: E a(e B (m)) klucz publiczny: A klucz prywatny: a m =,,moj genialny pomysl... klucz publiczny: B klucz prywatny: b Wystarczyłoby, żeby Alicja zmieniła wiadomość na: To ja, Alicja. Mój genialny pomysł.... Sieci komputerowe (II UWr) Wykład 11 34 / 35

Historia nr 2 (4) Uwagi końcowe Jeden ze sposobów naprawy: Wariant szyfruj, potem podpisuj jeszcze raz: E a(e B (m)) klucz publiczny: A klucz prywatny: a m =,,moj genialny pomysl... klucz publiczny: B klucz prywatny: b Wystarczyłoby, żeby Alicja zmieniła wiadomość na: To ja, Alicja. Mój genialny pomysł.... Automatyzacja: podpisz, zaszyfruj, podpisz: E a(e B (E a(m))) klucz publiczny: A klucz publiczny: B klucz prywatny: a klucz prywatny: b Sieci komputerowe (II UWr) Wykład 11 34 / 35

Uwagi końcowe Lektura dodatkowa Kurose, Ross: rozdział 8 Tanenbaum: rozdział 8 Sieci komputerowe (II UWr) Wykład 11 35 / 35