Brevet FR3060165A1 — publié le 20180615

MÉTHODE DE CLASSIFICATION SÉCURISÉE UTILISANT UNE OPÉRATION DE TRANSCHIFFREMENT DESCRIPTION DOMAINE TECHNIQUE La présente invention concerne de manière générale le domaine du traitement sécurisé de données dans l'informatique en nuage (Cloud Computing). ÉTAT DE LA TECHNIQUE ANTÉRIEURE Il est de plus en plus fréquent de confier le traitement de données à des plateformes informatiques externes, situées sur le « Cloud », c'est-à-dire accessibles via Internet. Un utilisateur peut par exemple recourir à une plateforme informatique hébergée sur le Cloud pour effectuer une classification de certaines de ses données. On entend par classification de données (ou classement ou encore discrimination de données) une fonction f de X vers C, appelée modèle de classification, qui à toute donnée x de X associe une classe c de C. Alternativement, le modèle de classification peut être probabiliste et, dans ce cas, la fonction f donne pour chaque classe c de C, la probabilité que la donnée x appartienne à la classe c . Le modèle de classification est généralement construit à partir d'un ensemble, dit ensemble d'apprentissage, constitué par des couples (x,c) de données initiales et de classes correspondantes. Par exemple, l'ensemble X peut être constitué de N -uplets de paramètres médicaux et l'ensemble Y par un doubleton (c, c) où c est le diagnostic d'une pathologie et 7. l'absence de cette pathologie. L'ensemble de données d'apprentissage est souvent très volumineux. Il résulte en pratique de la collecte de données auprès de plusieurs sources, appelées dans la suite 3060165 2 fournisseurs de données. Les utilisateurs du service de classification, appelés dans la suite clients, ne disposent généralement que de faibles ressources en calcul et/ou en mémoire (c'est notamment le cas lorsque ces utilisateurs sont équipés de terminaux mobiles) et, pour cette raison, ne peuvent télécharger l'ensemble de ces données pour effectuer eux- 5 mêmes l'opération de classification. Les clients doivent recourir à une plateforme informatique, chargée de l'établissement du modèle et de la classification des données. Ces données peuvent être par exemple des données médicales, des données de consommation d'énergie, des données financières, etc. Toutefois, le recours à une plateforme informatique distante pose le problème de 10 la confidentialité des données transmises et, ce, à deux titres. Tout d'abord, il convient de préserver la confidentialité de l'apprentissage, c'est-à-dire des données d'apprentissage collectées et agrégées auprès des fournisseurs (par exemple auprès d'hôpitaux, de fournisseurs d'énergie, de banques, de compagnies d'assurance, etc.) ainsi que des modèles de classification élaborés à partir de ces données (paramètres des modèles 15 notamment). Dans ce cas, les données des fournisseurs et les paramètres du modèle doivent être maintenus confidentiels vis-à-vis de la plateforme et/ou des clients du service de classification. D'autre part, il faut préserver la confidentialité de la classification, c'est-à-dire des données du client destinées à faire l'objet de l'opération de classification, ainsi que du résultat de cette même classification. Ce peut être, par exemple, des antécédents 20 médicaux, la consommation d'énergie du client pour une personne physique ou l'état financier ou le portefeuille de clientèle pour une entreprise. Les méthodes de classification sécurisée (privacy-preserving classification) de données, c'est-à-dire les méthodes de classification préservant la confidentialité des données, ont fait l'objet de plusieurs publications récentes. 25 L'article de R. Bost et al. intitulé « Machine learning classification over encrypted data » publié dans Cryptology Eprint Archive, Report 1014/331, 2014, propose notamment une méthode de classification sécurisée fondée sur différents algorithmes possibles (classification par hyperplans, classification bayésienne naïve, classification par arbres de décision privés) pouvant opérer tant sur des données en clair que des données chiffrées. La classification sur données chiffrées fait appel à des cryptosystèmes tels que le 3060165 3 cryptosystème à résiduosité quadratique de Goldwasser Micali, le cryptosystème de Pallier ainsi qu'un cryptosystème totalement homomorphe (FHE). Toutefois, cette méthode de classification sécurisée nécessite l'échange de nombreux messages entre les parties et conduit donc à un temps d'exécution relativement long. 5 L'article de T. Graepel et al. intitulé « ML confidential : machine learning on encrypted data » publié dans Cryptology Eprint Archive, Report 2012/323, 2012, décrit une méthode d'apprentissage automatique dans laquelle les phases d'apprentissage et de classification s'effectuent sur des données chiffrées par un chiffrement homomorphe plafonné ou LHE (Levelled Homomorphic Encryption). Différents algorithmes de 10 classification sont envisagés tels qu'une classification par hyperplans ou LM (Linear Means) et une classification par discriminant linéaire de Fischer. Le chiffrement homomorphe des données est peu adapté à des terminaux de faibles ressources, les messages contenant les données chiffrées sont de grande taille et le temps d'exécution particulièrement long. Le problème à la base de l'invention est par conséquent de proposer une méthode 15 de classification sécurisée de données par une plateforme informatique distante qui ne présente pas les inconvénients de l'art antérieur, en particulier qui ne nécessite pas l'envoi d'un grand nombre de messages voire l'envoi de longs messages à la plateforme et qui permette par conséquent d'obtenir un temps d'exécution sensiblement plus court que dans l'art antérieur. 20 EXPOSÉ DE L'INVENTION La présente invention est définie par une méthode de classification sécurisée de données par une plateforme informatique, comprenant: - une étape d'envoi de données à classifier, d'au moins un client à ladite 25 plateforme informatique, les données étant envoyées sous forme chiffrée au moyen d'un chiffrement par flot utilisant une première clé symétrique, associée au client ; - une étape d'envoi de paramètres d'un modèle de classification, d'au moins un fournisseur à ladite plateforme informatique, les paramètres étant envoyés sous forme 3060165 4 chiffrée au moyen d'un chiffrement par flot utilisant une seconde clé symétrique, associée au fournisseur ; - une première étape de transchiffrement dans laquelle les données chiffrées par la première clé symétrique sont rechiffrées par la clé publique d'un cryptosystème 5 homomorphe, les données ainsi rechiffrées étant déchiffrées dans le domaine homomorphe à partir de la première clé symétrique, pour obtenir lesdites données, chiffrées par ladite clé publique; - une seconde étape de transchiffrement dans laquelle les paramètres chiffrés par la seconde clé symétrique sont rechiffrés par ladite clé publique puis déchiffrés dans le 10 domaine homomorphe à partir de la seconde clé symétrique, pour obtenir lesdits paramètres, chiffrés par ladite clé publique ; - une étape de classification des données au moyen d'une fonction de classification, ladite fonction de classification opérant sur les données et les paramètres chiffrés par la clé publique, ladite fonction de classification étant évaluée dans le domaine 15 homomorphe pour fournir un résultat de classification chiffré par ladite clé publique. Dans un premier mode de réalisation, préalablement à la première étape de transchiffrement, la première clé symétrique est chiffrée par le client au moyen de la clé publique puis transmise ainsi chiffrée à la plateforme informatique, la première étape de transchiffrement déchiffrant dans le domaine homomorphe les données rechiffrées, au 20 moyen de la première clé symétrique chiffrée par la clé publique. Préalablement à la première étape de transchiffrement, la clé publique est transmise par le client à la plateforme informatique et celle-ci transmet au client le résultat de classification chiffré par ladite clé publique, le client déchiffrant ce résultat au moyen de la clé privée dudit cryptosystème homomorphe pour obtenir un résultat de classification 25 en clair. Dans ce cas, préférablement, la clé publique est transmise par la plateforme informatique au fournisseur et, préalablement à la seconde étape de transchiffrement, la seconde clé symétrique est chiffrée par le fournisseur au moyen de ladite clé publique puis transmise ainsi chiffrée à la plateforme informatique, la seconde étape de transchiffrement 3060165 5 déchiffrant dans le domaine homomorphe les paramètres rechiffrés, au moyen de la seconde clé symétrique chiffrée par la clé publique. Selon un second mode de réalisation, préalablement à la première étape de transchiffrement, la clé publique est transmise par le fournisseur à la plateforme 5 informatique et celle-ci transmet au fournisseur le résultat de classification chiffré par ladite clé publique, le fournisseur déchiffrant ce résultat au moyen de la clé privée dudit cryptosystème homomorphe pour obtenir un résultat de classification en clair. Dans ce cas, préférablement, la clé publique est transmise par la plateforme informatique au client et, préalablement à la première étape de transchiffrement, la 10 première clé symétrique est chiffrée par le client au moyen de ladite clé publique puis transmise ainsi chiffrée à la plateforme informatique, la première étape de transchiffrement déchiffrant dans le domaine homomorphe les données rechiffrés, au moyen de la première clé symétrique chiffrée par la clé publique. Selon une premier modèle de classification, la fonction de classification est une 15 fonction linéaire des données à classifier. Selon un second exemple de modèle de classification, la fonction de classification est une fonction polynomiale des données à classifier. BRÈVE DESCRIPTION DES DESSINS 20 D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture d'un mode de réalisation préférentiel de l'invention, fait en référence aux figures jointes parmi lesquelles : La Fig. 1 représente schématiquement une méthode de classification sécurisée selon le principe général de l'invention ; 25 La Fig. 2 représente un ordinogramme de la méthode de classification sécurisée de la Fig.1; La Fig. 3 représente schématiquement une méthode de classification sécurisée selon un premier mode de réalisation de l'invention ; 3060165 6 La Fig. 4 représente un ordinogramme de la méthode de classification sécurisée de la Fig. 3 ; La Fig. 5 représente schématiquement une méthode de classification sécurisée selon un second mode de réalisation de l'invention ; 5 La Fig. 4 représente un ordinogramme de la méthode de classification sécurisée de la Fig. 5. EXPOSÉ DÉTAILLÉ DE MODES DE RÉALISATION PARTICULIERS L'idée à la base de l'invention est de transmettre à la plateforme les données à 10 classifier ainsi que les paramètres du modèle de classification en les chiffrant préalablement au moyen d'un chiffrement à clé symétrique, puis d'effectuer un transchiffrement de ces données et paramètres dans un domaine homomorphe pour enfin évaluer la fonction de classification dans le domaine homomorphe, le résultat de la classification étant fourni sous forme chiffrée par la clé publique du cryptosystème 15 homomorphe. Ainsi, il n'est pas nécessaire de chiffrer par chiffrement homomorphe les données à classifier au niveau des clients et les paramètres du modèle de classification au niveau des fournisseurs. En outre, la totalité du processus d'évaluation se faisant dans le domaine homomorphe par la plateforme informatique, celle-ci ne peut accéder ni aux données en clair, ni aux paramètres en clair du modèle de classification, ni davantage au 20 résultat de classification en clair. La méthode de classification sécurisée utilise un cryptosystème homomorphe pour les étapes de transchiffrement et d'évaluation de la fonction de classification. On rappelle qu'un chiffrement homomorphe permet d'effectuer des opérations (en pratique des opérations arithmétiques d'addition ou de multiplication) sur des données 25 sans jamais les dévoiler. Plus précisément, un chiffrement homomorphe est un chiffrement à clé asymétrique EncPk (de clé publique pk ) vérifiant la propriété suivante : Enc fl F pk - " 3060165 7 Dec sk[EncPk (a) eEnc'k (b)] = a + b (1) où ,n est l'espace des messages clairs (dit plus simplement espace des clairs) et F est l'espace des messages chiffrés (dit plus simplement espace des chiffrés), + une opération 5 additive dans l'espace des clairs conférant à n une structure de groupe, e une opération dans l'espace des chiffrés conférant à F une structure de groupe. On comprend ainsi que l'application de (s2,+) dans (F,G ) est un homomorphisme de groupes. Dec sk est la fonction de déchiffrement correspondant à EncPk (où sk est la clé secrète de l'utilisateur). Il résulte de l'expression (1) qu'il est possible d'effectuer une opération additive 10 entre deux clairs ( a,b) à partir d'une opération correspondante entre leurs chiffrés ( EncPk (a), EncPk (b)). Plus généralement, un chiffrement homomorphe peut être considéré comme un morphisme d'anneau entre l'espace des clairs (muni des opérations +,x) et l'espace des chiffrés (muni des opérations correspondantes e,o ). On a alors les propriétés suivantes : 15 Dec sk (EncPk (a + b)) = Dec sk (EncPk (a) O+ EncPk (b)) = a + b (2-1) Dec sk (EncPk (axb)) = Dec sk (EncPk (a) 0 EncPk (b)) = axb (2-2) A l'aide des expressions (2-1) et (2-2), il est donc possible d'évaluer une fonction 20 f quelconque, décomposable en opérations élémentaires d'addition et de multiplication, dans l'espace des chiffrés puis de déchiffrer le résultat. Dans ces cryptosystèmes homomorphes actuels, le chiffrement consiste à masquer un message avec du bruit. Réciproquement, le déchiffrement consiste à retirer ce bruit, ce qui est faisable si l'on connaît la clef privée du cryptosystème mais en revanche 25 extrêmement difficile si celle-ci est inconnue. Les opérations homomorphes maintiennent naturellement ce masquage voire l'amplifient. Si l'on représente la fonction f précitée selon une décomposition arborescente, chaque noeud de l'arbre correspondant à une opération arithmétique élémentaire, un bruit est ajouté à chaque niveau de l'arbre. On 3060165 8 conçoit donc que si la fonction f présente une profondeur de calcul importante (c'est-à- dire un grand nombre de niveaux dans la représentation arborescente), le niveau de bruit dans le résultat d'évaluation de la fonction f augmente. Lorsque le bruit dépasse un seuil (dépendant du schéma de chiffrement utilisé), il n'est plus garanti que le résultat soit 5 encore déchiffrable. Lorsqu'un cryptosystème homomorphe permet d'effectuer n'importe quelle profondeur de calcul, il est dénommé entièrement homomorphe ou FHE (Fully Homomorphic Encryption). A défaut, il est dit relativement homomorphe ou SHE (Somewhat Homomorphic) voire LHE (Levelled Homomorphic). Dans la suite, nous supposerons que le cryptosystème homomorphe utilisé est entièrement homomorphe ou 10 bien homomorphe jusqu'à une profondeur suffisante pour évaluer la fonction de classification. La clé privée et la clé publique d'un cryptosystème homomorphe seront conventionnellement notées sk - HE et pk - HE . Le transchiffrement est une technique cryptographique permettant de passer de données chiffrées par un premier cryptosystème aux mêmes données chiffrées par un 15 second cryptosystème, sans passer par une étape intermédiaire de déchiffrement dans l'espace des clairs. La présente méthode de classification sécurisée fait usage d'un transchiffrement permettant de passer d'un chiffrement par flot à un chiffrement homomorphe. On rappelle qu'un chiffrement par flot est un chiffrement à clé symétrique dans lequel le message à 20 chiffrer est simplement additionné bit à bit avec la clé, notée ici simplement sk . Le déchiffrement est réalisé comme le chiffrement, par simple addition bit à bit de la donnée chiffrée avec la clé symétrique. Si l'on note x une donnée en clair, [x]sk la donnée chiffrée par le chiffrement par flot, S, et [X]pk-HE la même donnée chiffrée par le chiffrement homomorphe, HE , on a la 25 relation : S-1 (L[X] ski pk-HE ,[Sk]pk-HE)=[X]pk-HE (3) Autrement dit, il est possible de déchiffrer dans le domaine homomorphe (c'est- 3060165 9 à-dire dans le domaine des chiffrés homomorphe) une donnée chiffrée une première fois par le chiffrement par flot et une seconde fois par le chiffrement homomorphe. Le déchiffrement par flot, S-1 étant réalisé par une simple addition avec la clé symétrique, on comprend que celui-ci puisse être effectué dans le domaine homomorphe au moyen de la 5 clé symétrique chiffrée [sk] pk-HE Nous considérons dans la suite un ensemble de clients d'un service de classification, une plateforme informatique distante et un ensemble de fournisseurs de modèles de classification au sens défini précédemment. L'ensemble des clients est noté U,,...,UN et l'ensemble des fournisseurs Fp ..., Fm , avec N>_1 et M 10 La Fig. 1 représente schématiquement une méthode de classification sécurisée selon le principe général de l'invention. On a représenté en 100 la plateforme informatique, en 110 les clients du service de classification et en 120 les fournisseurs des modèles de classification. 15 La plateforme est considérée comme semi-honnête, c'est-à-dire qu'elle est fiable en termes de calculs effectués mais qu'elle ne l'est pas nécessairement en termes de confidentialité des données à classifier et des paramètres des modèles de classification. Chaque client U., i =1,..., N possède une clé de chiffrement symétrique, notée sku au moyen de laquelle il est capable d'effectuer un chiffrement par flot des données à 20 classifier. De manière similaire, chaque fournisseur Fi, j =1,...,M , possède une clé symétrique ski au moyen de laquelle il est capable d'effectuer un chiffrement par flot des paramètres de son modèle de classification. Nous supposerons en outre que l'ensemble des clients, fournisseurs et la 25 plateforme informatique partagent la clé publique, pk -HE d'un cyptosystème homomorphe. Dans le mode de réalisation général, aucune hypothèse n'est faite sur la génération ou sur la distribution de cette clé publique, elle peut avoir été transmise par un client ou par un fournisseur comme nous verrons par la suite. Alternativement, elle peut avoir été transmise par un serveur de clés. 3060165 10 En revanche, seul le destinataire du résultat de classification possédant la clé privée, sk - HE , correspondant à la clé publique de ce cryptosystème, pourra y accéder. Dans une première étape d'envoi, un client U. qui souhaite classifier ses données, , les transmet sous forme chiffrée à la plateforme informatique. Les données à classifier 5 se présentent généralement sous la forme d'un vecteur d'attributs de taille donnée. Le chiffrement est réalisé par flot au moyen d'une première clé symétrique skia , les données chiffrées étant notées [x ] u . La première clé symétrique skia n'est partagée ni avec la plateforme, ni généralement avec les fournisseurs et les autres clients. De manière similaire, dans une seconde étape d'envoi, un fournisseur F1 10 transmet les paramètres, p., de son modèle de classification sous forme chiffrée à la plateforme informatique. Le chiffrement est réalisé par flot au moyen d'une seconde clé symétrique, ski , associée au fournisseur F1, les paramètres chiffrés étant notés Lp F . ski La clé symétrique ski n'est partagée ni avec la plateforme et, généralement, ni avec les clients, ni avec les autres fournisseurs. 15 II est important de remarquer que l'ordre des première et seconde étapes d'envoi est indifférent. En d'autres termes (et cela est souvent le cas), le fournisseur F1 fournit d'abord son modèle de classification à la plateforme avant qu'un client ne transmette une requête de classification de données. La plateforme informatique effectue ensuite une première et une seconde étape 2 0 de transchiffrement, l'ordre de ces deux étapes étant également indifférent. Lors d'une première étape de transchiffrement, la plateforme transforme les données chiffrées par la clé symétrique skia en ces mêmes données, chiffrées par la clé publique pk - HE . Plus précisément, la plateforme informatique chiffre à nouveau les données chiffrées [xsk,u au moyen de la clé publique pk - HE , soit L[xi] u et sk pk-HE 25 déchiffre ensuite, dans le domaine homomorphe, ces données ainsi rechiffrées, à partir de la clé symétrique skia , ce qui peut s'exprimer par : 3060165 11 = (r LE pk HE 'LS pk-HE ) (4) pk-HE dec où dec(y,K) signifie l'opération de déchiffrement par flot (identique à l'opération de chiffrement par flot) du chiffré y au moyen de la clé K. On comprendra que l'opération de 5 déchiffrement est réalisée ici dans le domaine homomorphe, sans que la plateforme n'ait à aucun moment accès aux données en clair, xi . De manière similaire, dans une seconde étape de transchiffrement, la plateforme transforme les paramètres chiffrés par la clé symétrique ski en ces mêmes paramètres chiffrés par la clé publique pk - HE . Plus précisément, la plateforme informatique chiffre 10 à nouveau les paramètres déjà chiffrés [p le au moyen de la clé publique pk - HE , soit et déchiffre ensuite, dans le domaine homomorphe, ces données ainsi pk-HE rechiffrées, à partir de la clé symétrique ski , ce qui peut s'exprimer, avec les mêmes conventions de notation que précédemment, par : ( 15LP pk-HE dec ,[Ski pk-HE (5) On comprendra également que l'opération de déchiffrement est réalisée ici dans le domaine homomorphe, sans que la plateforme n'ait à aucun moment accès aux paramètres en clair, p . 20 Enfin, la plateforme effectue une opération de classification à partir du modèle dont les paramètres ont été fournis par F . La fonction de classification f est évaluée dans le domaine homomorphe comme suit : pk-HE = f (`xi I pk-HE [p pk-HE) (6) 25 3060165 12 Cette évaluation est possible dans la mesure où la fonction f est une fonction linéaire ou une fonction polynomiale, des données à classifier. Comme exemple de fonction linéaire, on peut citer un classificateur par hyperplans. 5 Comme exemple de classification polynomiale (quadratique), on peut citer un classificateur gaussien. Dans cet exemple, on suppose que les données sont représentées par des vecteurs d'attributs, x de dimension Q et qu'à chaque classe Ck, k -1,..., K sont associées une valeur moyenne vectorielle iitk ( vecteur de dimension Q) ainsi qu'une matrice de 10 covariance Ek , semi-définie positive de dimension QxQ. Le modèle est par conséquent défini par les paramètres iitk et Ek (ou Ek-1) k = 1, ..., K , collectivement représentés par le vecteur y. La fonction de classification est alors donnée par : 15 r = f (x, y) - arg min ( f (x, Ck) (7-1) avec: f (x,ck)=(x-iiik)T ET: (x-iiik) (7-2) 20 Autrement dit, la fonction de classification donne la classe pour laquelle la N _ distance (x -litk )T Eki( X -litk) au représentant iitk est minimale. La fonction f (x,Ck) dans (7-2) ne comportant que des opérations polynomiales (quadratiques), celle-ci peut être évaluée dans le domaine homomorphe. La comparaison 25 des résultats f (x,Ck) dans (7-1) peut également être réalisée dans le domaine homomorphe au moyen d'expressions linéaires. L'évaluation de la comparaison des résultats peut s'effectuer au moyen de circuits booléens pour l'opérateur « > » (plus grand que) sur les représentations binaires des données chiffrées, comme décrit dans l'article de 3060165 13 J. Garay et al. intitulé « Practical and secure solutions for integer comparison » publié dans T. Okamoto and X. Wang, editors, Public Key Cryptography - PKC 2007, volume 4450 of Lecture Notes in Computer Science, pages 330-342. Springer Berlin, Heidelberg, 2007. Alternativement, il est possible d'utiliser une fonction de classification non linéaire 5 et non polynomiale (par exemple classification par réseau neuronal) dans la mesure où une telle fonction peut être approximée localement par une fonction polynomiale (série de Taylor par exemple). On pourra trouver un exemple de classification sécurisée par réseau neuronal dans l'article de N. Dowlin et al. intitulé « CryptoNets : applying neural networks to encrypted data with high throughput and accuracy », available at 10 research.microsoft.com/apps/pubs/default.aspx?id. En tout état de cause, le résultat de la classification est obtenu en (6) sous forme chiffrée par la clé publique du cryptosystème homomorphe. Il peut alors être déchiffré par l'entité (client ou fournisseur par exemple) détentrice de la clé secrète correspondante. Nous envisagerons plus loin un premier mode de réalisation dans lequel le résultat 15 de la classification est transmis au client ayant formé la requête et un second mode de réalisation dans lequel ce résultat est transmis au fournisseur dont le modèle a servi à cette classification. La Fig. 2 représente un ordinogramme de la méthode de classification sécurisée de la Fig.1. 20 Dans une première étape d'envoi, 210, un client U qui souhaite classifier ses données, xi , les transmet sous forme chiffrée, à savoir [x à la plateforme informatique. Dans une seconde étape d'envoi, 220, un fournisseur Fi transmet les paramètres, pi, de son modèle sous forme chiffrée, à savoir [pile à la plateforme informatique. 25 Dans une première étape de transchiffrement, 230, la plateforme informatique, chiffre une seconde fois les données déjà chiffrées [ au moyen de la clé publique pk -HE , soit [[x, et déchiffre ensuite, dans le domaine homomorphe, ces lpk-HE 3060165 14 données ainsi rechiffrées, soit [xi] pk-HE = dec /[[x. u pk-HE ] Ls sk, pk-HE ' Dans une seconde étape de transchiffrement, 240, la plateforme informatique, chiffre une seconde fois les paramètres chiffrés [p le au moyen de la clé publique pk - HE , soit et déchiffre ensuite, dans le domaine homomorphe, ces pk-HE ( L 5 paramètres ainsi rechiffrés, soit [p = dec pk-HE JskF pk-HE,[Skf: pk-HE Enfin dans une étape de classification des données, 250, la plateforme informatique effectue une opération de classification en évaluant la fonction de classification f dans le domaine homomorphe soit [ri f ([ ,[p, J] pk-HE X11 pk-HE pk-HE) 10 La Fig. 3 représente schématiquement une méthode de classification sécurisée selon un premier mode de réalisation de l'invention. Dans ce mode de réalisation, le déchiffrement du résultat de la classification est réalisé par le client en ayant fait la demande. Pour ce faire, le client envoie à la plateforme sa clé publique homomorphe et déchiffre le résultat de la classification avec sa clé privée 15 correspondante. Pour des raisons de simplification de la présentation, seuls le client U. et le fournisseur de modèle F1 concernés ont été représentés sur la figure. Il est clair cependant pour l'homme du métier qu'en règle générale plusieurs (M ) fournisseurs peuvent fournir différents modèles de classification à la plateforme. 20 On note respectivement ski- HE et pk - HE , une clé privée et une clé publique d'un cryptosystème homomorphe. Ce couple de clés est par exemple généré localement par le client Ui . Ce dernier peut avoir aussi obtenu un certificat de clé publique auprès d'une autorité de certification. Dans ce mode de réalisation, le client Ui transmet à la plateforme informatique, 25 préalablement à la première étape de transchiffrement, la clé publique pki- HE , ses 3060165 15 données à classifier sous forme chiffrée par la première clé symétrique, soit [ ainsi que la première clé symétrique chiffrée par la clé publique, soit [sel pk,-HE En parallèle, la plateforme reçoit du fournisseur F les paramètres du modèle sous forme chiffrée par la seconde clé symétrique, soit [p .kF 5 La plateforme transmet la clé publique pki- HE (reçue du client U, ) au fournisseur F . Celui-ci retourne ensuite à la plateforme la seconde clé symétrique chiffrée par la clé publique, soit LskF, pk-HE. Cette clé publique est transmise à la plateforme avant la seconde étape de transchiffrement. Dans la première étape de transchiffrement, la plateforme informatique, chiffre à 10 nouveau les données chiffrées r iseau moyen de la clé publique pki- HE qu'il a reçue de U , puis effectue l'opération de déchiffrement de ces données rechiffrées dans le domaine homomorphe au moyen de la première clé symétrique chiffrée par la clé publique, soit [sktu , qu'il a également reçue de U. : pk,-HE ( ]pk -HE (8) 15 [ pk, HE = dec [xi] s ku ) = pk,-HE,LS Dans la seconde étape de transchiffrement, la plateforme informatique chiffre à nouveau les paramètres chiffrés [p , au moyen de la clé publique pki- HE qu'il akF reçue de Ui, puis effectue l'opération de déchiffrement de ces données rechiffrées, soit 20 [13 skE , dans le domaine homomorphe, au moyen de la seconde clé symétrique J pk,-HE chiffrée par la clé publique, [ski pk qu'il a préalablement reçue de F : -HE ( LP = dec ,[sk (9) pk,-HE 3060165 16 Dans l'étape de classification, la plateforme évalue la fonction de classification comme précédemment, c'est-à-dire : 5 [ri pki-HE '[19 pki-HE) (10) pk,-HE Ce résultat de classification est ensuite transmis au client U, à l'origine de la requête. Celui-ci déchiffre le résultat à l'aide de sa clé privée homomorphe ski -HEpour obtenir le résultat de classification en clair . Ce résultat est relatif à la classification des 10 données du client U par le modèle du fournisseur Fi . Selon une variante, la paire de clés privée et publique du cryptosystème homomorphe est toujours générée localement par le client U. mais la clé publique est distribuée par un serveur de clés, distinct de U , à la plateforme et au fournisseur Fi, voire =à l'ensemble des fournisseurs F j 1,...,M . 15 Ce premier mode de réalisation peut être illustré par un cas d'usage dans lequel des hôpitaux (fournisseurs) mutualisent sur une plateforme leurs modèles pour un risque de cancer d'un organe, avec pour résultat de classification deux classes possibles: bénigne et maligne. Les clients sont des praticiens qui entrent les données médicales de leurs patients pour confirmer ou infirmer le risque de cancer. D'une part, les hôpitaux souhaitent 20 protéger la confidentialité des modèles envoyés à la plateforme et, d'autre part, les médecins souhaitent protéger la confidentialité des données de leurs patients. La Fig. 4 représente un ordinogramme de la méthode de classification sécurisée de la Fig. 3. 25 Cette méthode comprend tout d'abord des premières étapes d'envoi 410, 411, 412 du client à la plateforme informatique. Plus précisément, en 410, le client U. transmet à la plateforme les données à classifier, chiffrées au moyen de sa clé symétrique skiu , soit [x 3060165 17 En 411, le client U, transmet à la plateforme la clé publique pki- HE d'un cryptosystème homomorphe. Le couple de clé privée, clé publique de ce cryptosystème a été préalablement généré par le client en question. La clé privée, ski- HE , et la clé publique correspondante, pki- HE , ainsi générées sont ainsi associées à ce client. Le cas, 5 échéant la clé publique pki- HE peut être transmise à la plateforme par un serveur de clés. En 412, le client U. transmet à la plateforme sa clé symétrique skiu , chiffrée par la clé publique pki- HE . On notera que l'ordre des étapes 410-412 est ici sans importance. 10 En 415, la plateforme informatique transmet au fournisseur Fi (voire à l'ensemble des fournisseurs) la clé publique pk -HE . Le cas échéant, cette clé publique peut être transmise directement par le client lui-même, voire être transmise par un serveur de clés. Les étapes 420-421 sont des étapes d'envoi du fournisseur Fi à la plateforme informatique. 15 Ainsi, en 420, le fournisseur Fi transmet à la plateforme informatique les paramètres p. de son modèle, sous forme chiffrée, à savoir [p .kF En 421, le fournisseur Fi, ayant préalablement reçu la clé publique homomorphe pki -HE en 415, chiffre sa propre clé symétrique à l'aide de cette dernière et transmet le résultat chiffré, [skF à la plateforme. pk,-HE 20 On notera que l'étape 420 peut intervenir dans n'importe quel ordre dans la séquence précédente, seule l'étape 421 devant intervenir après l'étape 415. Dans une première étape de transchiffrement, 430, la plateforme informatique chiffre à nouveau les données chiffrées [.x, ]Sku , au moyen de la clé publique, pki- HE puis effectue un déchiffrement de ces données ainsi rechiffrées dans le domaine homomorphe, ( [Spk,-HE pk -HE 25 soit [xi]pk, HE L[xi] el = dec ) 3060165 18 Dans une seconde étape de transchiffrement, 440, la plateforme informatique chiffre à nouveau les paramètres chiffrés [p , au moyen de la clé publique pki - HE ,kF puis effectue un déchiffrement de ces paramètres ainsi rechiffrés, soit ^ pk,-HE ( ,[Skpk,-HE dans le domaine homomorphe : [13 = dec pk,-HE [13 fie pk-HE 5 L'ordre des étapes 430 et 440 est là encore indifférent. Toutefois, l'étape 430 devra être effectuée après les étapes 410-412. De manière similaire, l'étape 440 devra être effectuée après les étapes 420-421. Ensuite, dans une étape de classification des données, 450, la plateforme informatique évalue la fonction de classification dans le domaine homomorphe, soit 10 L Ipk,-HE f ([xi] pk,-HE 'LP pk,-HE) Enfin, en 460, la plateforme informatique transmet au client U. le résultat de la classification (chiffré par la clé publique pki -HE ), H] pk,-HE En 470, le client Ui, disposant de la clé privée correspondante ski - HE , déchiffre le résultat de classification chiffré H I pour obtenir le résultat de classification en pk,-HE 15 clair, On notera que le résultat de classification [rI ne peut ainsi pas être pk,-HE déchiffré par les autres clients. La Fig. 5 représente schématiquement une méthode de classification sécurisée 20 selon un second mode de réalisation de l'invention. Dans ce mode de réalisation, le déchiffrement du résultat de la classification est réalisé par le fournisseur ayant fourni le modèle de classification. Pour ce faire, le fournisseur envoie à la plateforme sa clé publique homomorphe et déchiffre le résultat de la classification avec sa clé privée correspondante. 3060165 19 Comme dans le premier mode de réalisation, seuls le client U. et le fournisseur de modèle F concernés ont été représentés sur la figure. Il est toutefois clair que plusieurs clients et plusieurs fournisseurs peuvent se connecter à la plateforme. On note respectivement ski -HE et pk1 - HE , une clé privée et une clé publique 5 d'un cryptosystème homomorphe. Ce couple de clés est par exemple généré localement par le fournisseur Fi . Ce dernier peut avoir aussi obtenu un certificat de clé publique auprès d'une autorité de certification. Par ailleurs, le client U. dispose comme précédemment d'une première clé symétrique skia et le fournisseur d'une seconde clé symétrique ski , pour effectuer un 10 chiffrement par flot. Le fournisseur F transmet à la plateforme informatique, préalablement à la première étape de transchiffrement, la clé publique pk1 - HE , les paramètres de modèle sous forme chiffrée par la seconde clé symétrique, soit Lp , ainsi que la seconde clékF symétrique chiffrée par la clé publique, soit [skF, pk J-HE 15 En parallèle, la plateforme reçoit du client U. les données à classifier sous forme chiffrée par la première clé symétrique, soit [.x, Lu . La plateforme transmet la clé publique pk1 -HE préalablement reçue du fournisseur F au client U, . Ce dernier retourne alors à la plateforme la première clé symétrique chiffrée par la clé publique, soit [sel pk J-HE 20 Dans une première étape de transchiffrement, la plateforme informatique, chiffre à nouveau les données déjà chiffrées [x], au moyen de la clé publique pk1 -HE qu'il a reçue de Fi, puis effectue l'opération de déchiffrement de ces données rechiffrées dans le domaine homomorphe au moyen de la première clé symétrique chiffrée par la clé publique, soit [skiu , qu'il a préalablement reçue de U. : pk J-HE 25 3060165 20 ( ]pk -HE = , J ) [x] pk --HE dec = pk -HE [s Dans la seconde étape de transchiffrement, la plateforme informatique chiffre à nouveau les paramètres chiffrés [pile , au moyen de la clé publique pki - HE qu'il a 5 reçue de Fi, puis effectue l'opération de déchiffrement de ces données rechiffrées, soit , dans le domaine homomorphe au moyen de la seconde clé symétrique pk J-HE chiffrée par la clé publique, 1pk -HE [ski , qu'il a préalablement reçue de F1 : 3 J ( LP= dec pk J-HE [pi ~SkF ,[s pk j-HE ]pk -HE J ) (12) 10 Dans l'étape de classification, la plateforme évalue la fonction de classification comme précédemment, c'est-à-dire : 15 [rJ ipki-HE f ([ '[19 ilpk -HE) (13) Ce résultat de classification est ensuite transmis au fournisseur qui peut déchiffrer le résultat à l'aide de sa clé privée sk1 -HE . Selon une variante, la paire de clés privée et publique du cryptosystème homomorphe est générée localement par le fournisseur Fi mais la clé publique est 20 distribuée par un serveur de clés, distinct de Fi , à la plateforme et au client U, , voire à l'ensemble des clients U , i =1,...,N . Ce second mode de réalisation peut être illustré par un cas d'usage dans lequel le gestionnaire d'un éco-quartier (fournisseur) souhaite connaître les profils de consommation énergétique des habitations (clients) dont il assure la gestion. Les 25 différentes habitations remontent, de manière sécurisée, à la plateforme les données 3060165 21 relatives à leur consommation énergétique. Le gestionnaire obtient, après classification sécurisée, les classes énergétiques de ses clients sans pouvoir accéder à leurs données en clair. 5 La Fig. 6 représente un ordinogramme de la méthode de classification sécurisée de la Fig. 5. Cette méthode comprend tout d'abord des premières étapes d'envoi 610, 611, 612 du fournisseur à la plateforme informatique. Plus précisément, en 610, le fournisseur Fi transmet à la plateforme informatique 10 les paramètres p. de son modèle, sous forme chiffrée, à savoir [p .kF En 611, le fournisseur Fi transmet à la plateforme la clé publique d'un cryptosystème homomorphe. Le couple de clé privée, clé publique de ce cryptosystème a été préalablement généré par le fournisseur. La clé privée, sk1 - HE , et la clé publique correspondante, pk1 - HE, ainsi générées sont associées à ce fournisseur. Le cas, échéant 15 la clé publique pk1 - HE peut être transmise à la plateforme par un serveur de clés. En 612, le fournisseur Fi transmet à la plateforme sa clé symétrique ski , chiffrée par la clé publique pk1 - HE . On notera que l'ordre des étapes 610-612 est sans importance. En 615, la plateforme informatique transmet au client U. (voire à l'ensemble des 20 clients) la clé publique pk1 - HE . Le cas échéant, cette clé publique peut être transmise directement par le fournisseur lui-même, voire être transmise par un serveur de clés. Les étapes 620-621 sont des étapes d'envoi du client U, à la plateforme informatique. Ainsi, en 620, le client U. transmet à la plateforme informatique les données à 25 classifier, sous forme chiffrée, à savoir [xlsku . En 621, le client U., ayant préalablement reçu la clé publique homomorphe pk1 - HE en 615, chiffre sa clé symétrique à l'aide de cette dernière et transmet le résultat 3060165 22 chiffré, Ls , à la plateforme. pk -HE On notera que l'étape 620 peut intervenir dans n'importe quel ordre dans la séquence précédente, seule l'étape 621 devant intervenir après l'étape 615. Dans une première étape de transchiffrement, 630, la plateforme informatique 5 chiffre à nouveau les données chiffrées [.x,], au moyen de la clé publique, pk1 -HE puis effectue un déchiffrement de ces données ainsi rechiffrées dans le domaine homomorphe, soit [Xi] =dec ( L[X sk=11 ,[ski pk j HE p pk -HE ki -HE J Dans une seconde étape de transchiffrement, 640, la plateforme informatique chiffre à nouveau les paramètres chiffrés [p , au moyen de la clé publique pk1 - HE ,kF [19 ilse J ^ pk J-HE 10 puis effectue un déchiffrement de ces paramètres ainsi rechiffrés, soit ( dans le domaine homomorphe soit [ = dec pk J-HE [13 Se [ski 1 pk -HE pki-HE L'ordre des étapes 630 et 640 est là encore indifférent. Toutefois, l'étape 640 devra être effectuée après les étapes 610-612. De manière similaire, l'étape 630 devra être effectuée après les étapes 620-621. 15 Ensuite, dans une étape de classification des données, 650, la plateforme informatique évalue la fonction de classification dans le domaine homomorphe, soit [r pk J-HE f ([ pk -HE ' L pJ J pk -HE) Enfin, en 660, la plateforme informatique transmet au fournisseur Fi le résultat de la classification (chiffré par la clé publique pki-HE),[ pki-HE" 20 En 670, le fournisseur Fi, disposant de la clé privée correspondante, sk1 - HE , déchiffre le résultat de classification chiffré [r I pour obtenir le résultat de pk J-HE classification en clair, 3060165 23 On notera que le résultat de classification [r, ne pourra notamment pas pk -HE être déchiffré par les autres fournisseurs. On a supposé dans ce qui précède que les fournisseurs envoyaient les paramètres de leurs modèles de classification à la plateforme. Alternativement, on pourra envisager 5 que les fournisseurs transmettent des données d'apprentissage, la construction du modèle de classification étant alors réalisée par la plateforme dans le domaine homomorphe. REVENDICATIONS1. Méthode de classification sécurisée de données par une plateforme informatique caractérisée en ce qu'elle comprend : - une étape d'envoi (210) de données à classifier, d'au moins un client à ladite plateforme informatique, les données étant envoyées sous forme chiffrée au moyen d'un chiffrement par flot utilisant une première clé symétrique, associée au client ; - une étape d'envoi (220) de paramètres d'un modèle de classification, d'au moins un fournisseur à ladite plateforme informatique, les paramètres étant envoyés sous forme chiffrée au moyen d'un chiffrement par flot utilisant une seconde clé symétrique, associée au fournisseur ; - une première étape de transchiffrement (230) dans laquelle les données chiffrées par la première clé symétrique sont rechiffrées par la clé publique d'un cryptosystème homomorphe, les données ainsi rechiffrées étant déchiffrées dans le domaine homomorphe à partir de la première clé symétrique, pour obtenir lesdites données, chiffrées par ladite clé publique; - une seconde étape de transchiffrement (240) dans laquelle les paramètres chiffrés par la seconde clé symétrique sont rechiffrés par ladite clé publique puis déchiffrés dans le domaine homomorphe à partir de la seconde clé symétrique, pour obtenir lesdits paramètres, chiffrés par ladite clé publique ; - une étape de classification des données (250) au moyen d'une fonction de classification, ladite fonction de classification opérant sur les données et les paramètres chiffrés par la clé publique, ladite fonction de classification étant évaluée dans le domaine homomorphe pour fournir un résultat de classification chiffré par ladite clé publique. 2. Méthode de classification sécurisée selon la revendication 1, caractérisée en ce que, préalablement à la première étape de transchiffrement, la première clé symétrique est chiffrée par le client au moyen de la clé publique puis transmise ainsi chiffrée à la plateforme informatique, la première étape de transchiffrement déchiffrant dans le 3060165 25 domaine homomorphe les données rechiffrées, au moyen de la première clé symétrique chiffrée par la clé publique. 3. Méthode de classification selon la revendication 1 ou 2, caractérisée en ce que, 5 préalablement à la première étape de transchiffrement, la clé publique est transmise par le client à la plateforme informatique et que celle-ci transmet au client le résultat de classification chiffré par ladite clé publique, le client déchiffrant ce résultat au moyen de la clé privée dudit cryptosystème homomorphe pour obtenir un résultat de classification en clair. 10 4. Méthode de classification sécurisée selon la revendication 3, caractérisée en ce que la clé publique est transmise par la plateforme informatique au fournisseur et que, préalablement à la seconde étape de transchiffrement, la seconde clé symétrique est chiffrée par le fournisseur au moyen de ladite clé publique puis transmise ainsi chiffrée à la 15 plateforme informatique, la seconde étape de transchiffrement déchiffrant dans le domaine homomorphe les paramètres rechiffrés, au moyen de la seconde clé symétrique chiffrée par la clé publique. 5. Méthode de classification selon la revendication 1 ou 2, caractérisée en ce que, 20 préalablement à la première étape de transchiffrement, la clé publique est transmise par le fournisseur à la plateforme informatique et que celle-ci transmet au fournisseur le résultat de classification chiffré par ladite clé publique, le fournisseur déchiffrant ce résultat au moyen de la clé privée dudit cryptosystème homomorphe pour obtenir un résultat de classification en clair. 25 6. Méthode de classification selon la revendication 5, caractérisée en ce que la clé publique est transmise par la plateforme informatique au client et que, préalablement à la première étape de transchiffrement, la première clé symétrique est chiffrée par le client au moyen de ladite clé publique puis transmise ainsi chiffrée à la plateforme informatique, la 3060165 26 première étape de transchiffrement déchiffrant dans le domaine homomorphe les données rechiffrés, au moyen de la première clé symétrique chiffrée par la clé publique. 7. Méthode de classification selon l'une des revendications précédentes, 5 caractérisée en ce que la fonction de classification est une fonction linéaire des données à classifier. 8. Méthode de classification selon l'une des revendications 1 à 6, caractérisée en ce que la fonction de classification est une fonction polynomiale des données à classifier. 10