Klasyfikacja i analiza wybranych mechanizmów bezpieczeństwa w sieciach VPN - IP - IPSEC - ESP - TELEKOMUNIKACJA - VPN - SIECI - LAN - AH - PPTP - L2TP - PPP - TCP
Przedstawicielstwo Handlowe Paweł Rutkowski   Mouser Electronics Poland   PCBWay  

Energetyka, Automatyka przemysłowa, Elektrotechnika

Dodaj firmę Ogłoszenia Poleć znajomemu Dodaj artykuł Newsletter RSS
strona główna ARTYKUŁY Telekomunikacja Klasyfikacja i analiza wybranych mechanizmów bezpieczeństwa w sieciach VPN
drukuj stronę
poleć znajomemu

Klasyfikacja i analiza wybranych mechanizmów bezpieczeństwa w sieciach VPN

1. Protokoły VPN warstwy łącza danych Protokoły VPN warstwy łącza danych działają poniżej warstwy sieci (w modelu TCP/IP), co oznacza, że mogą one chronić informacje warstwy sieci i warstw wyższych. Co więcej, chroniony może być nie tylko ruch IP, ale także ruch innych protokołów, np. IPX (ang. Internetwork Packet Exchange).

Najczęściej protokoły VPN warstwy łącza danych wykorzystują protokół PPP (ang. Point-to-Point Protocol), który używany był do zabezpieczenia połączeń modemowych. Dany protokół VPN służy przeważnie do utworzenia tunelu, przez który może się komunikować protokół PPP. Dla przykładu w PPTP (ang. Point-to-Point Tunneling Protocol) szyfrowanie i uwierzytelnianie dokonywane jest przez PPP, a nie przez protokół VPN. PPP wykorzystuje do szyfrowania algorytm DES, natomiast to uwierzytelniania stosowane są algorytmy PAP (ang. Password Authentication Protocol) oraz CHAP (ang. Challenge Handshake Authentication Protocol). Kilka lat temu odkryto pewne niedoskonałości wyżej wymienionych protokołów, dlatego też protokoły VPN warstwy łącza danych często korzystają z dodatkowych protokołów, aby zapewnić większe bezpieczeństwo połączeń VPN [2]. Najczęściej używane protokoły VPN warstwy łącza danych to: PPTP i L2TP.

1.1. Point-to-Point Tunneling Protocol

PPTP (ang. Point-to-Point Tunneling Protocol) jest protokołem, który pozwala ustanowić wirtualny tunel w sieci IP, przez który może być nawiązane połączenie PPP. Standard PPTP nie modyfikuje protokołu PPP, a raczej dostarcza mechanizmów umożliwiających zastosowanie PPP w sieci pakietowej, takiej jak Internet [3].

Protokół PPTP został opracowany przez firmę Microsoft, aby zapewnić zdalne dostęp poprze publiczną sieć do serwera (bramy VPN). PPTP może wykorzystywać do uwierzytelnienia takie algorytmy jak: PAP, CHAP, MS-CHAP i EAP. Pomimo faktu, że PPP używany jest głównie do zabezpieczania pojedynczych połączeń, np. modemowych, protokół PPTP może być ustanowiony ze zwykłego połączenia LAN.

PPTP wykorzystywany był głównie w starszych systemach operacyjnych: Windows 95, 98 i ME. W nowszych systemach, tj. Windows 2000, XP, 2003 i Vista, częściej wykorzystuje się protokół L2TP lub IPSec.

W protokole PPTP dostępne są następujące usługi [4]:


  • szyfrowanie - szyfrowanie wewnątrz datagramu PPP dokonywane jest przy użyciu protokołu MPPE (ang. Microsoft Point-to-Point Encryption). MPPE używa algorytmu szyfrującego RSA RC4 i stosuje 40, 56 lub 128 bitowe klucze, które w celu zwiększenia bezpieczeństwa są często zmieniane podczas komunikacji.
  • kompresja - kompresja danych zawarta w datagramie PPP dokonywana jest za pomocą protokołu MPPC (ang. Microsoft Point-to-Point Compression). Kompresja danych przed ich wysłaniem zmniejsza liczbę bitów potrzebnych do przesłania danej informacji, w związku z tym przyspiesza kompresję.
  • uwierzytelnianie - uwierzytelnianie dokonywane jest za pomocą jednej z metod dostępnych w protokole PPP. Może to być PAP, CHAP, MS-CHAPv1, MS-CHAPv2 lub EAP.
  • przesyłanie danych - dane warstwy sieci umieszczane są w datagramach PPP, które z kolei enkapsulowane są w pakiety PPTP. Oznacza to, że przez PPTP przesyłać można dane różnych protokołów warstwy sieci, np. IP, IPX, NetBEUI i inne.
  • przyznawanie adresów - protokół PPTP może dynamicznie przyznawać adresy punktom końcowym danego połączenia.


Architektura protokołu PPTP
Protokół PPTP działa na zasadzie architektury klient - serwer [4].
Urządzenie pełniące rolę klienta określane jest jako PAC (ang. PPTP Access Concentrator). Jego zadaniem jest nawiązanie bezpiecznego połączenia z serwerem i przesyłanie danych w pakietach PPP.
Urządzenie pełniące rolę serwera nazywane jest PNS (ang. PPTP Network Server). Jego zadaniem jest odbieranie ruchu od PAC, sprawdzanie zabezpieczeń, odszyfrowywanie i przekazywanie danych.
Pomiędzy PAC a PNS ustanawiane są dwa rodzaje połączenia [3]:


  • połączenie kontrolne - służy do kontroli i zarządzania połączeniem właściwym. Połączenie to wykorzystuje TCP, dlatego też PAC i PNS muszą obsługiwać protokół TCP/IP.
  • połączenie właściwe - służy do wymiany danych i używa protokołu GRE (ang. Generic Route Encapsulation). Protokół GRE zapewnia dostarczenie danych, kontrolę przepływem danych oraz zapobieganie zatorom.


Problemy występujące w sieciach VPN wykorzystujących PPTP
Z implementacją sieci VPN z wykorzystaniem protokołu PPTP związane są pewne problemy, z których najważniejsze zostały opisane niżej [4]:[/list]

  • fragmentacja pakietów - MTU (ang. Maximum Transmission Unit) jest wielkością określającą największy rozmiar pakietu lub ramki, jaki może przesłać dane urządzenie dany protokół. MTU pakietu PPP wynosi 1532 bajty. Po dodaniu nagłówków GRE (16 bajtów) i IP (20-60 bajtów) długość całego pakietu może wynieść 1608 bajtów. Po uwzględnieniu nagłówków warstwy łącza danych, np. Ethernet II (20 bajtów), rozmiar całej ramki wyniesie 1628 bajtów. Większość urządzeń sieciowych ma wartość MTU równą 1500 bajtów. Powoduje to, że urządzenia te muszą dzielić (dokonywać fragmentacji) pakiety PPTP na mniejsze części. Jest to zjawisko niepożądane, dlatego też należy tak skonfigurować PAC i PNS, aby ich MTU wynosiło około 1300 bajtów.
  • bezpieczeństwo - podczas pracy protokołu PPTP połączenie kontrolne TCP nie jest w żaden sposób chronione. Wiadomości wymieniane pomiędzy PNS i PAC nie są uwierzytelniane ani sprawdzane w celu potwierdzenia integralności. Istnieje więc ryzyko manipulacji danymi lub przechwycenia sesji. Kolejną słabością protokołu PPTP jest fakt, że nagłówki IP, GRE i PPP w połączeniu właściwym nie są szyfrowane. Tak więc w tunelu PPTP istnieje również ryzyko przechwycenia sesji lub manipulacji nagłówkami. Co więcej, stosowane metody szyfrowania takiej jak MPPE wykorzystują algorytmy, które możliwe są do złamania.
  • zmiana adresów przez PAT - istnieją dwie metody translacji adresów: NAT i PAT. NAT nie sprawia problemów przy połączeniach PPTP, ponieważ zmieniane są tylko adresy źródłowe i docelowe IP. PAT operuje na numerach portów danego urządzenia. Połączenie kontrolne wykorzystuje TCP, może więc bez problemów przejść przez urządzenie dokonujące PAT. Jednak połączenie właściwe korzysta z GRE, a GRE nie posiada numerów portów, więc PAT nie zadziała. Niektórzy producenci urządzeń dokonujących translacji PAT stosują różne metody na obejście tego problemu. Jednak nie wszystkie urządzenia kompatybilne są z protokołem PPTP, o czym należy pamiętać projektując sieć VPN.[/list]

    1.2. Layer Two Tunneling Protocol

    L2TP (ang. Layer Two Tunneling Protocol) jest protokołem, który łączy w sobie cechy protokołu PPTP oraz L2F (ang. Layer 2 Forwarding - protokół opracowany przez firmę Cisco). L2TP jest bardzo często wykorzystywany, podobnie jak PPTP, do transportu pakietów PPP poprzez sieć szkieletową, np. sieć IP. Można go także stosować do pracy z innymi protokołami niż PPP. W celu zwiększenia poziomu bezpieczeństwa pakiet L2TP może być umieszczony wewnątrz pakietu IPSec. Rozwiązanie takie łączy w sobie bezpieczeństwo IPSec z zaletami PPP, np. dynamiczne przydzielanie adresów, wsparcie dla innych protokołów niż IP. Technikę taką określa się jako L2TP over IPSec lub L2TP/IPSec [4].

    Protokół L2TP nie stosuje żadnych algorytmów szyfrujących, dlatego też przy tworzeniu bezpiecznych sieci VPN korzysta się z L2TP/IPSec w celu zapewnienia odpowiedniego poziomu poufności.

    L2TP enkapsuluje dane w pakiety PPP lub inne (w zależności od implementacji) i wysyła je poprzez sieć IP. W przeciwieństwie do PPTP, L2TP nie stosuje GRE. Zamiast tego stosowany jest protokół UDP - zarówno do transportu pakietów zawierających dane i transportu pakietów kontrolnych. Z kolei pakiety UDP chronione są przez IPSec ESP w trybie transportowym [4].

    Architektura L2TP
    Protokół L2TP tworzy połączenie (tunel) pomiędzy dwoma punktami końcowymi nazywanymi jako LCCE (ang. L2TP Control Connection Endpoints). Jeśli ramki przetwarzane są w LCCE na poziomie warstwy łącza danych to dany LCCE określany jest jako LAC (ang. L2TP Access Concentrator). Jeśli ramki przetwarzane są na poziomie warstwy sieci to dany LCCE określany jest jako LNS (ang. L2TP Network Server). Dane urządzenie może pracować jako LAC dla jednych sesji i jako LNS dla innych, dlatego też pojęcia LAC i LNS należy rozpatrywać w odniesieniu do danej sesji L2TP.


    Istnieją trzy rodzaje architektury L2TP [5]:

    • LAC-LNS - z jednej strony LAC odbiera ruch z łącza, na którym działa protokół warstwy łącza danych, np. PPP. Ruch przesyłany jest dalej z wykorzystaniem protokołu L2TP poprzez sieć szkieletową, np. sieć IP. Z drugiej strony LNS logicznie zakańcza połączenie L2TP i przekazuje dalej dane do innych urządzeń, z wyjątkiem sytuacji, gdy komputer PC pełniący rolę LNS sam jest adresatem wiadomości. Ustanowienie sesji jest inicjowane przez LAC (Incoming Call) lub przez LNS (Outgoing Call). Przykład takiej architektury przedstawiono na rysunku 1.




      Rysunek 1. Przykład architektury LAC-LNS.
    • • LAC-LAC - w modelu tym oba urządzenia LCCE pełnią rolę LAC. Każde z urządzeń LAC przekazuje dane protokołu warstwy łącza danych dane sieci do drugiego z urządzeń za pomocą L2TP. Każde z urządzeń może zainicjować sesje. Przykład takiej architektury pokazano na rysunku 2.




      Rysunek 2. Przykład architektury LAC-LAC.
    • • LNS-LNS - w modelu tym oba urządzenia LCCE pracują jako LNS. Typowo połączenie inicjowane jest z poziomu użytkownika, np. tunel zainicjowany z komputera PC przez użytkownika. Przykład tej architektury ilustruje rysunek 3.




      Rysunek 3. Przykład architektury LNS-LNS.

    Protokół L2TP wykorzystuje różne bezpieczne metody uwierzytelnienia, np. EAP, ale wspiera także starsze rozwiązania takie jak: PAP, CHAP, MS-CHAP. Ponadto wykorzystuje protokół DHCP (ang. Dynamik Host Configuration Protocol), który zajmuje się dynamicznym przyznawaniem adresów IP urządzeniom.

    Zgodnie z dokumentem RFC 4667 (ang. Request for Comments) [6], główna architekturą wykorzystywaną przy tworzeniu sieci VPN warstwy łącza danych jest architektura LAC-LAC.

    Zasada działania L2TP

    LCCE tworzą i utrzymują sesję połączenia. Protokół L2TP jest więc protokołem połączeniowym. Pomiędzy urządzeniami istnieje jeden tunel (jedno połączenie), ale przesyłane są dwa rodzaje danych:[/list]
  • dane kontrolne tunelu,
  • dane właściwe.[/list]
    LCCE używają protokołu UDP jako środka transportu dla pakietów danych i pakietów kontrolnych. Istnieje możliwość stosowania implementacji L2TP, która nie korzysta z UDP. Nazywana jest ona jako L2TP over IP. Sprawia ona jednak problemy przy pracy z urządzeniami dokonującymi translacji PAT.

    W celu zapewnienia uwierzytelnienia, poufności, integralności danych i ochrony przed powtórzeniami, protokół L2TP stosuje się razem z IPSec. Zanim powstanie tunel L2TP, pomiędzy dwoma urządzeniami LCCE musi być ustanowiony tunel IPSec. Dopiero wtedy dane L2TP mogą być enkapsulowane w ESP. Budowę pakietów L2TP/IPSec pokazano na rysunkach 4 i 5.




    Rysunek 4. Budowa przykładowego pakietu L2TP/IPSec zawierającego dane kontrolne.





    Rysunek 5. Budowa przykładowego pakietu L2TP/IPSec zawierającego dane właściwe.
  • 2. SSL VPN



    Protokół TLS (ang. Transport Layer Security) jest rozwinięciem protokołu SSL (ang. Secure Socket Layer). Istnieją niewielkie różnice pomiędzy tymi protokołami, ale w większości przypadków zasada działania jest identyczna. Wirtualne sieci prywatne warstwy transportu modelu TCP/IP zwykle określa się jako SSL VPN.

    TLS jest najczęściej używanym protokołem zabezpieczającym transfer danych w warstwie transportu modelu TCP/IP. Stosuje się go zazwyczaj do zabezpieczenia ruchu poszczególnych aplikacji opartych na HTTP, ale może być też wykorzystywany do innych typów aplikacji, np. SMTP, POP (ang. Post Office Protocol), FTP. Użytkownicy, którzy chcą korzystać z aplikacji chronionej przez TLS nie muszą instalować dodatkowego oprogramowania ani zmieniać konfiguracji systemu operacyjnego, ponieważ większość przeglądarek internetowych ma wbudowaną obsługę TLS/SSL.

    Protokół TLS może być stosowany w architekturze typu host-to-host lub host-to-gateway. Istnieją rozwiązania pozwalające na stosowanie TLS w architekturze gateway-to-gateway, ale w tym przypadku lepiej sprawdza się protokół IPSec.

    Istnieją dwa rodzaje SSL VPN: SSL portal VPN oraz SSL tunel VPN. Używane są one głównie w celu zabezpieczenia połączenia użytkowników zdalnych z bramą VPN. Brama SSL VPN może być dedykowanym urządzeniem posiadającym oprogramowanie mogące pełnić funkcje związane z SSL. Przykładem urządzeń pełniących rolę bramy VPN może być router lub firewall posiadający odpowiedni system operacyjny.

    TLS w zależności od konfiguracji i implementacji może zapewniać następujące typy zabezpieczeń:


    • poufność - dane mogą zostać zaszyfrowane, dzięki czemu nawet w wypadku przechwycenia ich przez osoby trzecie, odczytanie ich nie będzie możliwe. Odszyfrować dane może tylko osoba znająca tajny klucz.
    • integralność - TLS może sprawdzić, czy dane zostały zmienione podczas przesyłu. Odbywa się to poprzez dodanie do wiadomości MAC (ang. Message Authentication Code), czyli pewnego kod obliczonego w wyniku funkcji, której argumentami wejściowymi są tajny klucz oraz wiadomość. Odbiorca wiadomości może ponownie wyznaczyć kod MAC i porównać go z oryginalnym w celu zweryfikowania danych.
    • uwierzytelnianie - każdy punkt końcowy połączenia SSL może zweryfikować tożsamość drugiego, co stanowi zabezpieczenie, że komunikacja odbywa się z odpowiednią osobą (lub urządzeniem).
    • zabezpieczenie przed powtórzeniami - dzięki wykorzystaniu numerów sekwencyjnych te same dane nie zostaną odebrane kilkakrotnie, a w przypadku odebrania w złej kolejności zostaną poprawnie złożone.
    • zabezpieczenie przed analizą ruchu - SSL może ukryć takie informacje jak: częstotliwość komunikacji i ilość przesyłanych danych. Mimo to liczba przesłanych pakietów może zostać policzona, a adresy IP pozostają jawne.
    • kontrola dostępu - dzięki opcji filtrowania SSL może zapewnić, aby odpowiedni użytkownicy mieli dostęp do odpowiednich zasobów sieciowych.


    2.1. Architektura SSL VPN

    SSL VPN jest rozwiązaniem zapewniającym bezpieczny zdalny dostęp do zasobów firmowych przy użyciu przeglądarki internetowej. Dostęp ten może polegać na łączności z aplikacjami posiadających interfejs obsługiwany przez przeglądarkę, aplikacjami typu klient-serwer lub na łączności z urządzeniami znajdującymi się wewnątrz sieci chronionej przez bramę VPN. Ruch pomiędzy bramą a przeglądarką szyfrowany jest przez protokół SSL. Typowymi użytkownikami SSL VPN są pracownicy w zdalnych oddziałach firmy, użytkownicy mobilni lub partnerzy biznesowi. Mogą się oni łączyć z różnych typów urządzeń, takich jak: firmowe laptopy, komputery osobiste lub telefony komórkowe wyposażone w odpowiednie oprogramowanie. Jedynym wymaganiem jest zainstalowanie na danym urządzeniu przeglądarki internetowej obsługującej protokół SSL. Typową architekturę SSL VPN przedstawiono na rysunku 6 [7].





    Rysunek 6 Architektura sieci SSL VPN.



    2.2. Funkcje dostępne w SSL VPN

    W rozwiązaniu SSL VPN najczęściej bramą jest dedykowane urządzenie wykonujące tylko tą funkcję. Może to być również rozwiązanie programowe zainstalowane na serwerze. W zależności od wybranego urządzenia lub programu, rozwiązanie SSL VPN oferuje jedną lub więcej z poniższych funkcji [7]:


    • proxy - jest urządzeniem pośredniczącym w wymianie danych pomiędzy klientem a serwerem. W komunikacji z klientem, urządzenie proxy podaje się za serwer, a z komunikacji z serwerem - za klienta. Proxy wykorzystywane jest głównie z SSL portal VPN. Brama SSL portal VPN pracuje jako urządzenie typu proxy, odbiera żądania od użytkownika, przetwarza je i wysyła do serwera WWW - (ang. World Wide Web), ściąga z niego żądane informacje i wysyła do przeglądarki użytkownika.
    • application translation - proces polegający na konwertowaniu informacji z jednego protokołu do drugiego. Techniki tej używa się w celu umożliwienia użytkownikowi dostępu do aplikacji nieposiadających interfejsu obsługiwanego przez przeglądarkę.
    • network extension (rozszerzenie sieci) - sposób zapewnienia zdalnym użytkownikom częściowej lub całkowitej łączności z siecią chronioną przez bramę VPN. Użytkownicy mogą wtedy łączyć się i mieć dostęp do wewnętrznych zasobów tak jakby znajdowali się fizycznie w tej samej sieci. Network extension stosowany jest w SSL tunel VPN. Dodatkowo możliwy jest split tunneling (ochron przez tunel SSL tylko ruchu, który powinie trafić do sieci firmowej) lub full tunneling (ochrona przez tunel SSL całego ruchu użytkownika, niezależnie od tego czy jest to ruch związany z zasobami sieci firmowej). Network extension wymaga zainstalowania na urządzeniu użytkownika dodatkowego oprogramowania, np. wtyczki do przeglądarki internetowej.



    2.3. Usługi bezpieczeństwa w SSL VPN

    Urządzenia SSL VPN oferują standardowo następujące usługi bezpieczeństwa [8]:


    • uwierzytelnianie - polega na potwierdzeniu tożsamości użytkownika, który chce skorzystać z SSL VPN.
    • kontrola zabezpieczeń użytkownika - brama VPN może mieć możliwość sprawdzenia zabezpieczeń systemu użytkownika. Dodatkowo brama może sprawdzić, czy na komputerze użytkownika uruchomiony jest program antywirusowy i firewall, czy system jest zaktualizowany lub czy nie ma na nim szkodliwego oprogramowania. Może też mieć możliwość czyszczenia pamięci podręcznej przeglądarek internetowych po zakończeniu sesji w celu usunięcia poufnych danych z systemu użytkownika.
    • ochrona przed włamaniami - mechanizm sprawdzania danych po ich odszyfrowaniu pod kątem obecności wirusów, robaków lub innych szkodliwych kodów.
    • szyfrowanie i zapewnienie integralności - szyfrowanie zapewnia poufność transmisji danych a sprawdzanie integralności gwarantuje, że dane nie zostały naruszone w trakcie przesyłu.
    • kontrola dostępu - przyznawanie różnych praw dostępu dla różnych użytkowników.



    2.4. Problemy występujące w SSL VPN

    Technologia SSL VPN jest rozwinięta i stosowana na szeroką skalę, ale mimo tego wciąż narażona jest na niebezpieczeństwa i problemy [7].

    Pomimo faktu, że SSL VPN nie wymaga żadnego dodatkowego oprogramowania w systemie użytkownika, nie zawsze możliwe jest nawiązanie połączenia z dowolnego komputera. Jeśli użytkownik znajduje się w kafejce internetowej, może on nie mieć odpowiednich uprawnień w systemie operacyjnym, aby zezwolić na zainstalowanie programu lub wtyczki do przeglądarki umożliwiającej połączenie SSL tunel VPN.

    Poważną kwestią w SSL VPN jest stopień zaufania do komputera, z którego łączy się dany użytkownik. Jeśli jest to komputer dostępny publicznie, może nie mieć zainstalowanego programu antywirusowego i najnowszych poprawek do systemu operacyjnego. Stanowi to poważne zagrożenie dla chronionej siec podczas połączenia z takim komputerem. Ponadto po zakończeniu sesji na takim ogólnym systemie mogą pozostać poufne informacje przechowywane w katalogach plików tymczasowych.

    Urządzenia oraz programowe rozwiązania SSL VPN powinny być kompatybilne z różnymi systemami operacyjnymi i urządzeniami, z których użytkownik może chcieć się połączyć. Niestety nie wszystkie rozwiązania SSL VPN dają pełną kompatybilność. Istnieje niewiele rozwiązań wspierających komputery kieszonkowe i telefony komórkowe.

    Tryb rozszerzenia sieci nie jest dostępny dla każdego i z każdej lokalizacji. W przypadku, gdy użytkownik danego systemu operacyjnego nie ma odpowiednich uprawnień w systemie, może on nie pozwolić mu na uruchomienie dodatkowego oprogramowania niezbędnego do uruchomienia trybu network extension.

    Należy również zaznaczyć, że niektóre rozwiązania SSL VPN nie współpracują z aplikacjami typu klient-serwer.

    2.3. IPSec VPN



    Zestaw protokołów i algorytmów wchodzących w skład IPSec (ang. Internet Protocol Security) służy zapewnieniu wysokiej jakości zabezpieczeń ruchu w sieciach IP. Dwa główne protokoły wykorzystywane w IPSec to AH (ang. Authentication Header) i ESP (ang. Encapsulating Security Payload) [9].

    W modelu TCP/IP protokół IPSec znajduje się w warstwie sieci. Oznacza to, że IPSec może zabezpieczyć całość ruchu pomiędzy dwoma sieciami IP niezależnie od stosowanych w tych sieciach aplikacji. Ponadto IPSec, oprócz zapewnienia poufności danych, może ukryć nagłówki IP, w których znajdują się takie informacje jak adresy źródłowe i docelowe.

    Z uwagi na fakt, że protokół IPSec potrafi zabezpieczyć wiele aplikacji jednocześnie, stał się bardzo popularny jako zabezpieczenie przesyłu danych przez sieci publiczne takie jak Internet. IPSec jest zbiorem wielu różnych standardów i w zależności od konkretnej konfiguracji i implementacji może zapewnić następujące typy zabezpieczeń:


    • poufność - dane mogą zostać zaszyfrowane, dzięki czemu nawet w wypadku przechwycenia ich przez osoby trzecie, odczytanie ich nie będzie możliwe. Odszyfrować dane może tylko osoba znająca tajny klucz.
    • integralność danych - IPSec może sprawdzić, czy dane nie zostały zmienione podczas przesyłu. Jest to możliwe dzięki dodaniu do wiadomości MAC (ang. Message Authentication Code), czyli pewnego kodu obliczonego w wyniku funkcji, której argumentami jest dana wiadomość oraz tajny klucz. Odbiorca wiadomości może ponownie wyznaczyć kod MAC i porównać go z oryginalnym w celu zweryfikowania poprawności przesłanych danych.
    • uwierzytelnianie - każdy punkt końcowy połączenia IPSec może zweryfikować tożsamość drugiego. Stanowi to zapewnienie, że komunikacja odbywa się z odpowiednią osobą lub urządzeniem.
    • zabezpieczenie przed powtórzeniami - dzięki zastosowaniu numerów sekwencyjnych, te same dane nie zostaną odebrane kilkakrotnie, a w przypadku odebrania w złej kolejności - zostaną poprawnie złożone w całość.
    • zabezpieczenie przed analizą ruchu - IPSec może ukryć takie informacje jak: kto z kim i jak często się komunikuje oraz ile danych zostało przesłanych. Mimo to, liczba przesłanych bitów może zostać policzona.
    • kontrola dostępu - IPSec może dokonać operacji filtrowania w celu zapewnienia dostępu do odpowiednich zasobów sieciowych dla wybranych użytkowników.



    Przed rozpoczęciem sesji IPSec wymagane jest, aby strony uczestniczące w transmisji wiedziały, w jaki sposób będą zabezpieczać dane. Zestaw informacji, które należy ustalić to: protokół ESP czy AH oraz algorytmy i klucze kryptograficzne. Zestaw tych informacji określany jest jako SA (ang. Security Association). Każdy tunel VPN powinien posiadać unikalne SA do ochrony wysyłanych i odbieranych informacji, tzn. dla jednego tunelu IPSec wymagane są dwa SA). Urządzenie VPN posiada do tego celu bazę SA ponumerowaną za pomocą unikalnych identyfikatorów o nazwie SPI (ang. Security Parameters Index). Numery SPI przekazywane są w nagłówkach ESP i AH tak, aby urządzenie odbierające pakiety IPSec widziało, w jaki sposób zostały zabezpieczone. Bazy SA w urządzeniach VPN mogą być wpisywane ręcznie przez administratorów lub ustalane automatycznie z użyciem protokołu IKE (ang. Internet Key Exchange).

    3.1. Authentication Header

    Authentication Header jest jednym z protokołów IPSec, który może zapewnić integralność, uwierzytelnianie, zabezpieczenie przed powtórzeniami oraz kontrolę dostępu [8]. AH nie szyfruje danych. W pierwszych wersjach IPSec, AH zapewniał tylko szyfrowanie bez uwierzytelniania, dlatego też stosowano jednocześnie AH i ESP. W drugiej wersji IPSec dodano możliwość uwierzytelniania w ESP. W związku z tym, protokół AH stał się mniej istotny i coraz rzadziej się go używa [2].

    Protokół Authentication Header ma dwa tryby pracy: tryb transportowy i tryb tunelowania. W trybie tunelowania AH tworzy nowy nagłówek IP dla każdego pakietu. Z kolei w trybie transportowym oryginalny nagłówek IP nie zostaje zmieniony. W momencie przesyłu danych w architekturze gateway-to-gateway lub host-to-gateway adresy źródłowe i docelowe IP zmieniane są na adres IP bramy VPN. Z uwagi na fakt, że protokół AH w trybie transportowym nie może zmieniać oryginalnego nagłówka IP - tryb ten nie jest kompatybilny z architekturami gateway-to-gateway i host-to-gateway. Z tego względu trybu transportowego używa się tylko w architekturze host-to-host.

    Jak widać na rysunkach 7 i 8, protokół Authentication Header zapewnia integralność i uwierzytelnianie danych całego pakietu IP [4].





    Rysunek 7. Pakiet AH w trybie tunelowania.







    Rysunek 8. Pakiet AH w trybie transportowym.



    3.2. Encapsulating Security Payload

    Encapsulating Security Payload jest następnym protokołem wchodzącym w skład IPSec. W pierwszej wersji zapewniał tylko możliwość szyfrowania. W kolejnej wersji dodano funkcję uwierzytelniania i integralności danych.

    Podobnie jak AH, protokół ESP ma dwa tryby pracy: tryb transportowy i tryb tunelowania. W trybie tunelowania dla każdego pakietu tworzony jest nowy nagłówek IP. Oryginalne adresy źródłowe i docelowe zostają zamienione na adresy punktów końcowych połączenia IPSec (punktem końcowym może być host lub brama VPN). Tryb tunelowania jest kompatybilny ze wszystkimi trzema rodzajami architekturami VPN. Pierwotny nagłówek IP jest zamknięty wewnątrz nowego pakietu i może zostać zaszyfrowany. Pozwala to ukryć prawdziwe adresy źródłowe i docelowe. Osoba monitorująca lub podsłuchująca ruch w sieci będzie widzieć tylko adresy punktów końcowych połączenia VPN. Przykładowy pakiet ESP w trybie tunelowania pokazano na rysunku 9 [10].





    Rysunek 9 Pakiet ESP w trybie tunelowania.



    Tryb transportowy jest rzadziej stosowany. W trybie tym, protokół ESP używa oryginalnego nagłówka IP. W związku z tym, proces szyfrowania, uwierzytelniania i zapewnienia integralności danych obejmuje tylko wewnętrzną część pakietu. Nagłówek zawierający m.in. adresy IP pozostaje jawny.

    Tryb transportowy jest niekompatybilny z NAT. Suma kontrolna TCP obliczana jest na podstawie pól TCP oraz IP. Jeśli NAT zmienia adresy IP w pakiecie, istnieje potrzeba przeliczenia sumy kontrolnej TCP. NAT nie może tego dokonać, jeśli zawartość pakietu jest zaszyfrowana. Trybu transportowego używa się głównie w architekturze host-to-host [2]. Przykład pakietu ESP w tym trybie pokazano na rysunku 10 [10].





    Rysunek 10. Pakiet ESP w trybie transportowym.




    opracowano na podstawie:


      [2]Frankel S., Kent K., Lewkowski R. i inni: Guide to IPsec VPNs, Recommendations of the National Institute of Stadards and Technology, 2005,
      http://csrc.nist.gov/publications/nistpubs/800-77/sp800-77.pdf
      [3]Hamzeh K., Pall G. i inni: Point-to-Point Tunneling Protocol (PPTP), Network Working Group, 1999, RFC 2637
      [4]Deal R.: The Complete Cisco VPN Configuration Guide, Cisco Press, Indianapolis 2006
      [5]Lau J., Townsley M., Goyret I.: Layer Two Tunneling Protocol –Version 3 (L2TPv3), Network Working Group, 2005, RFC 3931
      [6]Luo W.: Layer 2 Virtual Private Network (L2VPN) Extensions for Layer 2 Tunneling Protocol (L2TP), Network Working Group, 2006, RFC 4667
      [7]Frankel S., Hoffman P., Orebaugh A., Park R.: Guide to SSL VPNs (Draft), Recommendations of the National Institute of Standards and Technology, 2007,
      http://csrc.nist.gov/publications/drafts/SP800-113/Draft-SP800-113.pdf
      [8]Steinberg J., Speed T.: SSL VPN. Understanding, evaluating, and planning secure, web-based remote access, Packt Publishing Ltd., Birmingham 2005
      [9]Kent S., Atkinson R.: Security Architecture for the Internet Protocol, Network Working Group, 1998, RFC 2401
      [10]Kent S., Atkinson R.: IP Encapsulating Security Payload (ESP), Network Working Group, 1998, RFC 2406






  • follow us in feedly
    Średnia ocena:
     
    REKLAMA

    Otrzymuj wiadomości z rynku elektrotechniki i informacje o nowościach produktowych bezpośrednio na swój adres e-mail.

    Zapisz się
    Administratorem danych osobowych jest Media Pakiet Sp. z o.o. z siedzibą w Białymstoku, adres: 15-617 Białystok ul. Nowosielska 50, @: biuro@elektroonline.pl. W Polityce Prywatności Administrator informuje o celu, okresie i podstawach prawnych przetwarzania danych osobowych, a także o prawach jakie przysługują osobom, których przetwarzane dane osobowe dotyczą, podmiotom którym Administrator może powierzyć do przetwarzania dane osobowe, oraz o zasadach zautomatyzowanego przetwarzania danych osobowych.
    Komentarze (0)
    Dodaj komentarz:  
    Twój pseudonim: Zaloguj
    Twój komentarz:
    dodaj komentarz
    REKLAMA
    Nasze serwisy:
    elektrykapradnietyka.com
    przegladelektryczny.pl
    automatykairobotyka.pl
    budowainfo.pl