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 :

Hachage des mots de passe


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Urbaniste
    Inscrit en
    Mai 2018
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Mai 2018
    Messages : 275
    Points : 98
    Points
    98
    Par défaut Hachage des mots de passe
    Bonjour

    Toujours en phase découverte... si j'ai bien compris le hachage des mots de passe ne sert qu'en cas de vol des données pour éviter de l'on puisse découvrir les mots de passes de tous le monde...

    Donc les hachages sont unidirectionnel (théoriquement) sauf que se développe des dictionnaires inversé....

    Partant de là, au fil des années les hachages sont de plus en plus inversable rapidement... avec l'évolution du matériel (calcul)... et de temps en temps de nous nouveau mode de hachage se développent : mdr5 -> sha1 -> sha2 -> sha3 -> ???


    Cela veut il dire que si l'on prend une méthode de hachage on sera condamné à rester sur son utilisation sans pouvoir évoluer... je hache en md5 dans 2 ans, il n'est plus fiable découverte de je en sais pas quoi ou invention d'un super cpu... blabla bla

    Cela veut dire que je ne peux pas passer sur le nouveau SHA10 (version 2053) qui n'existe pas encore mais qui sera à la mode dans 2 ans lol.

    Ou faut-il favoriser l'encryptage openssl réversible.

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    règle archi-simple : les mots de passe ne doivent jamais être lisibles ou récupérables que cela soit par l'utilisateur ou par le prestataire.
    Tu dois mettre en place un mécanisme sécurisé de recréation de mot de passe oublié (par sécurisé : via code SMS, mail, app sur le téléphone portable, questions secrète, limite de validité du lien très forte...).

    PHP fait toute la cuisine pour toi : regarde par ici

  3. #3
    Expert confirmé Avatar de yildiz-online
    Homme Profil pro
    Architecte de domaine
    Inscrit en
    Octobre 2011
    Messages
    1 444
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de domaine

    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 444
    Points : 4 565
    Points
    4 565
    Par défaut
    Citation Envoyé par scamphp Voir le message
    Bonjour

    Cela veut dire que je ne peux pas passer sur le nouveau SHA10 (version 2053) qui n'existe pas encore mais qui sera à la mode dans 2 ans lol.
    Non, mais tu dois indiquer un identifiant pour l'algo utilisé, si un utilisateur entre son mdp et que l'algo est périmé, tu valide le mdp avec l'ancien algo, tu recalcules un hash avec le nouvel algo depuis le mdp qu'a fourni l'utilisateur et tu changes l'identifiant du hash vers le nouvel algo.

    Transparent pour l'utilisateur, sécurisé, et évolutif.

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Citation Envoyé par scamphp Voir le message
    Cela veut il dire que si l'on prend une méthode de hachage on sera condamné à rester sur son utilisation sans pouvoir évoluer...
    Fondamentalement, rien ne t'empêche de changer de méthode de hachage. Il faut juste changer le code qui hache et celui qui fait la vérification par rapport au hash. Normalement, c'est relativement limité comme impact sur le code : d'un côté, l'inscription d'un nouvel utilisateur et la fonctionnalité de changement de mot de passe et de l'autre, l'authentification d'un utilisateur.

    Le principal problème, c'est que tous les mots de passe de la base deviennent alors obsolètes. Il faut donc mettre en place une procédure pour demander à tous tes utilisateurs de changer leur mot de passe tout en conservant l'ancienne méthode le temps que le mot de passe doit mis à jour.

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

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

    Informations forums :
    Inscription : Août 2003
    Messages : 6 692
    Points : 20 243
    Points
    20 243
    Par défaut
    Des hash comme bcrypt sont également évolutif avec la puissance de calcul.
    On peut leur donner un nombre de "round" à effectuer pour générer un hash. Plus ce nombre est élevé plus la génération est longue.

  6. #6
    Membre régulier
    Homme Profil pro
    Urbaniste
    Inscrit en
    Mai 2018
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Mai 2018
    Messages : 275
    Points : 98
    Points
    98
    Par défaut
    Le principal problème, c'est que tous les mots de passe de la base deviennent alors obsolètes. Il faut donc mettre en place une procédure pour demander à tous tes utilisateurs de changer leur mot de passe tout en conservant l'ancienne méthode le temps que le mot de passe doit mis à jour.
    tu dois indiquer un identifiant pour l'algo utilisé, si un utilisateur entre son mdp et que l'algo est périmé, tu valide le mdp avec l'ancien algo, tu recalcules un hash avec le nouvel algo depuis le mdp qu'a fourni l'utilisateur et tu changes l'identifiant du hash vers le nouvel algo.
    Voila parfait tout est dit...

    Merci à tous

  7. #7
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Citation Envoyé par yildiz-online Voir le message
    tu dois indiquer un identifiant pour l'algo utilisé, si un utilisateur entre son mdp et que l'algo est périmé, tu valide le mdp avec l'ancien algo, tu recalcules un hash avec le nouvel algo
    En fait, si tu haches en utilisant la fonction de php password_​hash, il y a une fonction native pour déterminer si le hash doit être recalculé : password_​needs_​rehash (*)

    (*) ils sont forts chez PHP, ils ont anticipé le problème

  8. #8
    Expert confirmé Avatar de yildiz-online
    Homme Profil pro
    Architecte de domaine
    Inscrit en
    Octobre 2011
    Messages
    1 444
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de domaine

    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 444
    Points : 4 565
    Points
    4 565
    Par défaut
    J'espère trouver l'équivalent en java sinon je ne pourrais plus me moquer de mes camarades phpistes

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/06/2019, 22h46
  2. Réponses: 2
    Dernier message: 21/05/2013, 12h07
  3. Sauvegarde des Mots de passe de connexion Web
    Par zakuli dans le forum Windows XP
    Réponses: 5
    Dernier message: 08/12/2005, 19h05
  4. enregistrer et masquer des mots de passe
    Par champion dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 30/08/2004, 20h10
  5. Au sujet des mots de passe
    Par FranT dans le forum Langage
    Réponses: 6
    Dernier message: 17/09/2002, 22h16

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