Rejoignez Keyfactor à la RSA Conference™ 2024 | du 6 au 9 mai | En savoir plus

Qu'est-ce que le chiffrement homomorphique et pourquoi n'est-il pas très répandu ?

Tendances de l'industrie

Les algorithmes de chiffrement homomorphes sont un type d'algorithme de chiffrement conçu pour permettre d'effectuer des opérations mathématiques sur les données chiffrées. Il s'agit d'une propriété extrêmement utile qui trouve de nombreuses applications.

Introduction au chiffrement homomorphe

Les données peuvent se trouver dans l'un des trois états suivants : au repos, en transit et en cours d'utilisation. La plupart du temps, le chiffrement concerne les deux premiers états. La raison en est que les données au repos ou en transit ne changent pas activement. Elles ont la même valeur lorsqu'elles sont décryptées que lorsqu'elles ont été cryptées.

Les données en cours d'utilisation, en revanche, n'ont pas cette propriété. Presque toutes les opérations mathématiques sur les textes chiffrés modifieraient la valeur du texte en clair correspondant. Il est difficile de s'assurer que le texte en clair change de la "bonne manière".

Les algorithmes de chiffrement sont conçus pour détruire toute relation entre le texte en clair et le texte chiffré correspondant. Un bon algorithme de cryptage produit un texte chiffré qui ne peut être distingué d'un nombre aléatoire. La seule façon de déterminer quel texte clair correspond à un certain texte chiffré est d'utiliser la clé appropriée pour le décrypter.

La possibilité d'effectuer des opérations mathématiques sur des données cryptées signifie qu'il doit y avoir une relation entre les textes clairs et les textes chiffrés. Il doit être possible d'additionner ou de multiplier deux textes chiffrés et d'obtenir le même résultat qu'en effectuant la même opération sur les deux textes en clair, puis en les chiffrant.

En même temps, cette relation doit être mise en œuvre de manière à être cachée à un observateur. Si l'observation des opérations mathématiques sur les cryptogrammes révèle des informations sur les cryptogrammes correspondants, le cryptage est rompu.

Il est très difficile d'atteindre ces objectifs mutuels d'un cryptage fort et de la capacité d'effectuer des opérations mathématiques sur les textes chiffrés et d'obtenir la bonne réponse. Les algorithmes de chiffrement homomorphes sont ceux qui ont atteint cet objectif.

Applications du chiffrement homomorphe

Le chiffrement homomorphe est très important car il permet d'effectuer des calculs sur des données chiffrées. Cela signifie que le traitement des données peut être confié à un tiers sans qu'il soit nécessaire de lui faire confiance pour sécuriser correctement les données. Sans la clé de décryptage appropriée, il est impossible d'accéder aux données d'origine.

Cette capacité à effectuer des traitements sur des données cryptées peut permettre de résoudre de nombreux défis majeurs auxquels sont confrontées les entreprises de tous les secteurs d'activité.

Sécurité de la chaîne d'approvisionnement

La plupart des entreprises font appel à des tiers de confiance dans le cadre de leurs activités. Ces contractants, vendeurs, etc. ont souvent besoin d'accéder aux données sensibles et exclusives de l'entreprise pour faire leur travail.

Des événements récents ont démontré les risques liés à l'insécurité des chaînes d'approvisionnement et la façon dont les cybercriminels ciblent le maillon le plus faible de la chaîne pour atteindre leurs objectifs. Cela signifie que confier des données sensibles à un partenaire peut exposer une organisation à une violation de données coûteuse et préjudiciable.

Le chiffrement homomorphique peut aider une entreprise à se protéger contre ces risques liés à la chaîne d'approvisionnement. Si toutes les données fournies à des tiers de confiance pour traitement sont cryptées, une violation de ces données ne présente aucun risque pour l'entreprise. Cela permet à une organisation d'externaliser le traitement de données critiques avec un risque minimal.

Conformité réglementaire

Ces dernières années, le paysage réglementaire de la protection des données est devenu de plus en plus complexe. De nouvelles réglementations, telles que le règlement européen sur la protection des données(GDPR), ont conféré de nouveaux droits aux personnes concernées et imposé des responsabilités et des restrictions supplémentaires aux entreprises.

L'une des règles du GDPR qui pose problème à de nombreuses entreprises est l'obligation de conserver les données des citoyens de l'UE au sein de l'UE ou dans des pays ou entreprises appliquant des normes équivalentes en matière de sécurité des données. La décision Schrems II de 2020 a invalidé l'un des principaux moyens de justifier les flux de données entre l'UE et les États-Unis dans le cadre du GDPR, ce qui a posé des problèmes à de nombreuses entreprises américaines ayant des citoyens de l'UE.

Les lois telles que le GDPR indiquent clairement que leurs exigences ne s'appliquent pas aux données cryptées. Avec le chiffrement homomorphique, une entreprise pourrait potentiellement stocker et traiter des données sur des systèmes situés en dehors de l'UE et ne les déchiffrer que sur des serveurs situés dans des lieux conformes aux exigences du GDPR.

Analyse des données privées

L'analyse des données est le moyen par lequel de nombreuses entreprises gagnent de l'argent. Des entreprises comme Facebook sont en mesure de fournir des services "gratuits" en collectant des informations sur leurs utilisateurs, en les traitant et en les vendant à des tiers à des fins de publicité ciblée.

Cependant, cette monétisation des données personnelles est controversée. De nombreuses personnes sont mécontentes que des entreprises établissent des profils détaillés à leur sujet sans aucune visibilité ni aucun contrôle sur les données collectées et leur utilisation.

Le chiffrement homomorphique offre une solution potentielle à ce problème. Avec le chiffrement homomorphe, une entreprise comme Facebook pourrait effectuer les analyses de données dont elle a besoin sans avoir la possibilité de voir ou d'accéder aux données d'origine. Si les clés de chiffrement sont contrôlées par les utilisateurs, cela permet d'envisager une publicité privée et ciblée.

Types de chiffrement homomorphique

L'objectif du chiffrement homomorphe est de créer un algorithme de chiffrement qui permette un nombre infini d'additions ou de multiplications des données chiffrées. À la fin du processus, le résultat doit être le texte chiffré qui serait produit si les mêmes opérations étaient effectuées sur les textes clairs correspondants et que le résultat était chiffré.

Le problème est qu'il est très difficile de concevoir un tel algorithme de cryptage. C'est pourquoi il existe plusieurs "types" de chiffrement homomorphe qui décrivent dans quelle mesure un algorithme donné se rapproche de cet objectif final.

Chiffrement partiellement homomorphe

Les algorithmes de chiffrement partiellement homomorphes permettent d'effectuer une certaine opération un nombre infini de fois. Par exemple, un algorithme particulier peut être additivement homomorphe, ce qui signifie que l'addition de deux textes chiffrés produit le même résultat que le chiffrement de la somme des deux textes clairs.

Les algorithmes de chiffrement partiellement homomorphes sont relativement faciles à concevoir. En fait, certains algorithmes de cryptage courants sont partiellement homomorphes par hasard.

Par exemple, l'algorithme RSA est homomorphe de manière multiplicative. La raison en est que le cryptage dans RSA est basé sur l'exponentiation : C = (m^x) (mod n) où m est le message et x la clé secrète.

Les règles des exposants stipulent que (a^n)(b^n)=(ab)^n. Cela signifie que la multiplication de deux cryptogrammes chiffrés avec la même clé équivaut à élever le produit des cryptogrammes à la puissance de la clé secrète. Par conséquent, RSA est homomorphe de manière multiplicative.

Chiffrement quelque peu homomorphe

L'étape suivante du chiffrement partiellement homomorphe est le chiffrement quelque peu homomorphe. Un algorithme de cryptage quelque peu homomorphe autorise un nombre fini d'opérations plutôt qu'un nombre infini d'opérations particulières.

Par exemple, un algorithme de cryptage quelque peu homomorphe peut être capable de prendre en charge n'importe quelle combinaison de cinq additions ou multiplications. Cependant, une sixième opération de l'un ou l'autre type créerait un résultat non valide.

Les algorithmes de chiffrement quelque peu homomorphes constituent une étape importante sur la voie du chiffrement totalement homomorphe. Il est plus difficile de concevoir un algorithme qui prenne en charge l'addition et la multiplication (même pour un nombre déterminé d'opérations) que de créer un algorithme qui permette l'addition ou la multiplication infinie des cryptogrammes.

Chiffrement entièrement homomorphe

Le chiffrement entièrement homomorphe est le Saint-Graal du chiffrement homomorphe. Un algorithme de chiffrement totalement homomorphe permet un nombre infini d'additions ou de multiplications des textes chiffrés tout en produisant un résultat valide.

Il existe aujourd'hui des algorithmes de chiffrement entièrement homomorphes. En fait, le premier algorithme de chiffrement entièrement homomorphe a été inventé en 2009 par Craig Gentry. Depuis, d'autres algorithmes ont été développés pour améliorer cet algorithme original.

Qu'est-ce qui freine le chiffrement homomorphique ?

Le chiffrement entièrement homomorphe peut résoudre une série de problèmes importants pour les entreprises. Le fait qu'il existe signifie qu'en théorie, tout le monde devrait l'utiliser. 

Alors pourquoi ne le font-ils pas ?

Le problème du chiffrement entièrement homomorphe aujourd'hui est qu'il n'est pas efficace. Le respect des exigences de l'homomorphisme complet (c'est-à-dire la possibilité d'ajouter ou de multiplier les textes chiffrés un nombre infini de fois sans altérer le résultat) signifie que ces algorithmes sont lents et peuvent avoir des besoins de stockage très élevés.

Par exemple, IBM a publié en 2018 une version améliorée de sa bibliothèque HElib C++ pour le chiffrement homomorphique. Cette version est 25 à 75 fois plus rapide que la version précédente, qui était 2 millions de fois plus rapide que la version originale, publiée trois ans plus tôt.

Le problème est que la version originale effectuait des opérations mathématiques environ 100 000 milliards de fois plus lentement que ces mêmes opérations sur les textes en clair correspondants. Cela signifie que la nouvelle version améliorée est toujours environ un million de fois plus lente que les opérations en clair en moyenne.

Un facteur d'un million de ralentissement est assez significatif. Un calcul qui prendrait une seconde à effectuer en utilisant des textes en clair prendrait en moyenne 11,5 jours à effectuer en utilisant la version 2018 de HElib.

Il est évident que ce type de ralentissement est un compromis inacceptable pour les entreprises qui seraient autrement intéressées par le chiffrement homomorphique. Toutefois, une accélération d'environ 100 millions de fois en trois ans est assez impressionnante. Si le chiffrement homomorphe n'est peut-être pas une option viable aujourd'hui, il est possible que cela change dans un avenir proche.