On ne va pas se mentir : que ce soit au fin fond d'un disque dur ou dans un cahier ou, pire, sur une feuille volante, voire (exemple familial vécu) sur de petits bouts de papier déchirés, ça n'est jamais une bonne idée, jamais. Le problème est identifié depuis très longtemps et les solutions efficaces existent. Le problème c'est qu'elles ont tendance à faire peur.
Commençons par les solutions purement locales :
Exemple : Keepass, KeepassX, etc.
On lance le logiciel et il demande qu'on crée un mot de passe qui sera le mot de passe principal, encore appelé "maître" (j'aime qu'on me parle comme ça). Les mots de passe sont stockés dans une base de données sur le disque dur, chiffrée quelque part dans le /home, inviolable sans le mot de passe maître.
Ça marche... jusqu'au jour où on a besoin d'un de nos mots de passe sans avoir l'ordinateur sous la main, genre je suis chez un pote et je voulais lui montrer comment je suis trop fort à ce jeu... dont je n'ai pas le mot de passe sous le main.
Solution : je dépose ma base de données sur un dossier dans le cloud chez mon hébergeur préféré (pas chez Reef) et je fais pointer mon logiciel bien fichu sur ce nouvel emplacement pour qu'il retourne ses petits.
Ça marche... jusqu'à ce qu'on soit sur une autre machine et qu'on a besoin du mot de passe de son hébergeur lui-même pour accéder à la base de mots de passe. Arghl...
Solution : un gestionnaire de mots de passe sur le web. Trop bien ! Accessible de partout avec un navigateur (pas trop vieux) depuis un terminal sain (pas vérolé pour un keylogger).
Ça marche mais... "Ouais non mais t'y fou dans ta tête ? je ne veux pas confier mes mots de passe à un tiers ! Autant les écrire sur une banderole à mon balcon !". Bien vu.
Solution : Chiffrement de bout en bout et zero-knowledge. Ça veut dire quoi ?
Ça veut dire que ce que tu saisis dans l'application transite vers l'éditeur de façon chiffrée dès le terminal et que l'éditeur lui-même n'a aucune idée de ton mot de passe maître, ni du reste d'ailleurs. Le mot de passe maître est le seul que tu as besoin de connaître pour accéder à tous les autres.
Apple n'a pas inventé ça mais l'a démocratisé et a pu dire fuck au gouvernement US qui exigeait de pouvoir accéder à des données personnelles. Réponse d'Apple "on aurait bien voulu mais nous-mêmes on n'a pas le mot de passe".
(Les forces de police US ont payé les services d'une boîte israélienne pour violenter l'iPhone imperçable, mais ça leur a pris des semaines et un paquet d'oseille, car tout est déchiffrable en vérité, c'est une question de puissance de calcul (et donc de temps) et de savoir-faire essentiellement.)
Donc avec du zero-knowledge (= aucune connaissance) même l'éditeur n'a aucun moyen de lire tes données, ni de te dépanner si tu oublies l'unique clé que tu as besoin de connaître. Mais comme elle sert tous les jours pour accéder à tes mots de passe que tu ne connais même, aucune chance d'oublier cette clé. Et oui, car en plus tu n'as même pas à connaître tes mots de passe. Magie ? Que nenni mon bon monsieur, écoutez plutôt ça :
Tu vas sur un super site, tu t'inscris. Il te demande un mot de passe. Tu ouvres ton logiciel préféré gestionnaire de mots de passe avec ton mot de passe maître et tu lui demandes de créer une nouvelle entrée dans sa base de données. Tu lui donnes le nom de ton super site où tu t'inscris, ton identifiant, et tu lui demandes de te créer un mot de passe tout neuf. Tu peux même choisir comment tu veux qu'il soit foutu ce nouveau mot de passe : 21 caractères maximum dont 5 minuscules, 3 majuscules, 4 chiffres et 3 caractères spéciaux au minimum ? Ça roule !
Le mot de passe apparaît comme une suite de ****** (vous avez l'habitude). Petit clic sur le bouton [copier], collage dans mon super site et je valide mon compte tout neuf. Yes ! Tu n'as jamais eu à connaître ni même lire ce mot de passe vu que tu ne fais que des copier-coller de ce qui apparaît visuellement comme des étoiles.
Elle est pas belle la vie ?
Exemple de logiciels : Bitwarden, Dashlane,... C'est dispo sur Linux (au moins le premier) et sur Android, et même sur Windows pour les rares qui traînent encore par là, à moitié assommés de pubs et exsangues à force de vols de données.
Et si internet n'est pas dispo ? Le cache local chiffré valide ton mot de passe maître et te sert tes clés gentiment sans problème. Si tu es stupide, tu peux même exporter tes mots de passe en clair, si si.
La prochaine fois on parle de 2FA
