Je me suis inspiré de ce webcomic xkcd:
Le sujet est également abordé ici: https://www.ted.com/talks/lorrie_faith_cranor_what_s_wrong_with_your_pa_w0rd
Maintenant je me demande:
Comment créer un mot de passe sur quatre mots de dictionnaire aléatoires sans en utilisant le l'Internet?
Utilisez une méthode fournissant suffisamment d'entropie alias aléatoire, souvent mesurée en bits.
Acceptez le premier choix offert à partir du processus aléatoire. Sinon, l'entropie diminue (souvent plus que vous ne le pensez) et votre niveau de sécurité sera plus bas.
Considérant l'aspect humain, il est important que vous puissiez
acceptez
rappelles toi
épeler
les mots du mot de passe/phrase secrète.
Afin de préserver le caractère aléatoire, l’entropie, il est très important d’accepter le premier choix proposé et la liste de mots peut faire la différence.
L'utilisation d'une grande liste de mots donne plus d'entropie par mot, mais vous ou les utilisateurs du groupe, dont vous gérez la sécurité informatique, refusez d'utiliser le premier mot de passe/phrase secrète proposé. Votre nom, ville ou autres données personnelles peuvent être sélectionnés dans la liste de mots dans un cas extrêmement rare, mais le plus souvent vous pourriez être offensé par un mot politique, ethnique, religieux, sexuel ou généralement grossier. Bien sûr, si vous aimez de tels mots, vous pouvez les ajouter à votre propre liste Word ;-) mais ne les forcez pas sur d'autres personnes.
Cela facilitera l’acceptation, la mémorisation et l’orthographe du mot de passe/phrase secrète si vous utilisez une liste des mots les plus courants, où les mots sont sélectionnés pour cet usage particulier .
Vous pouvez créer une telle liste vous-même (et dans votre propre langue, et supprimer des mots avec des caractères spéciaux, car ils pourraient causer des problèmes avec certains logiciels).
Le shellscript suivant pruner
pourrait vous aider. Vous n'obtenez que des mots en minuscules, ce qui facilite la frappe (les caractères spéciaux sont supprimés) et uniquement des mots dans l'intervalle [4,10] lettres (ni trop court, ni trop long). Mais il n'y a pas de tri de ces fichiers en fonction de leur facilité d'acceptation. Vous avez besoin d'autres informations pour supprimer les mots peu communs, difficiles et potentiellement offensants, ou vous pouvez le faire manuellement.
_#!/bin/bash
LANG=C
for wordlist in \
$(find /usr/share/dict/ /usr/lib/python3/dist-packages/xkcdpass/static -type f -size +10k) \
$(ls -1 Word-list.txt 2> /dev/null)
do
# prunedlist="${wordlist##*/}"
prunedlist="${wordlist//\//_}"
prunedlist="${prunedlist/.txt}-pruned.txt"
echo "source: $wordlist"
echo -n "Total number of words in list: "
< "$wordlist" wc -l
echo "target: $prunedlist"
echo -n "Used lower case words ( 4 < length < 10 ): "
< "$wordlist" tr -d '\015'| \
grep '^[a-z]\{4,10\}$' | \
tee "$prunedlist" | \
wc -l
echo "-------"
done
_
Le shellscript trouvera les listes de mots par défaut ainsi que les listes de mots pour xkcdpass
et cracklib
, si elles sont installées.
Maintenant, vous pouvez exécuter votre ligne de commande shuf
pour tester les listes de mots élagués,
_$ for i in *pruned*; do echo "$i:";shuf -n4 "$i"| awk NF=NF RS= OFS=' ';echo "-----";done
_
mais je préférerais xkcdpass
.
Vous pouvez télécharger une telle liste (vérifiez qu’elle se compose de mots uniques et qu’elle est suffisamment longue, au moins 2048 mots = 2 ^ 11 mots, ce qui correspond à 11 bits d’entropie).
Le téléchargement, la vérification et l'utilisation d'un tel fichier sur Internet devraient être sûrs. Comme d'habitude, vous ne devez utiliser que des sites Web fiables.
L'important pour la sécurité n'est pas les mots eux-mêmes, mais que vous laissiez laisser un processus aléatoire (par exemple un dé) ou un bon processus informatique pseudo-aléatoire sélectionnez les mots . Ne modifiez pas le processus aléatoire en sélectionnant ou en modifiant manuellement le mot de passe.
À ceci page wiki d'aide d'Ubuntu: La méthode XKCD - xkcdpass vous pouvez trouver un
Liste de mots personnalisée - 'Word-list.txt'
Décidez ce qui fonctionne le mieux pour le niveau de sécurité dont vous avez besoin dans votre cas particulier,
Cela peut varier selon les personnes (et les groupes de personnes, si vous envisagez de définir une stratégie ou un outil personnalisé pour une organisation).
Vous pouvez laisser xkcdpass
calculer des bits de façon aléatoire alias entropie en ajoutant l'option de verbosité -V
. Ces exemples utilisent la liste de mots par défaut et la liste de mots personnalisée de la page d’aide Ubuntu _Word-list.txt
_,
_xkcdpass -V -n 3
xkcdpass -V -n 4 --min 4 --max 10 -d . -w Word-list.txt
_
Utilisation du fichier Word par défaut: nombre inférieur de mots étranges et compliqués
_# Normal security level at home, entropy = 45 bits;
$ xkcdpass -n 3
demeanour basely extrude
# Next security level, entropy = 60 bits:
$ xkcdpass -n 4
metal cottager advocacy soursop
# High security level, entropy = 76 bits:
$ xkcdpass -n 5
hostile impounder Caledonia ramie Goddard
# Very high security level, entropy = 91 bits:
$ xkcdpass
ambrosia Cossack vivify Barbudan royal Campinas
_
Veuillez noter qu'il s'agit du paramètre par défaut. Mais le niveau de sécurité n'est très élevé que si l'utilisateur
Utilisation d'un fichier Word personnalisé: plus grand nombre de mots communs et faciles
_# Normal security level at home, entropy = 47 bits:
$ xkcdpass -n 4 --min 4 --max 10 -d . -w Word-list.txt
sharp.hockey.steal.backyard
# Next security level, entropy = 59 bits:
$ xkcdpass -n 5 --min 4 --max 10 -d . -w Word-list.txt
initially.assistant.barely.framework.regional
# Next security level, entropy = 71 bits:
$ xkcdpass -n 6 --min 4 --max 10 -d . -w Word-list.txt
snake.food.dress.perception.club.waste
# High security level, entropy = 83 bits:
$ xkcdpass -n 7 --min 4 --max 10 -d . -w Word-list.txt
stand.mentor.know.cream.automatic.treatment.effect
_
Les dictionnaires installés localement sont stockés dans /usr/share/dict/
, par exemple:
$ ls -1 /usr/share/dict/
american-english
british-english
cracklib-small
README.select-wordlist
words
words.pre-dictionaries-common
Ici, les deux premiers sont intéressants, ces dictionnaires sont de simples listes de mots avec un mot par ligne. Nous pouvons utiliser shuf
pour générer 4
lignes aléatoires à partir de l'une d'elles (et awk
pour remplacer les nouvelles lignes par des espaces):
shuf -n4 /usr/share/dict/american-english | awk NF=NF RS= OFS=' '
Voici quelques exemples de résultats:
contributions autumn's catalepsy's hemline's
footlights Levi's awfuller rascals
fogies flavoring preregistering requital's
Coleman's cartel halfpennies Williamson
étude's maintainers reviler's dapperest
pizazz Galahads McDowell derby
corroborate bureaucracies anchovy meager
filet Tawney feudalistic backstabbing
Beatriz sitcom surpasses guttural's
warehouse's unfamiliarity's Ashlee's sanguinary
Il y a probablement beaucoup d'implémentations de générateur de mot de passe XKCD:
xkcdpass
, disponible dans le package xkcdpass
, Python (ne semble pas utiliser de code CSPRNG)
_$ xkcdpass
baroque viand blindfold hooch notion ravening
$ xkcdpass -n4
useless elated liveable overfly
_
xkcd-password
, module NodeJSdiceware
, qui suit un processus similaire, mais utilise des sites WebChoisissez votre poison.
Regarde aussi:
S'il vous plaît ne faites pas ça.
Je sais que c'est pénible, mais utilisez plutôt un gestionnaire de mots de passe. Faites-le générer des mots de passe uniques et aléatoires pour chaque site. Si vous êtes paranoïaque comme moi, vous pouvez changer quelques caractères dans le mot de passe suggéré au cas où l'algorithme (pseudo) aléatoire du générateur serait compromis. J'aime KeePassX avec la base de données sauvegardée dans DropBox, mais LastPass est plus facile à utiliser pour certaines personnes. Il existe également de nombreux gestionnaires de mots de passe payants.
Le cerveau humain est doué pour imposer l'ordre, même lorsqu'il n'y en a pas. Vous pouvez vous souvenir de personnages aléatoires en les fixant jusqu'à ce que vous perceviez un ordre dans le chaos. Il n'y a pas d'ordre. C'est ce que votre cerveau fait. Par exemple:
bJbRpZ2S9
Signifie quelque chose pour vous. Si vous le tapez assez souvent, vous obtiendrez quelque chose comme ceci pour vous en souvenir:
black Jack beyond Re post Zaps 2 Surly 9's
Vous pouvez éventuellement vous souvenir de 2 ou 3 mots de passe principaux de cette façon. Un pour votre système d'exploitation et un pour votre gestionnaire de mots de passe. C'est tout ce dont vous avez besoin.
P.S. Lorsque vous utilisez un gestionnaire de mots de passe, imprimez régulièrement vos mots de passe et mettez-les dans une enveloppe inviolable, dans un coffre-fort, pour ne pas les perdre. Idéalement où vos proches peuvent les obtenir si quelque chose vous arrive, comme un coffre-fort.