Salting este o tehnică de securitate prin care, înainte ca o parolă să fie transformată într-un hash și stocată, i se adaugă un șir de caractere aleatoriu și unic, numit "sare" (salt), diferit pentru fiecare utilizator. Scopul e simplu: două persoane cu exact aceeași parolă vor avea, datorită sării unice, hash-uri complet diferite în baza de date.
Cum funcționează salting?
La crearea unui cont, sistemul generează automat un șir aleatoriu (sarea), îl combină cu parola aleasă de utilizator și abia apoi calculează hash-ul rezultatului combinat. Sarea în sine nu e secretă — de obicei se stochează chiar lângă hash, în aceeași bază de date — dar rolul ei nu e să ascundă, ci să facă fiecare parolă unică din punct de vedere matematic, chiar dacă textul original e identic cu al altcuiva. Asta anulează eficiența unui rainbow table precalculat, care se bazează pe hash-uri identice pentru parole identice.
De ce contează?
Pentru că, fără salting, o bază de date de parole furată poate fi spartă în masă: dacă zece utilizatori au aceeași parolă, toți vor avea exact același hash, iar spargerea unuia dintre ei dezvăluie instant parola celorlalți nouă. Cu salting corect aplicat, fiecare parolă trebuie atacată individual, ceea ce crește enorm timpul și resursele necesare unui atac reușit. E o măsură tehnică de bază, așteptată de orice sistem serios care gestionează parole.
Cum se aplică corect?
- Fiecare parolă trebuie să primească o sare unică, generată aleatoriu — niciodată aceeași sare pentru toți utilizatorii.
- Salting-ul trebuie combinat cu o funcție de hash lentă, special concepută pentru parole, nu doar o funcție hash generică rapidă.
- Ca utilizator, nu poți controla direct salting-ul — dar poți verifica, indirect, dacă un serviciu ia securitatea în serios, prin cât de des apare în breșe de date grave.
- Ca firmă care dezvoltă software, tratează stocarea parolelor fără salt drept o vulnerabilitate critică, nu un detaliu tehnic minor.
Un exemplu concret
Un magazin online e spart, iar baza de date cu conturi ajunge la atacatori. Parolele fuseseră hash-uite cu salt unic pentru fiecare utilizator, așa că atacatorul nu poate folosi un rainbow table gata făcut și ar avea nevoie de resurse uriașe pentru a sparge fiecare parolă individual — spre deosebire de un magazin concurent, spart în aceeași perioadă, care stocase parolele fără salt și a văzut mii de conturi compromise în câteva ore.
Vrei să știi dacă aplicația sau site-ul firmei tale stochează parolele corect? Cere un audit de securitate.
Întrebări frecvente
Sarea trebuie ținută secretă pentru a fi eficientă?
Nu. Rolul ei nu e secretul, ci unicitatea — chiar stocată vizibil lângă hash, face ca fiecare parolă să producă un rezultat diferit, anulând avantajul tabelelor precalculate.
Salting înlocuiește nevoia unei parole complexe?
Nu. Salting protejează împotriva atacurilor la scară (rainbow tables, comparații între utilizatori), dar o parolă foarte simplă poate fi în continuare ghicită individual, printr-un atac dedicat asupra acelui cont.
