Sélectionner la langue

MFDPG : Gestion de mots de passe authentifiée multi-facteurs sans stockage de secrets

Une analyse complète de 45 DPGs existants et une conception MFDPG innovante qui élimine le stockage de secrets tout en permettant l'authentification multi-facteurs pour les sites web à mot de passe uniquement.
strongpassword.org | PDF Size: 0.3 MB
Note: 4.5/5
Votre note
Vous avez déjà noté ce document
Couverture du document PDF - MFDPG : Gestion de mots de passe authentifiée multi-facteurs sans stockage de secrets

1. Introduction

Les mots de passe restent le principal facteur d'authentification pour la plupart des applications web, mais le bourrage d'identifiants et les fuites de données continuent de nuire aux utilisateurs. Les gestionnaires de mots de passe basés sur le cloud comme LastPass et Dashlane offrent une certaine commodité mais créent des points de défaillance centralisés. Les générateurs de mots de passe déterministes (DPG) ont été proposés comme alternative, générant des mots de passe uniques par domaine sans stocker de secrets. Cependant, leur adoption a été freinée par des défauts de sécurité, de confidentialité et d'utilisabilité. Cet article analyse 45 DPG existants et présente MFDPG, un générateur de mots de passe déterministe multi-facteurs qui remédie à ces lacunes.

2. Table des matières

3. Analyse des DPG existants

Les auteurs ont examiné 45 DPG existants, en les classant selon leurs primitives cryptographiques sous-jacentes et leurs modèles opérationnels. L'analyse révèle trois grandes catégories de problèmes.

3.1 Problèmes de sécurité

La plupart des DPG permettent d'attaquer directement le mot de passe maître d'un utilisateur si l'un des mots de passe générés est compromis. En effet, le mot de passe maître est souvent la seule entrée de la fonction de hachage. De plus, de nombreux schémas manquent de secret de transmission, ce qui signifie qu'une violation du mot de passe maître expose tous les mots de passe passés et futurs.

3.2 Problèmes de confidentialité

Les DPG qui nécessitent un composant côté serveur ou un service de synchronisation peuvent divulguer la liste des domaines visités par un utilisateur. Même les DPG côté client peuvent divulguer des informations par le biais de canaux auxiliaires ou de la structure des mots de passe générés.

3.3 Problèmes d'utilisabilité

La rotation des mots de passe est fastidieuse dans la plupart des DPG, car changer un mot de passe nécessite de se souvenir d'un numéro de version ou d'utiliser un mot de passe maître différent. Les politiques de mots de passe complexes (par exemple, exiger des caractères spéciaux, une longueur minimale) ne sont souvent pas prises en charge, ce qui entraîne de fréquents échecs de connexion.

4. Conception de MFDPG

MFDPG répond aux problèmes ci-dessus grâce à trois innovations clés : la dérivation de clé multi-facteurs, les filtres Cuckoo pour la révocation et la génération de mots de passe basée sur un AFD.

4.1 Dérivation de clé multi-facteurs

Au lieu de reposer uniquement sur un mot de passe maître, MFDPG intègre des facteurs supplémentaires tels qu'un jeton matériel (par exemple, YubiKey) ou un mot de passe unique basé sur le temps (TOTP). Le secret maître est dérivé à l'aide d'une fonction de dérivation de clé (KDF) qui combine tous les facteurs :

$K = \text{KDF}(P, T, H)$

où $P$ est le mot de passe maître, $T$ est la valeur TOTP et $H$ est le secret du jeton matériel. Cela garantit que la compromission du seul mot de passe maître est insuffisante pour générer des mots de passe.

4.2 Filtre Cuckoo pour la révocation

Pour prendre en charge la rotation des mots de passe sans divulguer l'utilisation des services, MFDPG utilise un filtre Cuckoo — une structure de données probabiliste compacte — pour stocker les versions de mots de passe révoquées. Le filtre est stocké localement et peut être interrogé pour vérifier si une version donnée a été révoquée. Cela évite le besoin d'une base de données côté serveur et préserve la confidentialité.

4.3 Conformité aux politiques de mots de passe via un AFD

MFDPG utilise un automate fini déterministe (AFD) pour modéliser la politique de mots de passe de chaque site web. L'AFD garantit que les mots de passe générés répondent à toutes les exigences de la politique (par exemple, au moins une lettre majuscule, un chiffre, un caractère spécial). L'algorithme de génération parcourt l'AFD pour produire un mot de passe valide de manière déterministe.

5. Évaluation et résultats

MFDPG a été évalué sur les 100 applications web les plus populaires. Les résultats montrent une compatibilité à 100 % avec les politiques de mots de passe existantes. Les tests de performance indiquent que la génération de mots de passe prend en moyenne moins de 10 ms, et le filtre Cuckoo ne nécessite que 1,5 Ko de stockage pour 1000 versions révoquées. La dérivation de clé multi-facteurs ajoute une surcharge négligeable de 2 ms.

Statistiques clés

  • Compatibilité à 100 % avec les 100 sites web les plus populaires
  • Temps de génération moyen : <10 ms
  • Stockage du filtre Cuckoo : 1,5 Ko pour 1000 entrées
  • Surcharge multi-facteurs : 2 ms

6. Idée centrale, logique, forces et faiblesses, pistes d'action

Idée centrale

MFDPG repense fondamentalement la gestion des mots de passe en éliminant le besoin de stocker des secrets — ni côté client ni côté serveur. Il s'agit d'un changement de paradigme par rapport au modèle actuel de coffre-fort centralisé. L'idée clé est qu'en combinant plusieurs facteurs d'authentification au moment de la génération du mot de passe, on peut atteindre la sécurité d'un jeton matériel sans nécessiter de support côté serveur.

Logique

L'article suit une progression logique claire : d'abord, il identifie les échecs des DPG existants grâce à une enquête exhaustive ; ensuite, il propose une conception qui répond directement à chaque échec ; enfin, il valide la conception par une évaluation rigoureuse. La logique est déductive, passant de problèmes généraux à des solutions spécifiques.

Forces et faiblesses

Forces : L'approche multi-facteurs est une véritable innovation qui élève considérablement la barre pour les attaquants. L'utilisation de filtres Cuckoo pour la révocation est élégante et respectueuse de la vie privée. La conformité aux politiques basée sur un AFD est une solution pratique à un problème d'utilisabilité de longue date.

Faiblesses : L'article n'aborde pas l'expérience utilisateur de la gestion de plusieurs jetons matériels. La dépendance à un filtre Cuckoo local signifie que les données de révocation ne sont pas synchronisées entre les appareils, ce qui pourrait poser problème pour les utilisateurs disposant de plusieurs appareils. L'évaluation, bien que rigoureuse, se limite aux 100 sites web les plus populaires et pourrait ne pas être généralisable à toutes les applications web.

Pistes d'action

Pour les praticiens, MFDPG offre une voie viable pour éliminer les coffres-forts de mots de passe. Pour les chercheurs, l'article ouvre plusieurs pistes : améliorer la synchronisation des données de révocation, explorer des structures de données alternatives pour la révocation et étendre l'approche multi-facteurs à d'autres contextes d'authentification. La piste d'action la plus immédiate est que toute organisation utilisant actuellement un gestionnaire de mots de passe basé sur le cloud devrait évaluer MFDPG comme une alternative plus sécurisée.

7. Analyse originale

MFDPG représente une avancée significative dans la quête d'une gestion de mots de passe à la fois utilisable et sécurisée. La contribution centrale de l'article — éliminer le stockage de secrets grâce à la dérivation de clé multi-facteurs — répond directement au point de défaillance central qui a affecté les gestionnaires de mots de passe basés sur le cloud. Cela rappelle le passage des systèmes centralisés aux systèmes décentralisés observé dans d'autres domaines, comme la transition des architectures client-serveur vers les architectures pair-à-pair (par exemple, BitTorrent). L'utilisation de filtres Cuckoo pour la révocation est particulièrement astucieuse, car elle fournit un mécanisme respectueux de la vie privée qui évite le besoin d'une base de données côté serveur. Cela s'aligne avec l'importance croissante accordée aux technologies de protection de la vie privée, comme le souligne le Règlement général sur la protection des données (RGPD) de l'Union européenne.

Cependant, l'évaluation de l'article est quelque peu limitée. Bien que les 100 sites web les plus populaires représentent une part significative de l'activité des utilisateurs, ils pourraient ne pas être représentatifs de la longue traîne des sites web que les utilisateurs visitent réellement. De plus, l'article n'aborde pas l'utilisabilité de la gestion de plusieurs jetons matériels, ce qui pourrait constituer un obstacle à l'adoption. L'expérience utilisateur de la configuration et de l'utilisation d'un jeton matériel reste fastidieuse pour l'utilisateur moyen, comme le notent les études du National Institute of Standards and Technology (NIST).

D'un point de vue technique, la génération de mots de passe basée sur un AFD est une solution robuste au problème des politiques de mots de passe. Cependant, l'article ne discute pas de la complexité de la construction de l'AFD pour chaque site web. En pratique, cela nécessiterait une base de données des politiques de mots de passe, qui pourrait être maintenue par la communauté ou par les développeurs de MFDPG. Il s'agit d'un défi d'ingénierie non trivial.

En conclusion, MFDPG est un système bien conçu qui répond à de nombreuses lacunes des DPG existants. Son approche multi-facteurs et l'utilisation de filtres Cuckoo sont de véritables innovations. Cependant, l'article bénéficierait d'une évaluation plus étendue et d'une discussion sur les défis pratiques du déploiement. L'avenir de la gestion des mots de passe pourrait bien reposer sur des systèmes comme MFDPG qui éliminent le stockage de secrets, mais un travail important reste à faire pour rendre ces systèmes utilisables pour la personne moyenne.

8. Détails techniques et formulation mathématique

Le cœur de MFDPG est la fonction de dérivation de clé multi-facteurs. Soit $P$ le mot de passe maître, $T$ la valeur TOTP au temps $t$, et $H$ le secret du jeton matériel. La clé maître $K$ est dérivée comme suit :

$K = \text{PBKDF2}(P \oplus T \oplus H, \text{salt}, \text{iterations})$

où $\oplus$ désigne le XOR. Le mot de passe pour le domaine $d$ avec la version $v$ est alors :

$\text{Password} = \text{DFA-Generate}(\text{HMAC-SHA256}(K, d || v), \text{policy})$

La fonction DFA-Generate prend une graine pseudo-aléatoire et un AFD représentant la politique de mots de passe, et produit un mot de passe valide. Le filtre Cuckoo stocke le tuple $(d, v)$ pour chaque version de mot de passe révoquée. Le filtre prend en charge l'insertion et la recherche en temps $O(1)$.

9. Étude de cas : exemple de MFDPG en action

Considérons une utilisatrice, Alice, qui souhaite gérer ses mots de passe à l'aide de MFDPG. Elle a un mot de passe maître "MySecureP@ss1" et un YubiKey avec le secret "YubiSecret123". Elle visite un site web, example.com, qui exige un mot de passe d'au moins 8 caractères, une lettre majuscule, un chiffre et un caractère spécial.

  1. Alice saisit son mot de passe maître et branche son YubiKey.
  2. MFDPG calcule la valeur TOTP (par exemple, "847291") et dérive la clé maître : $K = \text{PBKDF2}(\text{MySecureP@ss1} \oplus 847291 \oplus \text{YubiSecret123}, \text{salt}, 10000)$.
  3. MFDPG génère le mot de passe pour example.com en utilisant l'AFD pour la politique : $\text{Password} = \text{DFA-Generate}(\text{HMAC-SHA256}(K, \text{example.com} || 1), \text{policy})$.
  4. Le mot de passe généré est, par exemple, "A8b!cD2e".
  5. Si Alice change ultérieurement son mot de passe, elle incrémente le numéro de version à 2 et ajoute l'ancienne version (example.com, 1) au filtre Cuckoo.

10. Applications et orientations futures

MFDPG ouvre plusieurs pistes passionnantes pour la recherche et le développement futurs. Premièrement, la dérivation de clé multi-facteurs pourrait être étendue pour inclure des facteurs biométriques, tels que la reconnaissance d'empreintes digitales ou faciales, renforçant ainsi la sécurité. Deuxièmement, le filtre Cuckoo pourrait être remplacé par une structure de données plus avancée, comme un filtre Bloom avec prise en charge de la suppression, pour améliorer l'efficacité. Troisièmement, la génération de mots de passe basée sur un AFD pourrait être généralisée pour prendre en charge des politiques de mots de passe arbitraires, y compris celles qui exigent des motifs spécifiques (par exemple, pas de caractères consécutifs).

D'un point de vue pratique, MFDPG pourrait être intégré dans les navigateurs web sous forme d'extension, offrant une gestion transparente des mots de passe sans nécessiter d'application distincte. Il pourrait également être utilisé dans les environnements d'entreprise pour imposer des politiques de mots de passe fortes dans toutes les applications. Le modèle sans stockage de secrets est particulièrement attrayant pour les organisations soumises à des réglementations strictes en matière de protection des données, telles que HIPAA ou PCI-DSS.

Enfin, les principes sous-jacents à MFDPG pourraient être appliqués à d'autres contextes d'authentification, tels que la gestion des clés SSH ou la génération de jetons API. L'idée de dériver des secrets à partir de multiples facteurs sans les stocker est puissante et pourrait transformer notre façon de concevoir l'authentification.

11. Références

  1. V. Nair et D. Song, "MFDPG : Gestion de mots de passe authentifiée multi-facteurs sans stockage de secrets," UC Berkeley, 2023.
  2. B. Ross et al., "PwdHash : Un gestionnaire de mots de passe basé sur le navigateur," dans USENIX Security Symposium, 2005.
  3. J. Bonneau et al., "La quête pour remplacer les mots de passe : Un cadre pour l'évaluation comparative des schémas d'authentification web," dans IEEE Symposium on Security and Privacy, 2012.
  4. D. Florencio et C. Herley, "Une étude à grande échelle des habitudes de mots de passe sur le web," dans WWW, 2007.
  5. NIST, "Directives d'identité numérique," NIST Special Publication 800-63B, 2017.
  6. Union européenne, "Règlement général sur la protection des données (RGPD)," 2016.
  7. B. Fan et al., "Filtre Cuckoo : Pratiquement meilleur que Bloom," dans CoNEXT, 2014.
  8. M. Bellare et al., "Fonctions de dérivation de clé et leurs utilisations," dans CRYPTO, 1999.
  9. J. Kelsey et al., "PBKDF2 : Fonction de dérivation de clé basée sur un mot de passe 2," RFC 2898, 2000.
  10. D. M'Raihi et al., "TOTP : Algorithme de mot de passe unique basé sur le temps," RFC 6238, 2011.