Internet i ochrona ruchu IP
Internet przenosi pakiety między sieciami za pośrednictwem infrastruktury, której operatorzy komunikujących się stron nie kontrolują w całości. Osoba mająca dostęp do fragmentu trasy może obserwować metadane ruchu, a przy braku dodatkowych zabezpieczeń może też próbować odczytać lub zmienić przesyłane dane.
Wrażliwe dokumenty firmowe, dane finansowe i informacje medyczne wymagają poufności, integralności oraz uwierzytelnienia stron. VPN realizuje te wymagania przez utworzenie logicznego kanału ochrony nad istniejącą siecią publiczną. Jednym z zestawów protokołów używanych do tego celu jest IPsec. W zależności od wdrożenia VPN łączy zdalnego użytkownika z siecią organizacji albo łączy dwie sieci lokalne przez bramy. Zakres ochrony wynika z punktów zakończenia tunelu, wybranych algorytmów i reguł polityki bezpieczeństwa. Sam VPN nie usuwa wszystkich metadanych ruchu, takich jak adresy bram lub czas komunikacji.
Czym jest Wirtualna Sieć Prywatna (VPN)?
tworzy logiczny kanał ochrony dla danych przesyłanych przez publiczną sieć. Nazwa wskazuje na dwie właściwości:
- Wirtualna:Sieć jest "wirtualna", ponieważ nie opiera się na własnych, dedykowanych fizycznych przewodach. Zamiast tego, wykorzystuje istniejącą publiczną infrastrukturę internetową. Tworzy logiczną, zdefiniowaną programowo sieć nałożoną na sieć fizyczną.
- Prywatna: Ochrona wynika z zastosowanych protokołów bezpieczeństwa. Konfiguracja może szyfrować dane, sprawdzać ich integralność i uwierzytelniać strony komunikacji. VPN nie zapewnia sam z siebie anonimowości.
Powszechne zastosowania VPN obejmują pracownika pracującego z domu, który bezpiecznie łączy się z wewnętrzną siecią firmową, lub dwa biura firmy w różnych miastach (np. w Warszawie i Krakowie), które bezpiecznie łączą swoje sieci lokalne przez internet, sprawiając, że działają one jak jedna, prywatna sieć. W obu przypadkach administrator określa, jaki ruch może wejść do tunelu, jakie adresy są chronione oraz jak długo obowiązują klucze. Ochrona obejmuje ruch wskazany konfiguracją, dlatego poprawne reguły zapory i routingu pozostają konieczne.
IPsec: zestaw protokołów VPN
Do ochrony ruchu IP służy ustandaryzowany zestaw reguł i protokołów. Jednym z takich zestawów jest , skrót od Internet Protocol Security.
IPsec to zestaw protokołów działających w warstwie sieciowej, czyli w warstwie 3 modelu OSI. Może chronić ruch korzystający z protokołu IP, w tym HTTP przez TCP, FTP przez TCP, transmisję wideo przez UDP oraz komunikaty ICMP. Aplikacja nie musi implementować IPsec, ponieważ ochrona jest nakładana poniżej warstwy aplikacji. Implementacja korzysta z polityki bezpieczeństwa określającej, który ruch ma być chroniony, odrzucony albo przepuszczony bez IPsec. Parametry aktywnych skojarzeń są utrzymywane w bazie SAD, a polityka ruchu w bazie SPD. Obie bazy umożliwiają powiązanie pakietu z właściwą SA.
IPsec zapewnia bezpieczeństwo za pomocą dwóch głównych protokołów: Nagłówka uwierzytelniającego (AH) oraz hermetyzującego nagłówka bezpieczeństwa (ESP).
Główny Protokół IPsec 1: Nagłówek Uwierzytelniający (AH)
Głównym celem protokołu jest zapewnienie bezpołączeniowej integralności i uwierzytelnienia pochodzenia danych. Może także chronić przed powtórzeniem pakietu.
- Integralność Danych: AH oblicza wartość kontroli integralności dla chronionych pól pakietu. Odbiorca weryfikuje tę wartość. Niezgodność oznacza zmianę danych lub nieprawidłowe uwierzytelnienie pakietu.
- Uwierzytelnienie Pochodzenia Danych: AH pozwala odbiorcy sprawdzić, czy pakiet pochodzi od strony posiadającej właściwy klucz uwierzytelniający.
AH nie zapewnia poufności i nie szyfruje danych. Osoba, która przechwyci pakiet chroniony wyłącznie przez AH, może odczytać jego zawartość. Protokół zapewnia integralność, uwierzytelnienie pochodzenia danych oraz opcjonalną ochronę przed powtórzeniem. Weryfikacja obejmuje możliwie dużą część nagłówka IP, lecz pola zmieniane podczas przekazywania pakietu nie mogą być wiarygodnie uwierzytelnione. Z tego powodu AH musi uwzględniać reguły dotyczące pól zmiennych w trasie.
Główny Protokół IPsec 2: Hermetyzujący Nagłówek Bezpieczeństwa (ESP)
Protokół zapewnia poufność przez szyfrowanie. Może także chronić integralność i pochodzenie danych.
ESP bierze ładunek danych pakietu i szyfruje go przy użyciu algorytmu takiego jak AES, tworząc szyfrogram. Tylko odbiorca posiadający odpowiedni klucz może odszyfrować dane i odczytać ich zawartość.
Oprócz szyfrowania ESP może zapewniać bezpołączeniową integralność, uwierzytelnienie pochodzenia danych i ochronę przed powtórzeniem. Zgodnie z architekturą IPsec implementacja musi obsługiwać ESP, natomiast obsługa AH jest opcjonalna. W praktyce ESP często wystarcza do spełnienia wymagań ochrony ruchu VPN. Współczesne użycie ESP zwykle łączy poufność z integralnością i uwierzytelnieniem pochodzenia. Sama konfiguracja szyfrowania bez sprawdzania integralności nie jest zalecanym profilem ochrony, ponieważ odbiorca nie wykrywa wtedy zmiany szyfrogramu.
Tryby Działania IPsec: Transportowy vs. Tunelowy
IPsec może działać w jednym z dwóch odrębnych trybów, w zależności od tego, które części pakietu IP wymagają ochrony. Wybór trybu determinuje rodzaj tworzonej sieci VPN.
Tryb Transportowy
Tryb transportowy służy do zabezpieczania komunikacji między dwoma konkretnymi punktami końcowymi (hostami). W tym trybie IPsec chroni tylko ładunek oryginalnego pakietu IP. Oryginalny nagłówek IP pozostaje nienaruszony i niezaszyfrowany.
Przy użyciu ESP treść danych jest chroniona, lecz podsłuchujący nadal może zobaczyć oryginalne adresy IP źródła i przeznaczenia, ujawniając, kto z kim rozmawia. Ten tryb jest zazwyczaj używany do zabezpieczenia komunikacji host-do-hosta wewnątrz zaufanej sieci. Tryb transportowy zachowuje oryginalny nagłówek dla routingu, dlatego adresy i część metadanych pozostają widoczne. Jest używany przede wszystkim wtedy, gdy oba hosty implementują IPsec i same są punktami końcowymi SA.
Tryb Tunelowy
Tryb tunelowy służy do ochrony komunikacji między dwiema bramami, takimi jak routery lub zapory, albo między zdalnym hostem a bramą. IPsec obejmuje cały oryginalny pakiet IP, czyli nagłówek i ładunek, a następnie umieszcza go w nowym pakiecie IP.
Ten nowy, zewnętrzny pakiet IP używa adresów IP bram VPN jako swojego źródła i przeznaczenia. Przy tunelowym ESP oryginalny pakiet, w tym wewnętrzne adresy IP, jest szyfrowany. Podsłuchujący w internecie może zobaczyć, że brama w Warszawie komunikuje się z bramą w Krakowie, lecz nie odczyta wewnętrznych adresów z zaszyfrowanego pakietu. Dlatego tryb tunelowy ESP jest typowy zarówno dla sieci VPN typu site-to-site, jak i zdalnego dostępu. Zewnętrzny nagłówek zapewnia trasowanie między punktami końcowymi tunelu, a wewnętrzny pakiet jest przetwarzany zgodnie z SA. Widoczność adresów bram oraz rozmiaru i czasu pakietów nadal może ujawniać część informacji o przepływie.
Parametry ochrony: Skojarzenia Zabezpieczeń (SA)
Zanim dwa urządzenia rozpoczną ochronę ruchu za pomocą AH lub ESP, muszą uzgodnić parametry. To uzgodnienie nazywa się . SA określa sposób przetwarzania ruchu w jednym kierunku.
Kluczowe parametry zdefiniowane w ramach SA obejmują:
- Protokół bezpieczeństwa do użycia (AH lub ESP).
- Specyficzny algorytm szyfrowania (np. AES-256) oraz algorytm integralności i uwierzytelniania (np. HMAC-SHA-256).
- Tajne klucze używane do szyfrowania i uwierzytelniania.
- Czas życia kluczy (jak długo są ważne, zanim trzeba wygenerować nowe).
- Tryb działania (Transportowy lub Tunelowy).
Zasadniczą właściwością SA jest to, że są one jednokierunkowe, co oznacza, że definiują reguły tylko dla ruchu płynącego w jednym kierunku. Dla typowej, dwukierunkowej rozmowy wymagane są dwa oddzielne SA: jedno dla ruchu z A do B, i drugie dla ruchu z B do A. Odbiorca wybiera SA na podstawie identyfikatora oraz selektorów ruchu. Rekord SA wskazuje algorytmy, klucze, tryb i licznik używany do ochrony przed powtórzeniem pakietu.
Negocjowanie parametrów: Internet Key Exchange (IKE)
Dwa urządzenia muszą uzgodnić parametry SA i wygenerować wspólne klucze w sieci, którą może obserwować napastnik. Protokół IKE rozwiązuje ten problem przez negocjację algorytmów, wymianę materiału kluczowego i uwierzytelnienie stron.
Rozwiązaniem jest protokół . IKE automatyzuje negocjację SA i zarządzanie kluczami. W IKEv2 używane są wymiany IKE_SA_INIT, IKE_AUTH oraz CREATE_CHILD_SA.
IKEv2: IKE_SA_INIT i IKE_AUTH
Wymiana IKE_SA_INIT negocjuje algorytmy kryptograficzne, wartości nonce i materiał wymiany Diffiego-Hellmana. Wymiana IKE_AUTH uwierzytelnia strony, na przykład za pomocą klucza współdzielonego lub certyfikatu, oraz ustanawia IKE SA i pierwsze Child SA. Dalsze negocjacje są chronione przez ustanowioną IKE SA. IKEv2 obsługuje także ponowne uwierzytelnienie i ponowne tworzenie kluczy. Każdy Child SA ma własne selektory ruchu i klucze, a IKE SA chroni wymianę sterującą między stronami.
IKEv2: CREATE_CHILD_SA
Wymiana CREATE_CHILD_SA tworzy dodatkowe Child SA albo odświeża istniejące. Strony uzgadniają w niej protokół, algorytmy i klucze dla ochrony danych użytkownika. W IKEv1 podobną czynność określano jako Fazę 2. W IKEv2 wymiana może być inicjowana przez dowolną stronę i odbywa się w ramach ochrony IKE SA.