Qu'est-ce que le chiffrement zero-knowledge ? Un guide simple
Le chiffrement zero-knowledge signifie que le fournisseur ne peut pas accéder à vos données.
Le chiffrement zero-knowledge est une architecture cryptographique où le fournisseur de service ne peut pas accéder aux données des utilisateurs parce que les clés de chiffrement sont dérivées et stockées exclusivement sur l'appareil de l'utilisateur et ne sont jamais transmises aux serveurs du fournisseur. Contrairement au chiffrement cloud standard où le fournisseur détient les clés, le chiffrement zero-knowledge signifie que même avec une ordonnance du tribunal, une violation de données ou un employé malveillant, le fournisseur n'a rien à remettre. Les directives du NIST sur la gestion des clés (SP 800-57) établissent le principe que la garde des clés détermine l'accès aux données — le chiffrement zero-knowledge pousse ce principe à sa conclusion logique.
Comment fonctionne le chiffrement zero-knowledge
L'analogie la plus simple : un coffre-fort d'hôtel où vous seul définissez la combinaison, et l'hôtel ne la connaît jamais. Si vous oubliez la combinaison, l'hôtel ne peut pas ouvrir le coffre-fort pour vous. Ce n'est pas un défaut de conception. C'est la conception.
En termes techniques, le chiffrement zero-knowledge fonctionne en trois étapes :
Dérivation de clé sur l'appareil. L'utilisateur fournit un identifiant (un mot de passe, une phrase de passe ou un motif). Une fonction de dérivation de clé (généralement PBKDF2 ou Argon2) combine cet identifiant avec un sel cryptographique unique pour produire une clé de chiffrement. Cela se passe entièrement sur l'appareil de l'utilisateur.
Chiffrement avant transmission. Toutes les données sont chiffrées sur l'appareil à l'aide de la clé dérivée avant de quitter l'appareil pour le stockage cloud ou la sauvegarde. La sortie chiffrée (texte chiffré) est ce qui est téléchargé.
Le fournisseur ne voit jamais la clé. La clé de chiffrement n'existe que dans la mémoire de l'appareil pendant l'utilisation active. Elle n'est jamais transmise aux serveurs du fournisseur. Le fournisseur stocke des blobs chiffrés indiscernables de données aléatoires.
La contrainte critique : si l'utilisateur perd son identifiant et n'a pas de phrase de récupération, les données sont définitivement inaccessibles. Il n'existe pas de processus "mot de passe oublié" qui fonctionne sans un mécanisme de récupération stocké indépendamment. Si un service propose la réinitialisation du mot de passe par e-mail et que vos données réapparaissent, ce service n'utilise pas le chiffrement zero-knowledge. Il détient vos clés.
Chiffrement zero-knowledge vs autres types de chiffrement
Le terme "chiffrement" apparaît dans les documents marketing de presque tous les services cloud. Les différences entre les types sont substantielles.
| Type | Qui détient la clé | Le fournisseur peut lire les données | Survit à une violation du fournisseur | Exemple |
|---|---|---|---|---|
| Pas de chiffrement | N/A | Oui | Non | Dropbox (niveau standard) |
| Chiffrement en transit (TLS) | Fournisseur | Oui (au repos sur leurs serveurs) | Non | Google Photos |
| Chiffrement côté serveur au repos | Fournisseur | Oui (il détient la clé de déchiffrement) | Partiellement (dépend de l'étendue de la violation) | iCloud (standard) |
| Chiffrement E2E géré par le fournisseur | Le fournisseur génère, l'utilisateur stocke | Techniquement non, mais le fournisseur avait accès lors de la génération des clés | Partiellement | iCloud Protection avancée des données |
| Chiffrement zero-knowledge | Utilisateur uniquement (dérivé sur l'appareil) | Non. Mathématiquement impossible. | Oui. Les blobs chiffrés sont inutiles sans la clé de l'utilisateur. | Signal, Proton Mail, Vaultaire |
La distinction entre "chiffrement au repos" et "chiffrement zero-knowledge" est la plus fréquemment confondue. Avec le chiffrement au repos, le fournisseur chiffre vos données sur ses serveurs en utilisant des clés qu'il contrôle. Cela protège contre le vol physique du matériel serveur. Cela ne protège pas contre la lecture de vos données par le fournisseur, une assignation gouvernementale pour les données et les clés, ou une menace interne. Le fournisseur a la capacité de déchiffrement.
Avec le chiffrement zero-knowledge, le fournisseur n'a jamais la capacité de déchiffrement. Les données chiffrées sur leurs serveurs leur sont aussi opaques qu'à tout attaquant externe.
Pourquoi le chiffrement zero-knowledge est important
Les violations de données exposent des milliards d'enregistrements chaque année
L'Identity Theft Resource Center a signalé 3 205 compromissions de données aux États-Unis en 2023, affectant environ 353 millions d'individus. Lorsqu'un fournisseur qui détient des clés de chiffrement est violé, l'attaquant obtient potentiellement accès aux données chiffrées et aux clés pour les déchiffrer. L'architecture zero-knowledge élimine entièrement ce risque. Le serveur violé ne contient que du texte chiffré dont le déchiffrement est computationnellement infaisable.
La contrainte légale est une menace réelle
Les agences gouvernementales de plusieurs juridictions peuvent contraindre les fournisseurs à remettre les données stockées. Si le fournisseur détient les clés de chiffrement, il doit se conformer. Sous l'architecture zero-knowledge, la réponse du fournisseur à une assignation est le blob chiffré, qui est inutile sans l'identifiant de l'utilisateur. La Protection avancée des données d'Apple pour iCloud va dans cette direction mais n'a été introduite qu'en iOS 16.2 (décembre 2022) et n'est pas activée par défaut.
"Faites-nous confiance" n'est pas une architecture de sécurité
Le chiffrement standard repose sur la promesse du fournisseur de ne pas accéder à vos données. Le chiffrement zero-knowledge remplace cette promesse par une garantie mathématique. Le fournisseur ne peut pas accéder aux données même s'il le souhaite, même si un employé agit de façon malveillante, même s'il est acquis par une entreprise avec des valeurs de confidentialité différentes. L'architecture applique la contrainte.
La norme NIST derrière la cryptographie
AES-256-GCM, le chiffre le plus couramment utilisé dans les implémentations zero-knowledge, a été standardisé par le National Institute of Standards and Technology dans SP 800-38D (2007). AES lui-même a été sélectionné par le NIST via un concours public en 2001, remplaçant la norme DES vieillissante. Le "256" fait référence à la longueur de clé en bits — une clé de 256 bits a 2^256 valeurs possibles, un nombre si grand que la force brute nécessiterait plus d'énergie que le soleil n'en produira pendant sa durée de vie restante.
GCM (mode Galois/Compteur) ajoute le chiffrement authentifié, ce qui signifie que le processus de déchiffrement détecte toute altération du texte chiffré. Si un seul bit des données chiffrées est modifié, le déchiffrement échoue plutôt que de produire une sortie corrompue. Cela empêche les attaquants de manipuler les données chiffrées sans détection.
PBKDF2 (Fonction de dérivation de clé basée sur un mot de passe 2), spécifié dans RFC 8018, convertit un identifiant fourni par l'humain en clé cryptographique via un hachage répété. L'exécution de la fonction de hachage des centaines de milliers de fois rend chaque tentative de mot de passe computationnellement coûteuse, transformant un motif ou un mot de passe simple en clé résistant aux attaques par force brute.
Comment Vaultaire implémente le chiffrement zero-knowledge
Vaultaire est une application coffre pour iPhone construite sur une architecture zero-knowledge. Voici comment l'implémentation fonctionne à chaque couche.
Dérivation de clé. L'utilisateur dessine un motif sur une grille 5x5 de 25 points. La séquence de points, dans l'ordre, alimente PBKDF2 avec HMAC-SHA512 et un sel cryptographique unique par coffre. Le résultat est une clé de chiffrement AES 256 bits. Le motif n'est jamais stocké sur l'appareil. Pas sous forme de hachage, pas comme représentation, pas sous quelque forme que ce soit.
Chiffrement des fichiers. Chaque fichier importé est chiffré avec AES-256-GCM en utilisant la clé dérivée et un vecteur d'initialisation (IV) généré aléatoirement unique à ce fichier. Des fichiers identiques produisent des textes chiffrés différents car l'IV diffère.
Chiffrement des métadonnées. Les noms de fichiers, les dates de création et les données de miniature sont chiffrés séparément avec ChaCha20, un chiffre différent qui offre une diversité cryptographique et élimine les attaques par canal auxiliaire de timing de cache.
Gestion des clés. Le Secure Enclave d'Apple stocke le matériel de clé dans un coprocesseur matériel dédié avec sa propre mémoire chiffrée. Les clés sont effacées de la mémoire de l'application lorsque Vaultaire se ferme ou que l'utilisateur bascule vers une autre application.
Pas de registre de coffres. Il n'existe aucune base de données listant les coffres, aucun comptage, aucun nom. Chaque motif ouvre un coffre différent. L'application elle-même ne peut pas déterminer combien de coffres existent. Consultez l'architecture de sécurité complète et l'explication du chiffrement par motif.
Comment savoir si une application utilise un vrai chiffrement zero-knowledge
Trois tests qui prennent moins d'une minute :
Le test du mot de passe oublié. Si l'application peut réinitialiser votre mot de passe par e-mail et que vos données réapparaissent, l'application détient vos clés de chiffrement. Pas zero-knowledge.
Le test du nouvel appareil. Si vous vous connectez sur un nouvel appareil et que vos données apparaissent sans transférer les clés de l'ancien appareil ou entrer une phrase de récupération, le serveur a vos clés. Pas zero-knowledge.
Le test du compte. Si l'application nécessite une adresse e-mail ou un numéro de téléphone, le fournisseur a un lien entre votre identité et vos données. Ce n'est pas nécessairement éliminatoire, mais combiné avec l'un des éléments ci-dessus, cela confirme que le fournisseur peut accéder à vos données.
Applications qui passent les trois tests : Signal, Proton Mail, Standard Notes, Vaultaire. Applications qui échouent à au moins un : la plupart des services de stockage cloud, la plupart des applications "coffre" sur l'App Store.
Questions fréquentes
Le chiffrement zero-knowledge est-il identique au chiffrement de bout en bout ?
Ils se chevauchent mais ne sont pas identiques. Le chiffrement de bout en bout (E2EE) signifie que les données sont chiffrées sur l'appareil de l'expéditeur et déchiffrées uniquement sur l'appareil du destinataire. Le chiffrement zero-knowledge signifie que le fournisseur ne peut pas accéder aux données. Un service peut être chiffré de bout en bout sans être zero-knowledge si le fournisseur a généré ou a accès aux clés à un moment donné. Le chiffrement zero-knowledge est la norme la plus stricte.
Que se passe-t-il si je perds mon mot de passe avec le chiffrement zero-knowledge ?
Vos données deviennent définitivement inaccessibles. Il n'y a pas de clé maîtresse, pas de porte dérobée, et aucun processus de récupération qui fonctionne sans une phrase de récupération stockée séparément. C'est le compromis fondamental : la confidentialité absolue nécessite une responsabilité absolue. Certaines applications zero-knowledge (dont Vaultaire) génèrent une phrase de récupération lors de la création du coffre qui peut régénérer la clé de chiffrement si l'identifiant principal est perdu.
Les forces de l'ordre peuvent-elles accéder aux données chiffrées zero-knowledge ?
Les forces de l'ordre peuvent contraindre le fournisseur à remettre les données stockées. Avec le chiffrement zero-knowledge, les données que le fournisseur remet sont un blob chiffré inutile sans la clé de l'utilisateur. La question de savoir si les forces de l'ordre peuvent contraindre l'utilisateur à fournir la clé est une question juridique distincte qui varie selon la juridiction. Les tribunaux américains ont généralement statué que le déverrouillage biométrique contraint (Face ID, empreintes digitales) est autorisé, tandis que la divulgation de mot de passe/motif contrainte est plus contestée en vertu du Cinquième Amendement.
Le chiffrement zero-knowledge est-il plus lent que le chiffrement ordinaire ?
Les opérations de chiffrement et de déchiffrement sont identiques. AES-256-GCM s'exécute à la même vitesse peu importe qui détient la clé. Le seul coût supplémentaire est la dérivation de clé : l'exécution de PBKDF2 avec des centaines de milliers d'itérations prend environ 0,5 à 2 secondes sur un iPhone moderne. Cela se produit une fois au déverrouillage du coffre, pas par fichier. En pratique, les utilisateurs ne remarquent pas de différence de vitesse.
Zero-knowledge signifie-t-il que l'application ne collecte absolument aucune donnée ?
Pas nécessairement. Zero-knowledge se réfère spécifiquement à l'architecture de chiffrement. Le fournisseur ne peut pas accéder au contenu chiffré. L'application peut toujours collecter des analyses anonymes, des rapports de plantage ou des métadonnées d'utilisation si l'utilisateur y consent. Ce qu'elle ne peut pas collecter, c'est le contenu des fichiers chiffrés, la clé de chiffrement ou les identifiants utilisés pour la dériver. La politique de confidentialité de Vaultaire détaille exactement quelles données optionnelles sont collectées avec la permission de l'utilisateur.
Comment le chiffrement zero-knowledge se compare-t-il à la Protection avancée des données d'Apple ?
La Protection avancée des données d'Apple (introduite en iOS 16.2), étend le chiffrement de bout en bout à la plupart des catégories de données iCloud. Avec la Protection avancée des données activée, Apple ne peut pas accéder aux données protégées. Les différences clés avec une application zero-knowledge dédiée : la Protection avancée des données est optionnelle (désactivée par défaut), nécessite un identifiant Apple et protège uniquement les données dans l'écosystème Apple. Une application coffre zero-knowledge comme Vaultaire fonctionne indépendamment de l'infrastructure Apple, ne nécessite aucun compte et ajoute des fonctionnalités comme la déniabilité plausible et le mode de contrainte que la Protection avancée des données n'offre pas.
Résumé
Le chiffrement zero-knowledge est l'architecture où le fournisseur ne peut mathématiquement pas accéder aux données des utilisateurs parce que les clés de chiffrement ne quittent jamais l'appareil de l'utilisateur. Il diffère du chiffrement standard, du chiffrement au repos et même de certaines formes de chiffrement de bout en bout d'une manière critique : l'incapacité du fournisseur à accéder aux données est appliquée par les mathématiques, pas par la politique. Le compromis — perdre la clé signifie perdre les données — n'est pas un bug. C'est le mécanisme qui rend la garantie réelle.