Brevet FR3090937A1 — publié le 20200626

Description Titre de l'invention : DISPOSITIF UNITAIRE ET AMOVIBLE D'INSCRIPTION SUR UN REGISTRE DISTRIBUÉ Domaine technique de l'invention [0001] La présente invention vise un dispositif unitaire et amovible d'inscription sur un registre distribué. Elle s'applique, notamment, à la gestion d'un parc de machines responsables de la capture ou de l'actionnement d'un élément physique. État de la technique [0002] La certification normalisée des machines permet de garantir un niveau de fonc- tionnement déterminé compatible avec les promesses techniques desdites machines. [0003] Pour être conforme à une certification, les machines considérées sont produites en un unique endroit, testées, certifiées puis envoyées sur leur lieu de mise en fonction. [0004] Si, qualitativement, un tel procédé a le mérite de garantir l'atteinte de spécifications techniques, son exécution présente des désavantages en matière écologiques, financière et de transmission intellectuelle entre l'acquéreur et le vendeur. [0005] Pour exemplifier l'un de ces désavantages, la fabrication à distance de la machine suppose une dépense énergétique importante de transport jusqu'au site de mise en fonction. Exposé de l'invention [0006] La présente invention vise à remédier à tout ou partie de ces inconvénients. [0007] À cet effet, la présente invention vise un dispositif unitaire et amovible d'inscription sur un registre distribué, qui comporte : [0008] - un récepteur de données externes, [0009] - un moyen d'inscription d'une entrée sur le registre distribué, chaque entrée comportant au moins une donnée reçue, [0010] - un coeur de calcul configuré pour valider l'ajout de l'entrée sur le registre distribué par calcul cryptographique et [0011] - un moyen de stockage du registre distribué. [0012] Grâce à ces dispositions. l'ensemble des opérations de certification sur un registre distribué peut être réalisé localement au niveau d'une machine, du fait du caractère unitaire et amovible du dispositif. Il résulte également du caractère fonctionnel de ce dispositif que celui-ci peut être conçu spécifiquement selon les propriétés du protocole de registre distribué utilisé et des différentes fonctions associées à cc protocole. [0013] Dans des modes de réalisation, le dispositif objet de la présente invention comporte une mémoire tampon pour données reçues par le récepteur. le moyen d'inscription inscrivant une entrée sur le registre distribué comportant au moins une donnée stockée 2 par la mémoire tampon. [0014] Ccs modes de réalisation permettent de stocker, dans une même entrée, une pluralité de données reçues. [0015] L'intérêt de ces modes de réalisation est de pouvoir sauvegarder en cas de coupure réseau un certain nombres d'opérations devant être inscrites sur le registre distribué de manière sécurisée et tracée . L'autre intérêt de ces modes de réalisation est de pouvoir optimiser les opérations d'écriture en regroupant les informations avant inscription dans le registre distribué, ce qui réduit le nombre de transactions pour un même volume d'information et donc d'optimise la consommation d'énergie. On peut ainsi selon des réglages d'efficacité énergétique ou de vitesse regrouper plus ou moins d'informations dans un nombre limités de transactions ce qui contribue a une accélération de la vitesse d'inscription. [0016] Dans des modes de réalisation, le dispositif objet de la présente invention comporte un coeur de commande d'un dispositif externe relié à un émetteur de commandes configuré pour être relié au dispositif externe, le récepteur étant configuré pour être relié au dispositif externe émettant des données. [0017] Ccs modes de réalisation permettent de commander à distance le dispositif externe, ce qui permet un réaménagement de dispositifs externes non munis d'organes de commande. [0018] Dans des modes de réalisation, le dispositif objet de la présente invention comporte une enclave mémoire sécurisée pour stocker un contrat intelligent. [0019] Ces modes de réalisation permettent de contrôler l'exécution réalisée par le dispositif externe fournissant les données reçues ou les commandes émises par le coeur de commande. [0020] Dans des modes de réalisation, le coeur de commande est configuré pour exécuter le contrat intelligent en fonction des données externes reçues. [0021] Dans des modes de réalisation, le moyen d'inscription est configuré pour réaliser une inscription d'entrée dans le registre en fonction d'un paramètre d'exécution du contrat intelligent. [0022] Ces modes de réalisation permettent d'inscrire des transactions particulières sur le registre distribué en fonction de l'exécution du contrat intelligent par le dispositif [0023] Dans des modes de réalisation, le dispositif objet de la présente invention comporte un stockage de jetons informatiques. [0024] Ces modes de réalisation permettent le stockage de valeur dans le dispositif. [0025] Dans des modes de réalisation, le stockage de jeton ajoute un jeton en fonction de l'inscription d'une entrée dans le registre par le moyen d'inscription. [0026] Ces modes de réalisation permettent de récompenser la dépense énergétique réalisée par le coeur de calcul, créant un mécanisme incitatif pour participer à un processus de 3 consensus du registre distribué. [0027] Dans des modes de réalisation, le dispositif objet de la présente invention comporte une enclave mémoire sécurisée configurée pour exécuter un programme informatique de type oracle. [0028] Ces modes de réalisation permettent d'autoriser ou non la réalisation dc transactions ou d'inscription sur le registre en fonction de paramètres de fonctionnement de l'oracle. Brève description des figures [0029] D'autres avantages, buts et caractéristiques particulières de l'invention ressortiront de la description non limitative qui suit d'au moins un mode de réalisation particulier du dispositif objet de la présente invention, en regard du dessin annexé, dans lequel : [0030] [fig.1] représente, schématiquement, un schéma fonctionnel particulier du dispositif objet de la présente invention, [0031] [fig.2] représente, schématiquement, un schéma fonctionnel des interactions d'un dispositif objet dc la présente invcntio, [0032] [fig.3] représente, schématiquement, une infrastructure susceptible d'implémenter le dispositif objet de la présente invention, [0033] [fig.4] représente, schématiquement, une architecture susceptible d'implémenter le dispositif objet dc la présente invention, [0034] [fig.5] représente, schématiquement, une architecture susceptible d'implémenter le dispositif objet dc la présente invention, [0035] [fig.6] représente, schématiquement, une architecture susceptible d'implémenter le dispositif objet dc la présente invention, [0036] [fig.7] représente, schématiquement, une architecture susceptible d'implémenter le dispositif objet de la présente invention et [0037] [fig.8] représente, schématiquement, une architecture susceptible d'implémenter le dispositif objet de la présente invention. Description des modes de réalisation 100381 La présente description est donnée à titre non limitatif, chaque caractéristique d'un mode de réalisation pouvant être combinée à toute autre caractéristique de tout autre mode de réalisation de manière avantageuse. [0039] On note dès à présent que les figures ne sont pas à l'échelle. [0040] On note que le terme « registre distribué » désigne un registre informatique simul- tanément enregistré et synchronisé sur un réseau d'ordinateurs, qui évolue par l'addition de nouvelles informations préalablement validées par l'entièreté du réseau et destinées à ne jamais être modifiées ou supprimées. Un registre distribué n'a ni administrateur central ni stockage de données centralisé. Un réseau pair-à-pair et un algorithme de consensus sont nécessaires afin d'assurer le fonctionnement du système. Une des formes de registre distribué est le système de la chaîne de blocs, qui peut être publique, privée ou à consortium. Un tel registre distribué est, par exemple, une chainc de blocs. [0041] On note que le caractère unitaire du dispositif décrit ci-après provient du fait que l'ensemble des composants qu'il comporte font partie d'un même circuit électronique ou d'un même ensemble de circuit, sans nécessiter d'utiliser un réseau de télécommunications pour relier un composant à un autre. Ce caractère unitaire peut également être schématisé, alternativement, par le fait que l'ensemble des composants intègrent un boîtier unique. [0042] On note que le caractère amovible du dispositif provient du fait que ce dispositif peut être attaché et détaché d'un dispositif tiers émetteur de données. Ainsi, a minima, le dispositif n'est relié que par la liaison de données reliant le dispositif tiers au récepteur 105 de données. Dans des variantes, le dispositif est alimenté par le dispositif tiers. Dans des variantes, le dispositif est intégré au dispositif tiers. Dans des variantes, le dispositif est mécaniquement solidaire du dispositif tiers. [0043] On observe, sur la figure 1, qui n'est pas à l'échelle, une vue schématique d'un mode de réalisation du dispositif 100 objet de la présente invention. Ce dispositif 100 unitaire et amovible d'inscription sur un registre 200 distribué, comporte : [0044] - un récepteur 105 de données externes, [0045] - un moyen 110 d'inscription d'une entrée sur le registre distribué, chaque entrée comportant au moins une donnée reçue, [0046] - un coeur 115 de calcul configuré pour valider l'ajout de l'entrée sur le registre distribué par calcul cryptographique et [0047] - un moyen 120 de stockage du registre distribué. [0048] Le récepteur 105 peut être de tout type connu de l'Homme du Métier, configuré pour recevoir des données émises par un réseau de données filaire ou sans-fil. Ce récepteur 105 peut être, par exemple, un port USB (Pour « Universal Serial Bus », traduit par « Bus universel en série ») configuré pour être relié à un émetteur d'une source de données externes. Dans des variantes, ce récepteur 105 est un capteur NFC (pour « Near Field Communication », traduit par « Communication en champ proche »). La nature exacte du récepteur 105 n'est pas limitative et cette nature dépend du cas d'usage du dispositif 100. [0049] Le moyen d'inscription 110 est, par exemple, un circuit électronique configure pour ajouter une entrée sur le registre distribué. Ce circuit électronique est, par exemple, formé d'un microprocesseur exécutant un programme informatique dédié à cet ajout d'entrées sur le registre. [0050] Pour ajouter une entrée sur le registre distribué, le moyen d'inscription 110 lit, dans le registre distribué stocké par le moyen 120 de stockage, l'identifiant d'une entrée stockée, préférentiellement la dernière entrée. Le moyen d'inscription 110 forme une nouvelle entrée en : [0051] - attribuant, en guise d'entrée précédente du registre, l'identifiant d'entrée lue, [0052] - attribuant en guise de données, soit au moins une donnée lue, soit un identifiant re- présentatif de ces données. [0053] A partir des données devant être ajoutées ou représentées dans le registre distribué, le moyen d'inscription 110 opère une fonction informatique de hachage (« hash function », en anglais), pour obtenir un identifiant d'entrée. [0054] Le coeur 115 de calcul est configure pour valider l'ajout dans le registre distribué par validation de la signature du moyen d'inscription 110 via un calcul cryptographique. Ce calcul cryptographique met en oeuvre un mécanisme de clé publique / clé privée, par exemple. [0055] Dans ce contexte, l'inscription étant validée par un composant, le mécanisme employé est un mécanisme dit « on chip » (traduit par « embarqué » en français). [0056] Un algorithme de consensus est un processus qui permet de trouver un accord sur une valeur unique de données entre des processus ou des systèmes distribués. Ces algorithmes sont conçus pour assurer la fiabilité d'un réseau impliquant plusieurs noeuds peu fiables. Un mécanisme de consensus est essentiel sur des systèmes multi-agents et distribués. [0057] Le moyen 120 de stockage est, par exemple, une mémoire informatique, telle un disque dur par exemple. Une fois l'inscription validée, le registre distribué est mémorisé par le moyen 120 de stockage. [0058] Dans des modes de réalisation, le dispositif 100 objet de la présente invention comporte une mémoire 125 tampon pour données reçues par le récepteur 105, le moyen 110 d'inscription inscrivant une entrée sur le registre 200 distribué comportant au moins une donnée stockée par la mémoire tampon. [0059] Cette mémoire tampon 125 est, par exemple, formée d'une mémoire vive in- formatique configurée pour stocker un nombre déterminé de valeurs reçues par le récepteur 105. 6 [0060] Le moyen d'inscription 110 peut, par exemple, être déclenché lorsqu'un nombre de valeurs stockées est égal à un nombre déterminé. Alternativement, le moyen d'inscription 110 peut être déclenché périodiquement. Alternativement, le moyen d'inscription 110 peut être déclenché lorsque le coeur 115 de calcul réalise un calcul cryptographique, à la manière d'une chaine de bloc publique telle que le Bitcoin. [0061] Dans des modes de réalisation, le dispositif 100 objet de la présente invention comporte un coeur 130 de commande d'un dispositif 300 externe relié à un émetteur 135 de commandes configuré pour être relié au dispositif externe, le récepteur 105 étant configuré pour être relié au dispositif externe émettant des données. [0062] Ce coeur 130 de commande est, par exemple, un microprocesseur exécutant un programme informatique de commande du dispositif 300 externe. L'émetteur 135 peut être de tout type connu de l'Homme du Métier et approprié au cas d'usage, et notamment au dispositif 300 externe, pour émettre des données représentatives de commandes informatiques dudit dispositif 300. Dans des variantes, l'émetteur 135 et le récepteur 105 sont confondus. [0063] Dans des modes de réalisation, le dispositif 100 objet de la présente invention comporte une enclave 140 mémoire sécurisée pour stocker un contrat intelligent. [0064] On appelle « enclave sécurisée » un module cryptographique matériel qui fournit un stockage de l' information considéré (tel un contrat intelligent) directement sur le composant. Cela permet avec une vérification continue du code du contrant intelligent téléchargé du registre distribué dans l'enclave avec celui présent sur le registre distribué afin de s'assurer de son intégrité. Cela permet une exécution du code en local sans passer par une machine virtuelle distribuée et donc de drastiquement augmenter la vitesse d'exécution et l'économie d'énergie. [0065] L'enclave 140 mémoire est, par exemple, une mémoire physiquement distincte d'autres mémoires comprises dans le dispositif 100 et stockant un contrat intelligent ou un identifiant d'un tel contrat. Ce contrat intelligent peut, par ailleurs, être stocké dans le registre distribué. Dans des variantes, le contrat intelligent lit ses paramètres de fonctionnement dans un registre distribué. [0066] On appelle « contrat intelligent », un protocole informatique qui facilite, vérifie et exécute la négociation ou l'exécution d'un contrat. Les contrats intelligents ont généralement une interface utilisateur et émulent la logique des clauses contractuelles. [0067] Ce contrat intelligent peut ainsi, par exemple, relier la réception d'une donnée à un paiement ou à l'émission d'un jeton informatique par exemple. Ce contrat intelligent peut également actionner les différents composants du dispositif 100 lors de son exécution. Par exemple, le coeur 130 de commande peut être configuré pour émettre une commande d'un type déterminé en fonction de paramètres du contrat intelligent. [0068] Ce contrat intelligent peut, par exemple, comprendre une liste des composants 7 autorisés pour l'exécution dudit contrat, ces composants pouvant être logiciels et matériels. [0069] Dans des modes de réalisation, le coeur 130 de commande est configure pour exécuter le contrat intelligent en fonction des données externes reçues. [0070] Dans des modes de réalisation, le moyen 110 d'inscription est configuré pour réaliser une inscription d'entrée dans le registre 200 en fonction d'un paramètre d'exécution du contrat intelligent. [0071] Dans des modes de réalisation, le dispositif 100 objet de la présente invention comporte un stockage 145 de jetons informatiques. [0072] Ce stockage 145 est, par exemple, une mémoire informatique. Cette mémoire peut être distincte d'autres mémoires du dispositif 100. [0073] Dans des modes de réalisation, le stockage 145 de jeton ajoute un jeton en fonction de l'inscription d'une entrée dans le registre 200 par le moyen 110 d'inscription. [0074] Dans des modes de réalisation, le dispositif 100 objet de la présente invention comporte une enclave 150 mémoire sécurisée configure° pour exécuter un programme informatique de type oracle. [0075] L'enclave 150 mémoire est, par exemple, une mémoire physiquement distincte d'autres mémoires comprises dans le dispositif 100 et stockant et/ou exécutant un oracle ou les paramètres d'exécution de cet oracle. [0076] Un oracle de registre distribué est une entité de confiance faisant partie d'un réseau informatique, transportant des informations du monde physique à un contrat intelligent. Il crée le lien entre le monde physique et un registre distribué que des contrats intelligents parcourent, et permet à ces contrats de ne pas être limité aux informations internes au registre distribué. Cette technologie est utilisée actuellement par des applications décentralisées utilisant des contrats intelligents nécessitant l'accès à des informations extérieures. [0077] L'oracle peut être lié à un capteur physique du dispositif tiers émettant des données reçues par le récepteur 105. [0078] Un deuxième objet de la présente invention consiste en la réalisation d'un processus de certification distribuée de la mise en conformité d'une politique de traitement des données. Ces données peuvent être, par exemple, des données personnels d'utilisateurs d'une plateforme informatique. Alternativement, ce deuxième objet vise la réalisation d'un processus de certification distribuée de la mise en conformité d'une garantie de traitement d'un objet déterminé. Cet objet peut être, par exemple, de la viande et la garantie de traitement correspondre à un traitement hallal de cette viande. [0079] Ce deuxième objet vise, donc, via une plateforme de type « SaaS » (pour « Software as a service », traduit par « Logiciel en tant que service ») ou via une plateforme serveur/client classique, l'émission d'un certificat de conformité à une politique de 8 traitement des données. Cette conformité est établie en fonction d'éléments nécessaires, propres à la politique de données en question, à la réalisation de la politique et de l'avancement dans un processus de mise en conformité. A chaque étape du processus, un certificat est émis, manuellement ou automatiquement, selon une périodicité fixe ou variable. Au moins deux certificats sont ensuite consolidés pour former un certificat final. Chaque certificat peut être consulté via une interface d'audit. [0080] Selon la niveau de confidentialité souhaité, seul le résultat d'une étape peut être visible dans l'interface d'audit. Alternativement, l'ensemble des participants ayant partagé les données peuvent être affichés. Ces intervenants signent, par exemple, numériquement les certificats lors d'un traitement des données. Des documents représentatifs et associés aux certificats peuvent également être consultés. [0081] Chaque certificat peut être stocké et administré via un contrat intelligent, ce contrat intelligent pouvant être en charge de la requête de mises à jour de ces certificats. [0082] Pour atteindre un tel résultat, l'objet de la présente invention s'appuie sur un mécanisme de mise à jour réalisé par trois types d'oracles : [0083] - une mise à jour via un oracle temporel externe, telle horloge externe certifiée sur un registre distribué, [0084] - une mise à jour via le résultat d'un objet connecté, comme un compteur d'une chaine d'abattage par exemple, [0085] - une mise à jour via une demande émise par un tiers extérieur autorisé, tel un ré- gulateur par exemple. [0086] Ainsi, le système peut se mettre à jour ou traduire une certification ou une action de contrôle. [0087] Un exemple d'une telle plateforme 500 est illustré en figure 2. Cette plateforme 500 reçoit des informations 505 générées par des intervenants pour chaque étape 525 d'un processus. A partir de ces informations, la plateforme 500 génère des documents 510 et, à complétion de l'étape 525, un certificat 515 d'étape. Ce certificat 515 est stocké sur un registre distribué telle une chaine de blocs. Une fois l'étape finale 530 atteinte, un certificat final 520 est généré. Chaque certificat, 515 et 520, peut être généré et paramétré selon le fonctionnement d'oracles 535. [0088] Un module d'audit 540 permet à des acteurs extérieurs 550 de voir les certificats et éventuellement les documents 510. Chaque acteur peut avoir un niveau de confidentialité paramétré 545 différent. [0089] On observe, en figure 3, schématiquement, un mode de réalisation particulier d'une infrastructure permettant la mise en place d'une plateforme telle que décrite en regard de la figure 2. Cette infrastructure 600 comporte une base de données 605 et un serveur responsables des services « hors du registre distribué » ou « hors de la chaine de blocs ». Cette base de données 605 communique avec un générateur 610 de signatures 9 cryptographiques permettant l'inscription de données dans le registre 615 distribué, ces signatures étant stockées dans le registre 615. [0090] Le registre 615 distribué est relié à un bloc d'exécution d'un contrat intelligent 620 responsable de la signature de données nominatives, de documents, d'évènements déclenchés en fonction de l'oracle ou des oracles considérés. [0091] Cette infrastructure 600 comporte un bloc 625 d'interaction entre la base de données 605 et le registre distribué 615. [0092] Enfin, cette infrastructure 600 comporte un traducteur 630 d'actions en certification extérieure, ce traducteur 630 étant alimenté par des identifiants de machines et des certificats de ces machines. [0093] La présente invention vise, par ailleurs, une architecture de constitution d'un réseau de machines intelligent et auto-natif, c'est-à-dire ne nécessitant pas d'intervention humaine pour ajouter ou retirer une machine. [0094] Cette architecture peut être découpée en sous-ensembles fonctionnels dédiés à la réa- lisation de tâches chronologiquement exécutées, à partir de la première machine intégrée à un tel réseau. [0095] On observe, en figure 4, schématiquement, un premier sous-ensemble 700 comporte : [0096] - une machine 710, ayant un fonctionnement déterminé et émettant au moins une donnée représentative de ce fonctionnement, [0097] - un dispositif 705, tel que décrit en regard de la figure 1, configuré pour capter la donnée et la certifier dans un registre distribué 725, [0098] - un logiciel 715 de pilotage de la machine et [0099] - un moyen 720 de communication sur un réseau de données déterminé. [0100] Ce premier sous-ensemble 700 fonctionnel est configure pour qu'une fois la machine 710 assemblée, associée à un logiciel 715 de pilotage donné et à un moyen 720 de communication, enregistrer sur le registre distribué 725 cet ensemble 701 comportant la machine 710, le logiciel 715 et le moyen 720 de communication. [0101] En retour, le registre distribué 725 fournit à la machine une signature crypto- graphique déterminée. [0102] Ce registre distribué 725 stocke des identifiants de machines et de contrats in- telligents, par exemple. [0103] On observe, en figure 5, schématiquement, un deuxième sous-ensemble 800 illustre un réseau intelligent préexistant comportant, a minima, un registre 815 distribué configure pour certifier les machines 805 du réseau et une infrastructure 810 de pilotage du réseau intelligent. Cette infrastructure est formée, par exemple, d'éléments physiques et logiciels configurés pour contrôler le fonctionnement des machines 805 et/ou commander un mode de fonctionnement aux machines 805. [0104] Les machines 805 sont certifiées sur le registre 815 distribué tandis que la machine 805 est introduite dans le réseau sans être initialement certifiée. [0105] On observe, en figure 6, schématiquement, un sous-ensemble 900 responsable d'une tentative d'inscription de la machine 801 dans le réseau 905 intelligent. [0106] Au cours de cette tentative, le logiciel 715 de pilotage de la machine 710 recherche des machines 805 comportant une signature identique à la signature enregistrée dans le sous-ensemble 700 tel que décrit en regard de la figure 4. Ce logiciel 715 de pilotage recherche, de plus, la présence d'un dispositif 705 d'inscription dans le réseau. Cette recherche peut être réalisée via un réseau internet, Ethernet, un réseau cellulaire, un réseau radio ou un réseau Wifi par exemple. [0107] On observe, en figure 7, schématiquement, le sous-ensemble 800 illustré en figure 5 dans lequel la machine 801 candidate à l'inscription dans le réseau communique avec les machines 805 déjà présentes dans le réseau. Dans ce sous-ensemble 800, la machine 801 émet une demande d'autorisation de fonctionnement aux autres machines 805 du réseau. Puis, les autres machines 805 détectent la présence d'un dispositif 705 d'inscription sur la machine 801 candidate et valident temporairement l'inclusion dans le réseau de la machine 801 candidate, sans inscrire cette nouvelle machine 801 sur le registre 815 distribué. La machine 801 candidate, dans ce mode de fonctionnement, présente préférentiellement un fonctionnement de hase tant que l'inscription complète de la machine 801 candidate n'a pas été réalisée. [0108] On observe, en figure 8, schématiquement, le sous-ensemble 800 illustré en figure 5 et 7 dans lequel la machine 801 candidate a été inscrite sur le registre 815 distribué. Cette inscription peut être validée par un administrateur humain, via l'infrastructure 810 de pilotage ou automatiquement par les machines 805 en fonction de la signature de la machine 801 candidate. 11 [Revendication 1] [Revendication 2] [Revendication 3] [Revendication 4] [Revendication 5] [Revendication 6] [Revendication 7] [Revendication 8] [Revendication 9]