W szyfrowaniu konwencjonalnym zarówno
nadawca jak i odbiorca informacji mają ten sam klucz, który jest
tajny. Warto też często zmieniać klucze, ze wzgledu na możliwość
przechwycenia przez niepowołane osoby. Dystrybucja kluczy dla
każdej ze stron A i B może przebiegać na jeden z poniższych sposobów:
- A tworzy klucz i dostarcza B,
- Klucz zostaje dostarczony A i B przez stronę trzecią,
- Jedna strona może przekazać drugiej klucz za pomocą innego
(np. poprzedniego) klucza,
- Klucz może być dostarczony A i B od trzeciej strony C za
pomocą połączenia szyfrowanego.
Metody 1 i 2 wymagają ręcznego dostarczenia klucza. Kolejna metoda
jest możliwa w ramach szyfrowania na łączu jak i szyfrowania na
całej drodze przesyłania. Jednak Jeżeli zostanie przechwycony
jeden klucz znane stają się wszystkie kolejne. W metodzie 4 za
dostarczanie kluczy odpowiedzialne jest Centrum Dystrybucji Kluczy
(KDC - Key Distrbution Center). Każdy użytkownik musi mieć klucz
z KDC służący do dystrybucji kluczy, który musi być dostarczony
metodą tradycyjną jak w punkcie drugim.
Sposób dystrybucji kluczy:
Klucze mogą być dostarczane użytkownikom
na wiele sposobów, typowy scenariusz pokazany jest na rysunku
(kliknij aby zobaczyć).
W opisie tym założone jest, że każdy użytkownik (A i B) mają z
Centralą Dystrybucji Kluczy (KDC) swoje niepowtarzalne klucze
główne. W tym przypadku użytkownik A chce przesłać dane użytkownikowi
B. Do tego celu potrzebuje jednorazowego klucza sesji.
- A kieruje do KDC żądanie klucza sesji. W takim komunikacie
zawarte są informacje o tożsamości A i B oraz niepowtarzalny
identyfikator tej operacji. Identyfiklator może być różny, ale
najlepiej by była to liczba losowa, żeby nie został odkryty
przez niepowołaną stronę.
- KDC odpowiada komunikatem zaszyfrowanym kluczem głównym A.
Zawiera on dwa elementy przeznaczone dla A:
- jednorazowy klucz sesji i
- pierwotne żądanie celem dopasowania do odpowiedniego zapytania.
Dodatkowo zawiera on elementy przeznaczone dla B:
- jednorazowy klucz sesji
- identyfikator A
które są zaszyfrowane kluczem głównym B.
- A przesyła B informacje przeznaczone dla niego, czyli te zaszyfrowane
kluczem głównym B. W tym momencie klucz sesji został już dostarczony.
Może się rozpocząć bezpieczna transmisja. Jednak pożądane są
dwa dodatkowe kroki uwierzytelniania.
- Używając klucza sesji B wysyła A identyfikator jednorazowy.
- A odpowiada przesłaniem funkcji przekształcającej ten identyfikator
(na przykład dodającej jeden).
Po tych wszystkich etapach A może przystąpić do transmisji danych
do B bez obaw, że strona trzecia mogłaby te dane odszyfrować. |