EFEKTYWNA BEZPIECZNA TRANSMISJA DANYCH W SIECIACH
Transkrypt
EFEKTYWNA BEZPIECZNA TRANSMISJA DANYCH W SIECIACH
mgr inż. Urszula Ostrowska Wojskowa Akademia Techniczna, Wydział Elektroniki, Instytut Telekomunikacji, ul. Gen. S. Kaliskiego 2, 00-908 Warszawa tel.: 0-22 6830517, fax: 0-22 6839038, e-mail: [email protected] EFEKTYWNA BEZPIECZNA TRANSMISJA DANYCH W SIECIACH WĄSKOPASMOWYCH Wstęp Proponowane w zaleceniach mechanizmy sieci IP są przeznaczone dla szybkich i niezawodnych sieci lokalnych oraz jeszcze szybszych sieci szkieletowych miejskich i rozległych. Obecnie uruchamiane są coraz to nowsze usługi jak telefonia VoIP, telekonferencje, radio i telewizja. Usługi te niestety znacznie obciążają wykorzystanie łączy dostępowych, mogą również powodować przeciążenia w sieci. Szerokopasmowe sieci IP są podatne na przenoszenie zwiększonego ruchu, ale gdy usługi przenoszone są w radiowych sieciach wąskopasmowych, realizacja usług telefonicznych i transmisji danych może być utrudniona, a nawet niemożliwa. Dodatkowo projektanci i architekci protokołów rodziny IPv6, aby uniknąć problemów z ograniczeniami funkcjonalnymi, wprowadzili do niego duże nadmiary informacyjne, np. w celu realizacji adresacji. Czasami adresacja realizowana jest wielopoziomowo - ma to miejsce, np. w przypadku wykorzystania protokołu IPSec w trybie tunelowym [1-6]. W tym trybie pakiety są szyfrowane wraz z nagłówkami, a następnie dołączany jest nowy nagłówek IPSec. Opisana problematyka stała się przyczyną tego, że zajęłam się mechanizmami kompresji nagłówków i multipleksacją pakietów IPv6 różnych usług. Proponowana przeze mnie metoda kompresji i multipleksacji pozwala na znaczne zmniejszenie nadmiarowości informacyjnej, a co za tym idzie zmniejszenie zapotrzebowania na przepustowość przez usługi VoIPv6 zabezpieczone mechanizmami IPSec. 1. Architektura protokołu IPSec Architektura IPSec opisana została w RFC 2401 [13]. Głównym jej zadaniem jest zapewnienie usług bezpieczeństwa w warstwie sieciowej pomiędzy dwoma użytkownikami końcowymi. Podstawowymi komponentami architektury bezpieczeństwa IPSec są (rys.1.): − protokoły bezpieczeństwa: protokół uwierzytelniania AH (Authentication Header) oraz protokół szyfrowania ESP (Encapsulating Security Payload); − asocjacje bezpieczeństwa SA (Security Association); − zarządzanie kluczami (Key Management) „ręczne” i automatyczne; − algorytmy wykorzystywane w szyfrowaniu i uwierzytelnianiu. Architektura Protokół ESP Protokół AH Algorytm szyfrowania Algorytm uwierzytelniania Dziedzina implementacji Zarządzanie kluczami Rys. 1. Zależności pomiędzy elementami architektury bezpieczeństwa RFC 2411 [6] − − − − − Protokół IPSec zapewnia: integralność wiadomości (integrity) – otrzymana wiadomość nie została zmodyfikowana w trakcie transmisji; uwierzytelnianie wiadomości (authenticity) – identyfikację nadawcy za pomocą kryptograficznego podpisanie danych; ochronę przed powtórzeniem (reply protection) – gdy do stacji docelowej dociera ponownie odebrany już pakiet, jest on przez nią odrzucony; kontrolę dostępu (access control) – niemożność wynegocjowania parametrów bezpieczeństwa powoduje odrzucenie połączenia; poufność danych (confidentially) – zabezpiecza przed podsłuchem pasywnym, czyli celowym lub przypadkowym dostaniem się informacji w niepowołane ręce dzięki zastosowanym metodom kryptograficznym. Rys. 2. Protokoły IPSec Protokół IPSec korzysta z dwóch protokołów: protokołu nagłówka uwierzytelnienia (AH) oraz protokołu szyfrowania wiadomości enkapsułowanych (ESP) (rys.2.). Protokoły ESP i AH zostały opisane w dokumentach [14-15]. Protokół AH [7, 9-10] 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. Protokół ten nie zapewnia jednak tajności - dane nadal przesyłane są „otwartym tekstem”. Protokół ESP [8-10] 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. Rysunek 3 oraz 4 ilustruje opisane tryby. 2 Tryb tunelowy AH Oryginalny nagłówek IP Nowy nagłówek IP Nagłówki dodatkowe Hop-by-hop, Dest,Routing Nagłówek warstwy wyższej Oryginalny nagłówek IP AH Pola zmienne: - klasa ruchu - etykieta ruchu - adres S/D Dane Nagłówek warstwy wyższej Dest, Opcje Dane Pola stałe Pola zmienne Autoryzacja z wyjątkiem pól zmiennych ESP Oryginalny nagłówek IP Nowy nagłówek IP Nagłówki dodatkowe Nowe nagłówki dodatkowe Nagłówek warstwy wyższej ESP Oryginalny nagłówek IP Dane Nagłówki dodatkowe Nagłówek warstwy wyższej Dane ESP Trailer ESP ICV Szyfrowane Ochrona integralności Rys. 3. Tryb tunelowy Tryb transportowy AH Oryginalny nagłówek IP Oryginalny nagłówek IP Nagłówki dodatkowe Hop-by-hop, Dest,Routing Nagłówek warstwy wyższej Dest Opcje AH Pola zmienne: - klasa ruchu - etykieta ruchu - adres S/D Dane Nagłówek warstwy wyższej Dane Pola stałe Pola zmienne Autoryzacja z wyjątkiem pól zmiennych ESP Oryginalny nagłówek IP Oryginalny nagłówek IP Nagłówki dodatkowe Hop-by-hop, Dest,Routing ESP Nagłówek warstwy wyższej Nagłówek warstwy wyższej Dane Dane ESP Trailer ESP ICV Szyfrowane Ochrona integralności Rys. 4. Tryb transportowy − − Powyżej opisane protokoły mogą pracować w dwóch trybach: tryb tunelowy (Tunnel Mode) – w trybie tym cały pakiet IP (dane i nagłówki) zostaje poddany ochronie oraz dołożony zostaje nowy nagłówek IP; tryb transportowy (Transport Mode) – w trybie tym ochronie podlegają tylko nagłówki warstw wyższych oraz dane. 2. Proponowany mechanizm kompresji nagłówków Dla łączy wąskopasmowych (rys.5), które mogą występować w radiowych sieciach IPv6, zaproponowano wykorzystanie urządzenia brzegowego - adaptera sieciowego NA. Kompresja nagłówka IPSec Dekompresja nagłówka IPSec Kompresja nagłówka IPv6 Dekompresja nagłówka IPv6 RT RT Detekcja usług Obsługa karty LAN NRT Multipleksacja usług Detekcja usług Obsługa interfejsu IF Obsługa interfejsu IF Rys. 5. Algorytm pracy NA 3 NRT Obsługa karty LAN Zaimplementowano w nim procedurę dwupoziomowej kompresji nagłówka (rys.6, 7). W pierwszej kolejności kompresji podlega oryginalny nagłówek IPv6, a w drugiej nagłówek IPSec (procedura CopmIPSecv6). Wymiana pakietów IPv6 jest realizowana w trybie tunelowym [1,6]. Przesyłane w sieci pakiety są klasyfikowane jako RT (ang. Real Time) , NRT (ang. Non Real time) oraz sterujące. Klasyfikacja pakietów dla usług RT i NRT odbywa się na podstawie zawartości pól Traffic_Class i Flow_Label, a w przypadku pakietów sterujących na podstawie typu pakietu. Pakiety sterujące są wysyłane z największym priorytetem i w celu zapewnienia prawidłowej jakości usługom RT są one segmentowane i multipleksowane. Pakiety NRT również podlegają segmentacji i są wysyłane z najmniejszym priorytetem. Rys. 6. Koncepcja dwupoziomowej kompresji nagłówków LEGENDA: 1. Odebranie pakietu IPv6 z sieci LAN 2. Kompresja nagłówka IPv6 3. Szyfrowanie IPSec 4. Kompresja nagłówka IPSec 5. Wysłanie do sieci wąskopasmowej pakietu skompresowanego W procedurze kompresji (rys.3) i dekompresji (rys.4) zostały wykorzystane interfejsy gniazda. Gniazda są punktami końcowymi komunikacji pomiędzy jądrem systemu Linuks a aplikacją. Interfejs gniazda umożliwia warstwom wyższym współdzielenie informacji z warstwami transportowymi za pomocą globalnych struktur danych. Rys. 7. Koncepcja dwupoziomowej dekompresji nagłówków LEGENDA: 1. Odebranie pakietu IPv6 z interfejsu IF (z sieci wąskopasmowej) 2. Dekompresja nagłówka IPSec 3. Deszyfrowanie IPSec 4. Dekompresja IPv6 5. Wysłanie do sieci LAN pełnego pakietu 3. Środowisko badawcze oraz wyniki badań Aplikacja NA (Network Adapter) [7-11] została zaimplementowana na platformie Linuks. Została ona uruchomiona i przebadana w środowisku laboratoryjnym (rys.8). Sprawdzenie poprawności pracy aplikacji zrealizowano w sieci IPv6. Pomiędzy stacjami abonenckimi przesyłano pakiety ping6, które w początkowej chwili zostały poprzedzone pakietami 4 odkrywania otoczenia ND (Neighbor Discovery). Pakiety ping6 są obsługiwane przez NA tak, jak usługi NRT, zaś pakiety ND są pakietami sterującymi. Rys. 8. Stanowisko laboratoryjne Opóźnienie pomiędzy pakietami NRT [s] Badania zostały wykonane dla dwóch scenariuszy: przy włączonej procedurze dwupoziomowej kompresji nagłówków (z CopmIPSecv6) oraz z kompresją jednopoziomową (adresu oryginalnego IPv6, bez włączonego mechanizmu kompresji IPSec) (rys.9). Na podstawie przeprowadzonych badań można stwierdzić, że procedura szyfrowania wprowadza dodatkowe opóźnienie (porównanie opóźnienia dla 2 wykresów). W początkowej fazie pracy aplikacji wymiana pakietów sterujących jest obciążona największym opóźnieniem, gdyż adaptery sieciowe NA muszą się zsynchronizować (jest to związane z utratą pojedynczego pakietu dla każdego kierunku transmisji). Następnie wymieniane są pakiety ping6, dla których opóźnienie jest stałe. Wtedy, gdy zanotowany jest wzrost opóźnienia (ok.7 pakietu), następuje przesłanie dodatkowego pakietu sterującego ND. 3 NA z CompIPSecv6 NA 2 1 0 0 2 4 6 8 10 Numer przesyłanego pakietu Rys. 9. Charakterystyka opóźnień pakietów NRT i sterujących Na rysunku 10 przedstawiono porównanie otrzymanych wyników jittera dla różnych obciążeń sieci oraz przy włączonej lub wyłączone kompresji nagłówka IPSec. Usługi RT zostały zrealizowane z wykorzystaniem aplikacji VoIPv6: PcPhone. 5 Jitter [ms] 350 NA z CompIPSecv6 NA z CompIPSecv6 oraz pakiet NRT = 107B NA z CompIPSecv6 oraz pakiet NRT = 1300B PcPhone PcPhone oraz pakiet NRT = 107B PcPhone oraz pakiet NRT = 1300B 300 250 200 150 100 50 0 0 10 20 30 40 50 60 70 80 90 100 Czas [s] Rys. 10. Jitter pakietów VoIPv6 (danych RT) w sieci przy pracy z i bez kompresji IPSec Na podstawie analizy charakterystyk można stwierdzić, że wartość jittera jest najmniejsza wtedy, gdy procedura CompIPSecv6 jest włączona. Gdy brak jest procedury CompIPSecv6, nie zapewniana jest priorytetyzacja usług RT, NRT i danych kontrolnych, dlatego wszystkie dane przesyłane są jednocześnie. Np. gdy przesyłane były dane NRT o wielkości 1300B, użytkownicy nie byli w stanie zrozumieć się, a połączenie po 30s było zrywane. Przy włączonej procedurze CompIPSecv6 taka sytuacja nie ma miejsca. 4. Podsumowanie Podsumowując, omówiona procedura CopmIPSecv6 zapewnia bezpieczny mechanizm realizacji usług RT i NRT. Umożliwia ona kompresję nagłówków oryginalnych i nagłówków IPSec. Dzięki temu w kanale wąskopasmowym można przenosić jednocześnie usługi RT i NRT nie zakłócając mechanizmów standardowych protokołu IPv6. Procedura CopmIPSecv6 wykorzystuje standardowy mechanizm IPSec wkompilowany w system Linuks. Do mechanizmów szyfrowania i deszyfrowania wykorzystany został interfejs fikcyjny. Dzięki temu stacja robocza, na której pracuje aplikacja NA z procedurą CopmIPSecv6, nie wymaga stosowania dodatkowych interfejsów sieciowych, potrzebnych do szyfrowania/deszyfrowania IPSec. Opóźnienie danych NRT wzrosło po dodaniu procedury CopmIPSecv6 do aplikacji NA. Wzrost opóźnienia związany jest z czasem potrzebnym na szyfrowanie i deszyfrowanie danych za pomocą IPSec. Zaletą zaimplementowanej procedury jest priorytetyzacja usług. Na podstawie przeprowadzonych badań można stwierdzić, że dane sterujące będą przesyłane zawsze w pierwszej kolejności, niezależnie od tego, czy odbywa się transmisja danych RT czy też NRT. W aplikacji została zrealizowana multipleksacja usług różnego typu. Dzięki temu mechanizmowi, pomimo transmisji danych RT, przesyłane są także dane NRT. Dane NRT przesyłane są pomiędzy danymi RT tylko wtedy, gdy ich transmisja nie spowoduje przerwania połączenia RT. W najbliższym czasie planowane są badania mechanizmu w wąskopasmowych sieciach radiowych (łączność KF i UKF) oraz badanie wpływu metod szyfrowania na jakość usługi 6 RT. Dodatkowo należy przeprowadzić szczegółowe badania omówionego mechanizmu w obecności mechanizmu adaptacji wielkości strumieni pakietów VoIP. Bibliografia: [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] B.Singh, S.Sofat: Future of Internet Security – IPSec: 01/26/2005 S.Kent, R.Atkinson: Security Architecture for the Internet Protocol; IETF RFC 2401, 11.1998 R.Thayer, N.Doraswamy: IP Security Document Roadmap, RFC 2411, IETF 1998 S.Kent, R.Atkinson: IP Authentication Header, RFC 2402, IETF 1998 S.Kent, R.Atkinson: IP Encapsulating Security Payload (ESP), RFC 2406, IETF 1998 S.Kent, K.Seo: Security Architecture for the Internet Protocol; RFC 4301, 12.2005 U.Ostrowska: Koncepcja kompresji nagłówków IPSec usług czasu rzeczywistego w sieciach wąskopasmowych, SECON 2006 U.Ostrowska: Efektywny bezpieczny mechanizm realizacji usług transmisji mowy i danych dla mobilnych wąskopasmowych sieci IPv6 , KSTiT 2007 J.Jarmakiewicz, P. Łubkowski: Implementacja aplikacji adaptera sieciowego, ITK WAT raport badawczy GRANT nr 0 T00A 16 25, Warszawa 2004 M.Amanowicz, M.Antweiler, J.Jarmakiewicz, J.Krygier, P.Łubkowski, T.Aurich, R.Bryś, M.Lies, J.Milewski, P.Sevenich: Implementation of IPv6 protocol for tactical interoperable communications networks, RTO TICNET PROJECT, Final Raport, Brussels NATO IST, 2006 J.Jarmakiewicz: Budowa modelu symulacyjnego łącza HF wykorzystującego adapter sieciowy. Weryfikacja i walidacja modelu. WIŁ raport badawczy GRANT nr 0 T00A 16 25, Warszawa 2004 A.Metkowska , J.Jarmakiewicz: Mechanizm wspierania jakości usługi VoIP w warunkach przeciążeń sieci IPv6, KSTiT 2007 S. Kent, K. Seo: Security Architecture for the Internet Protocol; RFC 4301, 12.2005 S.Kent, R.Atkinson: IP Authentication Header, RFC 2402, IETF 1998 S.Kent, R.Atkinson: IP Encapsulating Security Payload (ESP), RFC 2406, IETF 1998 7