czwartek, 24 maj 2012
NEXT / Artykuły / NEXT 1/2008 / Artykuły z NEXT 1/2008 / Superbezpieczny VPN
NEXT 1/2008 - okładka





Temat numeru:
Przejdź do innych artykułów:

NEXT 1/2008 - Superbezpieczny VPN

Superbezpieczny VPN - ikonka raport: wirtualne sieci prywatne – część III

Data: 14 grudzień 2007
Identyfikator: 080111

W dwóch poprzednich częściach przedstawiliśmy protokoły: PPTP (Point- -to-Point Tunelling Protocol), L2TP (Layer 2 Tunelling Protocol) oraz IPsec (Internet Protocol security). Tym razem zajmiemy się rozwiązaniem VPN bazującym na protokole SSL (Secure Sockets Layer), który jest równie często stosowany ze względu na prostotę.

Strona 1 z 3
< Poprzednia 1 2 3 Następna >

Historia SSL i TLS

Protokół SSL został opracowany przez firmę Netscape Communications. W 1994 roku zaprezentowała ona publicznie jego wersję 2.0 (poprzednia nie była udostępniona). Ponieważ zawierała kilka niedociągnięć wpływających na bezpieczeństwo, w 1996 roku zakończono prace nad wersją 3.0. Stała się ona bazą do powstania protokołu TLS 1.0 RFC 2246), internetowego standardu przygotowanego w 1999 roku przez organizację IETF. W stosunku do wersji 3.0 nie wprowadzono dużych zmian, podobnie jak w wersji 1.1, która została formalnie zatwierdzona w 2006 roku (RFC 4346). Uwzględniały one kilka zaleceń i wyjaśniały niektóre kwestie. Obecnie prowadzone są prace nad TLS 1.2 – pierwsza propozycja pojawiła się w październiku 2007 roku.

Głównym celem protokołu kryptograficznego SSL jest zabezpieczenie transmisji danych w internecie, przede wszystkim stron WWW (znany jest jako HTTPS) oraz wiadomości poczty elektronicznej. Jego pierwsza wersja została przygotowana przez firmę Netscape, a później stała się bazą dla protokołu TLS (Transport Layer Security), oficjalnego internetowego standardu IETF (Internet Engineering Task Force). O historii rozwoju tych protokołów możesz przeczytać w ramce „Historia SSL i TLS”.

Dostępnych jest wiele implementacji protokołu SSL/TLS, z których można wyróżnić opensource’owe OpenSSL, NSS (Network Security Sockets) i GnuTLS oraz część pakietu Microsoft Secure Channel. Natomiast samo oprogramowanie do rozwiązań VPN SSL tworzone jest zarówno przez niezależnych producentów, takich jak np. CheckPoint czy SafeNet, jak i w ramach projektów otwartych, np. OpenVPN czy SSL-Explorer. Oprócz programowych rozwiązań VPN SSL pojawia się także w każdym ruterze czy firewallu sprzętowym.
Wirtualne sieci prywatne bazujące na protokole SSL mogą być wykorzystywane na dwa różne sposoby. Przedstawimy ich działanie i pokażemy proste przykłady.

Działanie wirtualnych sieci SSL

Sieć VPN jest określeniem tunelowania danych, przechodzącego przez sieć komputerową (najczęściej publiczną, taką jak internet), którego miejscem przeznaczenia jest prywatna sieć lokalna. Punktem wyjścia może być pojedynczy komputer (wtedy tylko on zostaje dołączony do zdalnej sieci lokalnej) lub cała sieć lokalna (wtedy poprzez bramkę VPN dołączane są wszystkie komputery z danego LAN-u). W obu przypadkach wykorzystywana jest architektura klient-serwer, tzn. jedna strona nawiązuje połączenie z drugą. Wirtualna sieć prywatna nie nakłada obowiązku zabezpieczania kanału transmisji, ale gdy dane przesyłane są przez internet, są szyfrowane, a sesja uwierzytelniana.

Nawiązanie połączenia z siecią VPN przez SSL za pomocą OpenVPN jest możliwe także w Windows. Służy do tego polecenie openvpn.

W przypadku VPN SSL mamy do wyboru dwie architektury. Pierwsza z nich zakłada stworzenie bezpośredniego tunelu pomiędzy klientem a serwerem, w ramach którego może być realizowana dowolna transmisja danych. W drugiej, że serwer VPN będzie funkcjonował jako web 8proxy zabezpieczające określoną aplikację webową, która jest dostępna w wewnętrznej sieci lokalnej firmy, a klienci, korzystając z dowolnej przeglądarki internetowej wspierającej SSL, będą mogli odbierać i wysyłać dane w bezpieczny sposób.

Tunel bezpośredni

W pierwszym rozwiązaniu VPN SSL protokół SSL pracuje poniżej warstwy aplikacyjnej modelu sieciowego, czyli np. protokołów HTTP czy FTP. Dzięki temu może zapewniać szyfrowanie i uwierzytelnianie przesyłanych danych, a więc ich poufność i wiarygodność. Składa się on z dwóch głównych elementów: SSL Handshake Protocol i SSL Record Protocol. Pierwszy z nich odpowiada za nawiązywanie połączenia, w tym negocjacje algorytmów szyfrowania i kluczy kryptograficznych. Drugi służy do przygotowania danych.

Proces negocjacji realizowany przez SSL Handshake rozpoczyna się wtedy, gdy klient zainicjuje sesję, wysyłając wiadomość client_hello, w której zawiera m.in. wersję protokołu SSL oraz listę wspieranych algorytmów wymiany kluczy (np. RSA czy warianty Diffie-Hellman), algorytmów kryptograficznych i kompresji. Serwer odpowiada podobną wiadomością server_hello, w której wybiera algorytmy z podanych możliwości, a także podsyła własny certyfikat, opcjonalnie prosząc klienta o to samo. Po przekazaniu tych informacji dla dwóch stron generowane są odpowiednie klucze kryptograficzne i na ich podstawie nawiązywane jest połączenie.

SSL Record dzieli dane, które mają być przesłane na bloki, które następnie są kompresowane (opcjonalnie), mają przypisywany kod MAC (Message Authentication Code) oraz są szyfrowane. Rodzaje zastosowanych algorytmów wynikają z ustaleń przeprowadzonych przez protokół SSL Handshake. W rezultacie kod MAC powstaje na bazie funkcji skrótu MD5 albo SHA, a dane są szyfrowane np. za pomocą algorytmów RC4, 3DES czy AES.


Ocena: +++++    (aby ocenić, musisz się zalogować w serwisie)

< Poprzednia 1 2 3 Następna >

Podobne artykuły:

Komentarze:

Redakcja nie ponosi odpowiedzialności za treść komentarzy.
Nikt jeszcze nie skomentował.
Niezalogowany

Aby mieć dostęp do niektórych części serwisu NEXT (np. forum dyskusyjnego, oceny numeru, newslettera), musisz posiadać konto w naszym serwisie. Zachęcamy do darmowej rejestracji!

Jeżeli posiadasz już konto w serwisie, to zaloguj się.