Securitatea stratului de transport

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Transport Layer Security ( TLS ) și predecesorul său Secure Sockets Layer ( SSL ) sunt protocoale de prezentare criptografice utilizate în domeniul telecomunicațiilor și tehnologiei informației care permit comunicarea sigură de la sursă la destinatar (de la un capăt la altul ) prin intermediul rețelelor TCP / IP ca Internet ) oferind autentificare , integritate a datelor și confidențialitate, operând deasupra stratului de transport .

Diferite versiuni ale protocolului sunt utilizate pe scară largă în aplicații precum browsere , e-mail , mesagerie instantanee și voce peste IP . Un exemplu de aplicare a SSL / TLS se află în protocolul HTTPS .

Protocoale SSL și TLS
Protocol Publicat stare
SSL 1.0 Nepublicat Nepublicat
SSL 2.0 1995 Învechit în 2011 ( RFC 6176 )
SSL 3.0 1996 Învechit în 2015 ( RFC 7568 )
TLS 1.0 1999 Dezmembrare planificată pentru 2020 [1]
TLS 1.1 2006 Dezmembrare planificată pentru 2020 [1]
TLS 1.2 2008
TLS 1.3 2018

Istorie

Stiva de protocol TCP / IP a Internetului , spre deosebire de modelul ISO / OSI , nu oferă în sine caracteristici de securitate din motive istorice legate de utilizarea principală a rețelei în primele sale zile (schimb simplu de date între cercetătorii din comunitatea științifică ), și abia ulterior odată cu deschiderea rețelei în scopuri publice, problemele de securitate au devenit treptat din ce în ce mai importante, de unde și necesitatea de a insera straturi suplimentare care se ocupă de securitate [2] .

Implementările timpurii ale SSL au fost limitate la doar criptarea cheii simetrice pe 40 de biți din cauza restricțiilor guvernului SUA la exportul de tehnologii criptografice din motive de securitate națională. Cu alte cuvinte, limitarea dimensiunii cheii de 40 de biți a fost impusă în mod explicit pentru a face criptarea suficient de slabă pentru a fi forțată (prin utilizarea tehnicilor de căutare a forței brute ) de către autoritățile judiciare care doreau să decripteze traficul criptat, dar suficient de rezistent la atacuri de către entități cu mai puțină disponibilitate a resurselor tehnico-financiare. După câțiva ani de controverse publice, procese și admiterea de către guvernul SUA a unor produse de criptare mai bune pe piață (atât în ​​interiorul, cât și în afara SUA), unele aspecte ale restricțiilor s-au schimbat. Implementările moderne utilizează chei pentru criptarea simetrică pe 128 (sau mai mulți) biți. [3] [4]

TLS a fost ulterior extins de alte RFC-uri , inclusiv:

  • RFC 2712 : „Adăugarea suitelor de cifrare Kerberos la securitatea stratului de transport (TLS)”. Acesta ilustrează modul în care cifrele de 40 de biți sunt acum depășite.
  • RFC 2817 : „Actualizare la TLS în cadrul HTTP / 1.1”, explică modul de utilizare a mecanismului de actualizare în HTTP / 1.1 pentru a inițializa Transport Layer Security (TLS) pe o conexiune TCP existentă. Acest lucru permite același port bine cunoscut să fie partajat între traficul HTTP normal și sigur.
  • RFC 2818 : „HTTP peste TLS”. Faceți diferența între traficul securizat și cel nesigur folosind un port de server diferit.
  • RFC 3268 : „AES Ciphersuites for TLS”. S-au adăugat îmbunătățiri precum Standard de criptare avansată (AES), Algoritmul internațional de criptare a datelor (IDEA), Standardul de criptare a datelor (DES) și Triple DES .

Versiunile SSL v2 și v3 sunt considerate în prezent nesigure. Se folosesc de obicei versiunile TLS 1.2 și 1.3. [1]

În timp ce tot mai multe produse client și server acceptă în prezent TLS sau SSL în mod nativ, există încă multe produse care nu acceptă aceste protocoale. În aceste cazuri, este posibil să se utilizeze produse care furnizează o criptare SSL separată.

Descriere

Protocolul TLS permite aplicațiilor client / server să comunice într-o rețea pentru a preveni manipularea, falsificarea și interceptarea datelor . Este un protocol standard IETF care, în ultima sa versiune, este definit în RFC 5246 , dezvoltat pe baza protocolului SSL anterior de către Netscape Communications .

În utilizarea tipică a unui browser de către utilizatorul final, autentificarea TLS este unilaterală: este singurul server care se autentifică cu clientul (adică clientul cunoaște identitatea serverului, dar nu invers, adică clientul rămâne anonim și nu autentificat pe server). Autentificarea serverului este foarte utilă pentru software-ul de navigare și pentru utilizator. Browserul validează certificatul de server verificând dacă semnătura digitală a certificatelor de server este validă și recunoscută de o autoritate de certificare cunoscută utilizând criptarea cheii publice . După această autentificare, browserul indică o conexiune sigură, afișând de obicei o pictogramă de blocare.

Cu toate acestea, această autentificare nu este suficientă pentru a garanta că site-ul cu care sunteți conectat este cel solicitat. Pentru a vă asigura că este necesar să analizați conținutul certificatului emis și să verificați lanțul de certificare. Site-urile care intenționează să-l înșele pe utilizator nu pot folosi un certificat de pe site-ul pe care doresc să-l identifice deoarece nu au capacitatea de a cripta valid certificatul, care include adresa, în așa fel încât să fie valabil la destinație. Doar CA-urile pot genera certificate valide cu o adresă URL încorporată, astfel încât comparația dintre adresa URL aparentă și cea conținută în certificat poate oferi o metodă fiabilă de identificare a site-ului. De foarte multe ori acest mecanism nu este cunoscut utilizatorilor de internet și este cauza diferitelor fraude din cauza utilizării incorecte a browserului, nu a unei slăbiciuni a protocolului TLS.

Protocolul TLS permite, de asemenea, autentificarea bilaterală , utilizată de obicei în aplicațiile comerciale, în care ambele părți se autentifică în siguranță prin schimbul de certificate. Această autentificare (numită autentificare reciprocă ) necesită ca și clientul să aibă propriul certificat digital, ceea ce este foarte puțin probabil într-un scenariu normal.

În absența autentificării bilaterale, protocoalele TLS-PSK sau Secure remote password (SRP) pot fi utilizate pentru a asigura autentificarea sigură în absența unui certificat.

Principiile de funcționare

Etape

Funcționarea protocolului TLS poate fi împărțită în trei faze principale:

În prima fază, clientul și serverul negociază protocolul de criptare care va fi utilizat în comunicarea securizată, protocolul pentru schimbul de chei și algoritmul de autentificare, precum și codul de autentificare a mesajului (MAC). Algoritmul pentru schimbul și autentificarea cheilor sunt de obicei algoritmi de cheie publică sau, ca în cazul TLS-PSK, utilizează o cheie pre-partajată . Integritatea mesajului este asigurată de o funcție hash care utilizează o construcție HMAC pentru protocolul TLS sau o funcție pseudorandom non-standard pentru protocolul SSL.

Protocoale utilizate

Următoarele protocoale sunt de obicei utilizate în cadrul unei sesiuni:

SSLv2 nu a folosit RSA. Există o vulnerabilitate în care un hacker poate încerca în mod repetat să se conecteze folosind SSLv2, obținând de fiecare dată câteva informații despre cheia criptografică. Unii clienți , pe lângă suportul TLS, au menținut suportul anterior SSLv2 de-a lungul anilor, fără a-l dezactiva; IIS, serverul web Microsoft, începând cu versiunea 7.0 și OpenSSL începând cu versiunea 1.0.2g (martie 2016) dezactivează implicit SSLv2.

STARTTLS

STARTTLS este evoluția TLS , diferă prin faptul că permite criptarea conexiunii chiar și pe porturile originale sau standard, adică 110, 143 și 25, în acest caz clientul care folosește acest protocol cere serverului în primă instanță stabilirea unei conexiuni criptate, apoi sesiunea începe „în clar” și apoi devine criptată înainte de transmiterea oricărei informații sensibile sau potențial. [5]

Notă

Bibliografie

Elemente conexe

Alte proiecte

linkuri externe