Kody korekcyjne i kryptografia
1
Kryptografia
Kryptografia
Protokoły kryptograficzne
dr Robert Borowiec
Politechnika Wrocławska
Instytut Telekomunikacji i Akustyki
pokój 908, C-5
tel. 3203083
e-mail: robert.borowiec@ita.pwr.wroc.pl
www: lstwww.ita.pwr.wroc.pl/
~
RB/
Wykład XI
2-godziny
2011-05-10
© Robert Borowiec
Kryptografia, Wykład XI
Strona 2/9
Protokół
Protokół jest szeregiem kroków podejmowanych przez
co najmniej dwie strony w celu realizacji zadania.
Protokół kryptograficzny jest protokołem
wykorzystującym kryptografię. Umożliwiają one realizację
zadań nawet przez strony nie dążące się zaufaniem.
Własności protokołu:
Każdy użytkownik protokołu musi go znać i kolejno wykonywać
wszystkie kroki
Każdy użytkownik musi zgodzić się na jego stosowanie.
Protokół musi być nie mylący, tj. każdy krok musi być dobrze
zdefiniowany i nie może wystąpić szansa na nieporozumienie
Protokół musi być kompletny, tj. dla każdej możliwej sytuacji
musi być podany odpowiedni sposób postępowania.
x
Kody korekcyjne i kryptografia
2
2011-05-10
© Robert Borowiec
Kryptografia, Wykład XI
Strona 3/9
Typy protokołów
Arbitrażowe
Rozjemcze
Samowymuszające
x
2011-05-10
© Robert Borowiec
Kryptografia, Wykład XI
Strona 4/9
Protokół arbitrażowy
x
Kody korekcyjne i kryptografia
3
2011-05-10
© Robert Borowiec
Kryptografia, Wykład XI
Strona 5/9
Protokół arbitrażowy
Protokół arbitrażowy
Problemy związane z implementacją protokołu arbitrażowego w
sieci komputerowej:
dużo łatwiej można znaleźć i obdarzyć zaufaniem trzecią
neutralną stronę, jeżeli znamy tę osobę, możemy ujrzeć jej twarz
lub jesteśmy przekonani, że jest to postać rzeczywista, niż zaufać
komuś bezosobowemu gdzieś w sieci komputerowej;
sieć komputerowa musi ponosić koszty utrzymania arbitra;
z każdym protokołem arbitrażowym jest związane pewne
opóźnieniem;
arbitrzy są potencjalnym wąskim gardłem każdego protokołu
zaimplementowanego na wielką skalę;
każdy użytkownik sieci
komputerowej jest zmuszony ufać
arbitrowi. Arbiter jest więc narażony na oddziaływanie każdego
intruza podejmującego próby oszustwa w sieci.
x
2011-05-10
© Robert Borowiec
Kryptografia, Wykład XI
Strona 6/9
Protokół rozjemczy
Protokół arbitrażowy dzieli się na
protokoły niższego rzędu:
protokół niearbitrażowy-sytuacja
standardowa;
protokół rozjemczy-sytuacja wyjątkowa.
x
Kody korekcyjne i kryptografia
4
2011-05-10
© Robert Borowiec
Kryptografia, Wykład XI
Strona 7/9
Protokół samowymuszający
Budowa protokołu gwarantuje uczciwość
stron. Jeżeli bowiem jedna ze stron
zaczyna oszukiwać, druga natychmiast to
może wykryć
Nie ma protokółów samowymuszających
odpowiednich na każdą sytuację.
x
2011-05-10
© Robert Borowiec
Kryptografia, Wykład XI
Strona 8/9
Łamanie protokołów
Łamanie protokołu może być
skierowane na:
na sam protokół;
algorytmy kryptograficzne;
techniki kryptograficzne służące do
implementacji algorytmu (generowanie
klucza);
x
Kody korekcyjne i kryptografia
5
2011-05-10
© Robert Borowiec
Kryptografia, Wykład XI
Strona 9/9
Atak na protokół
Łamanie protokołów
bierne
aktywne
x
Nadaw ca
Atak bierny
podsłuchwanie
Atak czynny
zm iana inform acji
Odbiorca
2011-05-10
© Robert Borowiec
Kryptografia, Wykład XI
Strona 10/9
Zarządzanie kluczami w kryptografii
symetrycznej
Najistotniejsze w protokole jest utrzymanie w tajemnicy kluczy
kryptograficznych. Ponieważ każda para ma swój odrębny klucz, to
dystrybucja i przechowywanie kluczy może stanowić spore wyzwanie
logistyczne.
x
Il. użytkowników Il. kluczy
10
45
20
190
30
435
40
780
50
1225
100
4950
1000
499500
5000
12500000
Kody korekcyjne i kryptografia
6
2011-05-10
© Robert Borowiec
Kryptografia, Wykład XI
Strona 11/9
Protokół wymiany informacji za
pomocą kryptografii symetrycznej
Przebieg protokołu:
Uzgodnienie algorytmu kryptograficznego jaki
będzie wykorzystywany do szyfrowania
uzgodnienie klucza szyfrującego
zaszyfrowanie wiadomości przez jedną ze stron
przesłanie szyfrogramu na drugą stronę
deszyfrowanie wiadomości przez drugą stronę
x
2011-05-10
© Robert Borowiec
Kryptografia, Wykład XI
Strona 12/9
Protokół wymiany informacji za
pomocą kryptografii z kluczem
publicznym
Przebieg protokołu:
Uzgodnienie algorytmu kryptograficznego z kluczem
jawnym jaki będzie wykorzystywany do szyfrowania
Strony wymieniają się swoimi kluczami jawnymi lub
pobierają je z serwera kluczy publicznych.
Strony szyfrują wiadomości kluczami jawnymi strony
przeciwnej i wysyłają do siebie informacje.
Strony odszyfrowują otrzymane wiadomości swoimi
kluczami prywatnymi.
x
Kody korekcyjne i kryptografia
7
2011-05-10
© Robert Borowiec
Kryptografia, Wykład XI
Strona 13/9
Systemy z kluczem sesyjnym
Używanie jednego klucza do szyfrowania całej wymiany
informacji jest niekorzystne, gdyż dostarcza stronie
atakującej coraz więcej materiału do kryptoanalizy;
Wskazane jest więc stosowanie kluczy sesyjnych
wykorzystywanych tylko na czas pojedynczej transmisji.
Strony przed rozpoczęciem transmisji informacji muszą
ustalić klucz sesyjny
Klucz zasadniczy służy tylko i wyłącznie do szyfrowania
i bezpiecznego przesyłania kluczy sesyjnych.
x
2011-05-10
© Robert Borowiec
Kryptografia, Wykład XI
Strona 14/9
Protokół wymiany klucza w systemach
z kluczem tajnym
Alicja chce nawiązać łączność z Robertem w tym celu:
kieruje do centrali zajmującej się dystrybucją kluczy
zamówienie na klucz sesyjny;
centrala generuje odpowiedni klucz losowy. Następnie jedną
kopię szyfruje kluczem tajnym Alicji ,a drugą Roberta.
Następnie centrum szyfruje dane o tożsamości Alicji.
kluczem Roberta i wysyła te informacje do Alicji;
Alicja deszyfruje swój klucz sesyjny;
Alicja wysyła Robertowi jego kopię klucza wraz ze swoją
tożsamością;
Robert teraz wie, kto chce z nim nawiązać.połączenie
zestawiany jest bezpieczny kanał komunikacyjny w oparciu
o klucz sesyjny;
x
Kody korekcyjne i kryptografia
8
2011-05-10
© Robert Borowiec
Kryptografia, Wykład XI
Strona 15/9
Protokół wymiany klucza w systemach
z kluczem publicznym
Alicja chce nawiązać łączność z Robertem w tym celu:
Alicja pobiera klucz jawny Roberta z centrum dystrybucji
kluczy lub zwraca się o niego wprost do Roberta;
Alicja generuje losowy klucz sesyjny, szyfruje go kluczem
jawnym Roberta i wysyła mu go
Robert deszyfruje klucz sesyjny za pomocą swojego klucza
prywatnego.
Wymieniony klucz sesyjny może posłużyć do zestawienia
szyfrowanego kanału komunikacyjnego.
x
2011-05-10
© Robert Borowiec
Kryptografia, Wykład XI
Strona 16/9
Bezpieczeństwo algorytmu wymiany
klucza
Żaden z przedstawionych systemów nie jest
bezpieczny jeżeli atakujący wniknie do centrum
dystrybucji kluczy.
System wymiany klucza bezpośrednio pomiędzy
Alicją i Robertem jest narażony na atak typu man in
the middle.
Rozwiązaniem zapewniającym bezpieczeństwo
wymiany klucza sesyjnego jest:
protokół blokujący
trójprzebiegowy algorytm Shamira
x
Kody korekcyjne i kryptografia
9
2011-05-10
© Robert Borowiec
Kryptografia, Wykład XI
Strona 17/9
Protokół blokujący
Protokół umożliwia wykluczenie ataku man in the
middle.
Alicja przesyła Robertowi swój klucz jawny
Robert Przesyła Alicji swój klucz jawny
Alicja szyfruje swoją wiadomość kluczem jawnym Roberta
i przesyła mu połowę zaszyfrowanej wiadomości.
Robert robi to samo ze swoją wiadomością
Alicja wysyła Robertowi drugą połowę zaszyfrowanej
wiadomości
Robert składa obie połówki i deszyfruje swoim kluczem
prywatnym
Robert wysyła druga połówkę wiadomości do Alicji
Alicja składa obie połówki i deszyfruje używając swojego
klucza prywatnego.
x
2011-05-10
© Robert Borowiec
Kryptografia, Wykład XI
Strona 18/9
Protokół blokujący
Dzielenie szyfrogramu.
Możemy wysłać co drugi bit szyfrogramu
Możemy wprowadzić transmisję CBC i najpierw
wysłać wektor inicjujący, a potem dopiero
informację
Pierwszą połową może być funkcja skrótu , a
drugą sama wiadomość, której funkcja skrótu
dotyczy.
x
Kody korekcyjne i kryptografia
10
2011-05-10
© Robert Borowiec
Kryptografia, Wykład XI
Strona 19/9
Trójprzebiegowy algorytm Shamira
Korzysta z zasady, że E
A
(E
B
(M))=E
B
(E
A
(M)).
Alicja szyfruje tekst jawny M swoim kluczem i przesyła do
Roberta C
1
=E
A
(M)
Robert szyfruje otrzymaną wiadomość swoim kluczem i z
powrotem przesyła ją do Alicji. Wysyła C
2
=E
B
(E
A
(M))
Alicja deszyfruje tekst jawny C
2
za pomocą swojego klucza
i z powrotem przesyła do Roberta. Wysyła więc
C
3
=D
A
(E
B
(E
A
(M)))= D
A
(E
A
(E
B
(M)))= (E
B
(M)
Robert deszyfruje wiadomość C
3
swoim kluczem i
otrzymuje tekst jawny M
Jako system szyfruj acy nie może być wykorzystane
sumowanie modulo 2.
x
2011-05-10
© Robert Borowiec
Kryptografia, Wykład XI
Strona 20/9
KONIEC
Dziękuję za uwagę