Technologies liées à la protection de la vie privée partie deux : introduction au chiffrement homomorphe

par Zachary Zanussi, Statistique Canada

Avez-vous déjà souhaité qu'il soit possible d'accéder à des données pour effectuer une analyse tout en préservant leur confidentialité? Le chiffrement homomorphe est une technique émergente de protection de la vie privée présentant d'éventuelles applications qui permettent un plus grand accès, tout en maintenant les données chiffrées et sécurisées.

Le premier article de la série, Une brève enquête sur les technologies liées à la protection de la vie privée, a présenté les technologies liées à la protection de la vie privée (TPVP) et la façon dont elles peuvent permettre une analyse tout en protégeant la confidentialité des données. Le présent article élabore sur le sujet en examinant plus en détail l'une de ces techniques, le chiffrement homomorphique, notamment pour discuter de quoi il s'agit, son fonctionnement et ce qu'il peut faire pour vous.

Le présent article commence par un aperçu du chiffrement homomorphe et de certains cas d'utilisation courants. Il fournit une évaluation équilibrée des avantages et des inconvénients du chiffrement homomorphe. Il couvre ensuite certains détails plus techniques pour vous préparer à explorer ces techniques vous-mêmes. À l'issue de cet article, nous espérons que vous souhaiterez poursuivre cet apprentissage en choisissant une bibliothèque de chiffrements homomorphes et en créant vos propres circuits chiffrés.

Des groupes internationaux envisagent actuellement la normalisation du chiffrement homomorphe. Le gouvernement du Canada ne recommande pas d'utiliser le chiffrement homomorphe en pratique, ni toute technique cryptographique, avant sa normalisation par des experts. Même si le chiffrement homomorphe n'est pas encore prêt à être utilisé sur des données de nature délicate, c'est le moment idéal pour explorer ses fonctionnalités ainsi que d'éventuels cas d'utilisation. Un article ultérieur portera sur les activités de normalisation relatives au chiffrement homomorphe, notamment les délais et les procédés attendus.

Qu'est-ce que le chiffrement homomorphe?

Un procédé traditionnel de chiffrement associe du texte en clair lisible par une personne à des cryptogrammes masqués, afin de protéger les données de regards indiscrets. Une fois masqués, ces cryptogrammes sont inaltérables; la modification même d'un seul bit de texte chiffré peut créer un message en texte en clair méconnaissable après déchiffrage. Cela rend le chiffrement traditionnel relativement statique. En revanche, un procédé de chiffrement homomorphe est dynamique; dans le cas de deux textes chiffrés, vous pouvez effectuer des opérations sur les textes en clair sous-jacents. Une opération d'« ajout » homomorphe fournit, par exemple, un texte chiffré qui fournit la somme des deux messages d'origine en texte en clair après déchiffrage. Cela permet de déléguer le traitement informatique à une autre partie, de sorte qu'elle puisse manipuler les données sans y accéder directement.

Un protocole typique d'infonuagique comprend un client qui envoie ses données dans le nuage. Puisque les connexions Internet sont intrinsèquement peu sûres, ce transfert est facilité par une forme de protocole de sécurité des transferts faisant intervenir le chiffrement, comme HTTPS. À la réception, le nuage procède au déchiffrage et au traitement informatique. Pourtant, que faire si vous souhaitez que vos données demeurent secrètes dans le nuage? Grâce à un chiffrement par procédé homomorphe, non seulement les données sont protégées au cours du transfert, mais elles le sont également tout au long du processus de traitement informatique. À l'issue de ce dernier, le nuage retransmet les résultats chiffrés au client, qui peut les déchiffrer et consulter les résultats à sa guise.

Le terme « homomorphe » vient du grec et se traduit approximativement par de « forme similaire ». En mathématiques, un homomorphisme est une application entre une structure mathématique et une autre qui préserve les opérations de la première structure. Pour créer un procédé de chiffrement homomorphe, une carte de chiffrement brouillant suffisamment les données est nécessaire, de sorte que personne ne puisse savoir ce qu'elles sont, tout en protégeant simultanément la structure des données, afin que des opérations sur les textes chiffrés entraînent des résultats prévisibles sur les textes en clair. Ces objectifs paradoxaux soulignent la difficulté de créer de tels procédés.

Figure 1 : Illustration des avantages du chiffrement homomorphe

Figure 1 : Illustration des avantages du chiffrement homomorphe. La série de figures de gauche représente un chiffrement ordinaire; pour appliquer l'analyse souhaitée, les données doivent d'abord être déchiffrées à l'aide de la clé privée. Pour que le transfert des résultats soit sécurisé, les données doivent être chiffrées à nouveau. Les données sont en outre vulnérables pendant toute la durée du traitement informatique. La série de figures de droite représente le chiffrement homomorphe; la partie effectuant le traitement informatique n'a besoin d'aucun renseignement de nature délicate pour procéder aux calculs, et les données ainsi que les résultats sont protégés par chiffrement.

Description - Figure 1

Illustration de la différence entre des traitements informatiques avec chiffrements ordinaire et homomorphe. Dans le cas du chiffrement ordinaire, les données (une boîte de lignes dotée d'un cadenas) doivent d'abord être déchiffrées à l'aide d'une clé; ce qui donne la même boîte marquée d'un cadenas ouvert. Si les résultats doivent être communiqués à une autre partie, ils doivent alors être à nouveau chiffrés à l'aide d'une autre clé. Dans le cas d'un chiffrement homomorphe, le traitement informatique peut être effectué directement, sans l'intervention de renseignements secrets tels que des clés.

Que pouvez-vous faire avec le chiffrement homomorphe?

Plusieurs paradigmes informatiques distincts peuvent être améliorés grâce au chiffrement homomorphe, notamment l'informatique déléguée, le partage de données et la diffusion de données. Ces différents paradigmes s'articulent tous autour du fait que le détenteur des données, l'analyste et les plateformes informatiques sont souvent des parties totalement distinctes; le but étant de réduire ou d'éliminer les préoccupations en matière de protection de la vie privée soulevées lorsque l'une de ces parties ne devrait pas accéder aux données. Il est important de noter que le chiffrement homomorphe utilise un modèle de sécurité plus faible qu'une cryptographie traditionnelle et que des précautions doivent être prises pour veiller à ce qu'il soit utilisé en pratique en toute sécurité.Note de bas de page 1

L'application probablement la plus simple fait intervenir un détenteur de données délégant le traitement informatique à une autre partie, comme le nuage. Dans ce scénario, un client chiffre ses données et les envoie dans le nuage avec des instructions. Le nuage peut suivre ces instructions de manière homomorphe et retourner le résultat chiffré, en n'apprenant rien sur les valeurs d'entrée, de sortie ni intermédiaires. Ces instructions suivent le modèle de circuits, qui sont des séquences d'opérations arithmétiques appliquées à des extrants. Il convient de souligner que créer des circuits corrects et efficaces avec chiffrement homomorphe n'est pas toujours évident, mais il n'y a théoriquement pas de limite aux calculs pouvant être exécutés. Statistique Canada a, par exemple, terminé des validations de principeNote de bas de page 2 en appliquant une analyse statistique et un entraînement de réseau neuronal sur des données chiffrées.

Pour reprendre le scénario d'informatique déléguée, envisagez un cas faisant intervenir de multiples détenteurs de données. Ces sources de données souhaitent partager leurs données, mais des enjeux de confidentialité les en empêchent. Le procédé exact dépend du modèle de confiance; toutefois, le chiffrement homomorphe peut permettre à ces différentes parties de chiffrer leurs données et de les partager avec une autorité centrale ayant le pouvoir de procéder à un traitement informatique de manière homomorphe. Ces applications de partage de données peuvent permettre de meilleures analyses dans des scénarios où les données sont limitées et protégées. Un exemple est un oncologue qui souhaite tester ses hypothèses; les données sur les patients sont généralement limitées aux hôpitaux traitants et combiner ces ensembles non seulement accroît la force du modèle, mais élimine les biais géographiques en matière de données. Par conséquent, permettre à plusieurs hôpitaux de partager leurs données chiffrées et aux oncologues de procéder à des traitements informatiques sur cet ensemble de données conjoint chiffré permet de meilleurs recherches et résultats en matière de soins de santé.

Envisagez également des scénarios faisant intervenir un détenteur de données central et plusieurs parties souhaitant analyser ces données. Les centres de données de recherche de Statistique Canada sont un tel exemple, puisqu'ils sont hébergés dans des installations sécurisées que gère l'organisme dans l'ensemble du Canada. Des chercheurs agréés peuvent obtenir une autorisation spéciale d'accéder à des microdonnées au sein de ces sites sécurisés. Même s'il est sécurisé, ce processus d'autorisation prend du temps et les chercheurs doivent pouvoir se rendre physiquement sur ces sites. Avec le chiffrement homomorphe, les centres de données pourraient peut-être héberger les données chiffrées et en fournir l'accès à toute partie le demandant. Cela réduirait les coûts administratifs d'ajouter de nouveaux chercheurs et étendrait l'accès aux données conformément à l'initiative de données ouvertes du Canada.

Figure 2 : Illustrations de ces trois paradigmes

Figure 2 : Illustrations de ces trois paradigmes. Tout d'abord, le traitement informatique délégué; le détenteur de données chiffre et envoie les données au nuage, qui retourne les résultats chiffrés après avoir procédé à des calculs homomorphes. Ensuite, plusieurs parties chiffrent et envoient leur part d'un ensemble de données distribué que le nuage peut utiliser pour procéder à une analyse, sans compromettre les principes de confidentialité de chaque détenteur de données. Enfin, un détenteur de données central peut donner accès à un ensemble de données chiffré à des analystes. Ces derniers peuvent ainsi faire l'objet d'une surveillance et de restrictions moindres, car ils n'ont jamais un accès direct aux données.

Description - Figure 2

Illustrations des trois paradigmes. Dans le cadre du paradigme de traitement informatique délégué, le détenteur de données envoie ses données chiffrées au nuage, qui lui retourne les résultats chiffrés. Dans le paradigme de multiples détenteurs de données, ces derniers peuvent individuellement envoyer leurs données chiffrées, permettant au serveur infonuagique d'effectuer un traitement informatique conjoint sur l'union de leurs ensembles de données, fournissant ainsi un résultat analytique plus robuste. Dans le paradigme de « banque de données », le nuage héberge les données et peut envoyer des données chiffrées à tout analyste choisi, sans crainte d'une mauvaise utilisation des données.

Le chiffrement homomorphe peut être utile au-delà de calculs numériques. Par exemple, pour un client en possession d'un ensemble de données de nature délicate, l'intersection d'ensembles privés (PSI) permet l'apprentissage de l'intersection de cet ensemble avec un ensemble de données sur un serveur, sans que ce serveur n'apprenne l'ensemble de données du client et sans que le client n'apprenne quoi que ce soit sur les données du serveur au-delà de l'intersection. La mise en correspondance de chaînes privées (PSM) est un protocole similaire permettant au client d'interroger une base de données textuelle pour une sous-chaîne correspondante. À l'aide de ces primitives cryptographiques et d'autres, vous pouvez imaginer une vaste suite protégeant la vie privée et couplant des données entre divers ministères et établissements publics. Même si un tel système est ambitieux et que les modes de mise en œuvre exacts ne sont pas encore clairs, cela permet d'envisager les types de systèmes auxquels nous pouvons aspirer à mesure que des tâches plus complexes sont effectuées à l'aide du chiffrement homomorphe et d'autres technologies liées à la protection de la vie privée.

Inconvénients du chiffrement homomorphe

Malgré les nombreux avantages de l'utilisation du chiffrement homomorphe, comme pour toute technologie, il présente de potentiels inconvénients. Le prix de la sécurité cryptographique est le coût computationnel; selon l'analyse, le calcul chiffré peut être plus dispendieux de plusieurs ordres de grandeur que le calcul non chiffré. Il existe également un coût de décompression des données qui peut être assez important. Ce coût de décompression des données est aggravé par le fait que la plupart des protocoles de chiffrement homomorphe font intervenir un transfert de données chiffrées. Alors que le stockage infonuagique est relativement peu coûteux, le transfert de données peut être coûteux et complexe.

Le chiffrement homomorphe autorise en outre un ensemble limité de calculs en mode natif. Seules l'addition, la soustraction et la multiplication sont natives à la plupart des procédés arithmétiques et tous les autres calculs (exponentiels, fonctions d'activation, etc.) doivent être exprimés approximativement par un polynôme. Il convient de souligner que cela est généralement le cas avec tous les ordinateurs, mais lorsqu'un ordinateur moderne cache ce fait à l'utilisateur, les bibliothèques de chiffrements homomorphes exigent actuellement de l'utilisateur qu'il précise comment calculer ces fonctions non insignifiantes.Note de bas de page 3 Dans certains procédés, il convient également de se préoccuper de la profondeur des calculs tentés. En effet, ces procédés introduisent du bruit dans les données chiffrées pour les protéger.

Ce bruit est aggravé par des calculs successifs et, à moins d'être réduit,Note de bas de page 4 dépasserait éventuellement le signal; le déchiffrage ne fournirait alors plus les résultats attendus. Le choix des paramètres de chiffrement est important dans ce cas. Pour un circuit donné, il existe un ensemble de paramètres suffisamment grand pour être adapté; toutefois, gérer des paramètres plus importants accroît le coût de calcul du protocole.

Les coûts supplémentaires en termes de calcul et de création de circuits peuvent-ils être justifiés? Le chiffrement homomorphe permet des calculs potentiellement impossibles autrement. Cela concerne des ensembles de données de nature délicate en particulier, comme les données sur la santé. Le coût auquel fait face un analyste pour obtenir les autorisations de travailler sur de telles données est énorme, tout comme d'autres complications, comme des environnements informatiques contrôlés. Une fois les données partagées, comment vérifier que les analystes respectent les règles? Certains détenteurs de données peuvent rechigner à permettre à quiconque d'accéder à leurs données; sans des mesures supplémentaires, comme le chiffrement homomorphe, cette analyse est peut-être impossible. La décision entre un « calcul coûteux » et « aucun calcul » est bien plus facile à prendre.

De plus, divers procédés et leur mise en œuvre sont un domaine actif de recherche et les mises en œuvre de bibliothèques permettent régulièrement des améliorations de leurs algorithmes de calcul homomorphe et de compression de données. D'importants investissements en accélération matérielle pour le chiffrement homomorphe ont récemment été faits. Cela est similaire au matériel installé sur la plupart des ordinateurs, qui comprend des circuits électroniques particuliers conçus pour effectuer des opérations de chiffrement et de déchiffrage aussi rapidement que possible. Cela pourrait permettre aux ordinateurs infonuagiques qui utilisent cette accélération du chiffrement homomorphe d'effectuer des analyses sur des données chiffrées à des vitesses plus proches de celles s'appliquant à des données non chiffrées.

Malgré ces inconvénients, il y a lieu de penser que le chiffrement homomorphe deviendra un important outil de protection de la vie privée. C'est par conséquent le moment idéal de commencer à examiner ce que ces techniques peuvent permettre de faire.

Mathématiques du chiffrement homomorphe

Nous allons maintenant plonger dans les rouages mathématiques internes du chiffrement homomorphe, notamment des détails cryptographiques. Nous espérons que même les lecteurs non férus de mathématiques pourront saisir les bases du fonctionnement de ces procédés. Il convient de souligner que le reste de cette section fournit des détails découlant du procédé de Cheon, Kim, Kim et Song, intitulé chiffrement homomorphe pour l'arithmétique de nombres approximatifs (le contenu de cette page est en anglais), mais la communauté cryptographique l'appelle généralement CKKS. Cela dit, la majeure partie de ce qui est mentionné ici s'applique également à d'autres procédés avec seulement de légères modifications.

Au cœur de tout cryptosystème à clé publique se trouve un problème mathématique jugé difficile à résoudre, sauf en ayant accès à un renseignement particulier appelé une clé secrète (ou privée). Une clé publique associée peut être utilisée pour chiffrer des données en texte clair pour produire un texte chiffré, mais seule la connaissance de cette clé secrète permet de rétablir le texte en clair initial à partir de ce texte chiffré. Puisque la clé publique ne peut pas servir au déchiffrage, elle peut être partagée avec toute personne souhaitant chiffrer des données avec la confiance que seul le détenteur de la clé secrète peut déchiffrer le texte chiffré pour accéder au texte en clair.

La plupart des procédés de chiffrement homomorphe ont recours à des variantes de l'hypothèse de difficulté d'apprentissage avec erreurs (LWE). Cela décrit la variante annulaire appelée apprentissage annulaire avec erreurs (RLWE). Au lieu de traiter de nombres entiers, ce procédé traite de polynômes dotés de coefficients entiers. Vous pouvez, par exemple, utiliser l'espace de polynômes avec coefficients entiers modulo q ordres de grandeur inférieur à N; exprimé sous la forme Rq=Zq[X]/XN-1. Vous pouvez considérer cet espace simplement comme des listes de nombres entiers N, chacun inférieur à q. Généralement, ces valeurs devraient être relativement grandes; par exemple N=215=16,384 et q ~ 2800. Cela rend Rq suffisamment grand pour y cacher des secrets! La figure 3 fournit un petit exemple du type d'espace avec lequel nous travaillerions.

Figure 3 : Petit exemple d'anneau d'un type pouvant être utilisé pour le chiffrement homomorphe, ainsi que quelques-uns de ses éléments

Figure 3 : Petit exemple d'anneau d'un type pouvant être utilisé pour le chiffrement homomorphe, ainsi que quelques-uns de ses éléments. Remarquez que la somme ou le produit de ces éléments est un autre élément de l'anneau.

Description - Figure 3

Exemple d'anneau pouvant être intéressant pour un travail avec le chiffrement homomorphe.

R17=Z17[X]/X16-1
X15+11X14+X12+5X7+2X6+4X2+X+16
X4+13X3+5X2+X+8
X10+16X8+X6+16X4+X2+16

Ici, la valeur de q est 17 et la valeur de N est 16. Des exemples de polynômes de l'anneau sont également indiqués; un exemple est le polynôme x4+13x3+5x2+x+8.

Dans le cas de deux polynômes, par exemple, vous pouvez les ajouter ou les multiplier. Le résultat de ces opérations est toujours un autre polynôme.Note de bas de page 5 Rq devient ainsi un type de bac à sable au sein duquel vous pouvez évoluer librement. Les mathématiciens appellent un ensemble présentant cette propriété un anneau; la façon dont ces opérations influent sur les éléments de l'anneau est ce que l'on appelle la structure. La propriété spéciale du chiffrement homomorphe est qu'il existe des opérations dans l'espace du texte chiffré qui correspondent de façon homomorphe aux opérations de l'espace de texte en clair sous-jacent. On préfère l'utilisation d'anneaux polynomiaux, car les opérations sont efficaces et on juge le problème RLWE difficile.

Comment cache-t-on un secret dans un espace mathématique? Supposez que vous disposez de quatre polynômes aléatoiresNote de bas de page 6 dans Rq, appelés a, s, e, et b. L'hypothèse de difficulté RLWE énonce qu'il est très difficile de distinguer une série de paires de la forme (a,as+e) ou de la forme (a,b). Ici, « très difficile de distinguer » signifie que « les paramètres peuvent être définis de telle sorte que tous les ordinateurs les plus puissants du monde fonctionnant ensemble avec les meilleurs algorithmes connus ne pourraient pas résoudre le problème ». Les polynômes a et b peuvent être échantillonnés de façon aléatoire uniformément au sein de tous les Rq, mais les autres ont une forme spéciale. Dans le cadre du procédé CKKS, s a les coefficients ±1  ou 0 et nous échantillonnons les coefficients de e dans une répartition gaussienne discrète sur Zq centrée autour de 0. Dans le reste de cet article, nous allons simplement qualifier ces polynômes de « petits », car, dans les deux cas, leurs coefficients sont proches de 0.

La difficulté du problème RLWE permet de garder un secret comme suit : remarquez que la première paire est corrélée; il existe un facteur de a dans les deux polynômes, alors que dans la deuxième, il n'existe aucune corrélation entre les a et b sélectionnés aléatoirement. Imaginez maintenant qu'une personne vous remette de nombreuses paires toutes de la forme (a,as+e) pour de nombreuses valeurs différentes de e et une constante s, ou toutes des paires complètement aléatoires. Selon la difficulté de RLWE, non seulement vous ne pourriez pas trouver s de façon fiable en fonction des paires (a,as+e), mais vous ne pourriez pas non plus déterminer de façon fiable la paire vous ayant été donnée! La figure 4 fournit un petit exemple de ce problème pour que vous vous y exerciez chez vous.

Figure 4 : Quatre paires de polynômes

Figure 4 : Quatre paires de polynômes dans R17=Z17[X]/X16-1 • réparties en deux groupes. Un groupe est distribué comme (a,as+e) pour certains « petits » s fixes et deux « petits » e aléatoires différents et l'autre groupe est de la forme (a,b). Savez-vous lequel est lequel? Qu'en est-il si 17 devient 2800 et 16 devient 16,384? Imaginez maintenant d'essayer de trouver s. Veuillez noter que dans l'hypothèse de RLWE, un seul de ces groupes vous serait fourni et non les deux.

Description - Figure 4

Quatre paires de polynômes. Cela est supposé être un petit exemple du problème RLWE pour que vous vous y exerciez chez vous. Les paires polynomiales sont réparties en deux groupes. Un groupe est réparti sous forme (a,as+e)  pour un « petit » polynôme s et l'autre est de la forme (a,b) pour a et b aléatoires. Savez-vous lequel est lequel? Les polynômes de la figure sont reproduits ci-dessous :

(x4+4x3+10x+1,x8+6x7+x6+8x5+12x4+4x3+10x2+8x+14)
(x4+12x3+2x2+5x+11, x8+14x7+14x6+12x5+9x4+13x3+8x2+6x+7)
(x4+5x3+3x2+8, x8+4x7+12x6+16x5+15x4+3x3+6x2+9x+8)
(x4+9x3+7x2+14x+1, x8+413x7+9x6+14x5+2x4+8x3+x2+13x+12)

La sécurité des procédés fondés sur RLWE découle du fait que si a, s et e sont donnés, il est facile de calculer a*s + e, mais il est pratiquement impossible de trouver s à partir de a et a*s + e. Vous pouvez créer un système de chiffrement de clé publique comme suit :

  • Fixez votre espace Rq en choisissant un coefficient modulus q et un polynôme modulus de degré N.
  • Choisissez une « petite » clé secrète s aléatoire, un a uniformément aléatoire, et un « petit » e aléatoire pour créer votre clé publique (a, -as+e,a). Remarquez la valeur négative dans cette paire; cela rend le processus de chiffrement plus simple, mais n'influe pas sur la sécurité de RLWE.
  • Partagez votre clé publique avec le monde entier et personne ne pourra trouver votre clé secrète! Ainsi, toutes les personnes possédant cette clé publique peuvent chiffrer les données et les envoyer à une partie pour y appliquer des calculs, de façon homomorphe. À la fin, les résultats peuvent également uniquement être déchiffrés et affichés à l'aide de la clé secrète.

Pour chiffrer les données, celles-ci doivent d'abord être codées comme vecteur de v nombres réels. Cela est simple lorsque vous travaillez avec des données numériques et la pratique courante lors d'un travail avec des données textuelles et autres. Pour ce chiffrement, le vecteur de v données est d'abord codé comme polynômeNote de bas de page 7 m dans Rq et combiné avec la clé publique, afin d'obtenir un texte chiffré, désigné par [v]. Maintenant, envoyez cela à la partie informatique effectuant les additions et multiplications homomorphes pour mettre en œuvre le calcul souhaité. La figure 5 représente un circuit simple calculant une fonction polynomiale. Une fois les calculs effectués et les textes chiffrés résultants obtenus, vous pouvez utiliser votre clé secrète pour déchiffrer et afficher les résultats.

Figure 5 : Visualisation d'un circuit homomorphe

Figure 5 : Visualisation d'un circuit homomorphe. Un vecteur de valeurs peut être chiffré en un simple texte chiffré et faire simultanément l'objet de calculs. La figure représente seulement une réalisation d'un circuit pour calculer le polynôme f(x). Les valeurs avec cadenas sont chiffrées et donc illisibles pour la partie effectuant les calculs.

Description - Figure 5

Circuit homomorphe évaluant la fonction nf(x)=x3+4x2+2x+1 sur un vecteur de valeurs. Les cadenas représentent les valeurs chiffrées et donc illisibles pour la partie effectuant les calculs. Les flèches et les opérations indiquent la façon dont il est possible de coder en fait le circuit dans une bibliothèque de chiffrements homomorphes.

Même si le présent article n'a pas exploré tous les détails de la mise en œuvre mathématique de ces opérations, la description du chiffrement homomorphe jusqu'à présent fournit le contexte nécessaire pour en apprendre plus en la matière.

Comment commencer à utiliser le chiffrement homomorphe

Pour vous lancer en chiffrement homomorphe, explorez certaines des bibliothèques de chiffrements homomorphes en source ouverte disponibles; vous pouvez essayer Microsoft SEAL, PALISADE Homomorphic Encryption Software Library, TFHE: Fast Fully Homomorphic Encryption over the Torus, voire Concrete: Open-source Homomorphic Encryption Library si vous êtes utilisateur de Rustacean also know as someone who uses Rust (le contenu de ces pages est en anglais). Ces diverses bibliothèques mettent en œuvre de multiples procédés de chiffrement homomorphe; vous pouvez choisir celui qui convient le mieux à votre cas d'utilisation. Nous soulignons que, jusqu'à la fin du processus de normalisation, le gouvernement du Canada ne recommande pas d'utiliser le chiffrement homomorphe avec tout type de données de nature délicate.

Même si tous ces procédés de chiffrement homomorphe différents permettent de mettre en œuvre la plupart des cas d'utilisation, certains seront plus performants que d'autres sur certains problèmes. Le procédé CKKS est conçu pour fonctionner sur des nombres réels; si les statistiques ou l'apprentissage automatique vous intéressent, c'est là que vous devriez probablement commencer! Brakerski/Fan-Vercauteren et Brakerski-Gentry-Vaikuntanathan sont parfaits pour l'arithmétique de nombres entiers et mettre en œuvre les primitives informatiques comme l'intersection d'ensemble privé ou la correspondance de chaînes. TFHE met en œuvre des fonctions logiques en mode natif et actualise le bruit de texte chiffré à chaque opération, ce qui permet d'améliorer l'efficacité lorsque les profondeurs de circuit sont plus longues. Nous encourageons les lecteurs intéressés à essayer des circuits simples en utilisant chaque procédé et à en comparer les résultats et les performances!

Si vous souhaitez de plus amples renseignements sur les aspects de cybersécurité du chiffrement homomorphe, notamment les activités de normalisation, communiquez avec le Centre canadien pour la cybersécurité par courriel à l'adresse contact@cyber.gc.ca et par téléphone au 613-949-7048 ou 1-833-CYBER-88.

Conclusion

Le présent article a exploré en détail le chiffrement homomorphe, de ses applications jusqu'au problème RLWE. Cette série sur les technologies liées à la protection de la vie privée se penchera ensuite sur des validations de principe effectuées en appliquant le chiffrement homomorphe à Statistique Canada! Elle couvrira également certains des aspects plus avancés de l'interface CKKS, notamment les rotations, le choix des paramètres, la mise en paquet, le bootstrap, la mise à l'échelle et les niveaux.

Souhaitez-vous être tenu au courant de ces nouvelles technologies? Voulez-vous faire état de vos travaux dans le domaine de la protection de la vie privée? Consultez la page GCConnex de notre communauté de pratique sur les technologies de protection de la vie privée (réservée aux employés du gouvernement du Canada), afin de discuter de cette série d'articles sur la protection de la vie privée, d'interagir avec des pairs qui s'intéressent à la protection de la vie privée, et de partager des ressources et des idées avec la communauté. Vous pouvez également commenter ce sujet ou fournir des suggestions d'articles futurs pour cette série.

Note : Nous souhaitons remercier le Centre canadien pour la cybersécurité et l'Institut Tutte pour les mathématiques et le calcul, faisant tous deux partie du Centre de la sécurité des télécommunications, pour leur participation au présent article.

Date de modification :