Nous créons un site Web qui collectera des informations de localisation (points) auprès des utilisateurs. Nous explorons des techniques pour préserver la confidentialité de l'emplacement des utilisateurs (par exemple, souvent, les utilisateurs partageront leur adresse personnelle, qui est sensible). Une option qui m'est venue à l'esprit est d'obscurcir ou de «hacher» les points avant de les stocker dans la base de données, éliminant ainsi la nécessité de stocker ces données sensibles.
Nos exigences de base sont, je crois:
Étant donné un seul point obscurci, il n'est pas possible de dériver le point d'origine dans (disons) un kilomètre environ, même compte tenu de toutes les métadonnées associées au point (c.-à-d., Supposer que la base de données entière est compromise).
Étant donné un ensemble arbitrairement grand de points obscurcis correspondant au même point d'origine, il n'est toujours pas possible de dériver le point d'origine. (Par exemple, une technique simple consiste à ajouter un vecteur aléatoire au point d'origine, mais si vous le faites suffisamment de fois, les points masqués se regrouperont autour du point d'origine.)
Ce serait bien si diverses propriétés statistiques étaient préservées, bien que je ne sache pas quelles propriétés sont importantes à ce stade. Par exemple, je préférerais que les points obscurcis se dispersent de manière "naturelle" plutôt que de s'accumuler dans une grille. Cependant, la confidentialité est plus importante que cela.
Réponses:
Jettes un coup d'oeil à:
( citation , texte intégral )
Ils discutent de différents «géo-masques» pour les données ponctuelles, notamment le déplacement, la rotation, la perturbation aléatoire et l'agrégation. Bien qu'ils ne discutent pas de solutions techniques spécifiques sur la façon de l'implémenter, il existe des pointeurs utiles vers des informations sur ce que vous gagnez / perdez avec chaque approche.
Pour des considérations plus théoriques, jetez un œil à ma réponse à la question sur un sujet similaire.
la source
Vous pouvez essayer d'utiliser le bruit Perlin pour décaler vos points de manière aléatoire, mais avec l'avantage que les points proches les uns des autres resteront proches les uns des autres, mais cette similitude disparaît avec la distance. Si la fonction de bruit est centrée autour de 0, l'analyse statistique devrait toujours renvoyer des données similaires à celles de la source, car le bruit de Perlin (en particulier la version 2002) est une distribution à peu près gaussienne.
la source
C'est peut-être plus compliqué et impliqué que nécessaire, mais cela peut être une voie à suivre:
Créez un script python simple qui prend vos points d'entrée d'origine, les met en mémoire tampon d'une certaine distance d'obscurcissement acceptable, crée n nombre de points aléatoires en utilisant les tampons comme contrainte de fonctionnalité (100, par exemple), puis sélectionne l'un des points à l'aide d'un générateur de nombres pseudo-aléatoires à utiliser comme nouveau point obscurci. Il serait également nécessaire de créer un nouveau nombre pseudo-aléatoire pour chaque obscurcissement.
Selon votre scénario, cela peut être conditionné dans une boîte à outils et accessible en tant que service GPS avec un point de terminaison REST afin que l'obscurcissement se produise dans les emplacements de mémoire et que le point masqué soit publié dans votre base de données physique.
la source
OK, donc l'algorithme que nous considérons est le suivant:
la source