FR3094109A1 - Procédé et système de traitement de données numériques provenant d’équipements connectés en garantissant la sécurité des données et la protection de la vie privée - Google Patents

Procédé et système de traitement de données numériques provenant d’équipements connectés en garantissant la sécurité des données et la protection de la vie privée Download PDF

Info

Publication number
FR3094109A1
FR3094109A1 FR1902948A FR1902948A FR3094109A1 FR 3094109 A1 FR3094109 A1 FR 3094109A1 FR 1902948 A FR1902948 A FR 1902948A FR 1902948 A FR1902948 A FR 1902948A FR 3094109 A1 FR3094109 A1 FR 3094109A1
Authority
FR
France
Prior art keywords
connected equipment
measurements
collection server
generalized
digital data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR1902948A
Other languages
English (en)
Inventor
Anh Dung Nguyen
Toussaint TIGORI
Malek HASSANI
Angel Gomez Y Cuadrado
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Roofstreet
Original Assignee
Roofstreet
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Roofstreet filed Critical Roofstreet
Priority to FR1902948A priority Critical patent/FR3094109A1/fr
Publication of FR3094109A1 publication Critical patent/FR3094109A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]

Landscapes

  • Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

L’invention présente un procédé de traitement de données numériques provenant d’équipements connectés, comportant les étapes suivantes : des étapes d’acquisition, par chaque équipement connecté (101), d’informations locales, sans transmission à un équipement tiers connecté, et l’enregistrement dans une mémoire locale desdites informations,l’exécution sur l’équipement connecté (101), d’un programme informatique d’intelligence artificielle (102), pour procéder d’une part à un traitement desdites informations enregistrées par le calculateur de l’équipement connecté (101) seulement d’apprentissage des habitudes du détenteur de l’équipement connecté et d’autre part à produire des mesures pour chaque caractéristique liée aux habitudes dudit détenteur,un traitement, par le calculateur de l’équipement connecté (101) seulement, pour la généralisation desdites mesures, le chiffrement, préférentiellement homomorphe, des mesures généralisées, et un procédé de négociation entre ledit équipement connecté (101) et ledit serveur de collecte (109) pour une transmission chiffrée de mesures traitées à l’exclusion desdites mesures locales non traitées, les communications entre le serveur de collecte (109) et les équipements connectés (101) s’effectuant via un réseau anonyme (108), et un procédé d’agrégation des mesures généralisées chiffrées provenant de différents équipements connectés Figure de l’abrégé : FIG.8

Description

Procédé et système de traitement de données numériques provenant d’équipements connectés en garantissant la sécurité des données et la protection de la vie privée.
Domaine de l’invention
La présente invention concerne le domaine du traitement en grande masse des données personnelles provenant d’équipements connectés. L’invention concerne un procédé et système informatique capable de collecter et traiter des données relatives aux habitudes des individus, tout en garantissant la confidentialité des données personnelles de chaque individu.
État de la technique
La connaissance et la compréhension des activités humaines, notamment de la mobilité humaine sont indispensables dans de nombreux domaines à savoir la gestion du trafic routier, la ville intelligente, la construction et l’aménagement urbain, la santé publique, la gestion des points de vente, le géomarketing, etc. La révolution numérique a permis aux acteurs économiques de collecter assez facilement un volume massif de données personnelles, dans le but de produire des analyses statistiques sur l’ensemble de la population. En effet, les équipements connectés de nouvelle génération, tels que les téléphones, les ordinateurs portables, les tablettes ou les montres intelligentes, sont dotés de fortes capacités de détection, de stockage et de traitement. Ceux-ci permettent de collecter un large spectre de données personnelles. La plupart des systèmes de collecte et d’analyse de données personnelles actuels suivent l’approche dite de « détection opportuniste », dans laquelle les participants (les détenteurs des équipements connectés) ne sont pas forcément conscients de la collecte (voir l’article « Urban Sensing Systems : Opportunistic or Participatory », Nicholas D. Lane et. al., ACM HotMobile 2008). Néanmoins, cela pose un sérieux problème concernant la sécurité des données et la vie privée des participants.
En effet, aujourd’hui, la collecte et le traitement des données personnelles, telles que les données de géolocalisation sont réalisées par des systèmes de type « cloud computing » (tels que les systèmes décrits dans les brevets EP3352432A1, FR3032286A1). Dans ce type de systèmes, les données brutes collectées (souvent une date, une position et une statistique à mesurer par exemple la vitesse), via les capteurs d’un équipement connecté, sont envoyées à un centre de données distant (le cloud) pour être ensuite traitées et agrégées afin de produire des statistiques. Toute la partie de calcul, par exemple l’apprentissage automatique dans le cas des systèmes intelligents, est réalisée au niveau du « cloud ». Même si le but est de calculer des statistiques agrégées sur un ensemble d’équipements connectés, les serveurs peuvent très bien lier une donnée avec un équipement connecté et reconstruire tous ses déplacements. Connaitre les déplacements d’une personne permet de détecter ses points d’intérêt (lieux de résidence, de travail), ses habitudes, voire même sa religion, ses préférences politiques (voir l’article « The Long Road to Computational Location Privacy : A Survey », Vincent Primault et. al., IEEE Communications Surveys & Tutorials, 2018) et sa santé (« Using Autoencoders to Automatically Extract Mobility Features for Predicting Depressive States », Abhinav Mehrotra and Mirco Musolesi, Proc. ACM Interact. Mob. Wearable Ubiquitous Technol. 2, 3, Article 127, 2018). En conséquence, la vie privée de la personne est exposée. Ce problème a initialement été adressé par les techniques dites de pseudo-anonymisation, où le but consiste à supprimer tout lien entre l’identité d’une personne et ses données (l’identifiant de l’équipement connecté dans l’exemple précédent). L’anonymisation des données de géolocalisation est en soi un problème très difficile. Des études par la suite ont montré que ces techniques de pseudo-anonymisation ne suffisent pas (« Anonymization of Location Data Does Not Work : A Large-Scale Measurement Study », Hui Zang et Jean Bolot, ACM MobiCom 2011). Par exemple, dans une base de données de géolocalisation, quatre points spatio-temporels suffisent pour identifier une personne (« Unique in the Crowd : The privacy bounds of human mobility », Yves-Alexandre de Montjoye et. al., Scientific Reports, 2013). Il y a donc une nécessité de concevoir un système de traitement de données numériques provenant d’équipements connectés qui protège, par design, la vie privée des participants.
Garantir la sécurité des données et la protection de la vie privée des participants dans un tel système, surtout dans le contexte d’un service basé sur la géolocalisation, est un défi technique très complexe car cela concerne toutes les composantes du système dont le mode de collecte, la base de données, la communication et l’authentification. En effet, le système doit assurer :
  • la protection des données contre une attaque de ré-identification au niveau de la base de données (voir l’article « Robust De-anonymization of Large Datasets », Arvind Narayanan et Vitaly Shmatikov, CoRR, 2007),
  • l’anonymat des équipements connectés dans la communication (voir l’article « Tor : The Second-Generation Onion Router », Syverson et. al., 13ème USENIX Security Symposium, 2004),
  • l’anonymat et le chiffrement des échanges entre les parties (voir « A fully homomorphic encryption scheme», Craig Gentry, thèse de doctorat, université de Stanford, 2009),
  • l’authentification et la certitude des informations transmises entre les parties (voir « Authenticating Location-based Services without Compromising Location Privacy », Haibo Hu et. al., ACM SIGMOD 2012).
Des techniques existantes résolvent partiellement ce problème et à notre connaissance, aucune d’entre elles ne proposent une solution complète et satisfaisante couvrant tous les points mentionnés précédemment. Dans les prochains paragraphes, nous aborderons les différents aspects du problème et les solutions existantes.
Concernant le mode de collecte, alors que dans une approche centrée sur le cloud, les données brutes issues des équipements connectés sont envoyées directement dans le cloud, ce qui pose un risque de ré-identification du participant, il existe une solution qui consiste à construire un modèle d’apprentissage partagé entre les équipements connectés. Dans cette configuration, le procédé d’apprentissage est toujours exécuté au niveau du serveur, chaque équipement connecté télécharge le modèle actuel, le met à jour avec ses données brutes et renvoie le modèle mis à jour au serveur. Cette solution, décrite dans les brevets WO2018057302A1 et WO2017066509A1, est utilisée par exemple pour l’apprentissage automatique des mots tapés par des participants sur un terminal mobile afin de faire des prédictions et corrections. Dans le contexte d’un service basé sur la localisation, cette solution ne garantit pas la vie privée d’un participant, car le serveur peut toujours identifier une personne dans un endroit si elle est la seule personne qui émet la mise à jour.
Parmi les techniques de protection des données personnelles, en particulier des données de géolocalisation, celles qui sont basées sur la notion de k-anonymisation (voir le rapport technique « Protecting privacy when disclosing information : k-anonymity and its enforcement through generalization and suppression », Pierangela Samarati, Latanya Sweeney, Technical Report, Harvard Data Privacy Lab, 1998, ou le brevet WO2002084531A2), sont les plus répandues. Cette notion garantie que, dans le cas d’une attaque d’une base de données, l’attaquant ne peut distinguer un participant particulier parmi autres participants. Dans le contexte des données de géolocalisation, ceci se traduit par la dissimulation de la position exacte d’un participant dans une zone où il y a autres participants. Les brevets CN104080081A, US8856939B2, US9736685B2, US20180091942A1, décrits ci-dessous, exploitent cette technique. Nous verrons par la suite pourquoi le k-anonymisation ne suffit pas pour garantir entièrement la sécurité et la vie privée.
Selon l’approche de k-anonymisation, le brevet CN104080081A présente une méthode d’anonymisation du mouvement spatial d’un périphérique mobile permettant d’assurer la vie privée de son utilisateur. Elle s’applique dans le cadre des services basés sur la localisation et permet à un utilisateur sollicitant ce type de service, par exemple une recherche de restaurants à proximité, d’éviter de divulguer sa position exacte et de préserver ainsi sa vie privée en se basant sur le principe du k-anonymisation. Cette technique consiste à noyer la position d’un équipement connecté dans une large zone. Initialement, l’espace géographique ou la zone considérée est subdivisé en plusieurs cellules. Ensuite, le mobile sollicitant un service qui nécessite sa position interagit avec un serveur qui lui fournit un historique comportant le nombre de mobile contenu dans chaque cellule. Une fois l’historique reçu du serveur, au moyen d’un algorithme récursif, le mobile détermine une sous-zone contenant au moins mobiles dans le but de satisfaire la condition du k-anonymisation. Cette sous zone est ainsi utilisée pour solliciter le service nécessitant la position du téléphone. De cette manière, l’anonymisation de la position du téléphone est toujours garantie. Toutefois, cette architecture deviendrait vulnérable si le serveur parvenait à être corrompu. Dans ce cas, le serveur enverrait des historiques erronées au mobile de sorte que le mobile renvoi une zone qui ne garantirait pas le k-anonymisation et ainsi compromettre sa vie privée.
Contrairement à la technique proposée précédemment, les auteurs du brevet US8856939B2 font l’hypothèse de la sureté d’un serveur d’anonymisation qui permet en fonction de la position exacte du mobile et d’un critère qui exprime le niveau de k-anonymisation souhaité par le mobile de calculer une zone englobant la position du mobile et contenant au moins mobiles. Une fois cette zone calculée, elle est envoyée au service nécessitant la localisation pour traiter la demande du mobile et ainsi garantir sa vie privée. Le principal problème de cette technique intervient lorsque l’hypothèse de la sûreté du serveur d’anonymisation est levée, car si le serveur subit une attaque interne ou externe, les positions exactes des mobiles pourront être divulguées. Le brevet US9585011B2 présente une méthode pour l’anonymisation des données de géolocalisation d’un mobile. Les auteurs proposent plusieurs solutions qui consistent à ajouter un serveur de confiance pour assurer l’anonymisation des données. Concernant la première solution, lorsqu’une application requiert la position d’un mobile, ce dernier envoie d’abord sa position à un serveur d’anonymisation de confiance pour définir le niveau d’anonymisation en garantissant le k-anonymisation. Après avoir définit le niveau d’anonymisation, le serveur renvoie la localisation anonymisée au mobile puis ce dernier la transmet à l’application qui a sollicité sa position. Vu que cette solution présente une faille de sécurité en divulguant la position du mobile au serveur dit de confiance, une seconde solution a été proposée. Cette solution consiste à faire tout le traitement d’anonymisation au sein du mobile, puis à vérifier le niveau d’anonymisation par le serveur d’anonymisation de confiance. Une fois le niveau d’anonymisation validé par le serveur d’anonymisation, le mobile peut dès lors divulguer sa position anonymisée. Le problème de cette solution intervient dans le cas où le serveur de confiance est corrompu et donc susceptible de fournir des informations erronées au mobile pour qu’il divulgue sa position sans respecter le k-anonymisation.
Le brevet US20180091942A1 présente une autre méthode de k-anonymisation et de protection de données spatiales pour les applications mobiles nécessitant ce type de données vis-à-vis de leurs utilisateurs pour effectuer un ensemble de services. Dans l’architecture présentée, le serveur de l’application requiert la position spatiale d’un participant. Mais pour des raisons d’anonymat et de vie privée, le participant ne renvoie pas directement sa position précise au serveur. Une entité tierce d’anonymisation qui peut être soit un serveur ou un équipement connecté se charge de définir une cellule géographique comportant au moins un certain nombre de participants et englobant la position exacte dudit participant. La cellule géographique ainsi que les adresses de chaque participant s’y trouvant sont envoyées audit participant. Ledit participant sélectionne un participant et lui transfert via son adresse la requête de sa position provenant du serveur de l’application. Le participant sélectionné à son tour envoie directement sa position au serveur de l’application. De cette manière, ledit participant effectuant une demande de service via l’application n’enverra jamais sa position exacte au serveur de l’application et pourra protéger sa vie privée. Par contre, la vie privée d’un participant est compromise si l’entité tierce d’anonymisation parvient à être corrompu car celle-ci a accès à la position exacte, ainsi que les adresses, de tous les participants.
Il existe également des techniques de protection de la vie privée basées sur le principe de confidentialité différentielle. Ce principe protège les données d’un individu dans une base de données statistique. Un algorithme est dit de confidentialité différentielle si la modification ou l’exclusion des données d’un participant donné, a un impact négligeable sur l’agrégation des données de toute la base (« Differential privacy », Cynthia Dwork, ICALP 2006 ou le brevet US7653615B2). Dans ce cas, il s’agit donc de l’indiscernabilité d’une donnée. Souvent, les techniques basées sur la confidentialité différentielle consistent à ajouter un bruit aléatoire et contrôlé aux données avant de faire l’agrégation. Le défi de ces techniques est d’assurer un bon compromis entre l’utilité et le niveau de confidentialité de la donnée.
Dans le contexte des services basés sur la géolocalisation, en particulier des services fournissant une information sur les points d’intérêt à proximité de la position actuelle d’une personne, une technique basée sur la confidentialité différentielle pour protéger la localisation de la personne consiste à envoyer au serveur une requête couvrant une zone de recherche plus large. Les résultats retournés par le serveur peuvent être ensuite filtrés au niveau du terminal mobile pour raffiner la recherche. Ainsi, la personne a quand même des résultats précis, sans compromettre sa position exacte (voir l’article « Geo-Indistinguishability : Differential Privacy for Location-Based Systems », Miguel Andrés et. al., Proceedings of the 2013 ACM SIGSAC conference on Computer & Communications Security). Cette technique n’est pas adaptée pour la collecte des données de trajectoires car la corrélation temporelle des données, même bruitées, permet quand même de reconstruire les habitudes de déplacement d’un participant.
Le brevet US20130145473A1 présente une autre méthode d’anonymisation basée sur la confidentialité différentielle d’une base de données déjà établie contenant des informations spatiales. Cette technique permet de répartir les données spatiales dans des grilles puis pour chaque grille, un bruit est calculé puis appliqué à l’ensemble des positions spatiales qui s’y trouvent afin de les anonymiser. Le problème de cette technique concerne l’exploitabilité des données anonymisées car leur précision est impactée par le processus d’anonymisation. Dans le cas d’un système de collecte de données statistiques, anonymiser les données via cette technique pourrait biaiser fortement les statistiques issues de ces données.
De tout ce qui a été mentionné précédemment, nous pouvons déduire que les différentes techniques basées sur la confidentialité différentielle ne sont pas adaptées pour la collecte statistique des données de déplacement.
Une autre solution pour garantir l’anonymat des participants dans un système de collecte est d’utiliser un serveur dit serveur d’anonymisation jouant le rôle de médiateur entre les participants et le serveur de collecte. Ledit serveur d’anonymisation est dit de confiance pour masquer l’identité du participant à chaque échange de ce dernier avec le serveur de collecte. Cette technique souffre du même problème de ré-identification que les techniques de pseudo-anonymisation face aux données de haute dimension, telles que les données de géolocalisation. Ceci dû à la forte unicité de ce type de donnée.
Selon ladite approche, le brevet WO2013182639A1 décrit un procédé pour collecter des profils des utilisateurs mobiles d’une manière anonymisée, dans le but de diffuser des messages ciblés, par exemple une publicité personnalisée. La technique repose sur un serveur d’anonymisation interposé entre l’équipement connecté et le serveur de collecte. Ledit serveur d’anonymisation est la seule entité qui connaît l’identité du participant. Il se charge de chiffrer l’identité de l’équipement connecté à chaque échange entre ce dernier et le serveur de collecte. Ce schéma permet audit serveur de collecte de connaître le profil du participant sans pouvoir connaître l’identité de ce dernier. Néanmoins, cette technique ne suffit pas pour anonymiser des données de haute dimension ou des données de géolocalisation car l’unicité de ce type de donnée permet de retrouver assez facilement l’identité d’un participant.
Le brevet US20150079932A1 propose une méthode pour anonymiser l’historique de localisation d’un mobile en se basant sur la détection des points stationnaires, la solution consiste à stocker les localisations dans un premier temps dans une base de données temporaire (en quarantaine) pendant une semaine par exemple avant de les exporter sur la base de données long terme. Après avoir récolté des localisations sur un mobile donné sur la base de données de quarantaine, une procédure de détection de tous les points stationnaires (maison, travail, etc.) sensibles en matière de vie privée est effectuée. Une fois ces points stationnaires détectés, un processus de nettoyage permettant de les remplacer par une seule position est effectué. Les données traitées sont enfin exportées vers la base de données long terme. La vulnérabilité de cette technique se caractérise par l’accès à la base de données de quarantaine par une personne malhonnête qui parviendrait à avoir accès aux données personnelles des utilisateurs.
Le brevet WO2014110647A1 présente une technique qui consiste à appliquer une modification, par exemple, une troncature ou un arrondissement, à la géolocalisation d’un utilisateur en prenant en compte l’indication de son degré de confidentialité. Le degré de confidentialité est défini en fonction soit d’une mesure de distance, d’une mesure d’angle ou d’une valeur sélectionnée par l’utilisateur. Cette technique ne peut garantir l’anonymisation de la collecte statistique des données de déplacement car la corrélation temporelle entre les données de géolocalisation consécutives peut révéler l’identité d’un participant, comme mentionné précédemment. D’ailleurs, la technique ne permet pas d’obtenir un bon compromis entre l’utilité de la donnée et le niveau de protection de la vie privée.
Dans le cas des services basés sur la localisation, le brevet WO2012087296A1 présente une technique qui consiste à associer la position réelle de l’utilisateur à un ensemble de fausses positions générées à partir de celle-ci. Toutes les positions y compris celle de l’utilisateur sont envoyées au serveur pour exécuter le service demandé. Une fois le service traité, les réponses associées à chaque position sont renvoyées à l’utilisateur qui à partir de sa position réelle identifie la réponse adéquate. Cette technique permet certes de garantir la confidentialité de la position d’un utilisateur vis-à-vis du serveur mais n’est pas adaptée dans le cadre d’une collecte statistique. En effet, utiliser cette technique reviendrait à envoyer au serveur de collecte des fausses données qui biaiseront les statistiques.
Malgré de nombreuses solutions proposées pour protéger la confidentialité des données, la plupart des solutions souffrent du même problème technique. En effet, elles partent du principe que les serveurs d’anonymisation ou de calculs sont des entités de confiance sans répondre vraiment à la question sur l’authentification et la certitude des calculs réalisés. Il est nécessaire de se protéger contre toute attaque qui pourrait provenir des serveurs malintentionnés.
Une solution serait de vérifier la certitude de toutes les informations issues de ces serveurs. Plusieurs travaux (voir l’article « Authenticating query results in edge computing », HweeHwa Pang et Kian-Lee Tan, ICDE 2014, ou l’article « Aggregate and verifiability encrypted signatures from bilinear maps », Dan Boneh et. al., EUROCRYPT 2003) se sont intéressés à ce type de problème et ont proposé des méthodes d’authentification des services basés sur la localisation. Ces méthodes se focalisent sur l’utilisation des signatures électroniques basées sur la cryptographie asymétrique où l’idée est de signer toutes les informations qui sont transmises au serveur par les équipements connectés. De cette manière, le serveur ne contient que des informations certifiées ou signées par les équipements connectés. Alors, lorsqu’une requête est effectuée par un équipement connecté au serveur, le serveur lui retourne en plus du résultat de la requête toutes les preuves permettant de prouver l’authenticité dudit résultat.
Dans l’article « Authenticating Location-based Services without Compromising Location Privacy », Haibo Hu et. al., ACM SIGMOD 2012, les auteurs stipulent que les techniques citées précédemment sont insuffisantes car elles permettent certes de vérifier l’exactitude des informations mais pas leur complétude car le serveur peut délibérément omettre des informations sans le notifier. De plus, les auteurs indiquent que ces techniques supposent que l’équipement connecté est de confiance car les informations qui lui sont retournées pour l’authentification des résultats sont signées mais non chiffrées. Dans ce cas de figure, un équipement connecté a donc la possibilité d’accéder aux données personnelles d’autres équipements connectés et cela pourrait compromettre la vie privée de ceux-ci. Ils présentent alors une technique permettant aux équipements connectés de vérifier à la fois la complétude et l’exactitude des résultats retournés par le serveur. Les données personnelles sont d’abord signées par une entité de confiance, puis chiffrées par le serveur via une technique de chiffrement homomorphe. En recevant les données chiffrées et signées qui servent de preuve, l’équipement connecté peut vérifier la complétude et l’exactitude du résultat, sans avoir accès aux données personnelles des autres équipements connectés. On retrouve la même technique, des mêmes auteurs, décrite dans le brevet US9043927B2.
Malgré tout, les techniques citées précédemment permettent seulement de résoudre le problème de l’authentification des informations provenant du serveur. Elles ne permettent pas de garantir la confidentialité des données personnelles dans le cas d’un serveur compromis ou malintentionné car ce dernier a bien accès aux données personnelles, en clair, des équipements connectés.
Toujours selon l’hypothèse des serveurs compromis ou malintentionné, des techniques de cryptographie dite techniques de chiffrement homomorphe ont été proposées (voir « A fully homomorphic encryption scheme », Craig Gentry, thèse de doctorat, université de Stanford, 2009 ou article « Public-Key Cryptosystems Based on Composite Degree Residuosity Classes », Pascal Paillier, ACM EUROCRYPT 1999). Elles sont plus utilisées dans les systèmes de type cloud computing et permettent d’assurer la confidentialité des données qui sont envoyées au serveur à des fins de calculs. En effet, la particularité de ces techniques se base sur la capacité du serveur distant à pourvoir réaliser des opérations mathématiques, dont le type est spécifique à chaque technique, sur des données chiffrées. De cette manière, le serveur n’a aucune connaissance sur les données qu’il manipule. Néanmoins, cette technique nécessite d’être complémentée par d’autres techniques, afin de résoudre les problèmes mentionnés.
Le problème de l’anonymat d’une communication peut être résolu en utilisant des réseaux de communication anonymes. En effet, ces réseaux décentralisés permettent d’anonymiser l’origine (l’adresse IP) d’un paquet en le chiffrant plusieurs fois à travers des routeurs d’un chemin aléatoire (voir l’article « Tor : The Second-Generation Onion Router », Syverson et. al., 13ème USENIX Security Symposium, 2004). Cette technique peut être utilisée par exemple pour anonymiser les échanges entre les équipements connectés et les serveurs.
Parmi les solutions qui tentent de résoudre plusieurs problèmes mentionnés ci-dessus, on trouve PrivStats (voir l’article « Privacy and Accountability for Location-based Aggregate Statistics », Raluca Ada Popa et. al., ACM CCS 2011). Les auteurs proposent un système de collecte et d’agrégation des données de géolocalisation en se basant sur un modèle de menace dit « zero trust », qui consiste à ne faire confiance à aucune des parties du système, y compris le serveur de collecte et les équipements connectés. En utilisant ladite technique de chiffrement homomorphe, le serveur de collecte agrège les données chiffrées envoyées via un réseau anonyme par les équipements connectés. Le serveur doit ensuite faire appel à certaines entités désignées possédant la clé de déchiffrement, qui peuvent être des équipements connectés, pour récupérer le résultat de l’agrégation qu’il a effectué. Ce schéma repose sur une phase de « boostrap » permettant de désigner ces derniers et de partager entre eux les clés de chiffrement homomorphe. Chaque équipement connecté (client) joignant le système reçoit la clé de chiffrement via une entité désignée. Les équipements connectés désignés ont également la capacité d’auditer le serveur de collecte, afin de vérifier la certitude des agrégations effectuées par ce dernier.
Néanmoins, cette solution n’empêche pas l’envoi de données dont l’unicité permettrait d’identifier une personne durant un déplacement (voir l’article « Unique in the Crowd : The privacy bounds of human mobility », Yves-Alexandre de Montjoye et. al., Scientific Reports, 2013). En effet, les données sont transmises sans garantie de k-anonymisation ou de confidentialité différentielle.
Par ailleurs, cette solution n’explique pas comment distribuer les clés de chiffrement homomorphe aux équipements connectés sans risquer de les exposer à une partie malveillante.
Problème technique de l’art antérieur
Dans le cadre d’un traitement de données numériques provenant des équipements connectés, en particulier d’une collecte statistique des données relatives au déplacement des personnes, les solutions de l’art antérieur ne permettent pas de garantir à la fois l’anonymisation des déplacements afin de préserver la vie privée des participants, et la précision du résultat des traitements statistiques. En effet :
  • Les contraintes d’anonymat impliquent le retrait d’informations signifiantes des données natives avant leur transmission à un serveur d’agrégation. Les données brutes sont transmises sous une forme plus ou moins dégradées pour respecter les contraintes d’anonymisation, puis agrégées par le serveur, avec bien sûr des informations moins riches ne permettant pas de tirer pleinement profit des données captées par les équipements connectés.
  • La vulnérabilité face aux attaques du serveur de collecte offre à l’attaquant, et plus simplement aux gestionnaires légitimes du serveur ou des données, la possibilité d’identifier un participant du fait de l’unicité et de la corrélation temporelle forte de ce type de données.
Solution apportée par l’invention
La présente invention concerne, selon son acceptation la plus générale, un procédé et système de traitement des données numérique, en particulier un procédé et système de collecte et de traitement des données statistiques anonymisées liées aux déplacements des personnes et garantissant, par design, la protection de la vie privée. L’invention vise à apporter une solution technique pour, à la fois, obtenir une meilleure précision possible des statistiques, et respecter la vie privée des participants. On entend par « meilleure précision possible » d’une information, une diminution de la précision suffisante pour que pour toutes les informations dégradées (c’est-à-dire avec la précision diminuée) disponibles, au moins personnes correspondent à la même information.
Par exemple, les coordonnées spatiales de plusieurs personnes se déplaçant dans une même zone sera déterminée avec un nombre de décimales, et donc une précision telle que pour chaque valeur, plusieurs personnes correspondent à la même valeur. La « meilleure précision » dépend donc du nombre de personnes présentes : si le nombre de personnes est réduit, la « meilleure précision » de la valeur généralisée sera étendue à une large zone spatiale ou temporelle, par exemple de l’ordre d’une agglomération urbaine ou d’une journée entière, alors que si la population est plus nombreuse, par exemple plusieurs milliers de personnes, la « meilleure précision » de la valeur généralisée sera plus étroite : de l’ordre d’une rue à une heure.
Contrairement aux solutions de « cloud computing » mentionnées précédemment, dans la solution apportée par la présente invention, l’intelligence est déportée vers la périphérie du réseau, c’est-à-dire que tous les processus d’apprentissage automatique des habitudes de déplacement de personnes sont exécutés sur les équipements connectés. Cela permet à la fois, de réduire la charge de calcul au niveau des serveurs, mais surtout d’éviter que les serveurs aient accès aux données personnelles des individus.
La solution consiste en une combinaison de moyens techniques (équipements connectés portées par les participants et serveurs informatiques et de traitement informatique des données) pour satisfaire les conditions suivantes :
  • (i) Dans le système, le participant ne fait confiance ni au serveur qui collecte des statistiques, ni aux autres participants. Il ne veut divulguer aucune information liée à son identité et à sa vie privée. Le participant ne fait confiance au serveur que pour agréger des mesures sur l’ensemble des participants et calculer les statistiques.
  • (ii) Inversement, le serveur ne fait pas confiance aux participants, pour éviter qu’ils biaisent ses statistiques.
  • (iii) Toutes les données sensibles liées à l’identité ou à la vie privée d’une personne ne sortent jamais de l’équipement connecté.
  • (iv) Toutes les données transmises aux serveurs sont anonymisées.
  • (v) La seule chose que le serveur puisse apprendre des participants est une agrégation des mesures provenant de l’ensemble des participants.
  • (vi) L’équipement connecté a le contrôle sur ce qu’il souhaite divulguer. Le système est responsable de l’obtention d’une meilleure précision possible des statistiques, en fonction de ce que les participants divulguent.
La FIG.1 illustre la solution apportée par la présente invention. Le système qui décide de collecter une statistique (par exemple, la vitesse moyenne des personnes sur tous les axes routiers en France), active le module de collecte de ladite statistique au niveau des équipements connectés (101) et leur envoie des informations concernant cette collecte. Toutes les communications entre le serveur de collecte (109) et le participant s’effectuent via un réseau anonyme (108). Avantageusement, cela évite que le serveur (109) identifie la source de chaque message qu’il reçoit afin de traquer un équipement connecté (101), en utilisant par exemple les techniques de suivi d’adresse IP. En conséquence, ceci satisfait partiellement les conditions (i), (iii), (iv) et (v).
Le module de collecte fait appel aux capteurs embarqués pour la collecte des données brutes (100). Une donnée brute (100) correspond à une géolocalisation horodatée associée à une mesure (dans l’exemple précédent, la vitesse). Ces données sont ensuite stockées par un moyen de stockage disponible sur l’équipement connecté (101). Un module d’intelligence artificielle (102) récupère ces données pour entrainer un modèle d’apprentissage automatique. Ce dernier permet de reconnaitre des schémas de déplacement et d’en déduire des habitudes de déplacement du participant. Le module intelligent (102) se charge également de calculer les mesures pour chaque déplacement, propres au participant, par exemple, la vitesse moyenne sur le trajet maison-travail. Ces mesures sont stockées via le moyen de stockage sur l’équipement connecté (101). En fonction des habitudes détectées, le module intelligent (102) définit lui-même le niveau de confidentialité pour chaque mesure. Plus une habitude est répétée, par exemple son lieu d’habitation, son lieu de travail ou son trajet maison-travail, plus le niveau de confidentialité devrait être élevé. Avantageusement, cette technique permet de satisfaire les conditions (iii) et (vi).
Pour envoyer les mesures anonymisées au serveur de collecte (109), l’équipement connecté (101) et le serveur (109) suivent un procédé d’anonymisation (illustré par la FIG.4) sécurisé et garantissant la protection de la vie privée. D’abord, toutes les mesures sont chiffrées, de préférence, par un système de chiffrement homomorphe que seuls les équipements connectés (101) sont capables de déchiffrer. Le serveur (109) est capable de faire des opérations mathématiques (110) sur ces mesures chiffrées mais ne peut en aucun cas connaître leurs valeurs exactes. Avantageusement, cette technique permet de garantir que le serveur (109) peut effectuer des agrégations statistiques (111) sur des mesures sans connaitre leurs valeurs (condition (v)).
Un chiffrement homomorphe est un chiffrement qui possède certaines caractéristiques algébriques qui le font commuter avec une opération mathématique, c'est-à-dire que le déchiffrement du résultat de cette opération sur des données chiffrées donne le même résultat que cette opération sur les données non chiffrées ; cette propriété permet de confier des calculs à un agent externe, sans que les données ni les résultats ne soient accessibles à cet agent.
Avantageusement, la solution apportée par la présente invention protège la vie privée des participants par un mécanisme de généralisation (illustré par FIG.7). L’anonymat d’un participant par rapport à une mesure donnée est garanti par le principe de k-anonymat (illustré par FIG.8). En effet, le procédé d’anonymisation garantit que pour chaque mesure envoyée, il existe au moins autres participants qui ont envoyé la même mesure. Chaque mesure envoyée est généralisée, par exemple : une vitesse de 27 km/h est généralisée par une plage de valeurs allant de 20 à 30 km/h. En particulier, les données de géolocalisation sont généralisées par un système de zones hiérarchiques (illustré par FIG.7) dont le plus bas niveau correspond à une petite zone (par exemple une rue) et le plus haut niveau correspond à une zone très large (par exemple un pays). Chaque équipement connecté (101) envoie d’abord sa mesure avec le plus haut niveau de généralisation. Il n’accepte de descendre à un niveau inférieur que si le serveur lui prouve qu’il existe déjà autres équipements connectés avec une mesure similaire.
Pour prévenir le cas d’un serveur malintentionné qui pourrait tromper les équipements connectés (101) en leur envoyant des fausses informations, un équipement connecté (101) doit pouvoir vérifier et authentifier les informations que le serveur (109) lui envoie. Pour cela, un mécanisme d’authentification basé sur la cryptographie asymétrique et une entité tierce (105) est mis en place pour assurer que chaque mesure envoyée est authentifiable. Plus précisément, chaque équipement connecté (101) possède, en plus des clés de chiffrement homomorphe, des clés publiques et privées (104), générées et distribuées par l’entité tierce (105). L’équipement connecté (101) certifie l’origine de chaque mesure en la signant (106) par sa clé privée. Le serveur de collecte (109) doit prouver à un équipement connecté (101) l’exactitude du résultat de l’agrégation effectuée sur des mesures en lui envoyant, en plus dudit résultat de l’agrégation (111), différentes mesures chiffrées signées (107) par d’autres équipements connectés. Avantageusement, cette dernière technique permet de garantir entièrement les conditions (i), (iii), (iv), (v).
L’invention concerne selon son acceptation la plus générale un procédé de traitement de données numériques provenant d’équipements connectés, comportant les étapes suivantes :
  • des étapes d’acquisition, par chaque équipement connecté (101), d’informations locales, sans transmission à un équipement tiers connecté, et l’enregistrement dans une mémoire locale desdites informations,
  • l’exécution sur l’équipement connecté (101), d’un programme informatique d’intelligence artificielle (102), pour procéder d’une part à un traitement desdites informations enregistrées par le calculateur de l’équipement connecté (101) seulement d’apprentissage des habitudes du détenteur de l’équipement connecté et d’autre part à une production des mesures pour chaque caractéristique liée aux habitudes dudit détenteur,
  • un traitement, par le calculateur de l’équipement connecté (101) seulement, pour la généralisation desdites mesures, le chiffrement, préférentiellement homomorphe, des mesures généralisées, et un procédé de négociation entre ledit équipement connecté (101) et ledit serveur de collecte (109) pour une transmission chiffrée de mesures traitées à l’exclusion desdites mesures locales non traitées, les communications entre le serveur de collecte (109) et les équipements connectés (101) s’effectuant via un réseau anonyme (108),
  • et un procédé d’agrégation des informations numériques généralisées chiffrés provenant de différents équipements connectés.
Avantageusement ledit programme d’intelligence artificielle (102) consiste en un programme d’apprentissage non supervisé qui partitionne lesdites informations enregistrées.
Selon une variante, l’algorithme d’apprentissage non supervisé est un auto-encodeur caractérisé en ce que :
  • les données en entrée sont réparties sur des fenêtres de temps,
  • pour chaque fenêtre de temps, un vecteur est produit pour chaque dimension de donnée,
  • les vecteurs produits sont concaténés pour former un vecteur d’entrée audit auto-encodeur,
  • les vecteurs d’entrée sont de taille fixe ou variable,
  • l'encodeur produit pour chaque vecteur d’entrée une représentation compacte qui correspond à une habitude dudit détenteur dudit équipement connecté.
Selon une variante particulière, le programme informatique d’intelligence artificielle (102) comprend un algorithme d’apprentissage non supervisé qui est en mode en ligne ou hors ligne.
Selon une autre variante, ledit auto-encodeur est augmenté par une mémoire et un procédé de gestion de mémoire caractérisés en ce que, pour chaque nouvelle représentation compacte, ledit procédé identifie les différentes représentations compactes enregistrées dans la mémoire qui lui sont similaires. Si aucune n’est identifiée, ledit procédé enregistre la nouvelle représentation compacte. Dans le cas contraire, il les fusionne avec la nouvelle représentation compacte, et enregistre le résultat dans la mémoire.
Selon une autre variante, ledit programme informatique d’intelligence artificielle (102) comprend une pluralité de modules qui, à partir desdites informations enregistrées, détectent des caractéristiques liées aux habitudes dudit détenteur dudit équipement connecté.
Selon une autre variante, lesdits modules comprennent au moins :
  • un module de recalage cartographique multimodal et,
  • un module de détection de points d’intérêt et,
  • un module de prédiction du futur déplacement.
Selon une autre variante, ledit programme informatique d’intelligence artificielle (102) comprend, pour chaque module, un algorithme d’apprentissage supervisé qui approxime une fonction de prédiction desdites caractéristiques liées aux habitudes dudit détenteur dudit équipement connecté à partir desdites informations enregistrées.
Selon une autre variante, lesdits modules peuvent être désactivés une fois lesdits algorithmes d’apprentissage supervisé entrainés.
Selon une autre variante, le procédé de négociation est caractérisé en ce que le niveau de confidentialité d’une mesure correspond à un entier qui représente le seuil minimum du nombre d’équipements connectés traitant ladite mesure.
Selon une autre variante, le niveau de confidentialité est défini soit par le procédé, soit par le détenteur dudit équipement connecté et un niveau de confidentialité est défini pour chaque mesure.
Selon une autre variante, le procédé de généralisation de mesures est caractérisé en ce que :
  • toutes les mesures appartiennent à un espace ,
  • l'espace structuré en niveaux hiérarchiques ,
  • est d’abord partitionné en sous-espaces contiguës, où ,
  • pour chaque niveau , un sous-espace est subdivisé en sous-espaces contiguës,
  • la généralisation d’une mesure à un niveau consiste à remplacer la mesure par le sous-espace de niveau qui contient la mesure.
Selon une autre variante, le procédé de négociation est caractérisé en ce que :
  • une entité tierce de confiance (105) certifie un équipement connecté (101) et ledit serveur de collecte (109) en générant respectivement une paire de clés (104) publique et privée et ,
  • ladite entité tierce distribue les clés audit serveur de collecte (109), ainsi que la clé aux équipements connectés (101),
  • une paire de clés publique et privée est partagée entre tous les équipements connectés (101),
  • l'équipement connecté (101) utilise la clé pour chiffrer une mesure et sa clé pour la signer et envoie la mesure chiffrée et signée au serveur de collecte (109),
  • le serveur de collecte (109) vérifie, via l’entité tierce (105), que la mesure provient d’un équipement connecté (101) certifié,
  • l'équipement connecté (101) vérifie, via l’entité tierce (105), que les messages qu’il reçoit proviennent d'une entité certifiée.
Selon une autre variante, les échanges entre les équipements connectés (101) et le serveur de collecte (109), ou entre les équipements connectés (101), s’effectuent via un réseau anonyme (108).
Selon une autre variante, les procédés de généralisation, de négociation et d’agrégation sont caractérisés en ce que ladite négociation comporte les étapes suivantes :
  • l'équipement connecté (101) envoie au serveur de collecte (109) la mesure généralisée, chiffrée et signée (107)
,
  • le serveur de collecte (109) authentifie la mesure reçue et ainsi obtient la mesure chiffrée sans la signature
,
et sauvegarde la paire
,
grâce à un moyen de stockage,
  • un procédé de calcul, exécuté sur le serveur de collecte (109), effectue l’agrégation (110) sur ladite mesure chiffrée
,
et sauvegarde le résultat de ladite agrégation,
  • à la demande de l’équipement connecté (101), le serveur de collecte (109) lui renvoie ledit résultat de ladite agrégation qu’il signe pour obtenir
,
  • l'équipement connecté (101) authentifie et déchiffre, le cas échéant, le résultat de l’agrégation de ladite mesure généralisée chiffrée et obtient
.
  • Dans le cas d’un comptage, si le résultat est inférieur à , l’équipement connecté (101) recommence une nouvelle négociation avec le même niveau de généralisation. Si le résultat est supérieur ou égale à , l’équipement connecté (101) demande au serveur de lui envoyer au moins différentes mesures chiffrées signées pour ledit résultat,
    • le serveur de collecte (109), effectue une recherche dans sa base de données, afin de trouver différentes mesures chiffrées signées et les renvoie à l’équipement connecté (101),
    • l’équipement connecté (101), une fois avoir reçu les différentes mesures chiffrées signées, les authentifie. Si le niveau de généralisation est au plus bas, l’équipement connecté (101) envoie sa mesure en clair. Si non, l’équipement connecté (101) recommence une nouvelle négociation avec un niveau de généralisation en dessous.
Selon une autre variante, les procédés de généralisation, de négociation et d’agrégation sont caractérisés en ce que ladite négociation comporte des étapes suivantes :
  • l'équipement connecté (101) envoie au serveur de collecte (109), pour chaque mesure M, ses généralisations sur plusieurs niveaux , chiffrées et signées
,
,
  • le serveur de collecte (109) authentifie les mesures généralisées chiffrées et signées
reçues pour obtenir les mesures généralisées chiffrées
et sauvegarde la paire
,
, [Math 4]
grâce à un moyen de stockage,
  • un procédé de calcul (110), exécuté sur le serveur de collecte (109), effectue des agrégations des mesures généralisées chiffrées reçues des différents équipements connectés ,
et sauvegarde les résultats desdites agrégations,
  • à la demande de l’équipement connecté (101), le serveur de collecte (109) lui renvoie les résultats des agrégations
qu’il signe pour obtenir
  • l'équipement connecté (101) authentifie et décrypte les résultat de l’agrégation
,
  • Dans le cas d’un comptage, l’équipement connecté (101) évalue les résultats correspondant à chaque niveau de généralisation puis sélectionne la mesure généralisée la plus précise avec un résultat supérieur à . Enfin, l’équipement connecté (101) demande au serveur de collecte (109) de lui envoyer au moins différentes mesures chiffrées signées pour ledit résultat,
    • le serveur de collecte (109), effectue une recherche dans sa base de données, afin de trouver différentes mesures généralisées chiffrées signées
et les renvoie à l’équipement connecté (101),
  • l’équipement connecté (101), une fois avoir reçu les différentes mesures généralisées chiffrées signées, les authentifie et envoie sa mesure généralisée en clair au dit serveur de collecte (109).
Selon une autre variante, les clés sont générées par un système de chiffrement homomorphe ou par un système de chiffrement asymétrique.
Selon une autre variante, les clés et sont générées par la même entité. Les clés et sont soit générées par des entités différentes ou par une même entité.
Selon une autre variante, les paires de clés et sont régénérées après un certain temps.
L’invention concerne aussi un système de traitement de données numériques provenant d’équipements connectés comportant les étapes suivantes :
  • des étapes d’acquisition, par chaque équipement connecté (101), d’informations locales, sans transmission à un équipement tiers connecté, et l’enregistrement dans une mémoire locale desdites informations,
  • l’exécution sur l’équipement connecté (101), d’un programme informatique d’intelligence artificielle (102), pour procéder d’une part à un traitement desdites informations enregistrées par le calculateur de l’équipement connecté (101) seulement d’apprentissage des habitudes du détenteur de l’équipement connecté et d’autre part à produire des mesures pour chaque caractéristique liée aux habitudes dudit détenteur,
  • un traitement, par le calculateur de l’équipement connecté (101) seulement, pour la généralisation desdites mesures, le chiffrement, préférentiellement homomorphe, des mesures généralisées, et un procédé de négociation entre ledit équipement connecté (101) et ledit serveur de collecte (109) pour une transmission chiffrée de mesures traitées à l’exclusion desdites mesures locales non traitées, les communications entre le serveur de collecte (109) et les équipements connectés (101) s’effectuant via un réseau anonyme (108),
  • et un procédé d’agrégation des mesures généralisées chiffrées provenant de différents équipements connectés.
Description détaillée d’un exemple non limitatif de l’invention
La présente invention sera mieux comprise à la lecture de la description qui suit, concernant un exemple non limitatif de réalisation illustré par les dessins annexés où :
représente l’architecture matérielle du système pour la mise en œuvre de l’invention,
représente le démarrage du système de collecte,
illustre certains modes de réalisation des procédés de collecte, d’apprentissage automatique et de mesure,
présente le procédé d’anonymisation,
illustre l’architecture fonctionnelle des procédés d’apprentissage supervisé et non-supervisé,
illustre l’architecture du module de l’apprentissage automatique non supervisé des déplacements,
illustre les niveaux de généralisation d’une mesure,
illustre le concept de k-anonymat,
illustre l’architecture du module d’apprentissage supervisé.
Contexte général de l’exemple de réalisation décrit
L’invention concerne un système informatique distribué et un ensemble de procédés pour collecter et traiter des statistiques anonymisées sur une population. En particulier, les modes de réalisation considérés décrits ci-dessous concernent des données de géolocalisation. Le but est d’obtenir des statistiques relatives aux déplacements de l’ensemble des participants. Ces statistiques peuvent être destinées à de nombreuses applications telles que les études de la santé publique, la gestion du trafic urbain ou les études de marketing.
Dans ce mode de réalisation non limitatif, chaque participant envoie au serveur de collecte (109) des mesures qu’il effectue sur ses déplacements. La mesure est associée donc à un endroit à un instant donné. Une mesure peut être non seulement dynamique, par exemple la vitesse de déplacement, le mode de transport pris, le rythme cardiaque, mais aussi statique, par exemple, le lieu d’habitation ou le lieu de travail. Une fois les mesures reçues par le serveur de collecte (109), il effectue une agrégation de ces mesures. Dans ce mode de réalisation considéré, le système informatique et l’ensemble des procédés permettent d’obtenir des statistiques de meilleures précisions, tout en respectant la vie privée des participants.
Bien que ce mode de réalisation considéré concerne les données de géolocalisation, les techniques présentées dans l’invention sont suffisamment génériques pour qu’un homme de métier puisse les appliquer sur d’autres types de données.
Architecture générale du système mise en œuvre par l’invention
Le système (illustré dans FIG.1) est constitué de plusieurs composantes dont : les équipements connectés (101), disposant des capteurs qui assurent le recueil des données de géolocalisation (100) tels que les téléphones ou ordinateurs portables, une application apte à être installée et exécutée sur l'équipement connecté (101) qui est dotée d’une intelligence artificielle (102) capable d’apprendre des habitudes liées aux déplacements des participants. Le système inclut également un serveur de collecte (109) qui reçoit des données chiffrées signées (106, 107) provenant des équipements connectés (101) via un réseau anonyme (108), et un module de calcul (110) qui permet d’effectuer des agrégations sur ces données et de sauvegarder les statistiques dans une base de données (111). Enfin, le système inclut une entité tierce de confiance (105) qui assure la gestion et la génération des clés de chiffrement pour les équipements connectés (101) et le serveur de collecte (109) afin de garantir la sécurité des échanges d’informations entre ces entités.
L’application mobile communique avec les différents capteurs soit en direct soit via le système d’exploitation mobile pour collecter des données de géolocalisation (100). Ces données sont ensuite stockées par les moyens de stockage internes disponibles sur l’équipement connecté (101). L’application mobile fait appel à son intelligence artificielle (102) qui, sur base des données de géolocalisation recueillies (100), procède à l’apprentissage automatique des habitudes de déplacement, ainsi que de produire des mesures des caractéristiques liées aux déplacements. Ces habitudes et mesures sont également stockées par les moyens de stockage internes qui peuvent contenir une méthode de chiffrement logicielle ou matérielle.
L’application mobile procède à l’envoi des mesures au serveur de collecte (109) en suivant un procédé d’anonymisation sécurisé. Tous les messages transmis par un équipement connecté (101) et destiné au serveur de collecte (109) sont chiffrés, signés (106) par l’émetteur et authentifié par l’entité tierce (105) à l’arrivé. Inversement, tous les calculs effectués par le module de calcul dudit serveur de collecte (109) sont vérifiables par l’équipement connecté (101). La seule information que le serveur de collecte (109) peut apprendre des participants est une statistique calculée sur un ensemble de participants.
1 Démarrage d’un équipement connecté
Lors du premier démarrage de l’application de l’équipement connecté (101) , l’entité tierce (105) certifie en lui générant une paire de clés (104) publique et privée unique . Le serveur de collecte (109) reçoit également de son côté sa paire de clés . Par ailleurs, l’application mobile génère elle-même par défaut une deuxième paire de clés à laquelle seuls les équipements connectés ont accès. Ainsi, tout équipement connecté (101) possède deux paires de clés, une paire de clés privée et publique partagée entre tous les équipements connectés et une deuxième paire de clés privée et publique propre à chacun.
Dans divers modes de réalisation, les clés sont générées à partir d’un système de chiffrement asymétrique.
Dans un mode de réalisation particulier l’entité tierce qui génère les clés est la même entité qui autorise l’application mobile à fonctionner sur un système d’exploitation particulier en s’assurant de l’origine (l’identité de l’auteur) de l’application (par exemple les « magasins d’applications mobiles » proposés par les constructeurs d’objets mobiles). Ces entités ayant la capacité technique à s’assurer que seules les applications mobiles signées par un auteur identifié puissent accéder à ces clés, sans pour autant donner accès aux clés à l’auteur des applications.
Dans un mode de réalisation particulier, les clés sont générées à partir d’un système de chiffrement homomorphe. Ce chiffrement possède des caractéristiques algébriques suivantes : le résultat déchiffré d’une opération mathématique sur des messages chiffrés est égal au résultat de la même opération effectuée sur des messages non chiffrés. Par exemple, un chiffrement homomorphe est dit additif si
et
sont respectivement deux messages chiffrés de et , et
.
Avantageusement, ce chiffrement permet au serveur de collecte (109) d’effectuer des agrégations statistiques (110) directement sur des mesures chiffrées, sans avoir accès au contenu de ces mesures. Ainsi, le serveur ne peut qu’apprendre une statistique calculée sur l’ensemble des participants et de cette manière, la vie privée des participants est protégée.
Le processus de démarrage du système est illustré par FIG.2.
2 Collecte, normalisation et vectorisation des données
Après la récupération des clés nécessaires au chiffrement des messages, l’application mobile procède à la collecte (300) des données de géolocalisation brutes (100). Pour cela, elle communique avec les différents modules contrôlant les capteurs de l’équipement connecté (101) afin de démarrer la collecte (300).
Le type de capteurs à solliciter dépend du type de la collecte (300). Ce dernier peut être préalablement enregistré dans un fichier de configuration stocké sur l’équipement connecté (101), ou transmis par le serveur de collecte (109) au démarrage de l’application mobile.
Dans divers modes de réalisation particulier, lesdites données de géolocalisation (100) sont collectées via différentes techniques par exemple, le GPS ou la triangulation de réseau (Wifi ou GSM/3G/4G), la navigation inertielle, ou le géo-repérage. Chaque technique a un impact différent sur la précision des données et la consommation d’énergie. Par exemple, le GPS offre une très bonne précision mais nécessite une forte consommation d'énergie. Contrairement au GPS, la triangulation de réseau consomme peu d'énergie mais offre une précision inférieure.
Dans un mode de réalisation particulier, une combinaison de ces différentes techniques permet d’obtenir un bon compromis entre la précision et la consommation d’énergie. Par exemple, en espaçant les appels GPS tous les 500 ou 1000 mètres par la technique de géo-repérage (qui consiste à définir une zone circulaire dont l’entrée ou la sortie est détectée via la triangulation de réseau), on obtient une trace de déplacement bien exploitable, tout en préservant la batterie de l’équipement connecté (101).
Les données de géolocalisation collectées (100) sont ensuite enregistrées dans l’ordre d’arrivé sur un moyen de stockage interne, par exemple une base de données, de l’équipements connecté (101). Elles sont supprimées après leur exploitation.
Selon certains modes de réalisation, une collecte statistique (300) correspond à une séquence d’observations sur les trajets d’un participant. En effet, la séquence de données horodatées collectées représente une séquence d’observations associées aux déplacements d’un participant pendant le temps de la collecte. Dans certains modes de réalisation, cette séquence, qu’on nomme (500), consiste au moins en éléments suivants
,
correspondent respectivement à la longitude, la latitude, ainsi qu’une observation (par exemple, la vitesse instantanée, le lieu d’habitation ou l’humeur) de la position d’un participant recueillis à l’instant de la collecte. Divers modes de réalisation sont illustrés par FIG.3. Dans un mode de réalisation particulier (l’architecture illustrée par FIG.5), ces données brutes sont d’abord traitées par une intelligence artificielle (102) en vue d’apprendre les habitudes de déplacement. Afin de faciliter cet apprentissage, les données collectées peuvent être réparties sur des fenêtres temporelles glissantes, par exemple d’une durée d’une heure, telles que
,
représente une fenêtre temporelle qui débute à et se termine à est la durée d’une fenêtre. Cette répartition peut être réalisée avec un indexage sur base des . Chaque fenêtre
,
,
est la i-ième observation de cette fenêtre. Notons que deux fenêtres consécutives peuvent se chevaucher.
Toujours dans ce mode de réalisation particulier, pour un meilleur apprentissage, il est nécessaire que lesdites données soient normalisées et vectorisées (600). En effet, la normalisation ou standardisation de données (feature scaling en anglais) permet d'ajuster une série de données afin de standardiser l’intervalle des valeurs de ses différentes dimensions. Cette phase est indispensable pour les algorithmes d’apprentissage automatique car elle permet une contribution équitable entre les différentes dimensions des données à l’apprentissage. Cela a pour but d’éviter par exemple qu’une dimension, dont l’intervalle des valeurs qui est très étendu, ait une plus forte influence sur l’apprentissage que les autres dimensions.
La donnée (500) étant composée de plusieurs dimensions à savoir les dimensions spatiales , la date et l’observation , sa normalisation combine différentes techniques de normalisation.
Selon un mode de réalisation particulier, les opérations de répartition, de normalisation, de vectorisation et de stockage sont effectuées au fur et à mesure de l’arrivé des données.
Dans un mode de réalisation particulier, les fenêtres d’une heure sont utilisées afin d’apprendre les habitudes de déplacement d’un participant selon l’heure et le jour de la semaine. Chaque fenêtre temporelle est normalisée et transformée en un vecteur dont le format est le suivant :
.
La normalisation de chaque dimension d’un élément de est réalisée de la manière suivante :
  • Dans divers modes de réalisation, les positions sont encodées et vectorisées par différents systèmes. Par exemple,
    • une position peut-être encodé en 12 bits par le système geohash (http://en.wikipedia.org/wiki/Geohash). Ce système est basé sur une fonction de hachage qui subdivise la surface terrestre selon une grille hiérarchique. Avantageusement, ce système permet de transformer facilement la donnée de deux dimensions en un seul vecteur de bits. Par ailleurs, l’utilisation de 12 bits pour l’encodage permet d’obtenir une erreur sub-métrique.
    • un autre système est basé sur des grilles ou cellules. Initialement, l’espace géographique est partitionné en un ensemble de cellules où chaque cellule est représentée par un identifiant . Une position spatiale est encodée par l’identifiant de la cellule dans laquelle elle se trouve. En conséquence, une séquence de positions spatiales
est encodée par une séquence de cellules .
  • La normalisation des jours de la semaine et l’heure est effectuée par une technique dite d’encodage one-hot qui consiste à représenter des états en utilisant pour chacun d’entre eux une valeur dont la représentation binaire ne contient qu’un seul chiffre 1.
    • Les jours ont 7 valeurs possibles dont 7 états allant du Lundi à dimanche. Les jours peuvent donc être encodés par un vecteur de bits de taille 7 suivant
.
Ainsi,
  • Les heures ont 24 valeurs possibles dont 24 états allant de 0h à 23h. Les heures peuvent donc être encodés comme un vecteur de bits de taille 24
.
Ainsi,
L’observation est normalisée via la technique dite de standardisation, qui consiste à soustraire la moyenne et diviser par l’écart type. Cette technique permet de ramener la moyenne des données à 0 et leur écart type à 1. Avantageusement, la moyenne et l’écart type peuvent être estimés d’une manière incrémentale au fur et à mesure de l’arrivée des données. Plus spécifiquement,
.
Une autre technique dite min-max consiste à calculer la norme de façon suivante
,
avec l’avantage que les valeurs sont représentées sur une échelle de 0 à 1.
Selon un mode de réalisation particulier, pour que tous les vecteurs aient la même taille, ce qui facilite l’apprentissage, la technique zero-padding peut être appliquée. Cette dernière consiste à ajouter les éléments 0 à un vecteur jusqu’à ce qu’on obtienne une taille maximum prédéfinie.
3 Apprentissage automatique des habitudes
Le but de cette étape est de détecter directement sur l’équipement connecté (101), à partir des données représentées sous forme de vecteurs normalisées (607) dans l’étape précédente, des comportements de déplacement similaires du participant. Un comportement correspond soit à un point d’intérêt, si le vecteur représente une stationnarité, soit à un trajet, si le vecteur représente un déplacement. Pour cela, un algorithme de partitionnement est utilisé pour répartir l’ensemble des vecteurs (607) dans différents groupes où les vecteurs appartenant à un même groupe partagent des caractéristiques communes, par exemple une stationnarité à la station de Métro de Chatelet-les-Halles entre 9h et 10h tous les lundis, ou un déplacement entre Boulevard Haussmann et l’Opéra de Paris, entre 19h et 20h tous les soirs de la semaine. Dans un mode de réalisation particulier, ce processus est implémenté par un algorithme dit « en ligne » ou incrémental, dans lequel le partitionnement est effectué au fur et à mesure de l’arrivée des vecteurs (607). Dans un autre mode de réalisation, un algorithme « hors ligne » prend en entrée un ensemble de vecteurs.
Le partitionnement des données de géolocalisation, qui sont par nature éparses, irrégulières et bruitées reposera, dans le mode de réalisation considéré, sur une architecture de réseaux de neurones particulière dite auto-encodeur. Cette architecture apprend une fonction identité permettant de reproduire un vecteur d’entrée (607), en faisant d’abord une compression pour trouver une représentation de haut niveau (608) de ce dernier, puis la décompressant pour retrouver le vecteur d’entrée. Avantageusement, les vecteurs correspondant à un comportement particulier ont des représentations compactes (608) très similaires. L’auto-encodeur peut également, de manière avantageuse, partitionner des données non linéaires et bruitées.
Un auto-encodeur est composé d’une couche de neurones d’entrée, une couche de neurones de sortie et au moins une couche de neurones cachée. Les poids du réseau de neurones sont initialisés avec des valeurs aléatoires. L’apprentissage s’effectue d’une manière itérative dans laquelle chaque passage vers l’avant d’un vecteur d’entrée dans le réseau active différents neurones via des fonctions d’activation. L’écart (l’erreur quadratique) entre vecteur d’entrée et de sortie est ensuite calculée et retro-propagé vers l’arrière. Via un algorithme du gradient, les poids sont mis à jour afin de minimiser cette erreur (606). Avantageusement, ce mode d’apprentissage itératif est particulièrement adapté pour un fonctionnement en mode en ligne dans lequel les vecteurs arrivent au fur et à mesure de la collecte.
Les couches d’un auto-encodeur sont organisées en trois composantes principales suivantes :
  • un encodeur (601) qui correspond à une pile de couches dont le nombre de neurones diminue progressivement, permettant de « compresser » le vecteur d’entrée (607) pour obtenir sa représentation de haut niveau (608),
  • une couche latente (également appelée la représentation latente ou compacte) qui contient la représentation de haut niveau (608) du vecteur d’entrée (607),
  • un décodeur (603) qui correspond à une pile de couches dont le nombre de neurones augmente progressivement permettant de « décompresser » la représentation compacte (608).
Le nombre et la topologie des couches, le nombre de neurones dans une couche particulière, la fonction de coût ainsi que la méthode du gradient font partie des paramètres dudit auto-encodeur. Dans un mode de réalisation particulier, l’architecture dudit auto-encodeur est caractérisée par :
  • une couche d’entrée composée de 128 neurones activés par une fonction Unité de Rectification Linéaire (ReLU),
  • une couche cachée composée de 64 neurones activés par une fonction ReLU,
  • une deuxième couche cachée composée de 2 neurones activés par une fonction linéaire (le goulet d'étranglement du réseau),
  • une troisième couche cachée composée de 64 neurones activés par une fonction ReLU,
  • une couche de sortie composée de 128 neurones activés par une fonction ReLU.
  • la fonction de coût à minimiser, qui correspond à l’erreur quadratique produit par les vecteurs d’entrée et de sortie,
  • l'algorithme du gradient utilisé pour minimiser la fonction de coût, qui correspond à l’algorithme Adaptive Moment Estimation (ADAM).
Notons que dans cette architecture, la représentation compacte est codée en seulement 2 dimensions.
Dans un mode de réalisation particulier, lesdits paramètres sont écrits initialement dans un fichier stocké dans un moyen de stockage de l’équipement connecté (101). Au premier démarrage de l’équipement connecté (101), un procédé d’apprentissage qu’on nomme NON_SUPERVISÉ (302), implémenté sous forme d’un programme informatique, lit ledit fichier et procède à la création dudit auto-encodeur. Dans un mode de réalisation particulier, par soucis de consommation d’énergie, l’apprentissage est effectué par intermittence lorsque l’équipement connecté (101) est branché sur secteur. Après chaque itération d’apprentissage, l’état actuel dudit auto-encodeur (le poids de ses neurones) est sauvegardé dans le moyen de stockage de l’équipement connecté (101). Le branchement sur secteur réveille ledit procédé d’apprentissage NON_SUPERVISÉ (302), qui à son tour charge l’état actuel dudit auto-encodeur. Ledit procédé effectue ensuite une requête pour récupérer tous les nouveaux vecteurs dans la base de données de l’équipement connecté (101). Une fois tous lesdits vecteurs sont passés par l’auto-encodeur, le procédé sauvegarde à nouveau son état.
Dans un mode de réalisation particulier, afin d’accélérer l’apprentissage, ledit auto-encodeur est augmenté par une mémoire (605). Cette dernière permet de fusionner (602) une nouvelle observation avec les observations similaires du passé et ainsi rend l’apprentissage plus précis et plus rapide. La mémoire (605) est implémentée sous forme d’une liste desdites représentations compactes (608) stockées dans le moyen de stockage de l’équipement connecté (101). Dans ce mode de réalisation, ledit procédé d’apprentissage NON_SUPERVISÉ (302), avant chaque décodage d’une représentation compacte (608), procède à une lecture de ladite liste et récupère les représentations compactes (608) qui lui sont similaires. La similarité entre deux représentations compactes (608) est définie comme une distance euclidienne entre deux vecteurs, à savoir
.
Si aucune représentation compacte similaire n’est trouvée, ledit procédé d’apprentissage enregistre la nouvelle représentation compacte (608) dans la liste. Dans le cas contraire, il procède à une fusion (602) qui correspond à une combinaison linéaire des vecteurs, à savoir
,
est le nombre de représentations à fusionner. Le procédé enregistre ensuite la fusion dans la liste.
Le procédé d’apprentissage NON_SUPERVISÉ (302) est illustré par FIG.6.
4 Mesures
Un deuxième procédé, nommé MESURE (301), est exécuté en parallèle avec le procédé NON_SUPERVISÉ (302) sur l’équipement connecté (101). Ces deux procédés sont indépendants.
Le procédé MESURE (301) est composé de différents modules de mesure (503) correspondant aux différentes fonctionnalités du système. Dans divers modes de réalisation particulier, ces modules incluent par exemple :
  • un module de recalage cartographique qui projette les données de géolocalisation sur une carte géographique numérique,
  • un module de détection des points d’intérêt du participant,
  • un module de prédiction des déplacements futurs du participant.
Ces différents modules (503) utilisent toutes les données de géolocalisation brutes (100), mais fonctionnent d’une manière indépendante. Ils ont leurs propres espaces de mémoire dans le moyen de stockage interne de l’équipement connecté (101) pour stocker leurs propres paramètres et données.
Dans divers modes de réalisation, cette indépendance permet avantageusement d’activer et de désactiver les différents modules selon les besoins du système. Par exemple, dans le cas où les mesures à collecter sont le nombre de personnes à un endroit donnée à un instant donnée, ainsi que leur provenance (les lieux d’habitation et de travail), les modules à activer sont le recalage cartographique et la détection des points d’intérêt.
Les modules sont implémentés et désactivés par défaut. Au premier lancement de l’application mobile, le procédé MESURE (301) charge un fichier de configuration qui contient la liste des modules à utiliser afin de pouvoir les activer.
Dans un mode de réalisation particulier, par souci de consommation d’énergie, le procédé MESURE (301) reste inactif la plupart du temps et ne fait appel aux modules que par l’intermittence, quand l’équipement connecté (101) est branché sur secteur. Quand l’équipement connecté (101) est débranché du secteur, le procédé MESURE (301) enregistre les états des différents modules (503) dans leurs espaces de mémoire et arrête les modules (503). Quand un module est réveillé, le procédé MESURE (301) charge son dernier état et le module continue son travail en cours.
Dans divers modes de réalisation, le module de recalage cartographique est sollicité.
Ledit module de recalage cartographique prend en entrée une suite de données de géolocalisation et les projette sur une carte géographique numérique. Dans divers modes de réalisation, cette carte contient le réseau routier et ferroviaire. Plus spécifiquement, elle correspond à un graphe dans lequel les nœuds correspondent aux intersections et les arêtes correspondent aux segments de route.
Ladite carte est préalablement générée sous forme d’un fichier binaire et fournie à la demande par le serveur de collecte (109). Sur l’équipement connecté (101), ledit fichier est stocké dans l’espace de stockage dédiée au module de recalage cartographique.
Dans divers modes de réalisation, ledit fichier contient une liste desdits nœuds et desdits arêtes, ainsi que leurs relations.
Dans un mode de réalisation particulier, par soucis d’optimisation de l’espace de stockage de l’équipement connecté (101), de la charge de communication ainsi que de la consommation d’énergie, ladite carte est divisée au niveau dudit serveur de collecte (109) en zones de petite taille. Ledit module de recalage cartographique, en fonction des données de géolocalisation qu’il reçoit en entrée, sélectionne les zones dont il a besoin et effectue une demande auprès dudit serveur de collecte (109) pour ces zones. La demande et le transfert des fichiers contenant ces zones peut s’effectuer quand l’équipement connecté (101) est branché sur secteur, et/ou connecté à un réseau particulier (3G, 4G, 5G et/ou Wi-Fi).
Dans divers modes de réalisation, le problème de recalage cartographique est modélisé par un modèle de Markov caché dans lequel chaque donnée de géolocalisation a plusieurs candidats qui correspondent aux segments de route. En connaissance des probabilités des candidats ainsi que des probabilités de transition entre les candidats consécutifs, un algorithme de Viterbi peut être appliqué pour retrouver la séquence de candidat la plus probable pour chaque séquence de données de géolocalisation.
Dans divers modes de réalisation, chaque module (503) activé sauvegarde le résultat de son traitement dans une base de données sur l’équipement connecté (101). Ledit procédé MESURE (301) est chargé de récupérer les différents résultats disponibles, de les combiner en fonction du type de collecte, d’en produire des mesures (504) destinées au serveur de collecte (109), et de les enregistrer par le moyen de stockage de l’équipement connecté (101).
Dans divers modes de réalisation, un troisième procédé, nommé SUPERVISÉ (304), permet d’optimiser en termes de consommation d’énergie la production des mesures (504) en connectant chaque dit module (503) à un module d’apprentissage supervisé (505). Les modules d’apprentissage supervisé (505) prennent en entrée les résultats (504) des modules de mesure et les données de géolocalisation brutes (500, 100) correspondantes. Selon un mode d’apprentissage en ligne ou hors ligne, un module d’apprentissage supervisé (505) arrive à approximer une fonction de prédiction desdites mesures (504) en fonction desdites données de géolocalisation brutes (500, 100). Avantageusement, lorsque l’apprentissage arrive à terme et caractérisé par une fonction de prédiction plus précise, les modules de mesure (503) peuvent être désactivés sans que cela n’impacte le fonctionnement du système. Cela a pour effet de minimiser la consommation d'énergie engendrée par lesdits modules de mesure (503).
Dans un mode de réalisation particulier, ces modules d’apprentissage supervisé (505) sont implémentés par des algorithmes d’apprentissage en séquence (sequence to sequence en anglais). Plus spécifiquement, ces algorithmes, très utilisés en traitement du langage naturel à des fins de reconnaissance de parole ou de traduction automatique, consistent en une architecture de réseaux de neurones comportant deux parties :
  • L’encodeur est implémenté par un réseau de neurones récurrent de type LSTM (Long Short-Term Memory). Il prend en entrée la séquence des données de géolocalisations brutes (500, 100) préalablement normalisées selon les techniques décrites précédemment pour en produire une représentation compacte de ces dites données sous forme de vecteur.
  • Le décodeur est implémenté par un réseau de neurones récurrent de type LSTM. Le but du décodeur est de pouvoir produire en sa sortie des mesures en fonction des représentations compactes des données de géolocalisation brutes (500, 100) obtenu à la sortie de l’encodeur. Il prend donc en entrée la représentation compacte d’une séquence de données de géolocalisation brutes (500, 100) puis la mesure produite à partir desdites données.
L’architecture d’un module d’apprentissage supervisé (505) est illustrée par FIG.9.
5 Généralisation des mesures
Afin de garantir une protection totale des données personnelles d’un participant, les différentes mesures (504) produites doivent être anonymisées avant leur envoi au serveur de collecte (109).
Selon un mode de réalisation particulier, l’anonymisation de ces mesures (504) est basée sur une technique dite de généralisation permettant aux équipements connectés (101) de préserver leur anonymat. Un procédé, nommé GÉNÉRALISATION, pour chaque mesure produite précédemment par le procédé MESURE (301) ou le procédé SUPERVISÉ (304), procède à sa généralisation, puis à l’enregistrement de la mesure généralisée via le moyen de stockage. Ladite généralisation est réalisée comme suit :
  • Généralisation :
La généralisation est un procédé qui vise à réduire la précision d'une mesure en modifiant son échelle ou son ordre de grandeur respectif. Elle s'applique aussi-bien sur des mesures définies sur une dimension que sur des mesures définies sur plusieurs dimensions.
Considérons une mesure , où est le nombre de dimension, la généralisation de est définie par
est un espace de dimensions tel que et appartient à .
Par exemple :
  • une généralisation d’une vitesse de 40 km/h consiste en l’intervalle 20-60 km/h,
  • une généralisation d’une présence à 9h32 à la Mairie de Paris consiste en la présence dans le Premier arrondissement de Paris entre 9h et 10h.
Selon divers modes de réalisation dans lesquels la généralisation concerne une donnée de géolocalisation, la forme géométrique de peut-être par exemple circulaire, rectangulaire, hexagonale ou des régions administratives comme Paris, Ile-de-France, France. Une adresse précise à 1 rue d’Uzès peut être généralisée par le 2èmearrondissement de Paris ou Paris ou Ile-de-France ou France.
Selon divers modes de réalisations dans laquelle la généralisation concerne un moment particulier, la période peut-être une minute, une heure ou une période définie par convention comme le weekend ou le matin.
Selon divers modes de réalisations dans laquelle la généralisation concerne un descriptif de personne, une donnée comme l’âge d’un participant peut être une tranche d’âge.
  • Généralisation multiniveau :
Selon un mode de réalisation particulier, une mesure peut être généralisée sur différentes échelles de manière à obtenir des mesures généralisées plus ou moins précises. Soit l’espace structurée en niveaux hiérarchiques, est d’abord partitionné en sous-espaces contiguës, où . Pour chaque niveau , un sous-espace est subdivisé en sous-espaces contiguës. La généralisation multiniveau d’un point au niveau est définie par
,
est le sous-espace du niveau qui contient .
Dans l’exemple précédent, si on considère comme la France, son partitionnement sur quatre niveaux consiste en des régions, des départements, des communes et des arrondissements. La position à 1 rue d’Uzès est généralisée au niveau 4 par France, au niveau 3 par Ile-de-France, au niveau 2 par Paris et au niveau 1 par le 2èmearrondissement.
Toujours selon ce mode de réalisation particulier, ce partitionnement hiérarchique est calculé préalablement par l’application mobile au démarrage de la collecte, puis stocké dans une base de données. Afin d’effectuer une généralisation de donnée, le procédé GÉNÉRALISATION prend comme entrée le paramètre et applique une recherche dans ladite base de données pour trouver le sous-espace au niveau qui contient la mesure. Le procédé GÉNÉRALISATION remplace ladite mesure par ce sous-espace. Il sauvegarde, le cas échéant, cette généralisation par le moyen de stockage.
Un exemple de généralisation multiniveau est illustré par FIG.7.
  • Généralisation suivant le concept du k-anonymat :
Selon un mode de réalisation particulier, ladite généralisation multiniveau est couplée avec une technique d’anonymisation. La généralisation à elle seule ne peut garantir une anonymisation complète des mesures produites. En effet, si l’on suppose que l’équipement connecté (101) envoie toujours des mesures généralisées uniques au serveur de collecte (109), par exemple un participant résidant dans un village avec très peu d’habitant qui envoie ses comptages de passage. A partir de la base de données du serveur de collecte (109), lesdites mesures pourront servir à isoler le participant dudit équipement connecté (101) afin de l’identifier. Par conséquent, les données personnelles du participant sont compromises.
Pour résoudre ce problème, un procédé nommé ANONYMISATION protège les données personnelles du participant en exploitant le concept du k-anonymat. Ledit procédé garantit que dans la base de données des mesures reçues par le serveur de collecte (109), il existe au moins participants qui soumettent la même mesure. De cette manière, une mesure généralisée ne peut être isolée afin d’identifier l'équipement connecté (101), et donc le participant, qui l’a envoyé au serveur de collecte (109).
Considérons les mesures généralisées , reçues des différents participants par le serveur de collecte (109). L’anonymat d’un participant à cette collecte par rapport à est garanti si et seulement s’il existe un niveau tel que
.
Le niveau de confidentialité dudit système de collecte est donc défini en fonction de .
Selon divers modes de réalisation, le niveau de confidentialité d’un participant peut être défini en fonction des mesures, par exemple, ses données sensibles telles que les lieux d’habitation et de travail peuvent être protégées avec un plus grand . D’autre part, le niveau de confidentialité d’un participant peut être défini par lui-même. Il peut être également estimé d’une manière automatique et dynamique par le procédé ANONYMISATION, décrit ci-dessous, à partir des habitudes de déplacement du participant détectés par le procédé NON_SUPERVISÉ (302).
Un exemple du k-anonymat est illustré par FIG.8.
6 Mécanisme d’anonymisation des mesures
Dans un mode de réalisation particulier, ledit procédé ANONYMISATION (illustré par FIG.4) consiste à envoyer une mesure audit serveur de collecte (109) tout en garantissant la sécurité et l’anonymat des données échangées. Dans ce procédé, il est supposé que chaque équipement connecté (101) possède deux paires de clés publiques et privées et et que le serveur dispose d’une paire de clés publique privée générées au démarrage du système.
Selon un mode de réalisation particulier, initialement, en fonction des habitudes de déplacement détectées par l’intelligence artificielle (102) (par exemple, maison, travail, lieu de passage fréquent, etc.), une valeur est définie par chaque équipement connecté (101) pour chaque mesure. Par exemple, la valeur de définie pour publier une mesure caractérisant une zone d’habitation d’un participant sera plus élevée que celle définie pour publier une mesure caractérisant un lieu de passage. La valeur donnée à a une influence sur le niveau de confidentialité d’une mesure. Ainsi, si est élevé (resp. bas), le niveau de confidentialité est beaucoup plus haut (resp. bas).
Le procédé ANONYMISATION assure en effet à travers une phase de négociation qu’une mesure généralisée transmise au serveur par un équipement connecté (101) garantit l’anonymat du dit équipement connecté (101) selon ledit concept du k-anonymat.
Selon divers modes de réalisation, la phase de négociation du procédé ANONYMISATION peut s’effectuer suivant plusieurs manières dont :
- une négociation partant du niveau de généralisation le plus bas de la mesure à envoyer,
- une négociation partant du niveau de généralisation le plus haut de la mesure à envoyer,
- une négociation simultanée de plusieurs niveaux.
Considérons le mode de réalisation dans lequel la négociation s’effectue à partir du niveau de généralisation le plus haut de la mesure.
Soit une mesure à envoyer au serveur de collecte (109) par un équipement connecté (101) .
Initialement, l’équipement connecté (101) réalise une généralisation au niveau , , de sa mesure via le procédé GENERALISATION. La mesure généralisée est ensuite chiffrée au moyen de la clé de chiffrement homomorphe pour obtenir
,
puis signée par la clé de chiffrement asymétrique pour obtenir
.
Ce dernier est ensuite envoyé au serveur de collecte (109) via un réseau anonyme (108).
A la réception de la mesure, le serveur de collecte (109) vérifie son authenticité au moyen de la clé de chiffrement asymétrique via l’entité tierce de confiance (105). Une fois l’authentification terminée, le serveur de collecte (109) obtient
,
puis enregistre la paire
,,
en utilisant un moyen de stockage, par exemple, une base de données.
Supposons qu’après ladite réception, le serveur a reçu des mesures
provenant des équipements connectés (101) . Selon divers modes de réalisation, le serveur de collecte (109) effectue une agrégation (110), par exemple, une somme, à savoir
.
Ledit serveur de collecte (109) enregistre le résultat de ladite agrégation via un moyen de stockage.
Après ledit envoi, l’équipement connecté (101) sollicite auprès du serveur de collecte (109) le résultat de ladite agrégation. Le serveur signe alors le résultat de l’agrégation au moyen de sa clé de chiffrement asymétrique , à savoir
.
Lorsque l’équipement connecté (101) reçoit ledit résultat, il vérifie d’abord son authenticité au moyen de la clé de chiffrement asymétrique via l’entité tierce de confiance (105). Ainsi, l’équipement connecté (101) obtient
.
Dans un mode de réalisation particulier où l’agrégation est un comptage, l’équipement connecté (101) vérifie si ladite agrégation est supérieur ou égal à prédéfini. Si
,
l’équipement connecté (101) recommence une autre phase de négociation avec le même niveau de généralisation après un certain temps, par exemple, 24 heures.
Dans le cas contraire, si
,
l’équipement connecté (101) vérifie l’intégrité du résultat de l’agrégation en demandant au serveur différents mesures généralisées chiffrées signées
.
Lorsque l’équipement connecté (101) reçoit les mesures généralisées chiffrées signées, il vérifie auprès de l’entité de confiance (105) leur authenticité puis valide le résultat. Une fois le résultat validé, l’équipement connecté (101) recommence une autre phase de négociation avec une mesure généralisée au niveau -1, à savoir , et descend progressivement le niveau de généralisation, jusqu’à atteindre dans le cas idéal le niveau de généralisation le plus bas qui garantirait son k-anonymat. À savoir,
.
Dès qu’un accord est trouvé, ledit équipement connecté (101) procède à l’envoi de sa mesure généralisée
.
Si en fin de période de négociation un équipement connecté (101) ne parvient pas à obtenir un résultat de l’agrégation supérieur à sur sa mesure généralisée la plus élevée, l’équipement connecté (101) annule l’envoi de ladite mesure généralisée au serveur.
Avantageusement, ce procédé permet de garantir le meilleur compromis entre la précision des mesures obtenues au niveau du serveur de collecte (109), et le respect de la vie privée des participants.
Pour éviter que l’équipement connecté (101) envoie plusieurs fois une même mesure dans le but de biaiser les statistiques, le serveur vérifie la duplication d’une mesure chiffrée signée. Dans le cas échéant, ledit serveur ignore les doublons.
Ledit procédé ANONYMISATION au niveau d’un équipement connecté (101) dans le cas d’un comptage est résumé par l’algorithme 1.

Claims (20)

  1. Procédé de traitement de données numériques provenant d’équipements connectés, comportant les étapes suivantes :
    • des étapes d’acquisition, par chaque équipement connecté (101), d’informations locales, sans transmission à un équipement tiers connecté, et l’enregistrement dans une mémoire locale desdites informations,
    • l’exécution sur l’équipement connecté (101), d’un programme informatique d’intelligence artificielle (102), pour procéder d’une part à un traitement desdites informations enregistrées par le calculateur de l’équipement connecté (101) seulement d’apprentissage des habitudes du détenteur de l’équipement connecté et d’autre part à produire des mesures pour chaque caractéristique liée aux habitudes dudit détenteur,
    • un traitement, par le calculateur de l’équipement connecté (101) seulement, pour la généralisation desdites mesures, le chiffrement, préférentiellement homomorphe, des mesures généralisées, et un procédé de négociation entre ledit équipement connecté (101) et ledit serveur de collecte (109) pour une transmission chiffrée de mesures traitées à l’exclusion desdites mesures locales non traitées, les communications entre le serveur de collecte (109) et les équipements connectés (101) s’effectuant via un réseau anonyme (108),
    • et un procédé d’agrégation des mesures généralisées chiffrées provenant de différents équipements connectés.
  2. Procédé de traitement de données numériques provenant d’équipements connectés selon la revendication 1 caractérisé en ce que ledit programme d’intelligence artificielle consiste en un programme d’apprentissage non supervisé qui partitionne lesdites informations enregistrées.
  3. Procédé de traitement de données numériques provenant d’équipements connectés selon les revendications 1 et 2 dans lequel le programme informatique d’intelligence artificielle (102) comprend un algorithme d’apprentissage non supervisé qui est un auto-encodeur caractérisé en ce que :
    • les données en entrée sont reparties sur des fenêtres de temps,
    • pour chaque fenêtre de temps, un vecteur est produit pour chaque dimension de donnée,
    • les vecteurs produits sont concaténés pour former un vecteur d’entrée audit auto-encodeur,
    • les vecteurs d’entrée sont de taille fixe ou variable,
    • l'encodeur produit pour chaque vecteur d’entrée une représentation compacte qui correspond à une habitude dudit détenteur dudit équipement connecté.
  4. Procédé de traitement de données numériques provenant d’équipements connectés selon les revendications 1 et 2 dans lequel le programme informatique d’intelligence artificielle (102) comprend un algorithme d’apprentissage non supervisé qui est en mode incrémental/en ligne ou hors ligne.
  5. Procédé de traitement de données numériques provenant d’équipements connectés selon les revendications 1, 2 et 3 dans lequel ledit auto-encodeur est augmenté par une mémoire et un procédé de gestion de mémoire caractérisés en ce que, pour chaque nouvelle représentation compacte, ledit procédé identifie les différentes représentations compactes enregistrées dans la mémoire qui lui sont similaires. Si aucune n’est identifiée, ledit procédé enregistre la nouvelle représentation compacte. Dans le cas contraire, il les fusionne avec la nouvelle représentation compacte, et enregistre le résultat dans la mémoire.
  6. Procédé de traitement de données numériques provenant d’équipements connectés selon la revendication 1 caractérisé en ce que ledit programme informatique d’intelligence artificielle (102) comprend une pluralité de modules qui, à partir desdites informations enregistrées, détectent des caractéristiques liées aux habitudes dudit détenteur dudit équipement connecté (101).
  7. Procédé de traitement de données numériques provenant d’équipements connectés selon la revendication 6 caractérisé en ce que lesdits modules comprennent au moins
    • un module de recalage cartographique multimodal et,
    • un module de détection de points d’intérêt et,
    • un module de prédiction du futur déplacement.
  8. Procédé de traitement de données numériques provenant d’équipements connectés selon les revendications 1 et 6 caractérisé en ce que ledit programme informatique d’intelligence artificielle (102) comprend, pour chaque module, un algorithme d’apprentissage supervisé qui approxime une fonction de prédiction desdites caractéristiques liées aux habitudes dudit détenteur dudit équipement connecté (101) à partir desdites informations enregistrées.
  9. Procédé de traitement de données numériques provenant d’équipements connectés selon les revendications 1, 6 et 8 caractérisé en ce que lesdits modules peuvent être désactivés une fois lesdits algorithmes d’apprentissage supervisé entrainés.
  10. Procédé de traitement de données numériques provenant d’équipements connectés selon la revendication 1 dans lequel le procédé de négociation caractérisé en ce que le niveau de confidentialité d’une mesure correspond à un entier qui représente le seuil minimum du nombre d’équipements connectés traitant ladite mesure.
  11. Procédé de traitement de données numériques provenant d’équipements connectés selon la revendication 10 caractérisé en ce que le niveau de confidentialité est défini soit par ledit procédé ou par le détenteur dudit équipement connecté (101) et un niveau de confidentialité est défini pour chaque mesure.
  12. Procédé de traitement de données numériques provenant d’équipements connectés selon la revendication 1 dans lequel le procédé de généralisation de mesures est caractérisé en ce que:
    • toutes les mesures appartiennent à un espace
    • l'espace S structuré en H niveaux hiérarchiques {1,…, H }
    • S est d’abord partitionné en nHsous-espaces SH icontiguës, où i ∈ [2, nH],
    • pour chaque niveau h ∈ [2, H] , un sous-espace Sh iest subdivisé en nh-1 isous-espaces Sh-1 icontiguës,
    • la généralisation d’une mesure à un niveau h consiste à remplacer la mesure par le sous-espace Sh ide niveau h qui contient la mesure.
  13. Procédé de traitement de données numériques provenant d’équipements connectés selon la revendication 1 dans lequel le procédé de négociation est caractérisé en ce que :
    • une entité tierce (105) certifie un équipement connecté (101) et ledit serveur de collecte (109) en générant respectivement une paire de clés (104) publique et privée et ,
    • ladite entité tierce distribue les clés audit serveur de collecte (109), ainsi que la clé auxdits équipements connectés (101),
    • une paire de clés publique et privée est partagée entre lesdits équipements connectés (101),
    • l'équipement connecté (101) utilise la clé pour chiffrer une mesure et sa clé pour la signer et envoie la mesure chiffrée et signée au serveur de collecte (109),
    • le serveur de collecte (109) vérifie, via l’entité tierce (105), que la mesure provient d’un équipement connecté (101) certifié,
    • l'équipement connecté (101) vérifie, via l’entité tierce (105), que les messages qu’il reçoit proviennent d'une entité certifiée.
  14. Procédé de traitement de données numériques provenant d’équipements connectés selon la revendication 1 caractérisé en ce que les échanges entre les équipements connectés (101) et le serveur de collecte (109), ou entre les équipements connectés (101), s’effectuent via un réseau anonyme (108).
  15. Procédé de traitement de données numériques provenant d’équipements connectés selon les revendications 1, 10, 12, 13 et 14 dans lequel les procédés de généralisation, de négociation, et d’agrégation sont caractérisés en ce que ladite négociation comporte les étapes suivantes :
    • l'équipement connecté (101) envoie au serveur de collecte (109) la mesure généralisée, chiffrée et signée (107)
    • le serveur de collecte (109) authentifie la mesure généralisée chiffrée et signée reçue et ainsi obtient la mesure généralisée chiffrée sans la signature

    et sauvegarde la paire


    grâce à un moyen de stockage,
    • un procédé de calcul, exécuté sur le serveur de collecte (109), effectue l’agrégation (110) sur ladite mesure généralisée chiffrée

    et sauvegarde le résultat de ladite agrégation,
    • à la demande de l’équipement connecté (101), le serveur de collecte (109) lui renvoie ledit résultat de ladite agrégation qu’il signe pour obtenir

    l'équipement connecté (101) authentifie et déchiffre, le cas échéant, le résultat de l’agrégation de ladite mesure généralisée chiffrée et obtient
    .
    • Dans le cas d’un comptage, si le résultat est inférieur à , l’équipement connecté (101) recommence une nouvelle négociation avec le même niveau de généralisation. Si le résultat est supérieur ou égal à , l’équipement connecté (101) demande au serveur de collecte (109) de lui envoyer au moins différentes mesures chiffrées signées pour ledit résultat,
      • le serveur de collecte (109), effectue une recherche dans sa base de données, afin de trouver différentes mesures chiffrées signées et les renvoie à l’équipement connecté (101),
      • l’équipement connecté (101), une fois avoir reçu les différentes mesures chiffrées signées, les authentifie. Si le niveau de généralisation est au plus bas, l’équipement connecté (101) envoie sa mesure généralisée en clair. Si non, l’équipement connecté (101) recommence une nouvelle négociation avec un niveau de généralisation en dessous.
  16. Procédé de traitement de données numériques provenant d’équipements connectés selon les revendications 1, 10, 12, 13 et 14 dans lequel les procédés de généralisation, de négociation, et d’agrégation sont caractérisés en ce que ladite négociation comporte les étapes suivantes :
    • l'équipement connecté (101) envoie au serveur de collecte (109), pour chaque mesure M, ses généralisations sur plusieurs niveaux , chiffrées et signées

    où h ∈ [1, H]
    • le serveur de collecte (109) authentifie les mesures généralisées chiffrées et signées

    reçues pour obtenir les mesures généralisées chiffrées

    et sauvegarde les paires
    ,

    grâce à un moyen de stockage,
    • un procédé de calcul (110), exécuté sur le serveur de collecte (109), effectue des agrégations des mesures généralisées chiffrées reçues des différents équipements connectés ,

    et sauvegarde les résultats desdites agrégations,
    • à la demande de l’équipement connecté (101), le serveur de collecte (109) lui renvoie les résultats des agrégations

    qu’il signe pour obtenir
    • l'équipement connecté (101) authentifie et décrypte les résultats de l’agrégation
    ,
    • Dans le cas d’un comptage, l’équipement connecté (101) évalue les résultats correspondant à chaque niveau de généralisation puis sélectionne la mesure généralisée la plus précise avec un résultat supérieur à . Enfin, l’équipement connecté (101) demande au serveur de collecte (109) de lui envoyer au moins différentes mesures chiffrées signées pour ledit résultat,
      • le serveur de collecte (109), effectue une recherche dans sa base de données, afin de trouver différentes mesures généralisées chiffrées signées

    et les renvoie à l’équipement connecté (101),
    • l’équipement connecté (101), une fois avoir reçu les différentes mesures généralisées chiffrées signées, les authentifie et envoie sa mesure généralisée en clair audit serveur de collecte (109)
  17. Procédé de traitement de données numériques provenant d’équipements connectés selon les revendications 1et 13 caractérisé en ce que les clés sont générées par un système de chiffrement homomorphe ou par un système de chiffrement asymétrique.
  18. Procédé de traitement de données numériques provenant d’équipements connectés selon les revendications 1et 13 caractérisé en ce que :
    • les clés et sont générées par la même entité de confiance,
    • les clés et sont soit générées par des entités différentes ou par une même entité.
  19. Procédé de traitement de données numériques provenant d’équipements connectés selon les revendications 1 et 13 caractérisé en ce que les paires de clés et sont régénérées après un certain temps.
  20. Système de traitement de données numériques provenant d’équipements connectés comportant les étapes suivantes :
    • des étapes d’acquisition, par chaque équipement connecté (101), d’informations locales, sans transmission à un équipement tiers connecté, et l’enregistrement dans une mémoire locale desdites informations,
    • l’exécution sur l’équipement connecté (101), d’un programme informatique d’intelligence artificielle (102), pour procéder d’une part à un traitement desdites informations enregistrées par le calculateur de l’équipement connecté (101) seulement d’apprentissage des habitudes du détenteur de l’équipement connecté et d’autre part à produire des mesures pour chaque caractéristique liée aux habitudes dudit détenteur,
    • un traitement, par le calculateur de l’équipement connecté (101) seulement, pour la généralisation desdites mesures, le chiffrement, préférentiellement homomorphe, des mesures généralisées, et un procédé de négociation entre ledit équipement connecté (101) et ledit serveur de collecte (109) pour une transmission chiffrée de mesures traitées à l’exclusion desdites mesures locales non traitées, les communications entre le serveur de collecte (109) et les équipements connectés (101) s’effectuant via un réseau anonyme (108),
    • et un procédé d’agrégation des mesures généralisées chiffrées provenant de différents équipements connectés.
FR1902948A 2019-03-21 2019-03-21 Procédé et système de traitement de données numériques provenant d’équipements connectés en garantissant la sécurité des données et la protection de la vie privée Pending FR3094109A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1902948A FR3094109A1 (fr) 2019-03-21 2019-03-21 Procédé et système de traitement de données numériques provenant d’équipements connectés en garantissant la sécurité des données et la protection de la vie privée

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1902948A FR3094109A1 (fr) 2019-03-21 2019-03-21 Procédé et système de traitement de données numériques provenant d’équipements connectés en garantissant la sécurité des données et la protection de la vie privée
FR1902948 2019-03-21

Publications (1)

Publication Number Publication Date
FR3094109A1 true FR3094109A1 (fr) 2020-09-25

Family

ID=68138190

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1902948A Pending FR3094109A1 (fr) 2019-03-21 2019-03-21 Procédé et système de traitement de données numériques provenant d’équipements connectés en garantissant la sécurité des données et la protection de la vie privée

Country Status (1)

Country Link
FR (1) FR3094109A1 (fr)

Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002084531A2 (fr) 2001-04-10 2002-10-24 Univ Carnegie Mellon Systemes et procedes de desidentification dans une source de donnees d'entree
US7653615B2 (en) 2005-01-18 2010-01-26 Microsoft Corporation Preserving privacy when statistically analyzing a large database
WO2012087296A1 (fr) 2010-12-21 2012-06-28 Empire Technology Development Llc Informations factices pour confidentialité de localisation dans des services basés sur la localisation
US8429103B1 (en) * 2012-06-22 2013-04-23 Google Inc. Native machine learning service for user adaptation on a mobile platform
US20130145473A1 (en) 2011-12-05 2013-06-06 Graham R. Cormode Methods and apparatus to anonymize a dataset of spatial data
WO2013182639A1 (fr) 2012-06-06 2013-12-12 Gemalto Sa Procede d'anonymisation
WO2014110647A1 (fr) 2013-01-15 2014-07-24 Klotz Christopher Procédés et systèmes associés à la protection de la vie privée dans les applications mobiles basées sur la localisation
CN104080081A (zh) 2014-06-16 2014-10-01 北京大学 一种适用于移动端位置隐私保护的空间匿名化方法
US8856939B2 (en) 2008-09-05 2014-10-07 Iowa State University Research Foundation, Inc. Cloaking with footprints to provide location privacy protection in location-based services
US20150079932A1 (en) 2013-09-18 2015-03-19 Google Inc. Device Location History Anonymization Based on Stop Detection
EP2866484A1 (fr) * 2013-10-24 2015-04-29 Telefónica Germany GmbH & Co. OHG Procédé d'anonymisation de données recueillies à l'intérieur d'un réseau de communication mobile
US9043927B2 (en) 2012-09-27 2015-05-26 Neo Mechanic Limited Method and apparatus for authenticating location-based services without compromising location privacy
CN105160266A (zh) * 2015-07-08 2015-12-16 北方信息控制集团有限公司 基于k-匿名的运动轨迹数据隐私保护方法与系统
FR3032286A1 (fr) 2015-02-03 2016-08-05 Easy Comptage Procede et systeme d'estimation d'une population
US9585011B2 (en) 2014-05-30 2017-02-28 International Business Machines Corporation Anonymizing location information of a mobile device
WO2017066509A1 (fr) 2015-10-16 2017-04-20 Google Inc. Systèmes et procédés d'optimisation distribuée
WO2018057302A1 (fr) 2016-09-26 2018-03-29 Google Llc Apprentissage fédéré à communication efficace
US20180091942A1 (en) 2016-09-28 2018-03-29 International Business Machines Corporation Anonymizing location data
EP3352432A1 (fr) 2017-01-20 2018-07-25 Sentiance NV Procédé et système de classification d'une activité d'un utilisateur

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002084531A2 (fr) 2001-04-10 2002-10-24 Univ Carnegie Mellon Systemes et procedes de desidentification dans une source de donnees d'entree
US7653615B2 (en) 2005-01-18 2010-01-26 Microsoft Corporation Preserving privacy when statistically analyzing a large database
US9736685B2 (en) 2008-09-05 2017-08-15 Iowa State University Research Foundation, Inc. Cloaking with footprints to provide location privacy protection in location-based services
US8856939B2 (en) 2008-09-05 2014-10-07 Iowa State University Research Foundation, Inc. Cloaking with footprints to provide location privacy protection in location-based services
WO2012087296A1 (fr) 2010-12-21 2012-06-28 Empire Technology Development Llc Informations factices pour confidentialité de localisation dans des services basés sur la localisation
US20130145473A1 (en) 2011-12-05 2013-06-06 Graham R. Cormode Methods and apparatus to anonymize a dataset of spatial data
WO2013182639A1 (fr) 2012-06-06 2013-12-12 Gemalto Sa Procede d'anonymisation
US8429103B1 (en) * 2012-06-22 2013-04-23 Google Inc. Native machine learning service for user adaptation on a mobile platform
US9043927B2 (en) 2012-09-27 2015-05-26 Neo Mechanic Limited Method and apparatus for authenticating location-based services without compromising location privacy
WO2014110647A1 (fr) 2013-01-15 2014-07-24 Klotz Christopher Procédés et systèmes associés à la protection de la vie privée dans les applications mobiles basées sur la localisation
US20150079932A1 (en) 2013-09-18 2015-03-19 Google Inc. Device Location History Anonymization Based on Stop Detection
EP2866484A1 (fr) * 2013-10-24 2015-04-29 Telefónica Germany GmbH & Co. OHG Procédé d'anonymisation de données recueillies à l'intérieur d'un réseau de communication mobile
US9585011B2 (en) 2014-05-30 2017-02-28 International Business Machines Corporation Anonymizing location information of a mobile device
CN104080081A (zh) 2014-06-16 2014-10-01 北京大学 一种适用于移动端位置隐私保护的空间匿名化方法
FR3032286A1 (fr) 2015-02-03 2016-08-05 Easy Comptage Procede et systeme d'estimation d'une population
CN105160266A (zh) * 2015-07-08 2015-12-16 北方信息控制集团有限公司 基于k-匿名的运动轨迹数据隐私保护方法与系统
WO2017066509A1 (fr) 2015-10-16 2017-04-20 Google Inc. Systèmes et procédés d'optimisation distribuée
WO2018057302A1 (fr) 2016-09-26 2018-03-29 Google Llc Apprentissage fédéré à communication efficace
US20180091942A1 (en) 2016-09-28 2018-03-29 International Business Machines Corporation Anonymizing location data
EP3352432A1 (fr) 2017-01-20 2018-07-25 Sentiance NV Procédé et système de classification d'une activité d'un utilisateur

Non-Patent Citations (14)

* Cited by examiner, † Cited by third party
Title
"Protecting privacy when disclosing information : k-anonymity and its enforcement through generalization and suppression", PIERANGELA SAMARATI, LATANYA SWEENEY, TECHNICAL REPORT, HARVARD DATA PRIVACY LAB, 1998
ABHINAV MEHROTRAMIRCO MUSOLESI: "Using Autoencoders to Automatically Extract Mobility Features for Predicting Depressive States", PROC. ACM INTERACT. MOB. WEARABLE UBIQUITOUS TECHNOL., vol. 2, 2018, pages 3
ARVIND NARAYANANVITALY SHMATIKOV: "Robust De-anonymization of Large Datasets", CORR, 2007
CRAIG GENTRY: "thèse de doctorat", 2009, UNIVERSITÉ DE STANFORD, article "A fully homomorphic encryption scheme"
DAN BONEH: "Aggregate and verifiability encrypted signatures from bilinear maps", EUROCRYPT, 2003
HAIBO HU: "Authenticating Location-based Services without Compromising Location Privacy", ACM SIGMOD, 2012
HUI ZANGJEAN BOLOT: "Anonymization of Location Data Does Not Work : A Large-Scale Measurement Study", ACM MOBICOM, 2011
MIGUEL ANDRÉS: "Geo-Indistinguishability : Differential Privacy for Location-Based Systems", PROCEEDINGS OF THE 2013 ACM SIGSAC CONFÉRENCE ON COMPUTER & COMMUNICATIONS SECURITY
PASCAL PAILLIER: "Public-Key Cryptosystems Based on Composite Degree Residuosity Classes", ACM EUROCRYPT, 1999
RALUCA ADA POPA: "Privacy and Accountability for Location-based Aggregate Statistics", ACM CCS, 2011
ROBERT STEELE ET AL: "The Internet of Things and Next-generation Public Health Information Systems", COMMUNICATIONS AND NETWORK SCIENTIFIC IFIC RESEARCH, vol. 05, no. 03, 1 January 2013 (2013-01-01), US, pages 4 - 9, XP055659610, ISSN: 1949-2421, DOI: 10.4236/cn.2013.53B1002 *
SYVERSON: "Tor : The Second-Generation Onion Router", 13ÈME USENIX SECURITY SYMPOSIUM, 2004
VINCENT PRIMAULT: "The Long Road to Computational Location Privacy : A Survey", IEEE COMMUNICATIONS SURVEYS & TUTORIALS, 2018
YVES-ALEXANDRE DE MONTJOYE: "Unique in the Crowd : The privacy bounds of human mobility", SCIENTIFIC REPORTS, 2013

Similar Documents

Publication Publication Date Title
US11710035B2 (en) Distributed labeling for supervised learning
Primault et al. The long road to computational location privacy: A survey
EP3528150A1 (fr) Système, appareil et procédé d'authentification contextuelle préservant la confidentialité
CA2888103C (fr) Procede de signature electronique a signature ephemere
WO2009083517A1 (fr) Identification basee sur des donnees biometriques chiffrees.
US8954737B2 (en) Method and apparatus for performing distributed privacy-preserving computations on user locations
FR2951842A1 (fr) Identification par controle de donnees d'utilisateur
Khazbak et al. TargetFinder: A privacy preserving system for locating targets through IoT cameras
Dwork 14 Differential Privacy: A Cryptographic Approach to Private Data Analysis
Pyrgelis et al. Privacy-friendly mobility analytics using aggregate location data
Sarwar et al. A survey on privacy preservation in fog-enabled internet of things
Sadhu et al. HCFContext: Smartphone context inference via sequential history-based collaborative filtering
CH712399A2 (fr) Système d'identification biométrique basé sur les réseaux veineux et des codages uniques et non falsifiables de structures arborescentes et procédé associé.
Wong et al. A privacy-preserving framework for surveillance systems
FR3094109A1 (fr) Procédé et système de traitement de données numériques provenant d’équipements connectés en garantissant la sécurité des données et la protection de la vie privée
Xu et al. FedG2L: a privacy-preserving federated learning scheme base on “G2L” against poisoning attack
WO2009083527A1 (fr) Procede et systeme pour authentifier des individus a partir de donnees biometriques
Bikku An Efferent and Secure Outsourced Data Aggregation Using Location Sharing Services.
Melis Building and evaluating privacy-preserving data processing systems
Eshun A cryptographic approach to location privacy
Sadhu et al. DeepContext: Mobile Context Modeling and Prediction via HMMs and Deep Learning
Zaman et al. Privacy-Preserving Probabilistic Data Encoding for IoT Data Analysis
Khazbak Preserving Privacy in Wireless and Mobile Systems
Awojobi et al. Data Security and Privacy
Pötzelsberger et al. Kv web security: applications of homomorphic encryption

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20200925

PLFP Fee payment

Year of fee payment: 3

RX Complete rejection

Effective date: 20220303