Journal Jouage avec les mots de passe

Posté par  (site web personnel) .
Étiquettes : aucune
0
19
avr.
2005
Salut à tous,

Je cherche actuellement des infos sur l'utilisation des mots de passe dont on ne demande qu'une partie pour s'authentifier.

Par exemple, à la connexion, sur le mot de passe de 15 caractère, on demande de fournir le 3, 7, 5 et 11 ème. Cf. par exemple le site de la banque nationwide: https://olb2.nationet.com(...)

Google n'a pas été mon ami sur ce coup là, je ne trouve aucune info, papier, page là dessus. Je m'intéresse particulièrement au stockage des mots de passe dans ce cas là, je ne vois pas comment éviter de les stocker en clair si on n'en vérifie qu'une partie, ce qui me choque.

Je suis donc preneur de toute référence à ce sujet.

Merci
  • # md5 unitaire ?

    Posté par  . Évalué à 2.

    rien de t'empêche de stocker un hash par caractère, et d'avoir un champ par caractère du mot de passe dans ta db.

    t'as plus qu'a vérifier si le hash du caractère entré pour le mot de passe à l'indice i vaut la même chose que le hash du caractère i enregistré dans la base de donnée.

    c'est effectivement moins secure si tu réfléchis au fait qu'au lieu d'avoir une complexité du genre 62^15 pour un mot de passe caractères + chiffres d'une longueur 15, tu as une complexité de 62^le nombre de caractères à trouver
    • [^] # Re: md5 unitaire ?

      Posté par  (site web personnel) . Évalué à 6.

      Ben un MD5 sur 1 caractère, autant le laisser en clair ...
      • [^] # Re: md5 unitaire ?

        Posté par  (site web personnel) . Évalué à 4.

        J'avais plutôt pensé à une solution de ce type par groupe de 4 caractères (si on demande 4 carcatère du mdp), mais c'est aussi trop simple à trouver je pense, sans parler du nombre d'arrangement possible, qui explose rapidement.
      • [^] # Re: md5 unitaire ?

        Posté par  (site web personnel) . Évalué à 2.

        Attends, le md5sum de "a", c'est 0cc175b9c0f1b6a831c399e269772661, ben quand même, ça a de la gueule, je trouve. Tu rajoutes un sha1 a coté pour le mec qui n'a pas trouvé avec le md5, ça fait 86f7e437faa5a7fce15d1ddcb9eaeaea377667b8, et ça a encore hachement plus de gueule.

        Bon, plus sérieusement, c'est clair qu'un hash ou un chiffrement asymétrique en partant d'un ensemble avec peu d'éléments, c'est pas hyper utile...
        • [^] # Re: md5 unitaire ?

          Posté par  (site web personnel) . Évalué à 2.

          Il suffit de partir dans l'autre sens, dans ce cas là.
          Si en regardant la table on détermine que le mot de passe est stocké par caractère, on se crée au chaud une table de correspondances caractères->condensé, et ça ne prendra pas longtemps à trouver tout les mots de passe.
  • # l'interêt ?

    Posté par  (Mastodon) . Évalué à 3.

    Quel est l'interêt ?
    • [^] # Re: l'interêt ?

      Posté par  (site web personnel) . Évalué à 2.

      Intéret 1: satisfaction intellectuelle sur un procédé dont j'ai entendu parler, mais que je ne comprends pas complètement.

      Intéret 2: éviter de transmettre le mot de passe, sans passer par un protocole de type 0-knowledge.
      • [^] # Re: l'interêt ?

        Posté par  (site web personnel) . Évalué à 3.

        pour éviter de transmettre ton password en clair ..
        - 1 utiliser SSL
        - 2 j'ai fait un journal a propos d'une solution GnuPG ou PGP client side
        ici https://linuxfr.org/~lilliput/17830.html(...) et ca n'interresse personne.. :(

        En gros les problemes liés aux pages web est du a plusieurs fait.

        -> cookie : coté client
        -> session ID: coté client
        -> transmission du mot de passe coté client et en clair.

        Solution certaine technologie gere les cookies et session serveur side, cependant spoofer la connection reste pas impossible donc le probleme reste entier, mais un peu moins dangeureux.

        coté ssl faut pas croire que le SSL est la réponse a toutes les solutions.
        une attaque assez "marrante" consiste a demandé au serveur de générer une quantité énorme de clef, d'en constituer une base de données, si la machine dispose pas d'une librairie puissante pour gérer des nombres aléatoires + pas de reboot = SSL inutile..

        voila ce genre de traffic est considéré comme normal aupres de la plupart de proxy, et peux etre générer via plusieurs pc .. sur plusieurs jour.

        Le mot de passe pose un GROS probleme, notamment son stockage.. on va pas remonté sur le cas Tuxfamily mais en gros beaucoup de site web ne crypte pas les mots de passe. :(
        -> Orange.fr permet meme de renvoyé son mot de passe par SMS .. et j'en passe.. le fameux teste du mot de passe perdu donne une idée..

        Bon faut SURTOUT pas oublier que la protection par mot de passe a un point faible, un gros point faible, la sécurité sur la machine local. Un simple trojan permet de logger clavier souris.

        Pour une meilleur sécurité je viserai plutot sur un logiciel qui permettrai d'encrypter le mot de passe via une clef public, independamment du chiffrage de la connection. Bon apres tout depend de la sécurité voulu sur son site ^^


        désolé je suis en qwerty.. j'ai que le é ..

        http://www.theatre-eibel.fr http://www.isc2chapter-yorkshire.co.uk

        • [^] # Re: l'interêt ?

          Posté par  (site web personnel) . Évalué à 2.

          Merci pour ces pistes, mais ce n'est pas ce que je recherche.

          Je connais certaines solutions, ta solution PGP est intéressante, mais je cherche plus des infos sur une solution existante (passer un mot de passe par partie) que d'autres pistes.

          De plus, dans le cas précis, ce que je cherche, ce n'est pas de ne pas passer le mot de passe en clair, mais plutôt de ne pas le passer du tout (ou tout du moins n'en passer qu'une partie).
          • [^] # Re: l'interêt ?

            Posté par  (site web personnel) . Évalué à 2.

            le site amessage.info proposait une méthode original :P

            j'entrais mon user name.. le serveur m'envoyait un lien via jabber (connection en ssl avec le serveur )
            Il y a possibilité de crypter la chose si tu as mis une clef public.

            juste une idée comme une autre .. :)
            le lien possede une session ID

            http://www.theatre-eibel.fr http://www.isc2chapter-yorkshire.co.uk

        • [^] # Re: l'interêt ?

          Posté par  (site web personnel) . Évalué à 2.

          La mauvaise blague, c'est quand ta machine est compromise et que le pirate a installé un keylogger. Là, tous les GPG et les SSL du monde se retrouvent impuissants.
          • [^] # Re: l'interêt ?

            Posté par  (site web personnel) . Évalué à 2.

            Certes il est important de le rappeller.
            Pour rappel la plus part des personnes ont pas de firewall ou d'antivirus permettant de lutter contre les trojan et autre IRC BOT, pour preuves la Grande Bretagne...

            Il existe un petit "truc" en cas de machine compromise consistant a faire des actions a la souris + clavier,enfin c'est pas ultime mais dans un reseau untrusted c'est ce que je fait en cas de necessité.

            --> paranoya ? faut bien un petit peu ;)

            http://www.theatre-eibel.fr http://www.isc2chapter-yorkshire.co.uk

            • [^] # Re: l'interêt ?

              Posté par  (site web personnel) . Évalué à 2.

              --> paranoya ? faut bien un petit peu ;)


              Vaut mieux être un petit peu paranoïaque q'un petit peu mort.

              (Cité d'après je ne sais pas qui, je ne sais pas où, qu'il me soit permis ici de le remercier.)
    • [^] # Re: l'interêt ?

      Posté par  . Évalué à 4.

      c'est plus difficile de faire du brut force puisqu'a chaque fois ca te demande des caracteres differents :]
      • [^] # Re: l'interêt ?

        Posté par  (Mastodon) . Évalué à 2.

        Mouais je suis pas plus convaincu maintenant ;)

        Dans ce genre de cas on utilise plutôt 2 mots de passe, 1 mot de passe persistant (je ne sais pas comment l'appeler autrement) et 1 mot de passe qui change à chaque session.

        Ma banque procède comme ça, j'ai un mot de passe + une liste de mot de passe. A chaque fois que je me connecte, je barre le mot de passe et j'utilise le suivant pour la prochaine connection (il existe aussi des cartes format "carte de crédit" pour pas se trimballer une liste).
        • [^] # Re: l'interêt ?

          Posté par  (site web personnel) . Évalué à 1.

          Petites questions par curiosité sur ce que tu décris.

          Elle fait quelle taille, cette liste? Ils t'en renvoit une quand tu en as fini une? Ca n'a jamais posé de souci?

          Dans le cas où quelqu'un son compte quasiment tous les jours, cette liste ne risquerait pas d'être épuisé trop vite?

          C'est quelle banque, si ce n'est pas indiscret?
          • [^] # Re: l'interêt ?

            Posté par  (Mastodon) . Évalué à 2.

            La liste est assez longue. Je ne l'ai pas sous les yeux et ne consulte pas mon compte tous les jours mais je pense à vu d'oeil qu'il y'a une trentaine de mots de passe.

            Par contre pour le système avec la carte à code, je ne connais pas "l'autonomie" de la carte en nombre de codes.

            Pour ma banque, c'est la poste suisse ;)
            • [^] # Re: l'interêt ?

              Posté par  (Mastodon) . Évalué à 3.

              Ah oui et ils en renvoient bien sur une nouvelle automatiquement dès qu'on arrive vers les derniers codes.
              • [^] # Re: l'interêt ?

                Posté par  (site web personnel) . Évalué à 1.

                OK, merci.
                Ce qui me semble peut-être dommage, avec ce système, c'est que tu
                es obligé d'avoir ta carte (ou liste...) avec toi pour te connecter. Ce n'est pas forcément un gros souci, mais j'aime bien avoir la possibilité de me connecter de n'importe où (typiquement si on me demande un RIP/RIB par surprise).
                • [^] # Re: l'interêt ?

                  Posté par  (Mastodon) . Évalué à 2.

                  Oui. c'est loin d'être idéal.

                  Mais c'est aussi pour ça que j'ai choisi la poste : y'en a suffisemment pour pouvoir se déplacer en cas de besoin urgent.
          • [^] # Re: l'interêt ?

            Posté par  . Évalué à 2.

            Je m'immisce dans la conversation, j'espère que vous ne m'en voudrez pas.

            Ma banque (finlandaise) propose un système similaire : un papier (15x10 cm) contient 100 codes de 4 chifres, et chaque chiffre a un index. À chaque connexion, le service web demande le numéro suivant dans la liste. Ça fait 5 ans que j'utilise la même liste, j'en suis aux alentours du numéro 80. Tout dépend combien on utilise l'accès Web, mais pour ma part le changement de liste n'est pas fréquent :) De plus, il me semble (mais c'est à vérifier) que je peux réutiliser les anciennes listes de ma femme (chaque liste est identifiiée par un code à 10 chiffres), donc je n'aurais même pas besoin de demander une nouvelle liste.

            <mavie>Mon père travaille au siège du Crédit Mutuel<mavie>, et j'ai discuté avec lui des systèmes d'authentification des utilisateurs sur l'interface Web de la banque : pour les particuliers, un système semblable est en test, sauf que la liste est téléchargée par l'utilisateur (qui est censé l'imprimer puis effacer le fichier), ce qui fait grincer des dents les spécialistes de la sécurité informatique (parce que la liste étant sur l'ordinateur, si on pénètre l'ordinateur, on trouve la liste, les utilisateurs étant trop fainéants pour l'imprimer effectivement). Pour les professionnels, le système utilise une << calculatrice >> qui calcule une réponse à partir d'un challenge envoyé par le site web (l'utilisateur doit donc taper manuellement le challenge sue la calculatrice, et taper sur l'interface web la réponse de celle-ci). Le problème, c'est que la calculatrice coûte cher, et qu'il faut venir la chercher en personne (or, le site web est essentiellement utilisé par les gens qui habitent loin de leur caisse du Crédit Mutuel, comme moi par exemple).

            Sécurité et confort ne sont pas près de converger.
      • [^] # Re: l'interêt ?

        Posté par  . Évalué à 3.

        mais c'est plus chiant pour l'utilisateur qu'une passphrase + quelques caractères spéciaux bien comme il faut...
  • # L'identification à divulgation nulle de connaissance (Zero-Knowledge

    Posté par  . Évalué à 1.

    Ca me fait pense a de l'identification à divulgation nulle de connaissance (Zero-Knowledge). (que que ici la dilvugation n'est pas completement nulle, il me semble)

    Mais bon c'est juste un vieux souvenir d'un article sur la problematique "de prouver que l'on sait sans que l'autre en face puisse apprendre" dans un hors-série sur la crypto de Pour La Science, qui m'a permis apres un google "cryptographie verification de connaissance" de tomber la dessus :

    http://www.miscmag.com/articles/full-page.php3?page=202

    Il suffit de créer correctement le mdp de 15 carateres, qui doit etre fournit par ta banque non ?.

    J'espere que ca pourra repondre à ta question.
    • [^] # Re: L'identification à divulgation nulle de connaissance (Zero-Knowledge

      Posté par  (site web personnel) . Évalué à 2.

      Exactement, c'est un peu à ça que ça me faisait penser. Je vois qu'on a les même références à ce sujet...

      Cependant, dans le cas précis, ce n'est pas vraiment du 0-knowledge, car on transmet tout de même une partie du mot de passe, mais ça a l'avantage de simplifier le protocole, parce que les protocoles 0-knowledge se basent sur le principe défi-réponse, et instaurent donc un dialogue. Dans le cas du mot de passe par parties, il y juste un seul échange.

      Il suffit de créer correctement le mdp de 15 carateres, qui doit etre fournit par ta banque non ?.


      Je ne vois pas ce que tu veux dire...

      En fait, ce qui m'intéresse, c'est de savoir comment la banque a stocké mon mot de passe (ou son hash, ou n'importe quoi qui lui permet de vérifier mes infos).
      • [^] # Re: L'identification à divulgation nulle de connaissance (Zero-Knowledge

        Posté par  . Évalué à 2.

        J'y connais pas grand chose en crypto, mais voila comment je verrai la chose.

        En fait du hors serie de Pour la science, je pensais en particulier au probleme des 4 couleurs :
        A doit prouver à B qu'il sait colorier une carte avec seulement 4 couleurs, mais sans lui montrer comment
        Solution : B choisi un extrait de la carte, A lui montre colorié (les couleur eventuellement echanger entre elle), il peut même lui remontrer dautre endroit, et ce autant de fois que voulu par B, B n'arrivera pas a reconstruire la carte grace à l'habile interversion des couleurs fait par A.

        Je pensais donc à un truc comme ca.

        les 15 carateres sont comme une carte deja colorié qu'on t'a fournit. Les 15 carateres sont bien choisi pour avoir des dependances correctes entre eux. La banque choisit un bout de la carte (le 3, 7, 5 et 11ème) puis verifie que ces caracteres ont la correlation attendus (pour la carte ca serait que les même couleur ne se touche pas).

        La banque peut n'avoir besoin que d'un algorithme qui permet de créer les 15 caracteres à partir de ton numéro de compte (pour que ces 15 caracteres soient lié a toi) l'algo permettant d'avoir des corrélations connue entre chaque groupe de n(ici =4) caracteres et ton n°de compte.

        La banque n'a qu'à vérifier que la correlation est bonne entre les caracteres que tu envoies et ton numero de compte.
        Et hop tu es identifié.

        Je sais pas si une telle fonction existe, mais ca semble beau, même si je ne vois pas l'interet...
        • [^] # Re: L'identification à divulgation nulle de connaissance (Zero-Knowledge

          Posté par  (site web personnel) . Évalué à 2.

          Pas mal, c'est vraiment joli, comme raisonnement, je n'y avais pas pensé. J'y vois seulement un souci: tu ne peux pas choisir toi même ton mdp, c'est à ta banque de le faire...

          Dans le cas de la banque donnée en exemple (bon OK, eux ne donnent qu'un mdp de 6 caractères) on peux choisir son propre mdp, donc à mon avis la solution que tu proposes ne peut pas convenir...

          En plus, à partir du moment où la banque connait l'algo pour recréer les 15 caractères du mdp, il n'y a pas besoin de faire d'autres manipulations.

          Je pense que ton idée est bonne, mais je ne suis pas sur que ça soit qui soit utilisé dans le cas présent. A mon avis, pour utiliser ce que tu proposes, il faudrait poser plusieur fois des questions, ce qui n'est pas le cas ici.

          A quoi ça sert de ne fournir qu'un bout du mdp?
          Une attaque par force brute sera beaucoup plus complexe.

          Pour l'exemple, je ne me place plus dans le cas précis de la banque citée, mais dans l'optique de quelqu'un qui veut implémenter ce système, de la bonne façon, et afin qu'il soit réellement solide.

          Si on suppose qu'un bon mot de passe, en plus d'autres considérations, fait 8 caractères, rien ne nous empêche de créer un mot de passe de 42 caractères, et d'en demander 8 aléatoirement à chaque fois. Du coup, ce qui est demandé changeant à chaque fois, la force brute n'y pourra plus grand chose.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.