“Ne plus jamais oublier ses mots de passe, et rester compatible avec les notions de sécurité” pour être plus exact … mais le titre est bien trop long 😀
Avec l’augmentation du nombre de services internet (e-commerce, administration, mail, blog etc …), nous devons retenir de plus en plus de mot de passe.
Alors que, de l’autre coté, les technologies utilisées pour casser les mots de passe ne cessent de progresser (à l’heure ou j’écris cet article (09/2013), un mot de passe de 6 caractères est cassé en moins de 1 minute). Conséquence, les mots de passe doivent être de plus en plus longs ! Ce qui devient véritablement problématique pour l’utilisateur, déjà dépassé par les technologies …
Pour palier le problème, voyons les solutions et alternatives qui s’offrent à nous, procédons !
[alert type=”green”]Cet article a été mis à jour le 08/11/2017.[/alert]
[show_hide title=”
Contexte et précisions
“]
La force d’un mot de passe (au sens informatique) est donnée en bit avec la formule suivante : α^N, ou α est l’alphabet et N du nombre de caractères (utilisés dans le mot de passe). On peut deviner un mot de passe en vérifiant toutes les combinaisons possibles.
nota : imaginez vous devant un cadenas avec 10 chiffres (alphabet) et 4 roues (longueur). Combien de temps faudra t il pour trouver la bonne combinaison … ?
C’est ce que l’on appelle une attaque de mot de passe par force brute. Si on part du principe que vérifier une combinaison prend du temps pour un ordinateur donné, la découverte d’une combinaison n’est qu’un problème de temps … Encore faut il que ce temps soit réaliste pour l’attaquant !
nota : on considère une clé 128 bits (AES 128 par ex.) comme {impossible à forcer|inviolable} à ce jour (14/09/2013), ce qui ne devrait pas trop changer (sauf découverte de faille ou autres technologies), d’après les moyens de calculs potentiels ou à disposition …
Vous noterez l’aspect relatif de la protection, puisque les attaques par force brute dépendent essentiellement des technologies utilisées (essentiellement ressources processeur(s)) et qu’elles évoluent très vite. Ce qui est vérité aujourd’hui deviendra caduc demain (notamment avec l’arrivée des ordinateurs quantique dont la puissance va remettre en question la longueur des clés).
Revenons donc à notre sujet … Si on utilise les 26 caractères de l’alphabet latin en minuscule (de a à z, noté [a-z]), α = 26.
Un alphabet constitué de lettre minuscule et majuscule contiendra alors 52 caractères [A-Z] + [a-z], α = 52. Et si on ajoute les chiffres [0,9], α = 62. Avec les symboles utilisables l’aide d’un clavier d’ordinateur, nous arrivons à 90 ou 94 symboles (en ASCII) (à vérifier je sais jamais …).
nota : je vous laisse faire un tour sur l’article de wikipedia concernant l’attaque par force brute pour plus de détails.
Bref, plus un mot de passe est long, plus il demandera des ressources à l’attaquant. Les recommandations sont de 12 caractères à ce jour (11 caractères en 90 symboles est cassable en 4000 ans).
Si vous devez retenir une chose, pour améliorer la force d’un mot de passe, augmentez la longueur du mot de passe i.e N en priorité (α aura un impact mais il sera moindre).
[/show_hide]
Utiliser sa mémoire : les moyens mnémotechniques
[alert type=”red”]Ceci est un exemple pour illustrer les propos, en aucun cas le reproduire …[/alert]
La méthode (enfin plutôt une méthode)
Voici une méthode de construction d’un mot de passe pour atteindre la longueur souhaitée ET dans l’objectif qu’un humain puisse le retenir.
1 – on utilise une (ou plusieurs) racine invariable, par exemple un nom, prénom, date de naissance (c’est ce qui fait la longueur) …
2 – et puis on ajoute un (ou plusieurs) séparateur(s) en fonction du service et de sa {destination|nature} (local, distant, mail)
3 – et ensuite un suffixe ou préfixe variable en fonction du site, service ou besoin.
Qu’est ce que ça donne ?
Mon prénom : Sébastien
Je décide de retenir que les consonnes de mon prénom ce qui fait : Sbstn
On inverse la casse : sBSTN – puis on remplace les lettres par des chiffres : par exemple le i par un 1, le E par un 3, le S par 5, le B par un 8, le R par un 2 etc …
Résultat : s85TN, bon déjà difficile de voir que cela réfère à Sébastien (pour quelqu’un qui à l’habitude c’est simple).
Un séparateur est ajouté (voire plusieurs) en travaillant la symbolique :
par exemple @ pour mon adresse mail, > pour quelque chose d’important, < pour du pas important, $ qqchose de local ou de la VPC etc …
et une variable de 4 lettres est ajoutée pour coder le service utilisé : s85TN@mail / s85TN@cour / s85TN@gmai / s85TN@outl
À chacun sa façon de faire, de coder ses propres mots de passe, l’important est d’utiliser la même logique, et qu’elle ne soit pas lisible si le mot de passe est intercepté (un défaut ici – et volontaire – et de ne pas coder les 4 derniers caractères).
Exemple : eL!Z3@gmail … il tiendra 4000 ans.
nota : vrai à cet instant avec les moyens à disposition, mais ne soyez pas crédule dans 5 ans il faudra peut être 3 jours, voire 1 minutes …
Idem il faut prévoir que certains sites n’acceptent pas les caractères spéciaux.
Prévoir également que les caractères utilisés dans le mot de passe existent sur tous {les claviers|système d’exploitation} …
nota : essayez de trouver ce caractère “|” sur MAC, et ensuite sur PC 😀 …
Un autre exemple ?
Notre amie Élise pourra donc retenir facilement ses mots de passe de la manière suivante :
- la base de mot de passe (longueur) : eL!Z3
- destination : @ ou $ ou que sais je …
- le service ou site : google, facebook, fnac etc …
ce qui fait au final :
- google : eL!Z3@gmail (11 char),
- facebook : eL!Z3<facebook (14 char)
etc …
Élise n’aura à retenir que le principe du mot de passe, et non le mot de passe lui même.
Le problème dans notre exemple, vous l’avez remarqué, c’est que le mot de passe est {lisible|compréhensible} donc si il y a un vol (de mot de passe), l’attaquant peut tenter d’accéder à d’autres services. Vous réfléchirez à d’autres manières de protéger cela …
L’autre problème est la longueur qui va devenir (avec le temps) contraignante (pensez à 20 voire 30 char.), sans parler de la complexité pour certains non compatible avec le plus grand nombre.
Voilà ce quoi introduire le prochain chapitre, les logiciel gestionnaire de mots de passe.
Utiliser un outil de gestion de mots de passe
Pour accéder aux identifiant d’un service ou d’un site, la liste manuscrite (ou tableur) de mot de passe est encore (malheureusement) utilisée. Même si c’est pratique dans l’immédiat, cela à des limites (mise à jour, doublons, intégrité) et n’est pas compatible avec les notions de sécurité (vol, copie) …
Trousseau de clés
Dans MAC OS, il existe un trousseau de clé. À partir du mot de passe du compte utilisateur (la clé), on peut atteindre toutes les autres clés (mot de passe de services ou sites internet, certificat).
Ça, c’est l’ancienne manière de gérer ses mots de passe (avant l’arrivée d’internet des smarpthone). Maintenant que nous disposons de plusieurs équipements et utilisateurs ou comptes, un mécanisme de synchronisation doit permettre la transmission du trousseau entre machines …
L’outil de gestion intégré à macOS : le cloud d’Apple ou autres …
Le trousseau de clés d’Apple est {synchronisé|synchronisable} entre les équipements grâce à iCloud. C’est une évolution du trousseau MAC OS X. Mais Apple devient un tiers détenteur d’informations confidentielles …
Le navigateur Firefox (Mozilla)
Étant donné que 90% des mots de passe que l’on est amené à {conserver|retenir} sont utilisés sur le net, le navigateur est un bon moyen pour les conserver.
Attention toutefois à utiliser une clé pour les protéger. Ces solutions sont très pratiques et répondent au besoin. Cependant dès que l’on se retrouve loin de sa machine, ces mécanismes ne peuvent plus être utilisés.
Mozilla Sync
Mozilla Sync donne une réponse à cette problématique. Mais cette solution entraine d’autres conséquences (tiers détenteur ou intermédiaire) en matière de sécurité … dont nous allons parler plus tard.
Les gestionnaires de mots de passe tiers : 1password et autres
Un logiciel qui a du succès en ce moment c’est 1password qui s’intègre dans les applications MAC OS X.
Il existe également DashLane (propriétaire, version gratuite et payante, compatible MAC | PC).
Concrètement ces outils permettent de gérer des plusieurs utilisateurs à distance et de partager des éléments (ce qui est très pratique, les mises à jour sont communiquées par ex.).
Ou encore KeePass (open-source, gratuit donation, compatible PC | MAC | Unix | iOS | Android via port).
Le problème encore une fois est que ce sont des tiers qui conservent vos données dans le cloud …
Les voix d’amélioration …
La solution Apple
Touch ID
le hic c’est que les algorithmes et machines spécialisés dans le cassage de mots de passe sont de plus en plus rapides et puissantes.
Résultat un mot de passe de 6 caractères ([a-z][A-Z][0-9][é-$] est cassé en moins d’une minute !
Un mot de passe de 8 caractères variés est cassés en 3 jours de calcul …
Il faudrait passer à 10 caractères variés, voire 12 pour prendre un peu d’avance sur les avancées technologiques … c’est trop pour utiliser des moyens mnémotechniques (même si avec le temps, et donc de l’entrainement, je suis capable de tous les retenir).
Les recommandations sont de 16 caractères pour certaines applications … mais comment encoder cela ?
Sebastien : s3B4$T!3N>gM4!L_1968 (on arrive à 20 ici).
Avec des moyens mnemotechniques, on arrive à presque tout !
Le soucis c’est plutôt le temps à rentrer le mot de passe qui est frustrant et consommateur de temps !
C’est la que TouchID (avec toutes ses imperfections) ou tout autre moyen d’authentification interviennent. Le mot de passe peu être fort mais l’utiliser est simple, voire transparent.
La cryptographie et clé USB
A suivre.
The geeks were right
Pour aller plus loin … et coder vos mots de passe en l33t !
http://fr.wikipedia.org/wiki/Attaque_par_force_brute
https://howsecureismypassword.net/
http://www.securite-informatique.gouv.fr/gp_article728.html
https://www.ssi.gouv.fr/administration/precautions-elementaires/calculer-la-force-dun-mot-de-passe/