Protokół SSL: tajny sposób transmisji danych w Internecie

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.

Protokół SSL: tajny sposób transmisji danych w Internecie

Protokół SSL (Secure Sockets Layer)

Protokół SSL zapewnia trzy podstawowe komponenty zabezpieczania:

  • 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ę.
Podstawową funkcją bezpiecznego procesu komunikacji jest legalizacja dwóch jego uczestników. Subprotokół SSL uzgadniania pełni tę funkcję. Akcję wspiera ciąg komunikatów przesyłanych między serwerem i klientem:

  • 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.
Subprotokół SSL zapisu odpowiada za przesyłanie zaszyfrowanych danych. W tym celu podejmuje następujące akcje:

  • 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.
Wiele wcześniej utworzonych aplikacji (np. typu e-commerce), które używały protokołu SSL, nie uwierzytelniało klienta. Uwierzytelnianie odbywało się poza SSL, z zastosowaniem określonego rodzaju informacji zewnętrznej, takiej jak połączenie nazwiska z numerem karty kredytowej, lub innych danych dostarczanych przez klienta, np. hasła.

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.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200