TLS (Transport Layer Security) este un protocol de criptare care asigură transmisii sigure de date pe internet. Este succesorul protocolului SSL învechit și este utilizat în prezent aproape exclusiv în versiunea TLS 1.3.

Ce este TLS?

În primele zile ale internetului, securitatea datelor nu era la fel de importantă ca în prezent. Toate comunicațiile erau trimise în mod deschis și necriptat de la un computer la altul. Puteți să vă imaginați acest lucru ca pe o carte poștală: fiecare poștaș o putea citi.

Protocolul TLS — cunoscut și sub denumirea de SSL/TLS — a introdus criptarea conținutului transmis. Pentru a continua analogia, această criptare este ca un plic sigilat pe care numai destinatarul de drept îl poate deschide.

Abrevierea TLS înseamnă Transport Layer Security (Securitate la nivelul stratului de transport). Acest termen se referă la stratul de transport al modelului TCP/IP. TLS este o metodă care criptează fluxurile de date de pe internet, permițând doar destinatarilor autorizați să le citească.

Notă

Denumirea anterioară a protocolului de criptare era SSL (Secure Socket Layer). Deoarece această abreviere este încă mai cunoscută decât TLS, TLS este adesea denumit cu numele dublu „SSL/TLS”.

Cum funcționează TLS?

TLS criptează datele trimise prin internet și este implementat în mod normal peste TCP folosind criptografie simetrică.

Ceea ce pare simplu în practică este mai complicat în realitate. Problema fundamentală este că serverul trebuie să comunice cheia clientuluiînainte ca comunicarea să fie securizată cu TLS. Oricine trimite atașamente de e-mail criptate cunoaște această problemă: criptați un fișier și trebuie să împărtășiți parola secretă destinatarului, de exemplu, prin telefon.

Protocolul TLS, al cărui standard actual este versiunea 1.3 din 2018, utilizează următoarea procedură pentru a rezolva această problemă:

  1. ClientHello: Clientul (de exemplu, un browser) trimite un mesaj inițial către server cu informații despre criptările acceptate. Acesta include suite de criptare, versiuni de protocol, o valoare aleatorie și propria valoare de schimb de chei Elliptic-Curve-Diffie-Hellman (valoare ECDHE). Opțional, primul bloc de date criptate poate fi deja trimis.
  2. ServerHello: Serverul selectează parametrii corespunzători și trimite răspunsul său, inclusiv valoarea ECDHE și certificatul său digital. Acest certificat SSL dovedește că serverul este autentic și nu se preface a fi altcineva. În același timp, începe calcularea cheii de sesiune.
  3. Calcularea cheii: Ambele părți calculează acum în mod independent aceeași cheie de sesiune pe baza cheii convenite de comun acord.
  4. Serverul finalizează handshake-ul și începe comunicarea criptată. Clientul face același lucru; conexiunea este acum complet securizată.
Notă

În comparație cu versiunile anterioare, protocolul TLS 1.3 este semnificativ mai simplu și mai sigur. Întregul proces descris aici necesită acum doar o singură rundă (1 RTT), accelerând considerabil conexiunea.

Motivul pentru care criptarea asimetrică cu Diffie-Hellman este utilizată numai pentru transmiterea cheii de sesiune (dar nu și pentru criptarea fluxurilor de date în sine) este avantajul vitezei; criptarea asimetrică este relativ lentă și ar întârzia comunicarea datelor.

Avantajele și dezavantajele TLS

TLS este o soluție elegantă pentru a face traficul web mai sigur. Nu este necesar ca cele două părți să cripteze ele însele conținutul, cum ar fi datele din formulare. În schimb, este suficient ca traficul să fie rutate prin protocolul TLS, indiferent de sistemele de operare și aplicațiile software ale participanților. Toate fluxurile de date sunt apoi criptate automat în timpul transmiterii.

Prețul securității este o configurare a conexiunii puțin mai lentă, deoarece etapele procesului menționate mai sus — certificat, număr aleatoriu, schimb de chei — sunt intensive din punct de vedere computacional.

Utilizări ale TLS

După cum s-a menționat, TLS poate fi utilizat universal, deoarece este independent de aplicații și sisteme de operare. În consecință, există o versiune securizată TLS pentru o varietate de protocoale de aplicații. Schema de denumire este destul de simplă în majoritatea cazurilor: litera „S” este adăugată la numele protocolului atunci când protocolul comunică prin TLS.

Cel mai important domeniu de aplicare al TLS este World Wide Web, în special protocolul HTTP. Versiunea sa criptată se numește HTTPS.

Pe lângă acestea, trebuie menționate următoarele cazuri de utilizare obișnuite:

  • POP3S: Recuperați e-mailurile de pe server utilizând protocolul POP3
  • IMAPS: Sincronizați căsuța de e-mail cu serverul utilizând protocolul IMAP
  • SMTPS: Trimiteți e-mailuri
  • FTPS: Transfer de fișiere prin protocolul FTP
  • SIPS: Telefonie Voice-over-IP prin protocolul SIP
  • IRCS: Chaturi criptate
  • QUIC: Protocolul de transport al Google care integrează direct TLS 1.3; o alternativă la TCP pentru conexiuni web mai rapide și mai sigure (de exemplu, cu HTTP/3)

OpenVPN, un software gratuit pentru crearea unei rețele private virtuale (VPN), utilizează, de asemenea, protocolul TLS.

Implementări cheie TLS

Unele dintre cele mai utilizate implementări ale TLS includ:

  • OpenSSL – de departe cea mai comună implementare utilizată de majoritatea site-urilor web HTTPS
  • GnuTLS (Free Software Foundation)
  • LibreSSL (OpenBSD)
  • NSS (Servicii de securitate a rețelei)
  • BoringSSL (Google)
  • Rustls (Joe Birr-Pixton, Dirkjan Ochtman, Daniel McCarney, Josh Aas și comunitatea open-source)
  • Botan (licență BSD, Jack Lloyd)
  • JSSE (Java Secure Socket Extension, Oracle)
  • S2n (Amazon)

Această listă nu este exhaustivă. Informații detaliate despre implementările TLS pot fi găsite pe Wikipedia.

Atacuri TLS binecunoscute

Deși TLS este conceput pentru comunicarea securizată, acesta prezintă încă unele puncte slabe cunoscute. Printre acestea se numără:

  • Erori de programare: Bug-ul Heartbleed a devenit celebru ca o eroare critică de programare în versiunile anterioare ale OpenSSL. A fost remediat în 2014.
  • Criptări slabe: Ca urmare a restricțiilor de export ale SUA în materie de criptografie, au fost dezvoltate versiuni „de export” care erau mai ușor de spart decât originalele.
  • Atacuri de compresie: Când se utilizează compresia HTTP în locul compresiei TLS, hackerii pot ghici conținutul criptat TLS prin anumite metode.
  • Atacul BEAST a afectat versiunea TLS 1.0 și a fost descris încă din 2014. Versiunile actuale TLS sunt sigure împotriva acestuia.
  • Atacul Padding Oracle a fost descoperit în 2002 și era posibil până la versiunea SSL 3.0. Versiunea actuală TLS 1.3 nu este afectată.
  • Atacul ALPACA din 2021 arată cum certificatele TLS de pe serverele configurate incorect pot fi exploatate pentru a redirecționa utilizatorii către alte servicii, interceptând sau manipulând date.

De asemenea, s-au depus eforturi pentru a împiedica criptarea TLS complet securizată, pentru a permite autorităților să acceseze comunicațiile criptate, de exemplu în legătură cu tranzacțiile financiare și activitățile criminale. Una dintre organizațiile care a susținut o astfel de „vulnerabilitate deliberată” în TLS a fost ETSI (Institutul European de Standardizare în Telecomunicații).

Mergi la meniul principal