Brevet FR3091364A1 — publié le 20200703

Description Titre de l'invention : réseau de communication sécurisée et tracée Domaine technique de l'invention [0001] La présente invention concerne de manière générale le domaine des réseaux de télé- communications et la gestion des échanges de données dans ces réseaux. [0002] Elle concerne également le procédé de communication utilisant ce réseau. Technique antérieure [0003] 111 existe aujourd'hui plusieurs systèmes chargés de gérer les transactions entre différents utilisateurs au sein d'un réseau afin (l'échanger des données ou d'autres contenus. [0004] Par exemple, Corda est un système où les transactions sont validées par une partie tierce, un notaire. Cette partie tierce réduit la visibilité d'une transaction aux utilisateurs. La transaction existe entre deux utilisateurs mais n'est pas visible par les autres utilisateurs. Cependant si un utilisateur non autorisé reçoit une transaction, cela lui donne une visibilité sur des transactions qui sont potentiellement privées et ne le concerne pas. Enfin les données personnelles sont stockées dans les transactions, elles peuvent donc être interceptées par un notaire ou par une personne qui reçoit une transaction qui porte un historique. [0005] On considère qu'une donnée « privée » devrait être non accessible par toute personne qui n'y est pas autorisée, elle ne doit pas pouvoir être « exposée » dans un système mu-hi-utilisateur aussi sécurisé soit-il à ce jour. [0006] Hyperledger est un système qui propose que l'échange de données soit géré par un groupe de noeuds (ports) appelés endorsers. Toute transaction n'est connue que des utilisateurs et des endorsers. La transaction contient les données privées, les endorsers reçoivent donc les données privées. Si les endorsers refusent la transaction, tout « disparaît ». Si les endorsers acceptent la transaction, ils regardent la définition de la transaction pour savoir qui possède les droits et dans quelle conditions (notamment combien de temps) et envoient la donnée privée à ceux qui ont le droit de la recevoir. Pour cela, ils créent une transaction qui contient le hash de la donnée privée et distribuent cette transaction à toutes les personnes du réseau (i.e. les personnes qui ont accès à la donnée privée et les autres qui ne voient donc que le hash). Lorsque le temps défini est écoulé, la donnée est effacée de la « database » locale des noeuds ayant reçu la donnée privée. [0007] Hyperledger propose donc un système où la responsabilité des données est poussée au niveau des endorsers qui reçoivent les données et qui contrôlent leur diffusion et leur suppression. Le système fonctionne donc sur un tiers technique, l'échange ne peut 2 donc se faire sans intermédiaire. [0008] MultiChain propose la gestion de catalogues publics qui indiquent à ceux qui y adhèrent comment récupérer la donnée. La donnée n'est donc pas privée et aucun système ne permet de demander la suppression de la donnée chez les porteurs. Le propriétaire n'a donc aucun contrôle sur ses données. Ce système est plus adapté à la diffusion de grosses données publiques. Exposé de l'invention [0009] La présente invention a donc pour objet de proposer un réseau de communication sécurisée et tracée sans intermédiaire, permettant de palier au moins une partie des inconvénients de l'art antérieur. [0010] A cet effet, l'invention concerne un réseau comportant une pluralité de noeuds dont au moins un noeud définit par une application l'environnement individuel d'un utilisateur, et au moins un autre noeud est utilisé par un autre utilisateur, chaque noeud étant individuellement équipé : - d'un outil de gestion personnelle de données exécuté sur un outil de traitement du noeud qui permet à l'utilisateur de gérer ses données ; d'un outil d'échange sécurisé de données exécuté sur un outil de traitement du noeud pour gérer l'envoi personnel de données d'un utilisateur à un autre ; - et l'outil de gestion ayant accès à un outil de traçabilité exécuté sur un outil de traitement d'un noeud du réseau qui donnera accès à une trace de chaque action réalisée sur les données à tout utilisateur du réseau souhaitant ces traces. [0011] Avantageusement, l'invention permet de proposer un réseau dont les échanges entre utilisateurs sont tracés, et dont la sécurité est garantie, cc qui rend possible des interactions entre des entités qui ne se font pas confiance, et de réduire l'intermédiation grâce à l'absence de la nécessité d'un tiers dans l'échange. [0012] Avantageusement, l'invention n'est pas en interface directe avec l'utilisateur final, et permet de gérer les échanges de données en toute transparence pour l'utilisateur final. [0013] De préférence, l'invention est appelée au travers de systèmes qui gèrent l'ensemble des actions de façon automatique ou qui possèdent les interfaces suffisantes pour obtenir les réponses manuelles des utilisateurs finaux. [0014] Selon une autre particularité, le noeud comprend plusieurs outils et plusieurs modules de codes exécutables sur un ou plusieurs composants hardware de traitement tels qu'un microprocesseur pour constituer une machine, les modules étant mémorisés dans au moins un média lisible par une machine, et dans lequel l'outil de gestion personnelle de données comprend plusieurs modules dont au moins : - un module de gestion qui, par l'intermédiaire de codes exécutés sur un composant 3 hardware, définit des données à gérer par l'outil de gestion, les niveaux d'accès/droits et les autorisations d'actions d'un utilisateur vis-à-vis desdites données, - un module de création qui, par l'intermédiaire de codes exécutés sur un composant hardware, crée une empreinte digitale de chaque donnée gérée par l'outil de gestion personnelle, ainsi préférentiellement qu'un lien vers cette empreinte. - un module d'écriture et de sauvegarde qui, par l'intermédiaire de codes exécutés sur un composant hardware, modifie et enregistre des données dans une base de données de l'utilisateur [0015] Selon une autre particularité, le noeud comprend plusieurs outils et plusieurs modules de codes exécutables sur un ou plusieurs composants hardware de traitement tels qu'un microprocesseur pour constituer une machine, les modules étant mémorisés dans au moins un média lisible par une machine, et dans lequel l'outil d'échange de données comprend plusieurs modules dont au moins : - un module de création de requête qui, par l'intermédiaire de codes exécutés sur un composant hardware, produit une requête - un module émetteur de requêtes qui, par l'intermédiaire de codes exécutés sur un composant hardware, envoie une requête à un utilisateur destinataire, - un module émetteur et récepteur de données qui, par l'intermédiaire de codes exécutés sur un composant hardware, envoie et reçoit des données d'un utilisateur émetteur à un utilisateur récepteur, - un module de vérification qui, par l'intermédiaire de codes exécutés sur un composant hardware, vérifie, authentifie et confirme que les données reçues correspondent aux données attendues [0016] Selon une autre particularité, le noeud comprend plusieurs outils et plusieurs modules de codes exécutables sur un ou plusieurs composants hardware de traitement tels qu'un microprocesseur pour constituer une machine, les modules étant mémorisés dans au moins un média lisible par une machine, et dans lequel l'outil de traçabilité comprend une base de données et plusieurs modules dont au moins : Un module de création qui, par l'intermédiaire de codes sur un composant hardware, produit une trace correspondante à une action réalisée sur des données, la trace étant associée à l'empreinte correspondante aux données, Un module de sauvegarde qui, par l'intermédiaire de codes sur un composant hardware, enregistre les traces des actions réalisées par les utilisateurs sur les données dans la base de données de l'outil de traçabilité, les traces étant préférentiellement composées de l'empreinte ou d'un lien vers celle-ci et d'au moins une référence associée à celle-ci. [0017] Selon une autre particularité, la requête produite par le module de création de requête de l'outil d'échange de données comprend au moins une demande parmi les suivantes: - une demande d'envoi de données contenant au moins un champ contenant des données identifiées, - une demande de réception de données contenant au moins un champ contenant des données identifiées, - une demande de modification de données contenant au moins un champ contenant des données identifiées, - une demande de modification de droits d'accès à des données contenant au moins un champ contenant des données identifiées, - une demande de suppression de données contenant au moins un champ contenant des données identifiées, [0018] Selon une autre particularité, l'échange de données se fait à partir d'un catalogue (données + coordonnées du propriétaire des données), ou d'un annuaire (coordonnées des utilisateurs du réseau), ou en récupérant les informations nécessaires à l'extérieur du système (lien. QR code, pour récupérer coordonnées pour échange de données...) [0019] Selon une autre particularité, la base de données de l'outil de traçabilité comprend une base de données blockchain, configurée pour stocker l'ensemble des traces correspondantes aux actions réalisées par les utilisateurs sur des données. [0020] Selon une autre particularité, l'outil de traçabilité comprend en outre un module d'évaluation qui, par l'intermédiaire de codes exécutés sur un composant hardware, évalue la qualité des échanges avec les utilisateurs et/ou la qualité des données échangées. [0021] Selon une autre particularité, l'empreinte de données créée par le module émetteur de l'outil de gestion personnelle de données est au moins le résultat d'une fonction de hachage sur lesdites données. [0022] Selon une autre particularité, l'outil de gestion personnelle de données gère différents formats et structures de fichiers et est apte à les convertir en d'autres formats ou structures de fichiers. [0023] L'invention couvre aussi un procédé de communication entre plusieurs utilisateurs dans un réseau comportant une pluralité de noeuds, par un système de gestion de données privées, sécurisées et tracées sans intermédiaire, dans lequel chaque utilisateur utilise : un outil de gestion personnelle de données présentes dans une base de données d'un premier utilisateur, les données n'étant pas accessibles par les autres utilisateurs, l'outil de gestion comprenant plusieurs modules dont au moins : - Module de gestion - Module de création d'une empreinte correspondante à une donnée - Module d'écriture et de sauvegarde dans la base de données de l'utilisateur (10) un outil d'échange sécurise de données entre un utilisateur émetteur à un utilisateur récepteur d'un même réseau, comprenant plusieurs modules dont au moins : - Module de création de requête - Module émetteur de requête - Module émetteur et récepteur de données un outil de traçabilité configure pour référencer l'intégralité des actions réalisées sur les données, et configure pour permettre à tout utilisateur de consulter lesdites actions référencées, ledit outil de traçabilité comprenant une base de données et plusieurs modules dont au moins : - Module de création - Module de sauvegarde Le procédé comprenant au moins les étapes suivantes : Définition par le modèle de gestion de l'outil de gestion personnelle de données des données à gérer par ledit outil de gestion, Génération par le module de création d'une empreinte des données à gérer, Création et Envoi d'une requête d'action comprenant au moins ladite empreinte et une requête d'action par les modules de création et émetteur de requête de l'outil d'échange sécurisé de données, Création par le module de création de l'outil de traçabilité d'une trace correspondante à l'action demandée ou réalisée sur des données, la trace étant associée à une empreinte correspondante auxdites données, Enregistrement de ladite trace et de l'empreinte de données par le module de sauvegarde de l'outil de traçabilité dans sa base de données, Envoi et Réception de données correspondant au moins ladite empreinte par les modules émetteur et récepteur de données de l'outil d'échange sécurisé de données, Enregistrement des données reçues par l'outil d'échange de données par le module d'écriture et de sauvegarde de l'outil de gestion personnelle de données dans la base de données de l'utilisateur (10). [0024] Selon une autre particularité, l'outil d'échange sécurisé de données comprend en outre un module de vérification, le procédé comprenant une étape supplémentaire de vérification de l'empreinte des données et/ou des données elle-même. [0025] Selon une autre particularité, l'outil de traçabilité comprend en outre un module d'évaluation, le procédé comprenant une étape supplémentaire dans laquelle le module d'évaluation évalue la qualité des échanges avec les utilisateurs et/ou la qualité des données échangées [0026] Selon une autre particularité, un utilisateur souhaitant ajouter des données à son périmètre, et dans lequel déclenche l'émission d'une requête d'ajout de données dirigée vers l'utilisateur responsable de la production de la requête, la trace cor- 6 respondant à l'action réalisée enregistrée par le module de sauvegarde de l'outil de traçabilité comprenant au moins une information sur l'utilisateur, propriétaire des données tel que son adresse et le type de la requête d'action, le procédé comprenant en outre l'étape suivante : Enregistrement de l'empreinte des données à ajouter par le module d'écriture de l'outil de gestion. [0027] Selon une autre particularité, un utilisateur souhaitant modifier des données qu'il est autorisé à modifier déclenche l'émission d'une requête de modification, la trace correspondant à l'action réalisée enregistrée par le module de sauvegarde de l'outil de traçabilité comprenant au moins une information sur l'utilisateur, propriétaire des données telle que son adresse et le type de la requête d'action, le procédé comprenant en outre les étapes suivantes : Authentification par l'outil de gestion personnelle de données de l'utilisateur par pré- sentation de l'empreinte correspondant à la donnée à modifier et des accès/autorisations liées, Modification des données et de l'empreinte des données par le module d'écriture Sauvegarde de la donnée modifiée dans la base de données de l'outil de gestion personnelle de données Sauvegarde de la trace et de l'empreinte modifiée dans la base de données de l'outil de traçabilité [0028] Selon une autre particularité, un utilisateur souhaitant supprimer des données qu'il est autorisé à supprimer déclenche l'émission d'une requête de suppression de données dirigée vers (l'utilisateur responsable de la production de la requête '2), la trace correspondant à l'action réalisée enregistrée par le module de sauvegarde de l'outil de traçabilité comprenant au moins une information sur l'utilisateur, propriétaire des données telle que son adresse et le type de la requête d'action, le procédé comprenant en outre les étapes suivantes : - Suppression des données à supprimer par le module d'écriture de l'outil de gestion, - Authentification par l'outil de gestion personnelle de données de l'utilisateur par présentation de l'empreinte correspondant à la donnée à supprimer et des autorisations liées, - Suppression des données et de l'empreinte des données dans la base de données de l'utilisateur (10) par l'outil de gestion personnelle de données de l'utilisateur [0029] Selon une autre particularité, un utilisateur souhaitant partager des données émet une requête de partage de données diiigée vers un autre utilisateur, la trace correspondant à l'action réalisée enregistrée par le module de sauvegarde de l'outil de traçabilité comprenant au moins une information sur le destinataire et l'émetteur de la requête telle que leur adresse et le type de la requête d'action; 7 le procédé comprenant en outre les étapes suivantes : - Authentification/vérification par l'outil de gestion personnelle de données de l'utilisateur, par présentation de l'empreinte correspondant aux données à partager et des autorisations liées, - Envoi de la requête de demande de partage par l'outil d'échange sécurisé de l'utilisateur émetteur, - Enregistrement de la trace de la requête de demande de partage Réception de la requête de partage par l'outil d'échange sécurisé de l'utilisateur destinataire, - Envoi de la requête de confirmation de partage par l'outil d'échange sécurisé de l'utilisateur destinataire, - Enregistrement de la trace de la requête de demande de partage - Réception de la requête de confirmation de partage par l'outil d'échange sécurisé de l'utilisateur émetteur, - Envoi des données et préférentiellement en outre de l'empreinte des données par l'outil d'échange sécurisé de l'utilisateur possédant les données dans sa base de données à l'utilisateur ne les possédant pas, - Sauvegarde des données partagées et préférentiellement en outre de l'empreinte des données partagées dans la base de données de l'outil de gestion personnelle de données de l'utilisateur recevant les données, [0030] Selon une autre particularité, un utilisateur souhaitant demander la suppression de données à un autre utilisateur, émet une requête de demande de suppression de données dirigée vers un autre utilisateur, la trace correspondant à l'action réalisée enregistrée par le module de sauvegarde de l'outil de traçabilité comprenant au moins une information sur le destinataire et l'émetteur de la requête telle que leur adresse et le type de la requête d'action, le procédé comprenant en outre les étapes suivantes : - Authentification/vérification par l'outil de gestion personnelle de données de l'utilisateur par présentation de l'empreinte correspondant aux données à supprimer et des autorisations liées, - Envoi de la requête de demande de suppression par l'outil d'échange sécurisé de l'utilisateur émetteur, - Enregistrement de la trace de la requête de demande de suppression - Réception de la requête de suppression par l'outil d'échange sécurisé de l'utilisateur destinataire, - Envoi de la requête de confirmation de suppression par l'outil d'échange sécurisé de l'utilisateur destinataire, - Enregistrement de la trace de la requête de confirmation de suppression 8 Réception de la requête de confirmation de suppression par l'outil d'échange sécurisé de l'utilisateur émetteur, - Suppression des données dans la base de données de l'outil de gestion des données de l'utilisateur destinataire... [0031] L'invention est utilisée au sein d'un réseau. Un réseau est constitué d'entités physiques ou logiques, on distinguera le propriétaire des données qui a déclaré sa propriété, le porteur de données qui a reçu les données d'un autre et l'utilisateur qui peut être propriétaire, porteur, ou ni l'un ni l'autre. [0032] Plusieurs réseaux peuvent être créés sans qu'il y ait la moindre connexion d'un réseau à l'autre. Un réseau peut être complètement ouvert, c'est-à-dire que tout utilisateur peut rejoindre, librement et dc façon autonome, ce réseau, il s'agit alors d'un réseau dit public. Lorsque le réseau est public, les données de chaque utilisateur restent malgré tout privées. [0033] L'invention propose un environnement où différents utilisateurs peuvent utiliser et échanger des données sans rendre publique ces données, sans même les partager à une entité tierce. L' invention peut néanmoins être utilisée par un seul utilisateur ou faire intervenir une entité tierce. [0034] Brève description des figures [0035] D'autres caractéristiques, détails et avantages de l'invention ressortiront à la lecture de la description qui suit en référence aux figures annexées, qui illustre : [fig.11 représente une vue d'ensemble schématique du réseau selon un mode de réalisation particulier de l'invention [fig.21 est une représentation schématique des étapes d'un procédé d'import de données utilisant le réseau selon un mode de réalisation particulier. [fig.31 est une représentation schématique des étapes d'un procédé de modification de données utilisant le réseau selon un mode de réalisation particulier. [fig.41 est une représentation schématique des étapes d'un procédé de partage de données utilisant le réseau selon un mode de réalisation particulier. [fig.51 une représentation schématique des étapes d'un procédé de suppression de données utilisant le réseau selon un mode de réalisation particulier. 1fig.61 est une représentation schématique d'une vue d'ensemble de l'environnement informatique supportant le réseau selon l'invention Description des modes de réalisation 100361 De nombreuses combinaisons peuvent être envisagées sans sortir du cadre de l'invention ; l'homme de métier choisira l'une ou l'autre en fonction des contraintes économiques, ergonomiques, dimensionnelles ou autres qu'il devra respecter. 9 [0037] On entend par données toute information, ou paquet d'informations, structurée ou non. Les données peuvent être stockées en fichier, base de données, ou bien gérées virtuellement en mémoire tampon sans jamais être réellement stockées. [0038] On entend par « mémoire » tous types de "support de stockage » ou de « média lisible par machine". On entend par "support de stockage/média lisible par machine" ou "support de stockage/média lisible par ordinateur", sans toutefois s'y limiter, les dispositifs de stockage portables ou non portables, les dispositifs de stockage optique et divers autres supports capables de stocker, de contenir ou de supporter des instructions et / ou données, et tout support qui participe à la fourniture d'instructions à un processeur pour leur exécution. Un support lisible par machine peut inclure un support non transitoire dans lequel des données peuvent être stockées et qui n'inclut pas les ondes porteuses et / ou les signaux électroniques transitoires se propageant sans fil ou par des connexions filaires. Les supports non volatiles comprennent, par exemple, les disques optiques, magnétiques ou les mémoires mortes. Les supports volatiles incluent la mémoire dynamique, y compris la mémoire cache. Les supports de transmission comprennent les câbles coaxiaux, les fils de cuivre et les fibres optiques. Les formes courantes de supports lisibles par ordinateur incluent, par exemple, sans toutefois s'y limiter, une disquette, un disque flexible, un disque dur, une bande magnétique, tout autre support magnétique, un CD-ROM, un DVD, tout autre support optique, des cartes perforées, une autre support physique avec des motifs de trous, une RAM, une PROM et une EPROM, une FLASH-EPROM, toute autre puce de mémoire ou cartouche, une onde porteuse, ou tout autre support à partir duquel un ordinateur peut lire. Diverses formes de supports lisibles par ordinateur peuvent être impliquées dans le support d'une ou plusieurs séquences d'une ou plusieurs instructions vers un processeur pour leur exécution. [0039] Un produit programme d'ordinateur peut inclure un code et / ou des instructions exé- cutables par une machine pouvant représenter une procédure, une fonction, un sous-programme, un programme, une routine, un sous-programme, un module, un logiciel, une classe ou toute combinaison de instructions, structures de données ou instructions de programme. Un segment de code peut être couplé à un autre segment de code ou à un circuit matériel en transmettant et / ou en recevant des informations, des données, des arguments, des paramètres ou des contenus de mémoire. Des informations, arguments, paramètres, données, etc. peuvent être transmis, transmis ou transmis par tout moyen approprié, notamment le partage de mémoire, la transmission de messages, la transmission de jetons, la transmission réseau, etc. [0040] Plusieurs unités fonctionnelles décrites dans la présente description ont été nommées modules, afin de souligner leur indépendance d'exécution. Par exemple, un module peut être mis en oeuvre par circuit électronique, tel qu'un circuit intégré par exemple ou par d'autre types d'arrangement de composants, tels que par exemple des semiconducteurs, des portes logiques, des transistors ou d'autres composants discrets. De tels modules peuvent également être mis en oeuvre par une ou plusieurs application(s) logicielle(s) ou portion( s) de code exécutable(s) au sein d'au moins un environnement logiciel, pour l'exécution par de divers types de processeurs et cc, quel que soit le langage utilisé. Un module identifié de code exécutable peut, par exemple, comporter un ou plusieurs blocs physiques ou logiques d'instructions machine qui peuvent, par exemple, être organisés en objet, procédé, ou fonction. De plus, les routines et instructions d'un module identifié n'ont pas besoin d'être physiquement localisés ensemble, mais peuvent comporter des instructions disparates stockées dans différents endroits qui, une fois réunis fonctionnellement et logiquement ensemble, forment le module et réalisent le but indiqué pour le module. [0041] En effet, un module peut être une instruction simple de code exécutable, ou une pluralité d'instructions, et peut même être distribué parmi plusieurs différents segments de code ou parmi différents programmes et stocké dans plusieurs blocs de mémoires. De même, des données opérationnelles peuvent être identifiées et illustrées dans des modules, et peuvent être incorporées sous n'importe quelle forme appropriée et être organisées dans n'importe quel type approprié de structure de données. Les données opérationnelles peuvent être rassemblées ou peuvent être réparties sur différents endroits incluant différents dispositifs de stockage finis, et peuvent exister, au moins partiellement, simplement en tant que signaux électroniques sur un système ou un réseau. Différents modules peuvent ainsi composer des modules regroupés, voire un unique module. [0042] Aussi, il est à noter que des modes de réalisation individuels peuvent être décrits en tant que processus décrits sous la forme d'un organigramme, d'un organigramme, d'un organigramme de données, d'un schéma de structure ou d'un schéma synoptique. Bien qu'un organigramme puisse décrire les opérations en tant que processus séquentiel, de nombreuses opérations peuvent être effectuées en parallèle ou simultanément. De plus, l'ordre des opérations peut être réorganisé. Un processus est terminé lorsque ses opérations sont terminées, mais il est possible que des étapes supplémentaires ne soient pas incluses dans une figure. Un processus peut correspondre à une méthode, une fonction, une procédure, une sous-chaîne, un sous-programme, etc. Lorsqu'un processus correspond à une fonction, sa terminaison peut correspondre à un retour de la fonction à la fonction appelante ou à la fonction principale. [0043] En outre, des modes de réalisation peuvent être mis en oeuvre par matériel, logiciel, micrologiciel, middleware, microcode, langages de description de matériel, ou toute combinaison de ceux-ci. Lorsqu'il est mis en oeuvre dans un logiciel, un micrologiciel, un middleware ou un microcode, le code de programme ou les segments de code pour 11 effectuer les tâches nécessaires (par exemple, un produit de programme d'ordinateur) peuvent être stockés sur un support lisible par machine. Un processeur peut effectuer les tâches nécessaires. [0044] On entend par « composant hardware » tout composant matériel et toute association de composants électroniques permettant la réalisation d'une tâche, tels qu'un ou plusieurs dispositifs, processeurs ou dispositifs de traitement qui peuvent être configurés pour exécuter la ou les fonction(s) de chacun des éléments et modules de l'arrangement structurel décrit ici. Par exemple, le ou les dispositifs, processeurs ou dispositifs de traitement peuvent être configurés pour exécuter une ou plusieurs séquences d'une ou plusieurs instructions exécutables par la machine contenues dans une mémoire principale afin de mettre en oeuvre le ou les procédés ou la ou les fonctions décrites dans la présente demande. L'exécution des séquences d'instructions contenues dans une mémoire principale amène les processeurs à exécuter au moins certaines des étapes du processus ou des fonctions des éléments décrits ici. Un ou plusieurs processeurs dans un arrangement multi-processeurs peuvent également être utilisés pour exécuter les séquences d'instructions contenues dans une mémoire principale ou un ordinateur lisible en mémoire. Dans des variantes de modes de réalisation, des circuits câblés peuvent être utilisés à la place ou en combinaison avec des instructions logicielles. Ainsi, les modes de réalisation ne sont limités à aucune combinaison spécifique de circuits matériels et logiciels. [0045] On entend par « blockchain » une technologie de stockage et de transmission d'informations, transparente, sécurisée, fonctionnant sans organe central de contrôle. Par extension, une blockchain constitue une base de données qui contient l'historique de tous les échanges effectués entre ses utilisateurs depuis sa création. Cette base de données est sécurisée et distribuée : elle est partagée par ses différents utilisateurs, sans intermédiaire, ce qui permet à chacun de vérifier la validité de la chaîne. [0046] On entend par une « adresse blockchain » un unique identifiant permettant de désigner la destination d'une transaction, à laquelle l'entité à qui appartient l'adresse blockchain va créer une transaction blockchain. Cette transaction sera ainsi retrouvée dans la base de données blockchain grâce à cet identifiant. [0047] De manière générale, comme illustré sur la figure 1, l'invention propose un réseau (1) comportant une pluralité de noeuds (6) dont au moins un noeud (6) définit par une application l'environnement individuel d'un utilisateur, et au moins un autre noeud (6) est utilisé par un autre utilisateur, chaque noeud (6) étant individuellement équipé : - d'un outil de gestion personnelle de données (2) exécuté sur un outil de traitement du noeud (6) qui permet à l'utilisateur de gérer ses données ; d'un outil d'échange sécurisé de données (4) exécuté sur un outil de traitement du noeud (6) pour gérer l'envoi personnel de données d'un utilisateur à un autre ; 12 - et l'outil de gestion ayant accès à un outil de traçabilité (4) exécuté sur un outil de traitement d'un noeud (6) du réseau (1) qui donnera accès à une trace de chaque action réalisée sur les données à tout utilisateur du réseau (1) souhaitant ces traces. [0048] Dans un mode de réalisation, le noeud (6) comprend plusieurs outils et plusieurs modules de codes exécutables sur un ou plusieurs composants hardware de traitement tels qu'un microprocesseur pour constituer une machine, les modules étant mémorisés dans au moins un média lisible par une machine, et dans lequel l'outil de gestion personnelle de données (2) comprend plusieurs modules dont au moins : - un module de gestion qui, par l'intermédiaire de codes exécutés sur un composant hardware, définit des données à gérer par l'outil de gestion, les niveaux d'accès/droits et les autorisations d'actions d'un utilisateur (10) vis-à-vis desdites données, - un module de création qui, par l'intermédiaire de codes exécutés sur un composant hardware, crée une empreinte (5) digitale de chaque donnée gérée par l'outil de gestion personnelle, ainsi qu'un lien vers cette empreinte (5). - un module d'écriture et de sauvegarde qui, par l'intermédiaire de codes exécutés sur un composant hardware, modifie et enregistre des données dans une base de données de l'utilisateur (10). [0049] Avantageusement, l'outil de gestion personnelle de données (2) permet, tout d'abord, au propriétaire de définir le périmètre des données gérées par l'invention. C'est donc le propriétaire qui décide des données qu'il souhaite gérer et, potentiellement, partager avec les autres utilisateurs (10) du réseau. La définition du périmètre peut être réalisée en définissant un espace particulier pour la gestion des données par l'invention. Toute donnée présente dans cet espace sera explicitement considérée comme pouvant être gérée par l'invention. On entend par périmètre l'ensemble des données ou des dossiers, fichiers, bases de données contenant des données définies comme devant être gérées par l'invention. [0050] L'outil de gestion personnelle de données (2) permet au propriétaire de données de décrire la façon dont les données sont structurées (ou non). [0051] L'outil de gestion personnelle de données (2) permet au propriétaire de données de définir et modifier, à tout moment, les droits sur les données dont il est propriétaire. Il peut donc restreindre les actions possibles sur ces données. Il peut, par exemple, interdire à tout autre utilisateur (10) la modification de ses données. El peut, également, restreindre la propagation de ses données en interdisant, par exemple, à tout porteur de données (X) de partager les données explicitement identifiées. [0052] L'outil de gestion personnelle de données (2) peut gérer des données locales, c'est-à-dire présentes directement sur le système du propriétaire, ainsi que des données distantes, accessibles via un réseau externe au réseau selon l'invention. 13 [0053] L'outil de gestion personnelle de données est secondé par l'utilisation de données virtuelles, n'existant qu'en mémoire tampon. Elles permettent de représenter les données personnelles, et de les manipuler, sans pour autant révéler la nature de ces dernières. [0054] L'outil de gestion personnelle de données peut être équipé de diverses interfaces techniques qui lui permettent de gérer différents formats de données et, par conséquent, de modules qui permettent de convertir un format de données en un autre. [0055] L'outil de gestion personnelle de données peut utiliser des API, interfaces permettant de récupérer les réponses manuelles des utilisateurs finaux pour les traiter (préférentiellement de manière automatique) afin de gérer les échanges de données sans autre action de la part de l'utilisateur final. [0056] L'outil de gestion personnelle de données permet donc, également, de convertir une structure de données en une autre. Par exemple les mêmes données peuvent être stockées dans une base de données chez un utilisateur (10) et stockées sous la forme de fichier chez un autre utilisateur (10). C'est le pararnétrage de l'outil de gestion selon l'invention qui permet de définir les formats de données autorisés ainsi que les convergions possibles. L'ensemble de ces conversions sont inscrites au niveau de l'outil de traçabilité (3). L'invention peut donc aussi être utilisée avec un unique format de données pour un réseau spécifique. [0057] Dans un mode de réalisation, l'outil de gestion personnelle de données est une interface vers un outil existant de gestion de données [0058] Avantageusement, l'utilisation via une interface avec un outil existant de gestion de données permet de s'intégrer plus facilement dans un système utilisateur où un outil de gestion de données (2) est déjà présent. [0059] Dans un mode de réalisation, l'outil de gestion personnelle de données est un outil de gestion de donnée intégré. [0060] Avantageusement, l'intégration complète de la gestion des données par l'invention grâce à un outil de gestion de données (2) intégré permet une utilisation simplifiée par un système utilisateur démuni de tout outil de gestion de données extérieur préexistant. [0061] L'outil de gestion personnelle de données (2) peut gérer plusieurs types d'action sur les données : Ajout de données : permet un propriétaire du réseau d'ajouter à son périmètre de nouvelles données qu'il souhaite gérer dans le réseau selon l'invention et donc de déclarer sa propriété sur des données ; Suppression de données : permet à un utilisateur (10) de supprimer des données explicitement identifiées qu'il possède localement et pour lequel il est propriétaire ou non ; Demande de suppression de données : permet à un propriétaire de données de 14 demander la suppression de données explicitement identifiées au niveau des informations contenues dans l'outil de traçabilité (3) à des porteurs de données avec lesquelles il a partagé ces données. De façon récursive, tout porteur de données est en mesure de mesure de propager cette demande à tout porteur de données (X) avec qui il aurait, lui-même, partagé les données. Ainsi, si P est propriétaire de données et qu'il les partage avec Ul et que Ul partage les données avec U2, alors si P demande à Ul la suppression des données, alors Ul répercutera la demande et demandera à U2 la suppression des données de P ; Modification de données : permet à un utilisateur (10) de générer de nouvelles données par modification de données existantes. Selon le cas, les données existantes peuvent être conservées en parallèle des nouvelles données, elles peuvent être étiquetées d'une mention indiquant qu'elles ne représentent plus la dernière version, elles peuvent également être supprimées du système local. [0062] Dans un mode de réalisation, le noeud (6) comprend plusieurs outils et plusieurs modules de codes exécutables sur un ou plusieurs composants hardware de traitement tels qu'un microprocesseur pour constituer une machine, les modules étant mémorisés dans au moins un média lisible par une machine, et dans lequel l'outil d'échange de données (4) comprend plusieurs modules dont au moins : - un module de création de requête qui, par l'intermédiaire de codes exécutés sur un composant hardware, produit une requête - un module émetteur de requêtes qui, par l'intermédiaire de codes exécutés sur un composant hardware, envoie une requête à un utilisateur (10) destinataire, - un module émetteur et récepteur de données qui, par l'intermédiaire de codes exécutés sur un composant hardware, envoie et reçoit des données d'un utilisateur (10) émetteur à un utilisateur (10) récepteur, - un module de vérification qui, par l'intermédiaire de codes exécutés sur un composant hardware, vérifie, authentifie et confirme que les données reçues correspondent aux données attendues. [0063] Avantageusement, cela permet à des utilisateurs de s'envoyer des données de manière sécurisée par un outil dédié. [0064] L'échange sécurisé de données par l'outil d'échange de données (4) selon l'invention permet à deux utilisateurs d'un même réseau d'échanger des données. [0065] Dans un mode de réalisation combinable, l'authentification se fait par présentation de l'empreinte par l'outil de traçabilité (4). [0066] Dans un mode de réalisation, l'échange de données se fait à partir d'un catalogue, ou d'un annuaire, ou en récupérant les informations nécessaires à l'extérieur du système. [0067] Dans le cas d'un catalogue, celui-ci peut être construit à partir de l'outil de traçabilité (3) qui référence l'ensemble des données gérées au sein du réseau. Le catalogue permet donc de trouver des données susceptibles d'éveiller l'intérêt d'un utilisateur (10) et renseigne sur le propriétaire des données. Pour rendre efficace l'autonomie des utilisateurs, le catalogue peut lister les données accessibles ainsi qu'une courte description et, pour chaque description, la possibilité d'accéder à une description détaillée qui renseignera sur la nature des données, leur structure, leur taille, etc... [0068] Dans le cas où l'échange de données est réalisé avec un annuaire, celui-ci doit présenter un niveau de détail suffisant pour permettre d'identifier ou de retrouver les autres utilisateurs du réseau afin de procéder à l'échange de données. L'annuaire peut aussi être géré à l'extérieur de la solution proposé selon l'invention, de façon centralisée ou de façon individuelle. Dans tous les cas, l'annuaire est ce qui permet de connaître les coordonnées logiques d'un autre utilisateur. [0069] Dans le cas où aucun catalogue et aucun annuaire n'est implémenté, l'échange de données selon l'invention peut être réalisé en récupérant les informations nécessaires à l'extérieur du système. Par exemple un affichage peut décrire toutes les informations et être accompagné d'un code, par exemple du type QR code, qui permettra à la solution utilisant l'invention de récupérer toutes les informations nécessaires à la mise en place d'un échange dc données. Les informations d'échange des données détaillent, notamment, les données explicitement identifiées qui vont être échangées, le protocole qui sera utilisé pour le partage des données, par exemple échange synchrone chiffré par connexion à serveur ftp. [0070] L'outil d'échange de données (4) gère les demandes d'envoi et les demandes de réception des données grâce à ses modules de création de requête et émetteur de requêtes. Dans le cas de demandes d'envoi, le porteur des données propose à un utilisateur (10) de recevoir une copie de certaines données explicitement identifiées. Dans le cas où un catalogue des données est implémenté, l'utilisateur peut trouver dans le catalogue toutes les informations nécessaires concernant ces données. Dans le cas où aucun catalogue n'est implémenté, la demande (requête) peut contenir la desciiption des informations nécessaires pour l'échange. Dans le cas de demande de réception, un utilisateur (10) demande à un porteur de données à recevoir une copie de certaines données explicitement identifiées. Dans chacun des cas, l'utilisateur (10) qui reçoit la demande est en mesure de la refuser : refus de recevoir ou refus d'envoyer. L'invention couvre aussi l'acceptation automatique, c'est-à-dire le cas où toute demande est automatiquement acceptée. [0071] Dans un mode de réalisation, l'échange sécurisé des données se fait par échange synchrone et/ou asynchrone. [0072] L'invention couvre l'échange synchrone de données, c'est-à-dire quand les uti- lisateurs (10) concernés sont en connexion directe et simultanée les uns avec les autres 16 par la mise en place, par exemple, d'un serveur susceptible d'envoyer ou de recevoir les données. L'invention couvre également l'échange asynchrone des données qu'il s'agisse du dépôt ou du retrait de données sur un serveur laissé disponible ou l'utilisation d'un échange pair à pair qui permet, notamment, de gérer les ruptures de connexion ou tout autre système de gestion asynchrone d'échange de données. Les informations de connexion peuvent être communiquées extérieurement au système, de façon claire ou chiffrée, via l'invention. [0073] Dans un mode de réalisation particulier, l'outil d'échange de données permet l'envoi d'une requête de modification de données d'un utilisateur directement vers un contrôleur d'accès aux données. [0074] Avantageusement, l'invention couvre l'échange de données entre les utilisateurs lorsqu'il s'agit d'un simple changement de droits sur un contrôleur d'accès aux données. Par exemple, les données peuvent être stockées sur un serveur particulier du type ftp et l'échange de données consiste à ouvrir les droits d'accès à cc serveur par le porteur de données. [0075] Dans un mode de réalisation combinable, l'empreinte est créée par l'outil dc traçabilité (4), la création étant de préférence réalisée par le module de création dudit outil de traçabilité (4). [0076] Dans un mode de réalisation combinable, l'empreinte est créée par l'outil dc gestion personnelle de données, la création étant de préférence réalisée par le module de création dudit outil de traçabilité (4). [0077] Dans un mode de réalisation, l'outil d'échange de données comprend un module de vérification qui, par l'intermédiaire de codes exécutés sur un composant hardware, vérifie, authentifie et confirme que les données reçues correspondent aux données attendues [0078] Avantageusement, cela permet de sécuriser et d'authentifier l'échange de données. [0079] Dans un mode de réalisation, le noeud (6) comprend plusieurs outils et plusieurs modules de codes exécutables sur un ou plusieurs composants hardware de traitement tels qu'un microprocesseur pour constituer une machine, les modules étant mémorisés dans au moins un média lisible par une machine, et dans lequel l'outil de traçabilité (4) comprend une base de données et plusieurs modules dont au moins : Un module de création qui, par l'intermédiaire de codes sur un composant hardware, produit une trace correspondante à une action réalisée sur des données, la trace étant associée à l'empreinte (5) correspondante aux données, un module de sauvegarde qui, par l'intermédiaire de codes sur un composant hardware, enregistre les traces des actions réalisées par les utilisateurs (10) sur les données dans la base de données de l'outil de traçabilité (4), les traces étant préféren- 17 tiellement composées de l'empreinte (5) ou d'un lien vers celle-ci et d'au moins une référence associée à celle-ci [0080] Avantageusement, l'outil de traçabilité (3) offre à tout le réseau d'utilisateurs (10) une vue ouverte sur son contenu. Cet outil est explicitement distinct de la gestion personnelle des données et l'échange sécurisé des données. [0081] La traçabilité peut être gérée par une BlockChain. Elle peut également être gérée par un ou plusieurs serveurs qui stockent l'ensemble des traces émises par les utilisateurs (10) dans des bases de données. Avantageusement, la blockchain permet d'implémenter simplement un outil dont la traçabilité est transparente de façon inhérente grâce à la vérification de chaque transaction par des mineurs. [0082] Au niveau de la traçabilité, la donnée est représentée par une empreinte digitale (5) qui peut être limitée au résultat d'une fonction de hachage sur les données. Les données ne sont présentes, au niveau du réseau (1), que par la gestion personnelle des données, non accessibles aux autres utilisateurs, et par l'échange sécurisé de données. Dans la majorité des actions tracées, les données concernées sont indiquées par l'utilisation directe de l'empreinte ou indirecte, par un lien vers l'empreinte (5) dans la trace. [0083] De façon non exhaustive et non impérative, différentes actions sur les données peuvent être listées par l'outil de traçabilité (3) : Ajout de données : un utilisateur (10) déclare sa propriété sur des données. Cette action crée une trace à destination du propriétaire, comme présenté sur la Figure 2 représentant l'import de données. Tout utilisateur (10) amené à utiliser des données est amené à pouvoir vérifier, à partir de l'empreinte (5) et des traces de déclaration, l'origine initiale d'une donnée ; Suppression de données : un utilisateur (10) déclare avoir supprimé des données de son système. Cette action crée une trace à destination de l'utilisateur (10). Tout auditeur est en mesure de vérifier la déclaration de suppression ; Modification de données : un utilisateur (10) crée des données par modification de données existantes. Cette action crée une trace à destination de l'utilisateur (10) incluant l'empreinte (5) de la nouvelle donnée, comme présenté sur la Figure 3 représentant le procédé de modification de données. L'utilisateur (10) devient le propriétaire des nouvelles données ; Demande de partage : La requête d'action peut être sous la forme d'une demande d'envoi ou une demande de réception. Cette action crée une trace provenant du demandeur et dirigée vers le destinataire de la demande, comme présenté sur la Figure 4 représentant le partage de données. La trace de la demande peut être vue par tout utilisateur (10) du réseau grâce à l'outil de 18 traçahilité (3) ; Réponse à une demande de partage : Tout utilisateur (10) est en mesure d'accepter ou de refuser une demande de partage, quelle qu'elle soit. Cette action crée une trace provenant du destinataire de la demande et dirigée vers le demandeur, comme présenté sur la Figure 4 ; Demande de suppression : un utilisateur (10) demande à un autre utilisateur (10) de supprimer des données qu'il a fournies. Cette action crée une trace provenant du demandeur et dirigée vers le destinataire de la demande, comme présenté sur la Figure 5 représentant une demande de suppression de données. Par récursivité, un propriétaire peut, grâce à l'outil de traçahilité (3) suivre toutes ses demandes de suppression ainsi que les suppressions par les utilisateurs ayant reçus une demande ; Information de connexion : Deux utilisateurs (10) prêts à partager des données s'échangent des informations sur le protocole à mettre en place pour échanger ces données. Cette action crée une trace d'un utilisateur (10) à l'autre, la trace contient les informations de connexion de façon chiffrée ou non. Le sens de la trace est configurahle et dépend de la solution finale mise en place ; Information type « accusé de réception » : Permet à un utilisateur (10) ayant reçu des données de confirmer, à l'utilisateur (10) les ayant envoyées, la bonne réception des données via l'échange sécurisé permis par l'outil d'échange des données (4). [0084] Dans un mode de réalisation, l'outil de traçabilité comprend en outre un module d'évaluation qui, par l'intermédiaire de codes exécutés sur un composant hardware, évalue la qualité des échanges avec les utilisateurs et/ou la qualité des données échangées. [0085] On comprend qu'un même utilisateur peut être à la fois utilisateur émetteur et uti- lisateur récepteur. Ainsi, certaines requêtes, par exemple de manière non limitative pour l'import/ajout de données, ou la suppression de données, ne concernent qu'un seul utilisateur qui peut ainsi émettre et recevoir la requête d'action. [0086] La figure 6 illustre un environnement informatique pouvant être utilisé pour mettre en oeuvre un ou plusieurs aspects de l'invention. Il est composé de systèmes de traitement de données appelés « clusters ». Un cluster comprend généralement un groupe de noeuds interconnectés. Certains noeuds sont utilisés pour effectuer des tâches informatiques (noeuds de calcul), d'autres noeuds servent à stocker des données (noeuds de stockage) et un autre noeud gère normalement le cluster (noeud d'administration). Chaque noeud est par exemple un serveur mettant en oeuvre un système d'exploitation tel que, par exemple, Linux (Linux est une marque déposée). La connexion entre les noeuds s'effectue, par exemple, à l'aide de liaisons de communication Ethernet ou In- 19 finiBand (Ethernet et lnfiniBand sont des marques déposées). La figure 6 montre schématiquement un exemple de topologie de cluster (100), du type « fat tree ». La topologie comprend un groupe de noeuds généralement référencé (105). Ici, les noeuds appartenant à un groupe (110) sont des noeuds de calcul et les noeuds d'un groupe (115) sont des noeuds de service (noeuds de stockage et noeuds d'administration). Les noeuds de calcul peuvent être regroupés dans des sous-groupes (120) appelés "îlots de calcul", les noeuds de service 115) forment un groupe étant appelé "îlot de service". Les noeuds sont reliés entre eux par des commutateurs, par exemple hiérarchiquement. Dans l'exemple représenté sur la figure 6, les noeuds (105) sont connectés à des commutateurs de premier niveau (125), qui sont reliés à des commutateurs de second niveau (130), eux-mêmes reliés à des commutateurs de troisième niveau (135). [0087] On comprendra aisément à la lecture de la présente demande que les particularités de la présente invention, comme généralement décrits et illustrés dans les figures, puissent être arrangés et conçus selon une grande variété de configurations différentes. Ainsi, la description de la présente invention et les figures afférentes ne sont pas prévues pour limiter la portée de l'invention mais représentent simplement des modes de réalisation choisis. [0088] L'homme de métier comprendra que les caractéristiques techniques d'un mode de réalisation donné peuvent en fait être combinées avec des caractéristiques d'un autre mode de réalisation à moins que l'inverse ne soit explicitement mentionné ou qu'il ne soit évident que ces caractéristiques sont incompatibles. De plus, les caractéristiques techniques décrites dans un mode de réalisation donné peuvent être isolées des autres caractéristiques de ce mode à moins que l'inverse ne soit explicitement mentionné. [0089] 11 doit être évident pour les personnes versées dans l'art que la présente invention permet des modes de réalisation sous de nombreuses autres formes spécifiques sans l'éloigner du domaine défini par la portée des revendications jointes, ils doivent être considérés à titre d'illustration et l'invention ne doit pas être limitée aux détails donnés ci-dessus. Liste des signes de référence [0090] I. Réseau 2. Outil de gestion personnelle de données 3. Outil de traçabilité 4. Outil d'échange de données 5 Empreinte digitale 6. Noeud DTP 9. Requête d'action 10. Utilisateur 100. Topologie dc cluster 105. Noeud 110. Noeud de calcul 115. Noeud de service 120. ilots de calcul 125. Commutateur dc 1e, niveau (first-level switchcs) 130. Commutateur dc deuxième niveau (second-level switchcs) 135. Commutateur dc troisième niveau (third-level switchcs) 21 [Revendication 1] [Revendication 2] [Revendication 3]