(T) Teoria protokołu IPsec

Teoria protokołu IPsec

Wstęp do protokołu IPsec

Standaryzacja protokołu IPsec

  • RFC 2408 – Definiuje podstawowe założenia protokołu IPsec.
  • RFC 2409 – Definiuje protokół IKEv1.
  • RFC 4306 – Definiuje protokół IKEv2.
  • RFC 3407 – Definiuje protokół IPsec DOI.
  • RFC 3947 – Definiuje protokół NAT-T.
  • RFC 3948 – Definiuje enkapsulację UDP względem protokołu ESP.

Warstwy szyfrowania danych

  • IPSec (Internet Protocol Security) – Szyfruje dane na poziomie warstwy trzeciej modelu OSI/ISO (Layer 3).
  • SSL (Secure Socket Layer) – Szyfruje dane na poziomie warstwy siódmej modelu OSI/ISO (Layer 7).
  • MACsec (802.1AE) – Szyfruje dane na poziomie warstwy drugiej modelu OSI/ISO (Layer 2).

Cechy protokołu IPsec

  • Zachowanie poufności / szyfrowanie (Confidentiality).
  • Zachowanie integralności (Data Integrity).
  • Uwierzytelnianie (Authentication).
  • Zapobieganie powtórką (Anti-replay Protection).

Struktura budowy tunelu IPSec

  • W celu stworzenia tunelu protokół IPSec, wykorzystuje dwie następujące struktury:
    • SA (Security Association).
    • SPI (Security Parameter Index).
  • Protokoły negocjujące połączenie IPsec:
    • IKEv1 (Internet Key Exchange) (RFC 2409) – Negocjuje a następnie nawiązuje bezpieczne połączenie IPSec.
    • IKEv2 (Internet Key Exchange) (RFC 4306) – Negocjuje a następnie nawiązuje bezpieczne połączenie IPSec (Protokół IKE w wersji drugiej, wspiera nowe bardziej zaawansowane algorytmy, zwane „Suite B”).
    • ISAKMP (Internet Security Association and Key Management Protocol).

Negocjacja połączenia IPsec (IKE)

Ważne pojęcia

  • ISAKMP Policy – Zestaw parametrów (Algorytmów) negocjowanych w pierwszej fazie nawiązywania połączenia IPSec (IKE Phase 1), pomiędzy inicjatorem (Initiator) a odbiorcą (Responder). Dzięki uzgodnieniu wspólnych parametrów możliwe staje się nawiązanie połączenia VPN, umożliwiającego bezpieczną wymianę informacji (IPSec SA), a następnie wykorzystanie ich w procesie nawiązywania drugiej fazy połączenia IPSec (IKE Phase 2).
  • IPSec SA (IPSec Security Association) – Zestaw parametrów umożliwiających wynegocjowanie połączenia IPSec w drugiej fazie IKE (IKE Phase 2). Zawiera informacje o wykorzystywanym protokole bezpieczeństwa (Security Protocol – ESP, AH), rodzaju połączenia (Encapsulation Mode – Tunnel, Transport Mode) algorytmach szyfrowania (Encryption – DES, 3DES, AES) jak i metodzie uwierzytelniania (Authentication -MD5, SHA).
  • SA lifetime – Wartość czasu podczas trwania którego, klucze wymienione pomiędzy urządzeniami są akceptowane przez obydwa urządzenia. Po upływie określonego w sekundach czasu lifetime, sąsiednie urządzenia muszą ponownie wymienić pomiędzy sobą nowe klucze. Wartość czasu nie musi zgadzać się pomiędzy dwoma urządzeniami, w przypadku niezgodności wykorzystywana będzie najmniejsza wartość skonfigurowana na sąsiednich urządzeniach.
Zaleca się stosowanie tych samych wartości czasu SA lifetime.

Proces negocjowania połączenia IPsec (IKE Phase 1)

  • IKE Phase 1 – Faza pierwsza IKE negocjuje nawiązanie bezpiecznego, dwukierunkowego połączenia pomiędzy dwoma urządzeniami, zgodnie z parametrami określonymi w zestawieniu ISAKMP Policy, przy wykorzystaniu portu UDP 500. Faza pierwsza IKE Phase 1, wykorzystuje w tym celu wstępnie współdzielone klucze (Preshared Keys) bądź certyfikaty cyfrowe (Digital Certificates).
  • Klucze współdzielone są wykorzystywane w przypadku mniejszych implementacjach protokołu IPsec, tymczasem certyfikaty cyfrowe są stosowane w dużych sieciach wymagających wysokiego poziomu bezpieczeństwa jak i mniejszej komplikacji związanej z konfiguracją połączeń VPN-owych. Faza pierwsza wymiany IKE definiuje następujące komponenty wykorzystywane podczas negocjacji protokołu IPSec:
    • DH (Diffie-Hellman) – Protokół wykorzystywany w celu bezpiecznej wymiany klucza współdzielonego.
  • Faza pierwsza wymiany IKE może działać w dwóch trybach:
    • Main Mode – Domyślny tryb pracy protokołu IPSec, podzielony na trzy etapy:
      • Pierwszy etap – Określa jakie algorytmy oraz jakie metody haszowania będą wykorzystywane.
        • MM1 – Pierwszą wiadomość wymiany IKE wysyła inicjator do respondenta. W przypadku otrzymania większej liczby propozycji SA, respondent musi wybrać jedną na którą odpowie. Wiadomość MM1 zawiera informacje o wykorzystywanych algorytmach jak i wybranej grupie DH.
        • MM2 -Wiadomość wysłana przez respondenta do inicjatora, potwierdzająca wybraną ofertę SA.
      • Drugi etap – Wykorzystuje protokół DH w celu wymiany klucza pomiędzy urządzeniami.
        • MM3 – Inicjator rozpoczyna wymianę klucza (DH Key Exchange).
        • MM4 – Respondent odpowiada na wiadomość inicjatora wysyłając własny klucz. Na tym etapie rozpoczyna się proces nawiązywania tymczasowego dwukierunkowego połączenia ISAKMP SA.
      • Trzeci etap – Weryfikuje tożsamość drugiej strony wykorzystując jako wartość identyfikacyjną adres IP sąsiada. Głównym celem trybu Main Mode jest stworzenie bezpiecznego połączenia za pomocą którego będą przesyłane informacje umożliwiające nawiązanie końcowego połączenia IPsec.
        • MM5 – Inicjator rozpoczyna proces uwierzytelniania, wysyłając własny adres IP.
        • MM6 – Respondent odpowiada na wiadomość inicjatora kończąc proces uwierzytelniania. Na tym etapie zostaje nawiązane tymczasowe dwukierunkowe połączenie ISAKMP SA.
    • Aggressive Mode – Szybszy a tym samym mniej bezpieczny tryb wymiany IKE, prowadzący wymianę klucza bez wcześniejszego zestawienia bezpiecznego połączenia, przez co proces ten jest narażony na podsłuch. Tryb Aggressive Mode funkcjonuje w oparciu o wymianę trzech następujących wiadomości:
      • AM1 – Inicjator wysyła wiadomość zawierającą informacje, takie same jak w wiadomościach MM1, MM2, MM3 oraz MM5 trybu Main Mode.
      • AM2 – Wiadomość zawierającą informacje, takie same jak w wiadomościach MM2, MM4 oraz MM6 trybu Main Mode.
      • AM3 – Wiadomość zawierającą informacje, takie same jak w wiadomości MM5 trybu Main Mode.
W trybie Main Mode, etap drugi oraz etap trzeci jest szyfrowany, natomiast w trybie Aggressive Mode szyfrowana może być (lecz zgodnie ze standardami RFC nie musi) jedynie ostatnia z wymienianych wiadomości.
Faza pierwsza wymiany IKE wykorzystuje protokół UDP na porcie 500 (W sytuacji zastosowania protokołu NAT port zostaje zmieniony na 4500). 
Druga Faza wymiany IKE dziedziczy port po fazie pierwszej (500 bądź 4500).

Proces negocjowania połączenia IPsec (IKE Phase 2)

  • Faza druga wymiany IKE (IKE Phase 2), negocjuje wymianę danych protokołu SA, w celu nawiązania bezpiecznego, jednokierunkowego połączenia IPsec. Ponad to:
    • Negocjuje parametry protokołu IPsec SA pod ochroną istniejącego tunelu fazy pierwszej IKE Phase 1.
    • Nawiązuje asocjację protokołu IPsec SA (IPSec Security Association).
    • Okresowo renegocjuje połączenie IPsec SA w celu zapewnienia większego poziomu bezpieczeństwa.
    • Opcjonalnie dokonuje dodatkowej wymiany klucza DH.
  • Faza druga wymiany IKE stosuje jedynie jeden tryb zwany Quick Mode, aktywowany zaraz po nawiązaniu bezpiecznego połączenia w fazie pierwszej IKE. Umożliwia on wymianę informacji niezbędnych do nawiązania połączenia IPsec. Tryb Quick Mode funkcjonuje w oparciu o wymianę trzech następujących wiadomości:
    • QM1 – Pierwsza wiadomość wysłana przez inicjatora, zawiera uzgodnione algorytmy szyfrowania oraz integralności, ustalone w ramach fazy 1 wymiany IKE. A także określa jaki ruch sieciowy ma być szyfrowany.
    • QM2 – Respondent odpowiada na wiadomość inicjatora pasującymi parametrami IPsec.
    • QM3 – Po wysłaniu ostatniej wiadomości QM, następuje nawiązanie dwóch jednokierunkowych połączeń IPsec.
  • PFS (Perfect Forward Secrecy) – Opcjonalna funkcja drugiej fazy wymiany IKE (IKE Phase 2), zwiększająca poziom bezpieczeństwa procesu wymiany klucza, za pomocą dodatkowej wymiany grupy DH.

Podsumowanie wymiany wiadomości (MM, AM, QM)

  • Main Mode (6) + Quick Mode (3) = 9 wiadomości.
  • Aggressive Mode (3) + Quick Mode (3) = 6 wiadomości.

ESP & AH w fazie IKE Phase 2

  • ESP (Encapsulating Security Payload) – Zapewnia poufność osiąganą za pomocą szyfrowania, uwierzytelnienia drugiej strony połączenia jak i zapewnienia integralność danych.
  • AH (Authentication Header) – Zapewnia uwierzytelnienie, zachowanie integralności przesyłanych danych oraz ochronę przed powtórzeniami (Nie zapewniając szyfrowania danych). Protokół AH:
    • Zapewnia integralność przesyłanych danych jak i uwierzytelnia źródło komunikacji (Provides integrity and origin authentication).
    • Uwierzytelnia części nagłówka AH (Authenticates portions of the IP header).
    • Zabezpiecza transmisje przed auto-powtarzaniem pakietów (Anti-replay service).
    • Nie zapewnia poufności, szyfrowania (No Confidentiality).
Porównanie AH / ESP / Tunel / Transport Mode
  • Tunelowany ESP (Tunneled Encapsulating Security Payload) –
  • Tunelowany AH (Tunneled Authentication Header) –
  • Transportowany ESP (Transported Encapsulating Security Payload) –
  • Transportowany AH (Transported Authentication Header) –

IKEv2 (Internet Key Exchange v2)

  • Protokół IKE w wersji drugiej (IKEv2), wprowadza wiele usprawnień względem wersji pierwszej, w tym nowe nazewnictwo względem pary wiadomości Request / Response zwane Exchange.
    • IKE_SA_INIT – Pierwsza wymiana Exchange, negocjuje wykorzystywane algorytmy szyfrowania / przeprowadza wymianę klucza za pomocą wybranej grupy DH.
    • IKE_AUTH – Druga wymiana Exchange, uwierzytelnia wiadomości pierwszej wymiany IKE / wymienia tożsamości oraz certyfikaty. Druga wymiana IKE nawiązuje połączenie IKE SA oraz Child SA (IPsec SA), stanowi odpowiednik wiadomości MM5-6, QM1-2, pierwszej wersji protokołu IKE.
  • Zalety protokołu IKE w wersji drugiej (IKEv2):
    • Increased Efficiency.
    • Elliptic Curve Digital Signature Algorithm (ECDSA-SIG).
    • Extensible Authentication Protocol (EAP).
    • NGE (Next Generation Encryption).
    • Asymmetric Authentication.

Pozostałe tematy związane z protokołem IPSec

PDFPRINT

Robert T Kucharski

Cisco Network Engineer in GPW.

Dodaj komentarz