Brevet FR3133244A1 — publié le 20230908

Module (1) de traitement d’instances certifiantes (100) de données numériques, ledit module comportant un identifiant de l' utilisateur (200) et de systèmes certificateurs (300), dans lequel chacune des instances certifiantes est associée à une adresse de stockage, à un terminal utilisateur, et à un registre non répudiable comportant une liste ordonnée d’éléments, chacun des éléments comportant : une attestation générée par l’un des systèmes certificateurs, une attestation comportant un type d’attestation, un condensat d’un document, un horodatage par le système certificateur de l’instant de génération de ladite attestation ; une signature électronique de ladite attestation ; un horodatage par le module de traitement de l’instant d’ajout de l’élément dans la liste ordonnée ; possiblement un pointeur vers le document. Figure à publier : Figure 2 Certification de données multi-facteurs L’invention se situe dans le domaine de l’informatique du chiffrement et des systèmes garantissant la non répudiation, par exemple les chaînes de blocs, pour l’anglais blockchains . État de la technique antérieure Le monde de la cyber sécurité se focalise sur la chasse aux mauvais acteurs. Les systèmes de certifications de données, existant reposent uniquement sur l’authentification des acteurs. Au mieux, les systèmes existants tels que PGP, S/MIME permettent de chiffrer et signer. Ils sont peu utilisés dans la pratique, requièrent une forte administration et connaissance technique de l’ensemble des acteurs qui l’utilise. Un inconvénient de ce système de certification de donnée est qu’il est basé sur une source unique d’information. La solidité du système dépend exclusivement de la formation de l’ensemble des acteurs. Un but de l’invention est notamment de remédier à tout ou partie des inconvénients précités. Selon un premier aspect de l’invention, il est proposé un module de traitement d’instances certifiantes de données numériques, le module comportant un identifiant de l'utilisateur et de systèmes certificateurs, dans lequel chacune des instances certifiantes est associée à une adresse de stockage, à un terminal utilisateur, et à un registre non répudiable comportant une liste ordonnée d’éléments, chacun des éléments comportant : une attestation générée par l’un des systèmes certificateurs, l’attestation comportant un type d’attestation, un condensat d’un document, un horodatage par le système certificateur de l’instant de génération de ladite attestation, une signature électronique de ladite attestation, un horodatage par le module de traitement de l’instant d’ajout de l’élément dans la liste ordonnée, optionellement un pointeur vers le document éléctronique (par exemple une adresse mémoire dans un dispositif de stockage sur un réseau), en clair ou chiffré par une clef asymétrique détenue par le créateur du MFC. Selon un deuxième aspect de l’invention, il est proposé un système comportant au moins un client, au moins un système certificateur, et un module de traitement d’instance selon le premier aspect de l’invention, ou l’un ou plusieurs de ses perfectionnements. Selon un autre aspect de l’invention, il est proposé un procédé mis en œuvre dans un système selon le deuxième aspect de l’invention, ou l’un ou plusieurs de ses perfectionnements. Le procédé peut comporter une étape de vérification de l’intégrité d’un fichier par un terminal utilisateur, ledit fichier étant reçu d’un autre terminal utilisateur. L’étape de vérification de l’intégrité du fichier comporte alors les étapes suivantes, mises en œuvre au niveau du terminal utilisateur : calculer un condensat du fichier reçu, recevoir de l’autre terminal utilisateur une adresse de stockage d’une instance certifiante, générer une requête de réception d’instance certifiante à partir de ladite adresse de stockage et l’envoyer au module, recevoir du module l’instance certifiante associée à ladite adresse de stockage, parcourir la liste d’éléments de l’instance certifiante reçue pour déterminer la présence ou l’absence d’un condensat d’une attestation qui soit le même que le condensat calculé. Si la présence du condensat calculé est vérifiée, l’étape de vérification de l’intégrité du fichier peut comporter une ou plusieurs étape de vérification des autres attestations de la liste ordonnée d’éléments de ladite instance certifiante. Description des figures D'autres avantages et particularités de l'invention apparaîtront à la lecture de la description détaillée de mises en œuvre et de modes de réalisation nullement limitatifs, au regard de dessins annexés sur lesquels : illustre un exemple de réalisation d’un système selon l’invention, illustre un cas d’utilisation d’un système selon l’invention, illustre les différentes étapes d’une certification par un système selon l’invention, illustre un diagramme de séquence d’échanges au sein du système selon l’invention. Description de modes de réalisation Les modes de réalisation décrits ci-après n’étant nullement limitatifs, on pourra notamment considérer des variantes de l'invention ne comprenant qu'une sélection de caractéristiques décrites, par la suite isolées des autres caractéristiques décrites, si cette sélection de caractéristiques est suffisante pour conférer un avantage technique ou pour différencier l'invention par rapport à l'état de la technique antérieure. Cette sélection comprend au moins une caractéristique, de préférence fonctionnelle sans détails structurels, ou avec seulement une partie des détails structurels si cette partie uniquement est suffisante pour conférer un avantage technique ou pour différencier l'invention par rapport à l'état de la technique antérieure. Sur les figures un élément apparaissant sur plusieurs figures conserve la même référence. Définitions Condensat : un condensat est le résultat d’une fonction de hachage qui crée une empreinte des documents, données etc. Un condensat sert à valider l’intégrité de données. Certiﬁcation digitale : un procédé utilisant le chiffrement et la cryptographie asymétrique pour assurer la provenance des données numériques. est un schéma d’un mode de réalisation d’un système selon l’invention. Le système selon l’invention comporte : un module 1 de traitement d’instances certifiantes (100) de données numériques, ledit module comportant un identifiant de l' utilisateur (200) et de systèmes certificateurs (300). Chacune des instances certifiantes est associée à une adresse de stockage de ladite instance, à un terminal utilisateur propriétaire de ladite instance, et à un registre (en anglais ledger ) non répudiable. Le registre comporte une liste ordonnée d’éléments. Chacun des éléments de la liste d’éléments ordonnées : une attestation générée par l’un des systèmes certificateurs, une attestation comportant un type d’attestation, un condensat d’un document, un horodatage par le système certificateur de l’instant de génération de ladite attestation, une signature électronique de ladite attestation, un horodatage par le module de traitement de l’instant d’ajout de l’élément dans la liste ordonnée, possiblement un pointeur vers le document. Le registre peut être implémenté en tant que “smart contract” sur un registre distribué sans permissions, tel qu’une blockchain, ou tout autre implémentation qui garantit la non répudiation des transactions sur le registre. Une instance certifiante est initialisée par une étape d’enregistrement d’un d’acteur, identiﬁable par clefs asymétriques, et création d’une clef de chiffrement des données stockées l’instance certifiante. Le module 1 implémente une fonction d’ajout d’une attestation à une instance certifiante. Le module 1 implémente une fonction de transfert d’une instance certifiante à un autre terminal utilisateur. Le module 1 implémente une fonction de vérification de l’ensemble des attestations d’une instance certifiante à réception d’un condensat et de l’instance certifiante. Le module 1 peut être configuré pour accepter une requête de partage des attestations composant d’un registre d’une instance certifiante avec autorisation de l’acteur propriétaire du MFC. Les attestations Une attestation est générée par tout système certificateur qui a une donnée en lien avec le type d’attestation demandé par un terminal utilisateur ou un autre système numérique. Une attestation comporte un condensat obtenu à partir d’un fichier du système certificateur qui permettent de valider le type d’attestation. Un type d’attestation correspond à une affirmation du terminal utilisateur. Cela peut être notamment : un fichier (par exemple une photographie, ou un fichier audio), une localisation, une signature, un audit (par exemple une vérification humaine des systèmes ayant généré le condensat ou encore un audit automatisé), , une proximité, une présence de témoin, une résidence, un achat, une preuve de propriété,, une délégation Les attestations de type délégation. La délégation permet de signer "au nom” d’une personne ou d’une entreprise. Ce type d’attestation est important pour pouvoir changer la clé d’un système certificateur, et pour autant conserver la trace que la signature était reconnue à une date antérieure au changement de clé.L’attestation est signée électroniquement et horodatée par le système certificateur, signature qui peut permettre d’identifier l’entreprise ou le responsable de la signature. L’instance certifiante peut être configurée pour chiffrer l’attestation dans son stockage et ainsi la rendre accessible uniquement au terminal utilisateur associé à l’instance certifiante, c’est-à-dire son propriétaire. La clef publique de l’acteur propriétaire sera alors utilisée par défaut pour chiffrer l’attestation. Il est possible qu’un système certificateur certifie l’absence de données liées à un terminal utilisateur. Dans ce cas le condensat aura la valeur “absence vérifiée”, par exemple codée par la valeur -1, ou « absence » codée par la valeur « -2 » . « absence vérifiée » correspond à un cas où il y a une donnée qui prouve que l’affirmation à certifier est fausse. Par exemple, pour la localisation d’un téléphone portable, la valeur “absence” signifie que le système n’a pas de données liées au terminal utilisateur. On pourra invalider une attestation précédente en ajoutant une nouvelle attestation avec le condensat “erreur”. La transaction invalidée sera pointée par son identifiant dans le registre. Exemple de mise en œuvre d’un système selon l’invention La illustre un exemple de réalisation d’un procédé mis en œuvre dans un système selon l’invention. Un utilisateur utilise son téléphone mobile pour générer un fichier, qui comprend une photographie, localisée par le GPS de son téléphone mobile, et des métadonnée. L’utilisateur adresse une requête de création d’instance au module 1, en lui adressant un condensat du fichier généré et une signature électronique du condensat, ce qui est illustré par les étapes 1 et 2 de la . Le module 1 crée une instance certifiante MFC associée au terminal utilisateur. Un premier élément est ajouté au registre de l’instance certifiante MFC. Le premier élément comporte : une attestation générée par l’utilisateur, l’attestation comportant un type d’attestation de type fichier, le condensat du fichier généré, un horodatage par le système certificateur de l’instant de génération de ladite attestation, une signature électronique de ladite attestation, un horodatage par le module 1 de l’instant d’ajout de l’élément dans la liste ordonnée. Par suite, l’utilisateur adresse à un système certificateur une requête d’attestation pour ce fichier. Pour cela, le terminal utilisateur envoie au système certificateur, un type d’attestation requis, ainsi qu’un identifiant du terminal utilisateur auprès du service certificateur de cette entreprise. Dans l’exemple représenté, le système certificateur est prévu pour certifier l’accès du terminal utilisateur au système wifi de l’entreprise, ce qui est illustré par l’étape 3 de la . A réception de la requête, le système certificateur collecte des données auprès d’un système d’information pour générer un fichier relatif au type d’attestation requis, à l’identifiant du terminal utilisateur. Le système certificateur calcule par la suite un condensat et génère une attestation comportant un horodatage par le système certificateur de l’instant de création de l’attestation. L’attestation est envoyée, ainsi que sa signature électronique, à destination du terminal utilisateur. A réception de l’attestation et de la signature électronique par le terminal utilisateur, ce dernier adresse ses éléments, ainsi que l’adresse de l’instance certifiante au module 1. Le module 1 est alors configuré pour ajouter l’attestation et sa signature électronique comme nouvel élément à la liste ordonnée d’éléments de l’instance. Par suite, l’utilisateur peut adresser une nouvelle requête d’attestation pour ce fichier à un autre système certificateur. Dans l’exemple représenté sur , étape 4, le procédé comporte l’ajout d’une attestation (ou lien) de vérification de proximité avec un téléphone d’un employé. Dans l’exemple représenté sur , étape 5, le procédé comporte en outre l’ajout d’une attestation (ou lien) de vérification de la photo par un employé. La illustre un exemple de séquence d’un procédé mis en œuvre dans un système selon l’invention. Les références sont ici spécifiquement liées à la . Un utilisateur 1 utilise 1 une application mobile configurée pour communiquer avec le système selon l’invention. Ladite application mobile crée d’une part une photographie et d’autre part adresse 3 une requête de création d’instance au module en lui adressant un condensat du fichier généré et une signature électronique du condensat, ce qui est illustré par les étapes 1 et 2 de la . Le module crée 4 une instance certifiante MFC associée au terminal utilisateur, comportant un registre. Le module renvoi 5 une adresse de l’instance certifiante à l’application mobile. L’application mobile reçoit 6 un agrégat de la photo. L’application mobile adresse 7 une requête d’ajout d’attestions auprès du module en lui adressant l’adresse de l’instance certifiante, un condensat du fichier généré et une signature électronique du condensat Un premier élément est ajouté 8 au registre de l’instance certifiante MFC. Le premier élément comporte : une attestation générée par l’application, l’attestation comportant un type d’attestation de type fichier, le condensat du fichier généré, un horodatage par le système certificateur de l’instant de génération de ladite attestation, une signature électronique de ladite attestation, un horodatage par le module 1 de l’instant d’ajout de l’élément dans la liste ordonnée, Par suite l’application mobile requiert 9 l’ajout de la localisation GPS auprès du module. Un deuxième élément est ajouté 10 au registre l’instance certifiante. Par suite, l’utilisateur adresse 11 à un système certificateur une requête d’attestation pour ce fichier. Pour cela, le terminal utilisateur envoie au système certificateur, un type d’attestation requis, ainsi qu’un identifiant du terminal utilisateur auprès du service certificateur de cette entreprise. Dans l’exemple représenté, le système certificateur est prévu pour certifier l’accès du terminal utilisateur au système wifi de l’entreprise. A réception de la requête, le système certificateur collecte des données auprès d’un système d’information pour générer un fichier relatif au type d’attestation requis, à l’identifiant du terminal utilisateur. Le système certificateur calcule par la suite un condensat 12 et génère une attestation comportant un horodatage par le système certificateur de l’instant de création de l’attestation. Dans l’exemple illustré, l’attestation est envoyée 13, ainsi que sa signature électronique, à destination du moduel. Le module 1 est alors configuré pour ajouter 14 l’attestation et sa signature électronique comme nouvel élément à la liste ordonnée d’éléments de l’instance. Vérification de l’intégrité d’un fichier Le procédé selon l’invention peut comporter une étape de vérification de l’intégrité d’un fichier par un terminal utilisateur, le fichier étant reçu d’un autre terminal utilisateur. A cet effet, le terminal utilisateur met en œuvre les étapes suivantes : calculer un condensat du fichier reçu, recevoir de l’autre terminal utilisateur une adresse de stockage d’une instance certifiante, générer une requête de réception d’instance certifiante à partir de ladite adresse de stockage et l’envoyer au module (1), recevoir du module (1) l’instance certifiante associée à ladite adresse de stockage, parcourir la liste ordonnées d’éléments de l’instance certifiante reçue pour déterminer la présence ou l’absence d’un condensat d’un attestation qui soit le même que le condensat calculé Si la présence du condensat calculé est vérifiée, l’étape de vérification de l’intégrité du fichier peut comporter une ou plusieurs étapes de vérification des autres attestations de la liste ordonnée d’éléments de ladite instance certifiante. A cet effet, le terminal utilisateur peut adresser, par exemple de manière itérative, une requête de vérification à chacun des systèmes certificateurs, comportant l’attestation. A réception de ladite requête de vérification, le système certificateur peut vérifier l’intégrité de l’attestation en calculant de nouveau le condensat lié au fichier utilisé pour générer l’attestation, et le comparer avec le condensat contenu dans l’attestation reçue. Si les deux condensats sont égaux, le système certificateur adresse une réponse positive au terminal utilisateur, sinon il adresse une réponse négative. Le terminal utilisateur peut ainsi s’assurer de l’intégrité du fichier reçu auprès de plusieurs systèmes certificateurs, augmentant ainsi sa confiance dans l’intégrité du fichier reçu. Bien sûr, l’invention n’est pas limitée aux exemples qui viennent d’être décrits et de nombreux aménagements peuvent être apportés à ces exemples sans sortir du cadre de l’invention. De plus, les différentes caractéristiques, formes, variantes et modes de réalisation de l’invention peuvent être associés les uns avec les autres selon diverses combinaisons dans la mesure où ils ne sont pas incompatibles ou exclusifs les uns des autres. Module (1) de traitement d’instances certifiantes (100) de données numériques, ledit module comportant un identifiant d’un terminal utilisateur (200) et de systèmes certificateurs (300), dans lequel chacune des instances certifiantes est associée à une adresse de stockage, à un terminal utilisateur, et à un registre non répudiable comportant une liste ordonnée d’éléments, chacun des éléments comportant : une attestation générée par l’un des systèmes certificateurs, l’attestation comportant un type d’attestation, un condensat d’un document, un horodatage par le système certificateur de l’instant de génération de ladite attestation, une signature électronique de ladite attestation, un horodatage par le module de traitement de l’instant d’ajout de l’élément dans la liste ordonnée, optionellement un pointeur vers le document. Système de certifications de données comportant au moins un terminal utilisateur (200), au moins un système certificateur, et un module de traitement d’instance selon la revendication précédente. Procédé de certifications de données mis en œuvre dans un système de certifications de données selon la revendication précédente, comportant une étape de vérification de l’intégrité d’un fichier par un terminal utilisateur, ledit fichier étant reçu d’un autre terminal utilisateur, ladite étape comportant les étapes suivantes, mises en œuvre au niveau du terminal utilisateur : calculer un condensat du fichier reçu, recevoir de l’autre terminal utilisateur une adresse de stockage d’une instance certifiante, générer une requête de réception d’instance certifiante à partir de ladite adresse de stockage et l’envoyer au module (1), recevoir du module (1) l’instance certifiante associée à ladite adresse de stockage, parcourir la liste ordonnées d’éléments de l’instance certifiante reçue pour déterminer la présence ou l’absence d’un condensat d’un attestation qui soit le même que le condensat calculé