Hallo,

Nadat ik opzoek was voor een oplossing op mijn vraag ben ik op iets totaal anders beland.
Ik heb een script met de daarbij behorende reacties gelezen.
Hieruit kwam ik tot de conclusie dat ik mijn wachtwoorden beter moet beveiligen.

Ik heb gister een dagje vele scripts, tuts, topics van hier en op andere sites doorgelezen.

De link van iemand van hier vond ik best informatief.

Overigens gebruik ik nu nog

md5("$pass"."8y2gu&hr*5e%l");

@John Berg geeft bewijs dat de veiligheid van een wachtwoord vaak een breekpunt is, voor het kraken van md5.

Toch ben ik overtuigd dat ik mijn wachtwoordbeveiliging iets moet aanscherpen.

Nu over op de vraag:

In de tutorial wordt een manier van een unieke salt functie voor iedere gebruiker gemaakt.

Hoe wordt deze opgeslagen of onthouden?
Kan je dit in de database als PlainTxt neerzetten?

Een andere link uit dat topic geeft weer dat sha512(); sterk genoeg is.

Links:
Tut:
http://net.tutsplus.com/tutorials/php/understanding-hash-functions-and-keeping-passwords-safe/?search_index=2

Topic:
http://www.phphulp.nl/php/forum/topic/welke-beveiliging-voor-mijn-wachtwoorden/86232/

Link2:
https://wiki.mozilla.org/WebAppSec/Secure_Coding_Guidelines#Password_Storage

edit:
extra info
Dat is volgens mij wat ze (OWASP) bedoelen met "threshold governor which is in turn linked to the intrusion logging mechanism". Lijkt me nuttig, maar niet alle aanvallen gaan via de login:
1. iemand die de user table al heeft bemachtigd kan dan natuurlijk nog steeds proberen om de hashing te hacken door de uitkomsten van een vermoed of bekend algoritme met de database te vergelijken zonder verdere inlogpogingen te doen.
2. iemand die ook een low security account heeft, zelf zijn wachtwoord kan wijzigen EN de resulterende hask kan achterhalen kan zijn attack via de "wijzigen" functie doen (Die moet je dus ook tegen brute force beveiligen).

Eigenlijk lopen er drie discussies door elkaar:
A. beveiliging tegen rechtstreekse brute force aanvallen die gebruik maken van de (noodzakelijke) implementatie van het algoritme op de server
B. hoe zwak of sterk de verschillede algoritmes zijn (inclusief gecombineerde algoritmes als pbkdf2 en het gebruikte hash_hmac algoritme)
C. de keuze van eventueel salt.

Om nog even op C terug te komen: Ik begrijp niet wat er tegen het gebruik van salt is. Hashing algoritmes kunnen zwak zijn of in de toekomst verzwakt raken doordat iemand een manier bedenkt om het aantal mogelijkheden dat moet worden afgezocht te beperken, om de hash sneller te berekenen of gewoon door snellere computers. Salt kan dan helpen. De bij punt 2 bedoelde hacker zal vermoedelijk last hebben van variabel salt (of heet dat pepper?), ook omdat het dan geen zin heeft om zijn eigen hash bij een gebruiker met meer rechten op te slaan. Dus gooi dat er in zou ik zeggen. En beide zullen last hebben van voor hen onbekend salt, maar hoe hou je variabel salt geheim als je user table op straat kan belanden? Dus gooi er ook fixed salt in. Hoe willekeuriger dat is hoe beter. Rest de vraag hoe lang het moet zijn.

Reageren