FR 3031824 A1 20160722 FR 1550345 A 20150116 PROCEDE DE SECURISATION DE DONNEES PAR ANONYMISATION ET SERVEUR ASSOCIE DESCRIPTION Domaine technique [01] La présente invention se rapporte au domaine de la sécurisation des données par anonymisation. Etat de la technique [02] De façon générale, la sécurisation de données informatiques consiste à mettre en oeuvre des moyens empêchant des tiers non autorisés d'y accéder. [3] Cependant, pour certaines données attachées à un individu, ou à un groupe d'individus, la sécurisation consiste à protéger le lien entre l'individu et la donnée et pas la donnée elle-même. [4] Par exemple, dans le domaine de la santé, il est souvent nécessaire d'avoir accès à des dossiers médicaux à des fins d'étude statistique tout en préservant le secret médical. La problématique devient alors comment extraire la donnée statistiquement utile sans que le statisticien puisse faire le lien entre la donnée et un patient particulier. [5] Une problématique similaire existe dans d'autres domaines comme, par exemple, le domaine bancaire. Il est important de préserver le secret de l'information : le compte X de M. Y a un solde de Z euros. Par contre, savoir que la banque gère un compte non identifié ayant un solde de Z euros est une information qui n'a pas d'intérêt pour un tiers mal intentionné. [6] De façon générale, les législations imposent que les données dites personnelles soient fortement sécurisées ou alors rendues anonymes. [7] La sécurisation de la donnée ne consiste donc plus en une protection de l'accès à la donnée elle-même mais consiste à considérer que la donnée en tant que telle n'a pas de valeur et que ce sont les liens vers d'autres informations qui en font la valeur. La sécurisation consiste alors à protéger ses liens. [8] Aussi les outils d'anonymisation travaillent souvent partir d'une base de données spécifique, extraient des données et les anonymisent en utilisant différentes 10 techniques telles que hachage et chiffrement, vieillissement (pour l'âge des mineurs par exemple), translation, concaténation, modification aléatoire, suppression ou masquage. Le résultat est alors un sous-ensemble de données extrait de la base dans lequel il n'est 15 plus possible de faire de lien avec des personnes particulières. Description de l'invention [9] Cependant, il est des situations, comme par exemple, la consultation d'un compte bancaire par son titulaire, où 20 il serait intéressant d'utiliser l'anonymisation pendant le transport des données entre le serveur et l'utilisateur/titulaire, ainsi que sur le terminal de l'utilisateur, de sorte que même si un tiers intercepte l'information pendant son transport, elle lui soit 25 inutilisable. Et, dans le sens contraire, comme par exemple une demande de virement par un client à une banque, il serait utile qu'un utilisateur « anonymisé » puisse envoyer un ordre compris par le serveur. [10] Avec cet objectif en vue, un objet de l'invention est 30 un procédé de sécurisation par anonymisation de données lors d'un transfert desdites données entre un premier équipement stockant lesdites données associées à un premier identifiant d'un utilisateur et un second équipement appartenant au dit utilisateur, le procédé comprenant une étape préliminaire d'enrôlement de l'utilisateur consistant à associer le premier identifiant avec un compte sécurisé de l'utilisateur sur un troisième équipement, comprend, au niveau du quatrième équipement : *recevoir du second équipement une requête d'accès aux données stockées dans le premier équipement en associant à la requête une identification du compte sécurisé d'enrôlement ; - à réception, demander au troisième équipement le premier identifiant ; *demander au premier équipement les données associées au premier identifiant ; *supprimer toute information permettant d'associer les données au premier identifiant ; *transférer au deuxième équipement les données. [11] Ainsi l'utilisateur peut accéder à ses données personnelles tout en renforçant la sécurité de celles-ci pendant le transport et la consultation par leur anonymisation. Par ailleurs, sur le terminal, les données restent partiellement anonymes dans le sens où le premier identifiant n'est pas stocké sur le terminal, même si l'utilisateur du terminal est lui connu. [12] Des caractéristiques ou des modes de réalisation particuliers, utilisables seuls ou en combinaison, sont : *le premier équipement comprend une pluralité d'équipements de stockage, chaque équipement de stockage stockant des données de l'utilisateur avec un identifiant différent, et le compte sécurisé de l'utilisateur est associé à l'ensemble des identifiants différents, de sorte que le quatrième équipement, sur réception d'une unique requête du second équipement, collecte l'ensemble des informations stockées associées aux différents identifiants de l'utilisateur, supprime les données d'identification puis envoie les informations regroupées et anonymisées au second équipement ; *le second équipement comprend une application logicielle adaptée pour demander des informations au premier équipement via le quatrième équipement, et l'application logicielle comprend un élément d'authentification de l'application permettant au quatrième équipement de vérifier que l'application logicielle est autorisée à accéder aux données ; et/ou *l'application logicielle est associée à un éditeur connu du quatrième équipement et l'application logicielle comprend un élément d'authentification de l'éditeur permettant au quatrième équipement de vérifier que l'application logicielle est associée à un éditeur connu. [13] Ainsi, tout en gardant l'anonymisation, il est possible de concaténer des données provenant de plusieurs 20 bases de données et/ou serveurs. Par ailleurs, les différentes authentifications permettent de renforcer la sécurité de l'ensemble en vérifiant que l'équipement/logiciel demandant un accès aux données n'est pas malveillant ou n'a pas été modifié pour introduire un 25 logiciel espion. [14] Un deuxième aspect de l'invention se rapporte à un programme d'ordinateur à installer dans un ordinateur, comprenant des instructions pour mettre en oeuvre les étapes d'un procédé de sécurisation tel que défini ci-dessus lors 30 d'une exécution du programme par une unité de calcul dudit ordinateur. [15] Dans un troisième aspect de l'invention, un serveur de sécurisation par anonymisation de données lors d'un transfert desdites données entre un premier équipement stockant lesdites données associées à un premier identifiant d'un utilisateur et un second équipement appartenant audit utilisateur, l'utilisateur ayant un compte sécurisé d'enrôlement associé au premier identifiant sur un troisième équipement, comprend : l'un premier émetteur/récepteur avec le second équipement adapté pour recevoir une requête d'accès aux données stockées dans le premier équipement en associant à la requête une identification du compte sécurisé d'enrôlement ; l'un deuxième émetteur/récepteur avec le troisième équipement adapté pour demander le premier identifiant en fonction de l'identification du compte sécurisé d'enrôlement ; l'un troisième émetteur/récepteur avec le premier équipement adapté pour récupérer les données associées au premier identifiant ; l'un calculateur adapté pour supprimer toute information permettant d'associer les données au premier identifiant ; et ale premier émetteur/récepteur est en outre adapté pour transférer au deuxième équipement les données anonymisées. [16] Dans un quatrième aspect de l'invention, un terminal utilisateur comprend une interfaçe avec l'utilisateur, un calculateur, de la mémoire et un émetteur/récepteur de transmission de données, et comprend en outre une application logicielle adaptée pour communiquer avec un serveur de sécurisation comme décrit ci-dessus pour mettre en oeuvre le procédé de sécurisation ci-dessus. Brève description des figures [17] L'invention sera mieux comprise à la lecture de la description qui suit, faite uniquement à titre d'exemple, et en référence aux figures en annexe dans lesquelles : - La figure 1 représente un schéma général des différents dispositifs et de leurs liens de communication dans un mode de réalisation de l'invention ; et - La figure 2 représente un ordinogramme des flux de données entre les différents dispositifs du mode de réalisation de la figure 1 ; - La figure 3 représente l'architecture fonctionnelle d'un serveur proxy selon le mode de réalisation de la figure 1 ; et - La figure 4 représente l'architecture fonctionnelle 15 d'un terminal utilisateur selon le mode de réalisation de la figure 1. Modes de réalisation [18] En référence à la figure 1, un premier équipement 1 stocke des données associées à un premier identifiant d'un 20 utilisateur. [19] Ce premier équipement sera appelé serveur de données personnelles par la suite. [20] Afin d'illustrer le mode de réalisation décrit, il est pris comme exemple que le serveur de données personnelles 1 25 est un serveur bancaire contenant les informations de compte bancaire de l'utilisateur. Dans cet exemple, le premier identifiant est le numéro du compte bancaire. [21] Par ailleurs, l'utilisateur possède un deuxième équipement 3 dit terminal. Ce peut être un ordinateur 30 personnel, un téléphone mobile intelligent, une tablette ou tout autre moyen ayant des capacités d'interfaçage avec l'utilisateur, de calcul, de mémorisation et de transmission de données. [22] Ce deuxième équipement est capable de communiquer via un réseau de données 5 avec un troisième équipement 7 dit serveur d'enrôlement et avec un quatrième équipement 9 dit serveur proxy. [23] Le réseau de données est typiquement le réseau internet auquel le terminal 3 accède par une connexion filaire type Ethernet ou par une liaison sans fil type wifi ou une norme de téléphonie mobile (3G, UMTS, etc.), ou une liaison de données par satellite. [24] Le serveur de données personnelles 1 communique avec le serveur proxy 9 via un second réseau de données 11. Ce second réseau de données 11 est plus sécurisé que le premier réseau de données 5. Par exemple, c'est le réseau privé et interne de la banque du serveur de données personnelles 1. [25] Ainsi, le serveur proxy 9 a deux interfaces de communication : une interface avec le premier réseau 5 pour communiquer en particulier avec le terminal 3 et une interface avec le second réseau de données 11 pour communiquer en particulier avec le serveur de données personnelles 1. [26] Il en est de même du serveur d'enrôlement 7 qui communique en particulier avec le terminal 3 via le premier réseau de données 5 et avec le serveur proxy 9 via le second réseau de données 11. [27] Le fonctionnement du système va maintenant être décrit en référence à la figure 2. [28] Dans une phase préliminaire d'enrôlement, l'utilisateur ouvre, ou fait ouvrir, un compte sécurisé sur le serveur d'enrôlement 7. A titre d'exemple, la sécurité d'accès du compte est assuré par un identifiant de compte sécurisé et un mot de passe permettant seulement à l'utilisateur d'accéder au compte. Bien entendu, cette sécurité peut être renforcée par tous les moyens habituels connus de l'homme du métier (utilisation de la biométrie, d'un token, d'une carte à puce, etc.). [29] Après l'ouverture, l'utilisateur complète les informations détenus par le compte sécurisé en précisant le premier identifiant, dans notre exemple, le numéro de compte bancaire, par exemple sous sa forme IBAN. [30] La phase d'enrôlement est alors terminée [31] Un procédé de sécurisation par anonymisation peut alors débuté. [32] Dans l'étape 21, l'utilisateur, via son terminal 3, demande à accéder à son compte bancaire se trouvant sur le serveur de données personnelles 1. Une requête est donc envoyée à la banque. [33] En utilisant des moyens classiques de redirection d'adresse et de gestion de proxy, la requête est reçue par le serveur proxy 9. [34] Le serveur proxy 9 demande, étape 23, alors à l'utilisateur de s'authentifier en utilisant les authentifiants du compte sécurisé. [35] L'utilisateur envoie, étape 25, ses données d'authentification, dans notre exemple son identifiant de compte sécurisé et son mot de passe, au serveur proxy 9. [36] Le serveur proxy 9 interroge, étape 27, alors le serveur d'enrôlement 7 en envoyant dans la requête les données d'authentification reçues ainsi qu'une demande d'accès au premier identifiant, le numéro de compte bancaire. [37] Le serveur d'enrôlement 7 vérifie les données d'authentification, étape 29. Si elles sont incorrectes, la demande est rejetée et le procédé s'arrête sur échec (ou est repris selon les procédés classiques de correction d'erreurs en de telles circonstances). Si elles sont correctes, le serveur d'enrôlement 7 envoie, étape 31, le premier identifiant au serveur proxy 9. [38] Le serveur proxy 9 utilise alors le premier identifiant pour accéder, étapes 33 et 35 aux données 5 demandées via une requête au serveur de données personnelles 1. [39] Une fois les données demandées reçues, celles-ci sont nettoyées, étape 37, de toute information permettant de faire un lien vers le premier identifiant et, ainsi 10 anonymisées, ces données sont envoyées, étape 39, par le serveur proxy 9 au terminal 3. [40] Dans une première variante, le compte sécurisé peut contenir plusieurs identifiants correspondants à des données personnelles se trouvant sur le même ou sur 15 différents serveurs de données personnelles. [41] Par exemple, l'utilisateur peut ajouter dans son compte sécurisé, son identifiant client de son fournisseur d'électricité, son numéro de sécurité sociale, son identifiant d'accès à son service d'impôt en ligne, etc. 20 [42] L'accès à ces serveurs peut se réaliser alors de façon séquentielle, le serveur proxy faisant une demande pour chaque accès à un service ou de façon combinée. [43] Par exemple, l'utilisateur peut vouloir connaître le montant de ses remboursements de sécurité sociale et s'ils 25 ont bien été versés sur son compte bancaire. Il fait donc une demande d'accès combiné au serveur bancaire et au serveur de sécurité sociale via le serveur proxy qui peut, en une seule requête interroger le serveur d'enrôlement pour obtenir à la fois le numéro de compte bancaire et le 30 numéro de sécurité sociale. [44] Le serveur proxy interroge alors les deux serveurs de données personnelles concernés, récupère les données demandées, les anonymisent comme expliqué ci-dessus, et les concatène sous une forme adéquate pour les transmettre au terminal de l'utilisateur. [45] Dans une deuxième variante, le terminal 3 de l'utilisateur comprend une application logicielle dédiée pour communiquer avec le serveur proxy 9 et, éventuellement le serveur d'enrôlement 7 et permettre ainsi les différentes interactions décrites ci-dessus. [46] Afin de sécuriser le procédé, cette application possède une signature connue du serveur d'enrôlement. [47] Le terminal, via l'application, accompagne alors sa demande d'informations de la signature de l'application. Celle-ci est transmise par le serveur proxy 9 au serveur d'enrôlement 7 lors de la requête de demande d'identifiant de l'étape 27 pour vérification par ce dernier. [48] Cela permet de renforcer la sécurité en vérifiant que l'application utilisée est connue, et a, par exemple, été validée par le propriétaire du serveur d'enrôlement. [49] Cette signature peut également être utilisée en combinaison avec un chiffrement par un jeu de clés associé à la signature des données d'authentification du compte sécurisé lors du transport de celles-ci entre l'application du terminal et le serveur d'enrôlement. [50] Dans une troisième variante fonctionnant en combinaison avec la deuxième variante, l'éditeur de l'application a une signature qui lui est propre et qu'il appose sur les applications qu'il fournit. Cette signature de l'éditeur est alors utilisée dans le procédé comme la signature de l'application dans un but de renforcement de la sécurité. [51] Dans une quatrième variante, le terminal est connu en tant que tel par le serveur d'enrôlement via un élément matériel permettant de l'authentifier. Par exemple, le terminal possède un circuit sécurisé spécifique avec une signature. Comme dans la deuxième et la troisième variantes, cette signature est utilisée par le serveur d'enrôlement pour valider la demande de transaction. [52] La combinaison de ces trois dernières variantes permet 5 ainsi de n'autoriser l'accès aux données que si l'utilisateur est authentifié, qu'il utilise un terminal connu et une application approuvée. [53] Dans une cinquième variante, la communication entre le terminal et le serveur proxy est sécurisée par des échanges 10 de jetons permettant selon des techniques de sécurité bien connues au terminal de valider que le serveur proxy est un « bon » serveur et/ou de mettre en place une session de durée prédéterminée. [54] On comprend que le procédé décrit peut être mis en 15 oeuvre par un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur qui comprend des instructions de code de programme pour la mise en oeuvre du procédé de sécurisation. 20 Ce produit programme est alors exécuté par un ordinateur qui joue le rôle du serveur proxy. [55] Le procédé peut également être mis en oeuvre avec des moyens purement matériels. Par exemple, le serveur proxy peut être composé de composants spécifiques de type réseaux 25 de portes (en anglais « Gate Arrays ») ou équivalents. [56] Ainsi, figure 3, le serveur proxy comprend l'un premier émetteur/récepteur 41 de communication avec le second équipement adapté pour recevoir une requête d'accès aux données stockées dans le premier 30 équipement en associant à la requête une identification du compte sécurisé d'enrôlement ; l'un deuxième émetteur/récepteur 43 de communication avec le troisième équipement adapté pour demander le premier identifiant en fonction de l'identification du compte sécurisé d'enrôlement ; *un troisième émetteur/récepteur 45 de communication avec le premier équipement adapté pour récupérer les données associées au premier identifiant ; - un calculateur 47 adapté pour supprimer toute information permettant d'associer les données au premier identifiant ; et ale premier émetteur/récepteur 41 de communication est en outre adapté pour transférer au deuxième équipement les données anonymisées. [57] Par ailleurs, le terminal utilisateur 3 comprenant une interfaçe 51 avec l'utilisateur, un calculateur 53, de la mémoire 55 et un émetteur/récepteur 57 de transmission de données, et comprenant en outre une application logicielle adaptée pour communiquer avec un serveur proxy 9 pour mettre en oeuvre le procédé de sécurisation décrit. [58] L'invention a été illustrée et décrite en détail dans les dessins et la description précédente. Celle-ci doit être considérée comme illustrative et donnée à titre d'exemple et non comme limitant l'invention a cette seule description. De nombreuses variantes de réalisation sont possibles. [59] Ainsi les différents équipements décrits doivent être compris comme des entités fonctionnelles. Ils peuvent être implémentés sous différentes formes : serveurs physiques, applications logicielles tournant sur un même ordinateur ou sur des ordinateurs différents ou sur des machines les différents réseaux peuvent être réseaux physiques et de réseaux des VPNs et pour des raisons sécurité, différentes configurations virtualisées. De même des combinaisons de virtuels tels que d'implémentation ou de peuvent être mises en place. Par exemple, la liaison entre le serveur d'enrôlement et le serveur proxy peut être une ligne dédiée sécurisée. [60] Par ailleurs, sauf s'il est précisé le contraire à un moment donné, l'utilisateur peut avoir différents terminaux à sa disposition qu'il va utiliser indifféremment. Tous ces terminaux sont englobés dans la définition générale du terminal de l'utilisateur défini ci-dessus. [61] Enfin l'homme du métier reconnaitra que le procédé décrit peut s'accompagner de mesures complémentaires de sécurité telles que le chiffrement de tous les canaux de communication, l'utilisation de boitiers hautement sécurisés au niveau des serveurs proxy et d'enrôlement, la mise en place de pare-feu, de proxys inverses, etc. [62] Dans les revendications, le mot « comprenant » 15 n'exclue pas d'autres éléments et l'article indéfini « un/une » n'exclue pas une pluralité. REVENDICATIONS1. Procédé de sécurisation par anonymisation de données lors d'un transfert desdites données entre un premier équipement (1) stockant lesdites données associées à un premier identifiant d'un utilisateur et un second équipement (3) appartenant au dit utilisateur, le procédé comprenant une étape préliminaire d'enrôlement de l'utilisateur consistant à associer le premier identifiant avec un compte sécurisé de l'utilisateur sur un troisième équipement (7), le procédé comprenant, au niveau d'un quatrième équipement (9) : *recevoir (21, 23, 25) du second équipement une requête d'accès aux données stockées dans le premier équipement en associant à la requête une identification du compte sécurisé d'enrôlement ; *à réception, demander (27, 31) au troisième équipement le premier identifiant ; *demander (33, 35) au premier équipement les données associées au premier identifiant ; *supprimer (37) toute information permettant d'associer les données au premier identifiant ; *transférer (39) au deuxième équipement les données. 2. Procédé selon la revendication 1, caractérisé en ce que le premier équipement comprend une pluralité d'équipements de stockage, chaque équipement de stockage stockant des données de l'utilisateur avec un identifiant différent, et en ce que le compte sécurisé de l'utilisateur est associé à l'ensemble des identifiants différents, de sorte que le quatrième équipement, sur réception d'une unique requête du second équipement, collecte l'ensemble des informations stockées associéesaux différents identifiants de l'utilisateur, supprime les données d'identification puis envoie les informations regroupées et anonymisées au second équipement. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que le second équipement comprend une application logicielle adaptée pour demander des informations au premier équipement via le quatrième équipement, et en ce que l'application logicielle comprend un élément d'authentification de l'application permettant au quatrième équipement de vérifier que l'application logicielle est autorisée à accéder aux données. 4. Procédé selon la revendication 3, caractérisé en ce que l'application logicielle est associée à un éditeur connu du quatrième équipement et l'application logicielle comprend un élément d'authentification de l'éditeur permettant au quatrième équipement de vérifier que l'application logicielle est associée à un éditeur connu. 5. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en oeuvre du procédé de sécurisation selon l'une au moins des revendications 1 à 4. 6. Serveur de sécurisation par anonymisation de données lors d'un transfert desdites données entre un premier équipement stockant lesdites données associées à un premier identifiant d'un utilisateur et un second équipement appartenant audit utilisateur, l'utilisateurayant un compte sécurisé d'enrôlement associé au premier identifiant sur un troisième équipement, le serveur comprenant : l'un premier émetteur/récepteur (41) avec le second équipement adapté pour recevoir une requête d'accès aux données stockées dans le premier équipement en associant à la requête une identification du compte sécurisé d'enrôlement ; l'un deuxième émetteur/récepteur (43) avec le troisième équipement adapté pour demander le premier identifiant en fonction de l'identification du compte sécurisé d'enrôlement ; l'un troisième émetteur/récepteur (45) avec le premier équipement adapté pour récupérer les données associées au premier identifiant ; l'un calculateur (47) adapté pour supprimer toute information permettant d'associer les données au premier identifiant ; et ale premier émetteur/récepteur (41) est en outre adapté pour transférer au deuxième équipement les données anonymisées. 7. Terminal utilisateur comprenant une interfaçe (51) avec l'utilisateur, un calculateur (53), de la mémoire (55) et un émetteur/récepteur (57) de transmission de données, et comprenant en outre une application logicielle adaptée pour communiquer avec un serveur de sécurisation selon la revendication 6 pour mettre en oeuvre le procédé de sécurisation selon l'une quelconque des revendications 1 à 4.