C’est une des infos chaudes du moment (pour les initiés, madame Michu s’en tamponne joyeusement le coquillard) : plusieurs années après la promulgation de la loi pour la confiance en l’économie numérique, son décret d’application vient de paraitre et il est relativement scandaleux sur un point (au moins). En effet il est prévu que les plateformes techniques protégées par le fameux article 4 (hébergeurs et FAI inclus donc) aient à sauver un certain nombre de données personnelles parmi lesquelles le mot de passe (ou son hash) et un historique du changement de celui-ci.
Pour les autres cela me scandalise, pour moi-même je m’en tamponne autant que madame Michu. Pas parce que cela ne me gêne pas que l’on conserve les hash de mes mots de passe, mais parce que ça fait bien longtemps que j’ai adopté un mode de fonctionnement qui rend cette mesure inintéressante au possible pour atteindre son but.
L’idée est en effet de pouvoir retracer quelqu’un qui masque son IP et utilise de fausses infos dans son profil (pseudo, adresse mail, …) en comparant son mot de passe à celui collecté sur d’autres sites.
Dans la pratique c’est déjà très drôle : j’imagine bien la quantité de données à crawler en espérant que la personne utilise un mot de passe suffisamment évolué pour qu’il soit le seul dans ce cas… Mais là où cela devient encore plus critique c’est que si la personne a pris soin de masquer son IP et de fournir de fausses informations je doute qu’elle utilise le même mot de passe que sur son compte Facebook (auquel les autorités n’auraient de toutes façons pas accès, Facebook étant à l’étranger toussa toussa, il faut passer par le FAI !).
Comment alors fonctionnent ces gens dont je fais parti pour avoir un mot de passe unique par site et / ou service ?
Il suffit d’avoir un jeu de mots de passe initiaux, le plus vous en avez, le mieux vous vous portez ! Est-il besoin de préciser que le nom de votre petit dernier, votre date de naissance, … ne sont pas de bons mots de passes ? L’idéal est d’utiliser un outil sur votre machine pour générer le mot de passe, typiquement l’outil présent dans PHPMyAdmin est assez intéressant si vous y ajoutez des caractères spéciaux.
Ces mots de passes sont ensuite déclinés en fonction d’un élément du site ou service sur lequel vous vous enregistrez selon un ou plusieurs schéma.
L’exemple souvent pris est de prendre la première et dernière lettre du nom du site, de les ajouter au mot de passe initial et bingo, vous avez un mot de passe différent par site, en général suffisamment couillu pour résister à du bruteforce…
Petite précaution intéressante à prendre aussi : dès votre inscription à un site, utilisez le formulaire de récupération du mot de passe. Si celui-ci vous retourne votre mot de passe au lieu de vous faire suivre une procédure pour le changer, demandez la suppression de toutes vos données personnelles et fuyez ! Les mots de passes ne doivent pas pouvoir être récupérés depuis l’information stockée en base de données ! J’ai aussi vu des sites interdisant les caractères spéciaux dans le mot de passe, c’est une hérésie et si vous avez vraiment besoin d’utiliser ce service suivez le conseil suivant.
Dernière petite chose : si vous utilisez des services juste pour les essayer, des choses dans lesquelles vous n’avez pas confiance, utilisez un mot de passe différent de ceux que vous utilisez pour vos mails par exemple…
Sur le motif de ce stockage par contre je suis dubitatif : si un hash de mot de passe peut constituer une piste (son sérieux sera évalué par des juges hein !) sa sacralisation au niveau de preuve m’inquiète autant que ce qui est arrivé à l’adresse IP dans le cadre de la Hadopi…
Enfin, en tant que développeur, je n’utilise jamais un hash MD5 (obsolète) ou sha1 pur pour stocker les empruntes des mots de passe. Il suffit de « saler » le mot de passe (y ajouter une chaine connue) et le hash devient unique. Cela, aussi, rend cette mesure débile – mais nous n’en sommes pas à la première mesure prise sans consulter un seul spécialiste !