Brevet FR3129504A1 — publié le 20230526

Procédés, terminal et serveur de gestion de données personnelles Un procédé de constitution d’un historique de données personnelles (DP A ) d’un utilisateur est mis en œuvre par un terminal (T A ) de l’utilisateur. Il comporte : - une étape d’obtention d’une clé de chiffrement symétrique (KS A ) associée à un profil de l’utilisateur ; - une étape (E50) de collecte de données personnelles (DP A ) de l’utilisateur ; - au fur et à mesure de la collecte de ces données personnelles : (i) une étape (E52) de chiffrement de ces données personnelles avec la clé de chiffrement symétrique (KS A ) de cet utilisateur ; et (ii) une étape d’enregistrement (E56), dans une base de données générale (BD C ), de blocs (B i ) comportant lesdites données chiffrées ([BiA]), lesdits blocs (Bi) étant organisés selon une chaîne de blocs constituant un sous-graphe (SG A ) d’un graphe général (G C ) dont la topologie est définie par un modèle de données préétabli, un bloc racine dudit sous-graphe (SG A ) étant associé à un jeton non fongible dynamique de cet utilisateur. Figure pour l’abrégé : Fig. 5. Procédés, terminal et serveur de gestion de données personnelles L’invention se rapporte au domaine général de la protection et de la gestion des données personnelles des utilisateurs dans un réseau de télécommunications. Dans ce document, la « notion de données personnelles » est à comprendre au sens large et désigne toute donnée dont un utilisateur souhaite pouvoir garder la maîtrise. A titre d’exemples non limitatifs, l’identité ou l’adresse d’une personne physique, les données d’une transaction bancaire effectuée par une personne physique ou morale, un message échangé sur un réseau de télécommunications, des données de géolocalisation d’un individu, des photographies ou des vidéos acquises par un individu ou reçues d’un tiers, un contrat numérique constituent des données personnelles au sens de l’invention. Dans l’état actuel de la technique, les données personnelles d’un utilisateur sont généralement gérées par des fournisseurs de services auxquels souscrit l’utilisateur. Par exemple, pour un utilisateur titulaire d’un compte en banque et d’un compte sur un réseau social, il est usuel que l’utilisateur fournisse d’une part des données personnelles à l’établissement bancaire et d’autre part des données personnelles à l’opérateur du réseau social. Il en résulte que l’utilisateur perd la maîtrise de ses données personnelles, puisqu’il lui est très difficile de déterminer les traitements effectués par les fournisseurs de service sur ces données. Selon un premier aspect, l’invention concerne un procédé de constitution d’un historique de données personnelles d’un utilisateur, ce procédé étant mis en œuvre par un terminal de l’utilisateur et comportant : - une étape d’obtention d’une clé de chiffrement symétrique associée à un profil de l’utilisateur ; - une étape de collecte de données personnelles de l’utilisateur ; - au fur et à mesure de la collecte desdites données personnelles de l’utilisateur : (i) une étape de chiffrement de ces données personnelles avec la clé de chiffrement symétrique de l’utilisateur ; et (ii) une étape d’enregistrement, dans une base de données générale, de blocs comportant lesdites données chiffrées, lesdits blocs étant organisés selon une chaîne de blocs constituant un sous-graphe d’un graphe général dont la topologie est définie par un modèle de données préétabli, un bloc racine dudit sous-graphe étant associé à un jeton non fongible dynamique de cet utilisateur. Selon un deuxième aspect, l’invention concerne un procédé de gestion, mis en œuvre par un système informatique, pour gérer les données personnelles d’une pluralité d’utilisateurs, ce procédé comportant la gestion d’une base de données générale dans laquelle sont enregistrés des blocs, chaque bloc comportant desdites données personnelles chiffrées d’un dit utilisateur, lesdits blocs comportant les données personnelles chiffrées d’un même utilisateur étant organisés selon une chaîne de blocs constituant un sous-graphe d’un même graphe général dont la topologie est définie par un modèle de données préétabli, un bloc racine dudit sous-graphe étant associé à un jeton non fongible dynamique de cet utilisateur. Ainsi, et d’une façon générale, l’invention propose de mémoriser un historique des données personnelles des utilisateurs dans une chaîne de blocs et d’associer l’historique des données personnelles d’un utilisateur à un jeton non fongible dynamique. Au sens de l’invention, les utilisateurs peuvent notamment être des personnes physiques ou morales. Un titre de propriété numérique pointe ainsi sur le nœud d'entrée d'un graphe représentant l’historique des données personnelles d’un usager selon une cartographie définie par le modèle de données préétabli. Le fait d’associer l’ensemble des données personnelles dans un graphe de blocs permet, grâce à sa valeur probante, de garantir l’immuabilité de l’historique de ces données et de garantir que l’utilisateur reste propriétaire de l’intégralité de ses données personnelles passées et à venir dès lors qu’elles sont intégrées dans la chaîne de blocs. Le fait d’associer l’ensemble des données personnelles d’un utilisateur à un jeton non fongible dynamique permet en outre à un utilisateur d’assurer la portabilité de ses données dans des environnements hétérogènes et de simplifier considérablement l’accès de cet utilisateur à de nouveaux services. En effet, lorsqu’une connaissance d’un utilisateur un (en anglais KYC, « Know Your Customer ») a été réalisée par la vérification de documents de cet utilisateur associé à un jeton non fongible dans un premier environnement (par exemple vérification d’identité, de credentials, d’éligibilité, …) pour un premier service (par exemple à l’ouverture d’un compte bancaire) et que la preuve du résultat de cette vérification est intégrée aux données associées à ce jeton non fongible, l’obtention de ce jeton non fongible permet, dans un deuxième environnement, d’attribuer directement des droits à cet utilisateur pour un deuxième service (réservation d’un véhicule par exemple), sans recommencer la vérification de ses documents. L’invention propose ainsi d’utiliser les jetons non fongibles comme des éléments de preuve de l’identité de l’utilisateur, les jetons non fongibles présentant les caractéristiques d’être non répudiables et infalsifiables. La caractère non fongible du jeton garantit en outre que ce titre de propriété ne peut pas (contrairement à une signature numérique par exemple) être reproduit ou utilisé à l’insu de l’utilisateur. L’utilisation d’un jeton non fongible dans l’invention permet de suivre l’activité d’une personne physique ou morale quel que soit l’environnement. Par exemple, si un jeton non fongible est détenu par un organisme de presse (personne morale) et que les contenus numériques produits par cet organisme de presse sont enregistrés dans le graphe général associé à ce jeton non fongible, il est très simple, de n’importe quel environnement, de prouver qu’un de ces contenus numériques provient de cet organisme de presse. Dans la mise en œuvre, le titre de propriété constitué par un jeton non fongible peut être géré soit de façon explicite avec une identité visible de l’utilisateur personne physique ou morale, soit de façon totalement anonyme. Un utilisateur peut diffuser de l’information numérique reliée à un jeton non fongible de façon anonyme, les tiers étant cependant en mesure de vérifier que cette information est bien associée au dit jeton. Dans un mode de réalisation, la chaîne de blocs est un registre distribué au sein d’un réseau de pairs, le terminal étant un pair dudit réseau configuré pour mémoriser localement au moins une partie dudit sous-graphe, lesdits blocs étant mémorisés dans une base de données locale dudit terminal. La constitution et la consultation de l'historique de données personnelles d’un utilisateur par le terminal de cet utilisateur peuvent s'effectuer de façon asynchrone, hors réseau, et se resynchroniser sans dégradation des fonctionnalités et de la sécurité de la solution. Dans un mode de réalisation, le modèle de données définit que des branches dudit sous-graphe comportent des blocs dont les données personnelles chiffrées correspondent à des données de géolocalisation horodatées dudit terminal au cours d’un déplacement détecté dudit terminal. Dans ce mode de réalisation de l’invention, le terminal d’un utilisateur détecte les déplacements. Lorsqu’un nouveau déplacement est détecté, une nouvelle branche est créée dans le sous-graphe de l’utilisateur, des blocs chaînés comportant des données de géolocalisation horodatées chiffrées sont intégrés dans la branche au fur et à mesure du déplacement et lorsque la position du terminal est détectée inchangée pendant une durée prédéterminée, la branche s’arrête. Dans un mode de réalisation, le modèle de données définit que des blocs dont les données personnelles chiffrées correspondent à une activité numérique du terminal à une date donnée ou à des données reçues d’un tiers à une date donnée est attaché, dans le sous-graphe de l’utilisateur, à un bloc dont les données personnelles chiffrées correspondent à des données de géolocalisation dudit terminal horodatées à ladite date donnée. Ce mode de réalisation permet avantageusement de dater et de localiser l’ensemble des activités numériques d’un utilisateur. A titre d’exemple, il permet de garantir qu’une photographie acquise par le terminal d’un utilisateur a été acquise à une date donnée et alors que le terminal se trouvait à un endroit donné. Dans un mode particulier de réalisation de l’invention, les données personnelles de géolocalisation peuvent être associées à des éléments de preuve de la présence du terminal à la position donnée à un instant donné, ces éléments de preuve étant par exemple des éléments de preuve signés et fournis par un opérateur de télécommunications capable de valider ces éléments par bornage. Dans un mode de réalisation, le procédé de constitution des données personnelles d’un utilisateur comporte une étape d’intégration dans le sous-graphe d’un utilisateur, d’un contrat numérique auquel est partie cet utilisateur, le contrat étant chiffré par une clé publique du terminal de l’utilisateur, une clé publique d’au moins une autre partie au contrat et une clé publique d’un environnement de confiance numérique, ledit contrat comportant au moins : - la clé de chiffrement symétrique de l’utilisateur chiffrée avec une clé publique de l’environnement de confiance numérique ; et - des instructions pouvant être exécutées par ledit environnement de confiance numérique pour : (i) déchiffrer au moins une partie desdites données personnelles de l’utilisateur avec la clé de chiffrement symétrique ; (ii) vérifier que le jeton non fongible associé au bloc racine du sous graphe appartient audit utilisateur ; (iii) analyser lesdites personnelles déchiffrées ; et (iv) fournir un résultat de ladite analyse à au moins une partie au contrat. Dans ce mode de réalisation de l’invention, le procédé de gestion des données personnelles d’une pluralité d’utilisateurs comporte une étape de gestion d’un ensemble d’instances d’un environnement de confiance numérique, une dite instance étant configurée pour : - exécuter des instructions définies dans un contrat numérique pour analyser une partie des données personnelles d’au moins un dit utilisateur partie au contrat, ledit contrat comportant une clé de chiffrement symétrique de ladite au moins une partie au contrat chiffrée avec une clé publique de ladite instance d’environnement de confiance numérique, ladite clé de chiffrement symétrique pouvant être utilisée par ladite instance pour déchiffrer lesdites données personnelles à analyser ; - fournir un résultat de ladite analyse à au moins une partie au contrat. Selon cet aspect, l’invention propose que les contrats qui analysent les données personnelles des utilisateurs soient exécutés dans un environnement de confiance, et non pas par les terminaux des parties au contrat pour ne pas exposer les données personnelles de ces parties. L’exécution dans un environnement de confiance est aussi connue de l’homme du métier sous l’expression anglaise « Confidential computing ». Dans un mode préféré de réalisation, ces contrats intègrent des délégations d'accès aux données personnelles chiffrées à destination exclusive de l’environnement de confiance dans lequel ces données sont analysées, cet environnement de confiance étant configuré pour déchiffrer tout ou partie des données personnelles d’une partie au contrat, les analyser et transmettre les résultats de l’analyse à une ou plusieurs parties au contrat. Ce mode de réalisation de l’invention permet avantageusement l’exécution de contrats entre des parties ayant des environnements hétérogènes. L’invention permet en particulier la portabilité des données d’un utilisateur dans le Metaverse (marque déposée), y compris l’exécution, dans le Metaverse, de contrats numériques nécessitant une analyse des données personnelles des parties au contrat tout en assurant la protection de ces données personnelles. Dans un mode de réalisation, le procédé de constitution d’un historique de données personnelles comporte une étape de génération d’au moins un deuxième jeton non fongible dynamique pour ledit utilisateur et une étape d’association d’un sous-graphe dudit sous-graphe audit deuxième jeton non fongible dynamique. L'utilisateur propriétaire du jeton non fongible dynamique auquel est attachée la racine du sous-graphe comportant l’historique de ses données personnelles peut générer des jetons pointant sur une sous-partie de ce sous-graphe, par exemple sur une branche de ce sous-graphe. Cette caractéristique permet avantageusement à l’utilisateur d’exploiter séparément une partie de son historique. L’invention vise aussi un terminal comportant un processeur configuré pour mettre en œuvre: - une étape d’obtention d’une clé de chiffrement symétrique associée à un profil de l’utilisateur ; - une étape de collecte de données personnelles de l’utilisateur ; et - au fur et à mesure de la collecte desdites données personnelles de l’utilisateur : (i) une étape de chiffrement de ces données personnelles avec la clé de chiffrement symétrique de cet utilisateur ; et (ii) une étape d’enregistrement , dans une base de données générale, de blocs comportant lesdites données chiffrées, lesdits blocs étant organisés selon une chaîne de blocs constituant un sous-graphe d’un graphe général dont la topologie est définie par un modèle de données préétabli, un bloc racine dudit sous-graphe étant associé à un jeton non fongible dynamique de cet utilisateur. L’invention vise aussi un serveur de gestion des données personnelles d’une pluralité d’utilisateurs, ce serveur comportant un processeur configuré pour gérer une base de données générale dans laquelle sont enregistrés des blocs, chaque bloc comportant des données personnelles chiffrées d’un utilisateur, les blocs comportant les données personnelles chiffrées d’un même utilisateur étant organisés selon une chaîne de blocs constituant un sous-graphe d’un même graphe général dont la topologie est définie par un modèle de données préétabli, un bloc racine dudit sous-graphe étant associé à un jeton non fongible dynamique de cet utilisateur. La base de données générale utilisée dans l’invention peut être centralisée (par exemple administrée par le serveur de gestion de données personnelles) ou distribuée. L’invention vise également un programme d’ordinateur sur un support d’enregistrement, ce programme étant susceptible d’être mis en œuvre dans un ordinateur. Ce programme comporte des instructions adaptées à la mise en œuvre d’un procédé de constitution d’un historique de données personnelles tel que décrit ci-dessus. L’invention vise également un programme d’ordinateur sur un support d’enregistrement, ce programme étant susceptible d’être mis en œuvre dans un ordinateur. Ce programme comporte des instructions adaptées à la mise en œuvre d’un procédé de gestion des données personnelles d’un ensemble d’utilisateurs tel que décrit ci-dessus. Chacun de ces programmes peut utiliser n’importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable. L’invention vise aussi un support d'information ou un support d’enregistrement lisibles par un ordinateur, et comportant des instructions du premier ou du deuxième ou du troisième programme d'ordinateur tel que mentionné ci-dessus. Les supports d'information ou d’enregistrement peuvent être n'importe quelle entité ou dispositif capable de stocker les programmes. Par exemple, les supports peuvent comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple un disque dur, ou une mémoire flash. D'autre part, les supports d'information ou d’enregistrement peuvent être des supports transmissibles tels qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par lien radio, par lien optique sans fil ou par d'autres moyens. Les programmes selon l'invention peuvent être en particulier téléchargés sur un réseau de type Internet. Alternativement, chaque support d'informations ou d’enregistrement peut être un circuit intégré dans lequel un programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution de l’un des procédés conformes à l’invention. D’autres caractéristiques et avantages de la présente invention ressortiront de la description faite ci-dessous, en référence aux dessins annexés qui en illustrent un exemple de réalisation dépourvu de tout caractère limitatif. Sur les figures : la représente des terminaux, un serveur de gestion de données personnelles et des instances d’un environnement de confiance numérique pouvant être utilisés dans un mode particulier de mise en œuvre de l’invention; la représente un graphe général pouvant être mis en œuvre dans un mode particulier de réalisation de l’invention ; la représente un sous-graphe du graphe général de la ;; la illustre une proposition de contrat établie par une première partie; la illustre un contrat formé après acceptation de la proposition de contrat de la par une deuxième partie; la illustre la création d’un compte utilisateur dans un mode particulier de réalisation de l’invention; la représente les principales étapes mises en œuvre pour la constitution de l’historique de données personnelles d’un utilisateur ; la représente les principales étapes mises en œuvre par le terminal d’un utilisateur pour la consultation de données personnelles de cet utilisateur ; la représente les principales étapes mises en œuvre pour l’établissement d’un contrat ; La représente les principales étapes mises en œuvre pour l’exécution d’un contrat ; la représente l’architecture matérielle d’un terminal conforme à un mode particulier de réalisation de l’invention ; et la représente l’architecture matérielle d’un serveur conforme à un mode particulier de réalisation de l’invention ; Procédé de constitution d’un historique de données personnelles (DP A ) d’un utilisateur (A), ce procédé étant mis en œuvre par un terminal (T A ) de l’utilisateur (A) et comportant : - une étape (E40) d’obtention d’une clé de chiffrement symétrique (KS A ) associée à un profil de l’utilisateur (A) ; - une étape (E50) de collecte de données personnelles (DP A ) de l’utilisateur ; - au fur et à mesure de la collecte desdites données personnelles (DP A ) de l’utilisateur (A) : (i) une étape (E52) de chiffrement de ces données personnelles avec la clé de chiffrement symétrique (KS A ) de cet utilisateur ; et (ii) une étape d’enregistrement (E56), dans une base de données générale (BD C ), de blocs (B i ) comportant lesdites données chiffrées ([B iA ]), lesdits blocs (B i ) étant organisés selon une chaîne de blocs constituant un sous-graphe (SG A ) d’un graphe général (G C ) dont la topologie est définie par un modèle de données préétabli, un bloc racine (BR A ) dudit sous-graphe (SG A ) étant associé à un jeton non fongible dynamique (NFT A ) de cet utilisateur (A). Procédé de constitution d’un historique de données personnelles selon la revendication 1 dans lequel ladite chaîne de blocs est un registre distribué au sein d’un réseau de pairs, ledit terminal (T A ) étant un pair dudit réseau configuré pour mémoriser localement au moins une partie dudit sous-graphe (SG A ), lesdits blocs (B i ) étant mémorisés dans une base de données locale (BD A ) dudit terminal (T A ). Procédé de constitution d’un historique de données personnelles selon la revendication 1 ou 2, dans lequel ledit modèle de données définit que des branches dudit sous-graphe (SG A ) comportent des blocs (B i ) dont les données personnelles chiffrées correspondent à des données de géolocalisation horodatées dudit terminal (T A ) au cours d’un déplacement détecté dudit terminal (T A ). Procédé de constitution d’un historique de données personnelles selon la revendication 3, dans lequel ledit modèle de données définit que des blocs (B k , B r ) dont les données personnelles chiffrées correspondent à une activité numérique du terminal à une date donnée ou à des données reçues d’un tiers à une date donnée est attaché dans ledit sous-graphe (SG A ) à un bloc (B i ) dont les données personnelles chiffrées correspondent à des données de géolocalisation dudit terminal (T A ) horodatées à ladite date donnée. Procédé de constitution d’un historique de données personnelles selon l’une quelconque des revendications 1 à 4, ledit procédé comportant une étape (E78) d’intégration dans ledit sous-graphe (SG A ), d’un contrat numérique ([AG ECN A, SP ]) auquel est partie ledit utilisateur (A), ledit contrat étant chiffré par une clé publique (KPUB A ) dudit terminal (T A ), une clé publique (KPUB SP ) d’au moins une autre partie au contrat et une clé publique (KPUB ECN ) d’un environnement de confiance numérique, ledit contrat comportant au moins : - la clé de chiffrement symétrique ([KS A ]) de l’utilisateur (A) chiffrée avec une clé publique (KPUB ECN ) de l’environnement de confiance numérique ; et - des instructions (DLII, CODE) pouvant être exécutées par ledit environnement de confiance numérique pour : (i) déchiffrer au moins une partie desdites données personnelles (DP A ) dudit utilisateur avec ladite clé de chiffrement symétrique (KS A ) ; (ii) vérifier que le jeton non fongible (NFT A ) associé au bloc racine (BR A ) du sous graphe (SG A ) appartient audit utilisateur (A) ; (iii) analyser lesdites personnelles déchiffrées ; et (iv) fournir un résultat de ladite analyse à au moins une partie au contrat. Procédé de constitution d’un historique de données personnelles selon l’une quelconque des revendications 1 à 5, comportant une étape de génération d’au moins un deuxième jeton non fongible dynamique (NFT A 2 ) pour ledit utilisateur et une étape d’association d’un sous-graphe (SG A 2 ) dudit sous-graphe (DGA) audit un deuxième jeton non fongible dynamique (NFT A 2 ). Procédé de gestion, mis en œuvre par un serveur (SDP) de gestion des données personnelles d’une pluralité d’utilisateurs, ce procédé comportant la gestion d’une base de données générale (BD C ) dans laquelle sont enregistrés des blocs (B i ), chaque bloc (B i ) comportant desdites données personnelles chiffrées d’un dit utilisateur, lesdits blocs (Bi) comportant les données personnelles chiffrées d’un même utilisateur étant organisés selon une chaîne de blocs constituant un sous-graphe (SG A ) d’un même graphe général (G C ) dont la topologie est définie par un modèle de données préétabli, un bloc racine (BR A ) dudit sous-graphe (SG A ) étant associé à un jeton non fongible dynamique (NFT A ) de cet utilisateur (A). Procédé de gestion selon la revendication 7, ledit procédé comportant une étape (E700) de gestion d’un ensemble d’instances d’un environnement de confiance numérique, une dite instance étant configurée pour : - exécuter des instructions (DLII, CODE) définies dans un contrat numérique (AG ECN A, SP ) pour analyser une partie desdites données personnelles (DP A ) d’au moins un dit utilisateur partie au contrat, ledit contrat comportant une clé de chiffrement symétrique ([KS A ]) de ladite au moins une partie au contrat chiffrée avec une clé publique (KPUB ECN ) de ladite instance d’environnement de confiance numérique, ladite clé de chiffrement symétrique (KS A ) pouvant être utilisée par ladite instance pour déchiffrer lesdites données personnelles à analyser ; - fournir un résultat de ladite analyse à au moins une partie au contrat. Terminal (T A ) comportant un processeur configuré pour mettre en œuvre: - une étape d’obtention d’une clé de chiffrement symétrique (KS A ) associée à un profil de l’utilisateur (A) ; - une étape de collecte de données personnelles (DP A ) de l’utilisateur ; et - au fur et à mesure de la collecte desdites données personnelles (DP A ) de l’utilisateur (A) : (i) une étape (E52) de chiffrement de ces données personnelles avec la clé de chiffrement symétrique (KS A ) de cet utilisateur ; et (ii) une étape d’enregistrement (E56), dans une base de données générale (BD C ), de blocs (B i ) comportant lesdites données chiffrées ([B iA ]), lesdits blocs (B i ) étant organisés selon une chaîne de blocs constituant un sous-graphe (SG A ) d’un graphe général (G C ) dont la topologie est définie par un modèle de données préétabli, un bloc racine (BR A ) dudit sous-graphe (SG A ) étant associé à un jeton non fongible dynamique (NFT A ) de cet utilisateur (A). Serveur (SDP) de gestion des données personnelles d’une pluralité d’utilisateurs, ce serveur comportant un processeur configuré pour gérer une base de données générale (BD C ) dans laquelle sont enregistrés des blocs (B i ), chaque bloc (B i ) comportant desdites données personnelles chiffrées d’un dit utilisateur, lesdits blocs (Bi) comportant les données personnelles chiffrées d’un même utilisateur étant organisés selon une chaîne de blocs constituant un sous-graphe (SG A ) d’un même graphe général (G C ) dont la topologie est définie par un modèle de données préétabli, un bloc racine (BR A ) dudit sous-graphe (SG A ) étant associé à un jeton non fongible dynamique (NFT A ) de cet utilisateur (A). Programme d’ordinateur (P1) comportant des instructions pour l’exécution d’un procédé de constitution d’un historique de données personnelles selon l’une des revendications 1 à 6 lorsque ledit programme est exécuté par un ordinateur. Programme d’ordinateur (P2) comportant des instructions pour l’exécution d’un procédé de gestion des données personnelles d’une pluralité d’utilisateurs selon l’une des revendications 7 ou 8 lorsque ledit programme est exécuté par un ordinateur.