Diceware est un système très simple qui permet de générer des « phrases de passe » (« passphrase » en anglais) sûres (c.-à-d difficiles à casser) pour utiliser avec des logiciels de chiffrement tels que PGP/OpenPGP/GnuPG, S/MIME, et probablement encore d'autres.
Diceware se fonde sur des jets de dés à 6 faces pour choisir au hasard des mots dans une liste de mots ; ces mots, une fois assemblés, forment la phrase de passe. Les dés sont un élément clé du système, car ils donnent des résultats réellement aléatoires, au contraire des fonctions du type rand(), qui sont pseudo-aléatoires, et donc introduisent un biais dans la distribution statistique des mots choisis, qui permettrait de casser la phrase de passe plus facilement.
Si le paragraphe ci-dessus est incompréhensible, c'est pas grave, l'essentiel est là : il faut utiliser des vrais dés, pas de nombre aléatoire généré par un ordinateur.
Il existe des listes de mots en anglais, allemand, finnois, polonais et espagnol. Le français manquait, mais c'est maintenant réparé :) Avant de soumettre la liste de mots au site original, j'apprécierais de recevoir des commentaires (il y a sûrement des choses à améliorer).
Le site original (en anglais) de Diceware : http://world.std.com/~reinhold/diceware.html(...)
Une traduction en (mauvais) français : http://www.gjldp.org/CHARENTAISES/article.php3?id_article=4(...)
La liste de mots en français : http://www.mit.jyu.fi/mweber/software/diceware/francas.ps(...)
Le source en LaTeX : http://www.mit.jyu.fi/mweber/software/diceware/francais.tex(...)
et la liste de mots originale : http://www.mit.jyu.fi/mweber/software/diceware/src/francais.wordlis(...)
Commentaires, relecteurs et beta-testeurs sont les bienvenus !
# Générateur aléatoire
Posté par Romuald Delavergne . Évalué à 4.
(cf. /usr/src/linux/drivers/char/random.c).
Il est vrai que vu le nombre de lancés, c'est encore faisable à la main.
[^] # Re: Générateur aléatoire
Posté par Infernal Quack (site web personnel) . Évalué à 3.
L'association LinuxFr ne saurait être tenue responsable des propos légalement repréhensibles ou faisant allusion à l'évêque de Rome, au chef de l'Église catholique romaine ou au chef temporel de l'État du Vatican et se trouvant dans ce commentaire
[^] # Re: Générateur aléatoire
Posté par Krunch (site web personnel) . Évalué à 5.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: Générateur aléatoire
Posté par Laurent Almeras . Évalué à 3.
# Et l'entropie alors ??
Posté par chl (site web personnel) . Évalué à 3.
Je ne comprend pas comment une suite de mots français pourraient avoir plus d'entropie qu'une suite generée par rand(). De plus, l'espace des mots de passe générés avec des mots francais (donc seulement des lettres) est plus petit que celui où on accepte toute la table ASCII :
BonjourAliceBobCharly
&jGQé"àç_'(_èç$^:;,:!
Apres c'est sur que c'est sur que c'est plus facile de se souvenir de la premiere passphrase, que de la seconde ...
[^] # Re: Et l'entropie alors ??
Posté par Matthieu Weber . Évalué à 5.
Autant l'entropie d'un dé est connue, parce qu'aléatoire, autant l'entropie de rand(), je ne la connais pas (parce je ne sais pas comment la calculer ; ça dépend de l'algo).
Pour ce qui est de la phrase de passe (PdP), on ne compte pas l'entropie apportée par chaque lettre, mais l'entropie apportée par chaque mot. au sein de la phrase. La liste contient 7776 (6^5) mots ; chaque mot représente une des composantes de la phrase de passe.
Si on a une PdP de 2 mots, on a 7776 x 7776 combinaisons possibles ; avec 3 mots on a 7776 x 7776 x 7776 combinaisons possibles. Si les mots sont choisis purement au hasard, il faut alors tester toutes les combinaisons possibles pour réussir à craquer la PdP.
Diceware est conçu pour permettre d'utiliser des mots courants d'une langue donnée, et en même temps être résistant aux attaques par dictionnaire (qui consiste à essayer tous les mots d'une langue pour craquer la PdP)
Autre explication : tu parles de créer des mots de passes avec des caractères ascii. En supposant qu'on puisse utiliser tous les caractères ASCII (128 symboles), on peut créer des MdP d'une longeur de 2 caractères (128 x 128 possibilités), de 3 caractères (128 x 128 x 128 possibilités) etc. Diceware propose de remplacer le caractère (en tant qu'unité) par un mot, et la table de 128 caractères par une table de 7776 mots. La PdP est plus longue qu'un mot de passe, mais plus facile à se rappeler.
Petit calcul pour les matheux : l'entropie d'une lettre de l'alphabet choisie au hasard est de log2(26) = 4,7. Une PdP Diceware de 5 mots (en moyenne 20 caractères) a une entropie de 64,6 bits. Pour obtenir la même entropie avec des lettres (minuscules) au hasard, il faut 14 lettres. Mais la PdP diceware, bien que 50% plus longue, sera bien plus facile à mémoriser, pour un niveau de sécurité identique, qu'une suite de 14 lettres choisies au hasard.
[^] # Re: Et l'entropie alors ??
Posté par mac_is_mac (site web personnel) . Évalué à 4.
rend le cassage plus facile relève du fantasme.
On ne peut pas dire qu'un nombre est plus aléatoire qu'un autre, on peut
dire qu'une suite (infinie ou grande) de nombres est plus aléatoire qu'une autre,
au sens où la loi observée s'éloigne de la loi produit (indépendance théorique).
Effectivement, rand est "pseudo aléatoire", ce qui veut dire en pratique
que si tu tires avec rand une suite d'un million de 0 et de 1, tu n'auras pas quelque
chose qui aura exactement la loi uniforme sur les suites d'un million de 0 et de 1.
Ce phénomène est génant quand on fait de la simulation de Monte-Carlo, et
là on a besoin de très bons générateurs pour avoir un résultat juste.
Ici on ne tire que 5 nombres. C'est vraiment trop peu pour qu'un biais par rapport
à la loi théorique puisse se faire sentir. Si c'était le cas, ça voudrait dire que
le générateur aléatoire est vraiment merdique et qu'on ne pourrait en faire aucun
usage en simulation, ce qui n'est heureusement pas le cas.(physique théorique, gestion de files d'attente,...)
[^] # Re: Et l'entropie alors ??
Posté par Matthieu Weber . Évalué à 2.
[^] # Re: Et l'entropie alors ??
Posté par mac_is_mac (site web personnel) . Évalué à 3.
La feinte, c'est qu'en réalité tu ne connais pas l'amorce.
Disons que ton générateur te donne des nombres entre 0 et N.
(typiquement N=2^gros-1)
Tu as u_0, puis u_{n+1}=f(u_n)
On est d'accord, si tu as u_0 et f tu as tout.
Seulement en fait l'info que tu as ce n'est pas la suite u, mais une suite v
définie par v_n=g(u_n).
(Par exemple ici g(x)=1+partie_entière(x/M*6)).
Donc le jeu c''est justement de choisir f, de telle manière que même si tu connais v_0, v_1, v_2, v_3, v_1000, tu ne peux pas dire grand chose sur v_{1001}.
[^] # Re: Et l'entropie alors ??
Posté par Matthieu Weber . Évalué à 2.
[^] # Re: Et l'entropie alors ??
Posté par mac_is_mac (site web personnel) . Évalué à 2.
Ici, l'idée c'est d'aider les gens à choisir une phrase de passe parmi une
liste de (6^5)^5 phrases possibles, parce que si tu les laisse faire, un
sur cinq prendra "god bless the united states".
Il se trouve qu'après ces phrases sont codées avec un algo de la mort, mais ici
ce n'est pas très important, puisqu'on fait l'hypothèse qu'on ne sait pas casser l'algo (sinon tous les dés du monde ne peuvent rien pour toi).
Donc, la question est "est ce qu'un vrai dé est plus efficace qu'un dé électronique" ? D'abord il y a la question du germe: si tu acceptes l'hypothèse que nous sommes dans un monde déterministe, il n'y a pas de hasard
dans la partie fractionaire arrondie à la 15e décimale du nombre de millisecondes depuis que tu as allumé ton ordinateur ni dans la partie fractionaire arrondie à la 15e décimale du nombre de millisecondes où tu as tenue une fille dans tes bras , ni dans la face sur laquelle va tomber ton dé.
Bon, en prenant ce nombre de millisecondes comme germe, on a réussi à prendre un nombre
au hasard (qui n'est pas au hasard, car le hasard n'existe pas, mais bon va faire comme si car on ne peut pas faire autrement). Note qu'il n'y a que 2^M nombres possibles, mais comme 2^M>> (6^5)^5=2^64, ce n'est pas grave.
Maintenant tu veux un deuxième nombre au hasard. Ah ben merde on avait déjà eu du mal à en avoir un. Comme tu ne veux pas rebouter ton ordinateur ni demander à ta copine de te faire un calin, tu ne pourras pas avoir de deuxième
nombre au hasard. Comment faire ?
En fait, tout ce qu'on peut faire, c'est distiller au compte-goutte tout le hasard
qui est dans le germe. C'est le boulot du générateur de nombre aléatoires,
qui te file une suite de nombres, avec lesquels tu fabriques
une phrase de passe parmi les (6^5)^5 possibles.
Donc ton générateur de nombres aléatoires, il va te donner une fonction
qui a un germe x associe une phrase F(x).
Si ton générateur est bon (et là il y a des protocoles de validation pour ça),
les (6^5)^5 valeurs possibles vont être prises à peu près aussi souvent
les unes que les autres lorsque x décrit l'ensemble des nombres de 0 à 2^M,
ce qui fait que tu n'as pas d'intérêt à tenter l'un plutôt que l'autre.
Je crois (enfin j'espère) comprendre ce que tu as en tête quand tu parle
d'entropie, mais il me semble que ça ne s'applique pas ici car ça reviendrait à dire à tes ennemis quels sont les nombres qui ont été donnés au hasard par ton générateur avant (ou après) que tu aies tiré ton mot de passe, mais ça évidemment tu ne le feras pas.
[^] # Re: Et l'entropie alors ??
Posté par Matthieu Weber . Évalué à 2.
Si de plus on utilise la fonction time() pour générer le germe, on peut essayer de deviner quand la phrase de passe a été utilisée, et réduire encore la fourchette de valeurs à essayer pour craquer la phrase de passe (une année contient environ 32 millions de secondes, donc si on sait quelle année la phrase de passe a été générée, on a une entropie de 25 bits, c'est à dire la même entropie qu'une phrase de passe Diceware de 2 mots).
Tout ça pour dire qu'il faut choisir le germe au hasard, avec une entropie supérieure ou égale à celle de la phrase de passe qu'on veut générer. Et comment est-ce qu'on va choisir le germe ? Avec des dés ? :)
# Encore des francisation idiotes
Posté par Jylam / jylam.lnxsce (site web personnel) . Évalué à 2.
Ca deviens de plus en plus pathetique, vraiment.
[^] # Re: Encore des francisation idiotes
Posté par Matthieu Weber . Évalué à 2.
[^] # Re: Encore des francisation idiotes
Posté par Jylam / jylam.lnxsce (site web personnel) . Évalué à 1.
"phrase de passe", tu n'aurais pas pu faire plus mot-a-mot.
Ou on laisse le mot en anglais, ou on a une traduction correcte. Moi je n'en ai pas, alors je ne donne pas d'idée, mis a part "passphrase" qui me conviens parfaitement.
(a quand le retour du "deverminage" et autres "cédéroms" ?)
[^] # Re: Encore des francisation idiotes
Posté par Matthieu Weber . Évalué à 4.
Bref, faut pas voir le mal partout.
[^] # Re: Encore des francisation idiotes
Posté par Jylam / jylam.lnxsce (site web personnel) . Évalué à 3.
Oui effectivement, mot de passe et password sont dans un sens comme dans l'autre des traductions mot a mot.
Ce que je veux souligner, c'est que tu met une traduction "exacte", que tu te sens obligé (et tu as bien fait) de commenter par le mot anglais original.
Pour moi une traduction ne vaut rien si l'ont est obligé de la mettre en rapport avec le mot original.
Tout bêtement, je voulais juste dire que "passphrase" est un mot suffisament utilisé et connu, et qui, dans le contexte de cet article technique n'avais absolument pas besoin d'etre affublé d'une traduction francaise inutile.
Il n'y a pas de mal, ni de mon coté, ni du tiens, mais je continue de penser que la traduction a outrance est d'une inutilité flagrante, comme le montre ta phrase.
no offense, pour enfoncer le clou :)
[^] # Re: Encore des francisation idiotes
Posté par Matthieu Weber . Évalué à 1.
[^] # Re: Encore des francisation idiotes
Posté par tiot (site web personnel) . Évalué à 3.
password = mot de passe
passphrase = phrase de passe
Cela n'est pas super choquant.
Tout bêtement, je voulais juste dire que "passphrase" est un mot suffisament utilisé et connu
Moi je ne connaissais pas ce mot. Je suis peut être un inculte fini.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.