• 15 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 29/04/2021

Appliquez les modèles d'anonymisation aux données de géolocalisation

Dans le chapitre précédent, nous nous sommes intéressés à des données de type tabulaire. Cependant, si vous travaillez autour d'applications mobiles et d'objets connectés, vous aurez très certainement à traiter des données issues de capteurs GPS, autrement dit, des données de géolocalisation. Dans ce chapitre, vous allez comprendre qu’il est encore plus difficile (mais néanmoins possible, bien sûr !) d’appliquer l’anonymisation à ce type de données.

Séries temporelles et connaissances annexes

Pourquoi est-il compliqué d’anonymiser les données de géolocalisation ?

Parce que d’une part, ces données sont des séries temporelles, et d’autre part, avec une carte précise, n’importe qui peut avoir beaucoup de connaissances annexes, ce qui rend l’anonymisation plus difficile.

Exemple de trace GPS
Exemple de trace GPS

Voici un exemple de véritable trace GPS d’une personne. Sa trajectoire va d’un instant t1 à un instant t17. Cette personne prend sa voiture, part de l’INSA Centre Val de Loire de Bourges. Puis elle emprunte un certain nombre de routes et termine son parcours au club de golf de Bourges. À chacun de ces points est associé un instant qui permet de déduire la vitesse de déplacement de cette personne. C’est ce qui nous permet de déduire que cette personne était en voiture et non à pied.

Anonymiser les données = Perturber les données

Le fait d’anonymiser les données signifie perturber les données, c’est-à-dire déplacer les points soit dans le temps, soit dans l’espace. En général, on choisit de déplacer les points dans l’espace. Regardez la figure ci-dessous qui illustre un exemple de perturbation.

Exemple de perturbation
Exemple de perturbation

Vous pouvez constater qu’un certain nombre de points ont été déplacés. Voyons ce que nous pouvons obtenir comme informations à partir de cette trace et ce que nous pouvons en conclure :

  • à l’instant t1, on est plutôt dans une certaine zone ;

  • à l’instant t17, la personne s’est déplacée vers une deuxième zone ;

  • les vitesses indiquent que la personne s’est déplacée en voiture.

Utilisation de connaissances annexes

Si vous faites un petit peu plus attention, vous pouvez remarquer quelques points absurdes qui devraient être déplacés ailleurs car ils ne sont pas aux bons endroits :

  • le point t5 se trouve au milieu d’un parc, ce qui n’est pas cohérent avec le fait que la personne se déplace en voiture ;

  • le point t10 est placé au centre d’une zone militaire qui à priori est bloquée ;

  • le point t12 est en plein milieu d’une route assez importante : ce n’est pas vraisemblable en tenant compte du temps qu’il y a entre t11, t12 et t13 ;

  • de même pour les points t2, t6, t8, t9 ou encore t11 qui devraient être déplacés sur les grands axes. Ces points ont vraisemblablement été suivis par l’individu dont nous connaissons l’emplacement approximatif et le temps précis.

Petite conclusion

Lorsqu’on perturbe les points, il faut prendre en compte une contrainte supplémentaire : la topographie de l’endroit. On ne peut pas perturber les points n’importe comment. Par exemple ici, le point ne doit pas être déplacé dans un étang ni dans une rivière.

Modèle de geo-indistinguishability

Le modèle de geo-indistinguishability est un modèle théorique assez récent datant de 2013. Il s’agit d’une extension de la differential privacy que nous avons vue dans le chapitre précédent.

Dans le chapitre précédent, on a dit qu’un algorithme satisfait la contrainte d’ε-differential privacy, si :

  • pour toute paire de tables D1 et D2 qui ne diffèrent que par la présence ou non d’un individu ;

  • pour tout résultat Ω de l’algorithme,

il existe ε tel que :

Formule de la confidentialité différentielle
Formule de la confidentialité différentielle

Cette définition s’étend au point géographique. Donc dans un premier temps, on conserve la définition pour 2 points sur une carte.

On dit qu’un algorithme satisfait la contrainte d’ε-geo-indistinguishability si :

  • pour toute paire de points x1 et x2 tels que leur distance d(x1, x2) est inférieure à r ;

  • pour tout résultat Ω de l’algorithme,

il existe ε tel que :

Formule de la geo-indistinguishability
Formule de la geo-indistinguishability

Si on analyse de manière plus approfondie cette dernière formule, nous allons voir qu’en réalité, cet algorithme rend deux points très proches extrêmement difficiles à différencier. En revanche, il serait raisonnable de pouvoir différencier des points qui sont très éloignés l’un de l’autre. Par exemple, nous pouvons savoir qu’un individu va se trouver plutôt à Paris qu’à Lyon. Nous aurions cependant plus de difficultés à savoir où il se trouve très précisément entre deux routes proches dans Paris.

Il s’agit de la même problématique pour ce qui concerne les applications. Prenons un exemple : vous développez actuellement une application sur mobile pour trouver des restaurants locaux qui ont une bonne réputation. Si vous ne savez pas où se trouve exactement l’individu, cela va poser problème. Ici, la protection des données consiste à dire que cet individu se trouve dans la capitale, au lieu de dire qu’il se trouve dans un quartier précis.

De cette manière, nous réussissons à protéger les données sur sa position, au prix d’une certaine efficacité sur l’application, puisqu’il va falloir télécharger un peu plus d’informations sur les restaurants. En effet, si on ne souhaite pas dire qu’on est à Paris, il va falloir télécharger l’ensemble des restaurants en France si on souhaite dire qu’on est bien dans ce pays, ou de l’Europe, voire du monde. Par conséquent, nous devrions faire un travail énorme sur le traitement local, ce qui n’est pas optimal ni réaliste. Il va donc falloir trouver un compromis entre la protection que demande un individu et le temps de traitement qui sera d’autant plus important qu’il souhaite un niveau de protection plus élevé.

Autrement dit, ε quantifie l’erreur qu’il va y avoir sur la position. Plus on rajoute de points avec une certaine barre d’erreurs, plus le déplacement total et la trajectoire seront faussés. Lorsque l’on applique ce mécanisme, il est donc important d’avoir en tête un ordre de grandeur, le nombre de points qu’on va échantillonner, pour ne pas avoir une protection trop importante, ce qui donnerait une précision extrêmement mauvaise.

Outil Location Guard

Cette définition vous paraît peut-être un peu théorique et abstraite. Heureusement, les auteurs de geo-indistinguishability ont créé un outil appelé "Location Guard", qui met en œuvre le concept de manière simple. Afin de protéger la position des utilisateurs, ils ont créé un plug-in utilisable par les navigateurs et les téléphones portables. Avec cet outil, la position GPS peut être exploitée par la fonction "  JavaScript geolocation.getCurrentPosition". Ce plug-in intercepte tous ces appels et les anonymise en appliquant le mécanisme de geo-indistinguishability.

Cet outil est facile à télécharger et à manipuler. Vous pouvez le tester vous-même. Mais juste avant, je vais vous expliquer rapidement son fonctionnement.

Outil Location Guard
Outil Location Guard

Pour chaque site web sur lequel vous vous rendez, vous pouvez configurer si vous voulez partager votre localisation avec ce site, puis régler le degré de précision qui va être géré par le plug-in. Le plug-in permet de visualiser la position fausse qui a été générée.

Outil Location Guard
Outil Location Guard

Vous pouvez voir dans la figure ci-dessus qu’un point blanc est localisé en Franche-Comté, tandis que la position réelle est dans la région Centre Val de Loire. Le cercle violet montre la zone dans laquelle le point pourrait se trouver. Ici, on a défini une zone extrêmement grande et une précision extrêmement faible. Il est bien sûr possible de définir des zones plus petites pour que les informations soient plus utiles.

Outil Location Guard
Outil Location Guard

Pour ce faire, il faut définir deux zones :

  • une zone interne qui va être une zone de protection assez importante : vous voyez qu’ici, cette zone est configurée à 500 mètres. À l’intérieur de cette zone, il sera extrêmement difficile de savoir où la personne se trouve précisément ;

  • une seconde zone au-delà de laquelle il sera possible de savoir que la personne ne se trouve pas. Ici on voit qu’on a une précision qui est de l’ordre du kilomètre entre deux points où la personne se trouve et où la personne ne se trouve pas.

Le dernier paramètre sur lequel on peut jouer dans cette application est la durée de conservation d’une position en mémoire. Évidemment, lorsqu’une application demande notre position à plusieurs reprises, elle pourrait moyenner cet ensemble de mesures pour en déduire où on se trouve. De ce fait, lorsque l’application "Location Guard" transmet une fausse position, elle se rappelle ce qu’elle a dit pendant un certain laps de temps afin d’éviter d’envoyer beaucoup de points différents générés aléatoirement. Ces points pourraient être assez facilement éliminés par des algorithmes statistiques de traitement.

Nous voici arrivés à la fin de ce cours sur la protection de la vie privée. J’espère vous avoir convaincu de l’importance de prendre en compte ce concept dans la réalisation de vos applications, en particulier d’applications connectées. C’est important, pour trois raisons :

  • premièrement, il s’agit d’un critère légal. Si vous ne le faites pas, vous êtes hors la loi ;

  • le fait de protéger la vie privée de vos utilisateurs est un critère moral. D’une manière générale, les gens n’aiment pas être épiés, ni qu’on vole leurs données. Environ 75 % des citoyens européens considèrent que les applications Internet ainsi que les applications mobiles aspirent beaucoup trop d’informations personnelles ;

  • enfin, il est important de tenir compte du critère d’appréciation. Si vous êtes plutôt consciencieux et maintenant que vous êtes au courant de ce problème, vous devriez prendre en compte le degré d’appréciation par vos utilisateurs.

En mettant en avant ces critères de respect de la vie privée, vous respectez vos utilisateurs.

En résumé de la partie 4

Dans cette partie, nous avons présenté la problématique de l'anonymisation des données, ainsi que des modèles et des techniques permettant de résoudre ce problème : le k-anonymat et la differential privacy. Nous avons également montré comment il était possible d'appliquer ces techniques dans le cadre de données de géolocalisation, très utilisées dans le domaine des objets connectés.

Vous voici arrivé à la fin de ce cours, félicitations ! Vous avez à présent toutes les clés pour :

  • identifier les risques liés à la gestion de données personnelles ;

  • réaliser une étude d'impact de vie privée ;

  • être sensibilisé aux techniques de sécurisation de données ;

  • évaluer la qualité d'une anonymisation de données.

N'oubliez pas de réaliser les exercices à la fin de chaque partie pour valider ces compétences. Je vous souhaite une bonne continuation dans tous vos projets !

Et si vous obteniez un diplôme OpenClassrooms ?
  • Formations jusqu’à 100 % financées
  • Date de début flexible
  • Projets professionnalisants
  • Mentorat individuel
Trouvez la formation et le financement faits pour vous
Exemple de certificat de réussite
Exemple de certificat de réussite