Retour au blog

Comprendre le Zero Knowledge Proof (ZKP) (+cas d'usage)

Cybersécurité • 29 mai 2024

Alors que les cyberattaques deviennent monnaie courante en entreprise, l’adoption de protocoles sécurisés et techniques cryptographiques de pointe est plus que jamais recommandée. Parmi eux, le Zero Knowledge Proof, ou preuve à divulgation nulle de connaissance, émerge comme une référence. Entre fonctionnement technique, cas d’usage et perspectives d’évolution, nous vous dévoilons tout sur le ZKP et son intérêt en cybersécurité.

 

Qu'est-ce que le Zero Knowledge Proof ?

 

Zero Knowledge Proof : définition

Le protocole Zero Knowledge Proof, ou preuve à divulgation nulle de connaissance est une technique cryptographique qui permet à une partie (le prouveur) de démontrer qu'elle possède certaines connaissances sans révéler ces connaissances à une autre partie (le vérificateur), autrement dit, sans divulguer d'informations supplémentaires au-delà de la véracité de l'affirmation. Par exemple, dans le cadre d’une authentification, il s'agit pour une personne de prouver son identité, mais sans avoir à la révéler.

 

 

Zero Knowledge Proof : fonctionnement technique

 

Concrètement, le ZKP repose sur 3 grands principes :

 

  • Consistance : si le prouveur et le vérificateur suivent le protocole correctement, alors le vérificateur doit toujours accepter la preuve.

  • Robustesse : si la proposition est fausse, aucun prouveur malveillant ne peut persuader un vérificateur que la proposition est vraie.

  • Divulgation nulle d'information : le vérificateur n'apprend rien de plus que la véracité de la proposition, sans obtenir d'informations supplémentaires de la part du prouveur.

 

Pour prouver la véracité d'une affirmation sans révéler d'informations supplémentaires, le ZKP repose sur les concepts avancés de la théorie des nombres, de l'algèbre et de la cryptographie. Ces protocoles exploitent souvent des problèmes mathématiques difficiles, comme celui de logarithme discret, les courbes elliptiques, ou encore les fonctions de hachage cryptographiques1.

 

Exemple-Zero-Knowledge-Proof

 

Côté fiabilité, le Zero Knowledge Proof offre un niveau de sécurité croissant en fonction du nombre de tests effectués. En effet, chaque itération du protocole Zero Knowledge Proof renforce la confiance dans la validité de l'affirmation, sans augmenter la connaissance du vérificateur sur les détails sous-jacents.


Par exemple, dans un scénario où un prouveur doit démontrer sa connaissance de quelque chose à un vérificateur, chaque itération du protocole ajoute une couche supplémentaire de confiance dans la compétence du prouveur, sans que le vérificateur n'obtienne de nouvelles informations sur la nature de cette connaissance. Ainsi, plus le nombre de tests augmente, plus le niveau de sécurité du système devient élevé, offrant une protection robuste contre les compromissions.


Comprendre le Zero Knowledge Proof

 

Le concept de preuve à divulgation nulle de connaissance peut sembler abstrait au premier abord. Pour mieux comprendre le ZKP, prenons une petite analogie, à travers le jeu du Sudoku.

 

Dans cet exemple, le prouveur souhaite démontrer au vérificateur qu'il a résolu un Sudoku, mais sans révéler la solution exacte.

 

Voici comment fonctionne le processus :

 

  1. Résolution du Sudoku : le prouveur commence par résoudre le Sudoku de manière traditionnelle, en plaçant chaque chiffre dans les cases appropriées jusqu'à ce que la grille soit complète.

  2. Divulgation sélective : une fois le Sudoku résolu, le prouveur prend la grille et la découpe en neuf carrés, chacun contenant un ensemble de chiffres. Il cache tous les chiffres sauf ceux qui étaient initialement présents dans la grille de départ.

  3. Vérification sélective : le vérificateur choisit aléatoirement une ligne, une colonne ou un carré 3x3 de la grille découpée. Le prouveur lui fournit alors les neuf carrés correspondants, mais dans un ordre aléatoire. Ainsi, le vérificateur peut vérifier que les chiffres dans les carrés correspondent bien à ceux initialement présents dans la grille, mais il ne peut pas déduire la solution complète du Sudoku à partir de cette information.

  4. Répétition du processus : ce processus est répété plusieurs fois ; le vérificateur choisit différentes parties de la grille pour vérifier. À chaque étape, le prouveur fournit les carrés correspondants dans un ordre différent.

  5. Conclusion : après avoir vérifié plusieurs lignes, colonnes et carrés, le vérificateur acquiert la certitude que le prouveur a bien résolu le Sudoku sans pour autant avoir connaissance de la solution complète.

 

Ce processus est exactement le même pour le Zero Knowledge Proof. Le prouveur est capable de prouver une connaissance sans la révéler, et le vérificateur peut être convaincu de la validité de cette connaissance sans en apprendre davantage que ce qui est nécessaire.

 

À quoi sert le Zero Knowledge Proof ? 

Les protocoles de preuve à divulgation nulle de connaissance trouvent leur utilité dans de nombreux cas d’usage, notamment en ce qui concerne le domaine de la cybersécurité.

Le ZKP pour sécuriser des échanges d'informations

 

Le Zero Knowledge Proof (ZKP) est un outil puissant pour sécuriser les échanges d'informations sensibles, et ainsi renforcer la cybersécurité en entreprise. En permettant à une partie de prouver la validité d'une affirmation sans en révéler les détails, le ZKP assure la confidentialité des données tout en établissant la confiance entre les parties impliquées. Cela rend le ZKP particulièrement utile dans les transactions financières, les échanges de données médicales, ou toute situation où la confidentialité est primordiale.

 

Le principe de confidentialité absolue pour éviter les compromissions

 

L'un des principaux avantages de la preuve à divulgation nulle de connaissance est son principe de confidentialité absolue. Contrairement à d'autres méthodes de vérification qui nécessitent la divulgation d'informations sensibles, le ZKP permet à une partie de prouver qu'elle détient une connaissance spécifique sans révéler cette connaissance elle-même. Cela signifie que même si un tiers intercepte les communications entre le prouveur et le vérificateur, il ne pourra pas obtenir d'informations supplémentaires sur la nature de la connaissance détenue par le prouveur.

 

 

Le ZKP en cryptographie et sécurité Informatique

 

Le Zero Knowledge Proof trouve de nombreuses applications dans le domaine de la cryptographie et de la sécurité informatique. Par exemple, il est utilisé pour prouver la possession d'une clef privée sans révéler cette clef elle-même, ce qui renforce la sécurité des transactions en ligne. De plus, le ZKP est employé dans les protocoles d'authentification et d'autorisation, où il permet de valider l'identité d'un utilisateur sans compromettre sa vie privée. En outre, il est également utilisé dans les réseaux de blockchain pour garantir l'intégrité des transactions et la confidentialité des données des utilisateurs.

 

Zero Knowledge Proof : quels cas usage ?

 

Le ZKP peut s’appliquer dans différents cas de figure. Sans le savoir, vous utilisez certainement quotidiennement le concept de preuve à divulgation nulle de connaissance.

 

Voici les 5 cas d’usage les plus courants du Zero Knowledge Proof :

1. Transactions financières sensibles

 

Le Zero Knowledge Proof est employé pour sécuriser des transactions financières sensibles. Il permet de vérifier que ces transactions sont autorisées, sans en révéler les détails sensibles tels que les montants ou les comptes impliqués. Les parties peuvent alors prouver la validité des transactions sans compromettre la confidentialité des informations financières.

 

2. Audits et vérifications

 

Le Zero Knowledge Proof est également utilisé pour des audits et vérifications diverses, notamment dans un contexte d’entreprise. Il permet à une entité de vérifier ses engagements ou ses performances sans révéler les détails internes de ses opérations. Cela garantit la transparence tout en préservant la confidentialité des données commerciales sensibles, par exemple.

 

3. Partage de données sensibles

 

Dans le domaine médical notamment, le Zero Knowledge Proof est utilisé pour le partage de données sensibles comme les dossiers médicaux. Il permet de vérifier les résultats des études ou de partager des informations sensibles tout en préservant la confidentialité des patients. Ainsi, les professionnels de la santé peuvent collaborer et échanger des informations sans compromettre la vie privée de leur patientèle.

 

4. Sécurité des mots de passe

 

La vérification des mots de passe avec le Zero Knowledge Proof permet aux utilisateurs de prouver qu'ils connaissent leur  code d’accès sans le divulguer explicitement. Lors de la connexion, l'utilisateur génère une preuve cryptographique de sa connaissance du mot de passe à partir de sa version hachée, sans avoir à le transmettre sur le réseau. Le serveur peut alors vérifier cette preuve sans avoir besoin du mot de passe réel, assurant ainsi une authentification sécurisée tout en préservant la confidentialité des données d'identification. 


Alors que près de 80% des cyberattaques sont dues à des compromissions de mots de passe2, le ZKP pourrait s’imposer comme une sécurité complémentaire pour protéger l’accès à vos comptes ! 

 

5. Stockage et partage de fichiers

 

La preuve à divulgation nulle de connaissance trouve également son utilité lorsqu’il s’agit de sécuriser le stockage et partage de fichiers. Lorsqu'un document est partagé, une preuve cryptographique est générée pour démontrer la connaissance de certaines de ses caractéristiques sans divulguer ces caractéristiques elles-mêmes. Les utilisateurs peuvent alors partager des fichiers en toute sécurité, préservant à la fois l'intégrité et la confidentialité des données.


Le saviez-vous ? Locktransfert vous permet d’envoyer vos documents de manière sécurisée, sans risque de fuite grâce au chiffrement !

 

Les perspectives d'évolution du Zero Knowledge Proof

 

Les protocoles ZKP s’avérant d’une robustesse à toute épreuve, on peut tout à fait supposer que leur usage vise à s’étendre dans les années à venir :

 

Preuve à divulgation nulle de connaissance et votes électroniques

 

La transition vers le vote électronique pour les élections nationales est un sujet complexe et controversé qui soulève de nombreuses questions liées à la sécurité, à la confidentialité et à la confiance des électeurs. Bien que certains pays aient déjà adopté le vote électronique pour des élections spécifiques, la France a jusqu'à présent privilégié le vote traditionnel avec bulletin papier, en mettant l'accent sur la transparence et la vérifiabilité du processus électoral. Toutefois, l'idée du vote électronique continue à être débattue et le sujet redevient d’actualité à chaque élection.

La technologie de la blockchain se présente comme une solution idéale pour mettre en place ce type de système, garantissant la transparence et l'exactitude des informations. Cependant, les avancées en matière de Zero Knowledge Proof offrent une perspective encore plus prometteuse. Dans un futur plus ou moins proche, la preuve à divulgation nulle de connaissance pourrait en effet permettre un décompte précis des votes sans compromettre la confidentialité des électeurs. Ainsi, avec les progrès continus dans le domaine du ZKP, il est plausible que le vote électronique devienne un jour une réalité, offrant un moyen efficace et sécurisé de participer aux processus démocratiques.

 

Le ZKP pour une gouvernance plus résiliente

 

Le principe du Zero Knowledge Proof pourrait également être employé pour assurer la transparence des processus de gouvernance tout en préservant la confidentialité des informations sensibles. Par exemple, lors de la vérification de l'intégrité des décisions prises par un organe de gouvernance, la preuve à divulgation nulle de connaissance pourrait être utilisée pour démontrer que les décisions ont été prises conformément aux règles établies, sans divulguer les détails spécifiques des délibérations ou des informations confidentielles. Il serait alors possible de concilier efficacement les impératifs de confidentialité, de transparence et de sécurité, ouvrant la voie à une gouvernance plus équitable, responsable et résiliente.

 

Le ZKP pour sécuriser les objets connectés

 

Le Zero Knowledge Proof ouvre également de nouvelles perspectives en ce qui concerne le renforcement de la sécurité des objets connectés (IoT). En effet, les appareils IoT collectent et échangent des données sensibles, ce qui soulève régulièrement des préoccupations en matière de sécurité et de confidentialité. Particulièrement vulnérables, plus de 112 millions de cyberattaques visant des objets connectés ont d’ailleurs été enregistrées en 2022, soit une hausse de 87 % en une année3 ! Au sein d’un réseau informatique, ils sont considérés comme des Endpoints, et peuvent actuellement être sécurisés grâce à des Endpoints Detection and Response (EDR).


Grâce au ZKP, le risque de compromission des objets connectés par des cyberattaquants pourrait également être considérablement réduit. Les appareils pourraient en effet prouver leur authenticité lorsqu'ils se connectent à un réseau ou échangent des données, sans révéler d'informations sensibles comme les identifiants ou les clefs d'accès. De plus, le ZKP pourrait permettre aux objets connectés de prouver la véracité des données qu'ils collectent, (comme des données de santé), sans divulguer ces données elles-mêmes. Cela renforcerait la confiance dans l'intégrité des données et réduirait les risques de manipulation ou de falsification.

 

Preuve à divulgation nulle de connaissance et éducation

 

Le Zero Knowledge Proof pourrait également jouer un rôle dans le domaine de l'éducation, en sécurisant les processus d'évaluation en ligne et les candidatures tout en préservant l'anonymat des candidats.

Actuellement, les examens en ligne et les processus de candidature sont confrontés à des défis comme la fraude, la triche, la compromission de l'identité des candidats ou encore la discrimination. En intégrant le ZKP, il serait possible de garantir l'authenticité des candidatures et des résultats d'examen sans révéler l'identité des individus impliqués.

 

Par exemple, lors d'un examen en ligne, les candidats pourraient utiliser la preuve à divulgation nulle de connaissance pour prouver qu'ils ont répondu aux questions sans divulguer les réponses elles-mêmes. De cette manière, les correcteurs pourraient vérifier la validité des réponses sans compromettre l'intégrité de l'examen ou la confidentialité des données des candidats. De même, dans le processus de candidature pour des programmes éducatifs ou des bourses, le ZKP pourrait permettre aux candidats de prouver leur qualification ou leur mérite sans révéler leur identité ou d'autres informations personnelles sensibles.

 

En garantissant la sécurité et l'anonymat des processus d'évaluation et de candidature, la preuve à divulgation nulle de connaissance ouvrirait de nouvelles opportunités pour l'accès à l'éducation et la reconnaissance des mérites, tout en réduisant les risques de fraude et de discrimination.

 



Sources : 

1 https://eprint.iacr.org/2018/046.pdf

2 https://www.lemondeinformatique.fr/publi_info/lire-securite-des-mots-de-passe-en-2023-853.html

3 https://www.01net.com/actualites/etats-unis-plan-proteger-objets-connectes-pirates.html.

 

 

Découvrez LockSelf

La solution cyber adaptée à vos équipes métiers

Certifiée par l'ANSSI.

Accédez à l'ensemble des fonctionnalités de la suite LockSelf pendant 14 jours, gratuitement.

LockSelf