WebAuthn PRF-Based Vault Key Wrapping and Zero-Knowledge PWA Storage Architecture
Cet article présente une architecture de sécurité côté client pour les coffres-forts d'identifiants basés sur le Web qui atteint de fortes propriétés de connaissance nulle en combinant l'extension PRF de WebAuthn avec la cryptographie symétrique et des modèles de stockage optimisés dans le navigateur.
Article original sous licence CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète
Imaginez que vous possédez un coffre-fort numérique (un « coffre ») où vous conservez vos secrets les plus importants, comme des mots de passe ou des notes privées. Habituellement, pour ouvrir ce coffre, vous avez besoin d'une clé maîtresse (un mot de passe). Mais et si vous pouviez l'ouvrir en utilisant votre visage, votre empreinte digitale ou une clé de sécurité physique ? Et si, même si un pirate volait une copie du contenu de votre coffre, il ne pouvait toujours pas lire un seul mot sans votre clé biométrique spécifique ?
Cet article d'Ian Pinto décrit une nouvelle façon de construire ce genre de coffre-fort numérique ultra-sécurisé pour les navigateurs web. Il combine quelques concepts de haute technologie pour créer un système qui garde vos données en « connaissance zéro » (zero-knowledge) — ce qui signifie que le serveur ou le système de stockage ne sait rien de ce qui se trouve à l'intérieur, pas même la clé pour l'ouvrir.
Voici comment cela fonctionne, décomposé en parties simples :
1. La clé magique : WebAuthn PRF
Considérez votre passkey (celle que vous utilisez pour vous connecter avec votre visage ou votre empreinte digitale) non pas seulement comme une barrière « Oui/Non », mais comme un générateur de recette secrète.
- L'ancienne méthode : Vous prouvez que vous êtes bien vous, et le système dit « Accès accordé ».
- La nouvelle méthode (PRF) : Lorsque vous prouvez que vous êtes vous, votre appareil exécute secrètement une recette mathématique complexe (appelée Fonction Pseudo-Aléatoire ou PRF) en utilisant un « sel » spécial (un ingrédient aléatoire). Cette recette produit une « sauce secrète » unique et de haute qualité (un code de 32 octets) que seul votre appareil spécifique sait fabriquer.
- Le piège : Cette sauce secrète est créée à l'intérieur de la puce sécurisée de votre appareil. Elle ne quitte jamais l'appareil et n'est jamais enregistrée sur le disque dur. Elle existe pendant une fraction de seconde, juste assez longtemps pour déverrouiller votre coffre, puis elle est immédiatement effacée.
2. Le verrou : L'enveloppement de la clé du coffre
Votre coffre possède une clé maîtresse (appelons-la Clé K) qui verrouille réellement les données.
- Le système prend cette « sauce secrète » éphémère provenant de votre passkey et l'utilise pour envelopper la Clé K dans une enveloppe numérique (chiffrement).
- Une fois enveloppée, la Clé K est enfermée à l'intérieur de cette enveloppe. Le système enregistre ensuite cette enveloppe dans le stockage de votre navigateur (IndexedDB).
- Point crucial : Le système n'enregistre jamais la sauce secrète ni la Clé K non enveloppée. Il n'enregistre que l'enveloppe verrouillée. Si un pirate vole le stockage, il n'aura qu'une boîte verrouillée sans la clé.
3. La maison forte : Le stockage IndexedDB
L'article propose une manière spécifique d'organiser ces données dans le stockage du navigateur (IndexedDB), qui est comme un classeur numérique.
- Le système de classement : Le système crée trois dossiers spécifiques :
- Les Coffres (The Vaults) : Où résident les enveloppes verrouillées (les clés enveloppées).
- Les Identifiants (The Credentials) : Une liste de vos passkeys et de leurs « numéros de série » (pour s'assurer que personne n'utilise une fausse copie de votre clé).
- Les Métadonnées (The Meta) : Des notes générales pour l'application.
- Garantie de connaissance zéro : L'article soutient que parce que le stockage ne contient que les enveloppes verrouillées et les métadonnées publiques, un voleur qui dérobe l'intégralité du classeur ne peut pas reconstruire la clé. Il reste bloqué avec la boîte verrouillée et aucun moyen de l'ouvrir sans votre appareil physique.
4. Le plan de secours : Le « repli par mot de passe »
Et si votre navigateur ne prend pas en charge cette fonctionnalité sophistiquée de « sauce secrète » (comme sur certaines tablettes Android) ?
- Le système dispose d'un plan de secours appelé pw-v1. Au lieu d'utiliser la sauce secrète de la passkey, il utilise un puzzle mathématique très lent et complexe (scrypt) basé sur un mot de passe traditionnel que vous tapez.
- C'est plus lent et moins pratique, mais cela garantit que vous pouvez toujours ouvrir votre coffre même si la fonction matérielle sophistiquée n'est pas disponible. C'est comme avoir une serrure physique à côté du scanner biométrique.
5. Vérifications de sécurité : Empêcher les attaques par rejeu
L'article met l'accent sur une « vérification de rejeu » (replay check).
- Imaginez qu'un voleur enregistre votre signal de « déverrouillage » et tente de le rejouer plus tard pour ouvrir le coffre.
- Le système tient un compteur (comme un compteur kilométrique sur une voiture). Chaque fois que vous déverrouillez le coffre, le compteur augmente. Si le système voit un signal avec un ancien numéro de compteur, il sait qu'il s'agit d'un enregistrement et le rejette.
- Note : L'article admet que ce n'est pas parfait pour tous les appareils (certaines passkeys synchronisées ne mettent pas à jour le compteur), mais cela ajoute une couche de défense.
6. Ce que cet article ne fait PAS
L'auteur est très prudent sur ce que ce système ne protège pas :
- Il ne protège pas contre un virus sur votre ordinateur. Si un pirate est déjà présent dans votre navigateur en train de vous observer taper, il peut voler la clé pendant qu'elle est utilisée. Ce système ne protège que les données « au repos » (lorsqu'elles sont stockées).
- Il ne protège pas contre les fuites par « canal auxiliaire » (side-channel). Si l'application compresse les données avant de les verrouiller, ou si la taille de la boîte verrouillée change en fonction de la longueur de votre mot de passe, un hacker habile pourrait deviner ce qui se trouve à l'intérieur simplement en mesurant la taille de la boîte. L'article conseille aux développeurs de compléter leurs données (faire en sorte que toutes les boîtes aient la même taille) pour éviter cela.
Résumé
Cet article présente le plan directeur d'un coffre-fort de mots de passe basé sur le web qui est mathématiquement prouvé comme étant illisible pour quiconque ne possède pas votre passkey physique spécifique. Il utilise votre passkey pour générer un code temporaire et unique qui verrouille vos données, garantit que ce code n'est jamais sauvegardé, et organise le stockage de telle sorte que même un vol total de la base de données ne produira rien d'autre que des boîtes verrouillées. C'est un système de « connaissance zéro » où le fournisseur de stockage (ou un pirate) ne sait rien de vos secrets.
Noyé(e) sous les articles dans votre domaine ?
Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.