FR2988944A1 - Procede de masquage des donnees composant un profil utilisateur associe a un noeud d'un reseau. - Google Patents

Procede de masquage des donnees composant un profil utilisateur associe a un noeud d'un reseau. Download PDF

Info

Publication number
FR2988944A1
FR2988944A1 FR1252716A FR1252716A FR2988944A1 FR 2988944 A1 FR2988944 A1 FR 2988944A1 FR 1252716 A FR1252716 A FR 1252716A FR 1252716 A FR1252716 A FR 1252716A FR 2988944 A1 FR2988944 A1 FR 2988944A1
Authority
FR
France
Prior art keywords
node
user profile
data structure
elements
representative
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.)
Granted
Application number
FR1252716A
Other languages
English (en)
Other versions
FR2988944B1 (fr
Inventor
Anne-Marie Kermarrec
Sebastien Gambs
Mohammad Nabil Alaggan
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.)
Universite de Rennes 1
Institut National de Recherche en Informatique et en Automatique INRIA
Original Assignee
Universite de Rennes 1
Institut National de Recherche en Informatique et en Automatique INRIA
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 Universite de Rennes 1, Institut National de Recherche en Informatique et en Automatique INRIA filed Critical Universite de Rennes 1
Priority to FR1252716A priority Critical patent/FR2988944B1/fr
Priority to PCT/EP2013/056133 priority patent/WO2013144031A1/fr
Priority to EP13711894.9A priority patent/EP2832074A1/fr
Priority to US14/388,523 priority patent/US20170154112A1/en
Publication of FR2988944A1 publication Critical patent/FR2988944A1/fr
Application granted granted Critical
Publication of FR2988944B1 publication Critical patent/FR2988944B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Business, Economics & Management (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Power Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

L'invention concerne un procédé de masquage des données composant un profil utilisateur associé à un noeud d'un réseau, un profil utilisateur étant composé d'un sous-ensemble d'éléments présents parmi un ensemble d'éléments possibles. Le procédé de masquage comporte une étape d'obtention (32) d'une structure de données initiale comportant un nombre prédéterminé d'éléments binaires, un dit élément binaire pouvant prendre une valeur parmi deux valeurs possibles, la structure de données initiale étant représentative des éléments présents dans le profil utilisateur, et, pour au moins une partie desdits éléments binaires, une étape d'application (34) d'une opération probabiliste d'inversion de la valeur dudit élément binaire, fonction d'une valeur de probabilité calculée à partir d'un paramètre de confidentialité prédéterminé, permettant d'obtenir une structure de données masquée représentative des éléments présents dans le profil utilisateur. L'invention concerne également un procédé d'estimation de similarité entre un premier noeud et un deuxième noeud d'un réseau utilisant au moins une structure de données masquée obtenue par le procédé de masquage de données.

Description

Procédé de masquage des données composant un profil utilisateur associé à un noeud d'un réseau La présente invention concerne un procédé de masquage des données composant un profil utilisateur associé à un noeud d'un réseau, et un procédé d'estimation de la similarité entre un premier noeud et un deuxième noeud d'un réseau, chaque noeud ayant un profil utilisateur associé. L'invention se situe dans le domaine du respect de la vie privée dans les réseaux, notamment les réseaux distribués. De nos jours, la communication via Internet est largement généralisée, et de nombreux réseaux distribués sont créés sur la base des données et préférences émanant des utilisateurs, comme par exemple les réseaux sociaux. Typiquement, un tel réseau distribué est formé de noeuds, chaque noeud étant associé à un utilisateur et ayant un profil utilisateur associé, composé d'un sous-ensemble d'éléments présents parmi un ensemble d'éléments possibles, relatifs aux particularités ou aux préférences de l'utilisateur. Diverses applications utilisent le profil utilisateur, par exemple pour créer des groupes d'utilisateurs ayant des intérêts communs ou pour des systèmes de recommandation, aptes à proposer à un utilisateur de nouveaux produits conformes à ses intérêts. De telles applications nécessitent de calculer une similarité entre profils utilisateurs afin de déterminer leur proximité au sens des données ou préférences exprimées dans les profils utilisateur. Il est connu, dans un réseau centralisé dans lequel les noeuds représentatifs des utilisateurs sont considérés comme des clients, d'utiliser un serveur central pour effectuer un tel calcul de similarité. Cela pose deux types de problèmes, d'une part un problème de confidentialité des données constituant le profil utilisateur, et d'autre part, un problème de puissance de calcul à mettre en oeuvre par un tel serveur central effectuant les calculs de similarité. Un objectif de l'invention est de proposer un procédé de masquage des données composant un profil utilisateur, permettant d'obtenir une représentation d'un profil utilisateur qui présente des garanties en termes de confidentialité tout en présentant une bonne utilité pour un calcul de similarité entre profils associés aux noeuds d'un réseau. A cet effet, l'invention concerne, selon un premier aspect, un procédé de masquage des données composant un profil utilisateur associé à un noeud d'un réseau, un profil utilisateur étant composé d'un sous-ensemble d'éléments présents parmi un ensemble d'éléments possibles. Le procédé de l'invention comporte les étapes suivantes : - obtention d'une structure de données initiale comportant un nombre prédéterminé d'éléments binaires, un dit élément binaire pouvant prendre une valeur parmi deux valeurs possibles, la structure de données initiale étant représentative des éléments présents dans le profil utilisateur, et - pour au moins une partie desdits éléments binaires, application d'une opération probabiliste d'inversion de la valeur dudit élément binaire, fonction d'une valeur de probabilité dépendante d'un paramètre de confidentialité prédéterminé, permettant d'obtenir une structure de données masquée représentative des éléments présents dans le profil utilisateur.
Avantageusement, le procédé de l'invention permet d'obtenir une structure de données masquée représentative des éléments présents dans le profil utilisateur, qui respecte un niveau de confidentialité prédéterminé. Le procédé de masquage des données selon l'invention peut présenter une ou plusieurs des caractéristiques ci-dessous : - l'étape d'obtention comprend l'application d'une opération de filtrage sur ledit sous-ensemble d'éléments présents permettant d'obtenir une structure probabiliste de données représentative de la présence d'éléments dans le profil utilisateur parmi l'ensemble d'éléments possibles avec un niveau de certitude associé ; - ladite opération de filtrage est un filtrage de Bloom, associant un nombre M de valeurs binaires audit sous-ensemble d'éléments présents, les M valeurs binaires étant obtenues par application successive et indépendante de K fonctions de hachage, chaque fonction de hachage réalisant une association pseudo-aléatoire entre un élément présent dans le profil utilisateur et un élément binaire correspondant qui est mis à une première valeur binaire parmi les deux valeurs binaires possibles ; - ledit paramètre de confidentialité est un paramètre de confidentialité différentielle E relatif à la confidentialité des éléments binaires de ladite structure de données initiale, et ladite valeur de probabilité est comprise entre 1/(1+exp(E)) et 0,5 ; - ledit paramètre de confidentialité dépend en outre du nombre K de fonctions de hachage appliqué, et ladite valeur de probabilité est comprise entre 1/(1+exp(E/K)) et 0,5.
Selon un deuxième aspect, l'invention concerne un procédé d'estimation de similarité entre un premier noeud et un deuxième noeud d'un réseau, chaque noeud ayant un profil utilisateur associé, un profil utilisateur étant composé d'un sous-ensemble d'éléments présents parmi un ensemble d'éléments possibles. Le procédé d'estimation comporte les étapes de : -obtention d'une structure de données initiale ou d'une structure de données masquée obtenue par application d'un procédé de masquage tel que brièvement décrit ci-dessus, représentative du profil utilisateur associé au premier noeud, -réception d'une structure de données masquée représentative du profil utilisateur associé au deuxième noeud obtenue par application d'un procédé de masquage tel que brièvement décrit ci-dessus, et -estimation d'une valeur de similarité entre lesdits premier noeud et deuxième noeud en fonction desdites structures de données. Avantageusement, l'estimation de similarité peut être mise en oeuvre sur un noeud quelconque du réseau, dans la mesure où l'estimation de similarité se fait à partir des structures de données masquées obtenues. En particulier lorsque l'estimation de similarité est mise en oeuvre sur divers noeuds du réseau, comme dans un système distribué de type pair-à-pair, cela permet de s'affranchir du besoin d'un serveur central effectuant tous les calculs.
Le procédé d'estimation de similarité selon l'invention peut présenter une ou plusieurs des caractéristiques ci-dessous : - il est mis en oeuvre sur ledit premier noeud, et à l'étape d'obtention, une structure de données initiale représentative du profil utilisateur associé au premier noeud est obtenue ; - l'étape d'estimation comporte le calcul d'un produit scalaire entre ladite structure de données initiale et ladite structure de données masquée ; - il est mis en oeuvre sur un noeud du réseau différent desdits premier noeud et deuxième noeud, et à l'étape d'obtention, une structure de données masquée représentative du profil utilisateur associé au premier noeud est obtenue.
D'autres caractéristiques et avantages de l'invention ressortiront de la description qui en est donnée ci-dessous, à titre indicatif et nullement limitatif, en référence aux figures annexées, parmi lesquelles : -la figure 1 est un exemple de réseau mettant en oeuvre l'invention, -la figure 2 est un schéma représentant les blocs fonctionnels d'un dispositif apte à mettre en oeuvre un procédé de masquage de données et/ou un procédé d'estimation de similarité selon l'invention, -la figure 3 est un organigramme représentatif des étapes mises en oeuvre pour le masquage des données composant un profil utilisateur selon un mode de réalisation de l'invention, et -la figure 4 est un organigramme représentatif des étapes mises en oeuvre dans un procédé d'estimation de similarité selon un mode de réalisation de l'invention.
La figure 1 représente schématiquement un réseau 1 selon un mode de réalisation de l'invention, constitué de noeuds 2, 4, 6, chaque noeud du réseau étant apte à communiquer avec les autres noeuds du réseau et ayant un profil utilisateur associé. Bien évidemment, un réseau selon l'invention est en pratique constitué d'un nombre quelconque de noeuds, le nombre de noeuds pouvant évoluer dynamiquement. En pratique, un noeud du réseau est mis en oeuvre par un dispositif programmable de type ordinateur personnel, ayant des capacités de calcul et des capacités de connexion à un réseau de communications. Par exemple, les noeuds 2, 4, 6 sont connectés via le réseau Internet.
Les noeuds 2, 4, 6 du réseau 1 ont chacun un identifiant, les identifiants étant notés respectivement A, B et C. Chaque noeud a un profil utilisateur associé, composé d'un sous-ensemble d'éléments présents parmi un ensemble d'éléments possibles. L'ensemble d'éléments possibles est fini ou pas.
Par exemple, les éléments présents désignent des adresses de type URL (« Uniform Resource Locator ») de documents pour lesquels l'utilisateur a exprimé une préférence. Chaque noeud calcule et mémorise une représentation initiale du profil utilisateur associé, notée respectivement PA pour le noeud A, PB pour le noeud B, et Pc pour le noeud C. Cette représentation initiale, appelée également profil privé, est calculée de manière déterministe. Par ailleurs, chaque noeud calcule et stocke une représentation masquée du profil utilisateur associé, appelée également profil public, notée respectivement P*A pour le noeud A, P*B pour le noeud B, et P*c pour le noeud C, le calcul étant effectué selon un des modes de réalisation de l'invention explicités en détail ci-après en référence à la figure 3. Cette représentation masquée est probabiliste, un niveau d'incertitude étant introduit sur les éléments la constituant, de manière à préserver la confidentialité et à empêcher qu'un tiers puisse déduire les éléments présents dans le profil utilisateur à partir de sa représentation masquée.
Ainsi, les représentations masquées peuvent être publiées, c'est-à-dire transmises à d'autres noeuds du réseau 1, tout en garantissant la confidentialité et un niveau de sécurité par rapport à des attaques malveillantes cherchant à retrouver les données du profil utilisateur masquées ou dissimulées. Les représentations initiales sont des représentations privées, qui sont stockées localement sur chaque noeud et ne sont pas rendues publiques.
Comme illustré par les flèches représentées sur la figure 1, les noeuds respectifs envoient la représentation masquée de leur profil à d'autres noeuds du réseau. Chaque noeud est apte à calculer une valeur de similarité selon une mesure de similarité prédéterminée, entre une représentation masquée de profil reçue d'un autre noeud et sa propre représentation initiale, comme expliquée en détail ci-après. En variante, chaque noeud transmet son profil public à un serveur central ou à un autre noeud du réseau qui effectue les calculs de similarité entre deux profils publics, donc dans leur représentation masquée. Dans l'exemple de la figure 1, le noeud A reçoit les représentations masquées des noeuds B et C, le noeud B reçoit les représentations masquées des noeuds A et C. Chacun des noeuds A et B est apte à calculer des valeurs de similarité entre noeuds, et à fournir ces valeurs à des applications clientes par exemple. Ces noeuds A et B jouent alors un rôle de serveur dans le réseau 1. Par exemple, le noeud A peut estimer les similarités s(A, B) et s(A, C) à partir de PA, P*B et P*c, et le noeud B peut estimer les similarités s(B, A) et s(B,C) à partir de PB, P*A et P*c. Le noeud C ne reçoit pas de représentation masquée d'autres noeuds donc ne peut pas effectuer de calcul de similarité. Le noeud C joue un rôle de client. Chaque noeud d'un réseau selon l'invention est mis en oeuvre sur un dispositif programmable, tel qu'un ordinateur, dont les principaux blocs fonctionnels sont schématiquement représentés à la figure 2. Ainsi, un dispositif programmable 10 apte à mettre en oeuvre l'invention comprend un écran 12, un moyen 14 de saisie des commandes d'un utilisateur, par exemple un clavier, pouvant être intégré dans un écran tactile, une unité centrale de traitement 16, apte à exécuter des instructions de programme de commande lorsque le dispositif programmable est mis sous tension. Le dispositif programmable 10 comporte également des moyens de stockage d'informations 18, par exemple des registres, aptes à stocker des instructions de code exécutable permettant la mise en oeuvre logicielle d'un procédé de masquage des données et/ou d'un procédé d'estimation de similarité selon l'invention.
De plus, le dispositif programmable 10 comporte des moyens de communication 20 avec un réseau de communications. Les divers blocs fonctionnels du dispositif 10 décrits ci-dessus sont par exemple connectés via un bus de communication 22. La figure 3 illustre les principales étapes d'un mode de réalisation du procédé de masquage des données représentatives d'un profil utilisateur associé à un noeud N d'un réseau selon l'invention, mis en oeuvre par une unité centrale de traitement 16 d'un dispositif 10 associé au noeud N. Un tel procédé de masquage est par exemple mis en oeuvre à chaque mise à jour du profil utilisateur associé au noeud N par l'utilisateur, par exemple à chaque fois que l'utilisateur exprime une nouvelle préférence. En variante, un tel procédé de masquage est mis en oeuvre périodiquement ou à la demande. Dans une première étape 30, les éléments présents dans le profil utilisateur du noeud N sont récupérés. Ces éléments sont stockés dans une mémoire 18 du dispositif 10. Par exemple, le profil utilisateur est composé de S éléments PU(N)={pl,..., ps}, qui sont des éléments présents, chaque élément présent ayant un identifiant unique associé. Par exemple, l'identifiant est un numéro associé à un élément présent. Ensuite, à l'étape suivante 32, une représentation initiale du profil utilisateur est générée, sous forme de structure de données PN={bo, bm_i} comportant un nombre prédéterminé M d'éléments binaires, c'est-à-dire des éléments pouvant prendre une valeur parmi deux valeurs possibles {Va, Vb}. Dans le mode de réalisation préféré, les valeurs possibles sont Va=0, Vb=1, donc chaque b, est égal à 0 ou à 1, et la structure de données initiale PN est obtenue en appliquant un filtre de Bloom sur les éléments présents p, dans le profil utilisateur PU(N).
De manière connue, un filtre de Bloom est une structure probabiliste compacte de représentation des données, permettant de déterminer avec une certaine probabilité qu'un élément est présent dans un ensemble de données. Le nombre M d'éléments binaires de la structure de données PN est fixe, quelque soit le nombre S d'éléments présents dans le profil utilisateur PU(N).
Pour obtenir la structure de données initiale par filtre de Bloom, un nombre K de fonctions de hachage (en anglais « hash functions ») est utilisé. Chaque fonction de hachage réalise une mise en correspondance entre un élément présent dans le profil utilisateur PU(N) et un indice i compris entre 0 et M-1, et la valeur de l'élément binaire d'indice i, b,, est mise à 1, ou plus généralement à une première valeur parmi les deux valeurs possibles. En pratique, une fonction de hachage h appliquée à un élément présent pk effectue un tirage pseudo-aléatoire avec comme racine l'identifiant unique de pk, modulo M, ce qui permet d'obtenir une valeur numérique : h(pk)=I. L'élément b de la structure de données initiale est alors mis à la valeur 1 : b1=1.
La prise en compte d'un nouvel élément présent ps+, ou addition d'un élément du profil utilisateur se fait par l'application successive et indépendante de chacune des K fonctions de hachage h(Ps-0), et la mise à la valeur 1 des bits désignés de la structure de données PN, indépendamment des valeurs déjà prises par les bits b, de la structure des données. Par ailleurs, la structure de données PN obtenue par filtre de Bloom est également utilisable pour vérifier la présence ou non d'un élément pk dans le profil utilisateur associé au noeud N. Si au moins un bit correspondant à une position binaire obtenue par les K fonctions de hachage appliquées avec l'élément pk est égal à 0, l'élément pk est avec certitude absent du profil utilisateur. Par contre, le fait que tous les bits correspondant à une position binaire obtenue par les K fonctions de hachage appliquées avec l'élément pk sont égaux à 1 ne permet de déduire la présence de l'élément pk dans le profil utilisateur qu'avec une certaine probabilité, car il est possible que des collisions se présentent. Ainsi, une structure obtenue par filtrage de Bloom est représentative des éléments présents dans le profil utilisateur avec un niveau de certitude associé.
Ensuite, à l'étape 34, on obtient une représentation masquée du profil utilisateur, notée PA*, 1, par application d'une opération probabiliste d'inversion (ou `flip' en anglais) d'une ou plusieurs valeurs binaires de la structure de données précédemment obtenue. Dans le mode de réalisation préféré, pour chaque bit b, de la structure de données initiale, on applique une inversion de la valeur binaire ou pas, selon le résultat d'un tirage aléatoire, avec une probabilité p. On effectue un tirage d'une variable uniforme X, dans l'intervalle [0 ,1] Le principe de l'opération d'inversion flip de la valeur de l'élément binaire b, est le suivant : Si X p alors y, = flip(b,)=1-b, Sinon, y ) =bi. De manière plus générale, si X p, l'élément binaire bi change de valeur et prend l'autre valeur possible, sinon il reste inchangé. Selon une alternative, l'opération probabiliste d'inversion n'est appliquée que sur un sous-ensemble des éléments binaires de la structure de données initiale, par exemple sur un élément binaire b, sur deux, ou bien sur un sous-ensemble d'éléments binaires de la structure de données initiale choisis également de manière pseudo-aléatoire. Une structure de données P*N, correspondant à une représentation masquée du profil utilisateur est ainsi obtenue à l'issue de l'étape 34.
L'opération probabiliste d'inversion est appliquée avec une probabilité p. Il apparaît clairement que la valeur de p a un fort impact sur le niveau de confidentialité obtenu, et aussi sur le niveau d'utilité pour des calculs de similarité de la représentation masquée obtenue. En effet, une valeur de p=1/2 aboutit à un résultat aléatoire, qui préserve totalement la confidentialité mais dans ce cas la représentation masquée n'est d'aucune utilité pour un calcul de similarité. Il est important de déterminer une valeur de probabilité p avec un niveau de confidentialité prédéterminé, selon une métrique de confidentialité choisie, tout en préservant un niveau d'utilité suffisant.
En utilisant la métrique de confidentialité différentielle, en anglais « differential privacy », définie dans l'article « Differential privacy : a survey of results », par C. Dwork, publié dans Proceedings of the 5th International Conference on Theory and Applications of Models of Computation, Xi'an, China, 25-29 Avril 2008, pages 1-19, on peut calculer p en fonction du paramètre de confidentialité E relatif à la confidentialité de chaque élément binaire b, par : exp(-e)-Pr[flip(1)] = ] < Pr[flip(0) = bt] exp(e) - Pr[flip(1) = bi] où exp représente la fonction exponentielle et Pr[A] la probabilité d'un événement A. Un élément binaire b, a la valeur 0 ou 1. La confidentialité Ede chaque élément binaire b, selon cette métrique de confidentialité est assurée pour une valeur de probabilité p telle que : 1 p < 1 . 1+ exp(e) 2 Dans un mode de réalisation alternatif, la valeur de probabilité p est calculée pour assurer une confidentialité au niveau des éléments p, présents dans le profil utilisateur à partir duquel la structure de données est calculée. Pour cela, le nombre K de fonctions de hachage est également pris en compte.
La métrique suivante est utilisée. Soient deux profils PU1 et PU2 qui ne diffèrent que par un seul élément p,, présent dans PU1 et absent dans PU2. On note PNi et PN2 les structures de données initiales obtenues par filtrage de Bloom associées à ces profils, et P*N1 et P*N2 les structures de données masquées obtenues par application d'une opération probabiliste d'inversion selon le mode de réalisation décrit ci-dessus.
Un paramètre de confidentialité E est défini par les équations suivantes : exp(-e)Pr[p, E /3;2] Pr[p, E PNB] exp(e)Pr[p, E /3;2] exp(-e)Pr[p, E PNB ] Pr[p, E P;r2 exp(e)Pr[p, E PNB ] La confidentialité de chaque élément présent p, selon cette métrique de confidentialité est assurée pour une valeur de probabilité p telle que : 1 1 où p ou K est le nombre de fonctions de hachage utilisé dans le filtrage 1+ exp(e/K) 2 de Bloom. L'étape 34 est suivie d'une étape 36 de publication dans le réseau de la représentation masquée P*N calculée.
Le mode de réalisation décrit ci-dessus comporte l'application d'un filtrage de Bloom pour obtenir une représentation initiale sous forme de structure de données initiale, puis l'application d'une opération probabiliste d'inversion pour obtenir une représentation masquée avec un niveau de confidentialité associé. Selon un mode de réalisation alternatif, si l'ensemble P d'éléments possibles p, dans un profil utilisateur est dénombrable et fini, égal à un nombre G d'éléments possibles, à l'étape 32 la représentation initiale du profil utilisateur est obtenue par génération d'une structure de données initiale sous forme d'un vecteur de taille G, indiquant la présence ou l'absence d'un élément dans le profil utilisateur : PN=[bi,...,bd où b,=1 si l'élément p, est présent dans le profil utilisateur, et b,=0 si l'élément p, est absent du profil utilisateur. Dans ce mode de réalisation alternatif, l'étape 34 d'application d'une opération probabiliste d'inversion est appliquée sur ce vecteur PN, de la manière expliquée ci-dessus. L'étape 34 est suivie d'une étape optionnelle, non représentée sur la figure 3, d'application d'un filtre de Bloom après l'opération probabiliste d'inversion.
La figure 4 illustre les étapes d'un procédé d'estimation de similarité entre noeuds d'un réseau distribué ayant des profils utilisateur associés selon un mode de réalisation de l'invention. Dans ce mode de réalisation le procédé d'estimation de similarité est mis en oeuvre sur un premier noeud A du réseau distribué, qui effectue l'estimation de similarité entre son propre profil utilisateur associé et le profil utilisateur associé à un deuxième noeud B du réseau. Pour effectuer l'estimation de similarité on utilise, dans ce mode de réalisation, les structures de données calculées comme détaillé ci-dessus en référence à la figure 3, c'est-à-dire la structure de données initiale PA du noeud A et la structure de données masquée P*B représentative du profil du noeud B.
Le procédé d'estimation de similarité est mis en oeuvre par une unité centrale de traitement 16 d'un dispositif programmable 10 associé au noeud A. Dans une première étape 40 le noeud A reçoit, en provenance du noeud B, une structure de données masquée P*B représentative des éléments présents dans le profil utilisateur du noeud B. Comme expliqué précédemment, la structure de données masquée ou profil public P*B du noeud B présente une garantie de confidentialité avec un niveau de confidentialité prédéterminé. Ensuite à l'étape 42, le noeud A récupère une structure de données initiale PA représentative du profil utilisateur associé à ce noeud A. Il n'est pas nécessaire d'utiliser la structure de données masquée P*A, car le noeud A n'a pas besoin de garantir une confidentialité dans la mesure où les calculs sont effectués sur ce noeud. En pratique, la structure de données initiale PA est calculée comme expliqué ci- dessus en référence à la figure 3, ou récupérée dans une mémoire 18 du dispositif programmable 10 si elle a été calculée précédemment.
Dans le mode de réalisation préféré, les représentations de données sont calculées par application d'un filtrage de Bloom, puis par application d'une opération probabiliste d'inversion pour obtenir une structure de données masquée. A l'étape suivante 44, un calcul d'estimation de similarité entre les profils utilisateurs des noeuds A et B est effectué. Le noeud A ne disposant pas du profil privé du noeud B, PB, seule une estimation de similarité à partir des deux structures de données présentes, respectivement PA et P*B, peut être calculée. Selon un mode de réalisation, l'estimateur de la similarité entre le noeud A et le noeud B est calculé à partir du produit scalaire entre PA et P*B. Le produit scalaire est équivalent à une mesure de similarité cosinus (ou « cosine similarity » en anglais) pour des vecteurs binaires. Si on note PA } et P *B ={1)0,...,Vm_i}, le produit scalaire SP est : M-1 SP =o Afin d'obtenir un estimateur sans biais, SP*, c'est-à-dire un estimateur dont l'espérance est égale à l'espérance du produit scalaire entre PA et PB, la formule suivante est appliquée : M-1 M-1 Ib - pIbt s(A, B) = SP* t-0 i=o 1- 2 p En variante, un estimateur sans biais est calculé sur la base d'une somme binaire BS entre les structures de données représentatives des profils PA et P*B : - BS p M-1 BS* = où BS = 1-2p i=0 Ainsi, une estimation de similarité entre les noeuds A et B est obtenue sur le noeud A, à partir du profil public du noeud B et du profil privé du noeud A.
En variante, chacun des noeuds A et B envoie son profil public, respectivement P*A et P*13 , à un serveur central ou à un noeud tiers, différent des noeuds A et B, qui effectue un calcul d'estimation de similarité entre les profils utilisateurs des noeuds A et B. Dans ce cas, il est également possible d'obtenir un estimateur SP* non-biaisé pour le calcul de la similarité, où P* AuM_1et P *B{v0,...,VM_1: M-1 M-1 (2p -1)p(Iu. +1v i) + - np2 s(A, B) = SP* = i=o i=o (1- 2p) 2 M-1 M-1 M-1 Avec Si' np2 + (p - 2p2 )(In, + ) + (1 - 4p + 4p2)Iutv, i=0 i=0 i=0 Avantageusement, les divers estimateurs de similarité explicités ci-dessus ont de bonnes performances pour obtenir des noeuds similaires à un noeud donné, c'est-à-dire ayant un profil utilisateur proche du profil utilisateur du noeud donné. Ainsi, grâce à l'invention, un profil utilisateur est à la fois masqué pour garantir sa confidentialité et assurer qu'on peut le distribuer à un tiers sans risque de dévoiler ses données privées, tout en restant utilisable pour des calculs de similarité entre profils utilisateurs.

Claims (1)

  1. REVENDICATIONS1.- Procédé de masquage des données composant un profil utilisateur associé à un noeud d'un réseau, un profil utilisateur (PU(N)) étant composé d'un sous-ensemble d'éléments présents parmi un ensemble d'éléments possibles, caractérisé en ce qu'il comporte les étapes de: - obtention (32) d'une structure de données initiale (PN) comportant un nombre prédéterminé d'éléments binaires, un dit élément binaire pouvant prendre une valeur parmi deux valeurs possibles, la structure de données initiale étant représentative des éléments présents dans le profil utilisateur (PU(N)), et - pour au moins une partie desdits éléments binaires, application (34) d'une opération probabiliste d'inversion de la valeur dudit élément binaire, fonction d'une valeur de probabilité dépendante d'un paramètre de confidentialité prédéterminé, permettant d'obtenir une structure de données masquée (P*N) représentative des éléments présents dans le profil utilisateur.
    2.- Procédé selon la revendication 1, caractérisé en ce que l'étape d'obtention comprend l'application d'une opération de filtrage sur ledit sous-ensemble d'éléments présents permettant d'obtenir une structure probabiliste de données représentative de la présence d'éléments dans le profil utilisateur parmi l'ensemble d'éléments possibles avec un niveau de certitude associé.
    3.- Procédé selon la revendication 2, caractérisé en ce que ladite opération de filtrage est un filtrage de Bloom, associant un nombre M de valeurs binaires audit sous-ensemble d'éléments présents, les M valeurs binaires étant obtenues par application successive et indépendante de K fonctions de hachage, chaque fonction de hachage réalisant une association pseudo-aléatoire entre un élément présent dans le profil utilisateur et un élément binaire correspondant qui est mis à une première valeur binaire parmi les deux valeurs binaires possibles.
    4.- Procédé selon l'une des revendications précédentes, caractérisé en ce que ledit paramètre de confidentialité est un paramètre de confidentialité différentielle E relatif à la confidentialité des éléments binaires de ladite structure de données initiale, et en ce que ladite valeur de probabilité est comprise entre 1/(1+exp(E)) et 0,5.
    5.- Procédé selon la revendication 3, caractérisé en ce que ledit paramètre de confidentialité dépend en outre du nombre K de fonctions de hachage appliqué, et en ce que ladite valeur de probabilité est comprise entre 1/(1+exp(e/K)) et 0,5.
    6.- Procédé d'estimation de similarité entre un premier noeud (A) et un deuxième noeud (B) d'un réseau, chaque noeud ayant un profil utilisateur associé, un profil utilisateurétant composé d'un sous-ensemble d'éléments présents parmi un ensemble d'éléments possibles, caractérisé en ce qu'il comporte les étapes de : -obtention (42) d'une structure de données initiale (PA) ou d'une structure de données masquée (P*A) obtenue par application d'un procédé conforme à l'une quelconque des revendications 1 à 5, représentative du profil utilisateur associé au premier noeud (A), -réception (40) d'une structure de données masquée (P*B) représentative du profil utilisateur associé au deuxième noeud (B) obtenue par application d'un procédé conforme à l'une quelconque des revendications 1 à 5, et -estimation (44) d'une valeur de similarité entre lesdits premier noeud (A) et deuxième noeud (B) en fonction desdites structures de données.
    7.- Procédé d'estimation de similarité selon la revendication 6, caractérisé en ce qu'il est mis en oeuvre sur ledit premier noeud (A) et en ce qu'à l'étape d'obtention (42), une structure de données initiale (PA) représentative du profil utilisateur associé au premier noeud (A) est obtenue.
    8.- Procédé d'estimation de similarité selon la revendication 7, caractérisé en ce que l'étape d'estimation (44) comporte le calcul d'un produit scalaire entre ladite structure de données initiale (PA) et ladite structure de données masquée (P*B).
    9.- Procédé d'estimation de similarité selon la revendication 6, caractérisé en ce qu'il est mis en oeuvre sur un noeud du réseau différent desdits premier noeud (A) et deuxième noeud (B), et en ce qu'à l'étape d'obtention (42), une structure de données masquée (P*A) représentative du profil utilisateur associé au premier noeud (A) est obtenue.25
FR1252716A 2012-03-27 2012-03-27 Procede de masquage des donnees composant un profil utilisateur associe a un noeud d'un reseau. Active FR2988944B1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR1252716A FR2988944B1 (fr) 2012-03-27 2012-03-27 Procede de masquage des donnees composant un profil utilisateur associe a un noeud d'un reseau.
PCT/EP2013/056133 WO2013144031A1 (fr) 2012-03-27 2013-03-22 Procédé de masquage des données composant un profil utilisateur associé à un noeud d'un réseau
EP13711894.9A EP2832074A1 (fr) 2012-03-27 2013-03-22 Procédé de masquage des données composant un profil utilisateur associé à un noeud d'un réseau
US14/388,523 US20170154112A1 (en) 2012-03-27 2013-03-22 Method of masking data making up a user profile associated with a node of a network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1252716A FR2988944B1 (fr) 2012-03-27 2012-03-27 Procede de masquage des donnees composant un profil utilisateur associe a un noeud d'un reseau.

Publications (2)

Publication Number Publication Date
FR2988944A1 true FR2988944A1 (fr) 2013-10-04
FR2988944B1 FR2988944B1 (fr) 2014-12-05

Family

ID=47997468

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1252716A Active FR2988944B1 (fr) 2012-03-27 2012-03-27 Procede de masquage des donnees composant un profil utilisateur associe a un noeud d'un reseau.

Country Status (4)

Country Link
US (1) US20170154112A1 (fr)
EP (1) EP2832074A1 (fr)
FR (1) FR2988944B1 (fr)
WO (1) WO2013144031A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10977322B2 (en) * 2015-11-09 2021-04-13 WP Company, LLC Systems and methods for recommending temporally relevant news content using implicit feedback data

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
CYNTHIA DWORK ED - MANINDRA AGRAWAL ET AL: "Differential Privacy: A Survey of Results", 22 May 2007, THEORY AND APPLICATIONS OF MODELS OF COMPUTATION; [LECTURE NOTES IN COMPUTER SCIENCE], SPRINGER BERLIN HEIDELBERG, BERLIN, HEIDELBERG, PAGE(S) 1 - 19, ISBN: 978-3-540-79227-7, XP019088402 *
FELIX PUTZE ET AL: "Cache-, Hash and Space-Efficient Bloom Filters", 6 June 2007, EXPERIMENTAL ALGORITHMS; [LECTURE NOTES IN COMPUTER SCIENCE;;LNCS], SPRINGER BERLIN HEIDELBERG, BERLIN, HEIDELBERG, PAGE(S) 108 - 121, ISBN: 978-3-540-72844-3, XP019060485 *
MOHAMMAD ALAGGAN ET AL: "Private Similarity Computation in Distributed Systems: From Cryptography to Differential Privacy", 13 December 2011, PRINCIPLES OF DISTRIBUTED SYSTEMS, SPRINGER BERLIN HEIDELBERG, BERLIN, HEIDELBERG, PAGE(S) 357 - 377, ISBN: 978-3-642-25872-5, XP019170798 *
SHIVA PRASAD KASIVISWANATHAN ET AL: "What Can We Learn Privately?", FOUNDATIONS OF COMPUTER SCIENCE, 2008. FOCS '08. IEEE 49TH ANNUAL IEEE SYMPOSIUM ON, IEEE, PISCATAWAY, NJ, USA, 25 October 2008 (2008-10-25), pages 531 - 540, XP031366986, ISBN: 978-0-7695-3436-7 *
WEI DONG ET AL: "Secure friend discovery in mobile social networks", INFOCOM, 2011 PROCEEDINGS IEEE, IEEE, 10 April 2011 (2011-04-10), pages 1647 - 1655, XP031953347, ISBN: 978-1-4244-9919-9, DOI: 10.1109/INFCOM.2011.5934958 *

Also Published As

Publication number Publication date
WO2013144031A1 (fr) 2013-10-03
US20170154112A1 (en) 2017-06-01
EP2832074A1 (fr) 2015-02-04
FR2988944B1 (fr) 2014-12-05

Similar Documents

Publication Publication Date Title
US9167035B2 (en) Contact information in a peer to peer communications network
WO2017037151A1 (fr) Méthode d&#39;interrogation confidentielle d&#39;un service géodépendant par cryptographie homomorphe
EP2953291B1 (fr) Stockage distribue securise par calcul multipartite
CA2895189C (fr) Signature de groupe utilisant un pseudonyme
FR3030168A1 (fr) Procede de choix d&#39;au moins un service et dispositif associe
EP2494491A1 (fr) Identification par controle de donnees biometriques d&#39;utilisateur
EP3493459B1 (fr) Procédé de partage d&#39;une clé servant à dériver des clés de session pour crypter et authentifier des communications entre un objet et un serveur
FR2988944A1 (fr) Procede de masquage des donnees composant un profil utilisateur associe a un noeud d&#39;un reseau.
EP3143505B1 (fr) Architecture de correlation d&#39;evenements pour la surveillance de supercalculateur
Beierle Do you like what I like? Similarity estimation in proximity-based mobile social networks
EP2826200A1 (fr) Procede de cryptage d&#39;une pluralite de donnees en un ensemble securise
FR3003968A1 (fr) Procede de stockage de donnees dans un systeme informatique effectuant une deduplication de donnees.
FR2864659A1 (fr) Procede de recherche d&#39;entite dans un environnement virtuel
Alouf Technical Perspective: Can We Uncover Private Backbone Infrastructures?
WO2015079191A2 (fr) Procédé permettant d&#39;obtenir un système de tenue de situation active décentralisée multiagents
FR2912529A1 (fr) Couplage d&#39;un programme informatique ou de donnees a un systeme de reference et verification associee.
EP4246880A1 (fr) Protection d&#39;une clef secrete
WO2023031288A1 (fr) Procédé de détermination d&#39;une topologie d&#39;interconnexion entre commutateurs d&#39;un réseau de communication, produit programme d&#39;ordinateur et dispositif correspondants
EP4158924A1 (fr) Regroupement de trajectoires dans le domaine chiffre
EP3063898B1 (fr) Signature à pseudonyme pour carte à puce
FR2987711A1 (fr) Delegation de calculs cryptographiques
EP2462715A1 (fr) Procede de recherche d&#39;une entite a l&#39;aide d&#39;un dispositif verificateur et dispositifs associes
FR2987534A1 (fr) Methode d&#39;inventaire de reseau.
FR2968872A1 (fr) Systeme de gestion globale de filtrage personnalise base sur un circuit d&#39;echange d&#39;informations securise et procede associe
FR3017734A1 (fr) Recommandation de produits d&#39;un catalogue a partir d&#39;un produit selectionne et d&#39;un moteur de recherche

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6