[CabAnon] Protection des données et utilisabilité, une nouvelle approche pour l’anonymisation
Rédigé par Félicien Vallet
-
24 September 2018Dans la continuité du projet Cabanon, nous republions un article de Paul Francis, chercheur au Max Planck Institute for Software Systems, qui propose de nouvelles méthodes pour travailler sur le jeu de données des taxis new-yorkais.
Le projet CabAnon a été lancé l'année dernière dans le but d'explorer si des données correctement anonymisées pouvaient encore être utilisables. Nos premiers résultats ont montré qu'avec une approche assez grossière mais robuste, des résultats exploitables pouvaient déjà être obtenus. Paul Francis, chercheur au Max Planck Institute for Software Systems et co-fondateur de la startup Aircloak, que nous avons interviewé plus tôt cette année, a également abordé la question afin d'étudier comment sa méthode Diffix pourrait faire face au défi de rendre anonymes les données de l'ensemble des taxis NYC tout en restant utilisable. Dans un billet de blog, il détaille les approches qu'il a suivies et présente les résultats obtenus.
Avec son accord, nous le republions ici (traduction LINC) :
Diffix est un système déployé devant une base de données contenant des données brutes (non anonymisées). Diffix intercepte les requêtes SQL faites à la base de données, et anonymise les réponses en imposant des limites et en ajoutant du bruit. La base de données peut être une base de données relationnelle ou une base de données NoSQL. Cette approche requête par requête présente deux avantages. Tout d'abord, Diffix n'applique que le niveau de bruit nécessaire pour chaque requête, minimisant ainsi la distorsion des données. Ensuite, Diffix élimine le besoin de concevoir manuellement un schéma d'anonymisation pour s'adapter au cas d'utilisation. Diffix considère chaque requête comme un cas d'utilisation distinct et l’anonymise de façon appropriée.
Pour ce faire, il est nécessaire de préciser à Diffix quoi protéger. Pour cette analyse, nous avons configuré Diffix pour protéger la vie privée du chauffeur de taxi.
A titre d'exemple, considérons le diagramme des lieux de ramassage des taxis illustrés dans la figure ci-dessus. Les points sur cette image ne représentent pas des courses de taxi individuelles, mais des courses qui ont eu lieu dans des carrés d'environ 10 mètres X 10 mètres (granularité de quatre décimales dans les coordonnées GPS). Diffix supprime automatiquement tous les carrés qui n'ont pas assez de chauffeurs de taxi distincts, le seuil étant en moyenne de 4 chauffeurs. Si nous avions demandé une granularité totale, Diffix aurait enlevé plus de 90% des emplacements.
Comme Diffix procède à l’anonymisation requête par requête, l'ensemble des attributs de la base de données est à disposition à des fins d’analyse. Il existe donc une grande variété de cas d'utilisation qui peuvent être examinés simplement en écrivant la requête SQL appropriée. Dans la suite, nous sélectionnons trois cas d’usage permettant de donner au lecteur une bonne idée de ce qui est realisable avec Diffix.
Cas d’usage 1 : Temps de transport pour l’aéroport LaGuardia
Toute personne devant se rendre à l’aéroport LaGuardia pour prendre un vol doit savoir combien de temps il lui faudra pour y arriver. Comme les taxis se rendent souvent aux aéroports, nous pouvons répondre à cette question avec les données des trajets de taxis mises à disposition par la ville de New-York.
Les visualisations suivantes montrent le temps de trajet moyen jusqu'à LaGuardia à partir de n'importe quel endroit pour lequel il existe suffisamment de données sur les taxis. Nous examinons trois périodes de temps différentes : de 13 h à 14 h les week-ends, de 8 h à 9 h et de 17 h à 18 h les jours de semaine. Ces trois périodes sont choisies pour permettre d’observer le contraste entre une heure de pointe, et une heure de faible trafic et pour comparer la période de pointe du matin avec la période de pointe du soir. Dans chaque cas, la figure de gauche montre les données brutes, et la figure de droite les données obtenus à l’issu du traitement réalisé par Diffix (intitulée Cloak).
Comme on peut s'y attendre, les durées de déplacement sont plus importantes pendant les heures de pointe du matin et du soir en semaine qu'au milieu de la journée le week-end. L'effet du trafic entrant par rapport au trafic sortant aux heures de pointe pour Manhattan est également observable. Le groupe de points en bas à droite de la carte est l'aéroport JFK. On peut noter que l'effet du trafic du matin par rapport à celui du soir est l'inverse pour la circulation de JFK à LaGuardia.
On peut également noter que la distorsion introduite par l'anonymisation de Diffix ne change pas les conclusions de base que l'on peut tirer des visualisations - le temps de parcours à partir de n'importe quelle zone pour laquelle des données existent est à peu près le même pour les données brutes et les données anonymisées.
Un autre élément intéressant est qu'il y a beaucoup de courses qui commencent et finissent à LaGuardia, et que beaucoup de ces courses se situent dans la plage des 10 à 20 minutes. Une des explications possibles pour ces courtes durées est que certains voyageurs pressés prennent un taxi entre les terminaux plutôt que la navette. En ce qui concerne les durées plus longues, les voyageurs en transit se rendent peut-être à un endroit éloigné de l'aéroport.
Cas d’usage 2 : Profils des conducteurs
Les analystes de l’administration ou les chercheurs en sciences sociales pourraient être intéressés à comprendre les profils professionnels des conducteurs de taxi. Si les données permettent d'identifier le chauffeur, elles ne contiennent malheureusement pas d'autres informations sur ces-derniers (par exemple l'âge, la durée de l'emploi, le nombre de jours de maladie pris, s'ils ont une assurance maladie, etc.). Néanmoins, il est possible d’apprendre des choses intéressantes sur le comportement des conducteurs.
La première question que nous posons est la suivante : combien de jours par an chaque conducteur travaille-t-il ? Les graphiques suivants présentent la réponse à cette question sous forme d'histogramme avec un point de données par jour. Remarquez l'échelle logarithmique du nombre de conducteurs. Une journée est comptabilisée à condition que le conducteur ait eu au moins une course dans la journée. Notez que les conducteurs qui travaillent la nuit sont comptés de façon surnuméraire, puisqu'une nuit de travail sera comptée comme deux jours si le conducteur commence avant minuit.
Les graphiques montrent à la fois des données anonymisées (labellées Cloak) et des données brutes. Notez que les comptages obtenus avec les données anonymisées sont très précis. Notez également que le dernier point de données brutes n'a pas d'équivalent anonymisé. Diffix a supprimé ce point parce qu'il se réfère à trop peu de conducteurs, et pourrait donc en principe violer leur anonymat. (Il est intéressant de noter que ce point concerne deux conducteurs ayant travaillé tous les jours de l'année !).
Ce graphique permet de déduire différentes choses intéressantes. Il y a beaucoup de conducteurs qui n'ont travaillé qu'un ou quelques jours. Plus de 3000 conducteurs n'ont travaillé qu'une seule journée. On peut envisager qu'il s'agit d'une période d'essai à l’issue de laquelle l'employé ou l'employeur a décidé que chauffeur de taxi n’était pas un métier correspondant à cette personne.
La grande majorité des chauffeurs de taxi travaille à temps partiel (à partir d'un mois ou deux). De nombreuses raisons pourraient expliquer cela. Il se peut ainsi que certains conducteurs travaillent de façon saisonnière et ne soient chauffeurs de taxis que comme second emploi ou conduisent des taxis pendant leurs périodes de chômage.
Le graphique suivant montre combien d'heures par jour, en moyenne, chaque conducteur travaille. En particulier, afin d’étudier si les conducteurs qui travaillent de très nombreux jours travaillent un nombre d’heures différents par jour que ceux qui ne travaillent pas autant de jours. Pour que les données distinguent clairement ces deux groupes, nous avons choisi un groupe ayant plus de 300 jours par an travaillés (labellé CloakFull), et un autre groupe ayant entre 100 et 150 jours par an (labellé CloakPart). Ici, seules les données anonymisées sont montrées – les données brutes sont pratiquement les mêmes (à l'exception des quelques travailleurs qui ont été supprimés par Diffix).
Ce graphique montre que les chauffeurs de taxi ont tendance à avoir des journées de travail normales (généralement entre 6 et 8 heures), qu'ils travaillent à temps partiel ou à temps plein, bien que les chauffeurs à temps partiel aient des journées de travail légèrement plus longues.
Cas d’usage 3 : Encombrement du trafic
Les données sur les taxis sont bien adaptées à l'étude du trafic automobile en ville. Et cela intéresse aussi bien les urbanistes que les gestionnaires de transport.
À titre d'exemple, nous avons demandé la vitesse en miles par l'heure de tous les trajets pour lesquels le ramassage et le dépôt se trouvaient dans la région indiquée par la case ci-dessus. Cette zone représente une grande partie du quartier financier de Manhattan. (Cette image est elle-même créée en interrogeant Diffix pour les lieux de ramassage et de dépôt dans des carrés de 10 mètres).
Les résultats sont présentés dans le graphique suivant, où la vitesse est calculée comme distance/temps. À partir de minuit, nous pouvons voir que la vitesse augmente jusqu'à 5 heures du matin, ce qui suggère que l'activité dans la ville ne diminue que lentement pendant la nuit (ce qui est fidèle à la réputation de la ville de New York de ville qui ne dort jamais).
A partir de 5 heures du matin, les vitesses diminuent à mesure que l’encombrement du trafic augmente jusqu'à environ 10 heures du matin, à partir de quand la vitesse reste constante jusqu'à environ 20 heures. Il est intéressant de noter qu'il n'y a pas de baisse du temps de déplacement, ce qui suggère que les gens ne se déplacent généralement pas en voiture dans le quartier financier. A partir de 20h, la vitesse augmente ensuite régulièrement tout au long de la nuit.
Paul Francis
Paul Francis is a scientific director at the Max Planck Institute for Software Systems in Kaiserslautern and Saarbrücken Germany and co-founder of the startup Aircloak. His research focuses on data anonymity.
Illustration : Flickr - cc-by - Crystal Sanchez