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