|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Étudiant Inscription : août 2010 Messages : 83 ![]() |
Bonjour,
Dans le cadre d'un projet perso, je développe un forum en PHP. Pour stocker les mots de passe en BDD, je les hash avec sha1. J'ajoute aussi une phrase fixe que je concatène au mot de passe avant de hasher. J'aimerais ajouter une graine de sel, afin de générer une chaine de caractère aléatoire que je concatène au mot de passe et à la chaine fixe. De cette manière, deux utilisateurs qui ont le même mot de passe n'auront pas le même hash si j'ai bien compris. Je me retrouve embêté pour comparer les hash au moment de la phase d'authentification étant donné que la graine de sel est aléatoire. Alors je voulais demander où stocker cette graine sel et comment mettre ça en place. Merci beaucoup ! |
|
00
|
|
|
#2 |
|
Membre actif
![]() Florian Ingénieur développement logiciels Inscription : novembre 2003 Messages : 244 ![]() |
Salut,
Tu pourrais utiliser le nom de l'utilisateur pour ton grain de sel Etanne
__________________
"Phylactère temporaire" = tooltips |
|
|
00
|
|
|
#3 |
|
Membre chevronné
![]() Ingénieur développement logiciels Inscription : février 2008 Messages : 430 ![]() |
Sur Spip, le grain de sel est stocké en base.
__________________
Le logiciel, c'est comme le sexe, c'est meilleur quand c'est libre. Linus Torvalds |
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Étudiant Inscription : août 2010 Messages : 83 ![]() |
Heu oui mais ça serait peut être plus "secure" d'avoir une graine de sel aléatoire non ?
Mais après il faut bien que je la stocke cette graine de sel aléatoire et j'aimerais bien mettre ça en place dans la règles de l'art |
|
00
|
|
|
#5 | |
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
Citation:
hash = salt + username + password
__________________
http://blog.stealth35.com/ |
|
|
|
20
|
|
|
#6 |
|
Membre du Club
![]() Étudiant Inscription : août 2010 Messages : 83 ![]() |
stealth35 d'accord. Quand tu parles de salt, c'est la gaine de sel aléatoire on est d'accord ?
Donc ok je hash je stock le mot de passe hasher, mais où est-ce que je stocke la graine de sel aléatoire ? en BD ? Si en BD où ? |
|
00
|
|
|
#7 | |
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
Citation:
non le salt doit se trouver dans ton appli,
__________________
http://blog.stealth35.com/ |
|
|
|
00
|
|
|
#8 |
|
Membre du Club
![]() Étudiant Inscription : août 2010 Messages : 83 ![]() |
tu veux dire une salt codée en dur.
Mais moi j'aimerais ajouter un bout de truc aléatoire vous voyez ce que je veux dire ? hash=password+salt en dur+ salt aléatoire |
|
00
|
|
|
#9 |
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
oui en dur, pas besoin de salt aléatoire avec la formule que j'ai mis plus haut
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#10 |
|
Membre chevronné
![]() Ingénieur développement logiciels Inscription : février 2008 Messages : 430 ![]() |
A partir du moment où tu veux ajouter de l'aléatoire, tu vas être obligé de le stocker avec un lien entre ce grain de sel et le mot de passe hashé. Du coup je vois que la base de données.
Dans le principe, j'vois pas trop l’intérêt de stocker le grain de sel dans le même endroit que le hash....
__________________
Le logiciel, c'est comme le sexe, c'est meilleur quand c'est libre. Linus Torvalds |
|
|
00
|
|
|
#11 |
|
Membre du Club
![]() Étudiant Inscription : août 2010 Messages : 83 ![]() |
Excusez moi je dois être un peu lourd, mais je veux une salt aléatoire parce-que je sais que ça se fait, mais je sais pas comment le mettre en place.
|
|
00
|
|
|
#12 |
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
si tu veux absolument un salt aléatoire (même si c'est pas justifiable le "parce que ca se fait") il va falloir le stocker en base, donc ca revient au même de mettre le pseudo ...
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#13 |
|
Membre chevronné
![]() Ingénieur développement logiciels Inscription : février 2008 Messages : 430 ![]() |
On peux d'ailleurs se poser la question d'un grain de sel stocké en base...
Car si le pirate veux décrypter des mots de passe hashé, c'est qu'il a accès à la BDD (c'est là qu'il a récupéré les hash) et donc au grain de sel.....
__________________
Le logiciel, c'est comme le sexe, c'est meilleur quand c'est libre. Linus Torvalds |
|
|
00
|
|
|
#14 |
|
Expert Confirmé
![]() Olivier Développeur Web Inscription : août 2003 Messages : 1 837 ![]() |
On pourrait aussi ajouter un salt aléatoire à l'aléa qui construit le salt du password non ?
|
|
00
|
|
|
#15 | |
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
Citation:
le plus simple est hash = salt (en dur) + username (en base) + password (en base) c'est inutile de faire un salt aléa en base
__________________
http://blog.stealth35.com/ |
|
|
|
00
|
|
|
#16 |
|
Membre chevronné
![]() Ingénieur développement logiciels Inscription : février 2008 Messages : 430 ![]() |
J'suis plutot d'accord, ça permet si hack de la BDD de ne pas avoir d'indice sur le salt car celui-ci sera déporté dans le code.
__________________
Le logiciel, c'est comme le sexe, c'est meilleur quand c'est libre. Linus Torvalds |
|
|
10
|
|
|
#17 | |
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
Citation:
__________________
http://blog.stealth35.com/ |
|
|
|
00
|
|
|
#18 |
|
Membre du Club
![]() Étudiant Inscription : août 2010 Messages : 83 ![]() |
Alors j'ai trouvé la solution.
J'utilise un salt en dur ET un salt aléatoire en BDD, mais, le salt en dur est positionné après les 3 premiers caractères du password, ensuite le password et ensuite le salt en dur. Donc si je me fais piquer la BDD, même s'il ont la salt aléatoire, ils savent peuvent pas trouver car ils ont pas l'implémentation. Merci bien. Bonne journée. |
|
00
|
|
|
#19 |
|
Membre chevronné
![]() Ingénieur développement logiciels Inscription : février 2008 Messages : 430 ![]() |
Tu le mets où le salt aléatoire?
__________________
Le logiciel, c'est comme le sexe, c'est meilleur quand c'est libre. Linus Torvalds |
|
|
00
|
|
|
#20 |
|
Membre du Club
![]() Étudiant Inscription : août 2010 Messages : 83 ![]() |
En BD, dans un champ de la table qui contient les identifiants des utilisateurs.
Mais c'est pas un problème car si je me fais piquer ma BD, le pirate ne sait pas "où" est située le salt aléatoire dans le password hashé. |
|
00
|
Copyright © 2000-2012 - www.developpez.com