De ce site-urile web ar trebui să stropească sare pe hașiile lor pentru a vă proteja parolele

În ciuda deficiențelor lor, parolele sunt încă standardul de facto pentru autentificarea pe web.

ExpressVPN a scris deja despre avantajele creării de parole securizate folosind Diceware, folosirea managerilor de parole și crearea unui alt nivel de securitate în jurul conturilor dvs. cu autentificare în doi factori.

Dar ce se întâmplă în culise? Ce măsuri poate și trebuie să ia un operator de site-uri pentru a vă asigura parolele?

Nașterea hacking-ului pe computer

Primul sistem de calculator care a utilizat parolele a fost Sistemul compatibil de partajare a timpului de la Institutul de Tehnologie din Massachusetts, construit în 1960. Împărțirea timpului a permis să fie partiționat și folosit ca mai multe stații de lucru..

Cu toate acestea, au existat mai mulți cercetători decât stațiile de lucru, iar utilizatorii au fost alocați timp limitat pe sistem (pe care unii l-au epuizat destul de repede). Pentru a se asigura că cercetătorii au rămas în limitele lor, fiecare a primit o parolă unică cu care să se autentifice.

Dar, desigur, cu primele parole a venit primul hacker. Un cercetător, Allan Scherr, a folosit un sistem care le-a permis utilizatorilor să imprime fișierele prin intermediul unor carduri de pumn (computerele nu aveau ecrane în anii ’60). Scherr a localizat și tipărit fișierul care a stocat parolele, care îi permit să se autentifice ca alți utilizatori și să utilizeze computerul mai mult timp.

Astăzi, se consideră extrem de neglijent să stochezi parolele în text clar pe un sistem, deși hack-ul din 2016 al site-ului social din Rusia VK.com arată că unele site-uri mari încă mai fac. Parolele VK.com ale 100 de milioane de utilizatori au fost furate și acum sunt scoase la vânzare.

De ce funcțiile hash sunt o stradă unidirecțională

O funcție hash este o criptare unidirecțională și acționează la fel ca amprenta. Fiecare fișier, cuvânt sau șir text este desemnat o hașă „amprentă”, care identifică în mod unic conținutul exact al fișierului original.

Hășile pot fi utilizate pentru a determina informația, dar nu ceea ce reprezintă datele. Un mod simplu de a vă imagina cum funcționează hașeul este cu sume de cifre (suma tuturor cifrelor unui număr).

Suma cifrei de 9807347 este 9 + 8 + 0 + 7 + 3 + 4 + 7 = 38

Deși este ușor să vezi suma cifrei de 987347 este 38, este imposibil de calculat 987347 de la numărul 38.

Parole sigure cu hashesHășile SHA-256 pentru diverse șiruri de text și un fișier imagine.

SHA-256 oferă un univers de permutări

În mod incredibil, 256 biți este o ieșire suficient de lungă pentru a identifica în mod unic fiecare atom din universul observabil (2 ^ 256 = 1.157920892 × 10⁷⁷).

Deși, în teorie, ar putea exista două valori diferite, care ambele au aceeași hașă SHA-256. Un astfel de eveniment se numește coliziune hash, iar securitatea oricărei funcții de hash se bazează pe faptul că acestea nu pot fi descoperite.

Predecesorul SHA-2 (dintre care SHA-256 este o variantă) – algoritmul SHA-1, popular, cunoscut – este cunoscut ca fiind vulnerabil la coliziunile hash. Deși merită remarcat, nimeni nu a găsit niciodată unul.

Un alt hash popular, MD5, a avut atât de multe vulnerabilități încât nu este o apărare utilă împotriva manipulării dăunătoare a fișierelor.

În afară de criptarea parolelor, funcțiile hash pot fi utile și pentru a vă asigura că fișierele nu au fost manipulate, similar cu semnăturile criptografice, deoarece un text de text modificat va modifica cheia hash..

Stocarea parolelor ca hashes, mai degrabă decât un text clar, face posibilă verificarea corectă a unei parole fără a lăsa parola vulnerabilă hackerilor.

Sarea și hașa vă protejează parolele

Dacă cineva ar fi capabil să pirateze o bază de date care conținea doar parole de salvare, în teorie, nu ar primi informații utile. În realitate, însă, oamenii reutilizează parolele pe mai multe site-uri sau folosesc cuvinte comune în ele și există multe lucruri pe care un hacker le poate face pentru a sparge hașele.

Fiecare hash SHA-256 al cuvântului ExpressVPN este întotdeauna același, pe toate sistemele. Deci, dacă numele dvs. de utilizator este Lexie și utilizați ExpressVPN ca parolă (nu), un hacker ar putea căuta hash „c9f45 … 3d185” printre parolele pentru a vedea parola Lexie este ExpressVPN.

Deși acest lucru nu sună deosebit de util de unul singur, există liste cu primele câteva mii de parole cele mai utilizate (pe care le știm din hacks anterioare).

Folosind o astfel de listă, un hacker ar putea căuta hashurile parolelor comune și le pot potrivi cu numele de utilizator.

Acest tip de atac se numește tabel curcubeu, sau dicționar, atac. Nu există suficient timp în univers pentru ca un atacator să încerce orice combinație hash / parolă posibilă într-un atac de forță brută. Dar este suficient timp pentru a încerca cele mai utilizate parole populare, ceea ce ar compromite probabil o porțiune semnificativă a bazei de date.

Saltarea protejează parolele atribuindu-le numere unice

Pentru a vă proteja împotriva atacurilor de dicționar, un administrator al bazei de date poate utiliza o metodă numită „sărare”, unde fiecărei parole i se atribuie un număr unic aleatoriu. Un hash SHA-256 al combinației de sare și parolă este apoi calculat, păstrat și verificat.

În mod alternativ, parola ar putea fi spălată, combinată cu numărul de sare, iar rezultatul a scăpat din nou.

Hășile sărate adaugă un plus de tortExemple de hașe „sărate”, din nou.

Datorită tehnicii de sărare, crearea unei mese curcubeu nu mai este atractivă. Numerele aleatorii vor face ca fiecare hash să fie unic, chiar dacă utilizatorul nu a ales o parolă unică.

Dacă un hacker ar dori să vizeze utilizatorii cu parola „Passw0rd!”, Numărul de sare ar păstra baza de date în siguranță.

Viitorul sistemelor de parole

Parolele sunt departe de a fi optime pentru autentificarea online. Unul bun este greu de reținut, sunt dificil de revocat și, odată scurs, ar putea provoca daune considerabile.

Administratorii de parole pot face parolele mai prietenoase și te pot ajuta să le creezi pe cele unice. De asemenea, vă vor încuraja să vă schimbați periodic datele de autentificare, care sunt necesare pentru o bună securitate online.

Poate că în viitor, vom trece la forme alternative de autentificare, cum ar fi perechi de chei publice / private, eventual combinate cu chei hardware. Într-un astfel de model, ar trebui să încărcați cheia publică o singură dată pe un server la înregistrare, apoi niciodată.

Deși nu sunt neapărat mărimi mai sigure decât o soluție de parolă implementată corect, perechile de chei publice / private sunt mai puțin susceptibile să fie aplicate incorect atât de către utilizator, cât și de către serviciu.

Ce puteți face pentru a vă asigura parolele

Fiți conștienți că multe dintre serviciile pe care le utilizați astăzi ar putea să fi pierdut deja controlul parolelor. Poate că încă nu o știu sau poate refuză să o recunoască public – protejându-și imaginea în detrimentul securității utilizatorilor lor.

Utilizați un generator de parole aleatoriu și schimbați parolele în șiruri lungi aleatorii de litere și caractere. De asemenea, puteți activa autentificarea cu doi factori pe unele servicii pentru a adăuga un strat suplimentar de securitate.

Este, de asemenea, o idee bună să ștergeți orice cont pe care nu îl mai utilizați, în speranța că serviciul șterge datele utilizatorului împreună cu acesta.