TLS i SSL – co to jest?
SSL (Secure Socket Layer) i TLS (Transport Layer Security) to w istocie dwa bardzo podobne do siebie protokoły bezpieczeństwa. Ich zadaniem jest zapewnianie prywatności i integralności danych przesyłanych pomiędzy klientem (np. komputerem, którego używasz, by odwiedzić ulubioną stronę internetową) a serwerem, aplikacją lub innym odbiorcą.
Co odróżnia od siebie te dwa protokoły? Otóż TLS jest tak naprawdę… nowszą wersją SSL. SSL został wprowadzony na rynek w roku 1995, jednakże cechowało go dość wiele niedociągnięć. Rok później zastąpiono go więc protokołem SSL v3.0, ale on również nie był idealny i narażał użytkowników sieci na niebezpieczeństwo.
Protokół TLS wyewoluował ze starszego SSL i został wprowadzony na rynek w 1999 roku. Cechuje go przede wszystkim większe bezpieczeństwo względem swojego poprzednika. Jeśli więc zadajesz sobie pytanie o treści „TLS vs SSL – który lepszy?”, to odpowiedź jest bardzo prosta: ten pierwszy. Większość urządzeń i stron internetowych aktualnie korzysta z protokołu TLS 1.2, ale nazwy „SSL” oraz „certyfikat SSL” są nadal w użyciu. To dlatego, że trudno odzwyczaić użytkowników od starej, powszechnie wykorzystywanej frazy.
Obecnie w wielu miejscach można spotkać nazwę „SSL/TLS” oznaczającą po prostu protokół TLS, jednak przyczyniającą się do stopniowego zmieniania przyzwyczajeń i wprowadzania nowej frazy do słowników internautów.
Dlaczego strony internetowe wykorzystują SSL/TLS?
Protokół SSL/TLS idzie w parze z HTTPS, czyli bezpieczniejszą wersją protokołu HTTP (Hypertext Transfer Protocol). HTTP odpowiada między innymi za przesyłanie żądań udostępnienia witryn internetowych oraz informacji wprowadzonych za pomocą formularzy. Umożliwia on więc komunikację między klientem (Twoim urządzeniem) a serwerem.
Sam protokół HTTP nie jest jednak zabezpieczony, a informacje, które są przesyłane za jego pomocą, mogą być bardzo łatwo przechwycone. Z tego powodu strony wykorzystujące zwykły protokół HTTP są uważane za niebezpieczne – cechuje je wrażliwość na różnego rodzaju ataki hakerskie. Jeśli przesyłasz poufne dane (numer PESEL, dane karty kredytowej) przez formularz na stronie, która posługuje się protokołem HTTP, nie masz pewności, że te informacje nie dostaną się w niepowołane ręce.
Właśnie dlatego powstał protokół TLS. Działa on w parze z HTTP, tworząc HTTPS – zabezpieczoną wersję protokołu HTTP. Dane są przesyłane normalnie, ale przechwycenie ich jest znacznie trudniejsze. To dlatego, że protokół SSL/TLS odpowiada za szyfrowanie informacji. Jeśli dostałby się do nich haker – zyskałby jedynie nic nieznaczące, pozornie losowe ciągi znaków niemożliwe do odczytania bez specjalnego klucza.
Obecnie każda godna zaufania witryna internetowa (w tym NordVPN) korzysta z protokołu HTTPS zamiast HTTP. Żeby przekonać się o tym, czy znajdujesz się na bezpiecznej stronie, po prostu obejrzyj dokładnie pasek adresu w swojej przeglądarce. Powinien być opatrzony ikonką kłódki, po której kliknięciu ujrzysz szczegółowe informacje na temat certyfikatu TLS. Dodatkowo adres powinien być poprzedzony przedrostkiem „https”.
Jak działa SSL?
Szyfrowanie protokołu SSL/TLS można podzielić na dwa etapy, których nazw zwyczajowo nie tłumaczy się z języka angielskiego. Pierwszym z nich jest TLS handshake (uścisk dłoni), a drugim TLS Record Layer.
SSL handshake – co to takiego?
Etap SSL/TLS handshake polega na nawiązaniu komunikacji pomiędzy klientem a serwerem. Na podstawie tego porozumienia urządzenia „decydują”, w jaki sposób będzie przebiegać dalsza komunikacja i które wersje protokołów będą w niej wykorzystywane. Jak wygląda to w praktyce?
- 1.Klient wysyła „powitanie”, czyli żądanie kontaktu do serwera, z którym chce się komunikować (może to być strona internetowa, którą odwiedzasz). Żądanie zawiera między innymi listę algorytmów szyfrujących, które klient jest w stanie obsłużyć.
- 2.Serwer w odpowiedzi wysyła własne „powitanie”, dołączając do niego certyfikat TLS oraz klucz publiczny. Klient i serwer wykorzystują szyfrowanie asymetryczne, do którego potrzebne są dwa klucze – publiczny (posiadany przez klienta) i prywatny (posiadany przez klienta i serwer). Wszystkie klucze są potrzebne do tego, by członkowie połączenia mogli odszyfrować przesyłane dane. Jeśli dostałby się do nich haker – nie byłby w stanie ich odczytać.
- 3.Klient wykorzystuje publiczny klucz serwera do stworzenia tak zwanego „pre-master secret” (wstępne dane poufne), który zostaje przesłany do serwera. „Pre-master secret” jest wykorzystywany do wykreowania kluczy sesji oraz wprowadzenia połączenia na poziom szyfrowania symetrycznego. Zarówno klient, jak i serwer posługują się teraz wyłącznie kluczami prywatnymi, dzięki czemu komunikacja staje się bardziej płynna.
- 4.Serwer odszyfrowuje „pre-master secret” i używa go do stworzenia symetrycznego klucza, który przekazuje klientowi. Cała komunikacja odbywa się teraz w trybie szyfrowania symetrycznego, a ruch jest zabezpieczony przed wścibskimi hakerami.
SSL/TLS Record Layer
W tym miejscu odbywa się enkrypcja. Dane wysyłane przez klienta są zaszyfrowane. Mogą być także skompresowane (zależy to od wykorzystywanego szyfru). Za przesyłanie informacji do serwera odpowiada warstwa transportowa sieci.
Certyfikat SSL – co to jest i dlaczego jest potrzebny?
Witryny, które korzystają z bezpiecznego protokołu TLS, posiadają certyfikat SSL, chociaż nazwa jest jedynie zwyczajowa – chodzi oczywiście o certyfikat SSL/TLS lub po prostu TLS. Certyfikaty są przyznawane przez właścicieli platform hostujących witryny internetowe i świadczą o tym, że domena jest wiarygodna i spełnia standardy bezpieczeństwa.
Certyfikaty SSL pomagają także sprostać wymogom RODO, ponieważ protokół SSL/TLS odpowiada między innymi za szyfrowanie danych osobowych. Witryny działające dzięki TLS i posiadające certyfikat są również traktowane jako bezpieczne przez algorytmy wyszukiwarek, a więc wyświetlają się wyżej w wynikach wyszukiwania.
Należy jednak pamiętać, że protokół to nie to samo, co certyfikat. Strona internetowa z certyfikatem SSL/TLS nadal może komunikować się z klientem za pomocą przestarzałego protokołu SSL 3.0. To dlatego protokoły używane w trakcie połączenia są zależne od ustawień przeglądarki i serwera, a te mogą nie spełniać standardów bezpieczeństwa.
Jak sobie z tym poradzić? Korzystaj z aktualnej wersji przeglądarki internetowej, która podpowie Ci, czy witryna jest zabezpieczona protokołem HTTPS (szukaj ikonki kłódki i przedrostka „https” przed adresem strony). Jeśli martwisz się o przestarzałą wersję protokołu SSL – możliwe jest ręczne wyłączenie jego obsługi w ustawieniach przeglądarki. Może to jednak negatywnie wpłynąć na stabilność połączenia z niektórymi witrynami.
Używaj aplikacji NordVPN, by zachować prywatność w Internecie. Usługa dodatkowo chroni Twoje dane i aktywność, szyfrując połączenie.