Partage
  • Partager sur Facebook
  • Partager sur Twitter

Protection Sha-256

    12 juin 2013 à 11:15:26

    Salut,

    Alors voilà mon problème, je viens d'arriver comme stagiaire dans une entreprise pour reprendre le dev d'une plateforme sur zend, lorsque qu'un utilisateur fait une certaine action il y a une clé codée en sha256 qui se génère et lui est envoyé pour qu'il puisse s'en servir cependant la clef est trop grande et les utilisateurs ne sont pas formés à l'utilisation d'un pc et ne connaissent pas le copier/coller.

    Du coup je dois modifier le codage de la clef en gardant la sécurité mais en réduisant le nombre de caractères et comme je n'y connais pas grand chose en algorithme de codage je préfère m'en remettre à vous plutôt que de tout détruire la plateforme .:lol:

    En vous remerciant.

    • Partager sur Facebook
    • Partager sur Twitter
      12 juin 2013 à 11:28:58

      Salut.

      Quand tu dis : "la clé est trop grande", trop grande pour quoi ?

      • Partager sur Facebook
      • Partager sur Twitter
        12 juin 2013 à 11:31:49

        Les personnes s'en servent comme mot de passe pour accéder à une partie de la plateforme, c'est trop grand pour un utilisateur naïf qui ne sais pas copier coller
        • Partager sur Facebook
        • Partager sur Twitter
          12 juin 2013 à 12:08:53

          Pour plus de détail, le php utilise hash("sha256", $variable) et si le code entré est égal à ça alors c'est bon, c'est pas dans la base de données et je voulais savoir si y avais un cryptage plus court ou un autre moyen
          • Partager sur Facebook
          • Partager sur Twitter
            12 juin 2013 à 13:19:08

            Tu veux dire que les utilisateurs doivent rentrer eux-même le hash oO ?
            • Partager sur Facebook
            • Partager sur Twitter
              12 juin 2013 à 14:01:27

              C'est bien ça, le code leur est envoyé par mail.

              Y a aucun lien avec la base de données

              • Partager sur Facebook
              • Partager sur Twitter
                12 juin 2013 à 14:03:26

                Marc Berri a écrit:

                Les personnes s'en servent comme mot de passe pour accéder à une partie de la plateforme, c'est trop grand pour un utilisateur naïf qui ne sais pas copier coller


                Oui enfin ne pas savoir copier-coller, autant ne pas utiliser un ordi.
                • Partager sur Facebook
                • Partager sur Twitter
                  12 juin 2013 à 14:08:11

                  Je dois louper quelque chose je pense. Quel est l’intérêt d'envoyer un hash ? (D'habitude on hash le mdp après que l'utilisateur l'ai tapé pour vérifié s'il correspond au mdp hashé qui est stocké).
                  • Partager sur Facebook
                  • Partager sur Twitter
                    12 juin 2013 à 14:24:33

                    J'ai vu bien pire que quelqu'un qui ne savais pas faire un copier coller qui travail dans le secteur de l'entreprise :lol:.

                    Ok je vais expliquer en détail ce que j'ai pu voir,

                    Le client crée un groupe, au moment où le groupe est crée le php génère avec la fonction hash("sha256", $iddelapersonne,$iddugroupe, ...) un code unique et le code est envoyé par mail à l'utilisateur,

                    l'opération se répète pour chaque personne du groupe donc chaque personne du groupe a un code sha256 différent comme mot de passe pour accéder au groupe.

                    Lors de la vérification le php reprends les valeurs  de la personne et réutilise exactement la même fonction hash(...) et compare le résultat avec celui que l'utilisateur à rentré si c'est le même y a la connexion.

                    • Partager sur Facebook
                    • Partager sur Twitter
                      12 juin 2013 à 14:34:47

                      D'accord, c'est plus clair tout de suite ^^ .

                      Euh tu peux toujours utiliser un algorithme qui hash sur moins de caractère (sha1 c'est 40 caractères il me semble, vs 64 pour sha256), mais ça restera chiant à utiliser. Malheureusement tu ne pourra pas tronquer les hash, de peur d'avoir des collisions par la suite.

                      Tu ne peux pas tout simplement ajouter (dans le mail et/ou à la connexion) un petit texte explicatif sur la façon d'utiliser le mot de passe ?

                      • Partager sur Facebook
                      • Partager sur Twitter
                        12 juin 2013 à 14:46:47

                        :waw: C'est vraiment une bonne idée le mail explicatif, je vais faire comme ça et je vais me cogner la tête contre les murs pour ne pas y avoir pensé,

                        en tout cas merci pour l'idée et désolé de t'avoir fait perdre ton temps .:-°

                        • Partager sur Facebook
                        • Partager sur Twitter
                          12 juin 2013 à 14:53:30

                          Pas de problème ;) C'est pas la solution ultime, mais ça à le mérite d'être rapide et simple à mettre en place (solution de flemmard :-° ?).

                          Après peut-être que d'autres personnes ont une manière plus "pro" de résoudre la chose, du coup ne passe pas ton sujet en résolu, au cas où certains passerai par là ;)

                          • Partager sur Facebook
                          • Partager sur Twitter
                            12 juin 2013 à 18:11:30

                            Ecrire le hash dans un fichier et envoyer le fichier?

                            et demander de l'uploader pour en vérifier le contenu? :s

                            • Partager sur Facebook
                            • Partager sur Twitter
                              12 juin 2013 à 18:17:35

                              Bonjour,

                              Déjà, rien n'interdit de faire un md5() du hash soit md5(hash("sha256", $variable)) ce qui te donnera une chaine de caractères de 32 caractères uniques.

                              Ensuite, tu peux envisager de remplacer hash("sha256", $variable) par une fonction personnelle qui génère un mot de passe sécurisé (combinaison aléatoire de minuscules, majuscules, caractères spéciaux et chiffres) d'une longueur que tu choisirais. Il y a pleins d'exemple sur internet.

                              ++

                              • Partager sur Facebook
                              • Partager sur Twitter
                                12 juin 2013 à 18:21:52

                                jordan a écrit:

                                Bonjour,

                                Déjà, rien n'interdit de faire un md5() du hash soit md5(hash("sha256", $variable)) ce qui te donnera une chaine de caractères de 32 caractères uniques.

                                Ensuite, tu peux envisager de remplacer hash("sha256", $variable) par une fonction personnelle qui génère un mot de passe sécurisé (combinaison aléatoire de minuscules, majuscules, caractères spéciaux et chiffres) d'une longueur que tu choisirais. Il y a pleins d'exemple sur internet.

                                ++


                                Heu... il faut évider md5 qui n'est plus sécurisé, et éviter de faire du hash de hash qui réduit le niveau de sécurité.

                                Sinon, pourquoi forcer un mot de passe aussi long? Est-ce que ce n'est pas le protocole d'authentification qu'il faut revoir? :euh:

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  12 juin 2013 à 18:31:59

                                  Re,

                                  Je ne suis pas d'accord sur le fait que MD5 n'est plus sécurisé. Sa principale faille est l'attaque par dictionnaire, mais avec comme variable d'entrée une chaine de caractères aléatoires de 64 caractères, tu n'en trouveras pas des tout prêt.

                                  Ensuite tu dis qu'il faut éviter de faire du hash de hash ce qui réduit le niveau de sécurité ; c'est totalement contraire à l'esprit du hashage. C'est totalement ridicule comme affirmation. Le but d'un hash est de produire du "bruit". Du bruit de bruit ne rend pas le texte de départ plus facile à trouver.

                                  Il n'y pas vraiment de protocole d'authentification. Le précédent développeur est allé au plus simple pour générer un mot de passe unique différent pour chaque utilisateur. C'est même douteux pour un développeur de donner un mot de passe de 64 caractères.

                                  ++

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    12 juin 2013 à 18:50:53

                                    jordan a écrit:

                                    Re,

                                    Je ne suis pas d'accord sur le fait que MD5 n'est plus sécurisé. Sa principale faille est l'attaque par dictionnaire, mais avec comme variable d'entrée une chaine de caractères aléatoires de 64 caractères, tu n'en trouveras pas des tout prêt.

                                    Ensuite tu dis qu'il faut éviter de faire du hash de hash ce qui réduit le niveau de sécurité ; c'est totalement contraire à l'esprit du hashage. C'est totalement ridicule comme affirmation. Le but d'un hash est de produire du "bruit". Du bruit de bruit ne rend pas le texte de départ plus facile à trouver.

                                    Il n'y pas vraiment de protocole d'authentification. Le précédent développeur est allé au plus simple pour générer un mot de passe unique différent pour chaque utilisateur. C'est même douteux pour un développeur de donner un mot de passe de 64 caractères.

                                    ++

                                    Il est aujourd'hui possible de créer des collisions complètes MD5, il n'est donc plus sécurisé.

                                    Quant à faire un hash d'un hash, on applique deux opération surjective (plus d'élément dans l'espace de départ que dans l'espace d'arrivée). en le faisant deux fois, on augmente donc la probabilité d'obtenir une collision et donc on réduit le niveau de sécurité.

                                    Pardon pour le protocole, je voulait parler de processus d'authentification.

                                    Je ne connait pas exactement le besoin, mais je suis d'accord avec Jordan pour dire que la solution qui a été adoptée est étrange. Dès lors qu'il est nécessaire de faire un copier coller pour un mot de passe, on sous entend qu'il est stocké sur la machine et la, niveau sécurité, on est bas... très bas.

                                    • Partager sur Facebook
                                    • Partager sur Twitter

                                    Protection Sha-256

                                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                    • Editeur
                                    • Markdown