Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/09/2011, 10h48   #1
Membre du Club
 
Homme
Étudiant
Inscription : août 2010
Messages : 83
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Haute Vienne (Limousin)

Informations professionnelles :
Activité : Étudiant
Secteur : Service public

Informations forums :
Inscription : août 2010
Messages : 83
Points : 58
Points : 58
Par défaut Hash et graine de sel

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 !
Alpha573 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 11h00   #2
Membre actif
 
Avatar de Etanne
 
Homme Florian
Ingénieur développement logiciels
Inscription : novembre 2003
Messages : 244
Détails du profil
Informations personnelles :
Nom : Homme Florian
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2003
Messages : 244
Points : 197
Points : 197
Salut,

Tu pourrais utiliser le nom de l'utilisateur pour ton grain de sel

Etanne
__________________
"Phylactère temporaire" = tooltips
Etanne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 11h08   #3
Membre chevronné
 
Avatar de Marc3001
 
Homme
Ingénieur développement logiciels
Inscription : février 2008
Messages : 430
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : février 2008
Messages : 430
Points : 682
Points : 682
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
Marc3001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 11h09   #4
Membre du Club
 
Homme
Étudiant
Inscription : août 2010
Messages : 83
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Haute Vienne (Limousin)

Informations professionnelles :
Activité : Étudiant
Secteur : Service public

Informations forums :
Inscription : août 2010
Messages : 83
Points : 58
Points : 58
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 .
Alpha573 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 11h12   #5
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
Citation:
Envoyé par Alpha573 Voir le message
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 .
fait :
hash = salt + username + password
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 28/09/2011, 11h16   #6
Membre du Club
 
Homme
Étudiant
Inscription : août 2010
Messages : 83
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Haute Vienne (Limousin)

Informations professionnelles :
Activité : Étudiant
Secteur : Service public

Informations forums :
Inscription : août 2010
Messages : 83
Points : 58
Points : 58
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ù ?
Alpha573 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 11h19   #7
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
Citation:
Envoyé par Alpha573 Voir le message
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ù ?
c'est grain de sel (c'est sel tout cours d’ailleurs)

non le salt doit se trouver dans ton appli,
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 11h23   #8
Membre du Club
 
Homme
Étudiant
Inscription : août 2010
Messages : 83
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Haute Vienne (Limousin)

Informations professionnelles :
Activité : Étudiant
Secteur : Service public

Informations forums :
Inscription : août 2010
Messages : 83
Points : 58
Points : 58
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
Alpha573 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 11h51   #9
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
Citation:
Envoyé par Alpha573 Voir le message
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
oui en dur, pas besoin de salt aléatoire avec la formule que j'ai mis plus haut
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 11h54   #10
Membre chevronné
 
Avatar de Marc3001
 
Homme
Ingénieur développement logiciels
Inscription : février 2008
Messages : 430
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : février 2008
Messages : 430
Points : 682
Points : 682
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
Marc3001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 12h00   #11
Membre du Club
 
Homme
Étudiant
Inscription : août 2010
Messages : 83
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Haute Vienne (Limousin)

Informations professionnelles :
Activité : Étudiant
Secteur : Service public

Informations forums :
Inscription : août 2010
Messages : 83
Points : 58
Points : 58
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.
Alpha573 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 12h04   #12
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
Citation:
Envoyé par Alpha573 Voir le message
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.
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/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 15h00   #13
Membre chevronné
 
Avatar de Marc3001
 
Homme
Ingénieur développement logiciels
Inscription : février 2008
Messages : 430
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : février 2008
Messages : 430
Points : 682
Points : 682
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
Marc3001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 17h03   #14
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 318
Points : 3 318
On pourrait aussi ajouter un salt aléatoire à l'aléa qui construit le salt du password non ?

grunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 18h05   #15
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
Citation:
Envoyé par grunk Voir le message
On pourrait aussi ajouter un salt aléatoire à l'aléa qui construit le salt du password non ?

t'as toujours besoin de stocker le salt qui soit en dur ou en base,
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/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 18h16   #16
Membre chevronné
 
Avatar de Marc3001
 
Homme
Ingénieur développement logiciels
Inscription : février 2008
Messages : 430
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : février 2008
Messages : 430
Points : 682
Points : 682
Citation:
Envoyé par stealth35 Voir le message
t'as toujours besoin de stocker le salt qui soit en dur ou en base,
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
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
Marc3001 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/09/2011, 18h49   #17
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
Citation:
Envoyé par Marc3001 Voir le message
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.
exactement
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2011, 11h29   #18
Membre du Club
 
Homme
Étudiant
Inscription : août 2010
Messages : 83
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Haute Vienne (Limousin)

Informations professionnelles :
Activité : Étudiant
Secteur : Service public

Informations forums :
Inscription : août 2010
Messages : 83
Points : 58
Points : 58
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.
Alpha573 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2011, 11h34   #19
Membre chevronné
 
Avatar de Marc3001
 
Homme
Ingénieur développement logiciels
Inscription : février 2008
Messages : 430
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : février 2008
Messages : 430
Points : 682
Points : 682
Citation:
Envoyé par Alpha573 Voir le message
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.
Tu le mets où le salt aléatoire?
__________________
Le logiciel, c'est comme le sexe, c'est meilleur quand c'est libre.

Linus Torvalds
Marc3001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2011, 19h49   #20
Membre du Club
 
Homme
Étudiant
Inscription : août 2010
Messages : 83
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Haute Vienne (Limousin)

Informations professionnelles :
Activité : Étudiant
Secteur : Service public

Informations forums :
Inscription : août 2010
Messages : 83
Points : 58
Points : 58
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é.
Alpha573 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h07.


 
 
 
 
Partenaires

Hébergement Web