Journal Carte pour mot de passe

Posté par  (site web personnel) .
Étiquettes : aucune
12
10
sept.
2009
Je sais pas si vous utilisez ces cartes de mots de passe, mais moi oui.
Généralement c'est un tableau composé de chiffres et de lettres. Les cartes déjà existantes (que j'ai trouvé) n'ayant pas de caractères spéciaux, je me suis fait un petit programme, tout simple, qui me génère une de ces cartes.

Mon petit programme génère des valeurs entre 33 et 126 (que des caractères ASCII imprimable) dans une matrice de 10x26 et me sort ça sur le terminal. De fil en aiguille (avec la méthode la Rache) j'ai ajouté du html dedans, fait une petite feuille de style, ...

Ensuite, je me suis dit que si je perds la carte, j'aimerais bien pouvoir la régénérer, donc j'ai ajouté un numéro pour initialiser le générateur de nombres pseudo-aléatoires (l'algo est celui de la man page de rand).
Finalement je me suis dit qu'un nombre c'est difficile à s'en souvenir, donc j'ai décidé de faire un CRC32 de mon adresse email et utiliser ça pour initialiser le générateur.

J'arrive donc avec un petit générateur de carte qui fonctionne (enfin il me semble). Comme j'en avais pas trouvé sur le Web, j'ai décidé de le mettre en ligne, ça pourrait servir à quelqu'un !
Donc c'est disponible à l'adresse http://www.tchetch.net/wiki/services/passcard !

Voilà si ça peut servir à quelqu'un, c'est cool.

PS: Je prendrais le temps de mettre le code source en licence WTFPL demain.
  • # sauf que

    Posté par  . Évalué à 4.

    que si quelqu'un connait ton email
    il peut generer ta passcard

    pour de la securité c'est plutot moyen non ?
    • [^] # Re: sauf que

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

      Non, pas vraiment, il faut qu'il connaisse comment tu choisis ton mot de passe dedans. Tu peux dire je pars de N5 je vais trois fois à gauche, deux fois en haut, une fois à droite et quatre fois à gauche.

      La carte c'est juste 10x26 caractères aléatoires que tu utilises comme tu le souhaites.

      Mais si vraiment tu te sens pas en sécurité, tu peux mettre une chaîne de caractère aléatoires pour générer ta carte, je ne contrôle pas si c'est une adresse est valide ou pas, je la plante directe dans crc32 de php et j'obtiens un nombre.

      "It was a bright cold day in April, and the clocks were striking thirteen" - Georges Orwell

      • [^] # Re: sauf que

        Posté par  . Évalué à 10.

        Ton journal ne donne aucune explication.

        Lire http://www.vvsss.com/grid/ qui contient de beaux schémas qui expliquent.
        • [^] # Re: sauf que

          Posté par  . Évalué à 2.

          tres bon article qui explique bien ce qu'est la password grid

          interessant concept
        • [^] # Re: sauf que

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

          Désolé, mais j'ai même pas penser à expliquer, merci.

          "It was a bright cold day in April, and the clocks were striking thirteen" - Georges Orwell

        • [^] # Re: sauf que

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

          Ce que je n'aime pas, c'est que la grille exemple de ce site contient deux fois la lettre "m", deux fois la "A".

          Ne voudrais-t-on pas générer à chaque fois une permutation du même ensemble ? Sinon, on a comme information que telle lettre n'apparait pas, et que telle autre peut apparaitre deux fois (les 2 "m" sont proches, et les chemins sur la carte ne sont pas discrets).

          C'est plus chiant, mais en faisant une carte multi-dimentionelle (recto-verso, ou un cube !), avec des bonnes couleurs pour ton damier, tu peux augmenter facilement la complexité théorique du mot de passe pour un investissement intellectuel minimal (genre "quand j'arrive ici, je tourne mon cube et je recommence une case en haut". Avec une permutation sur chaque face, ça ne donne aucune indication sur les lettres présentes ou absentes du mot de passe).
          • [^] # Re: sauf que

            Posté par  . Évalué à 2.

            On peut mettre 4 caractères par case, en les tournant à 90, 180 et 270°. J'avais fait un script de quelques lignes shell+imagemagick.
            Sinon j'ai pas trop compris ce que tu voulais dire avec les couleurs, tu t'inventes des règles de parcours en plus pour toi tout seul ? Ça ne devient pas plus dur à retenir ?
            • [^] # Re: sauf que

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

              Nonon.
              Les couleurs, c'est simplement un repère visuel !
              Si ta transformation est "maintant, prend la face opposée avant de continuer ton chemin", et que tu est sur la case verte, tu sais que la case verte de l'autre faces est là d'où tu repars. Ça évite de devoir réfléchir à "merde, sur quelle case j'étais déjà ? 3 à droite et 7 en bas ?"
      • [^] # Re: sauf que

        Posté par  . Évalué à 9.

        L'intérêt de cette technique c'est que le titulaire ne connait pas le mot de passe par cœur. En cas de danger, il lui suffit de détruire la carte pour que le mot de passe soit définitivement irrécupérable, même si l'attaquant utilise des moyens irrépressibles (injonction judiciaire, chantage, torture...).

        En utilisant une carte récupérable en cas de perte, tu perds l'avantage de la technique. Si un attaquant utilise une méthode de torture, tu finiras par avouer comment récupérer la carte à partir d'internet.

        Certes il est probable que personne ne te torturera jamais, donc le fait que la carte soit reproductible ou pas n'aura pas l'occasion d'intervenir. Mais dans ce cas, tu t'embêtes pour rien à recourir à ces techniques de parano tout en annulant volontairement le seul effet attendu par rapport à une identification traditionnelle : la possibilité destruction définitive du mot de passe en cas de danger.

        (Mais bon c'est pas grave, il te suffira un jour d'initialiser ton générateur à partir d'une série tirée aux dés et gardée dans un lieu sûr, p.ex. gravée dans le marbre de la pierre tombale de grand papa en Poldavie septentrionale.)
        • [^] # Re: sauf que

          Posté par  . Évalué à 1.

          Ah tiens c'est pas bête du tout ce que tu dis :+) , ça m'apprendra à pas lire en entier les liens que je donne. Moi j'avais vu ça comme une source de mots de passe pas trop chère, le secret résidant dans le chemin choisi, et le nombre de chemins possibles dans cette grille me "semblait" (peut-être que je me trompe) impraticable (enfin faut voir si les gens n'utiliseraient pas des solutions faciles comme des lignes droites)
          • [^] # Re: sauf que

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

            Bof, je vais essayer de faire un calcul. On va dire que la longueur du mot de passe est connue (il suffit d'écouter ton clavier quand tu tapes) et qu'elle est de n caractères. Il y a 260 cases sur ton tableau, ce qui fait 260 départs. Après tu as la possibilité entre 8 directions différentes (si tu comptes les diagonales), puis 7 directions (si tu comptes que tu ne reviens pas en arrière). Donc on obtient 260*8*7^(n-2).

            Pour un mot de passe à 8 caractères on obtiens 244 millions de combinaisons Ce n'est vraiment pas beaucoup quand tu sais que 26^6 = 309 millions de combinaisons : c'est-à-dire un mot de passe composé de seulement 6 lettres de l'alphabet en minuscule.
            • [^] # Re: sauf que

              Posté par  . Évalué à 4.

              Les paths ont dans les exemples une longueur plutôt de 16. A quoi cela sert il d'avoir une carte de ce genre pour se souvenir de mot de passes courts ?
            • [^] # Re: sauf que

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

              Et puis, suffit de mettre des caractère en trop et de les effecer et zou, tu compte mal.
            • [^] # Re: sauf que

              Posté par  . Évalué à 0.

              Je vais essayer de faire le calcul autrement.

              La longueur du mot de passe est connue: n (donc n chemins à trouver).
              Il y a 260 cases sur le tableau, ce qui fait 260 départs.

              Les chemins peuvent prendre n'importe quelle forme (en diagonale, en L, rectiligne, etc.) et l'on peut donc revenir sur la même case de tableau. Les chemins peuvent être différents à chaque symbole du mot de passe.

              On a donc: 260*260*260...soit 260^n.

              Une case du tableau représente un symbole potentiel du mot de passe. Idéalement, chaque case de tableau devrait représenter un symbole différent.

              Dans les cartes générées par Etienne, on retrouve le même symbole dans plusieurs cases du tableau (valeurs entre 33 et 126 soit 93 caractères ASCII imprimables). Il s'agit d'une première restriction du système des cartes pour mot de passe.

              Il me semble qu'il possible d'améliorer la façon de générer les cartes d'Etienne en s'assurant que tous les symboles possibles sont présents sur la carte afin de ne pas limiter le dictionnaire des possibles et ainsi garder le nombre de possibilités le plus grand possible soit 93^n.
              • [^] # Re: sauf que

                Posté par  . Évalué à 2.

                Je pense que tu te trompes, la case de départ n'est certe pas connue, ce qui fait 260 possibilité, mais ensuite, tu dois partir de la case "courante" si le chemin est connexe. Donc ça ne fait plus que 8 possibilités de mouvements pour le deuxième choix.
                • [^] # Re: sauf que

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

                  Cela dépend encore de l'utilisation. Une connaissance m'a suggéré une utilisation intéressante :
                  Lorsque je m'authentifie sur mon système de e-banking (par exemple), je dois rentrer mon nom d'utilisateur, mon mot de passe et une valeur prise sur une carte fournie par ma banque. Cette carte comporte 100 valeurs, ce qui fait un nombre de possibilités très réduites pour une seule carte. Les valeurs sur cette carte peuvent être utilisée qu'une seule fois, ce qui veut dire qu'après 100 authentifications, une nouvelle carte doit-être générée. De plus la liste des valeurs utilisées doit être conservées, ainsi que la carte complète.

                  L'idée est donc de généré une carte à partir d'informations connues uniquement par la banque (un code aléatoire généré par la banque). Ce code doit être conservé par la banque, mais il peut être crypté (à l'aide du mot de passe de l'utilisateur). Donc du côté de la banque on ne garde que le code de génération de la carte (crypté).
                  Lors de l'authentification, l'utilisateur rentre son nom d'utilisateur, son mot de passe et un code issu de sa carte. Le système va donc choisir, par exemple, 6 caractères totalement au hasard (genre N4, E8, A1, B9, Z3, W7) et l'utilisateur va prendre les caractères sur sa carte et les introduire.
                  Ensuite le système va utiliser le mot de passe pour décrypter le code de génération de la carte, généré la carte, prendre les valeurs proposées et si elles sont correctes, accepter l'utilisateur.

                  Avec ce système, l'unique personne à avoir toutes les informations pour s'authentifier est l'utilisateur. La carte à une durée de vie très longue et il n'y a pas besoin de tenir un historique des utilisations (il est possible de le faire, mais pas nécessaire). On ne stocke pas la carte, mais uniquement les informations pour la produire. On garde le maximum de possibilité disponible (89^n (je crois), car il faut aussi enlever les touches mortes (ce qui actuellement n'est pas fait sur mes cartes et ce n'est pas pratique à utiliser, je suis sur le correctif (en fait je dois juste le publier, c'est déjà corrigé)) et enlever le 0 O o l 1 (facile à confondre) soit 83^n).
                  Donc pour un code à 6 caractères, on a > 336e9 possibilités.

                  Je sais pas si c'est mieux, mais ça à l'air bien.

                  "It was a bright cold day in April, and the clocks were striking thirteen" - Georges Orwell

          • [^] # Re: sauf que

            Posté par  (site web personnel, Mastodon) . Évalué à 8.

            Perso ce qui m'inquiète c'est que la forme que tu choisis est assez facilement devinable (ça sera la forme d'une lettre, d'un symbole, ou un truc géométrique, ou ayant une quelconque logique), et la carte fournis le dico à utiliser. Faire du bruteforce là dessus me semble donc relativement plus simple que sur un mot de passe dont on ne sais rien.

            Le souci aussi pour moi c'est que retenir la forme est tout aussi contraignant que retenir un mot de passe. Et en cas d'oubli, le souci est le même. Et je pense qu'on est plus amenés à oublier une forme qu'un mot, lequel on termine par retenir inconsciemment, comme une habitude, un automatisme. Ce qui d'ailleurs peut s'avérer gênant, genre je tape par automatisme mon code de CB, mais parfois quand je me demande consciemment c'est quoi j'en sais rien et je risque de me faire avaler ma carte. C'est un peu comme fermer sa porte à clé, c'est un automatisme, du coup on ne retient pas qu'on l'ait fait, et parfois quand on se demande "est-ce que j'ai fermé la porte ?" on n'en sait rien.

            Bref c'est une bonne idée mais pour moi en pratique ça rajoute juste de la contrainte, et le système idéal reste encore à inventer.

            « Je vois bien à quels excès peut conduire une démocratie d'opinion débridée, je le vis tous les jours. » (Nicolas Sarkozy)

            • [^] # Re: sauf que

              Posté par  . Évalué à 2.

              "Le souci aussi pour moi c'est que retenir la forme est tout aussi contraignant que retenir un mot de passe. [...] un mot, lequel on termine par retenir inconsciemment, comme une habitude, un automatisme."
              Un mot de passe unique qui me sert une fois tous les 2 mois, j'ai déjà essayé. Au bout des 2 premiers mois, il était déjà oublié, et je ne l'avais noté nulle part.
              Justement, je me demande si la forme ne résisterait pas mieux avec le temps.
              • [^] # Re: sauf que

                Posté par  . Évalué à 2.

                C'est en tout cas mon cas. J'ai une mémoire plutôt "visuelle", et je suis relativement incapable de retenir une suite de nombre si il n'y a pas un lien logique entre eux.

                Pour le code de ma carte bancaire, je connais le nombre de chiffres et quel chiffre sont utilisés. Je ne retiens pas l'ordre de ceux-ci, ni leur occurence. C'est le "chemin" que je tape sur le clavier numérique du bancomat qui me permet d'entrer le code correct.
                • [^] # Re: sauf que

                  Posté par  . Évalué à 1.

                  Pareil pour moi,
                  Et quand ils changent l'ordre des chiffres sur le clavier bancomat
                  (la position du 0 par exemple), ben je suis niqué ...
                  • [^] # Re: sauf que

                    Posté par  . Évalué à 2.

                    C'est sympa de nous dire que ton code contient un 0 /o\

                    Tous les nombres premiers sont impairs, sauf un. Tous les nombres premiers sont impairs, sauf deux.

                    • [^] # Re: sauf que

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

                      Ben non, si tu changes la place du zero, tu changes aussi la place d'une autre touche (ou un autre nombre). Ça peut aussi suffire à changer la disposition du clavier (la rangée du bas qui devient une colonne par exemple), du coup le chemin mémorisé n'est plus le même.

                      "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

            • [^] # Re: sauf que

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

              Non, le système idéal existe, il s'agit de la télépathie, tu t'approches de ton ordi et hop il lit dans ton subconscient et peut ainsi t'authentifier.

              Non plus sérieusement il y a les cartes à puces avec un code PIN et une clé GPG dessus, je suis en train de mettre ça en place chez moi, mais pas eu le temps ces dernières semaines.

              J'utilises ces cartes pour mettre des mots de passes sur des services web, parce que sinon j'ai tendance à utiliser mes mots de passes (ceux qui sont dans ma tête, donc écrit nul part) et finalement dans ceux que j'ai avec nombres, lettres et caractère spéciaux, il y a celui de ma clé GPG. Je veux pas l'utiliser sur internet (c'est dur à mémoriser des mots de passse pareils).

              "It was a bright cold day in April, and the clocks were striking thirteen" - Georges Orwell

              • [^] # Re: sauf que

                Posté par  . Évalué à 3.

                La télépathie ? Tu veux laisser des PC en majorité sous Windows approcher ton cerveau et ton subconscient, qui plus est ?

                J'espère qu'ils ont prévu la lecture seule :-|
              • [^] # Re: sauf que

                Posté par  . Évalué à 1.

                Ton subconscient a les mêmes problèmes que la biométrie : il s'altère avec le temps, tu ne peux pas le changer, et rien n'empêche de le copier lors de la lecture.
              • [^] # Re: sauf que

                Posté par  . Évalué à 1.

                pour le web y'a des outils sympa qui génèrent des moyt de passe en fonction d'un password unique et du nom de domaine par exemple.
                c'est implémenté en modules firefox, comme "password hasher" https://addons.mozilla.org/en-US/firefox/addon/3282

                ça permet de ne retenir qu'un seul mot de passe pour les sites web.
            • [^] # Re: sauf que

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

              A moins que j'ai mal compris le lien fournit par Octabrain ( http://www.vvsss.com/grid/ ), le but n'est pas de faciliter le "brute-forçage", mais bien de pouvoir oublier facilement et irrémédiablement le mot de passe, en détruisant la carte, face à des autorités qui peuvent te contraindre (légalement ou par la torture) à le donner. Si la carte est détruite, tu ne pourras que donner un chemin vide de sens. Effectivement, si elles ont la carte entre les mains, on en revient à l'article http://arstechnica.com/tech-policy/news/2009/03/court-self-i(...) ou le chemin est ton mot de passe...
              • [^] # Re: sauf que

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

                C'est une mauvaise idée, tu as l'obligation légale de fournir le mot de passe / la clé de déchiffrement à la justice si on te le demande. Ne pas le donner t'expose à des poursuites (en plus du fait que ça risque de faire marquer "COUPABLE" sur ton front directement).

                « Je vois bien à quels excès peut conduire une démocratie d'opinion débridée, je le vis tous les jours. » (Nicolas Sarkozy)

                • [^] # Re: sauf que

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

                  J'ai bien compris l'obligation légale, mais comment faire pour donner quelque chose qui n'existe plus ? Si la justice te demande la clef pour ouvrir une porte blindée, mais que cette clef n'est plus (ex : détruite au fond d'un volcan), pour quel chef d'accusation peux-tu être poursuivi ? destruction de preuve (mais ce qu'il y a derrière la porte est-il vraiment une preuve) ? obstruction à la justice ? autre ? et quel état a un arsenal juridique le permettant ? Etats-Unis, j'ai cru comprendre que oui, mais qu'en est-il des autres ?

                  Ce sont des vrais questions.
                  • [^] # Re: sauf que

                    Posté par  . Évalué à 3.

                    Il me semble que tu n'est pas obligé de t'accuser, et donc tu n'es pas obligé de fournir des mots de passe ou des clefs (on ne demande pas au suspect de fouiller chez lui pour trouver l'arme du crime lors d'une perquisition.). Mais ça n'arrangera pas ton cas devant un tribunal, ça ne jouera pas en ta faveur pour prouver que tu es innocent et ça risque d'alourdir la peine si tu es coupable.

                    C'est comparable aux situation du meurtrier qui se rend au commisariat avec l'arme du crime et celui qui la cache et part en « vacances » au milieu de la foret avec une fausse identité. (il peut ne pas être au courant qu'on le recherche, comme tu peux oublié ton mot de passe)

                    « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

                    • [^] # Re: sauf que

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

                      Dans les liens ci-dessus, il est justement expliqué que le droit à ne pas s'inscriminer soit-même ne couvre pas la rétention de mots de passe (du moins aux États-Unis).
              • [^] # Re: sauf que

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

                Et c'est aussi utile pour simplement avoir des mots de passes de bonne qualité. En fait c'est pour ça que j'utilise ces grilles. J'ai un chemin, toujours le même, et je me souviens uniquement du point de départ (donc deux caractères).
                Les cartes que j'ai eu jusqu'à maintenant avaient uniquement des nombre, des lettres (minuscule et majuscule) et un caractère spécial qui pouvait être ajouté à la fin du chemin.
                Là j'ai tout sur la carte et ça peut me faire des mots de passe genre "fj*6(/)RT&64db)(".

                Après pour attaquer en brute-force ce genre de mot de passe c'est difficile. Si tu as la carte il faut encore connaître le chemin utilisé par la personne et le point de départ.

                "It was a bright cold day in April, and the clocks were striking thirteen" - Georges Orwell

              • [^] # Re: sauf que

                Posté par  . Évalué à 2.

                Même si la grille tombe entre de mauvaises mains, on ne sait pas combien et quels mots de passes tu as rangé dans cette grille. Tu peux donc légitimement dire "le mot de passe que vous cherchez n'est pas dans cette grille". Non ?
                • [^] # Re: sauf que

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

                  Le problème c'est si on te torture. Sinon, pas besoin de grille, il suffit de dire que tu l'as oublié.
                  • [^] # Re: sauf que

                    Posté par  . Évalué à 2.

                    Je ne vois pas où est la différence, ils ont la grille, on te torture, tu dis "le mot de passe n'est pas dedans", ils n'ont aucun moyen d'en être sûr ou du contraire.
        • [^] # Re: sauf que

          Posté par  . Évalué à 5.

          imagine que tu tombes sur un tortionnaire complètement barge qui ne comprends rien aux cartes de mots de passe irrécupérables (c'est pas les plus grands génies qu'on choisi généralement pour ces tâches) et qui continue à te torturer tant que tu ne lui as pas donné ton mot de passe !!
          Tu es bien content de pouvoir le récupérer dans ce cas là !
        • [^] # Re: sauf que

          Posté par  . Évalué à 5.

          Si on doit me torturer, je préfère encore me souvenir du mot de passe et le donner...
          • [^] # Re: sauf que

            Posté par  . Évalué à 5.

            Tout dépend de ce à quoi que le mot de passe donne accès...
          • [^] # Re: sauf que

            Posté par  . Évalué à 4.

            Il me semble que tu ne tiens pas vraiment à tes données.

            « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

            • [^] # Re: sauf que

              Posté par  . Évalué à 2.

              Il y a plusieurs niveaux, un mot de passe permet de dissuader/empêcher les importuns les moins motivés. Pour les plus motivés, seule la "perte" du mot de passe (ou une extrême résistance) peut fonctionner, mais ceux-là sont en quantité moindre.
              Si protéger ses données d'une certaine quantité seulement de personnes (et pas de tout le monde) nous convient, un mot de passe que l'on peut retenir suffit.
  • # Conseil

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

    Pour dissocier les colonnes et les lignes, utilise plutôt un damier. Là on a du mal à suivre une ligne en entier...
    • [^] # Re: Conseil

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

      Ah ouais, ça fait pas un peu charlot ?

      "It was a bright cold day in April, and the clocks were striking thirteen" - Georges Orwell

    • [^] # Re: Conseil

      Posté par  . Évalué à 2.

      Et mettre plus d'air dans les cases, et mettre les bordures aux cases.
      • [^] # Re: Conseil

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

        Le problème étant que je veux faire passer ça sur une taille carte de crédit. Donc j'ai fais de mon mieux, mais la page étant une simple page html avec le css "inline", il est facile de modifier la présentation pour d'autres besoins.

        "It was a bright cold day in April, and the clocks were striking thirteen" - Georges Orwell

  • # passcard

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

    Bonjour,

    Merci de nous faire partager ce site qui m'a l'ait plutot bien fait.
    Cependant, ne connaissance pas l'utilité des "passcards", j'aimerais bien que tu developpes un peu plus sur ce point.

    Quelle en est l'utilité?
    Ou peut on l'utiliser?
  • # Pérennité ?

    Posté par  . Évalué à 2.

    J'ai découvert ça il y a quelques semaines, et ce qui me dérangeait dans un des générateurs que j'ai trouvé sur internet, c'était qu'il n'était possible de les reproduire car on ne fournissait pas de seed.
    C'est bien le cas avec le tien, mais est-tu sûr que l'implémentation de la fonction random que tu utilises retournera toujours les mêmes résultats quels que soient la version de PHP, l'OS, l'architecture ?
    Pour ma part, j'avais écrit un générateur qui se servait de l'algorithme en:Mersenne_twister, qui m'a l'air d'être bien figé et ne dépendre d'aucune variable externe.
    • [^] # Re: Pérennité ?

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

      Développé à la Rache, donc ça devrait être bon.
      Plus sérieusement, je fais un CRC de l'adresse email (php avec la fonction crc32), j'utilise cette valeur pour srand et je génère les nombre avec rand, donc en théorie ça devrait tenir.

      Mais tu peux juger par toi-même :
      http://www.tchetch.net/passcard/passcard.c
      http://www.tchetch.net/passcard/passcard.php.txt

      "It was a bright cold day in April, and the clocks were striking thirteen" - Georges Orwell

      • [^] # Re: Pérennité ?

        Posté par  . Évalué à 5.

        Je n'en suis pas si sûr, rand(3) semble indiquer que ce n'est pas du tout reproductible entre OSes. Et je ne sais pas si ton programme donne les mêmes résultats sur toutes les architectures.
        • [^] # Re: Pérennité ?

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

          Tu as raison :


          N’utilisez pas cette fonction dans
          des applications conçues pour être portables et lorsqu’un bon caractère
          aléatoire est nécessaire. (Utilisez plutôt random(3))


          Alors je change pour utiliser srandom et random qui semblent être bien pour ça.

          "It was a bright cold day in April, and the clocks were striking thirteen" - Georges Orwell

          • [^] # Re: Pérennité ?

            Posté par  . Évalué à 3.

            Attends, je ne sais pas si c'est beaucoup mieux. Si déjà ils ne donnent aucune indication sur l'algo utilisé, c'est peut-être qu'ils doivent le changer de temps en temps quand ils en trouvent un "mieux". Du coup, les résultats ne sont pas plus pérennes.
          • [^] # Re: Pérennité ?

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

            Ah bah oui mais la carte que je viens de générer, je vais déjà plus pouvoir la générer :)

            -> []

            (Sympa sinon.)
    • [^] # Re: Pérennité ?

      Posté par  . Évalué à 3.

      Ce qui est paradoxal, c'est que plus haut, on disait que l'avantage d'un tel système c'est que tu ne connais pas ton mot de passe par cœur, et qu'en cas de "danger", il suffit de détruire la carte pour que le mot de passe soit irrécupérable (lis au-dessus, je ne vais pas tout recopier).

      Et là c'est le contraire: tu t'inquiètes parce qu'on ne peut pas garantir que la carte puisse être reproduite à l'identique, ce qui lui fait perdre pas mal de son intérêt quand même: s'il la détruit, on le forcera juste à la refaire...
      • [^] # Re: Pérennité ?

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

        ça c'est parce que tu prends juste ce cas particulier du paranoïaque qui veut échapper à une question de justice.

        Une passcard peut tout simplement servir à partager un mot de passe (le user root par exemple) entre différents sysadmins.

        On donne les même cartes à tout le monde, on leur donne un chemin et voila, le jour du meeting ou tu décide de changer de mot de passe, personne n'aura besoin de le noter sur un papier pour s'en souvenir.
  • # ASCII

    Posté par  . Évalué à 3.

    L'ASCII c'est bien mais il y a un problème si le mot de passe ne peut pas contenir tout les caractères ascii. Ça réduit le nombre de chemin possible. Il faudrait peut-être prévoir la génération d'un sous-ensemble au besoin.

    « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

    • [^] # Re: ASCII

      Posté par  . Évalué à 2.

      Moi, j’utiliserais bien une carte 1x2 [A|B]…
  • # carte à puce

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

    En lisant le journal, je me suis dit « enfin un journal sur comment s'authentifier dans son DM avec une carte à puce, ou un truc du genre (smartcard, clé usb, sdcard …) »

    Bon certes, le niveau de sécurité n'est pas le même, mais ça me trotte dans la tête.
    • [^] # Re: carte à puce

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

      Je ferais un journal quand j'aurais fini mon authentification par carte à puce, promis.

      "It was a bright cold day in April, and the clocks were striking thirteen" - Georges Orwell

  • # Du vrai libre !

    Posté par  . Évalué à 8.

    licence WTFPL

    \o/
  • # Très interessant

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

    Je ne connaissais pas le principe ... J'ai fait une version python, sous licence WTFPL ;-)
    import random,string
    
    def mkgrille(passe,s=5):
        random.seed(passe)
        c=list(string.ascii_letters +string.digits+"#@%{}()[]?!:;,.+-*=")
        random.shuffle(c)
        sep="%s+"%("+---"*s)
        return "\n".join(["%s\n| %s |"%(sep," | ".join(c[y:y+s])) for y in range(0,s*s,s)]+[sep,])
    
    if __name__=="__main__":
        print mkgrille("mot de passe")
    
  • # Version 2

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

    Bon la version 1 étant codée à la Rache, les résultats étaient différents entre x86 et x86_64.

    La version 2[1] a été testée sur x86, x86_64 et sparc32 (ma bonne vieille station sun) et les résultats sont identiques. Les fonctions de PRNG et de CRC ont été embarquées dans le code, les lettres 0,O, o, 1 et l ont été supprimées du résultat en sortie.
    La sortie est plus générique puisque c'est du csv (la première ligne est l'ID de la carte), donc facilement utilisable pour générer n'importe quel format.

    Finalement la version 2 a un code plus propre, mais toujours codé à la Rache (mais moins). Le PRNG vient de "man 3 rand" légèrement modifié, le CRC est un Adler-32 tel que décrit sur wikipédia. Pour réduire la faiblesse de Adler-32 (fonctionne mal sur une centaine d'octets), l'ID est généré à l'aide de l'adresse email + l'adresse email xorée 32 fois avec 32 valeurs choisies manuellement.

    J'ai bien gagner mon week-end là, non ?

    [1] http://www.tchetch.net/passcard/passcard2.c

    "It was a bright cold day in April, and the clocks were striking thirteen" - Georges Orwell

Suivre le flux des commentaires

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