Chaque partie fournit à la fonction F ses propres données d'entrée confidentielles, lesquelles doivent rester secrètes pour les autres parties, à l'exception des informations déductibles du résultat final de la fonction F. Le problème réside dans le fait que la technologie SMPC/SMC doit fonctionner sans l'intervention d'un tiers de confiance (TTP). Or, notre société exige de plus en plus de situations et de cas pratiques nécessitant l'utilisation du SMPC. Cette technologie SMPC peut être classée dans une hiérarchie de primitives cryptographiques ; ses niveaux, du moins complexe au plus complexe, sont les suivants : (1) Tirage à pile ou face faible (WCT). Deux entités A et B génèrent un bit aléatoire ; A souhaite obtenir 0 et B 1, et les deux en sont conscientes. (2) Tirage à pile ou face (CT). Deux entités A et B génèrent un bit aléatoire en échangeant des données. (3) Engagement de bit (BC). L'entité A chiffre un bit pour B et le révèle ultérieurement. Le bit de poids faible (LSB) d'une donnée décimale N est le modulo deux de cette donnée N. (4) OT (Transfert aveugle ou transfert transposé au niveau du bit). L'entité A présente deux bits à B, et B n'en choisit qu'un. A ne peut pas savoir quel bit il a choisi, et B ne connaît pas l'autre bit de A. (4) S2-PC (Calcul sécurisé à deux parties). Les entités A et B saisissent leurs données privées et reçoivent les fonctions conjointes FA(a, b) et FB(a, b).
Objectifs du SMPC :
La technologie de calcul multipartite sécurisé (SMPC) couvre toutes les situations et applications où deux ou plusieurs parties ou entités souhaitent effectuer conjointement et en coopération un calcul ou une tâche. Chaque partie doit fournir des données confidentielles pour réaliser ce calcul, sans les divulguer aux autres parties ni à aucun tiers, y compris une plateforme de traitement des transactions (TTP). Avec la prolifération croissante d'Internet, la technologie SMPC prend une importance grandissante. En calcul distribué, un ensemble de participants ou d'entités en réseau effectuent conjointement un calcul à partir de leurs contributions.
Voici quelques applications où la technologie SMPC est essentielle :
(i) Une entreprise souhaite surveiller le trafic réseau afin de détecter des comportements anormaux spécifiques, mais l'opérateur réseau refuse de lui accorder l'accès et l'entreprise ne souhaite pas révéler la nature du comportement recherché.
(ii) Deux entreprises pharmaceutiques possèdent chacune une base de données de molécules et de résultats de tests toxicologiques et souhaitent combiner leurs résultats sans révéler les molécules présentes dans leurs bases de données respectives.
(iii) Deux organismes financiers envisagent de collaborer sur un projet mutuellement avantageux. Chaque organisme souhaite que ses propres exigences soient satisfaites. Cependant, ces exigences concernent des données confidentielles et exclusives, notamment les projections clients concernant l'évolution future de certains prix, taux d'intérêt et d'inflation, statistiques économiques, etc. Par conséquent, ils ne souhaitent pas divulguer leurs exigences à l'autre partie ni même à un prestataire de services de traitement des transactions (PSTT).
(iv) Une chercheuse, Z, pense être atteinte d'une maladie génétique et souhaite l'étudier. Elle sait qu'un collègue, X, possède une base de données contenant des profils d'ADN (acide désoxyribonucléique) associés à diverses maladies. Elle souhaite solliciter son aide sans révéler ses données confidentielles.
(v) Après une étude de marché coûteuse, l'entreprise X décide d'étendre son marché à une région spécifique. L'entreprise X sait qu'un concurrent, l'entreprise Y, prévoit également de s'étendre à cette région. Stratégiquement, les entreprises X et Y ne souhaitent pas se faire concurrence dans la même région et cherchent donc à savoir si leurs zones d'activité se chevauchent. Elles ont par conséquent besoin d'un moyen de résoudre ce problème tout en gardant leurs zones d'expansion secrètes.
(vi) Deux personnes souhaitent se fiancer, mais aucune ne veut faire le premier pas tant qu'elle n'est pas certaine que l'autre acceptera. Pour ce faire, elles utilisent un système SMPC dont le résultat révélera si les deux personnes souhaitent se marier. Après l'exécution du SMPC, l'une d'elles décidera de faire le premier pas.
Le problème des deux millionnaires de Yao consiste à déterminer lequel de deux individus est le plus riche sans révéler leur fortune. Ce problème est analogue à un problème plus général où deux nombres, A et B, sont donnés, et l'objectif est de déterminer lequel est le plus grand sans révéler leurs valeurs exactes. Un outil clé de la résolution de problèmes par symboles (SMPC) est le partage de secret vérifiable (VSS), où un agent honnête distribue une valeur secrète, S, parmi les participants, autorisant certains à tricher. Ces participants malhonnêtes n'obtiendront aucune information sur S, et les participants honnêtes pourront reconstituer le secret S même face aux agissements malveillants des tricheurs. Un exemple ludique est celui d'un couple qui, après une longue relation, pourrait se marier, mais aucun des deux ne veut faire le premier pas et demander la main de l'autre tant qu'il n'est pas sûr que ce dernier acceptera.
Caractérisation de la technologie SMPC :
L’objectif du SMPC est de permettre aux participants d’effectuer des tâches de calcul distribué sur leurs informations secrètes/privées, les attaques provenant à la fois d’entités externes et d’un sous-ensemble de participants malveillants (dits conspirateurs). Le but de l’attaque est d’obtenir les informations privées de participants honnêtes et non conspirateurs ou de rendre incorrect le calcul prévu. Le SMPC se concentre généralement sur des schémas où aucune information n’est révélée (modèle idéal), mais il existe une autre approche SMPC visant à améliorer les performances et l’efficacité pour les utilisateurs. Cette approche accepte un certain niveau de risque, autorise la divulgation partielle d’informations et ajuste la sécurité en fonction des définitions de sécurité acceptables par l’utilisateur. Le transfert transcodé est un cas particulier de calcul à deux parties où la partie A possède n chaînes d’informations (M1, …, Mn) et la partie B choisit un entier entre 1 et an, par exemple i. L’objectif est que B connaisse Mi et rien d’autre, tandis que la partie A ne doit rien savoir de la valeur de i choisie par B. Il est possible de construire des schémas SMPC (partage de secrets par fragmentation) à sécurité passive à l'aide de divers outils et primitives tels que les chiffrements homomorphes, les transferts transcodés, le partage et la fragmentation de secrets, les preuves à divulgation nulle de connaissance, les nonces basés sur un générateur de nombres pseudo-aléatoires, etc. Dans un contexte militaire, la planification de mission de coalition en est un exemple : les secrets y représentent les ressources des membres de la coalition, et le résultat est l'allocation de ces ressources pour une mission spécifique. En s'accordant sur l'allocation de la fonction F, les deux parties garantissent son équité et, grâce au SMPC, elles préservent la confidentialité de leurs capacités respectives.

Synthèse d'un mécanisme SMPC basé sur le chiffrement homomorphe multiplicatif RSA.
Supposons que l'on souhaite obtenir la moyenne géométrique des valeurs secrètement détenues par trois entités A, B et C. L'entité A possède les paramètres RSA suivants : modulo n = 33, clé publique e = 3, clé privée d = 7. L'entité A détient la valeur secrète x1 (valeur 2), l'entité B détient la valeur confidentielle x2 (valeur 3) et l'entité C dissimule la valeur secrète x3 (valeur 4). L'objectif est d'appliquer un mécanisme SMPC afin que les trois entités obtiennent la moyenne géométrique sans révéler leurs secrets. L'algorithme du protocole ou schéma SMPC est le suivant : (i) L'entité A chiffre sa valeur x1 avec sa clé publique RSA et l'envoie à B. Dans ce cas, x1 est égal à 2 au cube modulo 33, soit 8. (ii) L'entité B chiffre la valeur x2 de A, dans ce cas trois au cube modulo 33, en utilisant la clé publique RSA de A, ce qui donne 27. Elle multiplie ensuite ce résultat par la valeur reçue de A et envoie le résultat modulo 33, soit 18, à C. (iii)
L'entité C chiffre la valeur x de A, ici quatre au cube modulo 33, à l'aide de la clé publique RSA de A, ce qui donne 31. Elle multiplie ensuite cette valeur par celle reçue de B, et la valeur résultante modulo 33, soit 30, est envoyée à A. (iv) L'entité A déchiffre la valeur reçue, ici trente à la puissance sept modulo 33, ce qui donne 24. Elle divise ensuite ce résultat par le nombre d'entités, trois dans ce cas, et envoie le résultat, 8, aux entités restantes, c'est-à-dire les entités B et C, la moyenne géométrique souhaitée, qui est ici la valeur huit.

Synthèse d'un mécanisme à deux parties basé sur le chiffrement homomorphe additif.
Supposons que l'entité A souhaite obtenir une somme arithmétique sans révéler ses valeurs secrètes à l'entité B, qui effectue l'addition. L'entité A chiffre ses deux secrets, par exemple x1, égal à deux, et x2, égal à un. Les paramètres de chiffrement de A sont : clé secrète s = 3, valeur publique g = 28, secret modulo q = 7, inférieur à g. L'inverse multiplicatif de s modulo sept est 19. Le chiffrement des deux secrets x1 et x2 donne les valeurs 6 et 3, soit : C(x1) = (x1 . s) mod g = 6 et C(x2) = (x2 . s) mod g = 3. L'entité A envoie ces deux valeurs chiffrées, six et trois, à B. L'entité B effectue la somme de ces valeurs et renvoie la somme, soit neuf, à l'entité A. L'entité A déchiffre la somme reçue, neuf, à l'aide de : D(9) = (9 . 19) mod 28 = 3. Par conséquent, la somme des valeurs secrètes détenues par A est bien trois, comme nous le savions déjà. L'entité B a effectué la somme sans connaître les termes secrets, deux et un respectivement.
Considérations finales :
Le calcul multipartite sécurisé utilise un large éventail de techniques pour protéger les informations privées de chaque partie ou entité impliquée dans une tâche collaborative. Actuellement, nous assistons à une croissance sans précédent de ce type de calcul dans tous les secteurs : industrie, commerce, réseaux, recherche scientifique, jeux vidéo, cybersécurité, finance, etc. Notre groupe de recherche travaille dans ce domaine depuis vingt ans et collabore à l’international avec diverses entreprises, universités et centres de recherche.
Cet article s’inscrit dans le cadre des activités menées au sein du réseau LEFIS.
Littérature
Areitio, J. « Sécurité de l’information : réseaux, informatique et systèmes d’information ». Cengage Learning-Paraninfo. 2013.
Areitio, J. « Mise en œuvre de la cybersécurité dans l’environnement commercial électronique ». Conectrónica Magazine. N° 162. Novembre 2012.
Areitio, J. « Gestion des risques liés à la sécurité et à la confidentialité des informations ». Conectrónica Magazine. N° 155. Mars 2012.
Areitio, J. « Technologies de dissimulation d’informations : fondements de la protection de la vie privée ». Conectrónica Magazine. N° 132. Novembre 2009.
Areitio, J. « Identification, analyse et corrélation entre protection physique et cybersécurité ». Conectrónica Magazine. N° 161. Octobre 2012.
Blahut, R.E. « Cryptographie et communication sécurisée ». Cambridge University Press. 2014.
Singer, P.W. et Friedman, A. « Cybersécurité et cyberguerre : ce que chacun doit savoir ». Oxford University Press. 2014.
Wu, CH et Irwin, JD « Introduction aux réseaux informatiques et à la cybersécurité ». CRC Press. 2013.
Kostopoulos, G. « Cyberespace et cybersécurité ». Auerbach Publications. 2012.
Camenish, J., Fischer-Hubner, S. et Rannenberg, K. « Gestion de la vie privée et de l’identité à vie ». Springer. 2011.
Stavrou, A. « Disponibilité du réseau des services Internet : menaces et défenses ». Springer. 2010.
Zhan, J. et Matwin, S. « Exploration sécurisée des données ». Springer. 2012.
Saito, WH « L’avenir de la protection de la vie privée et de la sécurité informatique ». Wiley. 2012.
Auteur:
Prof. Dr. Javier Areitio Bertolín – E.Mail :
Professeur à la Faculté d'ingénierie de l'Université de Deusto.
Directeur du groupe de recherche sur les réseaux et les systèmes
