Brevet FR3070077A1 — publié le 20190215

Arrière-plan de l'invention L'invention se situe dans le domaine de la lutte contre la fraude documentaire. Elle particulièrement une solution pour permettre la certification d'un document émis [Dor une première entité pour une deuxième entité. L'invention trouve une application particulière pour lutter contre la fraude bancaire en offrant une solution permettant de sécuriser la transmission de coordonnées bancaires entre un client et un fournisseur. 10 Objet et résumé de l'invention Selon un premier aspect, l'invention concerne un procédé de certification d'un document électronique, ce procédé étant mis en oeuvre par un dispositif pair dans un réseau de pairs, ces dispositifs pairs étant confidurés pour stocker une copie d'une chaîne 15 de blocs selon un mécanisme de tyne « blockchain ». Ce procédé est caractérisé en ce qu'il comporte : - une étape d'authentification d'un dispositif pair émetteur de ce document ; - une étape de génération, pour ledit dispositif pair émetteur, d'un couple clef :itibiiqueicief privée à usage unique ; 20 - une étape d'envoi, au dispositif pair émetteur, d'un message comportant ladite clef publique, l'adresse d'un contrat intelligent dans la chaine de blocs et une description des services offert,:: par ce contrat intelligent ; - une étape de réception d'un bloc de ladite chaine et de détection, dans ce bloc, d'un événement représentatif d'une écriture dans ledit contrat intelligent, d'une empreinte 25 d'un document émis par le dispositif pair émetteur et d'une signature de cette empreinte ; - une étape de vérification de la vaHdéé de: ladite signature avec ladite clef privée ; - une étape d'envoi d'une transaction aux dispositifs pairs pour leur demander d'exécuter une fonction du contrat intelligent ayant pour effet d'enregistrer dans un bloc de la 30 chaîne, une information représentative du fait que l'empreinte du document a été certifiée par ledit dispositif pair. Corrélativement l'invention concerne un serveur de certification d'un document électronique, ce serveur étant un dispositif pair dans un réseau de pairs, les dispositifs pairs dudit réseau étant configurés pour stocker une copie d'une chaîne de blocs selon un 35 mécanisme de type « blockchain », ledit serveur étant caractérisé en ce qu'il comporte : - une unité d'authentification d'un dispositif pair émetteur de ce document ; 2 - une unité de génération, pour ledit dispositif pair émetteur, d'un couple clef publique/clef privée à usage unique ; - une unité d'envoi, au dis-posiLf pair émetteur, d'un message comportant ladite clef publique, l'adresse d'un contrat intelligent dans la chaine de blocs et une description des services offerts par ce contrat intelligent;, - une unité de réception d'un bloc de ladite chaine et de détection, dans ce bloc, d'un événement représentatif d'une écriture dans ledit contrat intelligent, d'une empreinte d'un document émis par Iedt dispositif émetteur et d'une signature de cette empreinte ; - une unité de vérification de la validité de ladite signature avec ladite clef privée ; 10 - une unité d'envoi d'une transaction aux dispositifs pairs pour leur demander d'exécuter une fonction du cord.rat intelligent ayant pour effet d'enregistrer dans un bloc de la chaîne, une information représentative du fait que l'empreinte du document a été certifiée par ledit serveur de certification. On ra-15spelle qu'un contrat intelligent n anglais « Smart Contract ») est un 15 programme exécutable stocké et exécuté dans la chaîne de blocs, un tel programme permettant de stocker des données et d'effectuer des transactions sur la chaîne de blocs. Ainsi et d'une façon générale, l'invention propose d'uLn,.c.:r une chaîne de blocs pour garantir à la fois l'intégrité et l'authenticité d'un document. L'invention utilise à cet effet les propriétés intrinsèques aux chaînes de blocs pour 20 garantir l'intégrité du document, l'empreinte d'un document étant en pratique infalsifiable dès lors qu'elle a été enregistré.e dans la chaîne. Conformément à l'invention, l'authenticité du document est vérifiée par un mécanisme de clefs, par exemple de clefs RSA, la preuve de l'authenticité du document, autrement dit la preuve que l'empreinte du document a bien été enregistrée par un 25 utilisateur autorisé, étant elle-même enregistrée dans un bloc de la chaîne. Dans un mode .:e.eticulier de réalisation, le message envoyé au dispositif pair émetteur comporte en outre l'adresse d'une application décentralisée à laquelle ledit dispositif pair émetteur peut se connecter pour recevoir un code exécutable pour interagir avec ladite chaîne de blocs, l'exécution de ce code exécutable permettant 30 d'obtenir l'adresse du contrat intelligent et la description des services offerts par ce contrat intelligent. Cette application décentralisée peut être une Dapp connue de l'homme du métier. L'utilisation d'une telle application décentralisée, permet d'améliorer l'ergonomie et d'enrichir le service de certification conforme à l'invention. 35 On rappelle qu'une Dapp est une application écrite en htminavaScript qui utilise la chaîne de blocs comme back-end via l'appel aux fonctions du contrat inteliigent. Dans un mode particulier de réalisation, le procédé de certification selon l'invention comporte en outre : - une .é1J:ipc, de réception d'une empreinte du document en provenance d'une entité propriétafte du document ; et - une étape de vérification que ladite empreinte est identique à celle enregistrée dans la chaîne de blocs et si c'est le cas, une étape d'exécution d'une deuxième [onction du contrat intelligent pour écrire, dans un bloc de ladite chaîne, une information représentative du fait que ledit document a été validé par son propriétaire. Le serveur de certification selon l'invention présume que l'entité propriétaire du 10 document n'envoie l'empreinte du document qu'après avoir certifié le document, autrement dît après avoir vérifié que le &Y:un-leur, émis par le dispositif pair émetteur ne comporte pas d'erreur. Par exemple, dans le cas d'un relevé d'identité bancaire, le propriétaire du document vérifie, avant d'envoyer l'empreinte de ce relevé, que les nom, adresse et numéro de compte figurant sur ce relevé sont corrects. 15 Dans un mode particulier de réalisation, le procédé de certification selon l'invention comporte en outre : - une étape de réception d'une empreinte du document en provenance d'une entité vérificatrice du document ; et - une étape de vérification que ladite empreinte est identique à celle enregistrée dans la 20 chaîne de blocs. Le serveur de certification peut ainsi s'assurer : - de la validité de la signature avec la clef privée, preuve que le document a bien été émis par un pair autorisé, - que le document a bien été certifié par son propriétaire ; et 25 - que le document a bien été vérifié par l'entité vérificatrice du document. L'invention permet ainsi au serveur de certification, lorsqu'il reçoit une indication selon laquelle un document a été certifié par l'entité propriétaire et/ou par l'entité vérificatrice, de vérifier que l'empreinte de ce document a bien été inscrite dans un bloc de la chaîne par un pair autorisé, autrement dit de vérifier que ce document n'a pas été 30 frauduleusement envoyé à l'une ou l'autre de ces entités par un tiers mal intentionné. L'invention peut s'appliquer à tout type de lutte contre les fraudes documentaires. Elle permet en particulier de iutLer contre les fraudes aux coordonnées bancaires, par exemple contre les falsifications de relevés d'identité bancaires (RIB), une telle falsification ayant pour conséquence qu'un client ne paye pas le compte du bon 35 fournisseur mais un compte correspondant à des coordonnées falsifiées. 4 L'invention permet de certifier : - que c'est effectivement la banque qui a inséré l'empreinte du document (autrement dit l'empreinte du RIB) dans b cbFae de blocs ; que l'empreinte de ce document, une fois insérée dans la chaine de blocs est infalsifiable ; Dans un mode particulier de réalisation, les différentes étapes du procédé de certification selon l'invention sont déterminées par des instructions de programmes d'ordinateurs. En conséquence, l'invention vise aussi un programme d'ordinateur, sur un 10 support d'informations, ce programme comportant des instructions adaptées à la mise en oeuvre des étapes d'un procédé de certification selon l'invention. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle 15 autre forme souhaitable. L'invention vise aussi un support d'informations lisible par un ordinateur, et comportant des instructions d'un programme d'ordinateur tel que mentionné ci-dessus. Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de 20 stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple un disque dur. D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou 25 optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier télechargé sur un réseau de type Internet. Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilise dans l'exécution du procédé en question. 30 Pour plus de renseignements sur les notions de chaine de blocs, de contrat intelligent et d'application décentralisée, l'homme du métier peut se reporter aux documents - https://frmikipedia.orgiwiki/Chao/OC3°/0AEneede_blocs - .https://blockchainfrance. netidecouvrir-la-blockchain/c-est-quoi-la-blockchain/ 35 - https ://g ith u b.corniethereu rnivviki/wi ki/Wh ite-Pa per ; - S.Nakamoto « Bitcoire A Peer-to-Peer Electronic Cash System ». Brève description des dessins D'autres caractéristiques et avantages de la présente invention ressortiront de la description faite ci-dessous, en référence aux dessins annexés qui en illustrent un exemple de réalisation dépourvu de tout caractère imftn1F. Sur les figures : - la figure 1 représente un serveur de certification conforme à un mode particulier de mise en oeuvre de l'invention dans son environnement; et - la figure 2 représente, sous forme d'organigramme, les principales étapes d'un procédé de certification conforme à un mode particulier de réalisation de l'invention. 10 scriplion détaillée d'un mode de réalisation de l'invention La figure 1 représente un serveur de certification 20 conforme à un mode particulier de réalisation de l'invention dans son environnement. 15 Ce serveur de certification 20 est un pair P d'un réseau de pairs P, chacun de ces pairs P étant configure pour stocker une copie d'une chaîne de blocs au sens de la technologie « blockchain Dans l'exemple de réalisation décrit ici, la chaîne de blocs utilisée est une chaîne de blocs programmable permettant de créer des contrats intelligents (en anglais 20 « SmartContract ») et des applications décentralisées (en anglais « Dapp »), par exemple la chaîne de blocs Ethereum. On rappelle que conformément à la technologie Ethereum, le réseau de pairs comporte deux types de pairs, à savoir : des pairs dits « mineurs » qui stockent les transactions dans un bloc, et 25 régulièrement, par exemple tous les 12 secondes, réalisent une opération dite de minage consistant à exécuter ces transactions, écrire le résultat de ces transactions dans le bloc, calculer une empreinte du bloc (nonce) au moyen d'une fonction mathématique, et diffuser ce bloc dans le réseau de pairs ; et - des pairs simples qui reçoivent les blocs générés, en vérifient la validité et 30 mémorisent une copie de la chaîne de blocs. Dans le mode de réalisation décrit ici, le serveur de certification 20 a l'architecture matérielle d'un ordina:eur. Il comporte un processeur 21, une mémoire morte de type ROM 22, une mémoiro vive de type RAM 23 et des moyens de communication 24 et des moyens 25 d'accès à un gestionnaire de base de données 30. 35 La mémoire morte de type ROM 22 constitue un support d'enregistrement au sens de l'invention. Elle comporte un programme d'ordinateur conforme à l'invention et 6 comportant des instructions aptes à mettre en oeuvre un procédé de certification conforme à l'invention et dont les principales étapes E10 à E130 seront décrites en référence à la figure 2. Le se-veur de certification 20 comporte - une unité d'authentification d'un dispositif pair, par exemple à partir d'un identifiant (login) et d'un mot de passe reçus de ce dispositif pair; - une unité de génération d'un couple clef publique/clef privée à usage unique ; - une unité apte à envoyer, à un dispositif pair du réseau, un message comportE.9nt une clef publique, l'adresse d'un contrat intelligent dans la chaine de blocs et une description 10 des services orrurts par ce contrat intelligent (en anglais ABI pour Application Binary Interface) ; - une unité de réception d'un bloc de ladite chaine et de détection, dans ce bloc, d'un événement représentatif d'une écriture dans le contrat intelligent, d'une empreinte d'un document et d'une signature de cette empreinte ; 15 - une unité de vérification de la validité d'une signature effectuée avec une clef publique. en utilisant une clef privée associée à cette clef publique; - une unité d'envoi d'une transaction aux dispositifs pairs pour leur demander d'exécuter une fonction du contrat intelligent ayant pour effet d'enregistrer dans un bloc de la chaîne, une information représentative du fait que l'empreinte d'un document a été 20 certifiée par ledit serveur de certification. Dans le mode de réalisation décrit ici, on suppose que le réseau de pairs P comporte un dispositif pair 10 émetteur (par exemple une banque) d'un document (par exemple un relevé d'identité bancaire, RIB). Sur la figure 1 on a également représenté une entité 40 propriétaire du 25 document (par exemple une société fournisseur dont le compte bancaire correspond au RIB émis par la banque) et une entité vérificatrice 50 qui souhaite :pouvoir s'assurer de l'intégrité et de l'authenticité du document (par exemple un client de la société fournisseur). Dans le mode de réalisation décrit ici, l'entité 40 propriétaire du document et 30 l'entité vérificatrice 50, ne sont pas des pairs du réseau de pairs. Elles n'ont pas accès à la chaîne de blocs. La figure 2 représente les principales étapes E10 à F130 d'un procédé de certification conforme à un mode parlic:ulier de réalisation de l'invention. On se place dans le contexte dans lequel le dispositif pair émetteur 10 souhaite 35 certifier un document électronique, par exemple un RIB. 7 Au cours d'une étape F10, le dispositif pair émetteur 10 envoie une requête. d'aulle.ntificetion au serveur de certification 20 selon l'invention pour s'authentifier auprès Cie ce serveur, ladite requête comportant par exemple un identifiant et un mot de passe. Le senteur de certification 20 reçoit cette requête au cous d'une étape E:10. Sur réception de cette requête d'authentification, le serveur de certification 20 vérifie, au cours d'une étape E20, les données de connexion auprim cl'un système de gestion de base de données 30 comportant des certificats associés à des utilisateurs. On suppose par la suite que les données de connexion sont valides et que l'authentification du dispositif pair émetteur 1() réussit 10 Conformément à l'invention, le serveur de certification génère pour le dispositif pair émetteur 10, au Cours d'une étape E30 un couple clef publique/clef privée (KPUB, KPRIV) à usage unique. Ces clefs sont mémorisées par le système de gestion de bases de données 30. Au cours d'une étape E40, le serveur de certification 20 envoie au dispositif pair 15 émetteur 10 un message de réponse à la requête d'authentification, ce message comportant au moins : - l'adresse d'une application décentralisée DAPP à laquelle le dispositif pair émetteur 10 peut se connecter pour recevoir un code exécutable pour interagir avec la chaîne de blocs, par exemple un code JavaScript compris dans une page 20 HTML. L'exécution de ce code exécutable permet d'obtenir l'adresse d'un contrat intelligent SC (c-n ng is REVENDICATIONS1. Procédé de certification d'un document électronique, ledit procédé était mis en oeuvre par un dispositif pair (20) dans un réseau de pairs, lesdits dispositifs pairs étant configurés pour stocker une copie d'une chaîne de blocs selon un mécanisme de type « blockchain », ledit procédé étant caractérisé en ce qu'il comporte : - une étape (E20) d'authentification d'un dispositif pair (10) émetteur de ce document ; - une étape (E30) de génération, pour ledit dispositif pair émetteur (10), d'un couple clef 10 pul)Pquejelef privée (KPUB, KPRIV) à usage unique ; - une étape (E40) d'envoi, au dispositif pair émetteur (10), d'un message comportant ladite clef publique (KPUB), l'adresse d'un contrat intelligent (CS) dans la chaine de blocs, et une description (ABI) des services offerts par ce contrat intelligent (CS) ; - une étape (E50) de réception d'un bloc de ladite chaine et (EGO) de détection, dans ce 15 bloc, d'un événement représentatif d'une écriture dans ledit contrat intelligent (CS), d'une empreinte (HASH) d'un document émis par ledit dispositif émetteur (1.0) et d'une signature (SIG) de cette empreinte ; - une étape (E70) de vérification de la validité de ladite signature avec ladite clef privée (KPRIV) ; 20 - une étape (E80) d'envoi d'une transaction aux dispositifs pairs (P) pour leur demander d'exécuter une fonction du contrat intelligent ayant pour effet d'enregistrer dans un bloc de la chaîne, une information représentative du fait que l'empreinte du document a été certifiée par ledit dispositif pair (20). 25 2. Procédé de certification d'un document électronique selon la revendication 1, caractérisé en ce que ledit message comporte en outre l'adresse d'une application décentralisée (DAPP) à laquelle redit dispositif pair émetteur (10) peut se connecter pour recevoir un code exécutable pour interagir avec ladite chaîne de blocs, l'exécution de ce code exécutable permettant d'obtenir ladite l'adresse du contrat intelligent (CS) et ladite 30 description (ABI) des services offerts par ce contrat intelligent (CS). 3. Procédé de certification d'un document électronique selon la revendication 1 ou 2, caractérisé en ce qu'il comporte en outre : - une étape (E90) de réception d'une empreinte (I-IASI-1) du document en provenance 35 d'une entité (40) propriétaire du document ; et 11 - une étape (E90) de vérification que ladite empreinte est identique à celle enregistrée dans la chaîne de blocs et si c'est ;c cas, une étape (E100) d'exécution d'une deuxième fonction dudit contrat intelligent (CS) pour écrire, dans un bloc rie ladite chaîne, une information représentative du fait que ledit document a été validé par son propriétaire. 4. Procédé de certification d'un document électronique selon la revendication 3, caractérisé en ce qu'il comporte en outre : - une étape (E120) de réception d'une empreinte (HASH) du document en provenance d'une entité (50) vérificatrice du document ; et 10 - une étape (E120) de vérification que ladite empreinte est identique à celle enregistrée dans la chaîne de blocs. 5. Serveur (20) de certification d'un document électronique, ledit serveur étant un dispositif pair (20) dans un réseau de pairs, les dispositifs pairs dudit réseau étant 15 configurés pour stocker une copie d'une chaîne de blocs selon un mécanisme de type « blockchain », ledit serveur étant caractérisé en ce qu'il comporte : - une unité d'authentification d'un dispositif pair (10) émetteur de ce document ; - une unité de génération, pour ledit dispositif pair émetteur (10), d'un couple clef publique/clef privée (KPUB, KPRIV) à usage unique ; 20 - une unité d'envoi, au dispositif pair émetteur (10), d'un message cun-wortanf_ ladite clef publique (KPUB), l'adresse d'un contrat intelligent (CS) dans la chaine de biocs et une description (ABI) des services offerts par ce contrat intelligent (CS) ; - une unité de réception d'un bloc de ladite chaine et de détection, dans ce bloc, d'un événement représentatif d'une écriture clans ledit contrat intelligent (CS), d'une 25 empreinte (HASI-1) d'un document émis par ledit dispositif émetteur (10) et d'une signature (SIG) de cette empreinte; - une unité de vérification le la validité de Iddite signature avec ladite clef privée (KPRIV) ; - une unité d'envoi d'une transaction aux dispositifs pairs (P) pour leur demander 30 d'exécuter une fonction du contrat rir.-..eHigent ayant pour effet d'enregistrer dans un bloc de la chaîne, une information représentative du fait que l'empreinte du document a été certifiée par ledit serveur de certification (20). 6. Programme d'ordinateur sur un support d'information, ledit programme étant 35 susceptible d'être mis en oeuvre par un ordinateur, ce programme comportant des 12 instructions adaptées à la mise en oeuvre d'un procédé de certification selon l'une quelconque des revendications 1 à 4. 7. Support d'enregistrement iisibL par un ordinateur (20) sur lequel est enregistré un programr- d'ordinateur comprenant des inM-suctions pour l'exécution des étapes du nrocérié de certification d'information :selon l'une quelconque des revendications 1 à 4.