Jak działa TLS/SSL

Czym jest SSL/TLS

Transport Layer Security, czyli w skrócie TLS, jest stosowanym w wielu obszarach protokołem bezpieczeństwa zaprojektowanym w celu zapewnienia prywatności i bezpieczeństwa danych podczas komunikacji sieciowej. Zanim odpowiemy na pytanie, jak działa TLS, musimy sobie uświadomić, że jest on popularny nie tylko w internecie, ale także w lokalnych sieciach IP. Najczęściej stosowaną formą użycia TLS jest szyfrowanie komunikacji pomiędzy aplikacjami internetowymi a serwerami, takimi jak twoja przeglądarka pobierająca zawartość tej strony internetowej. Protokół TLS może być również wykorzystywany do szyfrowania innych rodzajów komunikacji, takich jak: 

  • poczta elektroniczna 
  • wiadomości przesyłane przez komunikatory (messenger, signal) 
  • komunikacja głosowa  IP (VoIP)

TLS został zaprojektowany przez Internet Engineering Task Force (IETF), międzynarodową organizację zajmującą się standardami. Jego pierwsza wersja protokołu została wdrożona w 1999 roku. Najnowsza wersja to TLS 1.3, która została opublikowana w 2018 roku. Wcześniej używano protokołu SSL.

Różnice między SSL i TLS

SSL, czyli Secure Sockets Layer, to pierwowzór TLS, oparty na szyfrowaniu protokół bezpieczeństwa internetowego. Został opracowany przez firmę Netscape w 1995 roku w celu zapewnienia prywatności, uwierzytelniania i integralności danych w komunikacji internetowej. SSL jest poprzednikiem używanego obecnie protokołu TLS. Jednak różnice między SSL a TLS są bardzo niewielkie. Tak naprawdę tylko osoba techniczna będzie w stanie dostrzec te różnice. Do godnych uwagi różnic należą:

  • Używane zestawy szyfrów Fortezza w SSL, których TLS nie wspiera. W TLS zastosowano proces, który ułatwia definiowanie różnych zestawów szyfrów, takich jak RC4, Triple DES, AES, IDEA itp. Są one modyfikowane wraz z nowszymi wersjami TLS.
  • SSL posiada komunikat alarmowy “Brak certyfikatu”. Protokół TLS usuwa ten komunikat i zastępuje go kilkoma innymi komunikatami alarmowymi.
  • SSL używa kodu uwierzytelniania wiadomości (MAC) po zaszyfrowaniu każdej wiadomości, podczas gdy TLS  używa HMAC – kodu uwierzytelniania wiadomości opartego na hashu generowanego dla każdej nowozaszyfrowanej wiadomości.
  • Uwierzytelnianie wiadomości SSL łączy szczegóły klucza i dane aplikacji w sposób ad-hoc, podczas gdy wersja TLS opiera się na HMAC Hash-based Message Authentication Code.
Zobacz:  Czym jest atak DoS

Jak działa SSL/TLS?

Zanim dowiemy się jak działa SSL, najpierw musimy zrozumieć następujące dwa pojęcia: kryptografia asymetryczna (Asymmetric Cryptography) i kryptografia symetryczna (Symmetric Cryptography). Są to dwa sposoby szyfrowania danych, które wykorzystuje SSL.

Kryptografia asymetryczna

Kryptografia asymetryczna, znana również jako kryptografia klucza publicznego, jest sposobem szyfrowania danych przy użyciu pary kluczy publicznych i prywatnych.

Klucz publiczny jest kluczem, który będzie udostępniony na zewnątrz dla każdego, kto chce się komunikować, a klucz prywatny jest kluczem bezpieczeństwa, który jest przechowywany na serwerze i nie jest udostępniany.

Podczas komunikacji nadawca użyje klucza publicznego do zaszyfrowania danych, a odbiorca użyje klucza prywatnego do odszyfrowania danych, które otrzymał.

Kryptografia asymetryczna opiera się na funkcjach jednokierunkowych, czyli takich, które da się łatwo wyliczyć w jedną stronę, ale bardzo trudno w drugą. Przykładowo, łatwą funkcją jest  mnożenie, a operacja odwrotna – rozkład na czynniki faktoryzacja) jest juz procesem bardziej czasochłonnym trudny. Potęgowanie modulo jest łatwe, a logarytmowanie dyskretne jest trudne, na tej zależności opierają się algorytmy ElGamal, DSA i ECC.

TLS szyfrowanie asymetryczne
Kryptografia asymetryczna przy użyciu pary kluczy

Kryptografia symetryczna

Kryptografia symetryczna jest również sposobem szyfrowania danych tak samo jak Kryptografia asymetryczna. Zasadnicza różnicą polega na tym, że zamiast używać pary kluczy, używa tylko jednego klucza do szyfrowania i deszyfrowania danych.

Procedura działania SSL

Przetwarzanie danych w SSL

SSL używa zarówno kryptografii smetrycznej jak i asymetrycznej do szyfrowania danych. Komunikacja pomiędzy dwoma systemami uczestniczącymi w komunikacji, wykorzystującymi SSL, składa się z dwóch etapów: 

  • SSL handshake 
  • Transfer danych.

Kryptografia asymetryczna jest używana w kroku SSL handshake. Kryptografia symetryczna jest używana do transferu danych po kroku SSL handshake.

Przywitanie (handshake)

Posłużymy się przykładem komunikacji pomiędzy przeglądarką a serwerem WWW.

Połączenie SSL pomiędzy tymi dwoma systemami rozpocznie się od handshake’u SSL i wykorzystuje asymetryczną kryptografię. Ten krok służy przeglądarce do uwierzytelnienia SSL z serwerem na którym umieszczona jest odwiedzana przez użytkownika witryna. Proces ten wygląda następująco:

  1. Przeglądarka wysyła do serwera wiadomość o treści “client hello”
  2. Serwer odpowie treścią “server hello”, która zawiera informacje o certyfikacie SSL oraz klucz publiczny tego SSL
  3. Przeglądarka potwierdzi, czy informacje o uwierzytelnieniu SSL są prawdziwe czy nie, jeśli się uda, przeglądarka wygeneruje klucz sesji
  4. Ten klucz sesji zostanie zaszyfrowany kluczem publicznym i wysłany do serwera
  5. Serwer otrzyma zaszyfrowany klucz sesji i użyje klucza prywatnego, aby go odszyfrować i zapisać ten klucz sesji, a następnie zwróci sygnał do przeglądarki, że klucz sesji został odebrany
  6. Teraz zarówno przeglądarka jak i serwer posiadają Klucz Sesji, jest to Klucz, który będzie używany do szyfrowania i deszyfrowania danych podczas późniejszej komunikacji obu systemów, Ten sam klucz, a więc stosowana będzie kryptografia symetryczna.
Zobacz:  ICMP Flood
Zestawianie sesji, jak działa TLS handshake
Handshake w SSL

Transfer danych

Transfer to oczywiście proces przesyłania danych pomiędzy dwoma systemami, w tym kroku w SSL/TLS używana jest kryptografia symetryczna, a oba systemy używają Klucza Sesji do szyfrowania i deszyfrowania danych.

Podsumowanie

Właśnie tak działa podstawowa implementacja SSL/TLS. Oczywiście to tylko podstawy, rozwinięć tego protokołu i bardziej skomplikowanych sposobów użycia można odnaleźć bardzo wiele. Przykładem może być dwustronne uwierzytelnianie przy pomocy mTLS. Szyfrowanie danych pomaga nam uchronić się przed wieloma zagrożeniami w cyberprzestrzeni, całe szczęście szyfrowanie ruchu w internecie jest obecnie standardem.

5/5 - (Głosów: 4)

Inne wpisy

Odwiedź nasze media społecznościowe

12,018FaniLubię
243ObserwującyObserwuj
168SubskrybującySubskrybuj

Ostatnie artykuły

× Chat