Sari la conținut
Securitate online

Cum își păstrează site-urile parolele: hash, sare și de ce contează

Cum își păstrează site-urile parolele: hash, sare și de ce contează

TL;DR

Un site bine făcut nu păstrează parola ta în clar, ci o amprentă calculată dintr-o funcție hash, la care adaugă o valoare aleatoare numită sare. La autentificare compară amprenta parolei introduse cu cea păstrată. Asta limitează pagubele la o scurgere de date, dar parolele slabe sau refolosite rămân vulnerabile.

Stocarea parolelor este modul în care un site păstrează informația de care are nevoie ca să te recunoască fără să rețină parola ta propriu-zisă. Un sistem făcut corect nu are nicăieri o listă cu parole citibile. În locul lor păstrează amprente, adică rezultatul unei transformări într-un singur sens, calculat cu o funcție hash. Chiar dacă baza de date este furată, atacatorul nu găsește direct parolele.

Merită să știi cum se face, pentru că îți explică de ce unele scurgeri de date sunt mai grave decât altele și de ce regulile de parolă contează.

De ce nu se păstrează parola în clar

Dacă un site ar salva parola exact cum ai scris-o, orice persoană cu acces la baza de date ar vedea-o: un angajat curios, un atacator sau cineva care a obținut o copie de rezervă. Cum mulți oameni folosesc aceeași parolă pe mai multe site-uri, o singură scurgere ar putea deschide și alte conturi. Soluția este să nu existe nimic de furat în forma utilizabilă.

Ce face funcția hash

O funcție hash transformă orice text într-un șir de lungime fixă, aparent aleator. Detaliile sunt în articolul despre funcțiile hash. Pentru parole contează trei proprietăți:

  1. aceeași parolă dă mereu aceeași amprentă;
  2. o modificare mică a parolei schimbă complet amprenta;
  3. din amprentă nu se poate reconstitui direct parola, fiindcă transformarea nu este reversibilă.

La autentificare, site-ul nu „decriptează” nimic. Calculează amprenta parolei pe care ai scris-o acum și o compară cu cea salvată. Dacă sunt identice, ești primit.

De ce nu este același lucru cu criptarea

Criptarea se poate inversa cu o cheie, hash-ul nu. Diferența este explicată în articolul despre criptografie. Pentru parole se preferă hash-ul tocmai pentru că site-ul nu are nevoie să recupereze parola, ci doar să verifice dacă ai introdus-o corect. De aceea un site care îți poate „trimite parola veche pe e-mail” are o practică nesigură.

Rolul sării

Hash-ul simplu are o slăbiciune. Dacă doi utilizatori au aceeași parolă, vor avea aceeași amprentă, iar atacatorii pot construi tabele uriașe cu amprentele parolelor comune. Soluția se numește sare: o valoare aleatoare, unică pentru fiecare cont, adăugată la parolă înainte de calcul.

Metodă Ce se întâmplă Rezultat
Parolă în clar Se salvează textul exact Orice scurgere expune totul
Hash simplu Se salvează amprenta Parolele comune se pot recunoaște
Hash cu sare Se salvează sarea și amprenta Fiecare cont trebuie atacat separat

Sarea nu este secretă, ci este păstrată lângă amprentă. Rolul ei este să facă tabelele pregătite dinainte inutile și să obligă atacatorul să ia fiecare cont la rând.

Cum își păstrează site-urile parolele: hash, sare și de ce contează

De ce contează și viteza hash-ului

Funcțiile hash folosite pentru verificarea fișierelor sunt foarte rapide, iar aici rapiditatea este un dezavantaj. Un atacator care are baza de date poate încerca miliarde de combinații pe secundă, într-un atac prin ghicire. De aceea pentru parole se folosesc funcții special create să fie lente și costisitoare ca memorie, care îngreunează încercările în masă. Un site care folosește o funcție rapidă și simplă oferă o protecție mai slabă.

Ce rămâne vulnerabil chiar și așa

Hash-ul și sarea nu fac minuni. Ele își pierd efectul în câteva situații frecvente:

  • parole slabe: dacă parola este una dintre cele mai comune, un atacator o găsește foarte repede prin ghicire;
  • parole refolosite: o parolă expusă la un site poate fi încercată la altele;
  • site-uri care nu respectă practica: unele păstrează parolele în clar sau cu metode vechi;
  • phishing: dacă o dai tu însuți pe un site fals, nu mai contează cum o păstrează cel real, ca în cazurile din articolul despre phishing.

Despre ce să faci când află cineva parola, vezi articolul despre scurgerile de date.

Ce poți face tu

Nu poți controla cum își păstrează un site parolele, dar poți reduce riscul:

  1. Folosește o parolă lungă și unică pentru fiecare cont; un manager de parole te ajută, cum se arată în articolul despre parole și manageri.
  2. Activează autentificarea în doi pași, care protejează contul și dacă parola a fost aflată.
  3. Dacă un site îți trimite parola în clar pe e-mail sau ți-o arată, consideră-l nesigur și nu refolosi acea parolă nicăieri.
  4. Schimbă imediat parola unui cont despre care aflii că a fost în scurgere și pe oricare altul unde o foloseai.
  5. Pentru conturile importante, ia în calcul passkey-urile, care elimină parola.

Ce merită reținut despre stocarea parolelor

  • Un site corect nu păstrează parola, ci o amprentă obținută cu o funcție hash.
  • Sarea este o valoare aleatoare, diferită la fiecare cont, care împiedică atacurile cu tabele pregătite.
  • Pentru parole se aleg funcții lente, nu rapide, ca să îngreuneze încercările în masă.
  • Parolele slabe și refolosite rămân un risc, indiferent de protecția serverului.
  • Parola unică, managerul de parole și autentificarea în doi pași sunt protecțiile pe care le controlezi tu.

Întrebări frecvente

Poate un site să-mi spună parola mea veche?

Dacă o poate afișa sau trimite, înseamnă că o păstrează în clar sau într-o formă reversibilă. Este un semn de practică nesigură. Un site corect îți oferă doar resetarea parolei.

Dacă parola mea este hash-uită, pot afla atacatorii parola?

Nu direct, dar o pot ghici încercând multe variante și comparând amprentele. Cu cât parola este mai lungă și mai neobișnuită, cu atât ghicirea durează mai mult.

De ce nu poate fi pur și simplu inversat hash-ul?

Funcția este construită ca un drum într-un singur sens, iar informația originală se pierde pe parcurs. Singura cale este să încerci parole și să compari rezultatele.

Ce înseamnă „sare” în acest context?

Este un text aleator adăugat la parolă înainte de calculul amprentei. Sarea diferită la fiecare cont face ca două persoane cu aceeași parolă să aibă amprente diferite.

Cum aflu dacă parola mea a fost în vreo scurgere?

Există servicii de verificare a adreselor de e-mail în scurgeri cunoscute. Dacă ți se pare că ai fost afectat, schimbă parola și activează autentificarea în doi pași.