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 :

[Sécurité] Mot de passe autogénéré


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Par défaut [Sécurité] Mot de passe autogénéré
    --

  2. #2
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Je ne vois pas l'intérêt. Ce qui permet l'accès reste la clé, à la charge de l'utilisateur.
    A quoi sert le mot de passe en base de données, exactement ?

  3. #3
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Salut

    J'ai l'impression que tu as simplement inversé les termes : ta clef est en fait le mot de passe, et ton mot de passe est en fait la clef.

  4. #4
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Citation Envoyé par Yogui
    Salut

    J'ai l'impression que tu as simplement inversé les termes : ta clef est en fait le mot de passe, et ton mot de passe est en fait la clef.
    Ca change rien à ma question : à quoi sert la partie qui est conservée sur le serveur, celle qui est chiffrée avec l'info de l'utilisateur ? Je pige pas

  5. #5
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    C'est le grain de sel.
    Tu enregistres un grain de sel pour tout le site ou pour chaque utilisateur et tu l'utilises pour modifier le mot de passe (contacténation, ce que tu veux). C'est cette nouvelle chaîne que tu cryptes avant de la stocker en BDD et c'est elle que tu utiliseras en lieu de mot de passe.

    C'est une pratique très utilisée.

    Exemple par Chris Shiflett

    Stockage du mot de passe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
     
    /* $password contains the password */
     
    $salt = 'DEVELOPPEZ';
    $password_hash = md5($salt . md5($password) . $salt));
     
    /* Store password hash */
     
    ?>
    Comparaison du mot de passe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
     
    $salt = 'DEVELOPPEZ';
    $password_hash = md5($salt . md5($_POST['password']) . $salt));
     
    /* Compare password hashes */
     
    ?>

  6. #6
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Citation Envoyé par Yogui
    C'est le grain de sel.
    Tu enregistres un grain de sel pour tout le site ou pour chaque utilisateur et tu l'utilises pour modifier le mot de passe (contacténation, ce que tu veux). C'est cette nouvelle chaîne que tu cryptes avant de la stocker en BDD et c'est elle que tu utiliseras en lieu de mot de passe.
    Oué, ça je comprends... C'est pour augmenter l'entropie du hashage ?
    Mais c'est bien ça qui est fait ici ???

  7. #7
    Membre éclairé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Par défaut
    Citation Envoyé par Yogui
    C'est le grain de sel.
    Tu enregistres un grain de sel pour tout le site ou pour chaque utilisateur et tu l'utilises pour modifier le mot de passe (contacténation, ce que tu veux). C'est cette nouvelle chaîne que tu cryptes avant de la stocker en BDD et c'est elle que tu utiliseras en lieu de mot de passe.

    C'est une pratique très utilisée.

    Exemple par Chris Shiflett

    Stockage du mot de passe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
     
    /* $password contains the password */
     
    $salt = 'DEVELOPPEZ';
    $password_hash = md5($salt . md5($password) . $salt));
     
    /* Store password hash */
     
    ?>
    Comparaison du mot de passe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
     
    $salt = 'DEVELOPPEZ';
    $password_hash = md5($salt . md5($_POST['password']) . $salt));
     
    /* Compare password hashes */
     
    ?>
    Merci beaucoup Chris Shiflett !

    Il serait intéressant de le mettre dans les sources PHP, non ?

    Gôm

  8. #8
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Par défaut
    Un exemple reprennant l'essemble des rêgles de sécurité serait plus approprié.

    Stockage du mot de passe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
     
    $password_hash = $_POST['md5_password']; // pasword hshé du côté client
     
    /* Store password hash */
     
    ?>
    Comparaison du mot de passe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
     
    // $salt dynamique stocké dans une variable de Session, et mise à connaissance du client via un JS dans la page précédement envoyé
    $password_hash = md5($salt . $md5_password . $salt));
     
    /* Compare password hashes */
     
    // ($password_hash == $_POST['md5_passwordAndSalt'])
     
    ?>

  9. #9
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Tu as conservé ta sémantique pour écrire ce dernier message ou bien tu as repris la terminologie du reste du monde ?

    [Edit] Ce qui est appelé "mot de passe" est une chaîne choisie par l'utilisateur (ou du moins qu'il possède et utilise), tandis que la "clef" ne lui est pas nécessairement communiquée (puisque c'est une donnée automatisée).

  10. #10
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Par défaut
    Je n'ai pas devinné que mon vocabulaire portait à confusion, je reprends.

    En consiérant 3 chaînes de caractères, A, C, RA.

    A est crypté avec la clé d'encryption C et donne RA, résultat de l'encryption.

    J'utilise une encryption à clé plus sûre que le MD5 qui a été cassé.
    J'ai un site où j'utilise une seule clé d'encryption pour toutes les encryptions et je garde cette clé dans un fichier de configuration.

    Est-ce que, encryptant tous les mot de passes avec cette même clé, l'utilisateur gagnerait en sécurité en changeant régulièrement son mot de passe ?

  11. #11
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    on gagne toujours en sécurité en changeant souvent de mot de passe.

    point de vue vocabulaire, je ne crois pas qu'on parle de clé pour un algo de hash, vu que la "clé" ne permet pas l'opération inverse.

    C'est quoi que tu utilises comme algo, par curiosité ?

  12. #12
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Par défaut
    Citation Envoyé par Eusebius
    on gagne toujours en sécurité en changeant souvent de mot de passe.
    Ce n'est pas dit, parce que cela doit dépendre du bon choix du traitement fait au MDP.

    Si l'on a deux séries A[] et RA[] (de longuer n) de chaînes de caractère, et une chaîne de caractère C qui sert de clé d'encryption.
    Où un élémént RA[x] correspond à l'encryption de l'élément A[x] avec la clé C.

    Le hacker potentiel connait A[] et RA[] n'aurait-il pas d'autant plus facile à retrouver C que ces séries seraient longues ?

    Citation Envoyé par Eusebius
    C'est quoi que tu utilises comme algo, par curiosité ?
    AES implémenté dans MySQL Ici

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/01/2017, 08h26
  2. [Sécurité] mot de passe sur compte personnel Free
    Par MorganStern dans le forum Langage
    Réponses: 5
    Dernier message: 04/03/2007, 14h02
  3. [Sécurité] mot de passe cryptée?
    Par kevinf dans le forum Langage
    Réponses: 8
    Dernier message: 01/11/2005, 14h02
  4. [FireFox / Sécurité] Mots de passe en clair
    Par arcane dans le forum Applications
    Réponses: 6
    Dernier message: 28/12/2004, 17h28
  5. Réponses: 4
    Dernier message: 29/11/2004, 22h53

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