Certificate, TLS /SSL, incredere
Deși afectată de implementări nefericite și de trecerea timpului, criptarea TLS /SSL, pe care o folosim zi de zi pentru accesarea site-urilor web pare să reziste bine cel puțin din punct de vedere al principiilor utilizate. Probleme cu implementările tot apar; despre unii algoritmi nu știm prea bine cât de siguri sunt. Dar în general pare să fie destul pentru lucrurile pentru care o folosim zi de zi.
Există suspiciuni legate de capacitatea unor guverne de a decripta astfel de comunicații; dealtfel am mai vorbit și eu despre asta în trecut. Însă cum guvernul poate oricum accesa la nevoie atât situația mea bancară cât si forumurile pe care mă conectez de obicei, chestiunea aceasta nu e atât de critică încât să ne producă prea mari rețineri. Să zicem că e un risc asumat.
Algoritmii de criptare sunt doar o parte a problemei. Așa cum sunt, se pare că sunt suficient de puternici pentru uz comun. Cealaltă parte a problemei este un pic mai delicată și la ea mă voi opri în cele ce urmează.
Este vorba de autentificarea site-ului pe care ne conectăm. Degeaba folosim un algoritm impenetrabil dacă cel cu care comunicăm nu este cel care credem că este. Pentru aceasta s-a dezvoltat sistemul de certificate, așa zisa PKI (public key infrastructure).
Certificatele digitale sunt emise de instituții care acționează oarecum asemanător cu birourile notariale. Ele ne furnizează un certificat care va fi instalat pe serverul nostru ( să zicem pe magazinul nostru virtual) , certificat care ne garantează că a fost emis pentru site-ul nostru ( de obicei conține numele acestuia) de către respectiva instituție. Această verificare se face în principiu online de către browser.
De unde vine însă autoritatea “morală” a acestor instituții? Aici intervine problema delicată: dacă în cazul notariatelor, autoritatea este cumva reglementată și verificată de stat ( nu zic că nu ar putea exista notari infractori, dar având un set de reglementări clare la dispoziție la nevoie aceștia pot fi identificați și pedepsiți) problema autorităților de certificare este mai complexă. Ca peste tot în Internet, reglementări nu prea există. Autoritățile de certificare sunt globale, nu locale, deci chiar daca se supun juridic legislației din țara de reședință, aceste reglementări vizează în general funcționarea lor ca întreprindere, nu procedurile de validare și emitere a certificatelor.
În teorie, ar trebui să ne bazăm pe reputația acestor companii. Cum însă în general nu prea avem de-a face cu ele, în practică decidentul este altul: browserul pe care îl folosim. Browserul conține o listă de certificate root de încredere, menținută de dezvoltatorii acestuia. În cazul firefox, de exemplu, putem găsi aici procedura prin care un doritor poate să aplice pentru a fi inclus în această listă. Cum fiecare dezvoltator are procedura și criteriile lui, și cum există maxim cinci browsere majore, vom avea cinci liste de autorități de certificare mai mult sau mai puțin asemănătoare.
Bineînțeles că un eventual cumpărător de certificate se va orienta mai degrabă spre cei care se află pe toate aceste liste; în acest fel a apărut un fel de cvasimonopol ( lista nu e totuși așa de mică, dar e destul de dificil să reușești să înființezi o autoritate nouă).
În definitiv ce vând aceste companii? Orice administrator de sistem își poate construi relativ simplu propria autoritate de certificare și de multe ori chiar o face pentru a-și securiza propria rețea; criptarea este la fel de solidă . Însă e vorba de încredere. Dacă în propria rețea administratorul este autoritatea supremă și dictatorul omnipotent, coborât pe pământ, în mijlocul mulțimii, acesta nu poate oferi același produs: încrederea.
Este însă această încredere justificată? Dacă privim lucrurile din punct de vedere istoric, în general da: cazurile de autorități de certificare compromise nu sunt prea multe, incidentele destul de puține.
În ultima vreme observ însă o supralicitare a acestei încrederi. Devine din ce în ce mai complicat să îți menții propria autoritate de certificare: pe unele dispozitive mobile este de-a dreptul imposibil sa adaugi manual certificatul acesteia la lista autorităților; unele browsere sau aplicații tind să îl ignore sau cel puțin folosesc “codul culorilor” pentru a te avertiza că certificatul tău e emis de o autoritate “de mai puțină încredere”. Tindem să avem de-a face cu un fel de “cartel” favorizat de atitudinea înțelegătoare a dezvoltatorilor browserelor.
O limitare a SSL este că din punct de vedere tehnic pe o adresa de IP se poate rula un singur certificat. În general firmele de hosting rulează zeci, poate chiar sute de site-uri pe o singură adesă. Putem deci autentifica un singur site pentru acel IP, asta daca nu ar fi fost inventate certificatele “wildcard”. Aceste certificate se pot cumpăra și ne asigură că cine rulează la acea adresă este cine pretinde, oricum s-ar numi el. Foarte de încredere, nu? Browserul nu va avea nimic de comentat, chiar dacă același certificat autentifică și Vasile SRL și ivanivanovici.ru. În schimb va fi foarte drastic și va speria clienții dacă certificatul serverului de mail este emis de vreun oarecare bădici.
Citeste intreg articolul si comenteaza pe Contributors.ro