C’est le talon d’Achille de la sécurité des mots de passe : trop de gens facilitent la vie des cybercriminels en réutilisant les mêmes à maintes reprises.
La solution habituelle consiste à implorer les utilisateurs pour qu’ils choisissent des mots de passe uniques, de préférence en utilisant un gestionnaire de mots de passe. Cependant, seule une petite minorité y prête vraiment attention.
Mais que se passerait-il s’il existait un moyen pour les sites web de savoir si un mot de passe (ou une variante assez proche) avait déjà été utilisé par un utilisateur ailleurs ?
Selon deux chercheurs de l’Université de Caroline du Nord, une telle recherche serait possible en utilisant un framework spécialement conçu pour les sites web, afin de vérifier la similarité de mots de passe sans compromettre la vie privée, la sécurité et la performance.
Leur suggestion est le protocole “private set-membership-test“, basé sur la magie apparente du chiffrement homomorphique inventé par IBM il y a une dizaine d’années pour traiter les données chiffrées du cloud sans avoir besoin de les déchiffrer au préalable. Cela semble assez simple : l’utilisateur sélectionne un mot de passe sur un site (le demandeur), qui peut être vérifié par rapport à d’autres mots de passe sélectionnés par le même utilisateur sur d’autres sites (les répondeurs).
Si le mot de passe se trouve être identique ou similaire à celui qui a été saisi, l’utilisateur sera invité à faire un autre choix.
Bien sûr, pour être pleinement efficace, cette technique devrait être utilisée par de nombreux sites, engendrant ainsi une potentielle réduction des performances. Un moyen fiable d’identifier les utilisateurs sur de nombreux sites web devrait également être mis à disposition.
De manière astucieuse, les chercheurs ont contourné ce problème de performance en précisant que le protocole ne devrait être utilisé que par un groupe restreint de 20 fournisseurs majeurs (Google, Facebook, Yahoo, et autres) pour éliminer la plupart des problèmes de réutilisation de mots de passe.
Pour l’identification, ils estiment (probablement à juste titre) que la grande majorité des utilisateurs s’appuient sur des adresses email liées à un seul domaine, à partir de ce groupe sélectionné.
Selon eux, en matière de sécurité et de protection de la vie privée (le problème de l’interrogation des sites sans créer de risque de fuite), les principes du chiffrement homomorphique sont censés prendre en charge ces risques potentiels.
Si cela semble être à ce stade une pure hypothèse, la description de la recherche aborde en profondeur les défis immenses de la préservation de la sécurité et explique pourquoi ce type de chiffrement est puissant.
Les auteurs sont au moins réalistes sur la façon dont les utilisateurs pourraient réagir :
Nous ne nous faisons aucune illusion sur le fait que notre proposition, en cas de mise en œuvre, suscitera une certaine insatisfaction (du moins temporaire) de la part des nombreux utilisateurs qui réutilisent actuellement les mots de passe sur plusieurs sites web.
En tant que solution, celle-ci semble être un peu délicate à mettre en œuvre : en effet, réunir un groupe de fournisseurs majeurs pour implémenter un protocole de chiffrement homomorphique peut prendre des années.
Le problème ne serait-il pas mieux résolu, soit avec une meilleure intégration des gestionnaires de mots de passe, soit en abandonnant simplement le mot de passe comme principal moyen d’authentification ?
Si le problème de la réutilisation du mot de passe concerne en réalité un grand nombre d’utilisateurs utilisant le même au niveau d’une faible quantité de sites majeurs, plus tôt cette architecture changera, mieux notre sécurité se portera.
Mais peut-être que les tests menés par les chercheurs est plutôt une brillante manière de détecter non pas les mots de passe non-réutilisés, mais les attaques utilisant massivement les identifiants eux-mêmes !
Divers protocoles ont été suggérés pour mener à bien cette tâche, mais aucun n’a encore dépassé le stade expérimental. L’application peut être différente, mais le problème de la détection de la similitude des données entrées à différents endroits est fondamentalement la même chose sous un autre aspect.
Billet inspiré de Could this be the end of password re-use?, sur Sophos nakedsecurity.