Parce que… c’est l’épisode 0x310!

Shameless plug

Description

Dans cet épisode spécial de la série Cybereco, l’animateur Nicolas reçoit Florian Le Mouël, doctorant à Polytechnique travaillant depuis cinq ans avec Kelvin Zero sur la cryptographie distribuée, et Thierry St-Jacques-Gagnon. La discussion porte sur un concept encore peu répandu mais prometteur : la cryptographie à seuil (threshold cryptography), une alternative à la cryptographie conventionnelle où une seule clé protège l’ensemble des données.

Le principe de base

Plutôt que de reposer sur une clé unique, la cryptographie distribuée découpe la clé en plusieurs fragments répartis entre différents acteurs. Un seuil (par exemple deux fragments sur trois) suffit pour reconstituer la capacité de déchiffrer ou signer des données, sans qu’il soit nécessaire de disposer de tous les morceaux. Cette redondance offre une résilience accrue en cas de perte d’un fragment et facilite les mécanismes de récupération.

Mathématiquement, le système s’appuie sur des polynômes. Avec un seuil de deux clés, on utilise un polynôme de degré 1, c’est-à-dire une ligne : un seul point ne permet pas de retrouver la ligne (une infinité de droites peut passer par ce point), mais deux points suffisent à la déterminer de façon unique. Cette propriété se généralise à des degrés supérieurs, permettant de distribuer autant de points que souhaité tout en fixant le nombre minimal nécessaire à la reconstruction.

Cas d’usage principaux

Le cas le plus fréquent évoqué est le stockage de données chez des fournisseurs infonuagiques étrangers. Dans un contexte géopolitique où plusieurs organisations cherchent à réduire leur dépendance envers des acteurs comme Microsoft, Amazon ou Google, la cryptographie à seuil permet de conserver les avantages de ces plateformes (puissance de calcul, redondance géographique) tout en limitant les risques liés à la souveraineté des données, sans devoir développer des compétiteurs locaux à court terme.

Un second cas concerne les équipements IoT ou industriels, souvent limités en stockage et en puissance de calcul, où la gestion classique de clés prépartagées pose un problème logistique et de sécurité au moment des rotations. La cryptographie à seuil permet d’abaisser le niveau de risque toléré sur l’équipement lui-même, puisqu’une opération sensible nécessitera toujours la combinaison avec des fragments gérés dans des environnements plus sécurisés, comme des HSM en centre de données.

Fonctionnement opérationnel

Chaque acteur impliqué (par exemple le fournisseur cloud, l’utilisateur, un administrateur) détient un fragment de clé, appelé « point » sur la ligne ou le polynôme. Point essentiel : la génération de la clé doit elle-même être un processus distribué, afin qu’aucun acteur ne puisse créer la clé complète puis prétendre n’en avoir conservé qu’un fragment. Chaque participant génère sa propre part de façon isolée, en utilisant des preuves à divulgation nulle de connaissance (zero-knowledge), ce qui ancre le modèle dans une logique de confiance zéro : même un acteur malveillant ne peut ni obtenir le résultat final seul, ni empêcher les autres d’y parvenir, sauf en cas de collusion majoritaire (atteinte du quorum contre l’utilisateur).

Lors d’une requête, le fournisseur applique d’abord son propre « masque » sur les données chiffrées, une opération réversible qui ne révèle jamais le contenu en clair de son côté. Les données, toujours chiffrées, sont ensuite transmises au demandeur, qui applique à son tour son propre fragment. Une fois le quorum atteint, les données apparaissent en clair uniquement du côté du dernier participant, sans qu’aucun acteur n’ait eu accès au contenu déchiffré à un moment intermédiaire. Ce mécanisme assure une protection à la fois au repos et en transit, indépendamment de protocoles comme TLS.

La propriété homomorphique

L’un des éléments les plus originaux du système est le caractère homomorphique appliqué aux clés (et non aux données, comme c’est plus souvent le cas). Cela permet d’effectuer des opérations mathématiques sur les fragments sans jamais reconstituer la clé complète, notamment pour mettre à jour un quorum (changer le nombre de participants requis ou remplacer un participant) sans avoir à déchiffrer et rechiffrer l’ensemble des données. Cette flexibilité facilite grandement la gestion du cycle de vie des clés, un enjeu particulièrement coûteux en cryptographie classique.

Configurations observées chez les clients

Les configurations les plus courantes en pratique sont de type « 2 de 3 » ou « 3 de 5 ». Des cas plus complexes existent, comme des systèmes de gouvernance d’entreprise avec des seuils variables selon le type de ressource (par exemple 8 de 15), mais cela implique une gestion plus lourde des autorisations. Pour des cas d’usage asymétriques, comme les signatures sur blockchain, les paramètres peuvent grimper à plusieurs centaines de participants. Le système permet également une récursivité : un fragment peut lui-même être repartagé en sous-quorum, une technique utile notamment pour la gestion des sauvegardes.

Vers la post-quantique

Les invités soulignent que ce modèle décentralisé est particulièrement pertinent dans la perspective d’une migration vers la cryptographie post-quantique, puisque les protocoles d’échange de clés symétriques actuels seront vulnérables aux attaques quantiques. Le NIST (l’organisme américain de certification) vient justement de lancer son tout premier appel à candidatures pour des schémas de cryptographie à seuil. Kelvin Zero prépare une soumission qui se distinguerait en proposant un schéma hybride combinant cryptographie classique et post-quantique — une première québécoise et canadienne dans ce domaine encore very jeune.

Collaborateurs

Crédits

Télécharger .m4a (41.8M) Télécharger .mp3 (34.8M)

Tags: crypto, cybereco, quantique


Tweet