SSL (Secure Sockets Layer) to protokół zapewniający bezpieczeństwo komunikacji. W dzisiejszej kryptografii jest to jeden z najpopularniejszych protokołów, którego bezpieczeństwo połączenia osiąga się dzięki „środowisku warstwowemu”. Jak to działa?
Instrukcje
Krok 1
SSL znajduje się pomiędzy dwoma protokołami: protokołem programu klienta (HTTP, FTP, Telnet itd.) oraz protokołem TCP/IP do przesyłania pakietów.
Sam SSL jest podzielony na dwie warstwy: Handshake Protocol Layer (warstwa potwierdzenia połączenia) i Record Layer (warstwa nagrywania). W tym przypadku warstwa potwierdzenia połączenia jest z kolei podzielona na trzy protokoły: Handshake Protocol (potwierdzenie połączenia), Change Cipher Spec Protocol (zmiana parametrów szyfrowania) oraz Alert Protocol (ostrzeżenie).
Krok 2
Poniższy diagram ilustruje warstwy protokołu SSL:
Warstwa protokołu uzgadniania
Jak wspomniano wcześniej, ta warstwa zawiera trzy protokoły:
Protokół uzgadniania
Protokół ten jest używany do negocjowania danych sesji między klientem a serwerem. W takim przypadku przekazywane są następujące informacje:
1. numer identyfikacyjny sesji;
2. Certyfikaty stron;
3. Parametry zastosowanego algorytmu kryptograficznego;
4. Zastosowany algorytm kompresji;
5. Informacje używane do tworzenia kluczy, czyli klucz publiczny.
Zmień protokół specyfikacji szyfrowania
Ten protokół służy do zmiany danych klucza używanego do szyfrowania danych między klientem a serwerem.
Protokół alertu
Komunikat ostrzegawczy wskazuje na zmianę stanu lub błąd. W takim przypadku obie strony są powiadamiane.
Krok 3
W celu zapewnienia bezpieczeństwa, czyli weryfikacji autentyczności uczestników wymiany informacji, w protokole potwierdzenia stosowany jest certyfikat (standard X.509). W kryptografii certyfikat jest dokumentem cyfrowym potwierdzającym zgodność klucza publicznego z informacją identyfikującą właściciela klucza. Certyfikat jest wystawiany przez urząd certyfikacji – stronę trzecią, której a priori ufają strony bezpośrednio zaangażowane w przekazywanie informacji.
Krok 4
W kryptografii stosowane są dwie główne metody szyfrowania: szyfrowanie symetryczne i asymetryczne (kluczem publicznym). SSL wykorzystuje obie metody.
W przypadku korzystania z klucza symetrycznego obie strony używają tego samego klucza do szyfrowania danych, jest to warunek konieczny w celu zapewnienia bezpieczeństwa przesyłania informacji. Ten rodzaj szyfrowania służy do przetwarzania dużych ilości danych.
Szyfrowanie asymetryczne wykorzystuje dwa klucze uzyskane w wyniku szeregu obliczeń matematycznych. SSL wykorzystuje szyfrowanie asymetryczne, dzięki czemu serwer może zweryfikować tożsamość klienta i odwrotnie.