IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Hash et graine de sel


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2010
    Messages
    86
    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 : 86
    Points : 84
    Points
    84
    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 !

  2. #2
    Membre éclairé
    Avatar de Etanne
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2003
    Messages
    469
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 469
    Points : 855
    Points
    855
    Par défaut
    Salut,

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

    Etanne
    "Phylactère temporaire" = tooltips

    Votre problème a été résolu ? Alors utilisez sur et

  3. #3
    Membre éprouvé Avatar de Marc3001
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2008
    Messages
    829
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2008
    Messages : 829
    Points : 1 275
    Points
    1 275
    Par défaut
    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

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2010
    Messages
    86
    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 : 86
    Points : 84
    Points
    84
    Par défaut
    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 .

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    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

  6. #6
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2010
    Messages
    86
    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 : 86
    Points : 84
    Points
    84
    Par défaut
    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ù ?

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    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,

  8. #8
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2010
    Messages
    86
    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 : 86
    Points : 84
    Points
    84
    Par défaut
    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

  9. #9
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    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

  10. #10
    Membre éprouvé Avatar de Marc3001
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2008
    Messages
    829
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2008
    Messages : 829
    Points : 1 275
    Points
    1 275
    Par défaut
    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

  11. #11
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2010
    Messages
    86
    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 : 86
    Points : 84
    Points
    84
    Par défaut
    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.

  12. #12
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    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 ...

  13. #13
    Membre éprouvé Avatar de Marc3001
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2008
    Messages
    829
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2008
    Messages : 829
    Points : 1 275
    Points
    1 275
    Par défaut
    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

  14. #14
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    On pourrait aussi ajouter un salt aléatoire à l'aléa qui construit le salt du password non ?

    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  15. #15
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    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

  16. #16
    Membre éprouvé Avatar de Marc3001
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2008
    Messages
    829
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2008
    Messages : 829
    Points : 1 275
    Points
    1 275
    Par défaut
    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

  17. #17
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    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

  18. #18
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2010
    Messages
    86
    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 : 86
    Points : 84
    Points
    84
    Par défaut
    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.

  19. #19
    Membre éprouvé Avatar de Marc3001
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2008
    Messages
    829
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2008
    Messages : 829
    Points : 1 275
    Points
    1 275
    Par défaut
    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

  20. #20
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2010
    Messages
    86
    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 : 86
    Points : 84
    Points
    84
    Par défaut
    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é.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Sécurité] Cryptage et grain de sel
    Par Gwipi dans le forum Langage
    Réponses: 6
    Dernier message: 05/09/2012, 16h13
  2. [ZF 1.10] Grain de sel dans l'insertion
    Par Madfrix dans le forum Zend_Db
    Réponses: 1
    Dernier message: 10/08/2010, 19h03
  3. Protection contre le vol de mot de passe (grain de sel)
    Par remi.gaubert dans le forum Sécurité
    Réponses: 7
    Dernier message: 08/12/2009, 18h52
  4. Grain de sel aléatoire, bonne ou mauvaise pratique ?
    Par Sergejack dans le forum Sécurité
    Réponses: 1
    Dernier message: 13/08/2009, 10h18
  5. [Sécurité] MD5 et grain de sel
    Par stringman62 dans le forum Langage
    Réponses: 7
    Dernier message: 06/04/2007, 10h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo