Ce que fait une preuve à divulgation nulle
Habituellement, prouver quelque chose veut dire montrer une preuve concrète : saisir un mot de passe ou présenter une carte d'identité. Cela peut révéler plus que ce dont l'autre personne a besoin.
Une preuve à divulgation nulle est une méthode cryptographique qui change la donne. Une personne, le prouveur, démontre une affirmation précise à une autre, le vérificateur, sans révéler le secret qui la rend vraie. Le vérificateur obtient la réponse dont il a besoin — par exemple, que vous remplissez une condition d'âge — mais pas votre date de naissance, votre adresse ou votre numéro de document.
Ce n'est pas une vague promesse de confidentialité. Une preuve doit être conçue pour une affirmation précise, et une bonne conception rend la triche extrêmement improbable.
L'exemple de la grotte
Imaginez une grotte avec deux chemins qui se rejoignent derrière une porte verrouillée. Cette porte ne s'ouvre qu'avec un mot secret. Vous dites le connaître, mais vous ne voulez pas le prononcer à voix haute.
Vous entrez par l'un des deux chemins pendant que votre ami attend dehors. Il vous indique ensuite le chemin par lequel il veut que vous reveniez. Si vous connaissez le mot, vous pouvez ouvrir la porte à l'intérieur de la grotte et revenir par n'importe quel chemin. Si vous devinez, vous n'avez qu'une chance sur deux d'être du bon côté.
Répétez le test plusieurs fois, avec un choix nouveau et imprévisible à chaque fois. Après dix tours réussis, un bluffeur n'aurait qu'environ une chance sur 1 000 d'avoir eu autant de chance. Votre ami obtient ainsi une preuve solide que vous connaissez le mot, sans jamais l'entendre.
De l'histoire de la grotte aux logiciels réels
Les preuves réelles reposent sur les mathématiques plutôt que sur une grotte, mais l'objectif de confidentialité reste le même. Elles peuvent montrer qu'une transaction respecte les règles sans en exposer tous les détails. Elles peuvent aussi permettre à une petite preuve de remplacer un grand nombre de contrôles, ce qui peut accélérer la vérification de certains systèmes.
Les titres d'identité numériques sont un autre usage concret. Plutôt que de transmettre une pièce d'identité complète à chaque service, un titre bien conçu pourrait répondre uniquement à la question posée : « Cette personne a-t-elle plus de 18 ans ? » ou « Détient-elle cette qualification ? »
Les détails comptent. Une preuve ne protège que l'information qu'elle a été conçue pour cacher. L'application qui l'entoure peut très bien continuer à collecter des données, vous identifier ou faire de mauvais choix de sécurité ailleurs.
Preuve à divulgation nulle contre chiffrement à divulgation nulle
L'expression « divulgation nulle » est aussi utilisée dans le stockage en ligne. Il s'agit d'une idée différente. Le chiffrement à divulgation nulle signifie que le fournisseur de stockage ne peut pas lire vos fichiers, car il ne possède pas les clés de déchiffrement.
Une preuve à divulgation nulle répond à une question sans exposer le secret qui se cache derrière la réponse. Un chiffrement à divulgation nulle rend les fichiers stockés illisibles pour un fournisseur. Les deux peuvent améliorer la confidentialité, mais ils ne sont pas interchangeables.
Une leçon pratique sur la confidentialité
Les preuves à divulgation nulle rappellent utilement qu'il faut partager le minimum d'informations nécessaire à une tâche. Elles ne vous rendent pas anonyme et ne sécurisent pas toutes les parties d'une application. Un service peut encore savoir que vous vous êtes connecté, quand vous l'avez fait, et d'autres données en dehors de la preuve.
Sealby n'a pas besoin de preuves à divulgation nulle, car il n'a ni compte ni serveur qui vous demande de prouver quoi que ce soit. Les fichiers sont chiffrés sur votre iPhone. Pour la confidentialité au quotidien, la vraie question est simple : de quoi ce service a-t-il vraiment besoin — et peut-il s'en passer ?