FR 3048101 A1 20170825 FR 1651422 A 20160222 1 Procédé et dispositif d'évaluation de la robustesse d'une anonymisation d'un jeu de données Domaine technique de l'invention Le domaine de l'invention est celui de la manipulation de données sensibles : données susceptibles d'identifier un individu de révéler un secret ou une information préjudiciable le concernant. Elles sont notamment liées à la vie privée des personnes ou aux secrets industriels. Plus précisément le domaine de l'invention est celui de l'échange de données portant sur des entités légales en particulier des personnes qu'elles soient physiques ou morales et la mise à disposition des données présentant des informations à caractère personnel ou des secrets de fabrique. De telles données sont, par exemple des données médicales, des données financières, des données commerciales, des données de journalisation d'activité sur un réseau, la liste n'est pas exhaustive. Encore plus précisément le domaine de l'invention est celui d'évaluation de la robustesse d'une anonymisation d'un jeu de données. Etat de la technique antérieur L'anonymisation de données, a fortiori de données personnelles, consiste à modifier le contenu ou la structure de ces données afin de rendre très difficile ou impossible la « ré-identification » des personnes, physiques ou morales, ou plus généralement des entités concernées par les données ou l'acquisition d'une nouvelle information sur un inidividu Les anglophones parlent aussi parfois de De-Identification (DE-ID). Le choix d'anonymiser des données résulte souvent d'un compromis déontologique, juridique et éthique, entre une volonté ou une obligation de protéger les individus et leurs données personnelles. L'anonymisation est en particulier employée pour la diffusion et le partage de données jugées d'intérêt public, comme les données ouvertes (Open data). Toutefois, les techniques d'anonymisation connaissent des limites et les jeux de 3048101 2 données peuvent subir des traitements qui permettent de ré-identifier un individu : - faire la liaison entre un individu et un enregistrement ; - retrouver un individu à partir d'enregistrements homogènes ; - révélation d'informations sur un individu ; 5 - obtenir une information (éventuellement probabiliste) sur un individu. Ces différents risques d'attaque sont connus dans la littérature mais celle-ci les présente sous la forme d'exemple de ré-identification et ne comporte pas de méthode permettant de quantifier de façon globale la sensibilité d'un jeu de donnée à ces différentes attaques. Ces méthodes sont : 10 - la recherche d'enregistrement unique, donc fortement distinctif qui permet de retrouver facilement l'entité correspondante. Par exemple, si on considère la table anonymisée suivante issue d'un centre de soin : Code Postal Age Maladie 93*** 1* Cancer 75*** 2* VIH 75*** 2* Cancer 92*** 3* Diabète 92*** 3* Cancer Et que l'on sait par ailleurs que ce centre de soin accueil Bob du 93 agé de 17 ans, alors il sera simple de trouver que Bob a un cancer. 15 - Une attaque d'homogénéité, par exemple en considérant le tableau anonymisé suivant : Code Postal Age Maladie 93*** 1* Cancer 75*** 2* VIH 75*** 2* VIH 92*** 3* Diabète 92*** 3* Cancer Et que l'on sait par ailleurs que ce centre de soin accueil Bob du 75 âgé de 23 ans, alors il sera simple de trouver que Bob a le VIH car tous les patients du centre de soin venant du 75 et ayant entre 20 et 29 ans ont le VIH. 20 - Une attaque d'inférences probabilistes dans laquelle on exploite de l'information 3048101 3 créée par l'anonymisation ou tout autre traitement des données. Par exemple, dans les données originales on a 50% d'individus souffrant d'un cancer. Après traitement on a créé une répartition des individus dans des catégories anonymes. Si dans chacune de ces catégories on trouve à nouveau 50% 5 d'individus souffrant du cancer alors l'anonymisation n'a pas créé d'information supplémentaire. Par contre il est possible que ce taux varie pour certaines catégories anonymes. Donc le traitement et/ou la transformation des données, dans ce cas l'anonymisation, a créé de l'information exploitable pour une ré identification. 10 On connait donc des technique d'anonymisation mais on ne sait pas industrialiser une évaluation de l'efficacité de l'anonymisation. Cette efficacité est donc, au mieux, évaluée de façon empirique lors de la production du premier de jeu de donnée, puis elle est utilisée pour tous les jeux de données suivants. On parle d'un premier jeu de données car dans la pratique on utilise des données 15 vivantes ou actualisées. On définit donc des critères d'extraction de données depuis une base de données. On effectue une première extraction à laquelle on applique une anonymisation. On évalue à la main cette anonymisation et, si elle est satisfaisante, on planifie les critères d'extractions pour produire un jeu de données à intervalle régulier. Ce jeu de données est alors anonymisé et envoyé à son destinataire. Dans 20 la mesure où le contenu des données original change, la fiabilité de l'anonymisation change elle aussi. Dans l'état de la technique ce problème est ignoré. Exposé de l'invention L'invention permet de résoudre ce problème en proposant un procédé automatisé d'évaluation de la robustesse de l'anonymisation d'un jeu de données (quantifier le 25 niveau du risque de ré-identification d'un individu et de révélation d'information). Le procédé selon l'invention calcul, pour des catégories prédéterminées de données, un ou plusieurs indicateurs. La valeur de ces indicateurs permet d'automatiser une décision de livraison du jeu de données anonymisées. L'invention a donc essentiellement pour objet un procédé d'évaluation de la robustesse d'une anonymisation d'un jeu de données caractérisé en ce qu'il comporte les étapes suivantes : 3048101 4 - Acquisition d'un jeu de données anonymisées - Structuration du jeu de données anonymisées en au moins une table, chaque colonne de la table correspondant à une propriété, chaque ligne correspondant à un enregistrement, un enregistrement étant un ensemble de valeurs chaque 5 valeur correspondant à une propriété ; - Structuration d'au moins une catégorie de propriétés, une telle catégorie étant un ensemble de propriétés ; - Production d'au moins un indicateur selon des distributions de valeurs au sein d'une propriété correspondant à la au moins une catégorie structurée ; 10 - Comparaison du au moins un indicateur à au moins un seuil prédéterminé et, en cas d'échec de la comparaison, production d'un message d'alerte. L'invention présente également les caractéristiques suivantes à considérer selon les combinaisons techniquement possibles: 15 - l'évaluation est réalisée à chaque anonymisation, son résultat permettant de piloter une émission du jeu de donnée anonymisé. - une catégorie fait partie du groupe formé d'au moins les éléments suivants :identificateur explicite : une donnée dont la seule connaissance permet d'associer l'enregistrement à une entité ;quasi identificateur : une 20 donnée qui considéré avec au moins une autre donnée de la même catégorie permet d'associer l'enregistrement à une entité ; attribut sensible : une donnée dont l'association à une entité pourrait lui porter préjudice ; attribut non sensible : une donnée dont l'association à une entité ne lui porterait pas directement préjudice.un indicateur est un indicateur d'unicité. 25 - l'indicateur d'unicité est calculé à partir de données appartenant à la catégorie des quasi-identificateurs. - un indicateur est un indicateur de diversité. - l'indicateur de diversité est calculé à partir de données appartenant à la catégorie des données sensibles et à la catégorie des quasi-identificateur. 30 - un indicateur est un indicateur de proximité. - l'indicateur de proximité est calculé à partir de données appartenant à la catégorie des données sensibles et à la catégorie des quasi-identificateur. 3048101 5 - plusieurs indicateurs sont combinés pour piloter la production du message d'alerte. La présente invention se rapporte également à un dispositif de mise en oeuvre d'étapes du procédé selon l'invention. 5 La présente invention se rapporte également à un dispositif de stockage non transitoire sur lequel sont enregistrés des codes instructions de mise en oeuvre du procédé selon l'invention. Brève description des figures lo D'autres caractéristiques et avantages de l'invention ressortiront à la lecture de la description qui suit, en référence aux figures annexées, qui illustrent : - la figure 1 : une illustration d'une infrastructure permettant la mise en oeuvre de l'invention ; - la figure 2 : une illustration d'étapes du procédé selon l'invention. 15 Pour plus de clarté, les éléments identiques ou similaires sont repérés par des signes de référence identiques sur l'ensemble des figures sauf précision contraire. L'invention sera mieux comprise à la lecture de la description qui suit et à l'examen des figures qui l'accompagnent. Celles-ci sont présentées à titre indicatif et nullement limitatif de l'invention. zo Description détaillée d'un mode de réalisation La figure 1 montre un serveur 100 d'évaluation de robustesse selon l'invention. Le serveur d'évaluation de robustesse selon l'invention comporte : - un microprocesseur 110 ; - des moyens de stockage 120, par exemple un disque dur, une carte mémoire, 25 ou un composant intégré, ou une partie d'un composant intégré, dédié au stockage de donnée, une grappe RAID. Les moyens de stockage sont locaux ou distants ; - une interface 130 de communication, par exemple une carte de communication 3048101 6 selon le protocole Ethernet. D'autres protocoles sont envisageables comme IP. L'interface de communication peut être câblée ou non câblée ; Le microprocesseur 110 du serveur d'évaluation de robustesse, les moyens 120 de stockage du serveur d'évaluation de robustesse et l'interface 130 de communication 5 du serveur d'évaluation de robustesse sont interconnectés par un bus 150. Lorsque l'on prête une action à un dispositif celle-ci est en fait effectuée par un microprocesseur du dispositif commandé par des codes instructions enregistrés dans une mémoire du dispositif. Si l'on prête une action à une application, celle-ci est en fait effectuée par un microprocesseur du dispositif dans une mémoire duquel des codes 10 instructions correspondant à l'application sont enregistrés. Lorsqu'un dispositif, ou une application, émet un message, ce message est émis via une interface de communication dudit dispositif ou de la dite application. Dans ces cas, un dispositif est réel ou virtuel. La figure 1 montre que les moyens 120 de stockage comportent une pluralité de zones. 15 Chaque zone est structurée pour remplir une fonction. Ainsi Les moyens de stockages du terminal selon l'invention comporte : - Une zone 120.1 de traitement comportant des codes instructions correspondant à la mise en oeuvre du procédé selon l'invention. C'est-à-dire des codes instructions issus de la mise en oeuvre d'un environnement de développement 20 pour l'implémentation du procédé selon l'invention. - Une zone 120.2 de catégories, c'est-à-dire une zone structurée pour enregistrer la description d'une catégorie de données. Une telle structure permet d'associer un identifiant de catégorie, par exemple un nom, à des informations de description de la catégorie. Il peut s'agir d'une ligne dans une table ou d'un 25 structure hiérarchique de type XML. Les catégories sont : o identificateur explicite : une donnée dont la seul connaissance permet d'associer l'enregistrement à une entité ; o quasi identificateur : une donnée qui, considérée avec au moins une autre donnée de la même catégorie, permet d'associer l'enregistrement 30 à une entité ; un quasi identificateur est simple ou composite. Il est simple lorsqu'il ne comporte qu'une clé, il est composite lorsqu'il comporte au moins deux clés ; 3048101 7 o attribut sensible : une donnée dont l'association à une entité pourrait lui porter préjudice o attribut non sensible : une donnée dont l'association à une entité ne lui porterait pas directement préjudice 5 - Une zone 120.3 de données anonymisées. C'est une zone qui permet d'enregistrer les données supposées anonymisées. D'un point de vue conceptuel une telle zone peut être vue comme une table dans laquelle chaque ligne correspond à un enregistrement, et chaque colonne à une propriété d'un enregistrement. 10 - Une zone 120.4 de contrat. C'est une zone qui permet au moins d'associer un identifiant d'un indicateur avec une valeur de seuil. Le contenu de la zone de contrat est donc utilisé pour la détermination de la robustesse selon que la position relative du résultat de l'évaluation de la robustesse par rapport à la valeur de seuil. 15 La structure de la zone 120.2 permet aussi d'associer une catégorie à une liste de propriétés. Une propriété, et en particulier sa valeur, caractérise un enregistrement. Pour la zone de données, si on considère que les données sont des données relatives aux patients d'un hôpital, alors un enregistrement correspond à un patient. Les propriétés sont, par exemple : 20 - Nom, - Code postal - Age, - Pathologie, - Sexe, 25 - Nombre d'enfants, La figure 2 montre une étape 1000 d'acquisition d'un jeu de données anonymisées. L'étape 1000 peut être mise en oeuvre par le serveur pour tout ou partie. Le serveur 100 réalise au moins la mise à jour de la zone 120.3 de données anonymisées, c'est 30 à dire de l'enregistrement des données en vue de permettre leur relecture. Une telle étape est une étape de transformation d'un jeu de données originales par la mise en oeuvre des étapes suivantes 3048101 8 - Sélection ou extraction en fonction de critère prédéterminé ; - Anonymisation, par exemple, par transformation et/ou généralisation des valeurs de propriétés. D'une manière générale pour un dispositif, le fait d'acquérir une donnée désigne le fait 5 que cette donnée est lue dans une mémoire locale ou distante. Dans une variante de l'invention l'anonymisation se réduite à l'acquisition d'un jeu de données anonymisées sans effectuer les transformations proprement dites. A la fin de l'étape d'anonymisation on a donc, dans la zone 120.3 de données anonymisées un ensemble d'enregistrements dont une partie des propriétés ont été 10 anonymisées. Dans une étape 1010 le server 100 d'évaluation de robustesse structure ces données anonymisées en associant à chaque propriété un nom qui permet de désigner la propriété. Les étapes d'anonymisation et de structuration peuvent être confondues, la structure des données anonymisées devant être connue pour la suite du procédé. Les 15 données anonymisées sont assimilables à une table. Dans une étape 1020, le serveur structure au moins une catégorie de propriétés. Une définition d'une telle catégorie est lue dans la zone 120.2 de catégories. La zone 120.2 de catégorie peut être mise à jour à partir du moment où la structuration des données anonymisées est connue. Au moment où la structuration est connue on peut en effet 20 associer à chaque propriété une catégorie parmi celles précédemment citées et donc produire une structure de catégories. Il est également possible qu'une propriété n'appartienne à aucune catégorie, elle sera alors ignorée par le procédé selon l'invention. On note ici que la composition des catégories est un paramètre du procédé. La 25 composition des catégories peut donc varier d'une mise en oeuvre à l'autre. Le serveur passe alors à une étape 1030 de calcul d'au moins un indicateur. L'indicateur à calculer est connu par l'acquisition du contenu de la zone 120.4 qui définit des seuils par indicateur. Si un indicateur est associé à un seuil alors cet indicateur doit être calculé. 30 Le mode de calcul d'un indicateur est, selon les variantes : 3048101 9 - Prédéterminé : un identifiant d'un indicateur est associé à une catégorie de données ou plus particulièrement à une propriété ; - Paramétrable : la zone de contrat permet d'associer un indicateur à une catégorie de données ou plus particulièrement à une propriété. 5 Les calculs d'indicateurs sont faits relativement à des classes d'équivalence. Une classe d'équivalence est constituée par un ensemble d'enregistrements ayant une valeur identique de quasi-identificateur. Les indicateurs qu'il est possible de calculer sont : - Un indicateur d'unicité : il évalue le niveau de réduction de détails d'un quasi- 10 identificateur. Il s'agit, dans un mode de réalisation, de la cardinalité minimale parmi les cardinalité des classes d'équivalence constituant le jeu de donnée, et plus particulièrement pour une propriété dans la catégorie des quasi-identificateurs. - Un indicateur de diversité : il évalue le niveau de la diversité des valeurs d'un 15 attribut sensible. Par exemple : o on calcule le nombre minimal des valeurs distinctes prises par un attribut sensible au sein des différentes classes d'équivalence constituant le jeu de données, et/ou o on calcule l'entropie minimale de la distribution des valeurs prises par un 20 attribut sensible au sein des différentes classes d'équivalences constituant le jeu de données. On obtient alors un indicateur de diversité entropique. - Un indicateur de proximité : il évalue le niveau de fidélité des valeurs d'un attribut sensible au sein d'une classe d'équivalence aux valeurs de cet attribut 25 dans le jeu de données complet. L'évaluation quantitative de la proximité peut être obtenue par différentes métriques. A titre d'exemple, on peut utiliser au moins deux modes de calcul: o calcul d'une divergence, par exemple la divergence Kullback Leiber maximale entre la distribution des valeurs d'un attribut sensible au sein 30 des classes d'équivalence et la distribution des valeurs de cet attribut dans le jeu des données, et/ou o calcul de la différence maximale entre la distribution des valeurs d'un 3048101 10 attribut sensible au sein des classes d'équivalence et la distribution des valeurs de cet attribut dans la base des données. On appel cet indicateur l'inducteur tD. On rappelle que l'entropie /Eau sein d'une classe d'équivalence Ci est définie par les 5 équations suivantes : leci = -pi log(pi) pj lE = min{leci} Avec : - p la probabilité de distribution des valeurs d'un attribut sensible au sein d'une 10 classe d'équivalence Ci ; - C est l'ensemble des classes d'équivalence du jeu de données anonymisées. On rappelle également le mode de calcul de la divergence Kullback Leiber : tkIcici = v log(pi) LP log(fi) tklD = max{tkIcici} 15 Avec : - p la probabilité de distribution des valeurs d'un attribut sensible au sein d'une classe d'équivalence Ci ; - f la probabilité de distribution des valeurs d'un attribut sensible au sein du jeu de données anonymisées. 20 L'inducteur tD est obtenu par l'application des formules suivantes : tcici = 1-y 2 Li fi J tD = max{tcici} Avec les définitions de p et de f précédentes. 3048101 11 Pour un jeu de données on obtient autant de valeur d'indicateurs qu'il y a de classe d'équivalence dans le jeu de données. La valeur retenue, pour caractériser le jeu de données, est la valeur la plus sensible, c'est-à-dire celle révélant la plus faible robustesse. 5 Le calcul d'un indicateur se fait donc en deux étapes : - calcul d"une valeur d'indicateur pour chaque classe d'équivalence ; - sélection d'une valeur parmi les valeurs calculées. On vient ici de décrire 5 indicateurs et leur mode de calcul. Pour un contrat on doit avoir au moins un indicateur associé à un seuil. Une fois le ou les indicateurs calculés 10 on compare la ou les valeurs obtenues, dans une étape 1040 de comparaison, à leur seuil respectif. Si la comparaison échoue, alors le serveur produit un message d'alerte. Un tel message est, par exemple, un mail qui est émis vers un destinataire prédéterminé. Un tel message peut aussi être la mise à jour d'une valeur dans une base de données locale ou distante. 15 Si on conditionne l'émission du fichier anonymisé à la lecture de la valeur mise à jour par le procédé selon l'invention, alors il est possible de bloquer automatiquement l'émission d'un fichier dont l'anonymisation ne serait pas assez robuste. On pilote donc ainsi l'émission des fichiers anonymisés. Dans une variante de l'invention un message d'alerte est en fait un rapport qui est émis zo quel que soit le résultat de l'évaluation de la robustesse. Avec un tel procédé on comprend qu'il est aisé de l'intégrer dans une démarche d'automatisation contrôlée de la diffusion de données. On sait déjà automatiser l'extraction et l'anonymisation. Il suffit donc d'ajouter une étape selon l'invention en lui donnant le contrôle sur une étape d'émission. Ainsi on s'assure qu'aucun jeu de 25 données dont l'anonymisation ne serait pas assez robuste ne puisse être émis. REVENDICATIONS1. Procédé d'évaluation de la robustesse d'une anonymisation d'un jeu de données caractérisé en ce qu'il comporte les étapes suivantes : - Acquisition (1000) d'un jeu de données anonymisées - Structuration (1010) du jeu de données anonymisées en au moins une table, chaque colonne de la table correspondant à une propriété, chaque ligne correspondant à un enregistrement, un enregistrement étant un ensemble de valeurs chaque valeur correspondant à une propriété ; - Structuration (1020) d'au moins une catégorie de propriétés, une telle catégorie étant un ensemble de propriétés ; - Production (1030) d'au moins un indicateur selon des distributions de valeurs au sein d'une propriété correspondant à la au moins une catégorie structurée ; - Comparaison (1040) du au moins un indicateur à au moins un seuil prédéterminé et, en cas d'échec de la comparaison, production d'un message d'alerte. 2. Procédé d'évaluation de la robustesse d'une anonymisation selon la revendication 1, caractérisé en ce que, l'évaluation est réalisée à chaque anonymisation, son résultat permettant de piloter une émission du jeu de donnée 20 anonymisé. 3. Procédé d'évaluation de la robustesse d'une anonymisation selon l'une des revendications précédentes, caractérisé en ce qu'une catégorie fait partie du groupe formé d'au moins les éléments suivants : - identificateur explicite : une donnée dont la seul connaissance permet 25 d'associer l'enregistrement à une entité ; - quasi identificateur : une donnée qui considéré avec au moins une autre donnée de la même catégorie permet d'associer l'enregistrement à une entité ; - attribut sensible : une donnée dont l'association à une entité pourrait lui porter préjudice ; 30 - attribut non sensible : une donnée dont l'association à une entité ne lui porterait pas directement préjudice. 4. Procédé d'évaluation de la robustesse d'une anonymisation selon l'une des revendications précédentes, caractérisé en ce qu'un indicateur est un indicateur 3048101 13 d'unicité. 5. Procédé d'évaluation de la robustesse d'une anonymisation selon la revendication 4 caractérisé en ce que l'indicateur d'unicité est calculé à partir de données appartenant à la catégorie des quasi-identificateurs. 5 6. Procédé d'évaluation de la robustesse d'une anonymisation selon l'une des revendications précédentes, caractérisé en ce qu'un indicateur est un indicateur de diversité. 7. Procédé d'évaluation de la robustesse d'une anonymisation selon la revendication 6 caractérisé en ce que l'indicateur de diversité est calculé à partir 10 de données appartenant à la catégorie des données sensibles et à la catégorie des quasi-identificateur. 8. Procédé d'évaluation de la robustesse d'une anonymisation selon l'une des revendications précédentes, caractérisé en ce qu'un indicateur est un indicateur de proximité. 15 9. Procédé d'évaluation de la robustesse d'une anonymisation selon la revendication 6 caractérisé en ce que l'indicateur de proximité est calculé à partir de données appartenant à la catégorie des données sensibles et à la catégorie des quasi-identificateur. 10. Procédé d'évaluation de la robustesse d'une anonymisation selon l'une des revendications précédentes caractérisé en ce que plusieurs indicateurs sont combinés pour piloter la production du message d'alerte. 11. Dispositif 100 de mise en oeuvre d'étape d'un procédé selon l'une des revendications précédentes. 12. Dispositif (120) de stockage non transitoire sur lequel sont enregistrés des codes instructions de mise en oeuvre d'un procédé selon l'une des revendications 1 à 10.