Qu’est-ce qu’une preuve de connaissance zéro en cybersécurité et comment fonctionne-t-elle ?
La preuve par l’absence de connaissance (ZKP) gagne en popularité ces derniers temps pour diverses raisons. Elle permet de vérifier des informations sans divulguer les données sous-jacentes, offrant ainsi un degré plus élevé de sécurité et de confidentialité aux informations sensibles.
Mais qu’est-ce qu’une preuve à connaissance nulle, comment fonctionne-t-elle et quels sont les cas d’utilisation d’un système de preuve à connaissance nulle ? Découvrons-le.
Qu’est-ce qu’une preuve à connaissance nulle ?
Goldwasser, Micali et Rackoff ont proposé des preuves à connaissance nulle dans leur article « La complexité de la connaissance des systèmes de preuve interactifs.«
Dans un système de preuve à connaissance nulle, une partie (le prouveur) doit prouver à une autre partie (le vérificateur) qu’une déclaration spécifique est vraie sans révéler d’autres informations que le fait que la phrase est vraie. Pour ce faire, une quantité minimale d’informations est présentée au vérificateur afin qu’il puisse confirmer que l’énoncé est effectivement vrai.
Par exemple, Paul veut qu’Anita prouve qu’elle connaît le code d’une porte magique secrète qui relie deux chemins (A et B) à l’intérieur d’une grotte. Anita franchit la porte plusieurs fois, en commençant par le chemin A et en ressortant par le chemin B, tandis que Paul reste à l’extérieur.
En répétant cet exploit plusieurs fois, Anita prouve qu’elle connaît le code pour ouvrir la porte magique à l’intérieur de la grotte sans divulguer le code à Paul.
Comment fonctionne une preuve de connaissance zéro ?
Les preuves sans connaissance fonctionnent en demandant au prouveur et au vérificateur d’effectuer une série d’interactions. Ces interactions impliquent généralement plusieurs cycles de communication. Au cours de chaque interaction, le prouveur construit une preuve qui confirme la véracité de la déclaration du prouveur.
Le vérificateur crée souvent plusieurs défis liés à l’énoncé prouvé. Le prouveur répond à chaque fois par une preuve soigneusement élaborée pour convaincre le vérificateur de la véracité de la déclaration sans divulguer aucune information relative à la déclaration.
Les défis et les interactions sont répétés plusieurs fois afin d’éliminer le risque que le prouveur devine l’affirmation.
Une preuve à connaissance nulle vous permet de partager une preuve de connaissance avec l’autre partie sans révéler de détails supplémentaires sur la connaissance. Pour ce faire, le protocole à zéro connaissance dépend des algorithmes qui prennent certaines données en entrée et renvoient la sortie sous forme de vrai ou de faux pour l’entrée donnée.
Voici trois critères qu’un système de preuve à connaissance nulle doit satisfaire.
1. Complétude
Si l’énoncé est vrai, un prouveur honnête peut convaincre un vérificateur honnête de la véracité de l’énoncé.
2. Solidité
Si la déclaration est fausse (ce qui signifie que le prouveur ne connaît pas la déclaration correcte), aucun prouveur malhonnête ne peut convaincre un vérificateur honnête de la véracité de la déclaration.
3. Connaissance nulle
Les preuves à connaissance nulle (ZKP) garantissent que le vérificateur n’acquiert aucune connaissance sur l’énoncé prouvé, si ce n’est qu’il est vrai ou faux. En outre, le vérificateur ne peut extraire aucune information sur l’énoncé de la preuve fournie par le prouveur, qui a été construite pour démontrer la véracité de l’énoncé.
Types de preuves à connaissance nulle
Les deux principaux types de preuves à connaissance nulle à connaître sont les suivants.
Preuves interactives à connaissance nulle
Dans un système interactif de preuve à connaissance nulle, le prouveur construit une preuve de l’énoncé et l’envoie au vérificateur. Ensuite, le vérificateur pose des questions et crée des défis. Le prouveur répond aux défis du vérificateur et poursuit l’interaction. Ce processus de communication en va-et-vient permet au vérificateur d’être convaincu de la véracité de la déclaration.
Preuves non interactives à connaissance nulle
Dans un système de preuve non interactive à connaissance nulle, le prouveur crée une preuve unique qu’il peut vérifier indépendamment sans autre interaction.
Sur les deux, les preuves interactives à zéro connaissance sont plus exigeantes en termes de calcul, car la technologie ZKP interactive effectue des calculs supplémentaires en raison des interactions en va-et-vient.
Applications et cas d’utilisation de la preuve à connaissance nulle
Voici quelques cas d’utilisation des protocoles à connaissance nulle.
Authentification
Les preuves à connaissance nulle (ZKP) peuvent être utilisées pour authentifier les utilisateurs sans échanger d’informations secrètes, telles que les noms d’utilisateur ou les mots de passe. Cela peut améliorer l’expérience de l’utilisateur et éviter aux entreprises de conserver de grandes quantités de données utilisateur sur leurs serveurs.
Transactions privées
Les transactions de la blockchain ne sont pas privées. Au lieu de cela, elles sont liées à des adresses de portefeuilles cryptographiques pseudonymes. Et les gouvernements peuvent tracer ces transactions, ce qui leur permet d’attraper les criminels du dark net.
Il est légitime d’attraper des criminels en traçant ces transactions. Mais qu’en est-il d’un régime oppressif qui garde un œil sur les utilisateurs réguliers de crypto-monnaies grâce aux informations stockées sur le grand livre public ?
En mettant en œuvre des preuves de connaissance nulle, les entreprises peuvent permettre des transactions protégées dans lesquelles les adresses de l’expéditeur et du destinataire et les montants de la transaction sont masqués de la blockchain publique.
Par exemple, ZCash et Monero proposent des transactions privées utilisant des preuves à connaissance nulle.
Chaînes d’approvisionnement sécurisées
L’utilisation de la preuve d’absence de connaissance peut renforcer la sécurité d’une chaîne d’approvisionnement. Elle permet de vérifier l’intégrité des données, de valider les références des fournisseurs, de prouver l’authenticité des produits ou des services et de permettre un suivi sécurisé sans qu’il soit nécessaire de divulguer des informations sensibles.
En outre, les preuves d’absence de connaissance permettent aux entreprises de prouver aux régulateurs et aux autorités qu’elles respectent les lois et les normes industrielles applicables.
Vérification de l’identité privée
Les preuves à connaissance nulle contribuent à protéger la vie privée des utilisateurs. Les autorités peuvent vérifier l’identité de n’importe quel individu sans avoir à divulguer des informations sensibles.
Par exemple, une application de finance décentralisée (DeFi) peut avoir à vérifier qu’un utilisateur appartient à un pays particulier. Le processus traditionnel exige que l’utilisateur soumette les détails de son passeport ou son numéro de permis de conduire. Mais avec l’aide d’un protocole d’identité tiers basé sur ZKP, l’utilisateur peut prouver qu’il appartient à une liste de pays autorisés, même sans indiquer le nom de son pays.
Preuve d’affiliation
La preuve par zéro connaissance peut permettre aux utilisateurs de prouver qu’ils font partie d’un grand ensemble public sans dire à quelle partie de l’ensemble public ils appartiennent.
Par exemple, la banque néerlandaise ING a lancé son adhésion à un ensemble à connaissance nulle (ZKSM), permettant aux utilisateurs de prouver qu’ils sont membres de l’Union européenne sans dire dans quel pays ils vivent.
Inconvénients de l’utilisation d’une preuve à connaissance nulle
Les preuves à connaissance nulle offrent des avantages considérables. Mais elles présentent aussi des inconvénients.
Le plus grand défi est le coût du matériel. La production de preuves à connaissance nulle nécessite des calculs complexes, souvent effectués sur des machines spécialisées dont l’achat est coûteux.
De plus, la vérification des preuves nécessite également des calculs complexes. Il n’est donc pas possible de mettre en œuvre des preuves à connaissance nulle à moins que les entreprises ne disposent d’un budget important à cet effet.
En outre, le manque de ressources de formation et d’outils de développement pour les applications ZKP entrave une adoption plus large des preuves à connaissance nulle.
Les preuves à connaissance nulle pour améliorer la protection de la vie privée
Les pirates informatiques et les acteurs de la menace tentent en permanence de s’emparer de vos informations sensibles. Prenez donc les mesures nécessaires pour protéger vos données. Recherchez des applications basées sur des preuves à connaissance nulle et utilisez-les pour protéger votre vie privée et votre sécurité.
Vous devriez également utiliser le chiffrement à connaissance nulle pour protéger vos données sensibles.