Brevet FR3095537A1 — publié le 20201030

Description Titre de l'invention : MÉTHODE ET SYSTÈME DE CLASSIFICATION CONFIDENTIELLE DE DONNÉES Domaine technique [0001] La présente invention concerne le domaine de l'intelligence artificielle et plus parti- culièrement celui de l'apprentissage profond par réseau neuronal artificiel. Elle s'applique au domaine de la classification confidentielle de données, en particulier à celui de la reconnaissance faciale et à celui de la reconnaissance de locuteur. Etat de la technique antérieure [0002] L'apprentissage automatique (machine lemming) comme service ou MLAS (Machine Lemming As a Service) est actuellement en plein développement. De manière générale, dans un tel contexte, un programme d'intelligence artificielle hébergé par une plateforme est entrainé sur un corpus de données (de manière supervisée ou non) lors d'une phase d'apprentissage. Dans une phase opérationnelle, un utilisateur peut ensuite fournir des données à la plateforme informatique dans un but de classification ou de prédiction. [0003] Un exemple de service de classification de données accessible par le Cloud est constitué par le système de reconnaissance faciale FaceNet. Celui-ci accepte en entrée les pixels d'une photo et fournit en sortie, soit l'identifiant d'un visage connu, soit un vecteur de probabilités indiquant, pour chaque visage d'un ensemble de visages connus, la probabilité que la photo d'entrée corresponde à ce visage. Le système FaceNet utilise un réseau convolutif profond de neurones particulièrement complexe et dont l'apprentissage nécessite un savoir-faire et un temps de calcul importants. [0004] On trouvera une description du système de reconnaissance faciale FaceNet dans l'article de F. Schroff et al. intitulé « FaceNet a unified embedding for face recognition and clustering » publié dans Proc. of IEEE CVPR, pp. 815-823, 2015. [0005] Dans sa phase opérationnelle, le système FaceNet peut être amené à reconnaitre des visages qui n'étaient pas présents dans la base de données d'apprentissage. Pour des raisons évidentes de maintenabilité du système, il n'est pas possible de faire effectuer au système un nouvel apprentissage complet lorsqu'un ou plusieurs nouveaux visages doivent être reconnus par le système. Afin de remédier à cette difficulté, le système FaceNet comprend deux modules en cascade : un premier module générique d'analyse de photos de visages, indépendant des visages à reconnaitre, et un second module de classification, spécifique aux visages à reconnaître, beaucoup plus simple que le premier et adapté à reconnaître un visage sur la base des résultats d'analyse fournis par le premier module. Le module d'analyse est constitué par un réseau profond de 2 neurones dont l'apprentissage est réalisé sur une base de données de visages humains de grande taille. 11 permet de réduire la dimensionnalité du vecteur d'entrée en le projetant sur un espace de plus faible dimension (embedding), formé par des caractéristiques de visages, et sur lequel est définie une métrique de similarité. Le second module effectue la classification à proprement parler du visage à reconnaître sur la base d'un algorithme du type plus proche voisin ou k-plus proches voisins en utilisant cette métrique. L'identifiant de la classe dans laquelle est classée la photo du visage permet à l'utilisateur de reconnaître ce dernier. [0006] Le système FaceNet ne garantit toutefois pas la confidentialité des visages recherchés par les utilisateurs ni celle du résultat de la recherche. [0007] Différentes solutions ont été proposées dans l'état de la technique pour assurer cette confidentialité. Par exemple, un utilisateur peut recourir à des techniques dc bruitage des données dc référence qu'il transmet à la plateforme. Toutefois, ce bruitage peut conduire à une dégradation des performances de reconnaissance faciale. [0008] Même lorsque les données d'entrée ne sont pas confidentielles, il arrive fréquemment que le résultat de la classification doive rester confidentiel, voire que l'ensemble des classes utilisées pour cette classification doive lui-même rester confidentiel. [0009] Il a été proposé dans l'article de F. Bourse et al. intitulé « Fast homomorphie evaluation of deep discretized neural networks » publié dans la revue CRYPTO (3) 2018, pp. 483-512 un système d'évaluation confidentielle par réseau de neurones profond fondé sur un chiffrement homomorphe. Les données sont alors fournies au classifieur de manière chiffrée et celui-ci en effectue la classification dans le domaine homomorphe. Le résultat de la classification est obtenu dans le domaine homomorphe. Un tel réseau de neurones est toutefois particulièrement complexe en termes de calcul. Il n'est pas non plus pertinent lorsqu'il s'agit simplement de classer des données non confidentielles. [0010] L'objet de la présente invention est par conséquent de proposer une méthode de clas- sification confidentielle de données non confidentielles dans un ensemble de classes confidentiel. Présentation de l'invention [0011] La présente invention est définie par une plateforme de classification confidentielle de données comprenant un réseau neuronal artificiel en cascade avec un classifieur, le réseau neuronal artificiel étant adapté à être entrainé pendant une phase d'apprentissage sur des vecteurs de données d'une base de données d'apprentissage et à transformer, dans une phase opérationnelle, des vecteurs de données d'entrée en des vecteurs de caractéristiques discriminantes, lesdits vecteurs de caractéristiques discriminantes étant fournis au classifieur et possédant une taille inférieure à la celle des 3 vecteurs de données, ladite plateforme de classification étant originale en ce que: - elle comprend une hase de référence dans laquelle sont stockés, lors d'une phase d'initialisation du classificur, des vecteurs de caractéristiques de référence, obtenus par transformation, au moyen du réseau neuronal artificiel d'une copie dc celui-ci, de vecteurs de données de référence, les vecteurs dc caractéristiques de référence étant stockés sous forme chiffrée par une clé publique d'un cryptosystème homomorphe dudit utilisateur ; et qu'après cette phase d'initialisation, - lorsque l'utilisateur requiert de la plateforme de classification la classification d'un vecteur de données d'entrée (x), le classificur évalue une fonction de classification dans le domaine homomorphe, à partir du vecteur de caractéristiques discriminantes (Y ) fourni par le réseau neuronal artificiel ou ladite copie dc celui-ci, et des vecteurs de caractéristiques de référence stockés sous forme chiffrée dans la hase dc référence Enc(y ef,RE.pk), 1 = N), et transmet à l'utilisateur le résultat de ladite évaluation. [0012] Selon un exemple de réalisation, le réseau de neurones artificiel est un auto- encodeur. [0013] Le système homomorphe peut être additif. Alternativement, le système homomorphe peut être un système SHE ou FHE. [0014] L'utilisateur peut alors télécharger de la plateforme une copie du réseau neuronal ar- tificiel au terme de la phase d'apprentissage. Ladite copie du réseau neuronal est alors configurée pour fournir, lors de la phase d'initialisation, les vecteurs de caractéristiques de référence à partir des vecteurs de données de référence, l'utilisateur disposant d'un module de chiffrement homomorphe par ladite clé publique, configuré pour chiffrer en homomorphe lesdits vecteurs de caractéristiques de référence et les transmettre à la plateforme où ils sont stockés dans la hase de référence. [0015] Alternativement, la plateforme peut comprendre en outre un second réseau neuronal artificiel configuré pour effectuer dans le domaine homomorphe une opération de transformation équivalente à celle effectuée par le réseau neuronal artificiel dans le domaine des clairs, l'utilisateur disposant d'un module de chiffrement homomorphe par ladite clé publique configuré pour chiffrer lesdits vecteurs de données de référence et les transmettre à la plateforme où ils sont transformés par le second réseau neuronal en des vecteurs de caractéristiques de référence chiffrés dans le domaine homomorphe avant d'être stockés dans la base de référence. [0016] Dans tous les cas, le classifieur peut être avantageusement configuré pour calculer dans le domaine homomorphe, le produit scalaire du vecteur de caractéristiques discriminantes, Y, avec les vecteurs de caractéristiques de référence, à partir des composantes en clair (y..., y ) du vecteur de caractéristiques discriminantes, et des composantes chiffrées des vecteurs de caractéristiques de référence, au moyen de bic y;',flitym;HE;p: = ( (±) (Eize(yLu;HL;i9k)0 yfrn)) où 0 est l'opération [ , i-1 d'addition interne dans le domaine homomorphe et 0 est l'opération de multiplication externe entre un élément du domaine homomorphe et un clair. [0017] Ledit produit scalaire peut alors être calculé au moyen d'un traitement par lots, en re- groupant les différentes composantes de chaque vecteur de caractéristiques de référence au sein d'un premier message composite en clair, ledit premier message composite en clair étant ensuite chiffré en homomorphe, pour obtenir un premier message composite chiffré, et en regroupant les différentes composantes du vecteur de caractéristiques discriminantes au sein d'un second message composite en clair, ledit traitement par lots comprenant une multiplication externe du premier message composite chiffré avec le second message composite en clair. [0018] L'utilisateur peut également fournir au classifieur la clé publique HE,Ple de son cryp- tosystème homomorphe et que celui-ci est en outre configuré pour calculer le chiffré de la norme du vecteur de caractéristiques discriminantes pine(Ilyr ,HE,:pk). [0019] De préférence, le classifieur est en outre configuré pour calculer, dans le domaine ho- momorphe, les distances euclidiennes entre le vecteur de caractéristiques discriminantes (Y) et les vecteurs de caractéristiques de référence (37;t', i =1,-, N), à partir de la norme chiffrée du vecteur de caractéristiques discriminantes, des normes chiffrées des vecteurs de caractéristiques de référence et des produits scalaires respectifs entre le vecteur de caractéristiques discriminantes et les vecteurs de caractéristiques de référence. [0020] Selon une première variante, le classifieur compare lesdites distances euclidiennes dans le domaine homomorphe et retourne à l'utilisateur l'indice du vecteur de données de référence correspondant à la plus faible distance euclidienne. 100211 Selon une seconde variante, le classifieur retourne à l'utilisateur lesdites distances euclidiennes obtenues dans le domaine homomorphe et l'utilisateur en déduit au moyen de la clé privée de son cryptosystème homomorphe, les probabilités respectives que le vecteur de données d'entrée corresponde aux vecteurs de données de référence. 100221 L'invention concerne en outre une méthode de classification confidentielle de données au moyen d'un réseau neuronal artificiel en cascade avec un classifieur, dans laquelle le réseau neuronal artificiel est entrainé pendant une phase d'apprentissage sur des vecteurs de données d'une hase d'apprentissage et que le réseau neuronal artificiel ou une copie de celui-ci transforme, dans une phase opérationnelle, des vecteurs de données d'entrée en des vecteurs de caractéristiques discriminantes, lesdits vecteurs de caractéristiques discriminantes étant fournis au classifieur et possédant une taille inférieure à la celle des vecteurs de données, ladite méthode comprenant : - lors d'une phase d'initialisation du classifieur, le stockage dans une base de référence de vecteurs de caractéristiques de référence, obtenus par transformation, au moyen du réseau neuronal artificiel ou de ladite copie, de vecteurs de données de référence, les vecteurs de caractéristiques de référence étant stockés sous forme chiffrée par une clé publique d'un cryptosystème homomorphe dudit utilisateur ; et qu'après cette phase - lorsque l'utilisateur requiert de la plateforme de classification la classification d'un vecteur de données d'entrée (x) , une fonction de classification (.f) est évaluée par le classifieur dans le domaine homomorphe, à partir du vecteur de caractéristiques discriminantes (Y) fourni par le réseau neuronal artificiel et des vecteurs de référence stockés sous forme chiffrée dans la base de référence (Elle HE.pk), i = le résultat de ladite évaluation étant transmis à l'utilisateur. Brève description des figures [0023] 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, décrit en référence aux figures jointes parmi lesquelles : [0024] [fig.1] représente de manière schématique un système de classification confidentielle de données selon un premier mode de réalisation de l'invention ; [0025] [fig.2] représente l'organigramme d'une méthode de classification confidentielle de données selon un premier mode de réalisation de l'invention ; [0026] [fig.3] représente de manière schématique un système de classification confidentielle de données selon un second mode de réalisation de l'invention ; [0027] [fig.4] représente l'organigramme d'une méthode de classification confidentielle de données selon un second mode de réalisation de l'invention. Description des modes de réalisation [0028] Nous considérerons dans la suite un système de classification confidentielle de données. Sans perte de généralité, nous nous référerons à une application de reconnaissance faciale opérant sur des données d'image. L'homme du métier comprendra toutefois que ce système peut s'appliquer à la classification confidentielle d'autres types de données telles que des données de parole pour une reconnaissance de locuteur ou bien encore des mesures de trafic dans un réseau informatique pour unc reconnaissance d'un type de cyberattaque ou d'anomalie. [0029] La Fig. 1 représente de manière schématique un système de classification confi- dentielle de données selon un premier mode de réalisation de l'invention. [0030] Le système de classification confidentielle, 100, encore dénommée plateforme de classification confidentielle, comprend tout d'abord un réseau neuronal artificiel, 110, destiné à apprendre, dans une phase d'apprentissage, des caractéristiques discri- 6 minantes à partir de des données d'entrée. [0031] Les données d'entrée peuvent, le cas échéant, avoir été prétraitées dans un module de prétraitement (non représenté) avant d'être fournies au réseau neuronal artificiel. Des exemples d'un tel prétraitement sont une transformée de Fourier spatiale ou temporelle selon le cas, une transformée en ondelettcs, une décomposition dans une hase orthogonale ad hoc etc. [0032] En tout état de cause, on supposera que les données d'entrée, que ce soient des données brutes ou des données prétraitécs, forment un vecteur x dans un espace de dimension ", x e Rn. Par exemple, dans le cas de données d'image, " peut être un nombre de pixels ou un nombre de composantes spectrales. [0033] Le réseau neuronal artificiel est adapté à fournir une représentation compressée des données d'entrée sous la forme de caractéristiques discriminantes, y e le, appartenant à un espace de dimension réduite in » (plus grand que) sur les représentations binaires des données chiffrées, comme décrit dans l'article de J. Garay et al. intitulé « Practical and secure solutions for integer comparaison », publié dans T. Okamoto and X. Wang editors, Public Key Cryptography PKC 2007, volume 4450 of Enc( Y (4) Lecture Notes in Computer Science, pages 330 -E342. Springer Berlin, Heidelberg, 2007. [0058] Enfin, l'indice lo du vecteur de caractéristiques de référence réalisant le minimum de distance au vecteur y e 11, est transmis à l'utilisateur. Etant donné ià = arg min (Ily - y, que la plateforme n'a pas accès aux vecteurs de caractéristiques de référence en clair, le résultat de la classification reste confidentiel vis-à-vis de la plateforme. 100591 Selon une variante, le classifieur peut transmettre les distances euclidiennes sous forme chiffrée à l'utilisateur. Ce dernier déchiffre alors les valeurs de distances au moyen de sa clé privée IlKsk et peut soit rechercher l'indice du vecteur réalisant la plus faible distance au vecteur Y (cf. expression (1)) soit estimer les probabilités que le vecteur Y tombe dans l'une des AI classes du classifieur (cf. expression (2)). 100601 Nous avons supposé jusqu'ici que la classification se faisait sur la base de la recherche du plus proche voisin. Toutefois, d'autres fonctions de classification F peuvent être envisagées, par exemple une fonction de classification sous la forme d'une fonction linéaire ou d'une fonction polynomiale des données à classifier. La fonction de classification associe une classe à chaque vecteur de données d'entrée. Cette classe peut être définie par un représentant, par exemple un vecteur de données de référence ou, de manière équivalente, le vecteur de caractéristiques de référence obtenu par transformation du précédent au moyen du réseau neuronal artificiel. 100611 A titre d'exemple de fonction linéaire, on peut citer un classifieur par hyperplans et à titre d'exemple de classification polynomiale (quadratique), on peut citer un classifieur gaussien. On utilisera alors de préférence, non plus un cryptosystème homomorphe additif au sens précédent, mais un cryptosystème presque homomorphe ou SHE ( Somewhat Homomorphie Etieryption) voire un cryptosystème entièrement homomorphe ou FHE (Full Homotnotphie Endymion). [0062] Avantageusement, on utilisera un chiffrement SHE ou FHE permettant d'effectuer des opérations par lots (batching). On trouvera par exemple une description d'une telle méthode de chiffrement dans l'article de J-S. Coron et al. intitulé « Batch fully homomorphie encryption of the integers » publié dans Advances in Cryptology - EUROCRYPT 2013, Lecture Notes in Computer Science, vol 7881. Springer, Berlin, Heidelberg. [0063] Le principe d'un traitement par lots est de multiplexer plusieurs clairs pour former un clair composite afin d'obtenir un seul chiffré. Ainsi, au lieu de chiffrer les clairs indépendamment les uns des autres, on chiffre un message composite en clair construit à partir des clairs en question. [0064] Le traitement par lots permet de paralléliser une même opération sur une pluralité de chiffrés dans le domaine homomorphe. Plus précisément, si l'on note cei,---eL une 11 pluralité de premiers clairs et (a, , .., a ') un premier message composite en clair construit par batching à partir de ces premiers clairs et si l'on note A,..., A une même pluralité de seconds clairs et (fi, ,..' ST) un second message composite en clair construit par batching à partir de ces seconds clairs, et si l'on chiffre les premier et second messages composites en question : [Math.6] Eric HE . p.47) = [Math.7] Enc(/4, ' 11,; ) = /1 on peut alors effectuer une opération d'addition ou de multiplication en parallèle sur les chiffrés dans le domaine homomorphe en calculant respectivement (7. (rID e et rx 0e (la notation 0 désigne la loi de multiplication interne), étant donné que : [Math.8] Dec (c7 ,6; firEsk) (6-1) [Math.9] Dec (Fx »;11E.s1c)= (a, x x igt) ( 6-2) [0065] De la même façon, on peut effectuer en parallèle une multiplication externe sur des chiffrés en calculant kQrx, étant donné que : [Math.10] Dec(k c7;11E.sk) (ka,,...,k a ) (7) [0066] En outre, certaines méthodes de chiffrement homomorphc, telle que BGV, permettent de réaliser une accumulation des clairs constitutifs du clair composite, comme décrit dans l'article original de Z. Brakcrski et al. intitulé « Fully homomorphie cncryption without bootstrapping » publié dans Cryptology ePrint Archive, Report 2011/277. Plus précisément, on peut obtenir un second chiffré (7' à partir du chiffré 07 dont le déchiffrement donne : [Math.11] Dec (T; 1-1E.sk (8) [0067] Autrement dit, après déchiffrement, on obtient un second message composite dont les éléments constitutifs sont tous égaux à la somme des clairs composant le message composite de départ. 12 [0068] Les propriétés précitées de traitement par lots permettent de calculer en un faible nombre d'opérations les distances euclidiennes dans le domaine homomorphe. En effet, dans ce cas, un seul chiffré homomorphc représente l'ensemble des composantes d'un vecteur de caractéristiques de référence = (3,7`ef ji`cf ). Le troisième terme de l'expression (4) peut alors être calculé au moyen de deux opérations homomorphes seulement et ce, quelle que soit la dimension M de l'espace caractéristique. Deux additions supplémentaires dans le domaine homomorphe permettent d'achever le calcul dans le domaine homomorphe d'une distance euclidienne. Le calcul des distances euclidiennes est alors particulièrement performant. [0069] Alternativement, le traitement par lots pourra être effectué composante par composante sur l'ensemble des vecteurs de caractéristiques de référence. Plus précisément, chaque chiffré représente alors l'ensemble des composantes de même rang des différents vecteurs de caractéristiques de référence. Ce traitement par lots est adapté au cas où la fonction de classification est plus complexe que celle d'une recherche du plus proche voisin, notamment lorsqu'elle s'exprime sous la forme d'une fonction polynomiale des données à classifier. [0070] La Fig. 2 représente l'organigramme d'une méthode de classification confidentielle de données selon un mode de réalisation de l'invention. [0071] Cette méthode met en oeuvre un réseau neuronal artificiel en cascade avec un classifieur d'une plateforme de classification comme représenté en Fig. 1. [0072] Dans une première phase, dite phase d'apprentissage, le réseau neuronal artificiel, avantageusement un auto-encodeur, est entrainé en 210 sur une hase de données d'apprentissage. Ainsi, l'auto-encodeur peut être entrainé de manière non supervisée sur des images stockées dans cette hase. A l'issue de cette phase d'apprentissage, le réseau neuronal artificiel est capable de représenter les vecteurs de données d'entrée (une image) dans un espace caractéristique de plus faible dimension (embedditzg). [0073] L'utilisateur télécharge ensuite le fichier des coefficients synaptiques du réseau neuronal ainsi entrainé pour construire en 220 un réseau neuronal local, NN', identique à celui de la plateforme. [0074] Une phase opérationnelle succède à cette phase d'apprentissage. Celle-ci comprend une phase d' initialisation du classifieur homomorphe suivie d'une phase de classification. [0075] Dans la phase d' initialisation, l'utilisateur fournit à la plateforme une pluralité de vecteurs de données de référence (par exemple un ensemble d'images de visages à reconnaître), chiffrés dans le domaine homomorphc. [0076] Ces vecteurs de données de référence sont transformés en 230 par le réseau neuronal local en vecteurs caractéristiques de référence. A l'étape 240, les vecteurs de caracté- 13 ristiqucs de référence sont chiffrés en homomorphe par l'utilisateur au moyen de sa clé publique HE,Plc. De même, les normes de ces vecteurs de caractéristiques de référence sont chiffrées en homomorphc. A l'étape 250, l'utilisateur transmet à la plateforme les vecteurs et les normes correspondantes ainsi chiffrés pour y être stockés dans la hase de référence. Il convient de noter que la plateforme est agnostique car elle n'a pas accès aux données de référence en clair (par exemple aux visages à reconnaître). [0077] Dans la phase de classification proprement dite, l'utilisateur peut faire effectuer la classification d'un vecteur de données d'entrée (par exemple des images) par la plateforme. Ce vecteur de données d'entrée est d'abord transformé en 260 par le réseau neuronal NN de la plateforme en un vecteur de caractéristiques discriminantes, qui est ensuite fourni au classificur. Alternativement, comme vu plus haut, le vecteur de données d'entrée peut être transformé par le réseau neuronal local de l'utilisateur puis transmis par cc dernier à la plateformc. [0078] Dans tous les cas, le classificur évalue en 270 la fonction de classification F. dans le domaine homomorphc, à partir du vecteur de caractéristiques discriminantes et des vecteurs de caractéristiques de référence stockés sous forme chiffrée dans la hase de référence. Il transmet enfin le résultat de l'évaluation à l'utilisateur en 280. [0079] Le résultat de l'évaluation peut être l'indice du vecteur de caractéristiques de référence (et donc l'indice du vecteur de données de référence correspondant) réalisant la plus faible distance avec le vecteur de caractéristiques discriminantes, Y. Alternativement, les distances euclidiennes chiffrées en homomorphe, En 11y -fr 112 , HE. pk), .-, N peuvent être tiquismise à l'utilisateur qui les déchiffre à l'aide de sa clé secrète HE.pk et peut déterminer, au moyen de l'expression (2) , les probabilités respectives que le vecteur de données d'entrée corresponde aux différents vecteurs de données de référence . 100801 La Fig. 3 représente de manière schématique un système de classification confi- dentielle de données selon un second mode de réalisation de l'invention. 100811 Comme dans le premier mode de réalisation, la plateforme de classification comporte un réseau neuronal artificiel, 310, en cascade avec un classifieur 330, adapté à opérer dans le domaine homomorphe. 100821 Le réseau neuronal artificiel est entrainé sur des vecteurs de données '7- lus de la base de données d'apprentissage 350. Par ailleurs, la plateforme construit le réseau neuronal équivalent dans le domaine homomorphe, 315, dénommé ci-après NNH. 100831 A la différence du premier mode de réalisation, les vecteurs de données de référence, sont chiffrés par l'utilisateur dans le domaine homomorphe et transmis à la plateforme, 300, pour être fournis au réseau neuronal NNH. Plus précisément, le réseau neuronal NNH effectue l'équivalent de la compression f dans le domaine ho- 14 momorphe, autrement dit il fournit en sortie le chiffré homomorphe du vecteur de ca- ractéristiques de référence, Flic (y , HE pk) à partir du chiffré homomorphe du vecteur de données de référence, Eric (x7' , H/C pk). Cette opération de compression dans le domaine homomorphe est réalisée une fois pour toutes, sur l'ensemble de vecteurs de données de référence x7f. Les chiffrés homomorphe des vecteurs de caractéristiques de référence, Enc(yi"f ,HE.pk), r =1,--N, sont stockés dans la base de données de référence, 320, le chiffré homomorphe Enc (rf , HE pk) étant représenté par un vecteur de composantes chiffrées Enc(});',I,,HE pk), La norme de chaque vecteur yef, N en est déduite dans le domaine homomorphe, soit Enc(my', H) E.inket est stockée dans la base de référence 320 en relation avec le vecteur Eric (3.7;ef , HE fik). [0084] Nous nous plaçons à nouveau dans un scénario où l'utilisateur souhaite classer un vecteur de données d'entrée x(par exemple une image d'un flux vidéo pour une reconnaissance faciale). Ce vecteur est généralement fourni directement à la plateforme sans transiter par l'utilisateur. Dans certains cas, cependant, l'utilisateur pourra fournir le vecteur de données d'entrée. [0085] Le réseau neuronal de la plateforme effectue la compression du vecteur de données d'entrée pour en déduire le vecteur de caractéristiques discriminantes Y ,et le fournir ensuite au classificur 330. La fonction du classificur 330 est identique à celle du classificur 130. En particulier, le classificur 330 calcule dans le domaine homomorphe les distances respectives entre le vecteur de caractéristiques discriminantes et les différents vecteurs de référence. Il retourne à l'utilisateur l'indice du vecteur de référence correspondant à la plus faible distance ou bien les distances à ces vecteurs, chiffrées dans le domaine homomorphe. [0086] La Fig. 4 représente l'organigramme d'une méthode de classification confidentielle de données selon un second mode de réalisation de l'invention. [0087] A la différence du premier mode de réalisation, la phase d'apprentissage comprend, outre une d'étape d'entrainement, 410, du réseau neuronal NN (identique à l'étape 210 de la Fig. 2), une étape 425 dans laquelle la plateforme construit un réseau neuronal NNH effectuant l'équivalent de la compression f dans le domaine homomorphe. [0088] A cette phase d'apprentissage succède une phase opérationnelle, comprenant une phase d'initialisation 435-450 et une phase de classification 460-480. [0089] A l'étape 435, l'utilisateur chiffre les vecteurs de données de référence, x1, puis les transmet à la plateformc. [0090] A l'étape 440, le réseau neuronal NNH effectue la compression des vecteurs de données de référence dans le domaine homomorphe pour obtenir les vecteurs de carac- téristiqucs de référence, chiffrés dans le domaine homomorphe, mu, (y;1, fik.pk), =I,---, N. Les normes de ces vecteurs sont également calculés dans le domaine ho- momorphe, Eitc(liy7f- ,RE.pk)' 1 - N. [0091] A l'étape 450, ces vecteurs (ainsi que leurs normes) sont stockés dans la base de référence de la plateforme. [0092] La phase de classification comprend les étapes 460-480 comme dans le premier mode de réalisation. L'étape 460 peut différer de l'étape 260 au sens où le vecteur de données d'entrée xà classifier est toujours fourni à la plateforme pour être transformé par le réseau neuronal artificiel NN en un vecteur de caractéristiques discriminantes y. En d'autres termes, la compression est effectuée ici par le réseau neuronal de la plateforme et jamais par le réseau neuronal local de l'utilisateur. [0093] Les étapes suivantes 470 et 480 sont en revanche respectivement identiques aux étapes 270 et 280 décrites en relation avec la Fig. 2. [0094] Au terme de la phase de classification, la plateforme transmet à l'utilisateur l'indice du vecteur de caractéristiques de référence réalisant la plus faible distance avec le vecteur de caractéristiques discnminantes, Y, ou bien les distances euclidiennes chiffrées en homomorphe, Enc(Ily_ y11, HE.pk). [0095] Lc second mode de réalisation se distingue du premier en ce que le réseau neuronal artificiel n'est pas partagé entre la plateforme et l'utilisateur. Il suppose par conséquent que la plateforme effectue la compression des vecteurs de données de référence dans le domaine homomorphc, ce qui, comme nous l'avons vu en partie introductive, peut être fortement pénalisant en termes de volume de calcul. Toutefois, il est essentiel de noter que, contrairement à l'art antérieur, l'opération du réseau dans le domaine homomorphe n'a lieu ici que dans la phase d'initialisation et non à chaque requête de classification. 16 [Revendication 1] [Revendication 2] [Revendication 3] [Revendication 4] [Revendication 5] REVENDICATIONSPlateforme de classification confidentielle de données comprenant un réseau neuronal artificiel (110, 310) en cascade avec un classificur (130, 230), le réseau neuronal artificiel étant adapté à être entraîné pendant une phase d'apprentissage sur des vecteurs de données d'une hase de données d'apprentissage (150, 350) et à transformer, dans une phase opérationnelle, des vecteurs de données d'entrée en des vecteurs de caractéristiques discriminantes, lesdits vecteurs de caractéristiques discriminantes étant fournis au classifienr et possédant une taille inférieure à celle des vecteurs de données, ladite plateforme de classification étant caractérisée en ce que : - elle comprend une base de référence (120,320) dans laquelle sont stockés, lors d'une phase d'initialisation du classifieur, des vecteurs de caractéristiques de référence, obtenus par transformation, au moyen du réseau neuronal artificiel (110, 310) ou d'une copie (110') de celui-ci, de vecteurs de données de référence, les vecteurs de caractéristiques de référence étant stockés sous forme chiffrée par une clé publique d'un cryptosystème homomorphe dudit utilisateur ; et qu'après cette phase d'initialisation, - lorsque l'utilisateur requiert de la plateforme de classification (100, 300) la classification d'un vecteur de données d'entrée (X), le classifieur (130, 330) évalue une fonction de classification dans le domaine homomorphe, à partir du vecteur de caractéristiques discriminantes (Y) fourni par le réseau neuronal artificiel (110, 310) ou ladite copie (110') de celui-ci, et des vecteurs de caractéristiques de référence stockés sous forme chiffrée dans la base de référence (Enc (y `f , HE. pk), i = Ar), et transmet à l'utilisateur le résultat de ladite évaluation. Plateforme de classification confidentielle de données selon la revendication 1, caractérisée en ce que le réseau de neurones artificiel est un auto-encodeur. Plateforme de classification confidentielle de données selon la revendication 1, caractérisée en ce que le système homomorphe est additif. Plateforme de classification confidentielle de données selon la revendication 1 ou 2, caractérisée en ce que le système homomorphe est un système SHE ou FHE. Plateforme de classification confidentielle de données selon l'une des revendications précédentes, caractérisée en ce que l'utilisateur té- 17 [Revendication 6] [Revendication 7] [Revendication 8] léchargc de la plateforme une copie (110') du réseau neuronal artificiel au terme de la phase d'apprentissage, et que ladite copie du réseau neuronal est configurée pour fournir, lors de la phase d' initialisation, les vecteurs de caractéristiques dc référence à partir des vecteurs de données de référence, l'utilisateur disposant d'un module de chiffrement homomorphc (140) par ladite clé publique, configuré pour chiffrer en homomorphc lesdits vecteurs de caractéristiques de référence et les transmettre à la plateforme où ils sont stockés dans la hase de référence (120). Plateforme de classification confidentielle de données selon l'une des revendications 1 à 4, caractérisée en ce que la plateforme comprend en outre un second réseau neuronal artificiel (315) configuré pour effectuer dans le domaine homomorphe une opération dc transformation équivalente à celle effectuée par le réseau neuronal artificiel dans le domaine des clairs, l'utilisateur disposant d'un module de chiffrement homomorphc (340) par ladite clé publique configuré pour chiffrer lesdits vecteurs de données de référence et les transmettre à la plateforme où ils sont transformés par le second réseau neuronal (315) en des vecteurs de caractéristiques de référence chiffrés dans le domaine homomorphc avant d'être stockés dans la hase de référence (320). Plateforme de classification confidentielle selon la revendication 5 ou 6, caractérisée en ce que le classifieur est configuré pour calculer dans le domaine homomorphe, le produit scalaire du vecteur de caractéristiques discriminantes, Y, avec les vecteurs de caractéristiques de référence, à partir des composantes en clair (y , , y) du vecteur de caractéristiques discriminantes, et des composantes chiffrées des vecteurs de caractéristiques de référence, au moyen de ( m)) où est Enc y ,rt y ',; HE . =( 0 (Enc , HE .pk)0 y ', ,A1 rri l'opération d'addition interne dans le domaine homomorphe et 0 est l'opération de multiplication externe entre un élément du domaine homomorphe et un clair. Plateforme de classification confidentielle selon la revendication 7, caractérisée en ce que ledit produit scalaire est calculé au moyen d'un traitement par lots, en regroupant les différentes composantes de chaque vecteur de caractéristiques de référence au sein d'un premier message composite en clair, ledit premier message composite en clair étant ensuite chiffré en homomorphe, pour obtenir un premier message 18 [Revendication 9] [Revendication 10] [Revendication 11] [Revendication 12] [Revendication 13] composite chiffré, et en regroupant les différentes composantes du vecteur de caractéristiques discriminantes au sein d'un second message composite en clair, ledit traitement par lots comprenant une multiplication externe du premier message composite chiffré avec le second message composite en clair. Plateforme de classification confidentielle de données selon la revendication 7 ou 8, caractérisée en ce que l'utilisateur fournit au classifieur la clé publique/1E1,k de son cryptosystème homomorphe et que celui-ci est en outre configuré pour calculer le chiffré de la norme du vecteur de caractéristiques discriminantes, Enc(Dy Plateforme de classification confidentielle de données selon la revendication 9, caractérisée en ce que le classifieur est. en outre configuré pour calculer, dans le domaine homomorphe, les distances euclidiennes entre le vecteur de caractéristiques discriminantes (Y) et les vecteurs de caractéristiques de référence (377f, =1,:,-,N), à partir de la norme chiffrée du vecteur de caractéristiques discriminantes, des normes chiffrées des vecteurs de caractéristiques de référence et des produits scalaires respectifs entre le vecteur de caractéristiques discriminantes et les vecteurs de caractéristiques de référence. Plateforme de classification confidentielle de données selon la revendication 10, caractérisée en ce que le classifieur compare lesdites distances euclidiennes dans le domaine homomorphe et retourne à l'utilisateur l'indice du vecteur de données de référence correspondant à la plus faible distance euclidienne. Plateforme de classification confidentielle de données selon la revendication 10, caractérisée en ce que le classifieur retourne à l'utilisateur lesdites distances euclidiennes obtenues dans le domaine homomorphe et que l'utilisateur en déduit au moyen de la clé privée de son cryptosystème homomorphe, les probabilités respectives que le vecteur de données d'entrée corresponde aux vecteurs de données de référence. Méthode de classification confidentielle de données au moyen d'un réseau neuronal artificiel (110, 310) et un classifieur (130, 330), dans laquelle le réseau neuronal artificiel est entrainé pendant une phase d'apprentissage sur des vecteurs de données d'une base d'apprentissage et que le réseau neuronal artificiel ou une copie de celui-ci transforme, dans une phase opérationnelle, des vecteurs de données d'entrée en des vecteurs de caractéristiques discriminantes, lesdits vecteurs de caracté- 19 ristiqucs discriminantes étant fournis au classificur (130) et possédant une taille inférieure à celle des vecteurs de données, ladite méthode comprenant : lors d'une phase d'initialisation du classificur, le stockage dans une hase de référence (120, 320) de vecteurs de caractéristiques de référence, obtenus par transformation, au moyen du réseau neuronal artificiel ou de ladite copie, de vecteurs de données de référence, les vecteurs de caractéristiques de référence étant stockés sous forme chiffrée par une clé publique d'un cryptosystème homomorphc dudit utilisateur ; et qu'après cette phase d' initialisation, lorsque l'utilisateur requiert de la plateforme de classification la classification d'un vecteur de données d'entrée (x) , une fonction de classification (.f) est évaluée par le classificur dans le domaine hornomorphc, à partir du vecteur de caractéristiques discriminantes (Y) fourni par le réseau neuronal artificiel et des vecteurs de référence stockés sous forme chiffrée dans la hase de référence (Enc(ytcf,HE.pk), i =1,...,N), le , résultat de ladite évaluation étant transmis à l'utilisateur.