CH716288A2 - Process for processing biometric data of an individual, with phases of calibration and control and registration, in a blockchain, subject to geolocation, of an analysis result. - Google Patents

Process for processing biometric data of an individual, with phases of calibration and control and registration, in a blockchain, subject to geolocation, of an analysis result. Download PDF

Info

Publication number
CH716288A2
CH716288A2 CH00760/19A CH7602019A CH716288A2 CH 716288 A2 CH716288 A2 CH 716288A2 CH 00760/19 A CH00760/19 A CH 00760/19A CH 7602019 A CH7602019 A CH 7602019A CH 716288 A2 CH716288 A2 CH 716288A2
Authority
CH
Switzerland
Prior art keywords
biometric data
enclave
data
network
geolocation
Prior art date
Application number
CH00760/19A
Other languages
French (fr)
Inventor
Attia Jonathan
Louiset Raphaël
Original Assignee
Lapsechain Sa C/O Leax Avocats
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lapsechain Sa C/O Leax Avocats filed Critical Lapsechain Sa C/O Leax Avocats
Priority to CH00760/19A priority Critical patent/CH716288A2/en
Publication of CH716288A2 publication Critical patent/CH716288A2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • G06V40/13Sensors therefor
    • G06V40/1318Sensors therefor using electro-optical elements or layers, e.g. electroluminescent sensing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/107Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0872Generation of secret information including derivation or calculation of cryptographic keys or passwords using geo-location information, e.g. location data, time, relative position or proximity to other entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2111Location-sensitive, e.g. geographical location, GPS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Abstract

L'invention concerne un procédé de traitement des données biométriques d'un individu, à partir d'un émetteur ( E2 ) relié à un réseau pair-à-pair sur lequel est déployée une blockchain, ce procédé comprenant la distribution préalable, sur le réseau, d'un conteneur ( 22 ) crypté contenant des données ( 15 ) biométriques de référence puis, ultérieurement, et sous condition de géolocalisation, la comparaison de données ( 27 ) scannées au niveau de l'émetteur ( E2 ) avec les données ( 15 ) de référence contenues dans le conteneur ( 22 ) crypté ; le résultat de la comparaison est inscrit dans la blockchain.The invention relates to a method for processing the biometric data of an individual, from an issuer (E2) connected to a peer-to-peer network on which a blockchain is deployed, this method comprising the prior distribution, on the network, of an encrypted container (22) containing reference biometric data (15) then, subsequently, and subject to geolocation, the comparison of data (27) scanned at the level of the transmitter (E2) with the data ( 15) reference contained in the encrypted container (22); the result of the comparison is entered in the blockchain.

Description

DOMAINE TECHNIQUETECHNICAL AREA

[0001] L'invention a trait au domaine de l'informatique, et plus précisément au traitement des données biométriques d'un individu. The invention relates to the field of computing, and more specifically to the processing of the biometric data of an individual.

ART ANTERIEURPRIOR ART

[0002] Les données biométriques des individus (typiquement une empreinte digitale ou de la paume, une empreinte rétinienne ou de l'iris, le réseau veineux de la main, une image du visage), tendent à se généraliser en tant que données d'authentification, notamment à l'usage des systèmes de contrôle d'accès à un environnement physique (par ex. local, coffre-fort) ou virtuel (typiquement une session sur un ordinateur, une tablette ou encore un smartphone). [0002] The biometric data of individuals (typically a fingerprint or of the palm, a retinal or iris print, the venous network of the hand, an image of the face), tend to become generalized as data of authentication, in particular for the use of access control systems to a physical (eg local, safe) or virtual environment (typically a session on a computer, tablet or even a smartphone).

[0003] Classiquement, des données biométriques de référence, capturées lors d'une session de paramétrage, sont stockées dans une base de données, puis, sur requête, sont appelées pour être comparées à des données biométriques instantanées, capturées localement à partir d'un terminal sur un individu souhaitant accéder à un environnement donné. [0003] Conventionally, reference biometric data, captured during a setting session, are stored in a database, then, on request, are called to be compared with instantaneous biometric data, captured locally from a terminal on an individual wishing to access a given environment.

[0004] Lorsque plusieurs individus („utilisateurs“) sont présumés autorisés à accéder à un même environnement, une technique classique consiste à mémoriser, dans la base de données, autant de données biométriques que d'individus bénéficiant d'une autorisation d'accès. [0004] When several individuals ("users") are presumed authorized to access the same environment, a conventional technique consists in memorizing, in the database, as many biometric data as there are individuals benefiting from an access authorization. .

[0005] Dans une première version, dite locale, la base de données est locale, c'est-à-dire qu'elle est stockée dans un espace mémoire équipant le (ou directement relié au) terminal à partir duquel est réalisée la capture. Cette technique peut paraître à l'abri des intrusions (et donc des usurpations d'identité) en raison de son caractère local, mais il est le plus souvent nécessaire de prévoir un accès réseau à la base de données, aux fins d'administration (y compris l'ajout ou le retrait d'utilisateurs. Il en résulte que la base de données peut être piratée. In a first version, called local, the database is local, that is to say it is stored in a memory space equipping the (or directly connected to) the terminal from which the capture is performed . This technique may seem immune to intrusions (and therefore identity theft) due to its local nature, but it is most often necessary to provide network access to the database, for administration purposes ( including adding or removing users, resulting in the database being hacked.

[0006] Dans une deuxième version, dite délocalisée, la base de données est stockée dans un espace mémoire réservé dans un serveur distant auquel, à chaque sollicitation par un utilisateur, le terminal se connecte pour comparer les données biométriques capturées aux données biométriques de référence. [0006] In a second version, called delocalized, the database is stored in a memory space reserved in a remote server to which, at each request by a user, the terminal connects to compare the biometric data captured with the reference biometric data .

[0007] Cette deuxième version présente l'avantage de permettre une administration à distance des autorisations associées aux utilisateurs. Cependant, elle repose, d'une part, sur la politique de sécurité informatique à laquelle est soumis le serveur distant sur lequel est stockée la base de données ; d'autre part, sur la confiance que l'on peut accorder à l'administrateur dudit serveur. This second version has the advantage of allowing remote administration of the authorizations associated with the users. However, it is based, on the one hand, on the IT security policy to which the remote server on which the database is stored is subject; on the other hand, on the trust that can be granted to the administrator of said server.

[0008] Il existe par ailleurs de nombreux services pour lesquels les données biométriques des individus sont stockées sur des serveurs distants pour être utilisées en tant que moyen d'authentification sur des comptes utilisateurs. [0008] There are also many services for which the biometric data of individuals are stored on remote servers to be used as a means of authentication on user accounts.

[0009] Dans tous les cas, il n'est jamais certain que les données biométriques des utilisateurs soient protégées des intrusions, de la copie, d'une éventuelle exploitation commerciale, ou encore de l'effacement. [0009] In all cases, it is never certain that the biometric data of users are protected from intrusions, copying, possible commercial exploitation, or even erasure.

[0010] Il existe par conséquent un besoin d'améliorer la confidentialité avec laquelle sont traitées les données biométriques des individus. [0010] There is therefore a need to improve the confidentiality with which the biometric data of individuals are processed.

RESUME DE L'INVENTIONSUMMARY OF THE INVENTION

[0011] Il est proposé un procédé de traitement de données biométriques d'un individu, à partir d'une unité de traitement informatique, dite émetteur, reliée ou intégrée à un réseau pair-à-pair composé d'une pluralité de nœuds formant une base de données distribuée sur laquelle est mémorisée, par réplication sur chaque nœud, une chaîne de blocs, ce procédé comprenant : <tb><SEP>A) Une phase de calibrage, qui comprend les opérations suivantes : <tb><SEP><SEP>- Au moyen d'un dispositif de capture, réaliser une première capture de données biométriques, dites de référence, de l'individu au niveau d'un membre ou d'un organe de celui-ci ; <tb><SEP><SEP>- Chiffrer les données biométriques issues de cette première capture pour former un conteneur crypté de données biométriques ; <tb><SEP><SEP>- Mémoriser séparément le conteneur crypté de données biométriques et une clé cryptographique de déchiffrement de celui-ci ; <tb><SEP><SEP>- Inscrire, dans un bloc de la chaîne de blocs, une transaction contenant une trace de cette capture et/ou de cette mémorisation ; <tb><SEP>B) Une phase de contrôle, qui comprend les opérations suivantes : <tb><SEP><SEP>- Etablir une session de communication entre l'émetteur et le réseau ; <tb><SEP><SEP>- Sélectionner parmi le réseau un nœud dit de calcul, équipé d'une unité de traitement dans laquelle est implémenté un environnement d'exécution sécurisé par cryptographie, dit enclave ; <tb><SEP><SEP>- Instancier l'enclave ; <tb><SEP><SEP>- Au moyen d'un dispositif de capture équipant ou relié à l'émetteur, réaliser une capture de données biométriques de l'individu au niveau d'un membre ou d'un organe de cet individu ; <tb><SEP><SEP>- Charger dans l'enclave, via une ligne de communication sécurisée, les données biométriques capturées ; <tb><SEP><SEP>- Au moyen d'une balise de géolocalisation équipant ou reliée à l'émetteur, éditer des données instantanées de géolocalisation ; <tb><SEP><SEP>- Charger dans l'enclave, via une ligne de communication sécurisée, les données instantanées de géolocalisation ; <tb><SEP><SEP>- Sélectionner parmi le réseau un nœud de stockage sur lequel est mémorisé un exemplaire du conteneur crypté contenant les données biométriques de référence ; <tb><SEP><SEP>- Charger le conteneur crypté dans l'enclave ; <tb><SEP><SEP>- Déchiffrer dans l'enclave les données biométriques de référence, au moyen d'une clé de déchiffrement associée au conteneur crypté ; <tb><SEP><SEP>- Dans l'enclave, comparer les données biométriques capturées et les données de référence, et vérifier si les données instantanées de géolocalisation satisfont une condition de géolocalisation prédéfinie ; <tb><SEP><SEP>- Inscrire dans un bloc de la chaîne de blocs une transaction comprenant une trace du résultat de la comparaison et une trace du résultat de la vérification.A method is proposed for processing the biometric data of an individual, from a computer processing unit, called the transmitter, connected or integrated into a peer-to-peer network composed of a plurality of nodes forming a distributed database on which is stored, by replication on each node, a chain of blocks, this method comprising: <tb> <SEP> A) A calibration phase, which includes the following operations: <tb><SEP> <SEP> - Using a capture device, carry out a first capture of biometric data, called reference, of the individual at the level of a limb or an organ thereof ; <tb><SEP> <SEP> - Encrypt the biometric data resulting from this first capture to form an encrypted container of biometric data; <tb><SEP> <SEP> - Store separately the encrypted container of biometric data and a cryptographic decryption key thereof; <tb><SEP> <SEP> - Enter, in a block of the blockchain, a transaction containing a trace of this capture and / or this storage; <tb> <SEP> B) A control phase, which includes the following operations: <tb><SEP> <SEP> - Establish a communication session between the transmitter and the network; <tb><SEP> <SEP> - Select a so-called computing node from the network, equipped with a processing unit in which an execution environment secured by cryptography, called an enclave, is implemented; <tb><SEP> <SEP> - Instantiate the enclave; <tb><SEP> <SEP> - Using a capture device fitted to or connected to the transmitter, capture the biometric data of the individual at the level of a limb or organ of this individual ; <tb><SEP> <SEP> - Load the captured biometric data into the enclave, via a secure communication line; <tb><SEP> <SEP> - Using a geolocation beacon fitted to or linked to the transmitter, edit instantaneous geolocation data; <tb><SEP> <SEP> - Load into the enclave, via a secure communication line, the instantaneous geolocation data; <tb><SEP> <SEP> - Select from the network a storage node on which is stored a copy of the encrypted container containing the reference biometric data; <tb><SEP> <SEP> - Load the encrypted container into the enclave; <tb><SEP> <SEP> - Decrypt the reference biometric data in the enclave, using a decryption key associated with the encrypted container; <tb><SEP> <SEP> - In the enclave, compare the captured biometric data and the reference data, and check if the instantaneous geolocation data satisfies a predefined geolocation condition; <tb><SEP> <SEP> - Write in a block of the blockchain a transaction including a trace of the result of the comparison and a trace of the result of the check.

[0012] Selon un mode préféré de réalisation, la phase de calibrage comprend les opérations suivantes : Fragmenter la clé cryptographique de déchiffrement ; Désigner, parmi le réseau, un groupe de nœuds de stockage en nombre égal aux fragments ; Distribuer chaque fragment de la clé cryptographique de déchiffrement vers un nœud de stockage, chaque nœud de stockage recevant un unique fragment.[0012] According to a preferred embodiment, the calibration phase comprises the following operations: Fragment the cryptographic decryption key; Designate, among the network, a group of storage nodes equal in number to the fragments; Distribute each fragment of the decryption cryptographic key to a storage node, with each storage node receiving a unique fragment.

[0013] Dans ce cas, la phase de contrôle comprend avantageusement les opérations suivantes : <tb><SEP>- A partir de l'enclave du nœud de calcul, sélectionner parmi le réseau des nœuds sur lesquels sont stockés des fragments de la clé cryptographique de déchiffrement associée au conteneur ; <tb><SEP>- Charger lesdits fragments dans l'enclave du nœud de calcul ; <tb><SEP>- Dans l'enclave : <tb><SEP><SEP>o Reconstituer la clé cryptographique de déchiffrement associée au conteneur, à partir des fragments ainsi chargés ; <tb><SEP><SEP>o Déchiffrer les données biométriques du conteneur au moyen de la clé ainsi reconstituée.[0013] In this case, the control phase advantageously comprises the following operations: <tb> <SEP> - From the compute node enclave, select from the network of nodes on which fragments of the cryptographic decryption key associated with the container are stored; <tb> <SEP> - Load said fragments into the compute node enclave; <tb> <SEP> - In the enclave: <tb><SEP> <SEP> o Reconstitute the cryptographic decryption key associated with the container, from the fragments thus loaded; <tb><SEP> <SEP> o Decrypt the biometric data of the container using the key thus reconstituted.

BREVE DESCRIPTION DES FIGURESBRIEF DESCRIPTION OF THE FIGURES

[0014] D'autres objets et avantages de l'invention apparaîtront à la lumière de la description d'un mode de réalisation, faite ci-après en référence aux dessins annexés dans lesquels : <tb><SEP>LaFIG.1est un schéma fonctionnel simplifié illustrant un réseau pair-à-pair sur lequel est distribuée une chaîne de blocs ; <tb><SEP>LaFIG.2est un schéma fonctionnel simplifié illustrant différents composants d'une unité de traitement informatique impliqués dans la création et l'exploitation d'un environnement d'exécution sécurisé appelé enclave ; <tb><SEP>LaFIG.3est un schéma fonctionnel illustrant pour partie une architecture réseau, pour partie des étapes d'une phase de calibrage, et pour partie des fichiers produits, échangés ou stockés au sein du réseau pour les besoins (ou en application) de cette phase ; <tb><SEP>LaFIG.4est un schéma fonctionnel illustrant des étapes d'un procédé de traitement des données biométriques d'un individu ; <tb><SEP>LaFIG.5est un schéma fonctionnel illustrant, dans le prolongement de celui de laFIG.4, des étapes supplémentaires du procédé de traitement.[0014] Other objects and advantages of the invention will appear in the light of the description of an embodiment, given below with reference to the accompanying drawings in which: <tb> <SEP> LaFIG.1 is a simplified block diagram illustrating a peer-to-peer network on which a chain of blocks is distributed; <tb> <SEP> LaFIG.2 is a simplified functional diagram illustrating different components of a computer processing unit involved in the creation and operation of a secure execution environment called an enclave; <tb> <SEP> LaFIG.3 is a functional diagram partly illustrating a network architecture, partly the steps of a calibration phase, and partly the files produced, exchanged or stored within the network for the needs (or application) of this phase; <tb> <SEP> LaFIG.4 is a functional diagram illustrating steps of a process for processing the biometric data of an individual; <tb> <SEP> TheFIG.5 is a functional diagram illustrating, in the extension of that of theFIG.4, additional steps of the treatment process.

DESCRIPTION DETAILLEE DE L'INVENTIONDETAILED DESCRIPTION OF THE INVENTION

[0015] Le procédé proposé vise à traiter, de manière confidentielle, des données biométriques d'un individu. The proposed method aims to treat, in a confidential manner, the biometric data of an individual.

[0016] Sans s'y restreindre, le procédé de traitement proposé exploite, en les combinant, des fonctionnalités offertes par deux technologies relativement récentes dont il paraît utile de faire une description préalable avant d'entrer dans les détails du procédé, à savoir : La technologie de la chaîne de blocs ou, en terminologie anglo-saxonne, blockchain (dans ce qui suit, on préférera la terminologie anglo-saxonne, en raison de son emploi courant dans la plupart des langues, y compris en langue française) ; La technologie de l'environnement d'exécution sécurisé ou, en terminologie anglo-saxonne, du trusted execution environment (TEE).Without being limited thereto, the proposed treatment method exploits, by combining them, the functionalities offered by two relatively recent technologies of which it seems useful to make a preliminary description before going into the details of the method, namely: Blockchain technology or, in Anglo-Saxon terminology, blockchain (in what follows, Anglo-Saxon terminology will be preferred, because of its common use in most languages, including French); The technology of the secure execution environment or, in English terminology, of the trusted execution environment (TEE).

[0017] La technologie blockchain est organisée en couches. Elle comprend : Une couche d'infrastructure matérielle, appelée „réseau blockchain“ ; Une couche protocolaire appelée „protocole blockchain“ ; Une couche informationnelle, appelée „registre blockchain“.[0017] Blockchain technology is organized in layers. She understands : A layer of hardware infrastructure, called a “blockchain network”; A protocol layer called the “blockchain protocol”; An information layer, called the “blockchain register”.

[0018] Le réseau blockchain est un réseau informatique décentralisé, dit réseau pair-à-pair (en terminologie anglo-saxonne Peer-to-Peer ou P2P), constitué d'une pluralité d'ordinateurs (au sens fonctionnel du terme : il s'agit d'un appareil pourvu d'une unité de traitement informatique programmable, qui peut se présenter sous forme d'un smartphone, d'une tablette, d'un ordinateur de bureau, d'une station de travail, d'un serveur physique ou virtuel, c'est-à-dire un espace de calcul et de mémoire alloué au sein d'un serveur physique et sur lequel tourne un système d'exploitation ou une émulation de système d'exploitation), appelés „nœuds“ en référence à la théorie des graphes, capables de communiquer entre eux (c'est-à-dire de s'échanger des données informatiques), deux à deux, au moyen de liaisons filaires ou sans fil. The blockchain network is a decentralized computer network, called a peer-to-peer network (in Peer-to-Peer or P2P terminology), made up of a plurality of computers (in the functional sense of the term: it is a device provided with a programmable computer processing unit, which can be in the form of a smartphone, a tablet, a desktop computer, a workstation, a physical or virtual server, i.e. computing and memory space allocated within a physical server and on which an operating system or operating system emulation runs), called "nodes" with reference to the theory of graphs, capable of communicating with each other (ie exchanging computer data), two by two, by means of wired or wireless links.

[0019] Un réseau1blockchain comprenant des nœuds2communiquant par des liaisons3est illustré sur laFIG.1. Par souci de simplification et de conformité à la théorie des graphes, sur laFIG.1, les nœuds2du réseau1sont représentés par des cercles ; les liaisons3, par des arêtes reliant les cercles. Pour ne pas surcharger de traits le dessin, seules certaines liaisons3entre les nœuds2sont représentées. A network1blockchain comprising nodes2communicating by links3is illustrated in theFIG.1. For the sake of simplification and conformity with graph theory, on FIG.1, the nodes2 of the network1 are represented by circles; the bonds3, by edges connecting the circles. In order not to overload the drawing with lines, only certain links3 between nodes2 are shown.

[0020] Les nœuds2peuvent être disséminés sur de larges régions géographiques ; ils peuvent également être regroupés dans des régions géographiques plus restreintes. [0020] The nodes2 can be scattered over large geographic regions; they can also be grouped into smaller geographic regions.

[0021] Le protocole blockchain se présente sous forme d'un programme informatique implémenté dans chaque nœud2du réseau1blockchain, et qui inclut, outre des fonctions de dialogue - c'est-à-dire d'échange des données informatiques - avec les autres nœuds2du réseau1, un algorithme de calcul qui, à partir de données d'entrée appelées „transactions“ (qui sont des transcriptions d'interactions entre un ou plusieurs terminaux informatiques émetteurs et un ou plusieurs terminaux informatiques destinataires) : <tb><SEP>- Élabore des fichiers4de données structurées appelés „blocs“, chaque bloc4comprenant un corps4Acontenant des empreintes numériques de transactions, et un en-tête4Bcontenant : <tb><SEP><SEP>o Un numéro d'ordre, ou rang, ou encore hauteur (height en anglais), sous forme d'un nombre entier qui désigne la position du bloc4au sein d'une chaîne dans l'ordre croissant à partir d'un bloc initial (Genesis block en anglais) ; <tb><SEP><SEP>o Une empreinte numérique unique des données du corps4A ; <tb><SEP><SEP>o Une empreinte numérique unique, appelée pointeur, de l'en-tête du bloc4précédent, <tb><SEP><SEP>o Une donnée d'horodatage (timestamp en anglais) ; <tb><SEP>- Met en œuvre un mécanisme de validation des blocs4par consensus entre tout ou partie des nœuds2 ; <tb><SEP>- Concatène les blocs4validés pour former un registre5(le registre blockchain) sous forme d'un agrégat dans lequel chaque bloc4est relié mathématiquement au précédent par son pointeur.The blockchain protocol is in the form of a computer program implemented in each node2 of the network1 blockchain, and which includes, in addition to dialogue functions - that is to say exchange of computer data - with the other nodes2 of the network1 , a calculation algorithm which, from input data called "transactions" (which are transcriptions of interactions between one or more transmitting computer terminals and one or more recipient computer terminals): <tb> <SEP> - Builds structured data files4 called "blocks", each block4 including a body4containing digital transaction fingerprints, and a header4Bcontaining: <tb><SEP> <SEP> o A sequence number, or row, or height (height in English), in the form of an integer which designates the position of block4 within a chain in the order growing from an initial block (Genesis block); <tb><SEP> <SEP> o A unique digital fingerprint of body4A data; <tb><SEP> <SEP> o A unique digital fingerprint, called a pointer, of the header of the previous block4, <tb><SEP> <SEP> o A timestamp data; <tb> <SEP> - Implements a mechanism for validating blocks4 by consensus between all or part of the nodes2; <tb> <SEP> - Concatenates validated blocks4 to form a register5 (the blockchain register) in the form of an aggregate in which each block4 is mathematically linked to the previous one by its pointer.

[0022] La moindre modification des données du corps4Aou de l'en-tête4Bd'un bloc4affecte la valeur de son empreinte numérique et rompt par conséquent le lien existant entre ce bloc4ainsi modifié et le bloc4suivant dont le pointeur ne correspond plus. The slightest modification of the data of the body4Aou of the header4B of a bloc4affects the value of its digital fingerprint and consequently breaks the existing link between this bloc4 thus modified and the next bloc4 whose pointer no longer corresponds.

[0023] Selon un mode particulier de réalisation, l'empreinte numérique de chaque bloc4est un condensé (ou condensat, en anglais hash) des données du bloc4, c'est-à-dire le résultat d'une fonction de hachage appliquée aux données du bloc4(y compris le corps4Aet l'en-tête4Bà l'exception de l'empreinte numérique elle-même). La fonction de hachage est typiquement SHA-256. [0023] According to a particular embodiment, the digital fingerprint of each bloc4 is a digest (or hash) of the data of bloc4, that is to say the result of a hash function applied to the data of block4 (including body4A and header4B except for the digital fingerprint itself). The hash function is typically SHA-256.

[0024] Pour un bloc4donné de rang N (N un entier), le pointeur assure avec le bloc4précédent de rang N-1 une liaison inaltérable. En effet, toute modification des données du bloc4de rang N-1 aboutirait à la modification de son empreinte, et donc à un défaut de correspondance entre cette empreinte (modifiée) du bloc4de rang N-1 et le pointeur mémorisé parmi les métadonnées du bloc4de rang N. For a bloc4donné of rank N (N an integer), the pointer ensures with the bloc4précè of rank N-1 an unalterable link. Indeed, any modification of the data of block4 of rank N-1 would lead to the modification of its fingerprint, and therefore to a lack of correspondence between this (modified) fingerprint of block4 of rank N-1 and the pointer stored among the metadata of block4 of rank NOT.

[0025] La succession des blocs4reliés entre eux deux à deux par correspondance du pointeur d'un bloc4donné de rang N avec l'empreinte numérique du bloc précédent de rang N-1 constitue par conséquent le registre5blockchain sous forme d'un agrégat de blocs4corrélés, dans lequel la moindre modification des données d'un bloc4de rang N-1 se traduit par une rupture du lien avec le bloc4suivant de rang N - et donc la rupture du registre blockchain. The succession of blocks4 linked together two by two by correspondence of the pointer of a bloc4donné of rank N with the digital imprint of the previous block of rank N-1 therefore constitutes the register5blockchain in the form of an aggregate of correlated blocks4, in which the slightest modification of the data of a block4 of rank N-1 results in a breaking of the link with the following block4 of rank N - and therefore the breaking of the blockchain register.

[0026] C'est cette structure particulière qui procure aux données contenues dans le registre5blockchain une réputation d'immuabilité, garantie par le fait que le registre5blockchain est répliqué sur tous les nœuds2du réseau1, obligeant tout attaquant, non seulement à modifier tous les blocs4de rang supérieur au bloc4modifié, mais à déployer ces modifications (alors même que le registre5blockchain continue de se constituer par les nœuds2appliquant le protocole blockchain) à l'ensemble des nœuds2. It is this particular structure which gives the data contained in the register5blockchain a reputation for immutability, guaranteed by the fact that the register5blockchain is replicated on all the nodes2 of the network1, forcing any attacker, not only to modify all the blocks4 of rank greater than the modified block4, but to deploy these modifications (even though the register5blockchain continues to be constituted by the nodes2 applying the blockchain protocol) to all the nodes2.

[0027] Quel que soit le type de consensus appliqué par le mécanisme de validation des blocs4, la plupart des technologies blockchain ont pour fonction primaire d'enregistrer, dans leur registre5blockchain, des transactions passées entre un ou plusieurs terminaux émetteurs, et un ou plusieurs terminaux récepteurs, indifféremment appelés „utilisateurs“. Whatever the type of consensus applied by the block validation mechanism4, most blockchain technologies have the primary function of recording, in their blockchain ledger5, transactions between one or more issuing terminals, and one or more receiving terminals, interchangeably called "users".

[0028] A chaque utilisateur est associé un compte, appelé de manière simplificatrice „portefeuille électronique“ (en anglais digital wallet), qui contient une zone mémoire et une interface programmatique ayant des fonctions d'interaction avec le réseau1blockchain pour lui soumettre des transactions, et des fonctions de synchronisation avec le registre5blockchain pour inscrire, dans la zone mémoire, les transactions validées par inscription dans le registre5blockchain. Each user is associated with an account, called in a simplified manner "electronic wallet" (in English digital wallet), which contains a memory area and a programmatic interface having interaction functions with the 1blockchain network to submit transactions to it, and synchronization functions with the 5blockchain register to register, in the memory area, the transactions validated by registration in the 5blockchain register.

[0029] Sauf mention contraire, et par souci de simplification, l'expression simple „chaîne de blocs“ ou „blockchain“ désigne le registre5blockchain lui-même. [0029] Unless otherwise stated, and for the sake of simplicity, the simple expression "blockchain" or "blockchain" designates the register5blockchain itself.

[0030] Certaines technologies blockchain récentes (Ethereum, typiquement) ajoutent aux trois couches matérielle (réseau blockchain), protocolaire (protocole blockchain) et informationnelle (registre blockchain) une couche applicative qui se présente sous forme d'un environnement de développement permettant de programmer des applications, appelées „contrats intelligents“ (en anglais Smart contracts), qui peuvent être déployées sur le registre5blockchain à partir des nœuds2. Some recent blockchain technologies (Ethereum, typically) add to the three hardware (blockchain network), protocol (blockchain protocol) and informational (blockchain register) layers an application layer which is in the form of a development environment for programming applications, called “smart contracts”, which can be deployed on the ledger5blockchain from nodes2.

[0031] On décrit à présent succinctement la technologie des contrats intelligents. The technology of smart contracts is now briefly described.

[0032] Un contrat intelligent comprend deux éléments : Un compte, appelé „compte de contrat“ (en anglais Contract account), dans la zone mémoire duquel est inscrit un code source contenant des instructions informatiques implémentant les fonctions attribuées au contrat intelligent ; Un code exécutable (en anglais Executable Bytecode) résultant d'une compilation du code source, ce code exécutable étant mémorisé ou déployé au sein du registre5blockchain, c'est-à-dire inséré en tant que transaction dans un bloc4du registre5blockchain.[0032] A smart contract comprises two elements: An account, called a “Contract account”, in the memory area of which is written a source code containing computer instructions implementing the functions assigned to the smart contract; An executable code (in English Executable Bytecode) resulting from a compilation of the source code, this executable code being stored or deployed within the register5blockchain, that is to say inserted as a transaction in a block4 of the register5blockchain.

[0033] Dans la technologie blockchain proposée par Ethereum, un smart contrat est activé par un appel (en anglais Call) adressé par un autre compte, dit compte initiateur (qui peut être un compte utilisateur ou un compte de contrat), cet appel se présentant sous forme d'une transaction contenant, d'une part, un fonds de réserve à transférer (c'est-à-dire un paiement) depuis le compte initiateur au compte de contrat et, d'autre part, des conditions initiales. In the blockchain technology offered by Ethereum, a smart contract is activated by a call (in English Call) sent by another account, said initiator account (which can be a user account or a contract account), this call is presenting in the form of a transaction containing, on the one hand, a reserve fund to be transferred (i.e. a payment) from the initiating account to the contract account and, on the other hand, initial conditions.

[0034] Cet appel est inscrit en tant que transaction dans le registre5blockchain. Il déclenche : Le transfert du fonds de réserve du compte initiateur au compte de contrat ; La désignation, parmi le réseau1blockchain, d'un nœud d'exécution associé à un compte utilisateur ; L'activation, dans une unité de traitement informatique du nœud d'exécution, d'un environnement d'exécution ou machine virtuelle (appelé Ethereum Virtual Machine ou EVM dans le cas d'Ethereum) ; L'exécution pas-à-pas des étapes de calcul du code exécutable par la machine virtuelle à partir des conditions initiales, chaque étape de calcul étant accompagnée d'un transfert d'une fraction (appelée gas dans le cas d'Ethereum) du fonds de réserve depuis le compte de contrat vers le compte utilisateur du nœud d'exécution, et ce jusqu'à épuisement des étapes de calcul, au terme desquelles est obtenu un résultat ; L'inscription (éventuellement sous forme d'une empreinte numérique) de ce résultat en tant que transaction dans le registre5blockchain.This call is recorded as a transaction in the register5blockchain. It triggers: The transfer of the reserve fund from the initiating account to the contract account; The designation, among the network1blockchain, of an execution node associated with a user account; The activation, in a computer processing unit of the execution node, of an execution environment or virtual machine (called Ethereum Virtual Machine or EVM in the case of Ethereum); The step-by-step execution of the steps for calculating the executable code by the virtual machine from the initial conditions, each step of calculation being accompanied by a transfer of a fraction (called gas in the case of Ethereum) of the reserve fund from the contract account to the user account of the execution node, until the calculation steps are exhausted, at the end of which a result is obtained; The entry (possibly in the form of a digital fingerprint) of this result as a transaction in the ledger5blockchain.

[0035] Le compte initiateur récupère (c'est-à-dire, en pratique, télécharge) le résultat lors de sa synchronisation au registre5blockchain. The initiating account retrieves (that is to say, in practice, downloads) the result when it is synchronized with the register5blockchain.

[0036] On introduit à présent brièvement les environnements d'exécution sécurisé. We now briefly introduce the secure execution environments.

[0037] Un environnement d'exécution sécurisé (Trusted execution environment ou TEE) est, au sein d'une unité6de traitement informatique pourvue d'un processeur ou CPU (Central Processing Unit)7, un espace temporaire de calcul et de stockage de données, appelé (par convention) enclave, ou encore enclave cryptographique, qui se trouve isolé, par des moyens cryptographiques, de toute action non autorisée résultant de l'exécution d'une application hors de cet espace, typiquement du système d'exploitation. A secure execution environment (Trusted execution environment or TEE) is, within a computer processing unit provided with a processor or CPU (Central Processing Unit) 7, a temporary computing and data storage space. , called (by convention) an enclave, or even cryptographic enclave, which is isolated, by cryptographic means, from any unauthorized action resulting from the execution of an application outside this space, typically the operating system.

[0038] Intel® a, par exemple, revu à partir de 2013 la structure et les interfaces de ses processeurs pour y inclure des fonctions d'enclave, sous la dénomination Software Guard Extension, plus connue sous l'acronyme SGX. SGX équipe la plupart des processeurs de type XX86 commercialisés par Intel® depuis 2015, et plus précisément à partir de la sixième génération incorporant la microarchitecture dite Skylake. Les fonctions d'enclave proposées par SGX ne sont pas accessibles d'office : il convient de les activer via le système élémentaire d'entrée/sortie (Basic Input Output System ou BIOS). [0038] Intel®, for example, from 2013 revised the structure and interfaces of its processors to include enclave functions, under the name Software Guard Extension, better known by the acronym SGX. SGX equips most of the XX86 type processors marketed by Intel® since 2015, and more specifically from the sixth generation incorporating the so-called Skylake microarchitecture. The enclave functions offered by SGX are not automatically accessible: they must be activated via the elementary input / output system (Basic Input Output System or BIOS).

[0039] Il n'entre pas dans les nécessités de la présente description de détailler l'architecture des enclaves, dans la mesure où : En dépit de sa relative jeunesse, cette architecture est relativement bien documentée, notamment par Intel® qui a déposé de nombreux brevets, cf. par ex., parmi les plus récents, la demande de brevet américain US 2019/0058696 ; Des processeurs permettant de les implémenter sont disponibles sur le marché - notamment les processeur Intel® précités ; Seules les fonctionnalités permises par l'enclave nous intéressent ici, ces fonctionnalités pouvant être mises en œuvre via des lignes de commande spécifiques. A ce titre, l'homme du métier pourra se référer au guide édité en 2016 par Intel® : Software Guard Extensions, Developer Guide.It does not come within the requirements of the present description to detail the architecture of the enclaves, insofar as: Despite its relative youth, this architecture is relatively well documented, in particular by Intel® which has filed numerous patents, cf. e.g., among the most recent, the US patent application US 2019/0058696; Processors making it possible to implement them are available on the market - in particular the aforementioned Intel® processors; Only the functionalities allowed by the enclave are of interest to us here, these functionalities being able to be implemented via specific command lines. As such, those skilled in the art may refer to the guide published in 2016 by Intel®: Software Guard Extensions, Developer Guide.

[0040] Pour une description plus accessible des enclaves, et plus particulièrement d'Intel® SGX, l'homme du métier peut également se référer à A. Adamski, Overview of Intel SGX - Part 1, SGX Internal, ou à D. Boneh, Surnaming Schemes, Fast Verification, and Applications to SGX Technology, in Topics in Cryptology, CT - RSA 2017, The Cryptographers' Track at the RSA Conférence 2017, San Francisco, CA, USA, Feb.14-17, 2017, Proceedings, pp.149-164, ou encore à K. Severinsen, Secure Programming with Intel SGX and Novel Applications, Thesis submitted for the Degree of Master in Programming and Networks, Dept. Of Informatics, Faculty of Mathematics and Natural Science, University of Oslo, Autumn 2017. For a more accessible description of the enclaves, and more particularly of Intel® SGX, those skilled in the art can also refer to A. Adamski, Overview of Intel SGX - Part 1, SGX Internal, or to D. Boneh , Nickaming Schemes, Fast Verification, and Applications to SGX Technology, in Topics in Cryptology, CT - RSA 2017, The Cryptographers' Track at the RSA Conférence 2017, San Francisco, CA, USA, Feb. 14-17, 2017, Proceedings, pp. 149-164, or to K. Severinsen, Secure Programming with Intel SGX and Novel Applications, Thesis submitted for the Degree of Master in Programming and Networks, Dept. Of Informatics, Faculty of Mathematics and Natural Science, University of Oslo, Autumn 2017.

[0041] Pour résumer, en référence à laFIG.2, une enclave8comprend, en premier lieu, une zone9mémoire sécurisée (dénommée Page Cache d'enclave, en anglais Enclave Page Cache ou EPC), qui contient du code et des données relatives à l'enclave elle-même, et dont le contenu est chiffré et déchiffré en temps réel par une puce dédiée dénommée Moteur de Chiffrement de Mémoire (en anglais Memory Encryption Engine ou MEE). L'EPC9est implémentée au sein d'une partie de la mémoire vive dynamique (DRAM)10allouée au processeur7, et à laquelle les applications ordinaires (notamment le système d'exploitation) n'ont pas accès. To summarize, with reference to theFIG.2, an enclave8includes, first of all, a secure memory zone9 (called Enclave Page Cache, in English Enclave Page Cache or EPC), which contains code and data relating to the 'enclave itself, and whose content is encrypted and decrypted in real time by a dedicated chip called the Memory Encryption Engine (MEE). The EPC9 is implemented within a part of the dynamic random access memory (DRAM) 10 allocated to the processor7, and to which ordinary applications (in particular the operating system) do not have access.

[0042] L'enclave8comprend, en deuxième lieu, des clés cryptographiques employées pour chiffrer ou signer à la volée les données sortant de l'EPC9, ce grâce à quoi l'enclave8peut être identifiée (notamment par d'autres enclaves), et les données qu'elle génère peuvent être chiffrées pour être stockées dans des zones de mémoire non protégées (c'est-à-dire hors de l'EPC9). [0042] The enclave8 comprises, secondly, cryptographic keys used to encrypt or sign on the fly the data leaving the EPC9, whereby the enclave8 can be identified (in particular by other enclaves), and the The data it generates can be encrypted to be stored in unprotected memory areas (i.e. outside of the EPC9).

[0043] Pour pouvoir exploiter une telle enclave8, une application11doit être segmentée en, d'une part, une ou plusieurs parties12non sécurisées (en anglais untrusted part(s)), et, d'autre part, une ou plusieurs parties13sécurisées (en anglais trusted part(s)). In order to be able to use such an enclave8, an application11 must be segmented into, on the one hand, one or more unsecured parts12 (in English untrusted part (s)), and, on the other hand, one or more secure parts13 (in English trusted part (s)).

[0044] Seuls les processus induits par la (les) partie(s)13sécurisée(s) de l'application11peuvent accéder à l'enclave8. Les processus induits par la (les) partie(s)12non sécurisée(s) ne peuvent pas accéder à l'enclave8, c'est-à-dire qu'ils ne peuvent pas dialoguer avec les processus induits par la (les) partie(s)13sécurisée(s). Only the processes induced by the secure part (s) 13 of the application11 can access the enclave8. The processes induced by the unsecured part (s) 12 cannot access the enclave8, i.e. they cannot dialogue with the processes induced by the part (s) (s) 13secure (s).

[0045] La création (également dénommée instanciation) de l'enclave8et le déroulement de processus en son sein sont commandés via un jeu14d'instructions particulières exécutables par le processeur7et appelées par la (les) partie(s)13sécurisée(s) de l'application11. The creation (also called instantiation) of the enclave8 and the flow of processes within it are controlled via a set14d'instructions particular executable by the processor7et called by the part (s) 13secure (s) of the application11.

[0046] Parmi ces instructions : ECREATE commande la création d'une enclave8 ; EINIT commande l'initialisation de l'enclave8 ; EADD commande le chargement de code dans l'enclave8 ; EENTER commande l'exécution de code dans l'enclave8 ; ERESUME commande une nouvelle exécution de code dans l'enclave8 ; EEXIT commande la sortie de l'enclave8, typiquement à la fin d'un processus exécuté dans l'enclave8.Among these instructions: ECREATE commands the creation of an enclave8; EINIT commands the initialization of the enclave8; EADD commands code loading into the enclave8; EENTER commands code execution in the enclave8; ERESUME commands a new execution of code in the enclave8; EEXIT controls the exit of enclave8, typically at the end of a process running in enclave8.

[0047] On a, sur laFIG.2, représenté de manière fonctionnelle l'enclave8sous la forme d'un bloc (en traits pointillés) englobant la partie13sécurisée de l'application11, le jeu14d'instructions du processeur7, et l'EPC9. Cette représentation n'est pas réaliste ; elle vise simplement à regrouper visuellement les éléments qui composent ou exploitent l'enclave8. We have, on laFIG.2, functionally represented the enclave8sous in the form of a block (in dotted lines) including the secure part13 of the application11, the set14d'instructions of the processor7, and the EPC9. This representation is not realistic; it simply aims to visually group together the elements that make up or exploit the enclave8.

[0048] Nous expliquerons ci-après comment sont exploitées les enclaves. We will explain below how the enclaves are exploited.

[0049] Le procédé proposé vise à effectuer un traitement décentralisé de données biométriques d'un individu personne physique. Ce traitement comprend deux phases : Une phase préalable de calibrage ; Une phase de contrôle.The proposed method aims to perform decentralized processing of biometric data of an individual natural person. This treatment consists of two phases: A preliminary phase of calibration; A control phase.

[0050] On décrit tout d'abord la phase de calibrage, qui vise à élaborer des données15biométriques de référence de l'individu, à partir d'une première unitéE1de traitement informatique (équipant par ex. un ordinateur personnel fixe ou portable, une tablette, un smartphone, ou encore un dispositif de contrôle d'accès), reliée ou intégrée au réseau1blockchain et appelée „premier émetteur“. Sur laFIG.3, le premier émetteurE1se présente sous la forme d'un smartphone. Cette forme d'exécution est purement illustrative. We first describe the calibration phase, which aims to develop reference biometric data of the individual, from a first computer processing unit (eg equipping a fixed or portable personal computer, a tablet , a smartphone, or even an access control device), connected or integrated into the 1blockchain network and called the "first transmitter". In FIG. 3, the first transmitter E1 is in the form of a smartphone. This embodiment is purely illustrative.

[0051] A cet effet, le premier émetteurE1est équipé de (ou relié à) un dispositif16de capture biométrique ou scanneur. Le scanneur16est configuré pour réaliser une capture des données15biométriques de référence de l'utilisateur au niveau d'un membre (par ex. un ou plusieurs doigt(s), une main) ou d'un organe (par ex. un oeil, le visage, une oreille, une partie du réseau veineux) de cet utilisateur. To this end, the first transmitter E1 is equipped with (or connected to) a biometric capture device or scanner. The scanner16 is configured to capture the user's biometric reference data at a limb (e.g. one or more finger (s), hand) or organ (e.g. eye, face , an ear, part of the venous network) of this user.

[0052] Ces données15biométriques de référence sont destinées à être stockées non pas localement dans le premier émetteurE1, mais sur le réseau1blockchain. En effet, les nœuds2du réseau1blockchain étant tous équipés de zones mémoires, celles-ci peuvent être exploitées en tant qu'espace de stockage pour les données15biométriques de référence. Pour minimiser le risque de perte des données15, il est avantageux de procéder à une réplication de celles-ci, c'est-à-dire d'effectuer une copie des données15, et de distribuer une copie à plusieurs nœuds2du réseau1blockchain. La traçabilité des données15peut être réalisée par inscription, dans le registre5blockchain, d'une ou plusieurs traces (ou empreintes numériques) des mémorisations ainsi effectuées. These reference biometric data are intended to be stored not locally in the first transmitterE1, but on the network1blockchain. Indeed, the nodes2 of the blockchain network are all equipped with memory areas, these can be used as storage space for the reference biometric data. To minimize the risk of data loss15, it is advantageous to perform a replication of the data, that is to say to make a copy of the data15, and to distribute a copy to several nodes2 of the blockchain network. Data traceability15 can be achieved by entering, in the blockchain register, one or more traces (or digital fingerprints) of the memorizations thus carried out.

[0053] Ce stockage distribué des données15est avantageusement piloté par un contrat intelligent, activé par exemple par le premier émetteurE1qui, tout en transmettant les données15à stocker au réseau1, transmet au contrat intelligent un appel par la procédure décrite précédemment. This distributed storage of data15est advantageously controlled by a smart contract, activated for example by the first transmitterE1 which, while transmitting the data15 to be stored to the network1, transmits to the smart contract a call by the procedure described above.

[0054] Cependant, si la réplication des données15au sein du réseau1blockchain résout le problème de la pérennité des données15, il ne résout pas le problème de leur confidentialité. However, if the replication of data15 within the network1blockchain solves the problem of the sustainability of the data15, it does not solve the problem of their confidentiality.

[0055] Il est donc proposé de distribuer sur le réseau1non seulement les données15(sous forme cryptée), mais également une clé de déchiffrement de celles-ci, via une enclave8instanciée sur un nœud2E, dit nœud d'entrée, du réseau1(FIG.3). It is therefore proposed to distribute on the network1not only the data15 (in encrypted form), but also a decryption key thereof, via an enclave8instantiated on a node2E, called entry node, of the network1 (FIG. 3).

[0056] A cet effet, une première opération préliminaire consiste, au niveau du premier émetteurE1, à réaliser, au moyen de son scanneur16, une capture des données15biométriques de l'individu, considérées ensuite en tant que données de référence. Dans l'exemple illustré, ces données15biométriques de référence sont issues d'une empreinte digitale. To this end, a first preliminary operation consists, at the level of the first transmitterE1, in carrying out, by means of its scanner16, a capture of the biometric data15 of the individual, then considered as reference data. In the example illustrated, these reference biometric data come from a fingerprint.

[0057] Une deuxième opération préliminaire consiste à transmettre, depuis le premier émetteurE1, une requête de stockage des données15au réseau1. A second preliminary operation consists in transmitting, from the first transmitter E1, a request to store data 15 to the network 1.

[0058] A réception de la requête de stockage par au moins un nœud2du réseau1, il est sélectionné, au sein du réseau1, au moins un nœud2Ed'entrée, équipé d'une unité de traitement informatique dans laquelle est implémentée une enclave8. On receipt of the storage request by at least one node2du network1, it is selected, within network1, at least one input node2E, equipped with a computer processing unit in which an enclave8 is implemented.

[0059] Cette enclave8est alors instanciée, et les données15biométriques de référence y sont chargées à partir du premier émetteurE1via une ligne17de communication sécurisée (par ex. utilisant le protocole Transport Layer Security ou TLS). A cet effet, l'enclave8peut être pourvue, dès son instanciation, d'une émulation d'interface18de communication supportant le protocole choisi (ici TLS) pour l'échange des données sécurisées. This enclave8est then instantiated, and the reference biometric data are loaded into it from the first transmitterE1 via a secure communication line (eg using the Transport Layer Security or TLS protocol). For this purpose, the enclave8 can be provided, as soon as it is instantiated, with a communication interface 18 emulation supporting the chosen protocol (here TLS) for the exchange of secure data.

[0060] Le protocole blockchain est avantageusement chargé dans l'enclave8, pour former un module19blockchain apte à interroger le registre5blockchain et/ou à participer au processus de création et validation des blocs4. The blockchain protocol is advantageously loaded into the enclave8, to form a module19blockchain able to query the register5blockchain and / or to participate in the process of creation and validation of the blocks4.

[0061] Une transaction20contenant une empreinte numérique du chargement des données ainsi effectué est inscrite dans un bloc4de la blockchain5, aux fins de traçabilité. A transaction20containing a digital imprint of the data loading thus carried out is recorded in a bloc4de the blockchain5, for the purposes of traceability.

[0062] Cette transaction20peut être transmise au module19blockchain par le premier émetteurE1, pour être inscrite par un ou plusieurs nœuds2du réseau (par le processus décrit plus haut) dans un nouveau bloc4du registre5blockchain. En variante, le module19blockchain émet de lui-même une transaction20pour inscription dans un nouveau bloc4. This transaction20 can be transmitted to the module19blockchain by the first senderE1, to be registered by one or more nodes2 of the network (by the process described above) in a new block4 of the register5blockchain. As a variant, the module19blockchain itself issues a transaction20for registration in a new block4.

[0063] Dans l'enclave8se déroule alors un processus qui comprend les opérations suivantes. In the enclave8se then takes place a process which comprises the following operations.

[0064] Une première opération consiste à chiffrer les données15au moyen d'une clé21cryptographique de chiffrement pour former un conteneur22crypté, en lui associant une clé23cryptographique de déchiffrement. A cet effet, les données15reçues du premier émetteurE1sont relayées par l'interface18de communication à un module24de chiffrement implémenté dans l'enclave8. A first operation consists in encrypting the data15 by means of a cryptographic encryption key21 to form an encrypted container22, by associating it with a cryptographic decryption key. To this end, the data 15 received from the first transmitter E1 are relayed by the communication interface 18 to an encryption module 24 implemented in the enclave 8.

[0065] Selon un mode préféré de réalisation, le chiffrement est symétrique. Dans ce cas, la clé21de chiffrement et la clé23de déchiffrement sont une seule et même clé. According to a preferred embodiment, the encryption is symmetrical. In this case, the encryption key21 and the decryption key23 are one and the same key.

[0066] Une deuxième opération consiste à fragmenter la clé23de déchiffrement. Plus précisément, la clé23de déchiffrement est fragmentée en un nombre N prédéterminé de fragments23.i , (i un entier, 2≤i≤N). A second operation consists in fragmenting the decryption key. More precisely, the decryption key 23 is fragmented into a predetermined number N of fragments 23.i, (i an integer, 2≤i≤N).

[0067] Selon un mode préféré de réalisation, N est tel que N>3 et la fragmentation est réalisée en application des règles de Shamir (dite du Partage de Secret de Shamir, en anglais Shamir's Secret Sharing), et plus précisément du schéma seuil, où un nombre entier prédéterminé K (1<K<N) est choisi tel qu'un nombre K de fragments23.isont suffisants pour reconstituer la clé23de déchiffrement. According to a preferred embodiment, N is such that N> 3 and the fragmentation is carried out in application of Shamir's rules (known as Shamir's Secret Sharing, in English Shamir's Secret Sharing), and more precisely of the threshold diagram , where a predetermined integer K (1 <K <N) is chosen such that a number K of fragments23.isont sufficient to reconstitute the decryption key23.

[0068] Une troisième opération consiste à désigner, parmi le réseau1, un ou plusieurs nœuds2Aprimaires de stockage. A third operation consists in designating, among the network1, one or more primary storage nodes2.

[0069] A cet effet, l'enclave8est avantageusement pourvue d'un module25de distribution de données, auquel le module24de chiffrement communique le conteneur22crypté pour distribution aux nœuds2Aprimaires de stockage. To this end, the enclave8est advantageously provided with a data distribution module25, to which the encryption module24 communicates the encrypted container22 for distribution to the primary storage nodes2.

[0070] Une quatrième opération consiste à désigner, parmi le réseau1, un groupe de plusieurs nœuds2Bsecondaires de stockage, en nombre N égal au nombre de fragments23.ide la clé23de déchiffrement. A fourth operation consists in designating, among the network1, a group of several secondary storage nodes2B, in number N equal to the number of fragments23.ide the decryption key23.

[0071] Ces nœuds2Bsecondaires de stockage sont de préférence distinct(s) des nœuds2Aprimaires de stockage - en d'autres termes, les nœuds2Aprimaires de stockage et les nœuds2Bsecondaires de stockage forment deux groupes disjoints (représentés en pointillés sur laFIG.3). These secondary storage nodes 2B are preferably distinct from the primary storage nodes 2 - in other words, the primary storage nodes 2 and the secondary storage nodes 2 B form two disjoint groups (shown in dotted lines in FIG. 3).

[0072] Une cinquième opération consiste à distribuer le conteneur22crypté vers le ou les nœuds2Aprimaires de stockage. A fifth operation consists in distributing the encrypted container22 to the primary storage node or nodes.

[0073] Une sixième opération consiste à distribuer les fragments23.ide la clé23cryptographique de déchiffrement vers les nœuds2Bsecondaires de stockage, chaque nœud2Bsecondaire de stockage recevant un unique fragment23.i. A sixth operation consists in distributing the fragments23.ide the cryptographic decryption key23 to the secondary storage nodes 2B, each secondary storage node 2B receiving a unique fragment23.i.

[0074] Selon un mode préféré de réalisation, l'enclave8est pourvue d'un module26de fragmentation et de distribution de clé, auquel le module24de chiffrement communique la clé23de déchiffrement pour fragmentation et distribution aux nœuds2Bsecondaires de stockage. According to a preferred embodiment, the enclave8 is provided with a fragmentation and key distribution module26, to which the encryption module24 communicates the decryption key23 for fragmentation and distribution to the secondary storage nodes2B.

[0075] Ces opérations achevées, l'enclave8peut être refermée. These operations completed, the enclave8 can be closed.

[0076] Hors de l'enclave8, les opérations suivantes sont réalisées : <tb><SEP>o Le conteneur22crypté est mémorisé au sein de chaque nœud2Aprimaire de stockage ; <tb><SEP>o Chaque fragment23.ide la clé23cryptographique de déchiffrement est mémorisé au sein de chaque nœud2Brespectif secondaire de stockage.Outside the enclave8, the following operations are carried out: <tb> <SEP> o The encrypted container22 is stored within each primary storage node2; <tb> <SEP> o Each fragment23.ide the decryption cryptographic key23 is stored within each secondary storage node2Brespective.

[0077] Pour assurer la traçabilité de ces opérations, au moins une transaction contenant une empreinte numérique des distributions ou des mémorisations ainsi effectuées est inscrite dans un bloc4de la chaîne5de blocs, par un ou plusieurs nœuds2du réseau1. Cette transaction peut être initiée par les nœuds2Aprimaires et2Bsecondaires de stockage, mais elle peut également être initiée par l'enclave8elle-même (et plus précisément par le module19blockchain) avant sa fermeture. To ensure the traceability of these operations, at least one transaction containing a digital imprint of the distributions or memorizations thus carried out is registered in a bloc4de the chain5de blocks, by one or more nodes2 of the network1. This transaction can be initiated by the Primary2 and Secondary2B storage nodes, but it can also be initiated by the enclave8 itself (and more specifically by the module19blockchain) before it closes.

[0078] Les données15biométriques de référence, ainsi encapsulées dans un conteneur22crypté, peuvent être stockées pour une durée déterminée ou indéterminée sur les nœuds2Ade stockage du réseau1. The reference biometric data, thus encapsulated in an encrypted container22, can be stored for a determined or indefinite period on the storage nodes2A of the network1.

[0079] Ces données15biométriques de référence servent, autant que de besoin, à authentifier l'utilisateur dès lors que celui-ci a besoin d'accéder à un lieu ou un service : tel est l'objectif de la phase de contrôle, qui est appliquée à de nouvelles données27biométriques de l'individu, qui doivent être comparées aux données15de référence. These reference biometric data are used, as much as necessary, to authenticate the user when the latter needs to access a place or a service: this is the objective of the control phase, which is applied to new biometric data27 of the individual, which must be compared with reference data15.

[0080] On décrit à présent cette phase de contrôle, qui est initiée à partir d'une deuxième unitéE2de traitement informatique (équipant par ex. un ordinateur personnel fixe ou portable, une tablette, un smartphone, ou encore un dispositif de contrôle d'accès), reliée ou intégrée au réseau1blockchain et appelée deuxième émetteur. We now describe this control phase, which is initiated from a second computer processing unit E2 (equipping for example a fixed or portable personal computer, a tablet, a smartphone, or even a control device. access), linked or integrated into the 1blockchain network and called the second transmitter.

[0081] Le deuxième émetteurE2peut être confondu avec le premier émetteurE1 ; néanmoins les émetteursE1,E2peuvent être différents. The second transmitter E2 can be confused with the first transmitter E1; nevertheless the emitters E1, E2 can be different.

[0082] Le contrôle des données27biométriques est typiquement effectué aux fins de déverrouiller, pour l'utilisateur, un accès à un environnement physique (un logement, une pièce, un coffre-fort) ou virtuel (un environnement de travail dans un ordinateur, une tablette ou un smartphone). Biometric data control is typically performed for the purpose of unlocking, for the user, access to a physical environment (a home, a room, a safe) or a virtual environment (a working environment in a computer, a tablet or smartphone).

[0083] Le contrôle est effectué de manière décentralisée, sur le réseau1. The control is carried out in a decentralized manner, on the network1.

[0084] Pour cette phase de contrôle, le deuxième émetteurE2est équipé de (ou relié à) un dispositif28de capture biométrique ou scanneur. Le scanneur28est configuré pour réaliser une capture des données27biométriques de l'utilisateur au niveau d'un membre (par ex. un ou plusieurs doigt(s), une main) ou d'un organe (par ex. un oeil, le visage, une oreille, une partie du réseau veineux) de cet utilisateur. For this control phase, the second transmitter E2 is equipped with (or connected to) a biometric capture device or scanner. The scanner28 is configured to capture the user's biometric data27 at a limb (e.g. one or more finger (s), hand) or organ (e.g. eye, face, body). ear, part of the venous network) of this user.

[0085] Une première opération101consiste à établir, sur requête (REQ), une session de communication entre le deuxième émetteurEet le réseau1. A first operation 101 consists in establishing, on request (REQ), a communication session between the second transmitter E and the network 1.

[0086] Cette session est activée à partir du deuxième émetteurE2, par exemple à la suite d'une action prédéterminée comme l'appui sur un bouton ou la détection (par ex. au moyen d'un capteur de proximité) de l'approche du membre ou de l'organe de l'utilisateur. This session is activated from the second transmitter E2, for example following a predetermined action such as pressing a button or the detection (eg by means of a proximity sensor) of the approach of the user's limb or organ.

[0087] Une deuxième opération102consiste, parmi le réseau1, à sélectionner un nœud2Pde calcul, équipé d'une unité de traitement dans laquelle est implémentée une enclave8'. A second operation 102 consists, among the network 1, in selecting a computing node 2 P, equipped with a processing unit in which an enclave 8 ′ is implemented.

[0088] Une troisième opération103consiste, au sein du nœud2Pde calcul, à instancier l'enclave8'. A third operation 103 consists, within the computation node2P, in instantiating the enclave8 '.

[0089] Une quatrième opération104consiste, au niveau du deuxième émetteurE2, à réaliser, au moyen de son scanneur28, une capture des données27biométriques de l'individu. Dans l'exemple illustré, ces données27biométriques sont issues d'une empreinte digitale. A fourth operation104 consists, at the level of the second transmitterE2, in carrying out, by means of its scanner28, a capture of the biometric data27 of the individual. In the example illustrated, these biometric data come from a fingerprint.

[0090] Une cinquième opération105consiste, à partir du deuxième émetteurE2, à charger, dans l'enclave8'du nœud2Pde calcul, via une ligne29de communication sécurisée (par ex. utilisant le protocole Transport Layer Security ou TLS), les données27biométriques ainsi capturées. A fifth operation 105 consists, from the second transmitter E2, in loading, into the enclave 8 ′ of the computation node 2 P, via a secure communication line (eg using the Transport Layer Security or TLS protocol), the biometric data thus captured.

[0091] Selon un mode préféré de réalisation, le contrôle des données27, conduit au sein de l'enclave8', est effectué suivant les instructions d'un contrat intelligent SC déployé sur la blockchain5. According to a preferred embodiment, the control of the data27, carried out within the enclave8 ', is carried out according to the instructions of an intelligent contract SC deployed on the blockchain5.

[0092] Comme illustré sur laFIG.3, une sixième opération106consiste, pour l'enclave8', à appeler(CALL)le contrat intelligentSC. As illustrated in laFIG.3, a sixth operation 106 consists, for the enclave 8 ′, in calling (CALL) the intelligent contract SC.

[0093] Une septième opération107consiste, en retour, à charger le code du contrat intelligentSCdans l'enclave8'pour exécution. Est également chargée dans l'enclave8'une machine virtuelle (EVM lorsque le contrat intelligentSCest programmé selon les spécifications d'Ethereum) destinée à permettre l'exécution du code du contrat intelligentSC. A seventh operation 107 consists, in return, in loading the code of the intelligent contract SC in the enclave 8 ′ for execution. Also loaded into the enclave8 is a virtual machine (EVM when the smart contract SC is programmed according to Ethereum's specifications) intended to allow execution of the code of the smart contract SC.

[0094] Une huitième opération108consiste, pour l'enclave8', à sélectionner parmi le réseau1un nœud2Ade stockage sur lequel est stocké un exemplaire du conteneur22crypté contenant les données15biométriques de référence, et à transmettre à ce nœud2Bde stockage une requête (REQ) de communication de ce conteneur22. An eighth operation108 consists, for the enclave8 ', in selecting from the network1a storage node2A on which is stored a copy of the encrypted container22 containing the reference biometric data15, and in transmitting to this storage node2B a request (REQ) for communication of this container22.

[0095] Pour faciliter cette sélection, le conteneur22crypté peut être couplé à un identifiant associé au deuxième émetteurE2(transmis à l'enclave8'avec les données27biométriques scannées), ou à l'utilisateur (et qui peut être saisi par celui-ci sur une interface équipant ou reliée au deuxième émetteurE2). To facilitate this selection, the encrypted container22 can be coupled to an identifier associated with the second transmitterE2 (transmitted to the enclave8 'with the scanned biometric data27), or to the user (and which can be entered by the latter on a interface fitted to or linked to the second transmitter E2).

[0096] Une neuvième opération109consiste, à partir du nœud2Bde stockage, à charger dans l'enclave8'le conteneur22crypté. A ninth operation109consist, from the storage node2B, to load into the enclave8'le container22crypted.

[0097] Le déchiffrement des données15biométriques de référence du conteneur22crypté nécessite la clé23cryptographique de déchiffrement, également stockée sur le réseau1. The decryption of the biometric reference data of the encrypted container 22 requires the decryption cryptographic key 23, also stored on the network1.

[0098] Une dixième opération110consiste par conséquent, pour l'enclave8', à sélectionner parmi le réseau1K nœuds2Bde stockage sur lesquels sont stockés K fragments23.irespectifs, et à transmettre à chaque nœud2Bde stockage une requête (REQ) de communication de son fragment23.i. A tenth operation 110 therefore consists, for the enclave8 ', in selecting from among the network1K storage nodes2B on which K fragments23.irespectives are stored, and in transmitting to each storage node2B a request (REQ) to communicate its fragment23.i .

[0099] Comme illustré sur laFIG.4, une onzième opération111consiste, à partir des nœuds2Bde stockage ainsi sélectionnés, à charger dans l'enclave8'les K fragments23.i. As illustrated in laFIG.4, an eleventh operation111consists, from the storage nodes2Bde thus selected, to be loaded into the enclave8 'the K fragments23.i.

[0100] Une douzième opération112consiste, pour l'enclave8', à reconstituer la clé23à partir des K fragments23.iainsi chargés. A twelfth operation112 consists, for the enclave8 ', in reconstituting the key23 from the K fragments23.i thus loaded.

[0101] Une treizième opération113consiste, pour l'enclave8', à déchiffrer les données15biométriques de référence du conteneur22en lui appliquant la clé23ainsi reconstituée. A thirteenth operation 113 consists, for the enclave 8 ′, in decrypting the reference biometric data 15 of the container 22 by applying the key 23 to it thus reconstituted.

[0102] Une quatorzième opération114consiste, pour l'enclave8', à comparer les données27biométriques issues de la capture effectuée par le scanneur28et les données15biométriques de référence ainsi déchiffrées. La comparaison peut être effectuée par une technique classique (typiquement par mesure des distances entre minuties dans le cas de l'empreinte digitale). A fourteenth operation114 consists, for the enclave8 ', in comparing the biometric data27 resulting from the capture carried out by the scanner28 and the reference biometric data thus decrypted. The comparison can be carried out by a conventional technique (typically by measuring the distances between minutiae in the case of the fingerprint).

[0103] Si cette comparaison est un échec, les données15,27sont décrétées ne pas correspondre, et l'action pour laquelle le contrôle des données biométriques de l'utilisateur était requis (typiquement un déverrouillage) n'est pas autorisée. Le deuxième émetteurE2en est informé. Les opérations de capture et de comparaison des données biométriques peuvent cependant être répétées, pour minimiser le risque de faux négatif. [0103] If this comparison is unsuccessful, the data15,27 are declared not to correspond, and the action for which the control of the user's biometric data was required (typically an unlocking) is not authorized. The second transmitter E2 is informed. However, the operations of capturing and comparing biometric data can be repeated, to minimize the risk of false negatives.

[0104] Si au contraire la comparaison est un succès, les données15,27sont décrétées correspondre, et l'action pour laquelle le contrôle des données biométriques de l'utilisateur était requis est autorisée. If, on the contrary, the comparison is successful, the data 15,27 are declared to correspond, and the action for which the control of the user's biometric data was required is authorized.

[0105] Quoiqu'il en soit, la comparaison produit un résultat30(sous forme, par ex., d'un bit de valeur 0 en cas d'échec, et de valeur 1 en cas de succès). [0105] Either way, the comparison produces a result (eg in the form of a bit of value 0 on failure, and value 1 on success).

[0106] Cependant la seule authentification biométrique de l'individu derrière le deuxième émetteurE2est décrétée insuffisante pour autoriser l'action requise : une condition supplémentaire de géolocalisation, prédéfinie, doit en effet être vérifiée. Cette condition est par exemple inscrite parmi les instructions du contrat intelligentSC. Cette condition spécifie par ex. une zone géographique prédéfinie, au sein de laquelle le deuxième émetteurE2est supposé se trouver (ou au contraire une ou plusieurs zones géographiques hors desquelles le deuxième émetteurE2est supposé se trouver). [0106] However, the only biometric authentication of the individual behind the second transmitter E2 is deemed insufficient to authorize the required action: an additional predefined geolocation condition must in fact be verified. This condition is for example included in the instructions of the intelligent contract SC. This condition specifies eg. a predefined geographical area, within which the second transmitter E2 is supposed to be located (or on the contrary one or more geographical areas outside of which the second transmitter E2 is supposed to be located).

[0107] A cet effet, le deuxième émetteurE2est équipé de (ou relié à) une balise31de géolocalisation. Cette balise31est configurée pour éditer des données32instantanées de géolocalisation, typiquement sous forme d'un tuple de coordonnées géographiques incluant latitude et longitude, et le cas échéant altitude. For this purpose, the second transmitter E2 is equipped with (or connected to) a geolocation beacon. This tag31 is configured to edit instantaneous geolocation data, typically in the form of a tuple of geographical coordinates including latitude and longitude, and, if applicable, altitude.

[0108] Ainsi, une quinzième opération115consiste, pour l'enclave8', à transmettre à l'émetteurEune requête (REQ) de communication de données32instantanées de géolocalisation (à moins que les données32n'aient été communiquées préalablement, par ex. avec les données27biométriques. [0108] Thus, a fifteenth operation115 consists, for the enclave8 ', in transmitting to the senderEa request (REQ) for communication of instantaneous geolocation data32 (unless the data32 has not been communicated beforehand, for example with the biometric data.

[0109] Une seizième opération116consiste, au niveau du deuxième émetteurE2, à éditer, à partir de la balise31, des données32instantanées de géolocalisation. A sixteenth operation116 consists, at the level of the second transmitterE2, in editing, from the beacon31, instantaneous geolocation data32.

[0110] Une dix-septième opération117consiste, à partir du deuxième émetteurE2, à charger dans l'enclave8'les données32instantanées de géolocalisation, via une ligne29de communication sécurisée. [0110] A seventeenth operation 117 consists, from the second transmitter E2, in loading the instantaneous geolocation data into the enclave 8 ′, via a secure communication line 29.

[0111] Une dix-huitième opération118consiste, pour l'enclave8', à vérifier que les données32instantanées de géolocalisation satisfont la condition de géolocalisation. Dans l'exemple illustré, cette condition de géolocalisation est issue des instructions du contrat intelligentSC. An eighteenth operation 118 consists, for the enclave 8 ′, in verifying that the instantaneous geolocation data satisfies the geolocation condition. In the example illustrated, this geolocation condition results from the instructions of the intelligent SC contract.

[0112] Cette vérification produit un résultat33(typiquement, un bit de valeur 1 lorsque la condition de géolocalisation est satisfaite, un bit de valeur 0 lorsque la condition de géolocalisation n'est pas satisfaite). This verification produces a result33 (typically, a bit of value 1 when the geolocation condition is satisfied, a bit of value 0 when the geolocation condition is not satisfied).

[0113] Si les données32instantanées de géolocalisation ne satisfont pas la condition de géolocalisation, il est mis fin au procédé de contrôle, et il n'est délivré aucune autorisation d'accès. If the instantaneous geolocation data does not satisfy the geolocation condition, the control process is terminated, and no access authorization is issued.

[0114] Si au contraire les données32instantanées de géolocalisation satisfont la condition de géolocalisation, l'action pour laquelle le contrôle des données biométriques de l'utilisateur était requis est autorisée. If, on the contrary, the instantaneous geolocation data satisfies the geolocation condition, the action for which the control of the user's biometric data was required is authorized.

[0115] Lorsque l'action (typiquement un déverrouillage) doit être appliquée au niveau du deuxième émetteurE2, celui-ci doit être informé du résultat. When the action (typically an unlocking) must be applied at the level of the second transmitter E2, the latter must be informed of the result.

[0116] Dans ce cas, une dix-neuvième opération119consiste, pour l'enclave8', à transmettre le résultat30au deuxième émetteurE2. In this case, a nineteenth operation119 consists, for the enclave8 ', in transmitting the result30 to the second transmitterE2.

[0117] Par ailleurs, aux fins de traçabilité, le résultat30(ou, de préférence, une trace de ce résultat30) ainsi que le résultat33(ou de préférence une trace de ce résultat33), sont de préférence inscrits dans la blockchain5. [0117] Furthermore, for the purposes of traceability, the result30 (or, preferably, a trace of this result30) as well as the result33 (or preferably a trace of this result33), are preferably recorded in the blockchain5.

[0118] Dans ce cas, une vingtième opération120consiste, pour l'enclave8', à initier une transactionTXà destination de la blockchain5. Cette transaction peut être signée au moyen d'une clé privée associée à l'enclave8'. In this case, a twentieth operation 120 consists, for the enclave 8 ′, in initiating a transaction TX intended for the blockchain 5. This transaction can be signed by means of a private key associated with the enclave8 '.

[0119] A cet effet, et selon un mode de réalisation illustré sur laFIG.5, une vingt-et-unième opération117consiste, pour l'enclave8', à établir une session de communication (SESS) avec au moins un nœud2du réseau1, une vingt-deuxième opération122consistant alors à transmettre à ce nœud2la transactionTXsignée, en vue de son inscription dans la blockchain5. La transactionTXsignée est alors distribuée sur plusieurs nœuds2validateurs du réseau1, aux fins de vérification préalable à l'inscription. To this end, and according to an embodiment illustrated in theFIG.5, a twenty-first operation 117 consists, for the enclave8 ', in establishing a communication session (SESS) with at least one node2 of the network1, a twenty-second operation122 then consisting in transmitting the signed transactionTX to this node2, with a view to its registration in the blockchain5. The signed transaction TX is then distributed to several validator nodes of the network1, for the purpose of verification prior to registration.

[0120] Après que la transactionTXsignée a été vérifiée, une vingttroisième opération123consiste, pour un ou plusieurs nœuds2validateurs, à l'inscrire dans un nouveau bloc4destiné à la blockchain5. Une vingt-quatrième opération124consiste, pour l'un des nœuds2validateurs, à ajouter le nouveau bloc4contenant la transactionTXsignée à la blockchain5, après l'achèvement d'un mécanisme de consensus tel que preuve de travail (en anglais proof-of-work ou PoW), preuve d'autorité (en anglais proof-of-authority ou PoA) ou preuve d'enjeu (en anglais proof-of-stake ou PoS). [0120] After the signed transaction TX has been verified, a twenty-third operation 123 consists, for one or more validating nodes2, in entering it in a new block4 intended for the blockchain5. A twenty-fourth operation124 consists, for one of the validating nodes2, in adding the new block4 containing the signed transactionTX to the blockchain5, after the completion of a consensus mechanism such as proof-of-work (PoW) , proof of authority (in English proof-of-authority or PoA) or proof of stake (in English proof-of-stake or PoS).

[0121] Le procédé qui vient d'être décrit présente les avantages suivants. The method which has just been described has the following advantages.

[0122] Premièrement, les données15biométriques de référence, cryptées, ne sont exploitables par aucun tiers, y compris celui qui en assure la mémorisation sur un nœud2Ade stockage. [0122] Firstly, the biometric reference data, encrypted, cannot be used by any third party, including the one who ensures their storage on a storage node2A.

[0123] Aucune utilisation (en particulier commerciale) ne peut donc en être faite, au bénéfice de la confidentialité. [0123] No use (in particular commercial) can therefore be made of it, for the benefit of confidentiality.

[0124] Deuxièmement, la réplication du conteneur22sur plusieurs nœuds2Ade stockage limite, par ailleurs, le risque d'effacement tout en augmentant la fiabilité du procédé. Second, the replication of the container 22 on several storage nodes 2 also limits the risk of erasure while increasing the reliability of the method.

[0125] Troisièmement, le caractère décentralisé du contrôle évite une éventuelle prise en main frauduleuse sur le deuxième émetteurE2par un tiers non autorisé. Thirdly, the decentralized nature of the control prevents a possible fraudulent takeover of the second transmitter E2 by an unauthorized third party.

[0126] Quatrièmement, la condition de géolocalisation ajoute encore à la difficulté pour un tiers non autorisé à accéder à l'environnement souhaité (typiquement un environnement virtuel), lorsque cette condition n'est pas satisfaite. Fourth, the geolocation condition further adds to the difficulty for an unauthorized third party to access the desired environment (typically a virtual environment), when this condition is not satisfied.

Claims (3)

1. Procédé de traitement de données biométriques d'un individu, à partir d'une unité de traitement informatique, dite émetteur (E2), reliée ou intégrée à un réseau (1) pair-à-pair composé d'une pluralité de nœuds (2) formant une base de données distribuée sur laquelle est mémorisée, par réplication sur chaque nœud (2), une chaîne (5) de blocs, ce procédé comprenant : A) Une phase de calibrage, qui comprend les opérations suivantes : - Au moyen d'un dispositif (16) de capture, réaliser une première capture de données (15) biométriques, dites de référence, de l'individu au niveau d'un membre ou d'un organe de celui-ci ; - Chiffrer les données (15) biométriques issues de cette première capture pour former un conteneur (22) crypté de données biométriques ; - Mémoriser séparément le conteneur (22) crypté de données biométriques et une clé (23) cryptographique de déchiffrement de celui-ci ; - Inscrire, dans un bloc (4) de la chaîne (5) de blocs, une transaction contenant une trace de cette capture et/ou de cette mémorisation ; B) Une phase de contrôle, qui comprend les opérations suivantes : - Etablir une session de communication entre l'émetteur (E2) et le réseau (1) ; - Sélectionner parmi le réseau (1) un nœud (2P) dit de calcul, équipé d'une unité de traitement dans laquelle est implémenté un environnement d'exécution sécurisé par cryptographie, dit enclave (8') ; - Instancier l'enclave (8') ; - Au moyen d'un dispositif (28) de capture équipant ou relié à l'émetteur (E2), réaliser une capture de données (27) biométriques de l'individu au niveau d'un membre ou d'un organe de cet individu ; - Charger dans l'enclave (8'), via une ligne (29) de communication sécurisée, les données (27) biométriques capturées ; - Au moyen d'une balise (31) de géolocalisation équipant ou reliée à l'émetteur (E2), éditer des données (32) instantanées de géolocalisation ; - Charger dans l'enclave (8'), via une ligne (29) de communication sécurisée, les données (32) instantanées de géolocalisation ; - Sélectionner parmi le réseau (1) un nœud (2B) de stockage sur lequel est mémorisé un exemplaire du conteneur (22) crypté contenant les données (15) biométriques de référence ; - Charger le conteneur (22) crypté dans l'enclave (8') ; - Déchiffrer dans l'enclave (8') les données (15) biométriques de référence, au moyen d'une clé (23) de déchiffrement associée au conteneur (22) crypté ; - Dans l'enclave (8'), comparer les données (27) biométriques capturées et les données (15) de référence, et vérifier si les données (32) instantanées de géolocalisation satisfont une condition de géolocalisation prédéfinie ; - Inscrire dans un bloc (4) de la chaîne (5) de blocs une transaction comprenant une trace du résultat (30) de la comparaison et une trace du résultat (33) de la vérification.1. A method of processing biometric data of an individual, from a computer processing unit, called the transmitter (E2), connected or integrated into a peer-to-peer network (1) composed of a plurality of nodes (2) forming a distributed database on which is stored, by replication on each node (2), a chain (5) of blocks, this method comprising: A) A calibration phase, which includes the following operations: - By means of a capture device (16), perform a first capture of biometric data (15), called reference, of the individual at the level of a limb or an organ thereof; - Encrypting the biometric data (15) resulting from this first capture to form an encrypted container (22) of biometric data; - Separately store the encrypted container (22) of biometric data and a cryptographic key (23) for decryption thereof; - Enter, in a block (4) of the chain (5) of blocks, a transaction containing a trace of this capture and / or this storage; B) A control phase, which includes the following operations: - Establish a communication session between the transmitter (E2) and the network (1); - Select from the network (1) a node (2P) called computation, equipped with a processing unit in which is implemented an execution environment secured by cryptography, called enclave (8 '); - Instantiate the enclave (8 '); - Using a capture device (28) fitted to or connected to the transmitter (E2), capture biometric data (27) of the individual at the level of a limb or an organ of this individual ; - Load into the enclave (8 '), via a secure communication line (29), the captured biometric data (27); - Using a geolocation beacon (31) fitted to or linked to the transmitter (E2), edit instantaneous geolocation data (32); - Load into the enclave (8 '), via a secure communication line (29), the instantaneous geolocation data (32); - Selecting from the network (1) a storage node (2B) on which is stored a copy of the encrypted container (22) containing the reference biometric data (15); - Load the encrypted container (22) into the enclave (8 '); - Decrypting in the enclave (8 ') the biometric reference data (15), by means of a decryption key (23) associated with the encrypted container (22); - In the enclave (8 '), compare the captured biometric data (27) and the reference data (15), and check whether the instantaneous geolocation data (32) satisfies a predefined geolocation condition; - Writing in a block (4) of the chain (5) of blocks a transaction comprising a trace of the result (30) of the comparison and a trace of the result (33) of the verification. 2. Procédé de traitement selon la revendication 1, dont la phase de calibrage comprend les opérations suivantes : - Fragmenter la clé (23) cryptographique de déchiffrement ; - Désigner, parmi le réseau, un groupe de nœuds (2B) de stockage en nombre égal aux fragments (23.i) ; - Distribuer chaque fragment (23.i) de la clé cryptographique de déchiffrement vers un nœud (28) de stockage, chaque nœud (2B) de stockage recevant un unique fragment (23.i).2. Treatment method according to claim 1, in which the calibration phase comprises the following operations: - Fragment the cryptographic decryption key (23); - Designate, among the network, a group of storage nodes (2B) in number equal to the fragments (23.i); - Distribute each fragment (23.i) of the cryptographic decryption key to a storage node (28), each storage node (2B) receiving a single fragment (23.i). 3. Procédé de traitement selon la revendication 2, dont la phase de contrôle comprend les opérations suivantes : - A partir de l'enclave (8') du nœud (2P) de calcul, sélectionner parmi le réseau (1) des nœuds (2B) sur lesquels sont stockés des fragments (23.i) de la clé (22) cryptographique de déchiffrement associée au conteneur (22) ; - Charger lesdits fragments (23.i) dans l'enclave (8') du nœud (2C) de calcul ; - Dans l'enclave (8') : o Reconstituer la clé (23) cryptographique de déchiffrement associée au conteneur (22), à partir des fragments (23.i) ainsi chargés ; o Déchiffrer les données (15) biométriques du conteneur (22) au moyen de la clé (23) ainsi reconstituée.3. The treatment method according to claim 2, the control phase of which comprises the following operations: - From the enclave (8 ') of the compute node (2P), select from the network (1) nodes (2B) on which are stored fragments (23.i) of the cryptographic key (22) of decryption associated with the container (22); - Load said fragments (23.i) into the enclave (8 ') of the computing node (2C); - In the enclave (8 '): o Reconstitute the cryptographic decryption key (23) associated with the container (22), from the fragments (23.i) thus loaded; o Deciphering the biometric data (15) of the container (22) by means of the key (23) thus reconstituted.
CH00760/19A 2019-06-07 2019-06-07 Process for processing biometric data of an individual, with phases of calibration and control and registration, in a blockchain, subject to geolocation, of an analysis result. CH716288A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CH00760/19A CH716288A2 (en) 2019-06-07 2019-06-07 Process for processing biometric data of an individual, with phases of calibration and control and registration, in a blockchain, subject to geolocation, of an analysis result.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CH00760/19A CH716288A2 (en) 2019-06-07 2019-06-07 Process for processing biometric data of an individual, with phases of calibration and control and registration, in a blockchain, subject to geolocation, of an analysis result.

Publications (1)

Publication Number Publication Date
CH716288A2 true CH716288A2 (en) 2020-12-15

Family

ID=73727418

Family Applications (1)

Application Number Title Priority Date Filing Date
CH00760/19A CH716288A2 (en) 2019-06-07 2019-06-07 Process for processing biometric data of an individual, with phases of calibration and control and registration, in a blockchain, subject to geolocation, of an analysis result.

Country Status (1)

Country Link
CH (1) CH716288A2 (en)

Similar Documents

Publication Publication Date Title
EP3547203B1 (en) Method and system for managing access to personal data by means of an intelligent contract
CN112491847B (en) Block chain all-in-one machine and automatic chain building method and device thereof
TWI724683B (en) Computer-implemented method for managing user key pairs, system for managing user key pairs, and apparatus for managing user key pairs
WO2013107362A1 (en) Method and system for protecting data
CA2969495A1 (en) Method implemented in an identity document and associated identity document
CN110431803A (en) Identity-based information management encryption key
CH716295A2 (en) A method of multiple signature of a transaction intended for a blockchain, by means of cryptographic keys distributed among the nodes of a peer-to-peer network.
WO2021057272A1 (en) Method and apparatus for implementing contract invoking based on fpga
CH716285A2 (en) Method for checking the biometric data of an individual, with registration, in a blockchain, of an analysis result.
CH716294A2 (en) Decentralized signature process, under biometric control and under conditions of personal identification and geolocation, of a transaction intended for a blockchain.
US20230074475A1 (en) Systems And Methods For Implementing Privacy Layer In CBDC Networks
CH716288A2 (en) Process for processing biometric data of an individual, with phases of calibration and control and registration, in a blockchain, subject to geolocation, of an analysis result.
CH716287A2 (en) Process for processing biometric data of an individual, with phases of calibration and control and registration, in a blockchain, of an analysis result.
CH716286A2 (en) A method of checking the biometric data of an individual under condition of geolocation, with registration, in a blockchain, of an analysis result.
CH716290A2 (en) Method of checking biometric data of an individual under conditions of identification and geolocation, with registration, in a blockchain, of an analysis result.
CH716298A2 (en) A method of storing, in encrypted form, an application on a blockchain network, with prior audit of the source code of this application.
CH716289A2 (en) A method of checking the biometric data of an individual, with registration, in a blockchain, subject to personal identification, of an analysis result.
CH716292A2 (en) Decentralized signature process, under biometric control and subject to geolocation, of a transaction intended for a blockchain.
CH716301A2 (en) Method of signing a transaction intended for a blockchain deployed on a peer-to-peer network, by means of a cryptographic key distributed among the nodes of another peer-to-peer network.
CH716291A2 (en) Decentralized signature process, under biometric control, of a transaction intended for a blockchain.
CH716300A2 (en) Process for signing a transaction intended for a blockchain, by means of a cryptographic key distributed among the nodes of a peer-to-peer network on which this blockchain is deployed.
CH716299A2 (en) Method of signing a transaction intended for a blockchain, by means of a cryptographic key distributed among the nodes of a peer-to-peer network.
CH716293A2 (en) Decentralized signature process, under biometric control and subject to personal identification, of a transaction intended for a blockchain.
CH716302A2 (en) Process of decentralized signature of a transaction intended for a blockchain, following the instructions of a smart contract.
CH716296A2 (en) A method of multiple signature of a transaction intended for a blockchain, subject to geolocation, by means of cryptographic keys distributed among the nodes of a peer-to-peer network.

Legal Events

Date Code Title Description
AZW Rejection (application)