Wat is tegenwoordig de beste methode om een wachtwoord op te slaan in een database?
- Wachtwoord veilig opslaan
-
09-01-2013, 17:08 #1Particulier
- Berichten
- 1.477
- Lid sinds
- 16 Jaar
Wachtwoord veilig opslaan
-
In de schijnwerper
Professionele tekstschrijver (actie: 2,5 cent per woord)Freelance / WerkSocial ads specialist gezocht voor WordPress lead sites (met kennis van UTM tags)Freelance / WerkHandmatig linkbuilden aangeboden (vanaf 7,50 per link)Freelance / WerkLinkbuilden. Goedkoper ga je het niet vinden!Linkpartners -
09-01-2013, 17:10 #2
- Berichten
- 506
- Lid sinds
- 15 Jaar
Re: Wachtwoord veilig opslaan
md5(salt (user verschillend) + wachtwoord + pepper (in je config)).
md5 gebruik ik altijd, maar er zijn alternatieven.
Dat doe ik altijd, hoewel een pepper eigenlijk niet echt nodig is.
-
09-01-2013, 17:14 #3Particulier
- Berichten
- 149
- Lid sinds
- 13 Jaar
Re: Wachtwoord veilig opslaan
md5(sha1(
Ik gebruik md5 en sha1
-
09-01-2013, 17:23 #4
- Berichten
- 26
- Lid sinds
- 12 Jaar
Re: Wachtwoord veilig opslaan
Zelf gebruik ik vanaf nu SHA512, dit bij mijn nieuwe projecten.
MD5 standaard bij mijn oude projecten.
-
09-01-2013, 18:25 #5
- Berichten
- 112
- Lid sinds
- 12 Jaar
Re: Wachtwoord veilig opslaan
-
09-01-2013, 18:38 #6
- Berichten
- 37
- Lid sinds
- 12 Jaar
Re: Wachtwoord veilig opslaan
SHA512 want er bestaan databases voor md5 en sha1. Gebruik ook een unieke salt (zoals fghj4567sg) en NOOIT 2 keer hashen. Dan wordt de salt minder uniek en word het makkelijker gekraakt.
-
09-01-2013, 18:42 #7
- Berichten
- 980
- Lid sinds
- 17 Jaar
Re: Wachtwoord veilig opslaan
het resultaat van crypt($pass) opslaan in de database en bij inloggen
PHP Code:if( $database['pass'] == crypt($_POST['pass'],$database['pass']) ) {
// ja
}
Laatst aangepast door Daniel Klabbers : 09-01-2013 om 18:49 Reden: salt verkeerd
-
09-01-2013, 18:50 #8Website Ontwikkeling Puts
- Berichten
- 302
- Lid sinds
- 16 Jaar
Re: Wachtwoord veilig opslaan
Kijk ook eens naar http://www.openwall.com/phpass/
Verder maak ik ook vaak gebruik van sha512 met overal een unieke salt. Als je niet overal een unieke salt hebt heb je er eigenlijk ook niks aan..
-
09-01-2013, 19:08 #964BitsWebhosting.EU
- Berichten
- 2.092
- Lid sinds
- 17 Jaar
Re: Wachtwoord veilig opslaan
Zo bv.
private function makeHash($password) {
$salt = bin2hex(mcrypt_create_iv(32, MCRYPT_DEV_URANDOM));
$hash = hash("sha256", $salt . $password);
return $salt . $hash;
}
private function validateHash($password, $dbHash) {
$salt = substr($dbHash, 0, 64);
$valid = substr($dbHash, 64, 64);
$test = hash("sha256", $salt . $password);
return $test === $valid;
}
sha512 kan ook, maar dan moet je de rest van de waarden ook een beetje aanpassen :)
-
10-01-2013, 12:33 #10
- Berichten
- 751
- Lid sinds
- 15 Jaar
Re: Wachtwoord veilig opslaan
En tevens nooit de salt in de tabel opslaan.
En aanvaller welke de tabel in handen krijgt kan er dan als nog een bruteforce op uitvoeren op gpu's of een cloud.
Paar manieren om dat wat veiliger te maken
is een peper te gebruiken als al genoemd in het topic.
Of de salt dynamisch maken zodat de aanvaller niet precies weet wat de salt is of dat er een salt gebruikt word door deze dynamisch te controleren in de php code.
Maar dan is het natuurlijk nog oppassen of er geen lekken in zitten waardoor de aanvaller toegang krijgt tot de code.
-
10-01-2013, 12:43 #1164BitsWebhosting.EU
- Berichten
- 2.092
- Lid sinds
- 17 Jaar
Re: Wachtwoord veilig opslaan
En tevens nooit de salt in de tabel opslaan.
En aanvaller welke de tabel in handen krijgt kan er dan als nog een bruteforce op uitvoeren op gpu's of een cloud.
Paar manieren om dat wat veiliger te maken
is een peper te gebruiken als al genoemd in het topic.
Of de salt dynamisch maken zodat de aanvaller niet precies weet wat de salt is of dat er een salt gebruikt word door deze dynamisch te controleren in de php code.
Maar dan is het natuurlijk nog oppassen of er geen lekken in zitten waardoor de aanvaller toegang krijgt tot de code.
Het probleem is niet of je die salt in je db gooit... het probleem is dat iemand aan die hash is gekomen. Dat ansich getuigd al van een brakke beveiliging. Iemand die al full access tot je db heeft... hoeft je password helemaal niet te kraken ;)
-
11-01-2013, 07:54 #12
- Berichten
- 751
- Lid sinds
- 15 Jaar
Re: Wachtwoord veilig opslaan
Een salt gebruiken met een goede entropy met een goede lengte zal bruteforcen zeker een stuk lastigere
maken daar ben ik het met eens ook met een cluster van gpus maar zal net niet onmogelijk maken.
Helaas heb je ook nog een menselijke factor erin zitten, mensen kunnen namelijk niet een wachtwoord onthouden met een hoge entropy.
Daarom kiezen we makkelijkere woorden welke door middel van een woordenlijst of door een mask makkelijkere te bruteforcen zijn.
Wanneer je dan de salt ook al in de database hebt staan dan geef je ze dus al een hint (weg entropy) hoe het gehasht is vandaar dat ik zeg dat salts niet in de database horen.
Geen md5 en sha1 gebruiken als hash algoritmes deze zijn ontworpen om snel te wezen. Wil je eigenlijk niet omdat deze erg efficiënt kunnen draaien op een gpu.
Beter is dan om sha256 of sha512 te gebruiken wel met een salt natuurlijk van minimaal 8 tekens van data welke niet bekent is.
bcrypt is nog beter dit is ontworpen om traag te wezen op gpus.
En als de hacker inderdaad volle access heeft tot de database is het sowieso gameover. Het gebeurd helaas nog te vaak sql injectiesLaatst aangepast door Raymond Nijland : 11-01-2013 om 08:07
-
11-01-2013, 08:52 #13gast5581 Guest
Re: Wachtwoord veilig opslaan
Zoals andere Raymond al vermeldt is het beste om bcrypt te gebruiken:
http://www.raymondkootstra.nl/php-be...yptie-methode/
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic