Bezpieczeństwo danych w Internecie

Bezpieczeństwo protokołu IP

Grzegorz Blinowski Instytut Informatyki PW
Nowowiejska 15/19
00-665 Warszawa
tel. 660-7995
e-mail: gjb@ii.pw.edu.pl

"CC"
Puławska 107A/2
02-595 Warszawa
tel/fax (22) 44-35-62
e-mail: cc@medianet.com.pl

W poprzednich artykułach omówiłem aspekty bezpieczeństwa danych przesyłanych w Internecie w odniesieniu do usług poziomu aplikacyjnego, takich jak poczta elektroniczna i WWW. Dociekliwy czytelnik zastanawiał się być może nad tym, czy nie lepsze od stosowania odrębnych metod bezpieczeństwa dla różnych usług byłoby rozwiązanie uniwersalne zabezpieczające wszystkie usługi internetowe w jednorodny sposób. Rozwiązanie takie istnieje w postaci bezpiecznego protokołu IP, który zostanie omówiony w tym artykule kończącym cykl związany z bezpieczeństwem Internetu.

Podstawy bezpiecznego IP

Oryginalna specyfikacja protokołu IPv4 (podstawowy protokół warstwy sieciowej Internetu) nie poruszała praktycznie żadnych aspektów bezpieczeństwa. Dzięki dość elastycznej konstrukcji protokołu IP udało się go jednak rozszerzyć o mechanizmy bezpieczeństwa. Równolegle prowadzone były prace na protokołem IP nowej generacji (IPv6). W efekcie IPv4 i nowy IPv6 wyposażono w identyczne koncepcyjnie (różniące się nieco implementacją) mechanizmy zabezpieczeń.

Jakich cech związanych z bezpieczeństwem możemy oczekiwać po rozszerzonym IPv4 i nowym IPv6? Lista mechanizmów bezpieczeństwa IP powinna wyglądać znajomo, gdyż podobne warunki omawiane były w poprzednich artykułach cyklu:

Trzy pierwsze wymagania są spełnione poprzez zastosowanie nagłówka uwierzytelniającego - AH (Authentication Header). AH nie zapewnia tajności przesyłanej informacji, jak się jednak okazuje nie jest to przez użytkowników zawsze wymagane.

Tajność zapewnia odrębny mechanizm - ESP (Encapsulated Security Payload), polegający na szyfrowaniu całego pakietu IP lub tylko przenoszonych przez niego danych.

AH i ESP mogą być używane łącznie w celu jednoczesnego zapewnienia integralności, uwierzytelniania, niemożności wyparcia się oraz tajności.

Opisane wyżej rozdzielenie różnych aspektów bezpieczeństwa na dwa odrębne mechanizmy ma kilka powodów. Najistotniejsze to wydajność oraz kwestie prawne:

Mechanizmy bezpiecznego IP mogą być stosowane w sieci zarówno bezpośrednio pomiędzy komunikującymi się komputerami, jak i pośrednio z wykorzystaniem "bezpiecznych bram" (security gateways). To drugie rozwiązanie może być szczególnie przydatne dla firm o rozproszonej strukturze terytorialnej: lokalne sieci uważane za bezpieczne łączą się przez publiczną sieć (Internet) za pośrednictwem komputerów implementujących AH i ESP. Mamy więc tu do czynienia z praktyczną realizacją Wirtualnych Sieci Prywatnych (VPN).

Asocjacja Bezpieczeństwa IP

Centralną koncepcją dla bezpiecznej łączności IP (zarówno z wykorzystaniem AH jak i ESP) jest "asocjacja bezpieczeństwa" (security associations). Asocjację bezpieczeństwa tworzą adres przeznaczenia oraz identyfikator bloku parametrów - SPI (security parameter index). Jak widać, asocjacja bezpieczeństwa jest jednokierunkowa, gdyż zawiera tylko adres przeznaczenia. W typowym przypadku łączności dwukierunkowej utworzone zostają dwie asocjacje. Blok parametrów zawiera wszystkie dane niezbędne do nawiązania i podtrzymania bezpiecznej łączności:

Podkreślmy, że dane te nie są przesyłane w każdym pakiecie IP, przesyłany jest wyłącznie identyfikator bloku parametrów, czyli SPI, będący liczbą wybieraną w sposób pseudo-losowy przez system.

AH - Bezpieczny Nagłówek IP

Bezpieczny Nagłówek zostaje umieszczony za głównym nagłówkiem IP. W obecnie obowiązującym i "nowym" IP rozbudowany pakiet wygląda następująco:

Pakiet IPv4:
Nagłówek IPv4 AH Dane

Pakiet IPv6
Nagłówek IPv6 Routing AH Inne Dane

Główną zawartość AH stanowi wygenerowany przy pomocy odpowiedniej funkcji kryptograficzny skrót całego pakietu. Zauważmy, że zawartość niektórych pól nagłówka zmienia się podczas wędrówki pakietu przez routery - przyjmuje się, że wartości tych zmiennych pól wynoszą zero. Bezpieczny nagłówek ma następującą postać:

AH:
wskaźnik nast. nagłówka długość zarezerwowane
SPI
Dane walidujące pakiet
długość pola zależy od przyjętej metody kodowania, którą wyznacza adres odbiorcy i SPI

<------------------------------------- 32 bity ------------------------------------------->

AH zawiera więc SPI, który określa sposób i klucze zabezpieczenia oraz dane walidujące stanowiące b. trudny do podrobienia "podpis" całego pakietu.

Z powyższego opisu jasno wynika, że AH chroni cały pakiet IP przed modyfikacją - dane walidujące zabezpieczają zarówno nagłówek, a więc adres nadawcy i odbiorcy, jak i samą zawartość pakietu. AH nie zapewnia jednak tajności - dane nadal przesyłane są "otwartym tekstem".

Bezpieczny i tajny pakiet IP - metoda ESP

ESP zapewnia integralność i tajność informacji poprzez zakodowanie całości lub części pakietu IP i przesłaniu go jako danych zwykłego pakietu IP. ESP może występować w dwu postaciach:

Pierwsze rozwiązanie zapewnia bardziej kompleksową ochronę, drugie rozwiązanie jest bardziej oszczędne pod względem pasma przenoszenia oraz wymaga nieco mniejszego nakładu czasu związanego z kodowaniem i dekodowaniem danych,

Pakiet IP przenoszący ESP ma następującą postać:
Nagłówek IP inne nagłówki Nagłówek ESP zaszyfrowane dane

Nagłówek ESP składa się z dwu pól: indeksu SPI, którego rola jest taka sama jak w AH, oraz pola zmiennej długości zawierającego zaszyfrowane informacje związane z przyjętą metodą kodowania danych.

Odkodowanie przez odbiorcę danych przesłanych w standardzie ESP odbywa się następująco:

Tunelowanie: odbiorca usuwa nagłówek IP i inne opcjonalne nagłówki, następnie na podstawie SPI z nagłówka ESP uzyskuje parametry kodowania dla danej asocjacji bezpieczeństwa i odkodowuje zaszyfrowany pakiet IP. Uzyskany w ten sposób pakiet IP jest traktowany, zgodnie ze specyfikacją protokołu IP, tzn. tak jak pakiet, który nadszedłby "normalną" drogą.

Transport-mode: odbiorca zapamiętuje nagłówek IP i inne opcjonalne nagłówki, następnie na podstawie SPI z nagłówka ESP uzyskuje parametry kodowania dla danej asocjacji bezpieczeństwa i odkodowuje zaszyfrowane dane warstwy transportowej. Dane zostają dołączone do nagłówków, a uzyskany w ten sposób pakiet IP jest traktowany, zgodnie ze specyfikacją protokołu IP, tzn. tak jak pakiet, który nadszedłby "normalną" drogą.

Kombinacja AH i ESP

Standardy dopuszczają też łączenie metod AH i ESP do pełniejszego zabezpieczenia przesyłanych pakietów. Określone są dwa podejścia. Możliwe jest zakodowanie danych metodą ESP, na następnie zabezpieczenie całego pakietu nagłówkiem AH. Alternatywnie AH może zostać umieszczony wewnątrz zakodowanego danych ESP. Kombinacja ESP i AH zapewnia integralność i tajność przesyłanych informacji, oczywiście kosztem większego zajęcia pasma sieci oraz zwiększeniem nakładu czasu na kodowanie i dekodowanie.

Wykrywanie "włamywaczy"

Standardy ESP i AH dokładnie określają akcje jakie musi podjąć oprogramowanie w przypadku wykrycia naruszenia integralności przesyłanych informacji, zarówno nagłówków jak i danych. W powyższych opisach, zakładaliśmy milcząco, że odkodowanie danych/pakietu lub zweryfikowanie skrótu pakietu powiedzie się. Mogą jednak wystąpić sytuacje sygnalizujące możliwość włamania, np.: otrzymanie nielegalnego SPI, niezgodność kluczy kodowania, niezgodność podpisu, itp. Standard wymaga, aby takie zdarzenia były zapisywane w dzienniku systemowym,. Określono, że zapisywany powinien być co najmniej: czas i data wystąpienia zdarzenia, SPI, adres nadawcy i odbiorcy, niektóre dane z nagłówka IP. Jak widać kwestie bezpieczeństwa twórcy standardu potraktowali poważnie.

Ochrona Kryptograficzna

Ochrona AH i ESP może wykorzystywać różne algorytmy kryptograficzne. AH opiera się na jednokierunkowej funkcji skrótu, takich jak np. MD5 lub jej odmianach. Twórcy specyfikacji AH zalecają oczywiście stosowanie funkcji "mocnych kryptograficznie", tzn. takich, dla których znalezienie danych innych od oryginalnych generujących ten sam skrót jest b. trudne. MD5 nie gwarantuje niemożność wyparcia się przez nadawcę faktu wysłania komunikatu, osiągnięcie tego jest możliwe w wypadku zastosowania kodowania niesymetrycznego takiego jak np. algorytm RSA.

Szyfrowanie ESP wykorzystuje standardowo kodowanie DES-CBC, będące "wzmocnioną" odmianą znanego algorytmu DES, mogą być też wykorzystane inne algorytmy

Zarządzanie kluczami

Opisując mechanizmy AH i ESP z kryptograficznego punktu widzenia pomijałem do tej pory kwestie zarządzania kluczami. AH i ESP wykorzystują indeks bloku parametrów bezpieczeństwa i adres docelowy do ustalenia jakie klucze oraz stałe pomocnicze zostają wykorzystane do kodowania i dekodowania danych. Należy zadać pytanie: w jaki sposób odpowiednie klucze zostają przesłane do komputera. Standardy AH i ESP stwierdzają, że zarządzanie kluczami realizowane jest przy pomocy odrębnych protokołów. Sugeruje się kilka metod ustalenia kluczy:

Bezpieczne IP w praktyce komercyjnej

Omówione w tym artykule rozszerzenia IP zostały wprowadzone w 1995 i nie przyjęły się jeszcze powszechnie w produktach komercyjnych. Pamiętajmy, że mechanizmy AH/ESP dotyczą zarówno powszechnie używanego IPv4 jak i nowego, czekającego jeszcze na rozpowszechnienie IPv6. O ile implementowanie AH/ESP jest opcjonalne dla IPv4, to dla IPv6 jest ono wymagane. Należy się więc spodziewać, że powszechnego bezpiecznego IP doczekamy się dopiero po masowym rozprzestrzenieniu się IPv6, co nastąpi prawdopodobnie w ciągu 3-5 lat.

Głównymi dostawcami technologii AH/ESP są producenci routerów. Technologia ta jest obecnie dostępna jako opcja sprzętowo-programowa do istniejących rozwiązań (CISCO - PIX), lub jako wyspecjalizowany sprzęt sieciowy (Network Systems Co. - BorderGuard). Oczywiście AH/ESP implementują też (na razie nieliczni) dostawcy oprogramowania IPv6, np. FTP Software. Nie można więc jeszcze mówić o powszechnym przyjmowaniu się AH/ESP w Internecie, w tej chwili rozwiązanie to zarezerwowane jest praktycznie dla korporacyjnych systemów VPN. Fakt, że wielu czołowych producentów sprzętu sieciowego nie oferuje jeszcze opcji wykorzystujących AH/ESP świadczy o ciągłej egzotyczności tej technologii.

Literatura

Standard AH/ESP opisany jest w dokumentach RFC 1825 - 1927, dostępnych np. pod adresem http://sunsite.icm.edu.pl/pub/rfc/


Grzegorz Blinowski pracuje w Instytucie Informatyki Politechniki Warszawskiej, jest też właścielem firmy konsultingowej "CC" zajmującej się doradztwem w zakresie architektur klient-serwer, Internetu i bezpieczeństwa systemów komputerowych.
(C) 1996 Grzegorz Blinowski i "CC". Zabrania się kopiowania, rozpowszechniania w jakiejkolwiek postaci, części lub całości tej pracy bez zgody autora. Dozwolone jest sporządzenie jednej kopii dla potrzeb własnych.