[PHP] _password_hash
|
13-06-2014, 15h18
Message : #9
|
|
Ekroz
Membre actif Messages : 77 Sujets : 13 Points: 43 Inscription : May 2013 |
RE: [PHP] _password_hash
Alors voilà je me suis documenté un peu au niveau des fonctions de hachage et nous sommes tous dans le faux.
hash ( $password . $salt ) et même hash_hmac ( $password , $salt ) ne sont pas considérés comme sûrs pour stocker des mots de passe. Apparemment la raison viendrait des Rainbow Tables couplés à la puissance des GPU. En réalité les fonctions de hachage ne sont pas faites pour être coûteuses en ressources et donc longues à bruteforcer, mais bel et bien pour faire une "signature" rapide avec le moins de risque de collisions possibles. La librairie PHPASS ainsi que l'algorithme PBKDF2 par exemple, effectuent environ 1000 passes afin d'augmenter le coup en ressource et l'entropie du résultat. Quand on sait que le SHA-512 utilise maximum 256 octets de mémoire pour générer un hash et qu'aujourd'hui le publique a accès à des cartes graphiques de 12 Go à 7 GHz et 5760 coeurs à 876 MHz, imaginez bien ce dont dispose la NSA, en faite on se rend compte que les NIST approvals and co signifient "vous pouvez vous en servir, on sait déjà le casser ". A l'heure actuelle, c'est la librairie scrypt qui produit les hashs de meilleure qualité, avec une consommation de 20 à 40 Mo par mot de passe. Malheureusement elle n'est pas encore pour l'instant disponible pour PHP, il est donc conseillé de se rabattre sur bcrypt. Du coup j'ai pondu la fonction suivante : Code PHP : <?php - Compatible avec les versions de PHP antérieures à la 5.3.0 - Calcule le cost algorithmique le plus optimisé pour le serveur. Bon on va encore me dire que je fais un calcul inutile comme pour le coup du hash_algos ( ) mais c'est juste un exemple, à vous d'adapter le code pour stocker le résultat dans la configuration de votre site web et de le recalculer à chaque mise à jour de PHP et/ou migration du site sur une autre plateforme. |
|
« Sujet précédent | Sujet suivant »
|
Messages dans ce sujet |
[PHP] _password_hash - par Ekroz - 10-06-2014, 15h00
RE: [PHP] _password_hash - par Ark - 10-06-2014, 15h42
RE: [PHP] _password_hash - par gruik - 10-06-2014, 16h20
RE: [PHP] _password_hash - par b0fh - 10-06-2014, 16h42
RE: [PHP] _password_hash - par Ark - 10-06-2014, 16h49
RE: [PHP] _password_hash - par Ekroz - 10-06-2014, 16h42
RE: [PHP] _password_hash - par b0fh - 10-06-2014, 17h22
RE: [PHP] _password_hash - par Ekroz - 11-06-2014, 18h48
RE: [PHP] _password_hash - par Ekroz - 13-06-2014, 15h18
RE: [PHP] _password_hash - par Ark - 13-06-2014, 16h37
|
Utilisateur(s) parcourant ce sujet : 3 visiteur(s)