Salt


Een salt is een extra random zin (string) die je achter iemand zijn wachtwoord plakt. Door dit te doen word het wachtwoord vrijwel identiek en kan deze o.a. niet worden 'gekraakt' door een Rainbow Table.

Rainbow table?

Een rainbow table is een eenvoudige tabel met allerlei mogelijke wachtwoorden en de hashes van deze wachtwoorden. Hij wordt gebruikt om wachtwoorden te testen op veiligheid, of om ze te kraken. De techniek is vele malen sneller dan de brute force-techniek, waarbij de hashes van de wachtwoorden nog moeten worden berekend. De rainbow table is samengesteld volgens Philippe Oechslins faster time-memory trade-off technique. Het maken van een dergelijke tabel kost weliswaar veel rekentijd en opslagcapaciteit, maar zodra de tabel berekend is, kan een wachtwoord-hash snel omgezet worden in het gebruikte wachtwoord.

Hoe gebruik je een salt?

Een salt word dus gebruikt om achter iemand zijn wachtwoord te zetten. Deze salt word tijdens het registreren aangemaakt, achter het opgegeven wachtwoord gezet en dan gehasht door middel van een hash. Deze salt moet ook opgeslagen worden in de database, want steeds als de gebruiker na het registreren wil inloggen geeft deze zijn normale niet gehashte en gesalte wachtwoord op. Als de persoon dus inlogt word zijn gehashte + gesalte wachtwoord uit de database opgehaald, de salt die is opgehaald vanuit de database word achter het opgegeven wachtwoord geplakt, dan word het opgegeven wachtwoord met de salt weer gehasht en als laatste word gekeken of deze 2 wachtwoorden overeenkomen. Komen deze wachtwoorden overheen dat word de gebruiker natuurlijk ingelogd. Zo niet kan je een fout melding geven dat de gebruikers gegevens onbekend zijn.