Menu
Hashing & Authenticatie: Hoe worden uw wachtwoorden opgeslagen op websites?

Hashing & Authenticatie: Hoe worden uw wachtwoorden opgeslagen op websites?

Het is belangrijk om bij het leren over encryptie en het gebruik ervan naast sterke wachtwoorden ook te kijken hoe deze wachtwoorden worden opgeslagen op de server van de website. Het probleem is dat zodra u iets naar een server stuurt, u het niet meer in handen heeft, tenzij u de server zelf bedient. Het is dus belangrijk voor servereigenaren om zo min mogelijk informatie op de server op te slaan, tenzij deze in een onleesbaar, versleuteld formaat is.

SQL-injecties en databasecompromissen kunnen alles in platte tekst blootleggen en het zijn verrassend veel voorkomende gebeurtenissen. Hashing is vergelijkbaar met codering, maar speelt een rol bij het veilig opslaan van wachtwoorden. Wanneer u zich voor veel websites registreert, nemen ze uw wachtwoord en slaan het op de server op, zodat elke keer dat u inlogt, het gewoon de twee wachtwoorden vergelijkt en als ze hetzelfde zijn, het u inlogt. Dit is echter ongelooflijk onveilig, zelfs met SSL geïmplementeerd.

De goede websites/servers (die nu de meerderheid zouden moeten zijn) hashen uw wachtwoorden voordat ze naar de server worden gestuurd, wat in feite betekent dat ze op een warrige manier worden opgeslagen. Het wordt gewoonlijk gedaan door wat we "hashing-algoritmen" noemen, zoals SHA256 of SHA512. Terzijde: dit zijn twee veelvoorkomende hash-algoritmen die vaak gepaard gaan met PBKDF2 (die wordt gebruikt voor het uitrekken van de sleutel https://www.schneier.com/cryptography/paperfiles/paper-low-entropy.pdf om brute force-pogingen te dwarsbomen ). Wanneer u vervolgens de volgende keer inlogt op de site, zet uw browser het wachtwoord om in dezelfde reeks willekeurige tekens en vergelijkt deze met de reeks willekeurige tekens die op de server is opgeslagen. Als de twee overeenkomen, bent u geverifieerd en krijgt u toegang tot uw account.

Als we wat dieper ingaan op key stretching en PBKDF2, is er een verwante term die bekend staat als Password Iterations of Iteration Count die de rekenkracht definieert die moet worden uitgeoefend tussen wachtwoordpogingen. Hoe hoger het aantal gebruikte rondes, hoe veiliger uw account/codering/wachtwoord zal zijn. Bedrijven kunnen ook een zout aan de hash toevoegen, waardoor een willekeurige reeks tekens aan het einde wordt toegevoegd die woordenboekaanvallen actief verijdelt (https://en.wikipedia.org/wiki/Salt_%28cryptography%29). Ter referentie wordt het standaard aantal iteraties voor 4 veelvoorkomende services/applicaties vermeld:

  • LastPass - 5.000 (clientzijde) + 100.000 meer (serverzijde)
  • TrueCrypt – 1000
  • VeraCrypt – 500.000
  • FileVault2 – 41.000

Zie: Beveiligde wachtwoordmanagers op Privacy-Tools.nl