Aller au contenu

Équité, vote, contrats et divulgation contrôlée

Équité, vote, contrats et divulgation contrôlée

Section intitulée « Équité, vote, contrats et divulgation contrôlée »

Chiffrer et signer suffisent quand deux parties se font confiance et redoutent un tiers. Les protocoles de ce chapitre traitent le cas inverse : des participants qui se méfient les uns des autres doivent pourtant tirer au sort, échanger des signatures, voter ou calculer ensemble. La question n’est plus « qui écoute ? » mais « qui peut tricher, abandonner au bon moment ou exercer une pression ? ». Ces protocoles, souvent nés dans les années 1980, restent la base de l’équité numérique ; ils ont aussi leurs limites, mathématiques et politiques, qu’il vaut mieux connaître avant de promettre l’impossible.

→ Lire l’explication complète de la marmotte

Le problème fondateur est le pile ou face par téléphone, posé par Manuel Blum en 1981. Alice et Bob, fâchés et éloignés, doivent tirer au sort. Si Alice annonce « pile » et que Bob lance la pièce chez lui, Bob décide du résultat ; si Bob annonce d’abord son choix, Alice peut mentir. La solution passe par un engagement (commitment), schéma en deux temps : commit puis reveal. Alice choisit sa valeur, en publie une empreinte qui la fige sans la dévoiler, Bob répond en clair, puis Alice révèle. Un engagement doit être liant (Alice ne peut pas ouvrir une autre valeur que celle choisie) et masquant (Bob n’apprend rien avant l’ouverture). Avec une fonction de hachage, on obtient les deux en ajoutant un aléa long : c = SHA-256("pile-ou-face" ‖ r ‖ choix) où r fait 256 bits. Sans r, Bob n’aurait qu’à hacher « pile » et « face » pour comparer : un engagement sur deux valeurs possibles n’engage que la naïveté de celui qui le publie.

Ce mécanisme fournit un aléa commun que personne n’a pu orienter seul. Il ne règle pas l’abandon : Alice, qui connaît le résultat dès qu’elle voit la réponse de Bob, peut refuser de révéler si l’issue lui déplaît. Richard Cleve a montré en 1986 qu’aucun protocole entre deux parties ne peut garantir un tirage parfaitement équitable si l’une peut abandonner : on peut seulement réduire le biais en multipliant les tours. En pratique, on combine trois outils : un délai (timeout) au-delà duquel le silence vaut défaite, une règle écrite qui attribue le résultat en cas de refus, et une preuve publique de chaque étape, engagements et ouvertures horodatés dans un registre que les deux parties et un arbitre éventuel peuvent consulter.

Le même principe s’étend au poker mental, proposé par Shamir, Rivest et Adleman en 1979 : distribuer des cartes sans croupier, à l’aide d’un chiffrement commutatif, de sorte que chacun ne voie que sa main et que personne ne puisse piocher deux fois la même carte. Les jeux à l’aveugle et les enchères scellées suivent la même logique d’engagement préalable puis d’ouverture.

La signature simultanée de contrat pose un problème symétrique : celui qui reçoit en premier la signature de l’autre peut garder la sienne, ou attendre pour la donner que les cours lui soient favorables. Le problème général s’appelle l’échange équitable (fair exchange), et il a été démontré qu’il est impossible sans tiers de confiance quand une des parties peut se comporter de façon arbitraire.

Trois familles de solutions existent. La révélation graduelle, étudiée notamment par Even, Goldreich et Lempel en 1985, fait échanger les secrets bit par bit : à tout moment, celui qui abandonne n’a qu’un bit d’avance, mais le protocole est long et suppose des puissances de calcul comparables. L’arbitre en ligne reçoit les deux signatures et les redistribue ; il est simple et coûteux, puisqu’il intervient à chaque échange et voit tout passer. L’arbitre optimiste, formalisé à la fin des années 1990, n’intervient qu’en cas de litige : les parties échangent directement des engagements vérifiables, et la partie lésée peut demander à l’arbitre de compléter l’échange ou de l’annuler. C’est le modèle le plus réaliste, car les litiges sont rares et l’arbitre n’a pas à voir les contrats qui se passent bien.

Le courrier électronique certifié est un cas particulier d’échange équitable : l’expéditeur veut une preuve de réception, le destinataire ne veut libérer cette preuve qu’en recevant le message. Le protocole produit au mieux une preuve de livraison, c’est-à-dire la preuve que le contenu a été mis à disposition du destinataire ou de son logiciel. Il ne prouve jamais que le destinataire l’a lu, encore moins compris.

Le vote cumule des exigences qui tirent en sens contraire. Le bulletin secret interdit de relier un bulletin à un électeur. La vérifiabilité individuelle permet à chaque électeur de constater que son bulletin a été enregistré tel qu’il l’a émis. La vérifiabilité universelle permet à quiconque de constater que le résultat correspond aux bulletins enregistrés. L’éligibilité garantit qu’un électeur n’a voté qu’une fois et qu’il en avait le droit. Enfin, la résistance à la coercition garantit qu’un électeur ne peut pas prouver son vote à un tiers, même s’il le souhaite, afin qu’on ne puisse ni l’acheter ni le contraindre.

La difficulté tient à la dernière exigence. Un reçu qui prouve à l’électeur ce qu’il a voté le prouve aussi à celui qui le menace. Les protocoles sérieux visent donc l’absence de reçu (receipt-freeness) et, au-delà, la résistance à la coercition formalisée par Juels, Catalano et Jakobsson en 2005, qui permet par exemple à l’électeur contraint de produire un faux justificatif indiscernable du vrai.

Deux techniques dominent pour concilier secret et décompte vérifiable. Le mélange (mixnet), proposé par David Chaum en 1981 : les bulletins chiffrés traversent une série de serveurs qui les rechiffrent et les permutent, chacun publiant une preuve qu’il n’a rien ajouté ni retiré ; il suffit qu’un seul serveur soit honnête pour que le lien électeur-bulletin soit rompu. Le décompte homomorphe : chaque bulletin est un chiffré ElGamal de 0 ou de 1, accompagné d’une preuve à divulgation nulle de connaissance qu’il ne contient rien d’autre ; on multiplie les chiffrés pour obtenir le chiffré de la somme, que seuls les détenteurs de parts de la clé, réunis, peuvent déchiffrer. Le système Helios, publié en 2008, utilise cette approche et revendique explicitement de ne convenir qu’aux scrutins à faible risque de coercition. Les preuves employées sont présentées dans Prouver sans révéler : ZK et identification et le partage de clé dans Partager un secret et distribuer la confiance.

Les limites opérationnelles dépassent la cryptographie. Un vote en ligne se fait depuis un terminal que l’organisateur ne contrôle pas, potentiellement infecté, dans une pièce où quelqu’un peut regarder par-dessus l’épaule. Le vote papier dans un isoloir règle la coercition par la procédure, pas par les mathématiques. La validité juridique d’un dispositif dépend en outre du type de scrutin et du cadre réglementaire applicable, que la cryptographie ne remplace pas.

Plus généralement, le calcul multipartite sécurisé, ou MPC (Multi-Party Computation), permet à plusieurs acteurs de calculer une fonction de leurs données privées sans les révéler. L’exemple fondateur est le problème des millionnaires d’Andrew Yao (1982) : deux personnes déterminent laquelle est la plus riche sans dévoiler leur fortune. Le vote n’est qu’un cas particulier, et les techniques génériques sont développées dans Calculer, engager et anonymiser avec des primitives spécialisées.

La transformation tout ou rien (all-or-nothing transform), proposée par Ron Rivest en 1997, réorganise un message de sorte qu’il soit impossible d’en retrouver la moindre partie sans disposer de la totalité des blocs. Elle renchérit la recherche exhaustive, puisque l’attaquant doit déchiffrer tous les blocs pour tester une clé, et sert de brique à la dispersion d’informations sur plusieurs supports. Dans la même veine, les secrets révélés sous condition ne s’ouvrent qu’après un événement : passage d’un délai, grâce aux énigmes à verrou temporel (time-lock puzzles) de Rivest, Shamir et Wagner (1996), qui imposent un calcul séquentiel non parallélisable, ou réunion d’un quorum de détenteurs de parts.

Le canal subliminal, décrit par Gustavus Simmons en 1983 sous la forme du problème des prisonniers, est un canal caché à l’intérieur d’un protocole cryptographique légitime. Dans une signature DSA ou ECDSA, le nonce k est choisi librement par le signataire : un composant malveillant peut le choisir de façon à encoder des bits de la clé privée, et chaque signature, parfaitement valide, transporte un fragment du secret vers qui connaît la convention. Les signatures à nonce déterministe et les protocoles dits anti-exfiltration des portefeuilles matériels visent cette menace.

Les cryptosystèmes équitables, au sens de Silvio Micali (1992), et plus largement le séquestre de clés (key escrow) répartissent une copie de la clé entre des tiers de confiance afin de permettre un accès exceptionnel, typiquement judiciaire. L’exemple historique est la puce Clipper proposée par le gouvernement américain en 1993 : chaque communication portait un champ LEAF (Law Enforcement Access Field) permettant aux autorités de retrouver la clé de session. En 1994, Matt Blaze a montré que la somme de contrôle de ce champ ne faisait que 16 bits, ce qui permettait de fabriquer un champ bidon accepté par l’équipement. Les mécanismes à sûreté intégrée (fail-safe), censés garantir que l’accès exceptionnel ne profite qu’à ses bénéficiaires légitimes, butent sur une réalité têtue : un mécanisme qui ouvre la porte à un tiers autorisé ouvre la porte à quiconque compromet ce tiers. Les risques politiques suivent : qui contrôle les détenteurs de parts, sous quelle juridiction, avec quelle transparence ? Le sujet est repris dans Héritage, politique et limites de la cryptographie.

Concevoir un pile ou face sans tiers de confiance :

Fenêtre de terminal
# Alice : engagement
R=$(openssl rand -hex 32); CHOIX=pile
printf 'tt-coin|%s|%s' "$R" "$CHOIX" | sha256sum # publie seulement ce condensé
# Bob : répond en clair, par exemple "face", avant l'échéance fixée
# Alice : révèle R et CHOIX ; Bob recalcule le condensé et compare
# Règle : Alice gagne si CHOIX = réponse de Bob ; pas de révélation avant l'échéance = Alice perd

L’étiquette tt-coin sépare ce protocole de tout autre usage du même condensé, et la règle de défaite par silence neutralise l’abandon stratégique.

Comparer vote vérifiable et vote anonyme :

CritèreUrne anonyme simpleVote vérifiable de bout en bout
Secret du bulletinouioui, sous hypothèse de non-collusion
L’électeur voit son bulletin compténonoui
Tout le monde peut recompternonoui, à partir des données publiées
Résistance à la coercitiondépend de l’isoloirdépend du protocole, souvent faible en ligne
Confiance requise dans l’organisateurtotaleréduite et vérifiable

Analyser un protocole de signature de contrat : Alice envoie sa signature, Bob renvoie la sienne. Bob peut tout simplement ne jamais répondre et détenir un contrat signé par Alice, opposable à elle seule. La correction consiste à faire échanger d’abord des engagements vérifiables et à prévoir un arbitre capable, sur présentation de l’engagement de Bob, de délivrer à Alice l’équivalent de sa signature ou d’annuler l’échange.

Identifier un risque de canal subliminal : un boîtier de signature fermé, fourni par un tiers, produit des signatures ECDSA valides. Rien dans les signatures ne permet de savoir si les nonces sont aléatoires ou s’ils encodent la clé ; la réponse passe par des signatures déterministes vérifiables, une co-génération du nonce avec l’hôte, ou l’audit du boîtier.

Promettre une équité sans gestion du temps laisse le dernier à parler choisir l’issue. Ignorer la coercition dans le vote produit un système vérifiable qui sert d’abord au marchand de voix. Ajouter un séquestre sans gouvernance crée une clé maîtresse dont personne ne répond. Confondre preuve de livraison et lecture réelle conduit à des litiges où la cryptographie est invoquée pour prouver ce qu’elle n’a jamais mesuré.

Un tirage équitable combine les contributions de chacun ; un générateur aléatoire centralisé demande de croire celui qui l’opère. Le vote en ligne déplace l’isoloir dans un salon et le dépouillement dans un serveur ; le vote papier repose sur une procédure physique observable. Un canal subliminal se cache dans un protocole cryptographique ; la stéganographie se cache dans un support quelconque, image ou son, voir Frontières : cacher, coder, compresser et détruire. Un séquestre donne à un tiers un accès à des clés ; une sauvegarde de clé protège le propriétaire contre sa propre perte.

Sans ces protocoles, l’équité repose sur la bonne foi de celui qui tient le tirage, le dépouillement ou l’arbitrage, et rien ne permet de la contester ensuite : un tirage centralisé peut être relancé discrètement jusqu’au résultat voulu, et le perdant n’a aucune trace à opposer. Un vote sans vérifiabilité transforme toute erreur de comptage, involontaire ou non, en fait accompli, puisque aucun électeur ne peut constater que son bulletin a été compté tel quel ; devant un doute sérieux, la seule issue devient l’annulation du scrutin entier. Dans la ruche, la reine est alors élue par celle qui compte les voix.

Plusieurs personnes qui ne se font pas confiance veulent parfois décider ensemble. Pour un tirage au sort équitable à distance, chacun commence par s’engager sur une valeur secrète : il en publie une empreinte qui la fige sans la dévoiler. Une fois tous les engagements reçus, chacun révèle sa valeur, tout le monde vérifie qu’elle correspond à l’empreinte, et on combine les valeurs pour obtenir le résultat. Personne ne peut changer d’avis après avoir vu les autres. Il faut aussi un délai limite et une règle pour celui qui refuse de révéler, sinon il peut abandonner dès que le résultat lui déplaît. La signature d’un contrat pose le même problème : celui qui reçoit en premier la signature de l’autre peut garder la sienne. On échange donc par petites étapes, ou l’on fait appel à un arbitre. Le vote ajoute deux exigences qui tirent en sens contraire : garder le bulletin secret et permettre à chacun de vérifier que le décompte est juste. Des techniques de mélange des bulletins et des preuves mathématiques y répondent en partie, mais la pression exercée sur un électeur pour qu’il montre son vote reste difficile à empêcher. Enfin, certains mécanismes cachent un message dans un autre, ou confient une copie des clés à un tiers pour un accès exceptionnel, ce qui exige des règles de contrôle strictes.

À lire aussi

Pages voisines

: les deux pages se citent l’une l’autre.