Protocol TLS – Cum pot noile credențiale delegate să stimuleze securitatea protocolului TLS

Protocol TLS – Cum pot noile credențiale delegate să stimuleze securitatea protocolului TLS

Mozilla, în parteneriat cu Facebook, Cloudflare și alți membri ai comunității IETF, au anunțat specificațiile tehnice pentru un nou protocol criptografic numit credențiale delegate pentru TLS.

Credențialele delegate pentru TLS reprezintă o nouă modalitate simplificată de implementare a certificatelor de scurtă durată, fără a sacrifica fiabilitatea conexiunilor sigure. Pe scurt, noua extensie a protocolului TLS își propune să prevină în mod eficient utilizarea necorespunzătoare a certificatelor furate, reducând perioada de valabilitate maximă la un interval de timp foarte scurt, cum ar fi câteva zile sau chiar ore.

Înainte de a analiza modul în care funcționează acreditările delegate pentru TLS, trebuie să înțelegem infrastructura actuală TLS și, bineînțeles, problema principală din interiorul acesteia datorită căreia avem nevoie de acreditări delegate pentru TLS.

Infrastructura actuală TLS

Peste 70% din toate site-urile de pe Internet utilizează astăzi certificate TLS pentru a stabili o linie singură de comunicare de tip HTTPS între serverele lor și vizitatori, asigurând astfel confidențialitatea și integritatea fiecărui bit și octet din interiorul datelor schimbate.

Site-urile web obțin un certificat TLS de la o autoritate de certificare (CA) care trebuie să fie de încredere pentru toate browserele web majore. Organizația CA semnează în format digital un certificat care rămâne valabil doar pentru o anumită perioadă, de obicei timp de un an sau doi.

Oricând vă conectați la un site web protejat de tip HTTPS, serverul furnizează certificatul TLS browserului web pentru a confirma identitatea sa înainte de a schimba orice informație care ar putea include parole și alte date sensibile.

În mod ideal, este de așteptat ca certificatele să fie utilizate pentru întreaga lor perioadă de valabilitate, dar, din păcate, un certificat poate impune probleme chiar înainte de expirare, din mai multe motive.

De exemplu, chiea privată secretă corespunzătoare unui certificat poate fi furată sau certificatul poate fi eliberat în mod fraudulos, permițând unui atacator să-și însușească un server vizat sau să spioneze conexiunile criptate printr-un atac de tip man in the middle.

Mai mult, companiile mari de tehnologie precum Facebook, Google și Cloudflare își oferă serviciile de la mii de servere implementate la nivel mondial. Astfel, distribuie chei ale certificatelor private fiecăruia dintre aceștia, fiind un real proces în care riscul de compromitere este mai mare decât de obicei.

De ce avem nevoie de acreditări delegate pentru TLS?

Dacă un certificat este compromis înainte de data expirării sale, singura opțiune pe care un operator de site web o are în prezent este să solicite autorității de certificare revocarea certificatului furat și eliberarea unuia nou, cu o cheie privată diferită.

Cu toate acestea, din păcate, mecanismele actuale de revocare sunt, de asemenea, încălcate în practică. În mod ideal, browserele ar trebui să poată detecta prompt certificatele care nu mai sunt de încredere, pentru a împiedica în mod proactiv utilizatorii să se conecteze în continuare la un server compromis, până când va reveni online cu un nou certificat valid. Dar, întrucât interogarea frecventă a unui server CA impune o penalitate de performanță masivă asupra traficului web, browserele moderne pot fie să utilizeze starea de validare în cache a unui certificat, fie să asume că acesta încă este valabil în cazul în care browserul nu primește răspuns din partea CA la timp sau întâmpină o eroare de conectare.

Acest lucru poate însemna că un atacator este gata să lanseze un atac cibernetic împotriva unui site web vizat doar în intervalul de timp dintre revocarea certificatului său furat și momentul în care browserul află despre acesta și poate fi blocat. În încercarea de a reduce și mai mult acest interval de timp sensibil, unele companii au început să experimenteze certificate cu o perioadă de validare mai scurtă, după care browserele în sine le resping în loc să aștepte semnalul de revocare.

Compania Facebook este, de asemenea, printre acele companii care utilizează această abordare, după cum a afirmat public faptul că, cu cât durata de viață a certificatului este mai scurtă, cu atât este mai puțin probabil ca acesta să fie revocat înaintea datei de expirare. De curând, durata de valabilitate a certificatelor Facebook a fost redusă de la standardul actual de industrie, respectiv de la un an, la doar câteva luni.

Acest lucru sporește securitatea companiilor, prin reducerea perioadei în care un potențial atacator ar putea utiliza un certificat compromis. Cu toate acestea, întrucât CA este o organizație separată, iar un server de site-uri ar trebui să obțină certificate noi mult mai frecvent, nu există un mod fiabil disponibil pentru companii pentru a le roti continuu după fiecare câteva ore sau zile.

Conform Facebook, cu toate acestea, o comunicare constantă cu un CA extern pentru a obține certificate de scurtă durată ar putea duce la performanțe slabe sau, chiar mai rău, la lipsa de acces la un serviciu în întregime. Pentru a atenua acest risc, pentru serviciile de acest gen se optează, în general, pentru un timp mai lung de expirare, existând astfel timp pentru a recupera din eventualele defecțiuni.

Cum funcționează credențialele delegate pentru TLS?

Pentru a rezolva problemele menționate mai sus, membrii comunității IETF au propus recent credențiale delegate pentru TLS, un nou protocol criptografic care echilibrează compromisul între viață și fiabilitate.

Credențialele delegate pentru TLS permit companiilor să preia controlul parțial asupra procesului de semnare a noilor certificate pentru ele însele – cu o perioadă de valabilitate de cel mult 7 zile și fără a se baza în totalitate pe autoritatea de certificare.

Potrivit inginerului de criptografie aparținând companiei Mozilla, credențialele delegate permit deținătorilor de certificate înmatriculate special să utilizeze respectivele certificări ca un fel de sub-sub-CA pentru a construi sub-certificate a căror autoritate este delegată de entitatea efectivă finală. Aceste certificate delegate sunt deosebit de utile atunci când este necesar să acționeze în numele entității finale, în medii cu încredere mai mică, precum cele găsite uneori în rețelele CDN edge.

În termeni tehnici, o companie poate obține un leaf certificate semnat de autoritatea sa de certificare, folosindu-l pentru a genera și semna o acreditare delegată cu un timp de expirare de doar câteva ore. În ceea ce privește clientul, browserele și software-ul care acceptă noul protocol, ar trebui sa foloseasca cheia publică a acreditării delegate de scurtă durată a unui site web pentru a stabili o conexiule TLS sigură cu serverul său.

Suna acum!