Un Internet des Objets respectueux de la vie privée
Comment le machine-learning permet une anonymisation efficace
Objectif mesurer l’affluence et le temps d’attente
Ants, notre laboratoire d’innovation, est soutenu par la Région Aquitaine et la Gironde pour mener une mission de service public et de modernisation des infrastructures liées aux déchets.
Notre but est de fournir aux citoyens l’affluence et le temps d’attente en déchèterie, cela en temps réel. Vous trouverez plus de détails dans cet article.
Les traces de connexion
Pour estimer le nombre de personnes présentes, nous analysons les ondes émises par les smartphones. En effet, lorsque des fonctionnalités comme le bluetooth ou le wifi sont activées, le téléphone essaie régulièrement de trouver des points de connexion en émettant des ondes dans lesquelles il indique sa présence et son souhait éventuel de se connecter.
Dans ce paquet d’ondes, on retrouve entre autres l’adresse MAC qui est un identifiant unique du téléphone.
Les principes de protection de la vie privée
La CNIL regarde de près ces technologies. Elle s’est récemment opposée au projet du publicitaire JCDecaux à la Défense qui souhaitait détecter les adresses MAC des passants autour d’un panneau publicitaire, afin d’estimer son audimat et cibler l’information à diffuser.
Deux points sont mis en avant par la CNIL pour s’opposer au projet.
Un traitement de données à caractère personnel doit avoir reçu le consentement de la personne concernée ou satisfaire à l’une des conditions suivantes :
- Le respect d’une obligation légale incombant au responsable du traitement
- La sauvegarde de la vie privée de la personne concernée ;
- L’exécution d’une mission de service public dont est investi le responsable ou le destinataire du traitement ;
- L’exécution, soit d’un contrat auquel la personne concernée est partie, soit de mesures précontractuelles prises à la demande de celle-ci ;
- La réalisation de l’intérêt légitime poursuivi par le responsable du traitement ou par le destinataire, sous réserve de ne pas méconnaître l’intérêt ou les droits et libertés fondamentaux de la personne concernée .
Or, le projet ne prévoit pas le consentement des personnes (ce qui lui ôterait tout son intérêt), et ne respecte pas les conditions citées.
2°) D’autre part, les adresses MAC sont transmises sur un serveur et hashées par la suite. “Hasher” consiste à brouiller l’adresse mac pour lui faire correspondre un identifiant unique mais illisible. Néanmoins, il est possible de dire qu’une personne - correspondant à un hash donné - est passée à différents moments.
Or, pour qu’une solution d’anonymisation soit efficace, elle doit empêcher la possibilité d’isoler un individu dans un ensemble de données, de relier entre eux deux enregistrements dans un ensemble de données (ou dans deux ensembles de données séparés) et d’en déduire des informations croisées.
Les exemples de recoupement de plusieurs bases de données pour identifier une personne sont nombreux. Le plus marquant est celui du jeu de données open-data des taxis new-yorkais.
Avant d’exposer la technique que nous proposons, voici les différences fondamentales entre ce que nous voulons faire et l’exemple précité :
- nous ne faisons pas de publicité. Notre cas et celui de JCDecaux sont durs à comparer, car leur solution a un objectif publicitaire et est soumis à des règles strictes du code de l’environnement.
- nous ne transmettons aucune adresse MAC: elles apparaissent ponctuellement au sein des capteurs mais ne sont jamais transmises
- le projet s’inscrit dans le cadre d’une expérimentation visant l’amélioration du service public
- nous souhaitons mettre ces données en open-data pour favoriser les ré-usages citoyens, donc nous devons être d’autant plus attentifs sur la question de la vie privée
- le code est open-source, ce qui signifie que chacun est libre de détailler et vérifier l’intégralité de notre process
La solution actuelle
Pour estimer le nombre de passages sur l’installation en temps réel et en respectant les contraintes énoncées, nous proposons le protocole suivant :
- Le capteur envoie toutes les 5 minutes la liste des intensités de signaux détectés
- Le capteur envoie, une fois par jour, une liste de trajectoires, c’est-à-dire une liste contenant les variations d’intensité du signal d’une visite.
- Des mesures manuelles sont effectuées ponctuellement dans les déchèteries afin de calibrer la relation entre nos mesures et l’affluence et les temps d’attente réels.
Le premier point permet d’avoir des données temps réel qui renseignent le nombre d’usagers dans des cercles concentriques, centrés sur le capteur. En effet, la puissance du signal est inversement proportionnelle à l’éloignement du capteur. Toutes les 5 minutes, le capteur envoie l’information suivante à notre serveur: une date, et une liste représentant toutes les puissances individuelles mesurées sur les 5 dernières minutes.
“2015–10–05T14:36:11.647Z”: [-90, -45, -89, -90, -24, -56 …]
Cette liste de valeurs permet de construire l’histogramme du nombre d’usagers détectés.
A partir de cet histogramme, on peut estimer combien de personnes sont sur la plateforme, combien sont en approche et combien sont en attente.
Cet indicateur suffit pour des déchèteries isolées (comme sur l’image précédente), mais dans la plupart des cas, les cercles dépassent largement les frontières de la déchèterie. Par conséquent, ces cercles capturent ce qu’on appelle des faux positifs, c’est-à-dire la présence de personnes qui sont effectivement à proximité de l’installation, mais sans l’intention de s’y rendre (par exemple une déchèterie installée au pied d’une autoroute ou adossée à un supermarché).
Il faut donc ajouter une partie d’intelligence, qui pour chaque déchèterie, sera capable d’inférer les bonnes valeurs d’affluence et de temps d’attente en fonction de l’histogramme. Or, rappelons qu’il y a plus de 4000 déchèteries en France, ce qui implique notre souhait de vouloir automatiser ce process.
Pour cela, une fois par jour le capteur envoie les trajectoires de chaque appareil détecté. Il s’agit d’une trajectoire en une seule dimension (la distance par rapport au capteur). Voici comment chacune des trajectoires est construite:
- le capteur détecte un nouvel appareil avec une adresse MAC à une force de signal -90 db.
- dans le capteur, l’adresse MAC est conservée et nous lui associons une liste des distances (à chaque fois que la force du signal varie) que nous appelons trajectoire. Dans l’exemple ci-dessous, nous voyons qu’une personne est arrivée à 14h36, qu’elle a mis 7 mins pour arriver jusqu’à la plateforme et qu’elle est partie deux minutes plus tard:
MAC1: {
"2015–10–05T14:36:21.647Z": -90,
"2015–10–05T14:39:15.947Z": -75,
"2015–10–05T14:43:13.647Z": -55,
"2015–10–05T14:45:11.677Z": -110
}
- dès que l’appareil n’est plus détecté, la trajectoire est clôturée, puis ajoutée à la liste des trajectoires du jour sans la MAC adresse ou autre label.
[
{
"2015–10–05T14:36:21.647Z": -90,
"2015–10–05T14:39:15.947Z": -75,
"2015–10–05T14:43:13.647Z": -55,
"2015–10–05T14:45:11.677Z": -110
},
...
]
- Si l’appareil est détecté pendant plus de 1 heure, la trajectoire n’est pas répertoriée, tout comme les trajectoires de moins de 5 minutes.
Ainsi, nous pouvons détecter la présence d’un usager pendant son passage à la déchèterie mais aucune information personnelle n’est transmise. Cette anonymisation garantit d’ailleurs l’impossibilité de croiser des données en cas de second passage.
Sur le serveur, un algorithme de machine learning analyse chaque jour le paquet de trajectoires reçues et améliore le modèle propre à la déchèterie qui permet de passer de l’histogramme à une bonne estimation du nombre d’usagers. (Cette partie est en cours de développement).
Cette approche est certes plus coûteuse en ressources machine (calcul et transfert de données) et en conception mais elle a le mérite de prouver qu’il est possible de répondre à objectifs précis avec les contraintes du respect de la vie privée.
Nous tenons à remercier la CNIL que nous avons pu consulter lors de la mise au point de ce protocole et qui a fait preuve d’une très grande réactivité et pertinence.