Co to jest wymiana kluczy internetowych?

Internet Key Exchange (IKE) to zestaw protokołów pomocniczych utworzonych przez Internet Engineering Task Force (IETF) i używanych ze standardami zabezpieczeń protokołu internetowego (IPSec) w celu zapewnienia bezpiecznej komunikacji między dwoma urządzeniami lub równorzędnymi w sieci. Jako protokół IKE może być używany w wielu aplikacjach. Jednym z typowych przykładów jest konfigurowanie bezpiecznej wirtualnej sieci prywatnej (VPN). Chociaż jest to standard w praktycznie wszystkich nowoczesnych systemach operacyjnych i sprzęcie sieciowym, wiele z tego, co robi Internet Key Exchange, jest ukrytych przed przeciętnym użytkownikiem.

Protokoły w IKE ustanawiają tak zwane powiązanie bezpieczeństwa (SA) między dwoma lub większą liczbą równorzędnych użytkowników za pośrednictwem protokołu IPSec, co jest wymagane w przypadku każdej bezpiecznej komunikacji za pośrednictwem protokołu IPSec. SA określa algorytm kryptograficzny używany w komunikacji, klucze szyfrowania i daty ich ważności; to wszystko trafia następnie do bazy danych skojarzeń bezpieczeństwa (SAD) każdego partnera. Podczas gdy IPSec może mieć swoje SA skonfigurowane ręcznie, Internet Key Exchange automatycznie negocjuje i ustanawia skojarzenia bezpieczeństwa między równorzędnymi węzłami, łącznie z możliwością tworzenia własnych.

Internetowa wymiana kluczy jest znana jako protokół hybrydowy. IKE wykorzystuje strukturę protokołu znaną jako Internet Security Association and Key Management Protocol (ISAKMP). ISAKMP zapewnia IKE możliwość ustanowienia SA i wykonuje zadania definiowania formatu ładunku danych oraz decydowania o protokole wymiany kluczy, który zostanie użyty. ISAKMP może korzystać z kilku metod wymiany kluczy, ale jego implementacja w IKE wykorzystuje aspekty dwóch. Większość procesu wymiany kluczy wykorzystuje metodę OAKLEY Key Determination Protocol (OAKLEY), która definiuje różne tryby, ale IKE wykorzystuje również część metody Source Key Exchange Mechanism (SKEME), która umożliwia szyfrowanie klucza publicznego i ma możliwość szybko odświeżaj klucze.

Kiedy partnerzy chcą bezpiecznie komunikować się, wysyłają do siebie tak zwany „interesujący ruch”. Interesujący ruch to wiadomości zgodne z polityką IPSec, która została ustanowiona na urządzeniach równorzędnych. Jednym z przykładów takich zasad występujących w zaporach i routerach jest lista dostępu. Lista dostępowa otrzymuje politykę kryptograficzną, za pomocą której określone oświadczenia w ramach polityki określają, czy określone dane przesyłane przez połączenie powinny być szyfrowane, czy nie. Gdy równorzędni zainteresowani bezpieczną komunikacją dopasują do siebie zasady bezpieczeństwa IPSec, rozpoczyna się proces wymiany kluczy internetowych.

Proces IKE przebiega etapami. Wiele bezpiecznych połączeń zaczyna się w stanie niezabezpieczonym, więc pierwsza faza negocjuje, w jaki sposób obaj peery będą kontynuować proces bezpiecznej komunikacji. Protokół IKE najpierw uwierzytelnia tożsamość partnerów, a następnie zabezpiecza ich tożsamość, określając, których algorytmów bezpieczeństwa będą używać oba elementy równorzędne. Wykorzystując protokół kryptografii klucza publicznego Diffie-Hellman, który umożliwia tworzenie pasujących kluczy za pośrednictwem niezabezpieczonej sieci, Internet Key Exchange tworzy klucze sesji. IKE kończy fazę 1, tworząc bezpieczne połączenie, tunel, między równorzędnymi węzłami, które będą używane w fazie 2.

Gdy protokół IKE wchodzi w fazę 2, peery używają nowego protokołu IKE SA do konfigurowania protokołów IPSec, których będą używać podczas pozostałej części połączenia. Ustanawiany jest nagłówek uwierzytelniania (AH), który weryfikuje, czy wysłane wiadomości są odbierane w stanie nienaruszonym. Pakiety również muszą być zaszyfrowane, więc IPSec używa następnie enkapsulującego protokołu bezpieczeństwa (ESP) do szyfrowania pakietów, chroniąc je przed wzrokiem ciekawskich. Wartość AH jest obliczana na podstawie zawartości pakietu, a pakiet jest szyfrowany, dzięki czemu pakiety są zabezpieczone przed każdym, kto próbuje zastąpić pakiety fałszywymi lub odczytać zawartość pakietu.
IKE wymienia również kryptograficzne nonce podczas fazy 2. Jednorazowa liczba to liczba lub ciąg znaków, który jest używany tylko raz. Wartość nonce jest następnie wykorzystywana przez peera, jeśli musi utworzyć nowy tajny klucz lub aby uniemożliwić atakującemu wygenerowanie fałszywych SA, zapobiegając tak zwanemu atakowi powtórkowemu.
Korzyści płynące z wielofazowego podejścia do IKE polegają na tym, że korzystając z fazy 1 SA, każdy z partnerów może w dowolnym momencie zainicjować fazę 2 w celu ponownej negocjacji nowego SA, aby zapewnić bezpieczeństwo komunikacji. Po zakończeniu faz wymiany kluczy internetowych tworzony jest tunel IPSec do wymiany informacji. Pakiety wysyłane przez tunel są szyfrowane i odszyfrowywane zgodnie z SA ustanowionymi podczas fazy 2. Po zakończeniu tunel kończy się, albo po wygaśnięciu w oparciu o wcześniej ustalony limit czasu, albo po przesłaniu określonej ilości danych. Oczywiście dodatkowe negocjacje IKE w fazie 2 mogą utrzymać otwarty tunel lub, alternatywnie, rozpocząć nowe negocjacje w fazie 1 i 2 w celu ustanowienia nowego, bezpiecznego tunelu.