Partage
  • Partager sur Facebook
  • Partager sur Twitter

Sécurité et mot de passe Logiciel C++

    8 octobre 2020 à 23:36:40

    Bonjour,

    (J'ai cherché sur les forums si des sujets équivalents répondait à mes questions mais je n'ai pas trouvé...)

    Pour sécurisé l'accès à un logiciel, on attribut généralement un mot de passe à un utilisateur.

    Ma question est simple comment sécuriser ce mot de passe ?

    Sécurité niveau 0 : Enregistrer le mot de passe non-crypté dans un fichier

    Sécurité niveau 1 : Enregistrer le mot de passe crypté dans un fichier

    -> J'ai entendu parlé du MD5, mais je vois pas en quoi c'est sécurisé puisque j'ai crypté un mot aléatoire sur un crypteur en ligne. J'ai ensuite utiliser un décrypteur en ligne qui m'a retrouvé le mot de base, donc un mot passe crypté en MD5, c'est pas très secure...

    -> Le fait d'enregistrer le mot de passe dans un fichier c'est pas non plus une solution incroyable : comment empêcher l'utilisateur de modifier le fichier, de le supprimer ?

    Il y a j'imagine des méthodes plus sérieuses pour sécuriser un mot de passe ? Pourriez-vous m'aiguiller sur des pistes de travaille ?

    Je vous remercie.

    • Partager sur Facebook
    • Partager sur Twitter
      9 octobre 2020 à 8:20:25

      Lu'!

      Ganno a écrit:

      -> J'ai entendu parlé du MD5, mais je vois pas en quoi c'est sécurisé puisque j'ai crypté un mot aléatoire sur un crypteur en ligne. J'ai ensuite utiliser un décrypteur en ligne qui m'a retrouvé le mot de base, donc un mot passe crypté en MD5, c'est pas très secure...

      (Point voc:) En crypto, on parle de chiffrer/déchiffrer pour le fait de cacher le message et de la récupérer avec la clé, on parle décrypter quand on essaie de retrouver le message sans avoir la clé. (Donc crypté/crypteur, ça n'existe pas).

      Ce n'est pas parce que le hash cryptographique MD5 est cassé depuis quelques années déjà qu'il n'en existe pas de plus sûr. Typiquement, tu peux par exemple regarder du côté de SHA-2 et SHA-3.

      Ganno a écrit:

      -> Le fait d'enregistrer le mot de passe dans un fichier c'est pas non plus une solution incroyable : comment empêcher l'utilisateur de modifier le fichier, de le supprimer ?

      Tu ne peux pas empêcher ton utilisateur n'importe quoi s'il en a vraiment envie. De toute façon, le hash du mot de passe que tu obtiendras avec une fonction de hash crypto, tu devras bien l'enregistrer quelque part. Idéalement, à un endroit sûr (comme le répertoire de configuration du logiciel, ou les différentes sortes de bases de registres qui existent dans les OS), et si l'utilisateur décide d'aller effacer ça, tu peux pas trop l'en empêcher, c'est sa machine il fait ce qu'il veut avec ce qu'il y dedans.

      Après, tout dépend du but de ton logiciel.

      • Partager sur Facebook
      • Partager sur Twitter

      Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C

        9 octobre 2020 à 17:38:12

        Ok je te remercie, je pensais qu'on utilisais des techniques plus complexe.

        Ça reste au final assez basique une fois qu'on a le code pour chiffrer l'information.

        J'imagine qu'il existe tout de même des normes de sécurités qui imposent une manière de faire selon le but du programme.

        • Partager sur Facebook
        • Partager sur Twitter
          9 octobre 2020 à 17:59:15

          Bonjour,

          Il y a aussi la solution d’enregistrer les hashs dans une Data Base (local ou distante), voir passer par un serveur d’authentification.

          Cordialement.

          • Partager sur Facebook
          • Partager sur Twitter
            9 octobre 2020 à 19:14:18

            Salut,

            Est-ce que tu comprends la différence entre un message chiffré (ou crypté) et hashé ?

            -
            Edité par Raynobrak 9 octobre 2020 à 19:14:27

            • Partager sur Facebook
            • Partager sur Twitter
              10 octobre 2020 à 13:51:47

              Debeun : Je n'ai jamais entendu parler des serveur d'authentification, je vais me renseigner plus en détails.

              Raynobrak : Je pensais effectivement que ces notions étaient synonymes. J'ai fait quelques recherches depuis, je comprends mieux la différence.

              Merci

              • Partager sur Facebook
              • Partager sur Twitter
                10 octobre 2020 à 14:43:54

                C'est déjà un sujet à l’académie Française : http://www.academie-francaise.fr/crypter
                • Partager sur Facebook
                • Partager sur Twitter
                  10 octobre 2020 à 15:49:12

                  rouloude a écrit:

                  C'est déjà un sujet à l’académie Française : http://www.academie-francaise.fr/crypter

                  Honnêtement l'avis de l'académie française tout le monde s'en branle, parce que les mecs sont pas linguistes donc leur avis sur la question ...

                  AMHA, que le grand public dise crypté ou chiffré effectivement ça n'a vraiment aucune importance. Mais dans un domaine technique, et en particulier pour les personnes faisant partie de ce domaine technique la question est toute autre. Parce que si on a posé ces mots précis c'est pour savoir clairement de quoi on parle quand on dit déchiffrer ou décrypter (vu que le sens n'est pas du tout le même), et par la suite d'être cohérent avec cette dénomination.

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C

                    10 octobre 2020 à 16:41:59

                    Pour être sur de comprendre, car il est parfois pertinent de restreindre l'accès à un logiciel ou composant logiciel installé sur un machine à certains utilisateurs, auquel cas, on laisse faire l'OS.

                    Si par contre soucis est d'éviter le piratage. Déjà, si ton soft a vraiment du succès, il sera craqué. Et s'il n'en a pas, personne ne cherchera à récupérer une version pirate.

                    Bref, j'ai l'impression que ce qui t’intéresse c'est un notion de licence qu'un fois acquise débloque l'utilisation, avec des moyens informatiques pour y parvenir. C'est ça?

                    > [...] crypté ou chiffré [...]

                    Ah... les anglicismes... https://fr.wikipedia.org/wiki/Chiffrement#Terminologie

                    • Partager sur Facebook
                    • Partager sur Twitter
                    C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
                      10 octobre 2020 à 21:12:11

                      Le principe d'un fonction de hash c'est qu'elle n'est "en principe" pas réversible, c'est à dire que si je n'ai que le hash du mot de passe, je ne peux pas  retrouver le mot de passe.

                      L'algorithme de vérification est assez simple, je calcule le hash de la saisie utilisateur et je le compare au hash que j'ai stocké. Le point fort du truc, c'est que le programme n'a que le hash, donc même si on vole le stockage (fichier, bdd...) on ne récupère que les hash des mots de passe et pas les mots de passe eux mêmes, donc ça complique considérablement une usurpation d'identité. Evidemment il faut que toutes les données perso soient chiffrées, sinon c'est le syndrome de la porte blindée sur une plaque de placo, je ne me fais pas chier avec la porte, je pète directement le mur.

                      • Partager sur Facebook
                      • Partager sur Twitter
                      Mettre à jour le MinGW Gcc sur Code::Blocks. Du code qui n'existe pas ne contient pas de bug

                      Sécurité et mot de passe Logiciel C++

                      × 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