Partager un secret et distribuer la confiance
- Accueil
- Cryptographie
- Partager un secret et distribuer la confiance
Partager un secret et distribuer la confiance
Section intitulée « Partager un secret et distribuer la confiance »Une clé maîtresse rangée à un seul endroit cumule deux fragilités : il suffit d’un vol pour la divulguer et d’une perte pour la détruire. Les mécanismes de partage répartissent le secret, ou la capacité de s’en servir, entre plusieurs participants, de sorte qu’aucun ne puisse agir seul et qu’aucune absence isolée ne bloque tout. Ce chapitre présente le découpage simple, le partage à seuil de Shamir, les signatures à seuil, le MPC (Multi-Party Computation, calcul multipartite) et les mécanismes de consensus, en distinguant soigneusement ce que chacun protège.
Certaines banques exigent deux clés, tenues par deux personnes différentes, pour ouvrir la salle des coffres. Personne ne peut agir seul, et l’absence d’une personne ne condamne pas forcément la porte si des remplaçants sont prévus. Ce chapitre montre comment appliquer la même prudence aux secrets numériques et aux décisions importantes.
→ Lire l’explication complète de la marmotte
Ne pas copier un secret partout
Section intitulée « Ne pas copier un secret partout »Le réflexe naturel pour éviter de perdre une clé consiste à la copier : une copie au coffre, une sur la clé USB du responsable, une chez le prestataire. Chaque copie améliore la disponibilité et dégrade d’autant la confidentialité, puisque n’importe laquelle suffit à tout ouvrir. Le partage de secret sort de ce dilemme en introduisant trois notions.
Une part est un fragment remis à un participant ; seule, elle ne permet rien. Le seuil est le nombre minimal de parts nécessaires. La reconstruction est l’opération qui, à partir d’au moins ce nombre de parts, restitue le secret. Avec un schéma « k sur n », on distribue n parts et k d’entre elles suffisent. Le système tolère alors n − k pertes (parts détruites, détenteurs indisponibles) et k − 1 compromissions (parts volées ou détenteurs malhonnêtes). Ces deux tolérances tirent en sens contraire : augmenter k rend la compromission plus difficile mais la perte plus dangereuse.
La forme la plus simple, le secret splitting (secret morcelé), exige toutes les parts. Pour un secret S de 256 bits, on tire au hasard R1 et R2 de même longueur, puis on distribue R1, R2 et S ⊕ R1 ⊕ R2. Chaque part, prise isolément ou par deux, est indistinguable d’une valeur aléatoire ; les trois ensemble redonnent S par un simple OU exclusif. C’est un schéma n sur n : parfait contre la compromission, désastreux contre la perte, puisqu’une seule part égarée détruit le secret. Le secret réparti à seuil corrige précisément ce défaut.
Partage de Shamir
Section intitulée « Partage de Shamir »Adi Shamir a publié en 1979 un schéma k sur n fondé sur une propriété élémentaire : deux points déterminent une droite, trois points une parabole, et plus généralement k points déterminent un unique polynôme de degré k − 1. On place le secret dans le terme constant d’un polynôme dont les autres coefficients sont tirés au hasard, puis on distribue des points de ce polynôme. Tous les calculs se font modulo un nombre premier p, dans un corps fini, et non dans les réels : c’est ce qui garantit qu’aucune information ne fuit sous le seuil.
Exemple jouet avec p = 17, un secret S = 13 et un seuil k = 3. On tire deux coefficients, 5 et 2, ce qui donne f(x) = 13 + 5x + 2x² mod 17. Les cinq parts sont les valeurs en x = 1 à 5 :
| Participant | x | f(x) mod 17 |
|---|---|---|
| A | 1 | 3 |
| B | 2 | 14 |
| C | 3 | 12 |
| D | 4 | 14 |
| E | 5 | 3 |
Pour reconstruire avec A, B et C, on applique l’interpolation de Lagrange en x = 0. Les coefficients valent 3, −3 et 1, d’où S = 3 × 3 + (−3) × 14 + 1 × 12 = −21, soit 13 modulo 17. Le secret est retrouvé. Deux parts seulement, en revanche, sont compatibles avec chacune des 17 valeurs possibles du secret, exactement une fois chacune : la sécurité sous le seuil n’est pas calculatoire mais inconditionnelle, aucun ordinateur, quantique ou non, n’y change rien. Constater que A et E ont la même valeur ne révèle rien non plus ; c’est un hasard du polynôme.
En pratique, le secret partagé est presque toujours une clé, jamais un document entier. HashiCorp Vault, par exemple, découpe sa clé de déverrouillage par Shamir et propose par défaut 5 parts avec un seuil de 3 lors de vault operator init. Sur Debian, l’outil ssss illustre le principe en ligne de commande (ssss-split -t 3 -n 5, puis ssss-combine -t 3). Les portefeuilles de cryptomonnaies et les procédures de recouvrement de clés racines d’autorité de certification emploient la même idée.
Le schéma de Shamir a toutefois une faiblesse de conception : il ne vérifie rien. Un participant qui fournit une part fausse lors de la reconstruction obtient un secret faux, sans que personne ne sache qui a triché, et peut même, dans certaines variantes d’attaque, apprendre le vrai secret pendant que les autres repartent avec le faux. Le partage vérifiable (VSS, Verifiable Secret Sharing), dont le schéma de Feldman de 1987 est l’exemple classique, publie des engagements sur les coefficients qui permettent à chacun de contrôler sa part et celles des autres. À défaut, il faut au minimum authentifier les parts, par exemple en les signant lors de la distribution, et vérifier le secret reconstruit contre une empreinte connue.
Clés collectives
Section intitulée « Clés collectives »Shamir protège un secret au repos, mais la reconstruction le réunit à nouveau en un seul point, une machine sur laquelle il vit en clair le temps de l’opération. Les signatures à seuil suppriment ce moment : chaque participant détient une part de la clé privée, calcule une signature partielle, et la combinaison d’au moins k partielles produit une signature ordinaire, vérifiable avec une clé publique unique. La clé complète n’existe jamais nulle part. Le protocole FROST (Flexible Round-Optimized Schnorr Threshold), normalisé par la RFC 9591 en 2024, réalise cela pour les signatures de Schnorr en deux tours ; des protocoles à seuil existent aussi pour ECDSA, nettement plus complexes, et pour les signatures BLS, où l’agrégation est presque naturelle.
Reste à savoir qui a fabriqué les parts. Si un distributeur de confiance génère la clé puis la découpe, il a vu la clé entière, et tout l’édifice repose sur sa probité et sur l’effacement effectif de sa mémoire. La DKG (Distributed Key Generation, génération distribuée de clé) fait produire les parts conjointement par les participants : chacun contribue un polynôme aléatoire, et la clé collective est la somme de contributions qu’aucun n’a vues en totalité.
La rotation de participant est le point opérationnel le plus sous-estimé. Les schémas proactifs permettent de rafraîchir les parts sans changer la clé publique : les anciennes parts deviennent incompatibles avec les nouvelles. Ce rafraîchissement suppose cependant que les anciens détenteurs effacent réellement leurs parts, car k anciennes parts reconstituent toujours la clé d’origine. Pour un départ conflictuel, seule la génération d’une nouvelle clé règle définitivement la question.
Enfin, l’audit et la responsabilité changent de nature. Une signature à seuil est indistinguable d’une signature individuelle : elle prouve que k participants ont coopéré, sans dire lesquels. Si la traçabilité nominative compte, il faut la journaliser à côté du protocole, avec des journaux signés par chaque participant.
Systèmes distribués
Section intitulée « Systèmes distribués »Le MPC généralise l’idée : plusieurs parties calculent ensemble une fonction de leurs données privées et n’apprennent que le résultat. L’exemple fondateur, posé par Andrew Yao en 1982, est celui de deux millionnaires qui veulent savoir lequel est le plus riche sans révéler leur fortune. Les protocoles se classent selon le modèle d’adversaire. Dans le modèle semi-honnête, les participants suivent le protocole mais tentent d’exploiter ce qu’ils voient ; dans le modèle malveillant, ils peuvent dévier arbitrairement, envoyer des valeurs fausses ou s’arrêter en cours de route. La sécurité contre les malveillants coûte nettement plus cher en calcul et en échanges, et c’est pourtant celle qu’exige toute situation où les parties ne se font pas confiance. Les signatures à seuil sont un cas particulier de MPC ; le calcul de statistiques conjointes entre organisations en est un autre.
Le consensus répond à une question différente : comment des machines s’accordent sur une même décision ou un même ordre d’événements malgré des pannes. Un quorum est le nombre de votes nécessaire pour décider. La tolérance byzantine (BFT, Byzantine Fault Tolerance) traite le cas où certains nœuds mentent activement ; le résultat classique de Lamport, Shostak et Pease (1982) impose au moins 3f + 1 nœuds pour tolérer f nœuds byzantins. Avec 4 nœuds, on tolère un traître ; avec 7, deux. Le consensus garantit la cohérence et l’intégrité de la décision. Il ne garantit aucune confidentialité : chaque nœud voit les données sur lesquelles il vote.
Deux mécanismes voisins complètent le panorama. La distribution de clé de conférence permet à un groupe d’établir une clé commune, ce qui pose le problème des arrivées et départs : un membre qui quitte le groupe ne doit plus lire la suite. La diffusion de secret (broadcast encryption) permet d’envoyer un contenu à un sous-ensemble de destinataires parmi une vaste population, en excluant les révoqués sans rechiffrer pour chacun ; c’est le principe des systèmes de télévision à péage.
Les limites opérationnelles sont communes à tous ces systèmes : latence des échanges, indisponibilité d’un participant au mauvais moment, bibliothèques plus jeunes et moins auditées que les primitives classiques. Avant d’adopter une implémentation de seuil en production, il faut vérifier qu’elle suit une spécification publiée et qu’elle a fait l’objet d’un audit indépendant.
Exemples et ateliers
Section intitulée « Exemples et ateliers »Sauvegarde 3 sur 5. Une clé de chiffrement des sauvegardes est découpée en cinq parts. Deux sont confiées à des administrateurs sur des sites différents, une au responsable sécurité, une au directeur technique, une est déposée sous enveloppe scellée chez un notaire ou dans un coffre bancaire. Chaque part est imprimée et stockée sur deux supports, avec son empreinte. Le seuil de 3 tolère la perte de deux parts, par exemple un incendie de site et un départ, et résiste à deux détenteurs complices. Le plan prévoit un exercice de reconstruction annuel sur une machine isolée, faute de quoi personne ne saura le faire le jour où il le faudra.
Retrait d’un participant. Un administrateur quitte l’entreprise en bons termes : on rafraîchit les parts, on lui demande d’attester la destruction de la sienne, et l’on vérifie que le seuil reste atteignable avec les détenteurs restants. En cas de départ conflictuel, on considère sa part comme compromise : il suffit alors de deux autres compromissions pour atteindre le seuil, ce qui justifie de générer une nouvelle clé et de rechiffrer.
Partage de secret ou sauvegarde chiffrée. Une sauvegarde chiffrée déplace le problème vers la clé de chiffrement ; le partage de secret est précisément l’outil qui protège cette clé. Les deux se combinent : on chiffre les données avec une clé, on partage la clé.
Seuil ou module matériel. Un HSM (Hardware Security Module, module cryptographique matériel) garde la clé dans une enceinte certifiée et applique des contrôles d’accès, y compris des quorums d’opérateurs. Un schéma à seuil répartit la confiance entre organisations ou fournisseurs qui ne veulent dépendre d’aucun boîtier unique. Le premier est mature et simple à auditer, le second évite le point unique au prix d’une complexité protocolaire. Les deux se combinent souvent, chaque part étant elle-même conservée dans un HSM. Le fonctionnement des quorums matériels est détaillé dans la page sur le quorum des HSM.
Pièges classiques
Section intitulée « Pièges classiques »Le premier piège est arithmétique : distribuer trop peu de parts au-delà du seuil, par exemple 3 sur 3, ou en confier plusieurs à des personnes qui voyagent ensemble, transforme la tolérance aux pertes en vœu pieux. Le deuxième consiste à ne pas authentifier les parts, ce qui offre au premier participant malveillant un sabotage indétectable. Le troisième est de rendre la reconstruction trop facile : un script qui réunit automatiquement les parts stockées sur trois serveurs du même domaine d’administration ramène le seuil à un seul compte compromis. Le quatrième est de confondre consensus et confidentialité, en croyant qu’une base répliquée sur cinq nœuds tolérants aux pannes protège ses données ; elle les protège surtout de la disparition. Le dernier est d’oublier les participants malveillants en choisissant un protocole prouvé seulement dans le modèle semi-honnête.
À ne pas confondre
Section intitulée « À ne pas confondre »Partage de secret et chiffrement : le chiffrement protège des données par une clé, le partage protège une clé en la répartissant. Seuil et multi-signature : une multi-signature produit plusieurs signatures, chacune liée à une clé identifiable, alors qu’une signature à seuil produit une signature unique sous une clé collective. La première trace qui a signé, la seconde est plus compacte et plus discrète. MPC et FHE : le calcul multipartite répartit le calcul entre plusieurs parties qui échangent des messages, alors que le FHE (Fully Homomorphic Encryption, chiffrement totalement homomorphe) permet à un seul serveur de calculer sur des données chiffrées sans les voir ; ces techniques sont présentées dans la page sur le calcul, l’engagement et l’anonymisation. Tolérance aux pannes et résistance aux compromissions : la première suppose des nœuds qui tombent, la seconde des nœuds qui mentent ; un système conçu pour l’une ne résiste pas automatiquement à l’autre.
🐝 Ce qui arrive si on s’en passe
Section intitulée « 🐝 Ce qui arrive si on s’en passe »Sans partage ni seuil, le secret le plus important tient dans un seul fichier ou dans la mémoire d’une seule personne : sa compromission suffit à tout ouvrir, et son départ suffit à tout fermer. Les sauvegardes chiffrées héritent de ce point unique, si bien que la reprise après sinistre dépend de la disponibilité d’un individu précis le jour du sinistre. Quand le partage existe mais sans authentification des parts, un seul participant malveillant peut fournir une part fausse et faire échouer la reconstruction sans être identifié. Et sans procédure de retrait, un ancien participant conserve indéfiniment une part valide ; la confiance distribuée l’est alors aussi aux absents.
🦫 Explication de la marmotte 🍫
Section intitulée « 🦫 Explication de la marmotte 🍫 »Un secret important, par exemple la clé qui protège des sauvegardes, devient dangereux s’il est stocké à un seul endroit : une seule machine volée suffit à le divulguer, une seule machine perdue suffit à le détruire. Le partage de secret le découpe en plusieurs parts confiées à des personnes ou à des machines différentes. Dans le partage de Shamir, le secret est placé dans une formule mathématique appelée polynôme, et chaque part est un point calculé à partir de cette formule. Avec un seuil fixé, par exemple 3 parts sur 5, trois parts réunies permettent de retrouver le secret, tandis que deux parts n’apprennent strictement rien sur lui. Ce découpage tolère à la fois des pertes, deux parts égarées sur cinq, et des compromissions, deux détenteurs malhonnêtes. Il faut toutefois vérifier l’authenticité de chaque part, sinon une part falsifiée fausse la reconstruction, et prévoir le retrait ou le remplacement d’un participant. Les signatures à seuil vont plus loin : plusieurs participants produisent ensemble une signature sans jamais reconstituer la clé complète en un seul point. Le calcul multipartite permet de même à plusieurs acteurs de calculer un résultat commun sans révéler leurs données respectives. Ces mécanismes ont un coût de calcul et d’organisation, et un accord entre machines sur une décision ne protège pas pour autant la confidentialité des données.
À lire aussi
- Équité, vote, contrats et divulgation contrôléeConserver les protocoles avancés classiques en les réorganisant autour des problèmes d’équité, de décision collective et de divulgation contrôlée.
- Chiffrement homomorphe dans le cloud : promesses et limites réellesEnquête sur le chiffrement homomorphe présenté comme la solution ultime à la confidentialité des calculs cloud, face aux coûts de performance qui le cantonnent à des cas de niche.
- Protéger les données au repos : disque, base, sauvegardeCouvrir le stockage chiffré depuis le disque jusqu’au champ applicatif, en incluant bases de données, archives, sauvegardes, recherche et enveloppe de chiffrement.
- Signer numériquement : preuve publique, politiques de vérificationChoisir, intégrer et exploiter des signatures numériques sans signer une représentation ambiguë ni déléguer la vérification à une politique permissive.
Pages voisines
La citent
- Protéger les données au repos : disque, base, sauvegarde
- Équité, vote, contrats et divulgation contrôlée
- Déployer Vault ou OpenBao pour supprimer les secrets en clair
- Sécuriser les satellites et les liaisons montantes
- Une infrastructure tenue par une seule personne
- Vault PAM et enregistrement des sessions admin
Partager un secret et distribuer la confiance
Elle cite
: les deux pages se citent l’une l’autre.
