Brevet FR2988944A1 — publié le 20131004

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)] = ] 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. 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