Sélection de la langue

Recherche

Blogue savoir techno : Calculer les yeux bandés – lever le voile sur le chiffrement homomorphe

La relation entre vie privée et technologie est complexe. Souvent, les deux s’opposent l’une à l’autre et sont interprétées à travers le prisme d’intérêts concurrents, où un progrès dans l’une conduit nécessairement à une réduction dans l’autre. S’il peut être difficile à admettre, ce point de vue comporte une part de vérité. Il repose sur une véritable intuition qui remonte au moins à 1890, lorsque Samuel Warren et Louis Brandeis ont écrit l’article novateur « The Right to Privacy » (Le droit à la vie privée)Note de bas de page 1.

Après avoir observé et – du moins dans le cas de WarrenNote de bas de page 2 – subi directement les effets néfastes sur les individus et leur famille du journalisme tabloïd non réglementé, Warren et Brandeis souhaitaient formuler un nouveau principe sur lequel fonder les revendications en matière de vie privée. Les deux auteurs ont soutenu que c’est la « personnalité inviolable » d’un individu et non les droits de propriété commerciale qui confère à la vie privée sa véritable légitimité en tant que droit fondamental. Dans cette optique, la vie privée se voit accorder une certaine primauté sur d’autres intérêts, y compris les intérêts économiques d’autrui. Pour Warren et Brandeis, cela signifiait reconnaître que la vie privée et certaines utilisations des innovations techniques alors récentes qu’étaient « les photographies et l’activité journalistique instantanées » ne pouvaient coexister. Pour que la protection de la vie privée progresse, il fallait imposer des limites importantes à cette technologie.

Pourtant, la vie privée et la technologie ne sont pas toujours en conflit. En fait, les deux peuvent entretenir une sorte de relation symbiotique, dans laquelle chacune soutient et renforce l’existence de l’autre. On peut combiner la protection de la vie privée et l’utilisation de la technologie, aboutissant à une situation qui profite à tous les intéressés. Les technologies qui entrent directement dans cette catégorie de valeurs portent le nom de technologies d’amélioration de la confidentialité (TAC).

Cet article du Blogue savoir techno est la suite de notre série sur les TAC. Dans un article précédent, nous avons abordé la question de la confidentialité différentielle et de l’apprentissage fédéré. Dans un autre, nous avons analysé les avantages et les inconvénients des données synthétiques. Nous abordons ici un nouveau sujet : le chiffrement homomorphe.

Introduction

Le chiffrement homomorphe est une forme particulière de chiffrement dont la structure permet d’effectuer des opérations mathématiques directement sur les données chiffrées ou le « texte chiffré », sans qu’il soit nécessaire de procéder à un déchiffrement préalable. Le résultat d’une opération homomorphe est un nouveau texte chiffré qui, une fois déchiffré, est équivalent au résultat de la même opération effectuée sur le message en clair. Formellement, le chiffrement homomorphe satisfait à la propriété suivante :

  • Dec(Enc(a) ⊕ Enc(b)) = Dec(Enc(a + b)), où ⊕ représente l’opération d’addition homomorphe; ou plus généralement
  • Dec(f’(Enc(x))) = Dec(Enc(f(x)), où f’(x) représente la version homomorphe de la fonction f(x).

La meilleure façon d’expliquer le fonctionnement conceptuel du chiffrement homomorphe, de façon générale, est peut-être de recourir à une analogieNote de bas de page 3.

Dans tous les systèmes de chiffrement, le texte chiffré est censé agir comme une boîte solidement verrouillée contenant le message d’origine en clair. Seule une personne ayant accès à la clé secrète peut déverrouiller la boîte et lire le contenu du message qu’elle contient. Sinon, la boîte devrait être impénétrable. Les seules autres formes de traitement sont triviales et non interactives : la boîte peut être transmise ou stockée. Cette propriété des systèmes de chiffrement est à l’origine de la distinction que l’on entend souvent entre le chiffrement « en transit » et le chiffrement « au repos ».

Cependant, avec le chiffrement homomorphe, la conception du texte chiffré est plus sophistiquée. Elle continue à agir comme une boîte verrouillée contenant le message original, mais en plus, la boîte est équipée d’une paire de gants spéciaux intégrés. Avec les gants, n’importe qui peut accéder à l’intérieur et manipuler le contenu du message. Par exemple, la personne peut additionner ou multiplier des valeurs. Mais leur mode d’accès est limité. Si les gants permettent de « toucher » le message, ils ne permettent pas de le « voir ». La personne qui enfile les gants ne peut entrer dans la boîte et, ainsi, ne devrait pas pouvoir connaître le contenu réel du message à l’intérieur.

Le déverrouillage de la boîte s’effectue de la même manière qu’avec les systèmes de chiffrement traditionnels. Seule une personne ayant accès à la clé secrète peut le faire. Toutefois, au lieu du message original, le détenteur de la clé voit maintenant le résultat des manipulations effectuées sur ce message.

Cette capacité du chiffrement homomorphe à permettre à des processeurs externes d’effectuer certains types de calculs sur des données chiffrées est ce qui a conduit certains à le qualifier de « Saint-Graal » de la cryptographie. La protection offerte par le chiffrement ne limite plus les formes de traitement à la transmission et au stockage de données sensibles. Grâce au chiffrement homomorphe, il est possible de protéger la confidentialité de ces données même lorsqu’elles sont utilisées.

Cette nouvelle dynamique du chiffrement « en cours d’utilisation » ouvre la voie à un certain nombre d’applications nouvelles et émergentes du chiffrement homomorphe. Le cas d’usage le plus souvent mentionné est l’infonuagique. Dans le cadre de l’infonuagique traditionnelle, un fournisseur de services infonuagiques peut accéder aux données de ses clients en tant qu’administrateur du système des services qu’il fournit. Si les données des clients doivent être chiffrées en transit et au repos, elles ne le sont pas pendant le traitement, pour autant que les services infonuagiques aillent au-delà du simple stockage de données; le fournisseur de services infonuagiques dispose donc d’un point d’accès.

Au-delà des menaces externes générales comme les pirates informatiques, cela signifie que les données des clients sont soumises à des risques supplémentaires tels que les menaces internes associées aux employés du service infonuagique et les demandes d’accès secrètes des gouvernements. Toutefois, avec le chiffrement homomorphe, il est possible que les données du client restent chiffrées tout au long de leur traitement infonuagique et ne soient déchiffrées que lorsqu’elles atteignent les systèmes informatiques détenus et gérés par le client. Cela permettrait de se prémunir contre les risques pour la confidentialité et la sécurité mentionnés ci-dessus.

Une autre application possible concerne la technologie des chaînes de blocs. Par défaut, toutes les données d’une chaîne de blocs sont publiques et lisibles par toute personne ayant accès au registre. Pour les applications de paiement comme Bitcoin, cela signifie que les soldes et les transactions des utilisateurs sont stockés sur la chaîne en clair. Il en va de même pour les plateformes de contrats intelligents comme Ethereum, à la différence près que les données publiques de la chaîne ne sont pas nécessairement de nature financière. Il peut s’agir de n’importe quel type de données, y compris les dossiers médicaux, en fonction de l’objectif du contrat intelligent.

La nature publique par défaut de la technologie des chaînes de blocs présente des risques importants pour la vie privée des personnes. Par exemple, certains investisseurs ont été soumis à des actes de violence ciblée visant le « vol de crypto ». Au niveau sociétal, l’idée même d’une base de données publique immuable contenant l’historique complet des transactions qui y sont effectuées contredit de nombreux principes bien établis en matière de protection de la vie privée. Alors que les partisans de la chaîne de blocs citent souvent l’absence d’autorité centrale comme une vertu favorisant une plus grande liberté, cette même structure décentralisée offre également la possibilité d’une surveillance de masse à une échelle et à un niveau d’efficacité que même les régimes les plus oppressifs auraient du mal à reproduire.

Cependant, avec le chiffrement homomorphe, il est possible que les données publiques sur la chaîne restent chiffrées tout au long de leur traitement sur une chaîne de blocs. En général, les cas d’usage applicables se concentrent sur les chaînes de blocs de contrats intelligents et nécessitent les capacités d’une autre TAC, à savoir les preuves à divulgation nulle de connaissance (ZKP). Par exemple, en utilisant une combinaison de chiffrement homomorphe à clé unique et à clés multiples ainsi que des ZKP, des chercheurs ont montré qu’il est possible de concevoir une plateforme de contrats intelligents basée sur la chaîne de blocs qui peut fonctionner sur les données chiffrées de plusieurs utilisateurs entièrement sur la chaîne, sans qu’il soit nécessaire de coordonner les transactions déchiffrées hors de la chaîneNote de bas de page 4. Or, un compromis important à prendre en compte dans cette approche est que la conception multi-clé nécessiterait ce qui est, en fait, une autorité centrale pour gérer les clés. Cette utilisation du chiffrement homomorphe demeure un domaine de recherche actif.

Mais où en sommes-nous exactement dans cette quête du « Saint-Graal » de la cryptographie? Au-delà de l’analogie simple d’une boîte fermée à clé accessible au moyen de gants spéciaux, comment fonctionne réellement le chiffrement homomorphe? Ne présente-t-il que des avantages par rapport aux formes de traitement en clair? Ou bien présente-t-il également certains inconvénients et pose-t-il des défis permanents aux praticiens?

Dans cet article de blogue, nous allons explorer certains éléments clés du chiffrement homomorphe dans l’espoir d’apporter des réponses aux questions ci-dessus. Précisons que ce document ne fournit pas d’indications sur l’application du chiffrement homomorphe dans le cadre des lois fédérales sur la protection de la vie privée. Notre objectif est de discuter de certains avantages et défis pour contextualiser notre compréhension d’un point de vue technique, par opposition à un point de vue juridique ou politique.

Qu’est-ce que le chiffrement?

Le chiffrement homomorphe est une technologie complexe, composée de plusieurs éléments et processus. Plutôt que de se lancer directement dans une discussion à ce sujet, il est utile d’adopter une approche graduelle, en commençant par une discussion sur ses fonctionnalités les plus élémentaires et en progressant graduellement vers ses fonctionnalités les plus sophistiquées. À la base, le chiffrement homomorphe est une forme de chiffrement. La première chose à faire pour le comprendre est donc de saisir les principes de base du chiffrement.

Lorsque nous entendons le mot « chiffrement », nous sommes tentés de penser immédiatement aux communications numériques modernes et à l’utilisation du chiffrement dans des applications comme la messagerie instantanée, les services bancaires en ligne ou les réseaux privés virtuels. Même si nous ne « voyons » pas le chiffrement à l’œuvre, nous savons qu’il est là, en arrière-plan, grâce à des indices comme le « s » de « https » ou, ce qui est désormais plus courant, l’icône du cadenas à côté de la barre d’adresse de notre navigateur Web.

En fait, le chiffrement est une pratique très ancienne; les algorithmes permettant d’obscurcir le sens des messages remontant à des millénaires. Par exemple, Jules César aurait utilisé un chiffrement par substitution pour protéger la confidentialité de ses communications. L’algorithme était très simple. Il suffisait de remplacer chaque lettre du message en la décalant de trois positions dans l’alphabet, en revenant au début dans le cas des trois dernières lettres. Pour le déchiffrer, il suffit d’inverser le processus.

Bien que le chiffrement de Jules César ne puisse en aucun cas être considéré comme sécuritaire selon les normes actuelles, sa conception comprend un ensemble de composantes de base qui sont présentes sous une forme ou une autre dans tous les cryptosystèmes. Un grand nombre des termes que nous avons utilisés jusqu’à présent correspondent à ces composantes. De manière générale, elles sont au nombre de quatre :

  • Le texte en clair. Il s’agit du message ou des données sous leur forme originale, non chiffrée, soit avant leur introduction dans un algorithme de chiffrement, soit après le décodage du texte chiffré. Un message en clair n’est pas nécessairement un texte lisible par l’être humain. Il peut consister en n’importe quel format de données, y compris des fichiers image ou vidéo, tant que le message puisse être interprété par le destinataire. Il est aussi parfois appelé « texte clair ».
  • Le texte chiffré. Il s’agit du message ou des données sous leur forme brouillée et chiffrée après que le texte en clair a été soumis à l’algorithme de chiffrement. Le texte chiffré doit présenter des propriétés qui le rendent équivalent à des données aléatoires et absurdes lorsqu’il est analysé par toute personne n’ayant pas accès à la clé secrète.
  • La clé secrète. Il s’agit de l’information utilisée par l’algorithme pour le chiffrement et le déchiffrement. Elle doit être tenue secrète et n’être connue que de l’expéditeur et du destinataire du message. Dans l’exemple de Jules César ci-dessus, la clé équivaut au chiffre 3, qui indique le décalage par rapport aux lettres de l’alphabet. Avec l’apparition d’ordinateurs capables d’effectuer des attaques par force brute au 20e siècle, la longueur (ou la taille) de la clé est devenue un facteur essentiel pour déterminer le niveau de sécurité d’un système de chiffrement.
  • L’algorithme. Également appelé « chiffre », il s’agit du processus qui, à l’aide de la clé, transforme en texte chiffré le texte en clair, et en texte en clair le texte chiffré. En général, le processus de déchiffrement fonctionne comme l’inverse du chiffrement. Dans l’exemple de Jules César ci-dessus, l’algorithme consiste à substituer des lettres entre deux versions du même alphabet en utilisant l’arithmétique modulaire. Aujourd’hui, pour qu’un algorithme de chiffrement soit considéré comme sécuritaire, il doit produire des textes chiffrés présentant au moins les trois propriétés de base suivantes :
    • La confusion. C’est le cas lorsque la relation entre la clé secrète et le texte chiffré est brouillée par des transformations complexes, de sorte que chaque caractère du texte chiffré fait appel à plusieurs parties de la clé.
    • La diffusion. C’est le cas lorsque les transformations qui produisent finalement le texte chiffré dépendent de manière égale de tous les caractères du texte en clair, de sorte que leur effet est dispersé dans plusieurs parties du texte chiffré, dans le but de dissimuler les propriétés statistiques du texte en clair.
    • La sécurité sémantique. C’est le cas lorsque l’algorithme de chiffrement est non déterministe ou aléatoire, de sorte que le même texte en clair est chiffré en plusieurs textes chiffrés, dont les propriétés ne révèlent aucune information sur le message en clair, à l’exception de sa longueur.

Au fil des ans, les systèmes de chiffrement à clé secrète – aussi appelés systèmes « symétriques » – ont conduit au développement de certains des outils cryptographiques les plus efficaces et les plus sécuritaires dont nous disposons aujourd’hui. Par exemple, l’Advanced Encryption Standard (AES) (norme de chiffrement avancée) est le seul algorithme que le Centre canadien pour la cybersécurité recommande publiquement pour protéger la confidentialité de certains types d’informations gouvernementales sensiblesNote de bas de page 5.

Qu’est-ce que le chiffrement à clé publique?

Après avoir abordé les bases du chiffrement, la prochaine étape pour saisir le chiffrement homomorphe est de comprendre une avancée importante en cryptographie qui a jeté les bases de sa découverte.

Jusqu’au milieu des années 1970, tous les systèmes de chiffrement étaient exclusivement symétriques, avec une seule clé secrète utilisée pour le chiffrement et le déchiffrement. Cependant, en 1976, une sorte de révolution s’est produite dans le domaine de la cryptographie lorsque des chercheurs ont découvert que certains problèmes mathématiques de haut niveau dans la théorie des nombres pouvaient être utilisés pour développer des algorithmes de chiffrement à deux clés : une clé publique pour le chiffrement et une clé privée pour le déchiffrement. Cette nouvelle forme de chiffrement porte le nom de chiffrement à clé publique ou « asymétrique ».

La principale découverte qui a conduit au développement du chiffrement à clé publique est une nouvelle catégorie d’expressions mathématiques appelées « fonctions à trappe à sens unique »Note de bas de page 6. Il s’agit de fonctions arithmétiques faciles à calculer dans un sens, mais difficiles à calculer dans l’autre sens, sauf si l’on connaît certaines informations spéciales de type « trappe ». L’information sur la trappe est une propriété secrète de la fonction qui déverrouille un moyen efficace de l’inverser. Elle fonctionne comme un bouton caché sur lequel on peut appuyer pour accéder à l’autre côté de l’équation. Autrement, la sécurité de la fonction repose sur l’hypothèse qu’il est impossible de calculer l’inverse, soit par ingénierie inverse de la fonction elle-même, soit en découvrant les informations sur la trappe.

La solution d’un problème de factorisation de nombres entiers offre un exemple d’information sur la trappe. Par exemple, en prenant deux grands nombres premiers, il est facile de calculer leur produit. Toutefois, dans le sens inverse, on ne connaît aucun algorithme efficace (non quantique) capable de trouver un ensemble de facteurs premiers à partir de leur seul produit. En utilisant le produit de deux grands nombres premiers comme base pour les opérations arithmétiques modulaires, on peut créer une fonction à trappe à sens unique où les facteurs premiers de la base offrent un passage vers l’autre côté de l’équation. Il s’agit de la technique de trappe développée par la méthode de chiffrement Rivest-Shamir-Adleman (RSA) largement utiliséeNote de bas de page 7.

La structure d’une fonction à trappe à sens unique jette les bases d’un nouveau type de chiffrement. En rendant publique la fonction à sens unique, mais en gardant privée l’information sur la trappe, il est possible de concevoir un algorithme dans lequel la clé est divisée en deux parties, correspondant à des processus distincts pour le chiffrement et le déchiffrement :

  • Clé publique. Il s’agit de la clé utilisée pour le chiffrement, formée par les valeurs des paramètres utilisés pour instancier la fonction à sens unique pour un utilisateur donné. Ces informations sont destinées à être partagées publiquement, de sorte que toute personne souhaitant envoyer un message chiffré à l’utilisateur puisse le faire. Chaque utilisateur doit disposer d’une clé publique unique.
  • Clé privée. Il s’agit de la clé utilisée pour le déchiffrement, soit l’information spéciale sur la trappe qui déverrouille un moyen efficace d’inverser la fonction à sens unique de l’utilisateur. Cette information est censée être gardée secrète par l’utilisateur, de sorte qu’il soit le seul à pouvoir déchiffrer les messages chiffrés avec sa clé publique.

Au-delà du chiffrement des données, les systèmes de chiffrement à clé publique peuvent servir à renforcer la sécurité d’autres éléments importants des communications chiffrées. Il s’agit là d’une différence essentielle entre les systèmes de chiffrement à clé publique et les systèmes symétriques à clé unique. Si les systèmes symétriques permettent un chiffrement solide et efficace des données, ils présentent des lacunes dans d’autres domaines. C’est l’inverse pour les systèmes à clé publique. Si les systèmes à clé publique peuvent être utilisés pour le chiffrement des données, ils sont comparativement inefficaces. Les systèmes de chiffrement à clé publique démontrent réellement leur utilité en ce qui concerne les problèmes qui se posent au niveau du protocole des communications chiffrées.

En général, les systèmes de chiffrement à clé publique offrent deux fonctions de sécurité supplémentaires :

  • L’échange de clés sécurisé. Avant le chiffrement à clé publique, deux parties souhaitant communiquer sur un canal non sécurisé étaient devant un dilemme ardu. Pour utiliser le chiffrement, elles devaient d’abord échanger une clé secrète, mais pour ce faire, elles devaient établir un autre canal sécurisé, puisque celui par lequel elles souhaitaient communiquer n’était pas sécuritaire. En général, la solution consistait à faire appel à un service de messagerie de confiance. Toutefois, avec le chiffrement à clé publique, cette complexité supplémentaire n’est plus nécessaire. Une fois l’authenticité des clés publiques vérifiée (généralement par l’intermédiaire d’une autorité de certification), le même canal non sécurisé peut être utilisé pour les données chiffrées et l’échange de clés. Pour l’échange de clés, soit les deux parties partagent simplement leurs clés publiques, soit elles les utilisent pour échanger une clé secrète qui sera ensuite utilisée pour le chiffrement symétrique.
  • Les signatures numériques. Une dernière série de problèmes de sécurité se pose en marge des communications chiffrées. Comment vérifier qu’un message chiffré a bien été envoyé par la personne avec laquelle nous pensons communiquer et non par quelqu’un d’autre? Comment s’assurer que le message n’a pas été modifié en cours de route? La conception à clé unique des systèmes symétriques les rend mal équipés pour traiter ces problèmes par défaut. Toutefois, la structure à double clé des systèmes asymétriques offre une solution élégante sous la forme de signatures numériques. En « signant » un message avec sa clé privée, l’expéditeur peut prouver au destinataire non seulement que c’est lui qui a envoyé le message, mais aussi que le message n’a pas été modifié. Cela est possible grâce à la relation spéciale de trappe entre les clés privées et publiques. Le destinataire peut vérifier l’authenticité de la signature de l’expéditeur en inversant la fonction sur laquelle repose la signature à l’aide de la clé publique de l’expéditeur, puis en vérifiant si le résultat correspond au message. Comme seul le détenteur de la clé privée peut créer une telle signature, cela prouve que le message n’a pas été modifié et qu’il a bien été envoyé par le détenteur de la clé.

Qu’est-ce que le chiffrement homomorphe?

Nous en sommes maintenant au point où nous pouvons commencer à examiner le chiffrement homomorphe lui-même. Le terme « homomorphe » vient du grec ancien homos (« même ») et morphê (« forme »), qui, combinés, se traduisent littéralement par « ayant la même forme ». Dans le contexte du chiffrement, ce terme sert à décrire la relation entre l’espace des textes en clair possibles et l’espace des textes chiffrés générés. Un système de chiffrement est dit homomorphe si et seulement s’il existe une correspondance entre l’espace du texte en clair et l’espace du texte chiffré qui préserve leur structure par rapport à un ensemble d’opérations mathématiques.

L’idée du chiffrement homomorphe a été évoquée pour la première fois dans le contexte du chiffrement à clé publique. À la fin des années 1970, peu après la mise au point du système de chiffrement à clé publique RSA, un groupe de chercheurs (dont deux des inventeurs du RSA) a constaté que le RSA possédait une propriété supplémentaire. Il est possible de multiplier les textes chiffrés générés par RSA tout en préservant la structure sous-jacente du texte en clair du résultat. La raison en est liée à la nature de la fonction à sens unique de la trappe utilisée dans le RSA. Lors du chiffrement, l’expéditeur doit élever le texte en clair à une puissance prédéterminée e (définie dans la clé publique du destinataire). Étant donné que l’exponentiation est distributive, c’est-à-dire que (xy)e = (xe)(ye), l’algorithme de chiffrement RSA possède la propriété supplémentaire de préserver la structure de l’espace du texte en clair dans le cas de la multiplication du texte chiffré. Les chercheurs ont fourni d’autres exemples de démonstration de concept de méthodes de chiffrement avec des systèmes préservant la structure. Ils ont donné à ces méthodes le nom de « privacy homomorphisms » (homomorphismes privés)Note de bas de page 8.

L’exemple du RSA ci-dessus démontre un point important sur la nature du chiffrement homomorphe. Il ajoute de nouvelles fonctionnalités au chiffrement à clé publique, mais ces fonctionnalités ne sont pas universelles. Il existe différents moyens de préserver la structure entre l’espace du texte en clair et l’espace du texte chiffré. Par exemple, un système peut être homomorphe par rapport à la multiplication, mais pas par rapport à l’addition (comme dans le cas du RSA ou du cryptosystème ElGamal plus tardif) ou par rapport à l’addition, mais pas par rapport à la multiplication (comme dans le cas du cryptosystème de Paillier). Il est également possible de limiter la complexité des expressions prises en charge. Par exemple, un système peut être homomorphe à la fois pour l’addition et la multiplication, mais seulement pour un nombre limité de polynômes d’ordre inférieur. Enfin, il est possible qu’un système conserve toutes ses caractéristiques, c’est-à-dire qu’il prenne en charge à la fois la multiplication et l’addition un nombre infini de fois.

Ces différentes possibilités ont conduit à une classification plus nuancée. Le terme « homomorphe » utilisé seul est ambigu. Pour tenir compte des différents types de systèmes préservant la structure, on utilise un terme supplémentaire pour qualifier les systèmes de chiffrement homomorphes. En général, il y a trois types principaux à considérer :

  • Partiellement homomorphe. Il s’agit de systèmes qui ne prennent en charge qu’un seul type d’opération – par exemple, l’addition ou la multiplication – mais sans restriction quant à la complexité des expressions. La correspondance entre le texte clair et le texte chiffré préserve la profondeur structurelle, mais pas l’étendue des opérations possibles. Cela permet d’effectuer un nombre infini d’opérations précises sur des données chiffrées.
  • Presque homomorphe. Il s’agit de systèmes qui prennent en charge n’importe quel type d’opération – par exemple, l’addition et la multiplication – mais seulement jusqu’à un certain niveau de complexité des expressions. La correspondance entre le texte clair et le texte chiffré préserve l’étendue structurelle, mais pas la profondeur des opérations possibles. Cela permet d’effectuer un nombre limité de toute opération sur des données chiffrées.

    Une caractéristique importante des systèmes de chiffrement presque homomorphes est que leurs textes chiffrés sont conçus pour être « bruyants », en ce sens qu’un petit terme aléatoire est ajouté au texte chiffré pendant le chiffrement. C’est un choix délibéré. Le fait d’avoir des textes chiffrés bruyants permet aux méthodes de chiffrement presque homomorphes de protéger la confidentialité du message en clair tout en ayant la souplesse nécessaire pour prendre en charge n’importe quel type d’opération. Cette souplesse s’accompagne toutefois d’une limitation importante. À chaque opération, la quantité totale de bruit augmente. Après un trop grand nombre d’opérations, le bruit atteint un point tel qu’il commence à déborder sur la sortie, ce qui nuit à la précision du résultat. Pour éviter cette situation, le texte chiffré doit être déchiffré avant le point de débordement. Le déchiffrement supprime le bruit accumulé en transformant la sortie en texte clair. Un problème mathématique clé qui permet ce type de construction de textes chiffrés bruyants, mais flexibles est ce que l’on appelle le problème de « l’apprentissage avec erreurs »Note de bas de page 9.
  • Totalement homomorphe. Il s’agit de systèmes qui prennent en charge n’importe quel type d’opération, sans restriction quant à la complexité des expressions. Comme nous le verrons plus en détail ci-dessous, ce qui permet au chiffrement totalement homomorphe de préserver à la fois l’étendue et la profondeur des opérations possibles n’est pas une correspondance entre le texte clair et le texte chiffré. Il s’agit plutôt d’une technique spéciale qui permet de surmonter les limites d’un chiffrement presque homomorphe. Cette technique permet aux systèmes de chiffrement totalement homomorphes de prendre en charge un nombre infini d’opérations sur les données chiffrées.
Tableau 1 : Types de chiffrement homomorphe
  Opérations prises en charge Nombre d’opérations
Partiellement homomorphe Type unique (addition ou multiplication) Infini
Presque homomorphe Tout type (addition et multiplication) Limité
Totalement homomorphe Tout type (addition et multiplication) Infini

Qu’est-ce que le chiffrement totalement homomorphe?

Dans la suite de cette section, nous nous concentrerons sur le fonctionnement interne du chiffrement totalement homomorphe. Aujourd’hui, lorsque les gens utilisent le terme « homomorphe » seul, c’est-à-dire sans le qualifier davantage, ils veulent implicitement dire « totalement homomorphe ». C’est ce que l’on entend par « Saint-Graal » du chiffrement. Le chiffrement totalement homomorphe est la forme la plus souple et la plus avancée du chiffrement homomorphe.

Bien que le concept de chiffrement totalement homomorphe ait été introduit dans les années 1970, ce n’est qu’à la fin des années 2000 que le premier système a véritablement été développé. Ce n’est pas la découverte d’une nouvelle fonction de trappe à sens unique dotée de propriétés homomorphes plus robustes qui a conduit à ce résultat. La principale avancée a été davantage un changement de paradigme qu’une question de mathématiques. Dans sa thèse de doctorat de 2009, Craig Gentry a décrit un moyen de transformer un système presque homomorphe en un système totalement homomorphe en utilisant une technique qu’il a appelée « bootstrapping » (réamorçage)Note de bas de page 10.

Pour comprendre le réamorçage, il est utile de revenir sur l’analogie précédente d’une boîte verrouillée avec des gants intégrés et de la développerNote de bas de page 11. Cette analogie a permis d’introduire l’idée de base du chiffrement homomorphe, mais elle est en fin de compte trop simpliste. Il lui manque un détail important : après un certain temps de travail, les gants commencent à se raidir et finissent par cesser de fonctionner. Ainsi, comme le bruit dans un texte chiffré presque homomorphe, les gants permettent à une personne de manipuler le contenu de la boîte verrouillée de n’importe quelle manière, mais seulement pendant un temps limité.

Le réamorçage fonctionne de la manière suivante. Imaginez qu’au lieu d’une seule boîte verrouillée, il y ait de nombreuses boîtes verrouillées – peut-être une infinité – avec des gants intégrés. Imaginons en outre qu’il soit possible d’insérer une boîte verrouillée dans une autre boîte verrouillée par une fente unidirectionnelle spéciale située sur le côté de chaque boîte. Grâce à ces capacités supplémentaires, il est possible de surmonter les limites de rigidification des gants d’une seule boîte verrouillée en créant une chaîne de montage de boîtes où chaque boîte est numérotée et configurée à l’avance pour contenir la clé privée de la boîte qui la précède. Par exemple, la clé privée permettant de déverrouiller la boîte no 1 est placée dans la boîte no 2, et la clé privée permettant de déverrouiller la boîte no 2 est placée dans la boîte no 3, et ainsi de suite. Maintenant, lorsqu’une personne commence à manipuler le contenu de la boîte n° 1, mais que les gants finissent par se raidir, il lui suffit d’insérer la boîte n° 1 dans la boîte no 2, puis d’utiliser les gants de la boîte no 2 pour déverrouiller la boîte no 1 à l’aide de la clé privée placée dans la boîte no 2 et de continuer, en répétant le processus autant de fois que nécessaire.

Plus formellement, le réamorçage consiste à « rafraîchir » le bruit accumulé dans un texte chiffré presque homomorphe en le chiffrant à nouveau avec la clé publique (c’est-à-dire en la plaçant dans une autre boîte) et en évaluant ensuite de manière homomorphe sa fonction de déchiffrement à l’aide du chiffrement de sa clé privée sous la clé publique (c’est-à-dire l’ouvrir depuis l’intérieur d’une autre boîte). En d’autres termes, le réamorçage enveloppe le texte chiffré dans une autre couche de chiffrement, puis déchiffre la couche interne de manière homomorphe pour produire un texte chiffré « rechiffré » avec la même clé privée. Comme le déchiffrement supprime le bruit dans un texte chiffré presque homomorphe, le processus de réamorçage a le même effet. Toutefois, au lieu de transformer le texte chiffré en texte clair, l’évaluation homomorphe de la fonction de déchiffrement transforme le texte chiffré en une nouvelle version « sans bruit » de lui-même, prête pour d’autres opérations homomorphesNote de bas de page 12. En ce sens, cela revient à exécuter la fonction d’identité (id(x) = x) sur un texte chiffré.

Pour permettre le réamorçage, un système de chiffrement totalement homomorphe doit transmettre des informations supplémentaires au processeur de données tiers, en plus du texte chiffré lui-même. En général, il s’agit de la nouvelle composante suivante :

  • Clé d’évaluation. Il s’agit de la clé utilisée dans le réamorçage pour évaluer de manière homomorphe la fonction de déchiffrement afin de rafraîchir le bruit accumulé dans le texte chiffré. Elle consiste en le chiffrement de la clé privée sous sa propre clé publique associée.

Quels sont les avantages?

Le chiffrement homomorphe est l’aboutissement de nombreux développements importants dans le domaine du chiffrement. Des clés secrètes symétriques aux paires de clés publiques-privées asymétriques en passant par les clés d’évaluation hybrides, le chiffrement homomorphe s’appuie sur les connaissances acquises dans le cadre d’autres méthodes de chiffrement. Le résultat est une TAC qui présente plusieurs avantages pour la protection des renseignements personnels. En général, on peut en citer cinq principaux :

  • Il renforce la sécurité et la confidentialité des traitements effectués par des tiers. En général, le traitement des renseignements personnels par des tiers se fait sur des données non chiffrées, en clair. Cela soulève plusieurs risques pour la vie privée et la sécurité des personnes. Comme indiqué dans l’introduction, il s’agit notamment d’attaques externes par des pirates informatiques, de menaces internes par des employés et de demandes d’accès secrètes par des gouvernements dans le cas de l’infonuagique, ainsi que de vol de crypto et de surveillance de masse dans le cas des technologies de la chaîne de blocs. Cependant, le chiffrement homomorphe peut aider à se prémunir contre ces risques en garantissant que toutes les données restent chiffrées tout au long de leur cycle de vie de traitement, que ce soit dans le nuage ou sur une chaîne de blocs.
  • Il préserve l’exactitude des données. Le processus de chiffrement des renseignements personnels ne modifie pas la signification sous-jacente ou la structure interne de l’information. Ses valeurs et les relations qu’elle entretient restent les mêmes. Ce qui change avec le chiffrement, c’est uniquement l’aspect extérieur et la confidentialité. Il empêche l’accès à l’information et la dissimule. C’est comme si l’information était traduite dans une autre langue que seuls les détenteurs de la clé privée peuvent comprendre. Pour les autres, l’information n’est que du charabia, mais pour ceux qui connaissent la clé, elle conserve toute sa forme originale. Strictement parlant, cela signifie que l’identifiabilité de l’information reste la même. Le lien entre les informations et les personnes concernées n’est pas réduit ni rompu.

    Une conséquence de cette conservation structurelle est que le chiffrement homomorphe préserve l’exactitude des données dans ses opérations. Contrairement à l’anonymisation, il n’y a pas de compromis général entre la protection des données et l’utilité. Étant donné que la signification sous-jacente de l’information reste la même, le résultat des opérations homomorphes est équivalent à celui des opérations effectuées sur du texte en clair. Pour compléter l’analogie ci-dessus, le chiffrement homomorphe revient à traduire l’information dans une langue spéciale où les mots réels sont incompréhensibles pour les non-détenteurs de la clé privée, mais où l’articulation des phonèmes produit néanmoins une « mélodie » dont les notes peuvent être manipulées pour transformer les mots en d’autres mots.
  • Les calculs prédéterminés à profondeur limitée peuvent être effectués efficacement avec le chiffrement « totalement homomorphe par niveau ». L’efficacité du chiffrement totalement homomorphe sera examinée plus en détail dans la section suivante. À ce stade, il suffit de dire que le processus de réamorçage est exigeant en termes de calcul et peut constituer un goulot d’étranglement pour l’exécution d’opérations complexes. S’il existait un moyen d’éviter le réamorçage tout en tirant parti de la souplesse de calcul offerte par le chiffrement totalement homomorphe, il s’agirait d’une option intéressante à prendre en considération.

    Dans la section « Qu’est-ce que le chiffrement homomorphe? », nous avons abordé les trois principaux types de chiffrement homomorphe : partiellement, presque et totalement. Cependant, si nous allons plus loin, il est possible d’ajouter une sous-classe supplémentaire à la liste. Le chiffrement « totalement homomorphe par niveau » est un type de chiffrement presque homomorphe qui présente la propriété supplémentaire de préciser à l’avance le niveau de complexité opérationnelle pris en charge en tant que paramètreNote de bas de page 13. Cette capacité confère au chiffrement totalement homomorphe par niveau une position intermédiaire potentiellement vertueuse entre les contraintes du chiffrement presque et totalement homomorphe. Contrairement au chiffrement partiellement homomorphe, il n’y a pas de limite interne à la complexité des expressions prises en charge; et, contrairement au chiffrement totalement homomorphe, il n’y a pas d’incidence négative sur la puissance nécessaire en raison du réamorçage. Le principal inconvénient est que la complexité totale des opérations homomorphes doit être connue à l’avance et prise en charge par le matériel et la capacité de réseau disponibles. Toutefois, si ces conditions peuvent être remplies, le chiffrement totalement homomorphe par niveau peut être utilisé pour effectuer efficacement des calculs d’une complexité prédéterminée à profondeur limitée.
  • Les algorithmes actuels sont considérés comme résistants aux attaques quantiques. L’informatique quantique est un domaine de recherche multidisciplinaire émergent qui cherche à exploiter les propriétés contre-intuitives de la mécanique quantique pour concevoir et exécuter des algorithmes capables de résoudre certains problèmes plus rapidement que les ordinateurs classiques. Tous les problèmes ne permettent pas une accélération quantique exponentielle, mais les chercheurs ont découvert que c’est le cas de la factorisation des nombres entiers. En utilisant l’algorithme de Shor, il est possible pour un ordinateur quantique de déterminer efficacement les facteurs premiers d’un nombre en exploitant de nouvelles informations structurelles rendues possibles par l’enchevêtrement de bits quantiques dans une superpositionNote de bas de page 14. Cela a des conséquences importantes pour la sécurité des systèmes de chiffrement à clé publique comme le RSA. Nous avons vu dans la section « Qu’est-ce que le chiffrement à clé publique? » que la sécurité du RSA est basée sur la difficulté supposée de factoriser le produit de deux grands nombres premiers. Avec un ordinateur quantique suffisamment grand, cette hypothèse ne tient plus. Il serait possible de déjouer le RSA en déterminant les informations sur la trappe privée d’un utilisateur à partir de sa clé publique.

    À ce jour, aucun ordinateur quantique suffisamment grand pour déjouer les systèmes de chiffrement à clé publique n’a été construit. Les progrès réalisés dans ce domaine suggèrent qu’il s’agit d’une possibilité de plus en plus réaliste. Cependant, la question de savoir combien de temps cela peut prendre suscite de nombreux débats. Les chercheurs estiment qu’il faudrait un ordinateur doté de 20 millions de bits quantiques. L’ordinateur doté du plus grand nombre de bits quantiques à ce jour en compte autour de 1000.

    Toutefois, quelle que soit la proximité de la menace d’un ordinateur quantique à grande échelle, il semble que le chiffrement homomorphe ne sera pas vulnérable à cette menace. En effet, le type de problème mathématique sur lequel repose la sécurité des algorithmes homomorphes actuels est considéré comme résistant aux attaques quantiques. En d’autres termes, aucun algorithme quantique n’est censé pouvoir le résoudre efficacement. La raison en est le bruit intégré dans les textes chiffrés homomorphes. Des chercheurs ont montré que la sécurité de ce bruit repose essentiellement sur le problème de la recherche du vecteur non nul le plus court dans un treillis multidimensionnelNote de bas de page 15. Sur les quatre algorithmes cryptographiques résistants aux attaques quantiques que l’Institut national américain de normalisation et de technologie a jusqu’à présent sélectionnés pour la normalisation, trois sont basés sur le problème des treillis structurésNote de bas de page 16.
  • Il peut être configuré pour prendre en charge des calculs multipartites sécurisés. Par défaut, les calculs effectués à l’aide du chiffrement homomorphe ne concernent que les données d’une seule entité. À l’aide d’un protocole de génération de clés similaire à celui du chiffrement à clé publique, chaque utilisateur du chiffrement homomorphe crée son propre jeu de clés composé d’une clé publique pour le chiffrement, d’une clé privée pour le déchiffrement et d’une clé d’évaluation pour le réamorçage. Bien que cette approche protège les données des utilisateurs individuellement, elle est limitée par le fait que plusieurs utilisateurs ne peuvent pas combiner leurs données et effectuer des opérations homomorphes conjointes pour produire des résultats agrégés. Étant donné que les processus de chiffrement, de déchiffrement et de réamorçage dépendent d’un ensemble de clés propres à chaque utilisateur, les opérations homomorphes conjointes ne sont possibles que si plusieurs utilisateurs décident d’utiliser la même clé publique. Toutefois, la confidentialité des données de chaque utilisateur ne serait pas garantie dans ce cas, puisque le détenteur de la clé privée associée pourrait déchiffrer toutes les données.

    Toutefois, il est possible de configurer le chiffrement homomorphe pour prendre en charge les calculs multipartites de manière sécurisée. Pour ce faire, un protocole de génération de clés plus complexe est nécessaire. Au lieu que chaque utilisateur crée son propre jeu de clés, les utilisateurs qui souhaitent effectuer des opérations homomorphes conjointes sur leurs données combinées participent à un protocole distribué qui aboutit à la création d’un jeu de clés partagées propre au groupe, où la clé privée est divisée en plusieurs parties et où chaque utilisateur obtient une partie de cette clé. Pour le chiffrement, le processus est simple : chaque utilisateur chiffre ses propres données à l’aide de la clé publique générée dans le protocole. En revanche, pour le déchiffrement, le processus est plus compliqué. Étant donné que chaque utilisateur n’a accès qu’à une partie de la clé privée, il ne peut déchiffrer que partiellement le résultat des opérations homomorphes. Pour obtenir un résultat complet et précis pour le texte en clair, un « seuil » prédéfini d’utilisateurs doivent combiner leurs déchiffrements partielsNote de bas de page 17. Cette approche garantit qu’aucun membre ou groupe minoritaire de membres ne peut agir de manière malveillante pour déchiffrer les données d’autres membres en dehors du protocole établi. Une discussion complète sur la façon dont le chiffrement homomorphe peut être utilisé pour prendre en charge le calcul multipartite sécurisé dépasse le cadre de ce blogue.

Quelles sont les difficultés?

Si le chiffrement homomorphe présente plusieurs avantages, il s’accompagne également de plusieurs difficultés. Il convient de répéter qu’aucune TAC ne représente une « solution miracle »Note de bas de page 18. Toute amélioration technologique de la protection de la vie privée comporte inévitablement des risques et des compromis à prendre en considération. Dans le cas du chiffrement homomorphe, les défis sont variés. Certains sont liés à l’état actuel de la technique, d’autres sont inhérents à la nature même de la technologie. Toutefois, en général, on peut en citer cinq :

  • Les implémentations du réamorçage sont encore trop inefficaces pour de nombreux cas d’usage. Ce qui a permis au chiffrement totalement homomorphe de devenir une réalité s’est également avéré être l’un des plus grands obstacles à son adoption à grande échelle. L’ironie du réamorçage est que, s’il permet de surmonter les limites du chiffrement presque homomorphe, la surcharge de calcul qu’il entraîne peut être si importante qu’elle l’emporte sur tout gain d’utilité résultant de la complexité accrue des opérations prises en charge. Par exemple, les tests effectués sur le processus de réamorçage original de Gentry ont montré que les opérations étaient extrêmement lentes, avec un temps d’exécution pouvant aller jusqu’à 30 minutes sur du matériel standardNote de bas de page 19. Bien que des améliorations notables en termes d’efficacité aient été apportées depuis lors (et continuent d’être apportées), la technologie n’a pas encore atteint le point où les implémentations peuvent suffisamment surmonter le goulot d’étranglement du rendement inhérent au réamorçage pour de nombreuses applications du monde réel. Un chef de produit de Google a récemment résumé l’expérience de l’entreprise en matière de développement d’applications de chiffrement totalement homomorphes comme s’exécutant « généralement 1000 fois plus lentement » que leurs équivalentes en texte clairNote de bas de page 20.
  • Les données d’entrée ne peuvent pas être vérifiées à des fins de contrôle de la qualité ou de traçabilité. Le chiffrement homomorphe permet d’effectuer des opérations mathématiques sur des données chiffrées, sans qu’il soit nécessaire de les déchiffrer au préalable en texte clair. Si cette forme de chiffrement « en cours d’utilisation » protège la confidentialité des informations pendant leur traitement, cette même caractéristique de protection de la vie privée limite également la capacité des processeurs externes à mettre en place des mesures importantes pour faciliter la fiabilité et la transparence des calculs. Par exemple, avant d’effectuer des opérations sur certaines données d’entrée, les processeurs externes vérifient souvent au préalable les valeurs des données elles-mêmes pour s’assurer qu’elles sont d’une qualité suffisante et exemptes d’erreurs. Cette étape préalable permet de garantir la qualité globale des données et de se prémunir contre les attaques de type « empoisonnement de données ». Toutefois, les contrôles de qualité des données de cette nature ne sont pas possibles avec le chiffrement homomorphe. Comme les processeurs externes n’ont jamais accès aux données brutes en clair, ils ne peuvent pas vérifier directement la validité des valeurs de données introduites dans leurs calculs.

    La traçabilité des données est une autre pratique limitée par le chiffrement homomorphe. Pour faciliter la transparence et l’explication des décisions produites ou augmentées par l’intelligence artificielle (IA), les autorités réglementaires ont conseillé aux organisations de consigner les ensembles de données et les processus qui aboutissent à la décision d’un modèle d’IA, y compris ses données d’apprentissageNote de bas de page 21. La possibilité de retracer la provenance des ensembles de données jusqu’à leur source d’origine et de savoir quels ensembles de données ont été utilisés pour former un modèle d’IA permet également de découvrir des sources de biais et de discrimination. Toutefois, les protections de la confidentialité du chiffrement homomorphe rendent ce type de mesure de transparence difficile à réaliser dans la pratique. Comme les processeurs externes ne peuvent pas « voir » les données qu’ils manipulent, ils ne peuvent pas constituer un dossier complet de données d’entraînement capable d’améliorer la visibilité du comportement de leur modèle d’IA.
  • Il peut être vulnérable aux attaques par récupération de clés. Par défaut, la communication dans le chiffrement homomorphe est bidirectionnelle : un client transmet des données chiffrées avec un processeur externe, qui effectue ensuite des opérations homomorphes sur les données et renvoie le résultat chiffré au client. Si tout se passe bien, la communication se termine à ce stade, du moins en ce qui concerne cette demande particulière. Toutefois, si une erreur de déchiffrement se produit, par exemple parce que le texte chiffré a été corrompu pendant la transmission ou le calcul, le processus est généralement répété, le client informant le processeur externe de l’erreur.

    Ce type d’interaction en va-et-vient avec la gestion des erreurs est une caractéristique normale des services infonuagiques. Bien que cela puisse sembler inoffensif à première vue, dans le cas du chiffrement homomorphe, il s’agit en fait d’un vecteur d’attaque supplémentaire que peut exploiter un processeur externe malveillant ou compromis pour extraire la clé secrète du client. En général, l’attaque fonctionne de la manière suivante. Au lieu de renvoyer un texte chiffré homomorphe valide, le processeur externe malveillant ou compromis introduit délibérément des perturbations dans une série de textes chiffrés et observe la réaction (ou l’absence de réaction) du client afin de glaner des informations sur les valeurs de bruit dans les textes chiffrés. Lorsqu’il a appris suffisamment de valeurs de bruit, le processeur combine ces informations en un système d’équations, qu’il résout ensuite pour récupérer la clé secrète du client. Les chercheurs ont mis au point des attaques pratiques de cette nature pour tous les principaux systèmes de chiffrement homomorphesNote de bas de page 22.
  • Il existe généralement un compromis entre le calcul vérifiable et la confidentialité des fonctions du serveur. On peut appliquer diverses mesures pour se prémunir contre la menace susmentionnée d’attaques par récupération de clés, y compris des mesures organisationnelles comme des ententes contractuelles entre le client et le processeur externe. Toutefois, si nous restons dans le domaine purement technique de la cryptographie appliquée, la principale mesure à prendre en compte est ce que l’on appelle le « calcul vérifiable ». Dans ce cas, le processeur externe fournit, en plus du résultat du calcul demandé par le client, une preuve que le calcul a été effectué correctement. En fournissant une telle preuve, le processeur externe peut démontrer au client que le texte chiffré qu’il a produit n’a pas été modifié de manière malveillante et qu’il est en fait le résultat d’un ensemble d’opérations homomorphes attendues par le client.

    Or, pour être efficace, la preuve doit contenir des informations significatives sur la nature du calcul. Dans le cas contraire, elle cesserait de fonctionner comme une preuve. Lorsque les détails du calcul sont connus du public, y compris les valeurs des paramètres, les informations contenues dans la preuve ne révéleraient rien de nouveau au client. Toutefois, il en est autrement dans le cas où le calcul consiste en une fonction de serveur propriétaire avec des valeurs de paramètres confidentielles. Dans ce cas, une preuve permettant de vérifier l’exactitude du calcul effectué par le processeur externe révélerait au client des informations supplémentaires, potentiellement sensibles. Même lorsque des preuves avancées à connaissance nulle sont utilisées, le processeur externe doit révéler l’architecture du modèle au client et publier des informations supplémentaires sur les valeurs des paramètres, au minimumNote de bas de page 23. Cela démontre un compromis général entre le calcul vérifiable et la confidentialité des fonctions du serveur.
  • La sécurité circulaire de la clé d’évaluation demeure un problème non résolu. Nous avons vu dans la section « Qu’est-ce que le chiffrement totalement homomorphe? » que l’opération de réamorçage nécessite l’accès à un chiffrement de la clé privée sous sa clé publique associée pour « déchiffrer » de manière homomorphe le texte chiffré afin de rafraîchir le bruit accumulé dans ce dernier. Si la nécessité d’une telle clé d’évaluation est compréhensible d’un point de vue technique, la question de savoir si, ou dans quelle mesure, elle soulève des considérations de sécurité est moins claire. Compte tenu de la nature hautement confidentielle de la clé privée, est-il sécuritaire pour un client d’en communiquer une version chiffrée à un tiers potentiellement non fiable ou cette exigence comporte-t-elle des risques supplémentaires?

    La manière d’évaluer la sécurité de la divulgation par un client de sa clé d’évaluation demeure un problème non résolu. Bien qu’il n’y ait actuellement aucune attaque connue qui l’exploite, il n’existe pas non plus de preuves formelles qui démontrent sa sécurité par rapport aux hypothèses de difficulté calculatoire existantes dans les systèmes homomorphes basés sur le bruit. En l’absence de preuves solides pour ou contre cette hypothèse, l’approche standard a consisté jusqu’à présent à introduire une hypothèse supplémentaire connue sous le nom de « sécurité circulaire »Note de bas de page 24. La sécurité circulaire d’un système de chiffrement homomorphe est assurée s’il est jugé « sécuritaire » de divulguer un chiffrement de la clé privée sous la clé publique qui lui est associée. L’étude de la validité de cette hypothèse est un domaine de recherche en cours.

Conclusion

Dans ce blogue, nous avons abordé divers aspects du chiffrement homomorphe et passé en revue un certain nombre d’informations sur son histoire, son contexte et sa nature :

  • Le chiffrement homomorphe est une forme particulière de chiffrement dont la structure permet d’effectuer des opérations mathématiques directement sur le texte chiffré, sans qu’il soit nécessaire de procéder à un déchiffrement préalable.
  • Il s’agit de l’aboutissement de nombreux développements importants dans le domaine de la cryptographie, y compris le chiffrement symétrique et asymétrique.
  • Il s’agit d’une TAC qui présente plusieurs avantages :
    • Il renforce la sécurité et la confidentialité des traitements effectués par des tiers.
    • Il préserve l’exactitude des données.
    • Les calculs prédéterminés à profondeur limitée peuvent être effectués efficacement avec le chiffrement « totalement homomorphe par niveau ».
    • Les algorithmes actuels sont considérés comme résistants aux attaques quantiques.
    • Il peut être configuré pour prendre en charge des calculs multipartites sécurisés.
  • Cependant, il s’accompagne également de plusieurs risques et compromis à prendre en compte :
    • Les implémentations du réamorçage sont encore trop inefficaces pour de nombreux cas d’usage.
    • Les données d’entrée ne peuvent pas être vérifiées à des fins de contrôle de la qualité ou de traçabilité.
    • Il peut être vulnérable aux attaques par récupération de clés.
    • Il existe généralement un compromis entre le calcul vérifiable et la confidentialité des fonctions du serveur.
    • La sécurité circulaire de la clé d’évaluation demeure un problème non résolu.

Sur la base de ces observations, il est clair que le chiffrement homomorphe est une TAC à développement rapide dont les cas d’usage sont prometteurs. En créant une nouvelle modalité de chiffrement « en cours d’utilisation », il protège la confidentialité des informations pendant leur traitement, ce qui ouvre la voie à un certain nombre d’applications nouvelles et émergentes. Cependant, l’état actuel du domaine ainsi que la dynamique du fonctionnement de la technologie dans la pratique signifient que les questions de savoir quand, où et comment l’utiliser continueront d’être soulevées dans les discussions en cours. Pour conclure, voici une citation qui résume la situation : « Aujourd’hui, le chiffrement totalement homomorphe (FHE) en est un peu au stade où était l’apprentissage profond en 2009-2010 »Note de bas de page 25.

Date de modification :