Komparatywna analiza protokołów Authentication Header oraz Encapsulating Security Payload w architekturze IPsec.
- Stos IPsec (RFC 4301) definiuje dwa protokoły bezpieczeństwa warstwy sieciowej:
- AH (Authentication Header - IP Protocol 51, RFC 4302):
- Zapewnia wyłącznie uwierzytelnienie nadawcy i integralność danych (brak szyfrowania - dane jawne).
- Oblicza podpis ICV z całego pakietu IP (w tym nagłówka zewnętrznego).
- Całkowicie niezgodny z translacją NAT: Modyfikacja adresu IP przez router NAT unieważnia sumę ICV i powoduje odrzucenie pakietu. Protokół wycofany z nowoczesnych wdrożeń.
- ESP (Encapsulating Security Payload - IP Protocol 50, RFC 4303):
- Zapewnia pełną poufność (szyfrowanie), integralność oraz ochronę przed atakami powtórzeniowymi.
- Szyfruje i podpisuje ładunek pakietu, pozostawiając zewnętrzny nagłówek IP nienaruszony.
- W pełni współpracuje z NAT za pośrednictwem enkapsulacji UDP 4500 (NAT-T).
Wartość kontrolna integralności ICV (Integrity Check Value): Kryptograficzna suma kontrolna obliczana za pomocą funkcji skrótu z kluczem (HMAC), dołączana do pakietu IPsec w celu weryfikacji nienaruszalności danych i tożsamości nadawcy.
W architekturze IPsec bezpośrednią realizację usług bezpieczeństwa powierzono dwóm odrębnym protokołom warstwy sieciowej: Authentication Header (AH) oraz Encapsulating Security Payload (ESP). Protokoły te różnią się zakresem świadczonej ochrony kryptograficznej oraz budową nagłówków pakietu. Szczegółowe informacje normatywne i techniczne publikuje IETF RFC 4302 (Protokół IPsec AH).
Protokół Authentication Header (AH), zdefiniowany w dokumencie RFC 4302, operuje z numerem protokołu IP 51. Został zaprojektowany w celu zapewnienia bezpołączeniowej integralności danych, uwierzytelniania źródła pakietów oraz ochrony przed powtórzeniami. Kluczową cechą protokołu AH jest fakt, że nie zapewnia on jakiegokolwiek szyfrowania danych - ładunek pakietu podróżuje w postaci jawnej. Co więcej, AH oblicza sumę kontrolną ICV z całego pakietu, włączając niezmienne pola zewnętrznego nagłówka IP.
Z kolei protokół Encapsulating Security Payload (ESP), ustandaryzowany w RFC 4303, operuje z numerem protokołu IP 50. Zapewnia on pełen wachlarz usług bezpieczeństwa: poufność poprzez szyfrowanie ładunku, integralność danych, uwierzytelnienie źródła oraz ochronę przed atakami powtórzeniowymi. W protokole ESP podpis ICV obejmuje wyłącznie nagłówek ESP, zaszyfrowany ładunek oraz stopkę ESP (Trailer), pozostawiając zewnętrzny nagłówek IP nienaruszony.
Ta fundamentalna różnica w konstrukcji przesądziła o losach obu protokołów w nowoczesnych sieciach teleinformatycznych. Ponieważ protokół AH chroni nagłówek IP, jakakolwiek modyfikacja adresu przez router NAT natychmiast niszczy podpis ICV i skutkuje odrzuceniem pakietu przez odbiorcę. W efekcie protokół AH jest całkowicie bezużyteczny w środowiskach z translacją adresów i został w 99% wdrożeń produkcyjnych zastąpiony przez protokół ESP wspierany mechanizmem NAT-T.
Wyjaśnienie skrótów użytych na slajdzie:
AH - Authentication Header - Protokół integralności i uwierzytelniania IPsec o numerze IP 51.
ESP - Encapsulating Security Payload - Protokół szyfrowania i integralności IPsec o numerze IP 50.
ICV - Integrity Check Value - Wartość kontrolna integralności weryfikująca nienaruszalność pakietu.
NAT - Network Address Translation - Translacja adresów sieciowych unieważniająca podpisy w protokole AH.
HMAC - Hash-based Message Authentication Code - Mechanizm uwierzytelniania wiadomości oparty na funkcji skrótu.