[fusion_youtube id=”TevH_VgrvZg” autoplay=”no”][/fusion_youtube]
Dupa ce am postat articolul despre sirurile de caractere, am stat la o discutie cu cativa prieteni despre stocarea mesajelor si a parolelor. Dupa cateva minute am constatat ca ei nu disting diferenta intre “a cripta” si “a hashui. Asa ca am decis sa vin cu un articol care sa lamureasca aceasta nelamurire. Haideti sa o luam pe rand si sa explicam ce inseamna fiecare termen in parte!
A cripta (to crypt):
A cripta inseamna a transforma un mesaj oarecare intr-un sir de caractere ce poate fi trimis in siguranta mai departe. Partea interesanta este ca daca ai cheia unica cu care a fost criptat mesajul poti sa il decriptezi, astfel incat poti citii mesajul introdus initial de utilizator.
Unde se foloseste criptarea? Peste tot. Un exemplu clasic sunt mesajele de pe WhatsApp. Mesajul trimis de tine este criptat si trimis direct catre destinatar. Odata ajuns la destinatar, WhatsApp-ul acestuia decripteaza mesajul trimis de tine. Totul se intampla foarte rapid, astfel incat nu sesizezi toti acesti pasi.
Cum am mentionat si mai sus, criptarea este o actiune reversibila. Orice persoana care are cheia decriptarii este capabila sa iti citeasca mesajul initial.
A cripta o parola:
Este o metoda nesigura de stocare a acestora, deoarece daca atacatorul capata acces la cheia unica a aplicatiei tale web, acesta va fi capabil sa decripteze toate parolele utilizatorilor tai.
A hashui (to hash):
Spre deosebire de criptare, care este o functie cu doua sensuri, o hashuire este o functie cu un singur sens. Aceasta metoda este o actiune ireversibila.
Cel mai rau lucru pe care il poti face este sa creezi “o coliziune / un conflict” intre doua parole care in urma hashuirii se transforma in acelasi string. Cum te poate afecta asta? Daca tu iti setezi parola “Andrei”, iar altcineva isi seteaza parola “Matei”, in urma unui algoritm imprecis, parolele vor fi stocate sub aceeasi forma in baza de date. Mai pe scurt: parola mea “Andrei” poate functiona perfect normal pe conturile unde parola este “Matei”. Cei mai populari algoritmi de hashuire au fost special ganditi pentru a evita aceste coliziuni.
Parolele hashuite pot fi aduse la forma initiala folosind un rainbow table, dar poti contra-ataca aceasta metoda foarte usor aplicand salt. Ce este un salt? Este un set random de date care se utilizeaza aditional hashuirii normale.
Multi oameni considera ca daca un hacker preia accesul bazei tale de date sau a codului sursa, acesta nu mai are nevoie de o parola, acest lucru fiind discutabil. Este un punct de vedere destul de naiv, deoarece ai responsabilitatea sa protejezi parolele oamenilor tai. Majoritatea folosesc aceleasi parole peste tot (cum ar fi Facebook, GMail, etc.), expunandu-i la un risc daca aceste parole ar fi leakuite.