Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND SYSTEM FOR CONFIDENTIAL CLASSIFICATION OF DATA
Document Type and Number:
WIPO Patent Application WO/2020/217005
Kind Code:
A1
Abstract:
The present invention relates to a computer platform (100) and a method for confidential classification of data. The computer platform comprises an artificial neural network (110) as well as a classifier (130). The artificial neural network is capable, after a learning phase, of transforming an input data vector into a discriminating feature vector having a smaller dimension. A user then generates, from a plurality of reference data vectors, the same plurality of reference feature vectors, which are encrypted in an encryption module (140) by the user using the public key of a homomorphic cryptosystem and stored in a reference database (120) of the platform. When the user subsequently requests the classification of an input data vector, the artificial neural network, or a copy thereof, provides the classifier (130) with a corresponding discriminating feature vector (y). The distances from said vector to the different reference feature vectors of the reference database are calculated in the homomorphic domain and the index of the reference feature vector closest to y, i.e. the identifier i 0 of the class to which it belongs, is returned to the user.

Inventors:
SIRDEY RENAUD (FR)
CARPOV SERGIU (FR)
Application Number:
PCT/FR2020/000144
Publication Date:
October 29, 2020
Filing Date:
April 21, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
COMMISSARIAT ENERGIE ATOMIQUE (FR)
International Classes:
G06N3/04; G06F21/62; G06N3/08; H04L9/00; H04L9/30
Domestic Patent References:
WO2018104686A12018-06-14
Foreign References:
US20180336463A12018-11-22
Other References:
RAPHAEL BOST ET AL: "Machine Learning Classification over Encrypted Data", IACR, INTERNATIONAL ASSOCIATION FOR CRYPTOLOGIC RESEARCH, vol. 20150112:190551, 12 January 2015 (2015-01-12), pages 1 - 34, XP061017629, DOI: 10.14722/NDSS.2015.23241
F. SCHROFF ET AL.: "FaceNet a unified embedding for face récognition and clustering", PROC. OF IEEE CVPR, 2015, pages 815 - 823, XP032793492, DOI: 10.1109/CVPR.2015.7298682
F. BOURSE ET AL.: "Fast homomorphic evaluation of deep discretized neural networks", CRYPTO, vol. 3, 2018, pages 483 - 512, XP047482297, DOI: 10.1007/978-3-319-96878-0_17
J. GARAY ET AL.: "Public Key Cryptography - PKC 2007, volume 4450 of Lecture Notes in Computer Science", vol. 4450, 2007, SPRINGER, article "Practical and secure solutions for integer comparaison", pages: 330 - 342
J-S. CORON ET AL.: "Advances in Cryptology - EUROCRYPT 2013, Lecture Notes in Computer Science", vol. 7881, 2013, SPRINGER, article "Batch fully homomorphic encryption of the integers"
Z. BRAKERSKI ET AL.: "Fully homomorphic encryption without bootstrapping", CRYPTOLOGY EPRINT ARCHIVE, REPORT 2011/277
Attorney, Agent or Firm:
AUGARDE, Eric (FR)
Download PDF:
Claims:
REVENDICATIONS

1. Plateforme de classification confidentielle de données comprenant un réseau neuronal artificiel (110, 310) en cascade avec un classifieur (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 base 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 classifieur et possédant une taille inférieure à la 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 i = 1,...,N ) et transmet à l'utilisateur le résultat de ladite évaluation.

2. 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. 3. Plateforme de classification confidentielle de données selon la revendication 1, caractérisée en ce que le système homomorphe est additif.

4. 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.

5. Plateforme de classification confidentielle de données selon l'une des revendications précédentes, caractérisée en ce que l'utilisateur télécharge 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 de référence à partir des vecteurs de données de référence, l'utilisateur disposant d'un module de chiffrement homomorphe (140) par ladite clé publique, configuré pour chiffrer en homomoprhe lesdits vecteurs de caractéristiques de référence et les transmettre à la plateforme où ils sont stockés dans la base de référence (120).

6. 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 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 (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 homomorphe avant d'être stockés dans la base de référence (320)

7. 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 (Y1, ···,yM ) du vecteur de caractéristiques discriminantes, et des composantes chiffrées des vecteurs de caractéristiques de référence, au moyen de où est l'opération

d'addition interne dans le domaine homomorphe et est l'opération de multiplication

externe entre un élément du domaine homomorphe et un clair.

8. 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 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.

9. 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 HE.pk 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,

10. 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

, 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.

11. 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.

12. 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.

13. 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 entraîné 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éristiques discriminantes étant fournis au classifieur (130) 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 (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 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 ) , une fonction de classification ( / ) 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

i = 1 ,...,N ), le résultat de ladite évaluation étant transmis à l'utilisateur.

Description:
MÉTHODE ET SYSTÈME DE CLASSIFICATION CONFIDENTIELLE DE DONNÉES

DESCRIPTION

DOMAINE TECHNIQUE

La présente invention concerne le domaine de l'intelligence artificielle et plus particuliè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.

ÉTAT DE LA TECHNIQUE ANTÉRIEURE

L'apprentissage automatique ( machine learning) comme service ou MLAS (Machine Learning 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 entraîné 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.

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.

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 récognition and clustering » publié dans Proc of IEEE CVPR, pp. 815-823, 2015. Dans sa phase opérationnelle, le système FaceNet peut être amené à reconnaître de 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 à reconnaître, 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 neurones dont l'apprentissage est réalisé sur une base de données de visages humains de grande taille. Il permet de réduire la dimensionalité 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.

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.

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 de bruitage des données de référence qu'il transmet à la plateforme. Toutefois, ce bruitage peut conduire à une dégradation des performances de reconnaissance faciale.

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.

Il a été proposé dans l'article de F. Bourse et al. intitulé « Fast homomorphic évaluation 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.

L'objet de la présente invention est par conséquent de proposer une méthode de classification confidentielle de données non confidentielles dans un ensemble de classes confidentiel.

EXPOSÉ DE L'INVENTION

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 entraîné 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 vecteurs de données, ladite plateforme de classification étant originale en ce que:

elle comprend une base de référence 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 d'une copie 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 la classification d'un vecteur de données d'entrée ( x ), le classifieur é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 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 et transmet à l'utilisateur le résultat de ladite

évaluation.

Selon un exemple de réalisation le réseau de neurones artificiel est un auto encodeur.

Le système homomorphe peut être additif. Alternativement, le système homomorphe peut être un système SHE ou FHE.

L'utilisateur peut alors télécharger de la plateforme une copie du réseau neuronal artificiel 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 homomoprhe lesdits vecteurs de caractéristiques de référence et les transmettre à la plateforme où ils sont stockés dans la base de référence.

Alternarivement, 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.

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 du vecteur de caractéristiques discriminantes, et des composantes chiffrées des vecteurs de caractéristiques de référence, au moyen de où est l'opération

d'addition interne dans le domaine homomorphe et est l'opération de multiplication

externe entre un élément du domaine homomorphe et un clair.

Ldit produit scalaire peut alors être 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 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.

L'utilisateur peut également fournir au classifieur la clé publique HE.pk 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,

De préférence, 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 à

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.

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.

Selon un 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.

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 entraîné 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é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 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 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

i = 1 ,. .,N ), le résultat de ladite évaluation étant transmis à l'utilisateur.

BRÈVE DESCRIPTION DES DESSINS

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 :

La 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 ;

La 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 ; La 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 ;

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 .

EXPOSÉ DÉTAILLÉ DE MODES DE RÉALISATION PARTICULIERS

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 une reconnaissance d'un type de cyberattaque ou d'anomalie. La 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.

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 discriminantes à partir de des données d'entrée.

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 ondelettes, une décomposition dans une base orthogonale ad hoc etc.

En tout état de cause, on supposera que les données d'entrée, que ce soit des données brutes ou des données prétraitées forment un vecteur x dans un espace de dimension n , x Î i n . Par exemple, dans le cas de données d'image, n peut être un nombre de pixels ou un nombre de composantes spectrales. 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 Î i m , appartenant à un espace de dimension réduite m < n . Le réseau neuronal artificiel pourra notamment être un auto-encodeur comprenant une ou plusieurs couches cachées. Cet auto-encodeur est entraîné de manière non supervisée sur une base de données d'apprentissage, 150, en l'occurrence une base de données d'images dans le cas d'un système de reconnaissance faciale. Dans le cas d'une base de données d'images, le réseau neuronal artificiel pourra être un réseau neuronal convolutif.

La fonction de compression (ou de projection), f des données d'entrée sur l'espace des caractéristiques discriminantes est telle que si deux vecteurs de données d'entrée, x 1, x 2 sont proches au sens d'une certaine relation de proximité dans i n , les vecteurs correspondants de caractéristiques discriminantes, f (x 1 ),f (x 2 ) sont également proches au sens d'une norme dans i m . Autrement dit, si deux images de la base de données d'apprentissage 150 sont similaires leurs représentations compressées dans l'espace caractéristique seront « proches » au sens d'une certaine métrique issue d'une norme de i m .

Une fois le réseau neuronal artificiel entraîné sur les vecteurs x train de la base de données d'apprentissage, autrement dit une fois celui-ci initialisé, le réseau est défini par une matrice de poids synaptiques (fichier numpy de Python par exemple).

L'utilisateur importe de la plateforme la matrice des poids synaptiques et construit un réseau de neurones local, 110', de mêmes poids synaptiques que celui- entraîné sur la plateforme.

Selon un premier mode de réalisation l''utilisateur fournit ensuite des données de référence au réseau de neurones local. Ces données de référence sont des données qu'il s'agira ultérieurement de reconnaître. Par exemple, les données de référence peuvent être des images d'individus qu'il s'agira ensuite identifier. Il est important de noter que ces données de référence ne sont généralement pas présentes dans la base de données d'apprentissage. Les vecteurs de données de référence seront notés dans la suite, L'utilisateur obtient ainsi, en sortie du réseau de neurones local, des vecteurs de caractéristiques discriminantes correspondant à ces vecteurs de données de référence,

Ces vecteurs seront dénommés dans la suite vecteurs de

caractéristiques de référence.

Supposons maintenant que l'utilisateur souhaite faire classer une image inconnue représentée par un vecteur de données d'entrée, x . Ce vecteur est évalué par le réseau neuronal local 110', qui fournit un vecteur de caractéristiques discriminantes y = f (x) . Les distances séparant le vecteur y ainsi obtenu et les vecteurs de caractéristiques de référence, i = permettent de classifier le vecteur de

données d'entrée, x .

Selon une première variante, la classification peut être effectuée en recherchant le plus proche voisin, c'est-à-dire le vecteur de caractéristiques de référence réalisant la plus faible distance au vecteur de caractéristiques discriminantes y :

En d'autres termes, le vecteur de données de référence est reconnu dans le vecteur

de données d'entrée x .

Alternativement, le classifieur peut calculer les probabilités que chaque vecteur de données de référence soit reconnu dans le vecteur de données d'entrée :

Selon une seconde variante, plusieurs vecteurs de données de référence, peuvent être associés à un même identifiant i . Ce sera le cas notamment

lorsque M différentes images du visage d'un même individu sont évaluées par le réseau neuronal artificiel et les M vecteurs de caractéristiques de référence correspondants sont disponibles. On peut alors effectuer une classification du type k -plus proches voisins pour déterminer l'identifiant.

Le but de l'invention, à savoir la classification confidentielle sur un ensemble de classes confidentiel est atteint en ce que le classifieur 130 de la plateforme opère dans le domaine homomorphe. Plus précisément, les vecteurs de caractéristiques discriminantes sont chiffrés au moyen d'un chiffrement homomorphe et la recherche du plus proche voisin est réalisée dans le domaine homomorphe.

On suppose que l'utilisateur dispose d'un cryptosystème homomorphe, composé d'une clé privée, HE.sk , et d'une clé publique, HE.pk .

Les vecteurs de caractéristiques de référence i = obtenus au

moyen du réseau neuronal local, sont chiffrés par l'utilisateur à l'aide de sa clé publique, puis transmis à la plateforme 100, qui les stocke dans la base de référence, 120.. On note i = 1,...,N les vecteurs de caractéristiques de référence ainsi chiffrés.

Plus précisément, est le vecteur dont les composantes sont les chiffrés des composantes de De la même

façon l'utilisateur chiffre les normes de ces vecteurs à l'aide sa clé publique, i = 1,...,N et les transmet à la plateforme qui les stocke en relation

avec les vecteurs de caractéristiques de référence chiffrés, i = 1 ,...,N .

Si la base de référence doit être ultérieurement complétée par l'utilisateur, par exemple si un nouveau visage doit être ajouté à ceux à identifier, l'image de ce visage est fournie au réseau neuronal local 110'. L'utilisateur chiffre le vecteur de caractéristiques de référence obtenu, ainsi que sa norme, au moyen de sa clé publique HE.pk comme expliqué précédemment. Il transmet le vecteur et la norme chiffrés à la plateforme qui les stocke dans la base de référence.

Selon un mode avantageux de réalisation, le cryptosystème homomorphe est simplement de type additif, c'est-à-dire qu'il vérifie les relations suivantes : Enc(a , HE.pk) Enc {b, HE.pk ) = Enc ( a + b , HE.pk ) (3-1)

et

Enc(a , HE.pk) k = Enc (ka, HE.pk) (3-2) où est une opération d'addition entre chiffrés dans le domaine homomorphe et est une opération de multiplication externe entre un chiffré et un clair.

On considère ici le scénario selon lequel un utilisateur souhaite classer (ou identifier) un vecteur de données d'entrée x, par exemple l'image d'un individu.

Le vecteur de données d'entrée x est directement fourni à la plateforme. Les données d'entrée peuvent être par exemple issues d'un flux vidéo directement transmis à la plateforme sans passer par l'utilisateur. Dans ce cas, le réseau neuronal 110 effectue la compression y = f(x) puis fournit le vecteur y au classifieur 130.

Alternativement (variante représentée par les flèches en pointillés en Fig. 1), l'utilisateur a accès au vecteur de données d'entrée en clair et le fournit au réseau neuronal local 110' . Celui-ci le transforme alors sous la forme d'un vecteur de caractéristiques discriminantes, également en clair, y = f(x) puis transmet le vecteur y au classifieur 130.

En tout état de cause, le classifieur peut calculer dans le domaine homomorphe, au moyen des opérations (3-1) et (3-2), les distances euclidiennes entre le vecteur y (en clair) et les vecteurs de caractéristiques de référence (chiffrés) :

Le premier terme est la norme chiffrée en homomorphe du vecteur de caractéristiques discriminantes. Cette norme chiffrée peut être transmise par l'utilisateur. Alternativement, elle peut être aisément calculée par le classifieur s'il dispose du vecteur y en clair et de la clé publique HE.pk (voire des composantes chiffrées

Enc(y m ,HE.pk) , la norme chiffrée étant alors obtenue par

Le second terme est la norme chiffrée en homomorphe du vecteur de caractéristiques de référence d'indice i , ,HE.pk) : ce terme est lu de la base de référence où il est stocké en relation avec le chiffré du vecteur de caractéristiques de référence i ,

Le troisième terme est calculé par le classifieur dans le domaine homomorphe après avoir récupéré de la base de référence les composantes chiffrées

stockées en relation avec le chiffré du vecteur de caractéristiques de référence d'indice i ,

. On comprendra que la partie entre parenthèses du troisième terme

n'est autre que le chiffré du produit scalaire

Enfin, la somme des trois termes est obtenue par le classifieur dans le domaine homomorphe.

La comparaison des distances peut être réalisée dans le domaine homomorphe 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 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 Lecture Notes in Computer Science, pages 330-342. Springer Berlin, Heidelberg, 2007.

Enfin, l'indice i 0 du vecteur de caractéristiques de référence réalisant le minimum de distance au vecteur y , est transmis à l'utilisateur. Etant donné 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.

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 HE.sk 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 N classes du classifieur (cf. expression (2)).

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.

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 Homomorphic Encryption) voire un cryptosystème entièrement homomorphe ou FHE (Full Homomorphic Encryption).

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 homomorphic encryption of the integers » publié dans Advances in Cryptology - EUROCRYPT 2013, Lecture Notes in Computer Science, vol 7881. Springer, Berlin, Heidelberg.

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.

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 a x , ...,a L une pluralité de premiers clairs et un premier message composite en clair construit par batching à partir de ces premiers clairs et si l'on note b 1 .., b L une même pluralité de seconds clairs et (b 1 .., b L 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 :

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 ( la

notation e désigne la loi de multiplication interne), étant donné que :

De la même façon, on peut effectuer en parallèle une multiplication externe sur des chiffrés en calculant étant donné que :

En outre, certaines méthodes de chiffrement homomorphe, telle que BGV permettent de réaliser une accumulation des clairs constitutifs du clair composite, comme décrit dans l'article original de Z. Brakerski et al. intitulé « Fully homomorphic encryption without bootstrapping » publié dans Cryptology ePrint Archive, Report 2011/277 . Plus précisément, on peut obtenir un second chiffré à partir du chiffré dont le déchiffrement donne :

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.

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é homomorphe représente l'ensemble des composantes d'un vecteur de caractéristiques de référence 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.

Alternativement, le traitement par lots pourra être effectué composante par composante sur l'ensemble des vecteurs de caractéristiques 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.

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. Cette méthode met en œuvre un réseau neuronal artificiel en cascade avec un classifieur d'une plateforme de classification comme représenté en Fig. 1.

Dans une première phase, dite phase d'apprentissage, le réseau neuronal artificiel, avantageusement un auto-encodeur, est entraîné en 210 sur une base de données d'apprentissage. Ainsi l'auto-encodeur peut être entraîné de manière non supervisée sur des images stockées dans cette base. 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 (embedding).

L'utilisateur télécharge ensuite le fichier des coefficients synaptiques du réseau neuronal ainsi entraîné pour construire en 220 un réseau neuronal local, NN', identique à celui de la plateforme.

Une phase opérationnelle succède à cette phase d'apprentissage. Celle-ci comprend une phase d'intialisation du classifieur homomoprhe suivie d'une phase de classification.

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 homomorphe.

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éristiques de référence sont chiffrés en homomorphe par l'utilisateur au moyen de sa clé publique HE.pk . De même, les normes de ces vecteurs de caractéristiques de référence sont chiffrées en homomorphe. 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 base 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).

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 founi au classifieur. Alternativement, comme vu plus haut, le vecteur de données d'entrée peut être transformé par le réseau meuronal local de l'utilisateur puis transmis par ce dernier à la pltaeforme.

Dans tous les cas, le classifieur évalue en 270 la fonction de classification F dans le domaine homomorphe, à 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 base de référence. Il transmet enfin le résultat de l'évaluation à l'utilisateur en 280.

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, 1 ,..,N peuvent être transmise à 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 .

La Fig. B 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.

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.

Le réseau neuronal artificiel est entraîné sur des vecteurs de données x train lus de la base de données d'appprentissage 350. Par ailleurs, la plateforme construit le réseau neuronal équivalent dans le domaine homomorphe, 315, dénommé ci-après NNH

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 / dans le domaine homomorphe, autrement dit il fournit en sortie le chiffré homomorphe du vecteur de caractéristiques de référence, à partir du chiffré homomorphe du vecteur de données de référence, 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 dé référence Les chiffrés homomorphe

des vecteurs de caractéristiques de référence, sont

stockés dans la base de données de référence, 320, le chiffré homomorphe étant représenté par un vecteur de composantes chiffrées m = 1,..,M La norme de chaque vecteur = en est

déduite dans le domaine homomorphe, soit ,HE.pk

) et est stockée dans la base de référence 320 en relation avec le vecteur

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 vecteurs de données d'entrée.

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 fourni au classifieur 330. La fonction du classifieur 330 est identique à celle du classifieur 130. En particulier, le classifieur 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. 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. 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.

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.

A l'étape 435, l'utilisateur chiffre les vecteurs de données de référence, puis les transmet à la plateforme.

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 caractéristiques de référence, chiffrés dans le domaine homomorphe,

i = 1,...,N . Les normes de ces vecteurs sont également calculés dans le domaine homomorphe, i = 1,...,N .

A l'étape 450, ces vecteurs (ainsi que leurs normes) sont stockés dans la base de référence de la plateforme.

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.

Les étapes suivantes 470 et 480 sont en revanche respectivement identiques aux étapes 270 et 280 décrites en relation avec la Fig. 2.

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 discriminantes, y , ou bien les distances euclidiennes chiffrées en homomorphe, Enc( ,HE.pk) . Le 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 homomorphe, 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.