Tunel po remoncie

Wzmocnione bariery

Problemem, który pojawił się stosunkowo niedawno, jest wydajność szyfrowania. Jako operacja złożona matematycznie, często stanowi wąskie gardło podczas wymiany danych przy zastosowaniu IPsec. Twórcy oryginalnej specyfikacji wzięli pod uwagę rosnącą przepustowość sieci, ale w praktyce w sieciach gigabitowych problemu wydajności nie udało się wyeliminować.

W nowym IPsec uwzględniono nowy amerykański (cywilny) standard szyfrowania AES. Obsługują go zarówno IKEv2, jak i ESPv3. Z punktu widzenia wydajności to znaczący postęp. AES jest 4, 5 razy szybszy niż porównywalny pod względem bezpieczeństwa 3DES. Umożliwia ponadto stosowanie kluczy szyfrujących o długości do 256 bitów, podczas gdy 3DES tylko 168 bitów. Jednocześnie zrezygnowano z obowiązkowego dotychczas szyfru DES z pojedynczym kluczem o długości 40 bitów (obecnie to zdecydowanie niewystarczający).

Wprowadzono nowe grupy Diffiego-Hellmana wykorzystywane do bezpiecznej wymiany klucza sesyjnego w IKE. Do tej pory standard (RFC2409) definiował grupy MODP o długościach 768-1024 bitów, przy czym wg obecnych standardów już ta druga wartość stanowi absolutne minimum. Nowy dokument RFC odnoszący się do szyfrowania w IPsec - RFC3526 - wprowadza grupy o długości do 8192 bitów, co jest granicą wydajności sprzętu używanego współcześnie i w najbliższej przyszłości. Oprócz tego w nowej wersji IPsec usankcjonowano także (nieobjętą wcześniejszym RFC) grupę MODP-1536, która była implementowana tylko przez niektórych producentów.

Protokoły IKEv2 i ESPv3 można rozszerzać o nowe oficjalne lub "prywatne" algorytmy kryptograficzne w postaci modułów. Równocześnie specyfikacja zawiera bardzo jasno określone dwa typy ustawień domyślnych (suites): "konserwatywny" 3DES-SHA1-MODP1024 i "nowoczesny" AES-XCBC-MODP2048. Skróty te należy czytać następująco: szyfr-funkcja ochrony integralności-moduł wymiany klucza.

Zwiększono rolę metod wymiany klucza opartych na technikach kryptograficznych innych niż potęgowanie modulo, w tym krzywych eliptycznych (ECC). Ich główną zaletą są znacznie mniejsze wymagania wobec mocy procesora i wielkości pamięci, co pozwoli stosować szyfrowanie w znacznie szerszej gamie urządzeń i przyspieszy szyfrowanie czysto programowe. Niedawny zakup licencji na rozwiązania ECC firmy Certicom (lidera w tej dziedzinie) przez amerykańską agencję bezpieczeństwa NSA świadczy o tym, że technologii tej można ufać.

Czekając na duży ruch

Widać wyraźnie, że tym razem organizacja IETF położyła nacisk na wybór takich algorytmów szyfrowania, które działają wydajnie w implementacjach zarówno sprzętowych, jak i w czysto programowych. Stoi to w wyraźnej sprzeczności z poprzednio preferowanym szyfrem 3DES, który działał szybko jedynie w warstwie sprzętowej. Implementacja programowa 3DES zawierała elementy celowo spowalniające jego działanie.

Znaczne przyspieszenie IPsec i zmniejszenie wymagań w stosunku do mocy obliczeniowej stwarza nowe możliwości zastosowań, np. w urządzeniach typu PDA czy telefonach IP. W połączeniu z mechanizmami pozwalającymi bez problemu obchodzić kłopotliwą dotychczas translację NAT i identyfikację węzłów opartą na certyfikatach cyfrowych zamiast jedynie na adresach IP daje nadzieję na to, że IPsec godnie stawi czoło rozwiązaniom tunelowym opartym na SSL. W zastosowaniach typu sieć-sieć (w odróżnieniu od połączeń typu klient-bramka VPN) trudno zresztą mówić o konkurowaniu - IPsec jest po prostu niezastąpiony.

Równoległe przyspieszenie

Nowy IPsec zwiększa wydajność szyfrowania, wprowadzając nowe tryby pracy dla szyfrów blokowych. Chodzi głównie o zrównoleglenie operacji uwierzytelniania i szyfrowania. Do tej pory operacje te były wykonywane sekwencyjnie – najpierw szyfrowanie, a następnie uwierzytelnianie za pomocą kodu HMAC, co było i jest przyczyną opóźnień.

IETF rozpatruje obecnie kilka propozycji trybów szyfrująco-uwierzytelniających, m.in. CWC (Carter-Wegman Counter), EAX i CCM (Counter CBC MAC). Szczególnie interesujący jest tryb CWC, zaprojektowany w sposób umożliwiający przetwarzanie równoległe w implementacjach sprzętowych. Każdy z wymienionych trybów wykorzystuje schemat szyfrowania AES.

Najważniejsze zmiany w Ipsec
  • NAT Traversal - mechanizm wykorzystujący UDP, pozwalający bez problemu tworzyć tunele IPsec pomiędzy węzłami niemającymi publicznych adresów IP

  • Automatyczne wykrywanie nieaktywnych węzłów

  • AES jako domyślny algorytm szyfrujący (4-5-krotne przyspieszenie względem 3DES)

  • Generowanie kluczy sesyjnych z wykorzystaniem metod opartych na krzywych eliptycznych - mniejsze wymagania w stosunku do mocy procesora i wielkości pamięci niż potęgowanie modulo

  • Klucze sesyjne o długości do 8192 bitów, oficjalne wsparcie dla kluczy 1536-bitowych

  • Zrównoleglenie operacji szyfrowania i uwierzytelniania - znaczne zmniejszenie opóźnień

  • 64-bitowe numery sekwencyjne - brak potrzeby częstej renegocjacji tunelu na szybkich łączach

TOP 200