Comment fournir des données tabulaires tout en préservant la confidentialité

Nous continuons le thÚme de la sécurité de l'information et publions la traduction de l' article de Coussement Bruno.


Ajouter du bruit aux données existantes, ajouter du bruit uniquement aux résultats de manipulation des données ou générer des données synthétiques? Faisons confiance à notre intuition?







Les entreprises se développent et leurs réglementations en matiÚre de cybersécurité deviennent plus strictes, les architectes seniors adoptent les tendances ... Tout cela conduit à la nécessité (ou à l'obligation) de réduire les risques de confidentialité et la fuite d'informations ne fait que s'intensifier pour les personnes concernées.



Dans ce cas, les méthodes d'anonymisation ou de tokenisation des données sont largement utilisées, bien qu'elles permettent également la possibilité de divulguer des informations privées (voir cet article pour comprendre pourquoi cela se produit).



Générer des données synthétiques



Les donnĂ©es synthĂ©tiques ont une diffĂ©rence fondamentale. Le but est de crĂ©er un gĂ©nĂ©rateur de donnĂ©es qui affiche les mĂȘmes statistiques globales que les donnĂ©es d'origine. Distinguer l'original du rĂ©sultat final devrait ĂȘtre difficile pour un modĂšle ou une personne.



Illustrons ce qui précÚde en générant des données synthétiques sur l' ensemble de données Covertype à l' aide du modÚle TGAN .







AprĂšs avoir entraĂźnĂ© le modĂšle sur cette table, j'ai gĂ©nĂ©rĂ© 5000 lignes et tracĂ© un histogramme de la colonne ÉlĂ©vation de l'ensemble d' origine et gĂ©nĂ©rĂ©. Il semble que les deux lignes coĂŻncident visuellement.







Pour vérifier la relation entre les paires de barres, un graphique apparié de toutes les barres continues s'affiche. La forme que forment les points bleu-vert (générés) doit correspondre visuellement à la forme des points rouges (original). Et c'est arrivé, cool!







Si nous examinons maintenant les informations mutuelles (Ă©galement appelĂ©es corrĂ©lation non signĂ©e) entre les colonnes, les colonnes qui sont corrĂ©lĂ©es les unes avec les autres doivent Ă©galement ĂȘtre corrĂ©lĂ©es dans l'ensemble gĂ©nĂ©rĂ©. À l'inverse, les colonnes non corrĂ©lĂ©es de l'ensemble d'origine ne doivent pas ĂȘtre corrĂ©lĂ©es dans l'ensemble gĂ©nĂ©rĂ©. Une valeur proche de 0 signifie aucune corrĂ©lation et une valeur proche de 1 signifie une corrĂ©lation parfaite. C'est gĂ©nial!



Informations mutuelles entre les colonnes du jeu d'origine:





Informations mutuelles entre les colonnes générées ensemble:





Comme test final, je voulais entraĂźner la mĂ©thode de rĂ©duction de dimensionnalitĂ© non linĂ©aire ( UMAP ) sur l'ensemble d'origine et projeter les points d' origine dans l'espace 2D. J'entre l'ensemble gĂ©nĂ©rĂ© dans le mĂȘme projecteur. Les croix orange (gĂ©nĂ©rĂ©es) doivent se trouver dans les nuages ​​de points bleus du jeu de donnĂ©es d'origine. Et voici! Excellent!







OK, expérimenter avec des données est amusant!



Pour les cas plus graves, il existe 2 approches principales:



  • : .



    :

    — A: ,

    — B: ,

    — C: 1 100, B — «», — .



    : Faker, Trumania.



  • : , . , . .


Il convient de prĂȘter attention Ă  des initiatives telles que le coffre - fort de donnĂ©es synthĂ©tiques , Gretel.AI , Mostly.ai , MDClone , Hazy .



Aujourd'hui, vous pouvez déjà rédiger une preuve de concept à l'aide de données synthétiques pour résoudre l'un des problÚmes courants suivants auxquels sont confrontées les organisations informatiques:



  • Aucune charge utile dans l'environnement de dĂ©veloppement


Disons que vous travaillez sur un produit de donnĂ©es (cela peut ĂȘtre n'importe quoi) oĂč les donnĂ©es qui vous intĂ©ressent se trouvent dans un environnement de production avec une politique d'accĂšs trĂšs stricte. Malheureusement, vous n'avez accĂšs qu'Ă  l'environnement de dĂ©veloppement sans donnĂ©es intĂ©ressantes.



  • Mode Dieu - Droits d'accĂšs pour les ingĂ©nieurs et les scientifiques des donnĂ©es


Disons que vous ĂȘtes un data scientist et qu'un responsable de la sĂ©curitĂ© de l'information a soudainement limitĂ© vos privilĂšges indispensables pour accĂ©der aux donnĂ©es de production. Comment pouvez-vous continuer Ă  faire du bon travail dans un environnement aussi difficile et limitĂ©?



  • Transfert de donnĂ©es sensibles vers un partenaire externe non approuvĂ©


Vous faites partie de la sociĂ©tĂ© X. L'organisation Y aimerait prĂ©senter son dernier produit de donnĂ©es cool (cela pourrait ĂȘtre n'importe quoi).



Ils vous demandent d'extraire des données pour vous montrer le produit.



Quel est le lien entre les données synthétiques et la confidentialité différentielle?



La principale propriété de la génération de données synthétiques est que, indépendamment du post-traitement ou de l'ajout d'informations tierces, personne ne pourra jamais savoir si un objet est contenu dans l'ensemble d'origine et ne pourra pas non plus obtenir les propriétés de cet objet. Cette propriété fait partie d'un concept plus large appelé confidentialité différentielle (DP).



Confidentialité différentielle mondiale et locale



DP est divisé en 2 types.



Souvent, seul le rĂ©sultat d'une tĂąche spĂ©cifique prĂ©sente un intĂ©rĂȘt (par exemple, former un modĂšle basĂ© sur des donnĂ©es non divulguĂ©es de patients de diffĂ©rents hĂŽpitaux, calculer le nombre moyen de personnes ayant dĂ©jĂ  commis un crime, etc.), il convient alors de prĂȘter attention Ă  la confidentialitĂ© diffĂ©rentielle globale.



Dans ce cas, un utilisateur non fiable ne verra jamais de données confidentielles. Au lieu de cela, il ou elle indique à un conservateur de confiance (avec des mécanismes de confidentialité différentiels mondiaux) qui a accÚs aux données sensibles les opérations à effectuer.



Seul le résultat est signalé à l'utilisateur non approuvé. Je recommande Pysyftet OpenDP si vous avez besoin de plus d'informations sur des outils similaires.







En revanche, si des donnĂ©es doivent ĂȘtre transfĂ©rĂ©es Ă  une partie non approuvĂ©e, les principes de confidentialitĂ© diffĂ©rentielle locale entrent en jeu. Traditionnellement, cela se fait en ajoutant du bruit Ă  chaque ligne d'une table ou d'une base de donnĂ©es. La quantitĂ© de bruit ajoutĂ© dĂ©pend de:



  • le niveau de confidentialitĂ© requis (le fameux epsilon dans la littĂ©rature DP),
  • la taille du jeu de donnĂ©es (un jeu de donnĂ©es plus grand nĂ©cessite moins de bruit pour atteindre le mĂȘme niveau de confidentialitĂ©),
  • type de donnĂ©es de colonne (quantitatif, catĂ©gorique, ordinal).








En théorie, à niveau égal de confidentialité, le mécanisme DP global (ajout de bruit au résultat) fournira des résultats plus précis que le mécanisme local (bruit au niveau de la ligne).



Ainsi, les mĂ©thodes de gĂ©nĂ©ration de donnĂ©es synthĂ©tiques peuvent ĂȘtre considĂ©rĂ©es comme une forme de DP local.



Pour plus d'informations sur ces sujets, je vous conseille de consulter les sources suivantes:







Recommandation



Regardons maintenant un exemple plus spécifique. Vous souhaitez partager une feuille de calcul contenant des informations personnelles avec une partie non approuvée.



À l'heure actuelle, vous pouvez soit ajouter du bruit aux lignes de donnĂ©es existantes (DP local), configurer et utiliser un systĂšme robuste (DP global), ou gĂ©nĂ©rer des donnĂ©es synthĂ©tiques basĂ©es sur l'original.



Le bruit doit ĂȘtre ajoutĂ© aux lignes de donnĂ©es existantes si



  • vous ne savez pas quelle opĂ©ration sera effectuĂ©e sur les donnĂ©es aprĂšs publication,
  • vous devez partager pĂ©riodiquement une mise Ă  jour des donnĂ©es d'origine (= avoir ce flux de travail dans le cadre d'un processus par lots stable),
  • vous et les propriĂ©taires des donnĂ©es faites confiance Ă  la personne / l'Ă©quipe / l'organisation pour ajouter du bruit aux donnĂ©es d'origine.


Ici, je recommande de commencer par les outils OpenDP .



Le cas le plus cĂ©lĂšbre de confidentialitĂ© diffĂ©rentielle se trouve dans le recensement des États-Unis (voir databricks.com/session_na20/using-apache-spark-and-differential-privacy-for-protecting-the-privacy-of-the-2020-census-respondents ).



Ces données sont recalculées et mises à jour tous les trois ans. Ce sont principalement des données numériques qui sont agrégées et publiées à plusieurs niveaux (comté, état, national).



Installez et utilisez un systĂšme fiable si



  • le systĂšme que vous avez spĂ©cifiĂ© prend en charge les tĂąches et opĂ©rations qui y seront effectuĂ©es,
  • les donnĂ©es de base sont stockĂ©es Ă  diffĂ©rents endroits et ne peuvent pas les laisser (par exemple, dans diffĂ©rents hĂŽpitaux),
  • vous et les propriĂ©taires de donnĂ©es faites rĂ©ellement confiance au systĂšme actuel et Ă  la personne / Ă©quipe / organisation qui le met en place.


En tant qu'utilisateur de données sensibles, vous obtiendrez des résultats plus précis que la premiÚre approche.



De nombreux frameworks ne disposent pas actuellement de toutes les fonctionnalitĂ©s nĂ©cessaires pour dĂ©ployer cette bĂȘte de maniĂšre sĂ©curisĂ©e, Ă©volutive et auditable. Il y a encore beaucoup de travail d'ingĂ©nierie Ă  faire ici.



Mais Ă  mesure que leur adoption se dĂ©veloppe, DP peut ĂȘtre une bonne alternative pour les grandes organisations et les entreprises.



Je recommande de commencer ici avec OpenMined .



Il est possible de générer des données synthétiques si



  • (<1 , <100 ),
  • ad-hoc ( ),
  • / / , .


Comme pour la petite expérience décrite ci-dessus, les résultats sont prometteurs. Il ne nécessite pas non plus une excellente connaissance des systÚmes DP. Vous pouvez commencer dÚs aujourd'hui, si vous en avez besoin, laissez-le s'entraßner pendant la nuit et, pour ainsi dire, préparer l'ensemble synthétique partagé pour demain matin.



Le plus gros inconvĂ©nient est que ces modĂšles complexes peuvent devenir coĂ»teux Ă  entraĂźner et Ă  entretenir si la quantitĂ© de donnĂ©es augmente. Chaque table nĂ©cessite Ă©galement sa propre formation de modĂšle complĂšte (la formation portable ne fonctionnera pas ici). Vous ne pourrez pas passer Ă  des centaines de tables, mĂȘme avec un budget de calcul important.



Sinon, vous n'avez pas de chance.



Conclusion



La confidentialité des données étant plus importante que jamais, nous disposons d'excellentes méthodes pour générer des données synthétiques ou pour ajouter du bruit aux données existantes. Cependant, ils ont tous encore leurs limites. Hormis quelques cas de niche, un outil évolutif et flexible de niveau entreprise n'a pas encore été créé pour permettre le transfert de données contenant des informations personnelles à des parties non fiables.



Les propriétaires de données doivent toujours faire confiance aux méthodes ou aux systÚmes établis, ce qui nécessite une grande confiance de leur part. C'est le plus gros problÚme!



En attendant, si vous voulez l'essayer (preuve de concept, testez-le), ouvrez l'un des liens ci-dessus.



All Articles