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 éclairé
    Homme Profil pro
    Urbaniste
    Inscrit en
    Mai 2018
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Mai 2018
    Messages : 275
    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 confirmé
    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
    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
    Membre Expert Avatar de yildiz-online
    Homme Profil pro
    Architecte de domaine
    Inscrit en
    Octobre 2011
    Messages
    1 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de domaine

    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 447
    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 : 40
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    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.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

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

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

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    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.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Mai 2018
    Messages : 275
    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 : 40
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    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
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

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

    Informations professionnelles :
    Activité : Architecte de domaine

    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 447
    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