Protokół SSL: tajny sposób transmisji danych w Internecie
- NetWorld,
- 01.05.2003
Protokół SSL (Secure Sockets Layer) stał się standardem de facto bezpiecznej komunikacji użytkownika z serwerem WWW w Internecie. Obecnie jest wbudowywany do każdej przeglądarki.
SSL to protokół warstwy transportowej ISO/OSI, zawierający dwa subprotokoły - uzgodnienia warunków transmisji (handshake protocol) i zapisów (record protocol). Oba zapewniają uwierzytelnioną, poufną i odporną na ingerencję z zewnątrz komunikację z aplikacją, szczególnie HTTP. W internetowym stosie przetwarzania protokół SSL jest umieszczany powyżej warstwy TCP/IP i poniżej warstwy aplikacji, nie wpływając zasadniczo na funkcjonowanie protokołów innych warstw. Pozwala to również na użycie go w innych aplikacjach opartych na technikach internetowych, takich jak dostęp intra- i ekstranetowy, zabezpieczanie aplikacji, aplikacje bezprzewodowe i usługi webowe.
Polecamy także: Rosnąca popularność technologii SSL i związane z nią nowe zagrożenia
Protokół SSL zabezpiecza proces przekazywania danych przez Internet dzięki kodowaniu danych opuszczających przeglądarkę i dekodowaniu ich po osiągnięciu centrum przetwarzającego dane. Podobnie koduje się dane przed wysłaniem ich przez Internet podczas transmisji w przeciwnym kierunku, czyli do abonenta.
Na wyższym poziomie sesje protokołu SSL składają się z dwu części: połączenia i aplikacji. Podczas łączenia klient i serwer wymieniają referencje i negocjują parametry zabezpieczeń. Jeśli klient zaakceptuje referencje serwera, ustala się 49-bitowy tajny ciąg kontrolny (master secret), zaszyfrowany publicznym kluczem serwera, używany do szyfrowania całej późniejszej komunikacji.
Podczas sesji aplikacyjnej klient i serwer bezpiecznie przekazują informacje między sobą. Mogą to być numery kart kredytowych, informacje giełdowe, osobiste dane medyczne i inne typy intymnych lub poufnych danych.
- Uwierzytelnienie - zdolność do weryfikowania serwera lub serwera i klienta na obu końcach połączenia.
- Poufność - zdolność do takiego szyfrowania przesyłanych informacji, aby tylko obie komunikujące się strony mogły uzyskać do niej dostęp i zrozumieć ją.
- Integralność - niedopuszczenie do zmiany zawartości komunikatu. Odbiorca może być pewny, że otrzymuje niezmienioną informację.
- Autoryzacja serwera wobec klienta.
- Umożliwienie klientowi i serwerowi wybrania algorytmów szyfrowania i poziomu bezpieczeństwa.
- Opcjonalnie autoryzacja klienta wobec serwera. Użycie publicznych kluczy kryptograficznych do utworzenia współużytkowanych tajnych informacji (shared secrets), które później będą użyte do transmisji rzeczywiście poufnych danych.
- Ustalenie połączenia SSL.
- Dane dzieli na małe, możliwe do użycia partie, nazywane fragmentami.
- Zabezpiecza dane przed zmianami integrującym "opakowaniem" (wrapper).
- Dane szyfruje i dołącza do nich opakowanie.
Obecnie przedsiębiorstwa stosują SSL jako protokół do nowych aplikacji w centrach danych. Dla aplikacji opartych na protokole SSL, takich jak wirtualne sieci VPN, względnie tych, które potrzebują dodatkowej weryfikacji użytkownika końcowego, uwierzytelnienie klienta staje się wymaganiem.
Uwierzytelnienie klienta pozwala serwerowi potwierdzić tożsamość użytkownika dzięki użyciu takich samych technik, jakie pozwalają klientowi uwierzytelnić serwer. Szczegółowe przepływy komunikatów związanych z tym typem uwierzytelnienia są znacząco różne, ale sam proces jest pojęciowo identyczny, jak podczas uwierzytelniania serwera.
Proces ten ma również miejsce w subprotokole SSL uzgadniania. W tym wypadku klient musi przedstawić serwerowi tożsamość, potwierdzoną przez wiarygodne władze certyfikujące. Serwer, posługując się standardowymi technikami korzystającymi z kryptografii kluczy publicznych, używa tej informacji do uwierzytelnienia użytkownika.
Wszechobecność protokołu SSL wynika z jego elastyczności i stabilności. Będzie prawdopodobnie nadal używany i bardzo rozwiną się jego zastosowania. SSL stanie się podstawowym protokołem do aplikacji tworzonych na potrzeby przedsiębiorstw, urządzeń dostępu bezprzewodowego, usług webowych i zarządzania bezpiecznym dostępem.