WK_6 - Robert Wójcik - Politechnika Wrocławska

Transkrypt

WK_6 - Robert Wójcik - Politechnika Wrocławska
Dr inż. Robert Wójcik,
p. 313, C-3, tel. 320-27-40
Katedra Informatyki Technicznej (K-9)
Wydział Elektroniki (W-4)
Politechnika Wrocławska
E-mail:
Strona internetowa:
[email protected]
google: Wójcik Robert
Ochrona i poufność danych
Wykład 6.
6. Wybrane protokoły kryptograficzne
6.1. Protokół ustanawiania klucza sesji – Diffie - Hellman
6.2. Protokół Needham-Schroeder symetryczny
6.3. Protokół Kerberos
Protokół ustanawiania klucza sesji Diffie-Hellman
W tym protokole klucz sesji przeznaczony do bezpiecznej
komunikacji jest ustanawiany w trakcie wymiany komunikatów
między podmiotami A i B.
Publicznie znana jest duża liczba pierwsza p oraz generator g zbioru
reszt Zp = {0, 1, …, p-1}. Każdy element x należący do Zp może
być wyrażony jako
x = gi mod p, gdzie 1 <= i <= p-1.
1. A wybiera kA, natomiast B wybiera kB, gdzie kA, KB <= p-2.
Liczby kA i kB są trzymane w tajemnicy.
2. A przesyła podmiotowi B liczbę cA = gkA mod p, natomiast B
przesyła podmiotowi A liczbę cB = gkB mod p.
3. Jako uzgodniony klucz przyjmowana jest liczba
k = gkA*kB mod p.
4. Podmiot A oblicza k = (cB)kA mod p = (gkB mod p)kA mod p =
( (gkB)kA mod p ) mod p = gkB*kA mod p.
5. Podmiot B oblicza k = (cA)kB mod p = (gkA mod p)kB mod p =
( (gkA)kB mod p ) mod p = gkA*kB mod p.
Protokół jest względnie bezpieczny, gdyż M podsłuchujący
komunikaty przesyłane między A i B nie jest w stanie obliczyć liczbę
k bezpośrednio, gdyż do wyliczenia k należy wyznaczyć kA z cA lub
kB z cB, a jest to zadanie wyliczania dyskretnego logarytmu i nie są
tu znane algorytmy efektywne, np. kA = logg (cA) mod p.
Protokół Diffie-Hellmana nie jest jednak odporny na atak typu man in
the middle. Podmiot M może ustalić wspólny klucz z A i wspólny klucz
z B. Dzięki temu może przechwytywać wiadomości przesyłane od A
do B, modyfikować je, a następnie odsyłać do B.
A --- kAM --- M --- kMB --- B.
2
Są udoskonalenia protokołu Diffie-Hellman, które uodparniają go na
ataki aktywne, np. protokół STS (Station-to-Station), w którym liczby
cA i cB są podpisywane cyfrowo przez podmioty A i B.
3

Podobne dokumenty