[go: up one dir, main page]

FR3156561A1 - Method for centralized management of at least one action approval process - Google Patents

Method for centralized management of at least one action approval process Download PDF

Info

Publication number
FR3156561A1
FR3156561A1 FR2313694A FR2313694A FR3156561A1 FR 3156561 A1 FR3156561 A1 FR 3156561A1 FR 2313694 A FR2313694 A FR 2313694A FR 2313694 A FR2313694 A FR 2313694A FR 3156561 A1 FR3156561 A1 FR 3156561A1
Authority
FR
France
Prior art keywords
view
security device
personal security
approval
views
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
FR2313694A
Other languages
French (fr)
Inventor
Charles GUILLEMET
Philippe ANDOUARD
Hubert CLEONIS
Jean-Loup BEAUSSART
Nicolas DE DOUHET DE ROMANANGES
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to FR2313694A priority Critical patent/FR3156561A1/en
Priority to PCT/IB2024/061928 priority patent/WO2025120454A1/en
Publication of FR3156561A1 publication Critical patent/FR3156561A1/en
Pending legal-status Critical Current

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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • 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/3271Cryptographic 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 challenge-response

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

Procédé de gestion d’un processus d’approbation d’au moins une action par au moins un utilisateur, dans lequel le processus d’approbation de l’action est associé à une série de vues à l’attention de l’utilisateur, le procédé comprenant les étapes consistant à, au moyen d’un module de sécurité matériel (HSM1), générer la série de vues du processus d’approbation et communiquer la série de vues à un service orchestrateur (ORC, SRV1); au moyen du service orchestrateur, fournir à un dispositif de sécurité personnel (PSDi) tout ou partie de la série de vues. Figure 3Method for managing an approval process of at least one action by at least one user, in which the approval process of the action is associated with a series of views for the user, the method comprising the steps of, by means of a hardware security module (HSM1), generating the series of views of the approval process and communicating the series of views to an orchestrator service (ORC, SRV1); by means of the orchestrator service, providing all or part of the series of views to a personal security device (PSDi). Figure 3

Description

Procédé de gestion centralisée d’au moins un processus d’approbation d’une actionMethod for centralized management of at least one action approval process

La présente invention concerne un procédé de gestion d’un processus d’approbation d’une action par au moins un utilisateur, dans lequel le processus d’approbation de l’action est associé à une série de vues à l’attention de l’utilisateur, le procédé étant mis en œuvre au moyen d’un système comprenant un module de sécurité matériel, pour gouverner le processus d’approbation et initier la réalisation de l’action après son approbation par l’utilisateur, et un dispositif de sécurité personnel pour afficher des vues de la série de vues et recevoir l’approbation de l’utilisateur.The present invention relates to a method for managing an approval process of an action by at least one user, in which the approval process of the action is associated with a series of views for the user, the method being implemented by means of a system comprising a hardware security module, for governing the approval process and initiating the performance of the action after its approval by the user, and a personal security device for displaying views of the series of views and receiving approval from the user.

Arrière-planBackground

Ces dernières années, le développement des cryptomonnaies ou autres types de cryptoactifs gérés par des blockchains, tels que les jetons non fongibles ("NFT") et les contrats intelligents ("Smart Contracts"), a donné naissance à divers moyens de stockage et de conservation des clés privées et publiques attachées à ces différents types de cryptoactifs. C’est ainsi que sont apparus les portefeuilles de cryptoactifs communément appelés "hardware wallets" ou « dispositifs de sécurité personnels » PSD (« Personal Security Devices »), permettant le stockage et la conservation de ces clés. Un dispositif de sécurité personnel est un dispositif matériel dont la fonction est de stocker les clés privées et publiques attachées à des comptes de cryptoactifs, et de signer des transactions au moyen de ces clés.In recent years, the development of cryptocurrencies or other types of cryptoassets managed by blockchains, such as non-fungible tokens ("NFTs") and smart contracts, has given rise to various means of storing and preserving the private and public keys attached to these different types of cryptoassets. This is how cryptoasset wallets, commonly known as "hardware wallets" or "personal security devices" (PSDs), have emerged, allowing the storage and preservation of these keys. A personal security device is a hardware device whose function is to store the private and public keys attached to cryptoasset accounts, and to sign transactions using these keys.

LaFIG. 1montre schématiquement un exemple de dispositif de sécurité personnel PSD, par exemple le dispositif commercialisé par la demanderesse sous l’appellation "Ledger Blue" ou "Ledger Stax", et un dispositif hôte HDV exécutant une application compagnon HSW, par exemple l’application "Ledger Live" développée par la demanderesse. Le dispositif de sécurité personnel PSD ne pouvant pas se connecter directement à l’Internet pour des raisons de sécurité, il est associé au dispositif hôte HDV pour réaliser des transactions sur la blockchain. Le dispositif hôte HDV est par exemple un ordinateur, un téléphone mobile, une tablette ou équivalent. La connexion entre le dispositif de sécurité personnel PSD et le dispositif hôte HDV peut être de type USB ou Bluetooth par exemple.There FIG. 1 schematically shows an example of a PSD personal security device, for example the device marketed by the applicant under the name "Ledger Blue" or "Ledger Stax", and an HDV host device running an HSW companion application, for example the "Ledger Live" application developed by the applicant. Since the PSD personal security device cannot connect directly to the Internet for security reasons, it is associated with the HDV host device to carry out transactions on the blockchain. The HDV host device is for example a computer, a mobile phone, a tablet or the like. The connection between the PSD personal security device and the HDV host device may be of the USB or Bluetooth type for example.

Lors de la première mise en service du dispositif de sécurité personnel PSD, celui-ci génère une clé maître K0 à partir de laquelle il pourra ultérieurement dériver des clés privées Kj de comptes de cryptoactifs, et fournit à l’utilisateur une phrase de récupération de 24 mots que celui-ci devra conserver sur un support physique approprié, par exemple une feuille de papier ou un support inaltérable tel une plaque de métal gravée, qu'il devra conserver en lieu sûr.When the PSD personal security device is first put into service, it generates a master key K0 from which it can subsequently derive private keys Kj for crypto-asset accounts, and provides the user with a 24-word recovery phrase that the user must keep on an appropriate physical medium, for example a sheet of paper or an unalterable medium such as an engraved metal plate, which the user must keep in a safe place.

Une fois relié au dispositif hôte, le dispositif de sécurité personnel PSD peut interagir avec le logiciel compagnon pour permettre à un utilisateur USR de réaliser des transactions sur une blockchain BCN ou sur des sites d’échange décentralisé. Le dispositif de sécurité personnel PSD peut par ailleurs communiquer avec un module de sécurité matériel HSM ("Hardware Security Module") situé dans un datacenter. Un tel module de sécurité matériel est également appelé en français "boîte noire transactionnelle" BTN (https://fr.wikipedia.org/wiki/Hardware_Security_Module). Il est généralement de règle que le module de sécurité matériel HSM ne stocke pas les clés privées de l’utilisateur et assure seulement le contrôle de l’authenticité du dispositif de sécurité personnel PSD, sa mise en service, la mise à jour de son système d’exploitation, le téléchargement de programmes d’application certifiés, etc.Once connected to the host device, the PSD personal security device can interact with the companion software to allow a USR user to carry out transactions on a BCN blockchain or on decentralized exchange sites. The PSD personal security device can also communicate with a hardware security module (HSM) located in a data center. Such a hardware security module is also called a "transactional black box" (BTN) (https://fr.wikipedia.org/wiki/Hardware_Security_Module). It is generally the case that the HSM does not store the user's private keys and only ensures the authenticity of the PSD personal security device, its commissioning, the updating of its operating system, the downloading of certified application programs, etc.

Toutefois, une exception à cette règle est faite dans le cas d’une gestion mutualisée de comptes de cryptoactifs, dans laquelle une demande de réalisation d’une transaction sur un compte de cryptoactif ne peut être exécutée qu’après avoir reçu l’accord d’au moins un utilisateur approbateur et satisfait une règle de gouvernance. Comme illustré sur laFIG. 2, on prévoit dans ce cas un serveur d’administration de transaction SRV0 couplé à un module de sécurité matériel HSM0 ayant accès à une mémoire MEM dans laquelle est enregistrée la clé maître K0 permettant de générer les clés dérivées Kj des comptes de cryptoactifs dont la gestion est mutualisée. Le module de sécurité matériel HSM0 exécute un service de gouvernance GOV dans lequel ont été enregistrées des règles de gouvernance, permettant d’attribuer des rôles à des opérateurs OPi (OP1… OPN), par exemple un rôle de copropriétaire ("shared-owner"), d’administrateur, d’approbateur de transaction, etc. Le serveur SRV0 héberge une plateforme d'administration de transaction TPF permettant à certains opérateurs de demander l’engagement d'actions.However, an exception to this rule is made in the case of shared management of crypto-asset accounts, in which a request to carry out a transaction on a crypto-asset account can only be executed after receiving the agreement of at least one approving user and satisfying a governance rule. As illustrated in the FIG. 2 , in this case, a transaction administration server SRV0 is provided coupled to a hardware security module HSM0 having access to a memory MEM in which the master key K0 is recorded, making it possible to generate the derived keys Kj of the crypto-asset accounts whose management is shared. The hardware security module HSM0 executes a governance service GOV in which governance rules have been recorded, making it possible to assign roles to OPi operators (OP 1 … OP N ), for example a role of co-owner ("shared-owner"), administrator, transaction approver, etc. The server SRV0 hosts a transaction administration platform TPF allowing certain operators to request the commitment of actions.

Il sera subsidiairement noté que pour assurer un très haut degré de sécurité aux titulaires de comptes faisant l’objet d’une telle gestion mutualisée, la demanderesse utilise des modules de sécurité matériels HSM hébergés dans des data centers sécurisés se trouvant en diverses parties du monde, et offrant une sécurité de très haut niveau conforme par exemple à la norme FIPS 140-2 niveau 3, et dans lesquels diverses sécurités matérielles et logicielles supplémentaires sont en outre mises en œuvre.It will be noted, in addition, that in order to ensure a very high degree of security for account holders subject to such shared management, the applicant uses HSM hardware security modules hosted in secure data centers located in various parts of the world, and offering a very high level of security compliant, for example, with the FIPS 140-2 level 3 standard, and in which various additional hardware and software security features are also implemented.

Lorsqu’un opérateur OPi se connecte à la plateforme de transaction TPF et demande la réalisation d’une action, l’action demandée est communiquée au module de sécurité matériel HSM0. Le module HSM0 identifie la règle de gouvernance qui s’applique à l’action demandée, puis sollicite l’accord d'opérateurs OPi désignés par cette règle de gouvernance. Lorsque l’accord des opérateurs est reçu, le module HSM0 réalise l’action demandée ou initie sa réalisation. Si cette action est la réalisation d’une transaction, le module HSM0 signe la transaction avec la clé privée appropriée Kj puis la diffuse sur la blockchain concernée.When an OPi operator connects to the TPF transaction platform and requests the performance of an action, the requested action is communicated to the HSM0 hardware security module. The HSM0 module identifies the governance rule that applies to the requested action, then requests the agreement of OPi operators designated by this governance rule. When the agreement of the operators is received, the HSM0 module performs the requested action or initiates its performance. If this action is the performance of a transaction, the HSM0 module signs the transaction with the appropriate private key Kj and then broadcasts it on the relevant blockchain.

Dans le cadre d’une telle gestion mutualisée de comptes de cryptoactifs, un opérateur OPi comprend généralement un utilisateur personne physique USRi équipé d’un dispositif de sécurité personnel PSDi qui est relié à un dispositif hôte HDVi. Le dispositif hôte HDVi permet au dispositif de sécurité personnel PSDi d’être relié au serveur d’administration SRV0 et au module de sécurité matériel HSM0.In the context of such shared management of crypto-asset accounts, an OPi operator generally includes a natural person user USRi equipped with a PSDi personal security device which is connected to an HDVi host device. The HDVi host device allows the PSDi personal security device to be connected to the SRV0 administration server and the HSM0 hardware security module.

Dans ce type d’application, la réalisation d’actions nécessite généralement que les utilisateurs USRi naviguent dans des pages, ou « vues », qui s’affichent sur leurs dispositifs de sécurité personnels PSDi. De façon générale, à chaque action pouvant être réalisée est associé un processus d’approbation de l’action et au moins une règle de gouvernance. Le processus d’approbation de l’action est matérialisé par un ensemble de vues chaînées que chaque utilisateur USRi peut parcourir en faisant des choix, lui permettant de bifurquer, d’avancer ou de faire marche arrière, jusqu’à ce qu’il arrive à une vue finale qui clôture le processus d’approbation. Lorsque la vue finale est atteinte, la possibilité est offerte à l’utilisateur de donner ou non son accord sur l’action à réaliser, par exemple en appuyant sur un bouton d’approbation ou un bouton de refus.In this type of application, performing actions typically requires USRi users to navigate pages, or “views,” that are displayed on their PSDi personal security devices. Typically, each action that can be performed has an associated action approval process and at least one governance rule. The action approval process is represented by a set of chained views that each USRi user can navigate by making choices, allowing them to branch off, move forward, or move back, until they arrive at a final view that concludes the approval process. When the final view is reached, the user is given the option to agree or disagree with the action to be performed, for example, by pressing an approve or decline button.

En définitive, comme un système de gestion mutualisée de comptes de cryptoactifs permet de réaliser diverses actions et qu’à chaque action est associée une série de vues permettant de mettre en œuvre le processus d’approbation de l’action, la mise en œuvre d’un tel système implique de gérer un très grand nombre de vues différentes.Ultimately, since a shared crypto-asset account management system allows various actions to be carried out and each action is associated with a series of views allowing the action approval process to be implemented, implementing such a system involves managing a very large number of different views.

Or, il s’avère que les dispositifs de sécurité personnels PSDi ont parfois un espace mémoire limité qui limite le nombre de vues pouvant être générées et limite également la taille du programme leur permettant de générer de telles vues et de les lier entre elles. En effet, un dispositif de sécurité personnel comprend généralement un élément sécurisé (« secure element ») pour exécuter un tel programme, et un microcontrôleur pour assurer les communications avec le monde extérieur. Un élément sécurisé est une puce de semi-conducteur comprenant des moyens de calcul cryptographiques et mettant en œuvre diverses contre-mesures visant à contrer des attaques de fraudeurs, capable de stocker et de manipuler des données en conformité avec les règles et les exigences de sécurité fixées par une autorité de confiance. En raison des nombreuses contre-mesures qu’il met en œuvre, l’espace mémoire d’un élément sécurisé est limité, qu’il s’agisse de sa mémoire non volatile ou de sa mémoire volatile .However, it turns out that PSDi personal security devices sometimes have limited memory space, which limits the number of views that can be generated and also limits the size of the program that allows them to generate such views and link them together. Indeed, a personal security device generally includes a secure element to execute such a program, and a microcontroller to ensure communications with the outside world. A secure element is a semiconductor chip comprising cryptographic computing means and implementing various countermeasures to counter fraudster attacks, capable of storing and manipulating data in compliance with the security rules and requirements set by a trusted authority. Due to the many countermeasures it implements, the memory space of a secure element is limited, whether it is its non-volatile memory or its volatile memory.

De plus, chaque mise à jour du service de gouvernance GOV du module HSM0 implique des mises à jour des dispositifs de sécurité personnels PSDi, pour que ceux-ci soient capables de générer de nouvelles séries de vues correspondant à de nouvelles actions offertes par le service de gouvernance.Additionally, each update of the GOV governance service of the HSM0 module involves updates to the PSDi personal security devices, so that they are able to generate new series of views corresponding to new actions offered by the governance service.

Il pourrait donc être souhaité de prévoir un procédé de gestion d’un processus d’approbation d’actions qui réduise considérablement l’espace mémoire nécessaire aux dispositifs de sécurité personnels pour la génération des vues permettant de mettre en œuvre le processus d’approbation.It might therefore be desirable to provide a method for managing an action approval process that significantly reduces the memory space required by personal security devices for generating the views needed to implement the approval process.

RésuméSummary

Des modes de réalisation concernent un procédé de gestion d’un processus d’approbation d’une action par au moins un utilisateur, dans lequel le processus d’approbation de l’action est associé à une série de vues à l’attention de l’utilisateur, le procédé étant mis en œuvre au moyen d’un système comprenant un module de sécurité matériel, pour gouverner le processus d’approbation et initier la réalisation de l’action après son approbation par l’utilisateur, et un dispositif de sécurité personnel pour afficher des vues de la série de vues et recevoir l’approbation de l’utilisateur. Le procédé comprend les étapes consistant à prévoir un service orchestrateur exécuté par un serveur ; au moyen du module de sécurité matériel, générer la série de vues du processus d’approbation et communiquer la série de vues au service orchestrateur, et au moyen du service orchestrateur, fournir au dispositif de sécurité personnel tout ou partie des vues générées par le module de sécurité matériel.Embodiments relate to a method for managing an approval process for an action by at least one user, wherein the approval process for the action is associated with a series of views for the user, the method being implemented by means of a system comprising a hardware security module, for governing the approval process and initiating the performance of the action after its approval by the user, and a personal security device for displaying views of the series of views and receiving approval from the user. The method comprises the steps of providing an orchestrator service executed by a server; by means of the hardware security module, generating the series of views of the approval process and communicating the series of views to the orchestrator service, and by means of the orchestrator service, providing to the personal security device some or all of the views generated by the hardware security module.

Selon un mode de réalisation, le procédé comprend l’étape consistant à, au moyen du service orchestrateur, fournir au dispositif de sécurité personnel une première vue de la série de vues, puis une ou des vues suivantes ou précédentes de la série de vues, à la demande du dispositif de sécurité personnel.According to one embodiment, the method comprises the step of, by means of the orchestrator service, providing the personal security device with a first view of the series of views, then one or more subsequent or previous views of the series of views, at the request of the personal security device.

Selon un mode de réalisation, la fourniture d’au moins une vue au dispositif de sécurité personnel comprend le découpage de la vue par le service orchestrateur en une pluralité de blocs de données, l’envoi de chaque bloc de données au dispositif de sécurité personnel, et la reconstitution de la vue par le dispositif de sécurité personnel lorsque la pluralité de blocs de données a été reçue, par concaténation des blocs de données.According to one embodiment, providing at least one view to the personal security device comprises the orchestrator service slicing the view into a plurality of data blocks, sending each data block to the personal security device, and the personal security device reconstructing the view when the plurality of data blocks have been received, by concatenating the data blocks.

Selon un mode de réalisation, le module de sécurité matériel communique chaque vue au service orchestrateur sous une forme chiffrée avec une clé de chiffrement connue du dispositif de sécurité personnel mais inconnue du service orchestrateur.In one embodiment, the hardware security module communicates each view to the orchestrator service in an encrypted form with an encryption key known to the personal security device but unknown to the orchestrator service.

Selon un mode de réalisation, le procédé comprend les étapes consistant à, au moyen du service orchestrateur, découper chaque vue dans sa forme chiffrée et fournir au dispositif de sécurité personnel des blocs de données chiffrés, et au moyen du dispositif de sécurité personnel, concaténer les blocs de données chiffrés reçus et déchiffrer la chaîne de bits obtenue, pour reconstituer la vue.According to one embodiment, the method comprises the steps of, by means of the orchestrator service, slicing each view into its encrypted form and providing the personal security device with encrypted data blocks, and by means of the personal security device, concatenating the received encrypted data blocks and decrypting the resulting bit string, to reconstruct the view.

Selon un mode de réalisation, les vues sont envoyées au dispositif de sécurité personnel par le service orchestrateur par l’intermédiaire de commandes de carte à puce du type APDU défini par la norme ISO/IEC 7816.According to one embodiment, the views are sent to the personal security device by the orchestrator service via smart card commands of the APDU type defined by the ISO/IEC 7816 standard.

Selon un mode de réalisation, le procédé comprend une étape d’authentification du dispositif de sécurité personnel par le module de sécurité matériel, l’étape d’authentification comprenant les étapes consistant à, au moyen du module de sécurité matériel, envoyer un challenge au dispositif de sécurité personnel, et au moyen du dispositif de sécurité personnel, générer une réponse au challenge et l’envoyer au module de sécurité matériel.According to one embodiment, the method comprises a step of authenticating the personal security device by the hardware security module, the authentication step comprising the steps of, by means of the hardware security module, sending a challenge to the personal security device, and by means of the personal security device, generating a response to the challenge and sending it to the hardware security module.

Selon un mode de réalisation, l’étape de calcul et d’envoi d’une réponse au challenge n’est réalisée que si l’utilisateur communique au dispositif de sécurité personnel son approbation sur l’action à effectuer.According to one embodiment, the step of calculating and sending a response to the challenge is only carried out if the user communicates to the personal security device his approval of the action to be carried out.

Selon un mode de réalisation, le module de sécurité matériel est configuré pour que la réception d’une réponse au challenge valide ait valeur d‘approbation de l’utilisateur quant à la réalisation de l’action.According to one embodiment, the hardware security module is configured so that receipt of a valid challenge response constitutes user approval to perform the action.

Selon un mode de réalisation, le challenge est envoyé au dispositif de sécurité personnel comme une vue fictive de la série de vues, ayant un rang supérieur au rang de la dernière vue de la série de vues.According to one embodiment, the challenge is sent to the personal security device as a dummy view in the series of views, having a rank higher than the rank of the last view in the series of views.

Selon un mode de réalisation, le challenge est envoyé au dispositif de sécurité personnel en même temps qu’une vue, en tant que donnée liée à un élément se trouvant à l’intérieur de la vue.In one embodiment, the challenge is sent to the personal security device along with a view, as data linked to an item within the view.

Selon un mode de réalisation, le dispositif de sécurité personnel est configuré pour, après avoir reçu l’approbation de l’utilisateur sur l’action à effectuer, envoyer au module de sécurité matériel tout ou partie d’une donnée secrète du dispositif de sécurité personnel ou une donnée dérivée de cette donnée secrète.According to one embodiment, the personal security device is configured to, after receiving user approval on the action to be performed, send to the hardware security module all or part of a secret data item of the personal security device or data derived from this secret data item.

Selon un mode de réalisation, une vue fournie par le module de sécurité matériel consiste dans un descriptif de la vue selon une structure de vue, le descriptif étant transformé en une chaîne de données binaires.According to one embodiment, a view provided by the hardware security module consists of a description of the view according to a view structure, the description being transformed into a binary data string.

Selon un mode de réalisation, le procédé comprend une étape de découpage de la chaîne de données binaires formant un descriptif de la vue en une pluralité de blocs de données, l’envoi de chaque bloc de données au dispositif de sécurité personnel, la reconstitution du descriptif de la vue par le dispositif de sécurité personnel lorsque la pluralité de blocs de données a été reçue, par concaténation des blocs de données, et la reconstitution de la vue par le dispositif de sécurité personnel, à partir du descriptif de la vue.According to one embodiment, the method comprises a step of cutting the binary data string forming a description of the view into a plurality of data blocks, sending each data block to the personal security device, reconstituting the description of the view by the personal security device when the plurality of data blocks have been received, by concatenating the data blocks, and reconstituting the view by the personal security device, from the description of the view.

Selon un mode de réalisation, la structure de vue comprend une pluralité d’objets.According to one embodiment, the view structure comprises a plurality of objects.

Selon un mode de réalisation, la structure de vue comprend au moins deux conteneurs principaux contenant chacun des objets.According to one embodiment, the view structure comprises at least two main containers each containing objects.

Selon un mode de réalisation, le procédé est mis en œuvre pour l’approbation d’actions d’administration de comptes de cryptoactifs, lesdites actions d'administration comprenant au moins l’une des actions suivantes : l’approbation d’une transaction au moyen d’un compte de cryptoactifs ; l’approbation d’une action de génération d’une clé maître de compte de cryptoactif ; l’approbation d’actions d’acceptation ou de révocation d’opérateurs aptes à participer à des actions d’administration de comptes de cryptoactifs.According to one embodiment, the method is implemented for the approval of cryptoasset account administration actions, said administration actions comprising at least one of the following actions: the approval of a transaction by means of a cryptoasset account; the approval of an action of generating a cryptoasset account master key; the approval of actions of acceptance or revocation of operators able to participate in cryptoasset account administration actions.

Des modes de réalisation concernent également un système de gestion d’un processus d’approbation d’une action par au moins un utilisateur, dans lequel le processus d’approbation de l’action est associé à une série de vues prévues à l’attention de l’utilisateur, le système comprenant un module de sécurité matériel, pour gouverner le processus d’approbation et initier la réalisation de l’action après son approbation par l’utilisateur, et un dispositif de sécurité personnel pour afficher des vues de la série de vues et recevoir l’approbation de l’utilisateur, le système comprenant également un service orchestrateur exécuté par un serveur, le module de sécurité matériel étant configuré pour générer la série de vues du processus d’approbation et communiquer la série de vues au service orchestrateur, et le service orchestrateur étant configuré pour fournir au dispositif de sécurité personnel tout ou partie des vues générées par le module de sécurité matériel.Embodiments also relate to a system for managing an approval process for an action by at least one user, wherein the approval process for the action is associated with a series of views provided to the user, the system comprising a hardware security module, for governing the approval process and initiating the performance of the action after its approval by the user, and a personal security device for displaying views of the series of views and receiving approval from the user, the system also comprising an orchestrator service executed by a server, the hardware security module being configured to generate the series of views of the approval process and communicate the series of views to the orchestrator service, and the orchestrator service being configured to provide the personal security device with all or part of the views generated by the hardware security module.

Selon un mode de réalisation, le service orchestrateur est configuré pour découper au moins une vue en une pluralité de blocs de données, et envoyer la pluralité de blocs de données au dispositif de sécurité personnel, le dispositif de sécurité personnel étant configuré pour reconstituer la vue lorsque la pluralité de blocs de données a été reçue, par concaténation des blocs de données.According to one embodiment, the orchestrator service is configured to slice at least one view into a plurality of data blocks, and send the plurality of data blocks to the personal security device, the personal security device being configured to reconstruct the view when the plurality of data blocks have been received, by concatenating the data blocks.

Selon un mode de réalisation, le module de sécurité matériel est configuré pour communiquer chaque vue au service orchestrateur sous une forme chiffrée avec une clé de chiffrement connue du dispositif de sécurité personnel mais inconnue du service orchestrateur.According to one embodiment, the hardware security module is configured to communicate each view to the orchestrator service in an encrypted form with an encryption key known to the personal security device but unknown to the orchestrator service.

Selon un mode de réalisation, les vues sont envoyées au dispositif de sécurité personnel par le service orchestrateur par l’intermédiaire de commandes de carte à puce du type APDU défini par la norme ISO/IEC 7816.According to one embodiment, the views are sent to the personal security device by the orchestrator service via smart card commands of the APDU type defined by the ISO/IEC 7816 standard.

Selon un mode de réalisation, une vue fournie par le module de sécurité matériel consiste dans un descriptif de la vue selon une structure de vue déterminée.According to one embodiment, a view provided by the hardware security module consists of a description of the view according to a determined view structure.

Selon un mode de réalisation, la structure de vue comprend une pluralité d’objets.According to one embodiment, the view structure comprises a plurality of objects.

Selon un mode de réalisation, le système est configuré pour l’approbation d’actions d’administration de comptes de cryptoactifs, lesdites actions d'administration comprenant au moins l’une des actions suivantes : l’approbation d’une transaction au moyen d’un compte de cryptoactifs, l’approbation d’une action de génération d’une clé maître de compte de cryptoactifs, l’approbation d’actions d’acceptation ou de révocation d’opérateurs aptes à participer à des actions d’administration de comptes de cryptoactifs.According to one embodiment, the system is configured for the approval of cryptoasset account administration actions, said administration actions comprising at least one of the following actions: the approval of a transaction by means of a cryptoasset account, the approval of an action of generating a cryptoasset account master key, the approval of actions of acceptance or revocation of operators able to participate in cryptoasset account administration actions.

Description sommaire des dessinsSummary description of the drawings

Des modes de réalisation d'un procédé et d’un système de gestion de processus d’approbation d’actions seront décrits dans ce qui suit à titre non limitatif, en relation avec les figures jointes parmi lesquelles :Embodiments of a method and system for managing action approval processes will be described in the following without limitation, in relation to the attached figures among which:

- laFIG. 1précédemment décrite représente schématiquement un système classique de gestion non mutualisée de comptes de cryptoactifs,- there FIG. 1 previously described schematically represents a classic system of non-mutualized management of crypto-asset accounts,

- laFIG. 2précédemment décrite représente schématiquement un système classique de gestion mutualisée de comptes de cryptoactifs,- there FIG. 2 previously described schematically represents a classic system for shared management of crypto-asset accounts,

- laFIG. 3montre un mode de réalisation d’un système de gestion mutualisée de comptes de cryptoactifs permettant la mise en œuvre du procédé,- there FIG. 3 shows an embodiment of a system for the shared management of crypto-asset accounts allowing the implementation of the method,

- laFIG. 4montre plus en détail un dispositif de sécurité personnel présent dans le système de laFIG. 3,- there FIG. 4 shows in more detail a personal safety device present in the system of the FIG. 3 ,

- laFIG. 5est un diagramme de séquences décrivant des étapes du procédé de gestion du processus d’approbation d’actions,- there FIG. 5 is a sequence diagram describing steps in the action approval process management process,

- laFIG. 6et laFIG. 6décrivent les étapes du diagramme de laFIG. 5,- there FIG. 6 and the FIG. 6 describe the steps of the diagram of the FIG. 5 ,

- laFIG. 7montre une structure de vue utilisée dans un mode de réalisation du procédé,- there FIG. 7 shows a view structure used in one embodiment of the method,

- laFIG. 8montre un descripteur d’une vue réalisée selon la structure de vue de laFIG. 7,- there FIG. 8 shows a descriptor of a view made according to the view structure of the FIG. 7 ,

- laFIG. 9, laFIG. 9, laFIG. 9, laFIG. 9, laFIG. 9, laFIG. 9, laFIG. 9, laFIG. 9, laFIG. 9, laFIG. 9, laFIG. 9, montrent des exemples d’objets présents dans la structure de vue de laFIG. 7,- there FIG. 9 , there FIG. 9 , there FIG. 9 , there FIG. 9 , there FIG. 9 , there FIG. 9 , there FIG. 9 , there FIG. 9 , there FIG. 9 , there FIG. 9 , there FIG. 9 , show examples of objects present in the view structure of the FIG. 7 ,

- laFIG. 10montre un premier exemple d’une série de vues associées à la réalisation d’une action, et- there FIG. 10 shows a first example of a series of views associated with the performance of an action, and

- laFIG. 11montre un deuxième exemple d’une série de vues associées à la réalisation d’une action.- there FIG. 11 shows a second example of a series of views associated with performing an action.

Description détailléeDetailed description

LaFIG. 3montre l’architecture générale d’un premier mode de réalisation d’un système de gestion mutualisée de comptes de cryptoactifs mettant en œuvre le procédé de gestion de processus d’approbation d’action selon la présente divulgation.There FIG. 3 shows the general architecture of a first embodiment of a system for shared management of cryptoasset accounts implementing the method for managing action approval processes according to the present disclosure.

Le système comprend un module de sécurité matériel HSM1, un serveur SRV1 et des opérateurs OPi (OP1… OPN). Le terme "module de sécurité matériel" désigne un module du type mentionné plus haut, offrant un haut niveau de sécurité matériel et logiciel, par exemple conforme à la norme FIPS 140-2 de niveau III.The system includes a hardware security module HSM1, a server SRV1 and OPi operators (OP 1 … OP N ). The term "hardware security module" means a module of the type mentioned above, providing a high level of hardware and software security, for example, compliant with FIPS 140-2 Level III.

Les opérateurs OPi peuvent se relier au serveur SRV1 via une liaison de données sécurisée https1. Le serveur SRV1 peut se relier au module HSM1 via une liaison de données sécurisée https2. Ces liaisons de données sécurisées peuvent être de tout autre type connu, par exemple VPN, TLS, etc.OPi operators can connect to the SRV1 server via a secure https1 data link. The SRV1 server can connect to the HSM1 module via a secure https2 data link. These secure data links can be of any other known type, e.g. VPN, TLS, etc.

Le module de sécurité matériel HSM1 a accès à une mémoire sécurisée MEM dans laquelle est stockée une clé maître K0 et des clés Kj dérivées de la clé maître K0, correspondant à un ensemble de comptes de cryptoactifs faisant l’objet d’une gestion mutualisée. Un opérateur OPi peut être un copropriétaire ("shared-owner"), un administrateur, un approbateur de transaction, ou tout autre rôle pouvant être défini. Les administrateurs définissent des règles de gouvernance. Ils peuvent également, dans certains modes de réalisation, approuver, voire désigner des copropriétaires. Les copropriétaires génèrent la clé maître K0 de l’ensemble de comptes de cryptoactifs, à partir de clés maîtres qui leur sont propres. Les opérateurs approbateurs approuvent des transactions initiées par eux-mêmes ou d'autres opérateurs.The hardware security module HSM1 has access to a secure memory MEM in which a master key K0 and keys Kj derived from the master key K0 are stored, corresponding to a set of cryptoasset accounts subject to shared management. An OPi operator can be a co-owner ("shared-owner"), an administrator, a transaction approver, or any other role that can be defined. The administrators define governance rules. They can also, in certain embodiments, approve or even designate co-owners. The co-owners generate the master key K0 of the set of cryptoasset accounts, from master keys of their own. The approver operators approve transactions initiated by themselves or other operators.

Dans un mode de réalisation, un opérateur OPi comprend un dispositif de sécurité personnel PSDi associé à un dispositif hôte HDVi exécutant une application compagnon CAP, par exemple l’application "Ledger Live" développée par la demanderesse. L’opérateur comprend également un utilisateur personne physique USRi qui peut agir à la fois sur le dispositif hôte HDVi ou sur le dispositif de sécurité personnel PSDi.In one embodiment, an OPi operator comprises a personal security device PSDi associated with an HDVi host device running a CAP companion application, for example the "Ledger Live" application developed by the applicant. The operator also comprises a natural person user USRi who can act on both the HDVi host device or the personal security device PSDi.

Dans un mode de réalisation montré sur laFIG. 4, un dispositif de sécurité personnel PSDi a une architecture de type portefeuille matériel (« Hardware Wallet ») et comprend un élément sécurisé SE1 et un microcontrôleur MCU1. Le microcontrôleur gère une interface USB1 de type USB. Dans certains modes de réalisation, le microcontrôleur gère également une interface BT1 de type Bluetooth. Le dispositif de sécurité personnel PSDi comprend également un écran tactile TS (« Touch Screen ») directement contrôlé par l’élément sécurisé SE1, et comprenant un afficheur DISP recouvert par un module tactile TM (« Touch Module »). L’élément sécurisé SE1 comprend une mémoire SMEM recevant son système d’exploitation OS1 ainsi qu’un programme application OAP permettant d’utiliser le dispositif de sécurité personnel en tant qu’opérateur du système de gestion mutualisée de comptes de cryptoactifs. Une telle architecture est celle, par exemple, du dispositif Ledger Stax, qui est équipé d’un écran tactile directement contrôlé par l’élément sécurisé. Un tel dispositif de sécurité personnel PSDi est donc l’équivalent d’une carte à puce (l’élément sécurisé) équipée d’un écran tactile et d'une interface de communication USB/Bluetooth (le microcontrôleur).In one embodiment shown in the FIG. 4 , a personal security device PSDi has a hardware wallet type architecture and comprises a secure element SE1 and a microcontroller MCU1. The microcontroller manages a USB1 interface of the USB type. In certain embodiments, the microcontroller also manages a BT1 interface of the Bluetooth type. The personal security device PSDi also comprises a touch screen TS (Touch Screen) directly controlled by the secure element SE1, and comprising a display DISP covered by a touch module TM (Touch Module). The secure element SE1 comprises a memory SMEM receiving its operating system OS1 as well as an application program OAP making it possible to use the personal security device as an operator of the shared management system for crypto-asset accounts. Such an architecture is that, for example, of the Ledger Stax device, which is equipped with a touch screen directly controlled by the secure element. Such a PSDi personal security device is therefore the equivalent of a smart card (the secure element) equipped with a touch screen and a USB/Bluetooth communication interface (the microcontroller).

Dans un autre mode de réalisation, le dispositif de sécurité personnel PSDi et le dispositif hôte HDVi ne forment qu’un seul dispositif, par exemple un téléphone dit « blockchain », comprenant un portefeuille matériel intégré dans le téléphone. On dispose dans ce cas d’une plus grande puissance de calcul, offerte par le processeur d’application du téléphone. Dans d'autres modes de réalisation, les opérateurs OPi peuvent être des entités informatiques exécutées par des ordinateurs personnels ou des serveurs. Ces différents types de dispositifs opérateurs peuvent coexister dans le système présentement décrit.In another embodiment, the PSDi personal security device and the HDVi host device form a single device, for example a so-called "blockchain" phone, comprising a hardware wallet integrated into the phone. In this case, greater computing power is available, provided by the application processor of the phone. In other embodiments, the OPi operators can be computing entities executed by personal computers or servers. These different types of operator devices can coexist in the system described herein.

De retour à laFIG. 3, le serveur SRV1 héberge une plateforme de transaction TPF, un service orchestrateur ORC et un service BCAST de diffusion de transactions sur des réseaux de blockchains BCN. Le module HSM1 comprend et exécute un service de gouvernance GOV et un service de signature SIGN1 de transactions. Le service de signature SIGN1 assure la signature d’une transaction au moyen de l’une des clés Kj auxquelles le module HSM1 a accès, lorsque la transaction a été approuvée par des utilisateurs approbateurs dont l’identité et le nombre sont définis par une règle de gouvernance mise en œuvre par le service de gouvernance GOV. Le service BCAST est montré ici à titre non limitatif comme exécuté par le serveur SRV1 mais pourrait aussi être exécuté par tout autre serveur ou dispositif associé au système.Back to the FIG. 3 , the SRV1 server hosts a TPF transaction platform, an ORC orchestrator service and a BCAST service for broadcasting transactions on BCN blockchain networks. The HSM1 module includes and executes a GOV governance service and a SIGN1 transaction signing service. The SIGN1 signing service ensures the signing of a transaction using one of the keys Kj to which the HSM1 module has access, when the transaction has been approved by approving users whose identity and number are defined by a governance rule implemented by the GOV governance service. The BCAST service is shown here as a non-limiting example as executed by the SRV1 server but could also be executed by any other server or device associated with the system.

La mémoire MEM recevant la clé maître K0 et les clés Kj peut être interne ou externe au module HSM1. Le système est conçu pour que la mémoire MEM ne puisse être lue et écrite que par le module HSM1.The MEM memory receiving the master key K0 and the keys Kj can be internal or external to the HSM1 module. The system is designed so that the MEM memory can only be read and written by the HSM1 module.

Dans un mode de réalisation, les dispositifs de sécurité personnels PSDi et le module HSM1 sont membres d’une infrastructure à clé publique PA gérée par une autorité de certification CA fournissant une clé publique PA. Ils comprennent chacun une clé privée, respectivement dPi, dH1, une clé publique, respectivement PPi, PH1, et un certificat, respectivement CPi, CH1. Le certificat CPi ou CH1 comprend la clé publique PPi ou PH1 et une signature de celle-ci produite par l’autorité de certification au moyen de sa clé privée dA. Grâce à ces certificats, dont la validité peut être vérifiée au moyen de la clé publique PA de l’autorité de confiance, chaque dispositif PSDi peut apporter la preuve de son caractère authentique au module HSM1.In one embodiment, the personal security devices PSDi and the HSM1 module are members of a public key infrastructure PA managed by a certification authority CA providing a public key PA. They each comprise a private key, respectively dPi, dH1, a public key, respectively PPi, PH1, and a certificate, respectively CPi, CH1. The certificate CPi or CH1 comprises the public key PPi or PH1 and a signature thereof produced by the certification authority using its private key dA. Thanks to these certificates, the validity of which can be verified using the public key PA of the trusted authority, each PSDi device can provide proof of its authenticity to the HSM1 module.

Le système peut être configuré pour permettre divers types d’actions, comme des actions d’intégration ou d’exclusion d’opérateurs, par exemple des approbateurs, des copropriétaires, ou des administrateurs, une action de génération d’une clé maître K0 à partir de clés maîtres propres à des copropriétaires, ou encore une action de réalisation d’une transaction. A chaque action est associée une série de vues nécessaires à la mise en œuvre du processus d’approbation de l’action, destinées à être affichées par les dispositifs de sécurité personnels PSDi à la discrétion de l’utilisateur.The system can be configured to allow various types of actions, such as actions to integrate or exclude operators, for example approvers, co-owners, or administrators, an action to generate a K0 master key from master keys specific to co-owners, or an action to carry out a transaction. Each action is associated with a series of views necessary to implement the action approval process, intended to be displayed by the PSDi personal security devices at the user's discretion.

Lorsqu’une action doit être effectuée, le système met en œuvre le procédé de gestion de processus d’approbation d’actions selon la présente divulgation. Ce procédé se distingue d’un procédé classique en ce qu’il réduit considérablement l’espace mémoire nécessaire à la génération des vues par les dispositifs de sécurité personnels PSDi. Selon ce procédé, au lieu de laisser chaque dispositif de sécurité personnel PSDi générer la série de vues d’un processus d’approbation déterminé, cette série de vues est générée par le module HSM1. Une fois la série de vues générée par le module HSM1, ce dernier la fournit au service orchestrateur ORC du serveur SRV1. Ensuite, le service orchestrateur ORC transmet les vues aux dispositifs de sécurité personnels PSDi, les unes après les autres, au fur et à mesure que ces derniers les demandent.When an action is to be performed, the system implements the action approval process management method according to the present disclosure. This method differs from a conventional method in that it considerably reduces the memory space required for the generation of views by the PSDi personal security devices. According to this method, instead of letting each PSDi personal security device generate the series of views for a given approval process, this series of views is generated by the HSM1 module. Once the series of views is generated by the HSM1 module, the latter provides it to the ORC orchestrator service of the SRV1 server. Then, the ORC orchestrator service transmits the views to the PSDi personal security devices, one after the other, as the latter request them.

A chaque type d'action peut aussi être associé un type d’approbation. Il peut s’agir d’une approbation expresse ou implicite, pouvant être accompagnée de la fourniture d’une donnée. Dans des modes de réalisation, la seule fourniture de cette donnée vaut approbation implicite. Par exemple, l’approbation d’une action d’acceptation ou d’exclusion d’un opérateur peut être associée à la fourniture, par chaque dispositif de sécurité personnel sollicité, d’une réponse à un challenge précédemment envoyé par le module de sécurité matériel. Une telle réponse à un challenge peut par exemple consister dans la signature du challenge. L’envoi de cette signature peut valoir approbation implicite de l’action soumise à approbation. Comme autre exemple, l’approbation d’une action de génération d’une clé maître K0 peut se traduire par la fourniture au module de sécurité matériel, par chaque dispositif de sécurité personnel sollicité, d’une donnée permettant de générer cette clé maître K0. La donnée fournie par chaque dispositif de sécurité personnel peut par exemple être sa propre clé maître ou une partie de celle-ci, éventuellement sous une forme chiffrée, ou encore une donnée, chiffrée ou non, générée à partir de sa clé maître. L’envoi de cette donnée peut valoir approbation implicite de l’action de génération de la clé maître K0.Each type of action may also be associated with a type of approval. This may be express or implicit approval, which may be accompanied by the provision of data. In some embodiments, the mere provision of this data constitutes implicit approval. For example, the approval of an action of accepting or excluding an operator may be associated with the provision, by each personal security device requested, of a response to a challenge previously sent by the hardware security module. Such a response to a challenge may, for example, consist of signing the challenge. Sending this signature may constitute implicit approval of the action subject to approval. As another example, the approval of an action of generating a master key K0 may result in the provision to the hardware security module, by each personal security device requested, of data enabling this master key K0 to be generated. The data provided by each personal security device may, for example, be its own master key or part of it, possibly in encrypted form, or data, encrypted or not, generated from its master key. Sending this data may constitute implicit approval of the action of generating the master key K0.

Dans un mode de réalisation, des liaisons de données entre le serveur SRV1 et les dispositifs PSDi pour la communication à ces derniers des vues générées par le module HSM1, sont établies grâce à des commandes et des réponses APDU (« Application Protocole Data Unit ») du type décrit par le protocole ISO/IEC 7816 pour cartes à puce.In one embodiment, data links between the SRV1 server and the PSDi devices for communicating to the latter the views generated by the HSM1 module are established using APDU (“Application Protocol Data Unit”) commands and responses of the type described by the ISO/IEC 7816 protocol for smart cards.

Il sera rappelé ici qu’une commande APDU comprend un en-tête de quatre octets CLA (Classe), INS (Instruction), P1, P2, et un corps conditionnel de longueur variable qui comprend des champs [Lc field] [Data field] [Le field]. Le nombre d'octets présents dans le champ de données d’une commande APDU est indiqué par le champ Lc. Le nombre maximal d'octets attendus dans le champ de données de la réponse APDU est indiqué par le champ Le (longueur des données attendues). Lorsque le champ Le est égal à zéro, cela signifie que le nombre maximal d'octets de données disponibles est demandé. Enfin, le champ Data field comprend les données véhiculées par la commande.It will be recalled here that an APDU command includes a four-byte header CLA (Class), INS (Instruction), P1, P2, and a variable-length conditional body that includes fields [Lc field] [Data field] [Le field]. The number of bytes present in the data field of an APDU command is indicated by the Lc field. The maximum number of bytes expected in the data field of the APDU response is indicated by the Le field (length of expected data). When the Le field is equal to zero, this means that the maximum number of available data bytes is requested. Finally, the Data field includes the data carried by the command.

Il sera également rappelé qu’une réponse APDU comprend un champ de données de longueur variable et un message de fin obligatoire, appelé « trailer », de deux octets SW1, SW2.It will also be recalled that an APDU response includes a variable length data field and a mandatory end message, called a “trailer”, of two bytes SW1, SW2.

Dans l’exemple de mise en œuvre du procédé décrit plus loin, les notations et valeurs suivantes seront utilisées :In the example implementation of the method described below, the following notations and values will be used:

SW1,SW2 = 9000 : envoi d’une réponse APDU ne comprenant que les deux octets SW1, SW2 portée à la valeur 9000 signifiant « No further qualification », soit « rien à signaler ». Ce type de réponse est utilisé comme accusé de réception de données présentes dans une commande APDU.SW1,SW2 = 9000: send an APDU response including only the two bytes SW1, SW2 set to the value 9000 meaning “No further qualification”, or “nothing to report”. This type of response is used as an acknowledgment of receipt of data present in an APDU command.

P1 = 80(MORE) or 00 (END) : lorsque le champ P1 d’une commande est égal à 80, cela signifie que les données fournies dans la commande ne sont pas complètes et que d’autres données vont suivre. Lorsque le champ P1 est égal à 00, cela signifie que toutes les données ont été transmises.P1 = 80(MORE) or 00 (END): When the P1 field of a command is equal to 80, it means that the data provided in the command is not complete and that more data will follow. When the P1 field is equal to 00, it means that all the data has been transmitted.

SW1, SW2 = 6100 or 9000 : lorsque les octets SW1, SW2 d’une réponse sont égaux à 6100, cela signifie que les données figurant dans le champ de données de la réponse ne sont pas complètes et que d’autres données doivent être envoyées pour que la réponse soit complète. Lorsque les octets sont égaux à 9000, cela signifie que toutes les données ont été envoyées.SW1, SW2 = 6100 or 9000: When the SW1, SW2 bytes of a response equal 6100, it means that the data in the response data field is not complete and more data must be sent to complete the response. When the bytes equal 9000, it means that all the data has been sent.

GET RESPONSE : la commande GET RESPONSE est par exemple envoyée lorsqu’une réponse précédemment reçue comprend le champ SW1, SW2 égal à 6100, ce qui signifie que l’entité qui envoie les réponses a encore des données à fournir, à la suite de quoi l’entité qui envoie des commandes envoie la commande GET RESPONSE. Cette commande permet à l’entité qui doit envoyer des données de les envoyer dans une réponse à cette commande. Lorsque cette commande est codée « 00C0000000 » avec un champ Le égal à 0, cela signifie que l’émetteur de la commande attend qu’on lui envoie une réponse avec un nombre maximum d’octets.GET RESPONSE: The GET RESPONSE command is sent, for example, when a previously received response includes the SW1, SW2 field equal to 6100, which means that the entity sending the responses still has data to provide, after which the entity sending commands sends the GET RESPONSE command. This command allows the entity that must send data to send it in a response to this command. When this command is coded "00C0000000" with an Le field equal to 0, this means that the sender of the command is waiting to be sent a response with a maximum number of bytes.

LaFIG. 5est un diagramme de séquence qui montre un exemple de réalisation du procédé en relation avec la réalisation d’une action qui est approuvée ici par l’envoi d’une réponse à un challenge reçu précédemment, cette réponse consistant ici dans la signature du challenge. Les étapes représentées sur laFIG. 5sont détaillées sur les figures 6A, 6B et seront décrites plus en détail dans ce qui suit.There FIG. 5 is a sequence diagram that shows an example of carrying out the process in relation to the performance of an action that is approved here by sending a response to a previously received challenge, this response consisting here in the signing of the challenge. The steps represented on the FIG. 5 are detailed in Figures 6A, 6B and will be described in more detail below.

S01 - Exec Action AjS01 - Exec Action Add

A une étape S01, un opérateur se connecte à la plateforme TPF et demande l’exécution d’une action Aj. La plateforme TPF transfère cette demande d’exécution au service orchestrateur ORC.At step S01, an operator connects to the TPF platform and requests the execution of an action Aj. The TPF platform transfers this execution request to the ORC orchestrator service.

S02 - Prepare Action AjS02 - Prepare Action Add

A une étape S02, le service orchestrateur demande au service de gouvernance GOV du module HSM1 de préparer l’action Aj. Le service de gouvernance détermine alors la règle de gouvernance applicable et les opérateurs OPi dont l’approbation devra être recueillie pour l’exécution de l’action. On supposera dans ce qui suit, dans un souci de simplification de l’exposé, que l’accord d’un seul opérateur OPI, équipé d’un dispositif de sécurité personnel PSDi, doit ici être requis. Toutefois, les étapes qui sont décrites dans ce qui suit peuvent être réalisées en même temps avec plusieurs opérateurs différents, et donc plusieurs dispositifs de sécurité personnel PSDi, si la règle de gouvernance applicable nécessite plusieurs approbations.At step S02, the orchestrator service requests the governance service GOV of the HSM1 module to prepare the action Aj. The governance service then determines the applicable governance rule and the OPi operators whose approval must be obtained for the execution of the action. In the following, for the sake of simplification of the presentation, it will be assumed that the agreement of a single OPI operator, equipped with a PSDi personal security device, must be required here. However, the steps described below can be carried out simultaneously with several different operators, and therefore several PSDi personal security devices, if the applicable governance rule requires several approvals.

S03 - k = ECDH (PSDi, HSM1)S03 - k = ECDH (PSDi, HSM1)

A une étape S03, une poignée de main (« handshake ») est réalisée entre le dispositif de sécurité personnel PSDi et le service de gouvernance GOV, afin de définir entre le dispositif de sécurité personnel PSDi et le module HSM1 une clé de session éphémère k qui permettra au service de gouvernance GOV d’envoyer au dispositif PSDi, via le service orchestrateur ORC, des données chiffrées au moyen de cette clé de session.At step S03, a handshake is performed between the PSDi personal security device and the GOV governance service, in order to define between the PSDi personal security device and the HSM1 module an ephemeral session key k which will allow the GOV governance service to send to the PSDi device, via the ORC orchestrator service, data encrypted using this session key.

Dans un mode de réalisation, cette étape consiste en un échange de clés Diffie-Hellman basé sur les courbes elliptiques ECDH (Elliptic Curve Diffie–Hellman), au cours duquel les deux entités PSDi et HSM1 s’échangent des clés publiques éphémères et des certificats éphémères, chacune combinant une clé privée éphémère qui lui est propre avec la clé publique éphémère ou statique de l’autre entité pour obtenir la clé de session éphémère k. De plus, le module HSM1 peut avoir été configuré de manière à connaître la clé publique du dispositif de sécurité personnel PSDi, ce qui lui permet de vérifier que la signature présente dans le certificat éphémère du dispositif PSDi, générée à partir de la clé privée statique de ce dernier, est valide.In one embodiment, this step consists of an ECDH (Elliptic Curve Diffie–Hellman) based Diffie-Hellman key exchange, during which the two entities PSDi and HSM1 exchange ephemeral public keys and ephemeral certificates, each combining an ephemeral private key of its own with the ephemeral or static public key of the other entity to obtain the ephemeral session key k. In addition, the HSM1 module may have been configured to know the public key of the PSDi personal security device, which allows it to verify that the signature present in the ephemeral certificate of the PSDi device, generated from the static private key of the latter, is valid.

Dans une variante, cette étape met en œuvre le procédé « Noise Protocol Framework » (http://www.noiseprotocol.org/noise.html) avec la courbe elliptique Curve25519, une fonction de chiffrement AES-GCM utilisant une clé AES (Advanced Encryption Standard) et l’algorithme de chiffrement GCM (Galois/Counter Mode), et l’algorithme de hachage SHA-256 (Secure Hash Algorithm) sur 256 bits. L’authentification du dispositif PSDi et du module HSM1 est faite au moyen d’une fonction de signature ECDSA (Elliptic Curve Digital Signature Algorithm) et des clés publiques de chaque entité. Dans un mode de réalisation appelé « K Pattern », la poignée de main « handshake » est du type à sens unique (« one way handshake pattern ») entre le dispositif de sécurité personnel PSDi et le service orchestrateur ORC.In a variant, this step implements the “Noise Protocol Framework” method (http://www.noiseprotocol.org/noise.html) with the Curve25519 elliptic curve, an AES-GCM encryption function using an AES (Advanced Encryption Standard) key and the GCM (Galois/Counter Mode) encryption algorithm, and the SHA-256 (Secure Hash Algorithm) hash algorithm on 256 bits. The authentication of the PSDi device and the HSM1 module is done by means of an ECDSA (Elliptic Curve Digital Signature Algorithm) signature function and the public keys of each entity. In an embodiment called “K Pattern”, the handshake is of the one-way handshake pattern between the PSDi personal security device and the ORC orchestrator service.

S04 – PREPARE [V1,V2,...VN]Aj ; GEN CHALLENGES04 – PREPARE [V1,V2,...V N ]Aj ; GEN CHALLENGE

A une étape S04, le service de gouvernance GOV prépare un ensemble de vues V1 à VNnécessaires à la mise en œuvre du processus d’approbation de l’action Aj par l’opérateur OPi. Par ailleurs, il génère un challenge au moyen d’un générateur de mots binaires aléatoires.At step S04, the governance service GOV prepares a set of views V1 to V N necessary for the implementation of the approval process of the action Aj by the operator OPi. Furthermore, it generates a challenge using a random binary word generator.

S05 – ENC(V1,k), ENC(V2,k),... ENC(VN,k), ENC(CHALLENGE, k)S05 – ENC(V1,k), ENC(V2,k),... ENC(V N ,k), ENC(CHALLENGE, k)

A une étape S05, le service de gouvernance GOV chiffre chaque vue V1 à VNavec la clé de session éphémère k. Le service de gouvernance GOV chiffre également le challenge avec la clé k, comme s’il s’agissait d’une vue supplémentaire VN+1. La fonction de chiffrement ENC utilisée est par exemple la fonction AES ou la fonction AES-GCM.At step S05, the governance service GOV encrypts each view V1 to VN with the ephemeral session key k. The governance service GOV also encrypts the challenge with the key k, as if it were an additional view VN +1 . The ENC encryption function used is for example the AES function or the AES-GCM function.

S06 – Send ENC(V1,k), ... ENC(VN,k), ENC(CHALLENGE,k)S06 – Send ENC(V1,k), ... ENC(V N ,k), ENC(CHALLENGE,k)

A une étape S06, le service de gouvernance GOV envoie au service orchestrateur ORC chacune des vues chiffrées ainsi que le challenge chiffré.At step S06, the governance service GOV sends each of the encrypted views as well as the encrypted challenge to the orchestrator service ORC.

S10 – CUT{ENC(Vi,k)} = DT1//DT2//DT3//..//DTnS10 – CUT{ENC(Vi,k)} = DT1//DT2//DT3//..//DTn

A une étape S10, le service orchestrateur ORC découpe chaque vue Vi chiffrée en une pluralité de blocs de données DT1, DT2… DTn, ou « morceaux » (« chunk ») de la vue Vi.At a step S10, the orchestrator service ORC cuts each encrypted view Vi into a plurality of data blocks DT1, DT2… DTn, or “chunks” of the view Vi.

S11 – [DTi, P1] (i = 1→n)S11 – [DTi, P1] (i = 1→n)

A une étape S11, le service orchestrateur ORC initie la première étape d’une boucle « VIEWLOOP(Vi) » d’envoi au dispositif de sécurité personnel PSDi d’une vue Vi, à commencer par la première vue V1 de la série de vues. Le service orchestrateur ORC envoie au dispositif de sécurité personnel PSDi le premier bloc de donnée DT1 de l’ensemble de blocs de données DTi issus du découpage de la vue Vi chiffrée au cours de la première exécution de la étape S11, puis les blocs de données suivants au cours des itérations suivantes. Chaque bloc de données DTi est envoyé dans une commande APDU comprenant le champ P1 qui peut être égal à 80 ou 00 comme vu plus haut.At a step S11, the orchestrator service ORC initiates the first step of a loop “VIEWLOOP(Vi)” for sending a view Vi to the personal security device PSDi, starting with the first view V1 of the series of views. The orchestrator service ORC sends to the personal security device PSDi the first data block DT1 of the set of data blocks DTi resulting from the division of the encrypted view Vi during the first execution of step S11, then the following data blocks during the following iterations. Each data block DTi is sent in an APDU command including the field P1 which can be equal to 80 or 00 as seen above.

S12 – SW1, SW2 = 9000S12 – SW1, SW2 = 9000

A une étape S12, le dispositif de sécurité personnel PSDi renvoie une réponse APDU égale à 9000, qui confirme la bonne réception du bloc de données DTi.At step S12, the PSDi personal safety device returns an APDU response equal to 9000, which confirms the correct reception of the DTi data block.

S13 - P1 = 80(MORE) or 00 (END)?S13 - P1 = 80(MORE) or 00 (END)?

A une étape S13, le dispositif de sécurité personnel PSDi détermine si le champ P1 est égal à 80 ou à 00. Si P1 est égal à 80, le dispositif de sécurité personnel PSDi réitère l’étape S11 pour recevoir un nouveau bloc de données DTi, et ainsi de suite jusqu’à ce que tous les blocs de données DT1 à DTNaient été reçus. La répétition des étapes S11, S12 et S13 forme la boucle « VIEWLOOP(Vi) ». Lorsque P1 est égal à 00, tous les blocs de données DTi ont été reçus et le dispositif de sécurité personnel PSDi sort de la boucle VIEWLOOP pour la vue Vi considérée.In a step S13, the personal security device PSDi determines whether the field P1 is equal to 80 or 00. If P1 is equal to 80, the personal security device PSDi repeats step S11 to receive a new data block DTi, and so on until all data blocks DT1 to DT N have been received. The repetition of steps S11, S12 and S13 forms the loop “VIEWLOOP(Vi)”. When P1 is equal to 00, all data blocks DTi have been received and the personal security device PSDi exits the VIEWLOOP loop for the view Vi considered.

S14 – Vi=DEC((DT1//DT2//DT3//...//DTn), k)S14 – Vi=DEC((DT1//DT2//DT3//...//DTn), k)

A une étape suivante S14, le dispositif de sécurité personnel PSDi concatène l’ensemble des blocs de données DTi reçus, pour reconstituer la vue Vi chiffrée ENC(Vi, k), et décode la vue chiffrée au moyen de la clé de session éphémère k, pour obtenir la vue Vi. Le dispositif de sécurité personnel PSDi affiche ensuite cette vue.In a next step S14, the personal security device PSDi concatenates all the received data blocks DTi, to reconstruct the encrypted view Vi ENC(Vi, k), and decodes the encrypted view using the ephemeral session key k, to obtain the view Vi. The personal security device PSDi then displays this view.

Dans certains modes de réalisation, la taille des vues à envoyer, ou de certaines vues à envoyer, est suffisamment petite pour ne former qu’un seul bloc de données DT1. Dans ce cas l’étape S10 n’est pas réalisée, l’étape S11 n’est exécutée qu’une seule fois pour l’envoi de l’unique bloc de données, et l’étape S14 ne comprend que l’opération de déchiffrement du bloc de données.In some embodiments, the size of the views to be sent, or of some views to be sent, is small enough to form only one data block DT1. In this case, step S10 is not performed, step S11 is executed only once for sending the single data block, and step S14 only comprises the operation of decrypting the data block.

U10 – USR CHOICEU10 – USR CHOICE

A une étape U10, l’utilisateur USRi effectue un choix dans la vue affichée par son dispositif de sécurité personnel PSDi. Ce choix consiste par exemple, à appuyer sur un bouton matériel ou sur un bouton tactile qui est affiché dans la vue, par exemple un bouton « précédent » s’il veut revenir à la vue précédente, « suivant » s’il veut la vue « suivante », « refuser » s’il refuse de donner son accord sur la réalisation de l’action, ou au contraire « accepter » s’il l’accepte. Divers autres moyens de réception de l’approbation de l’utilisateur par le dispositif de sécurité personnel pourraient bien entendu être prévus, comme une approbation vocale au moyen d’un mot ou d’une phrase de passe spécifique avec de préférence identification de la voix de l’utilisateur, la saisie manuelle d’un mot de passe, etc. Il sera par ailleurs noté que le choix entre « refuser » et « accepter » n’est généralement proposé que sur la dernière vue de la série de vues. Les différentes vues ayant été chaînées par le service de gouvernance GOV, les choix « précédent » et « suivant » désignent sans ambiguïté la prochaine vue devant être affichée par le dispositif de sécurité personnel PSDi.At a step U10, the user USRi makes a choice in the view displayed by his personal security device PSDi. This choice consists, for example, of pressing a hardware button or a touch button that is displayed in the view, for example a “previous” button if he wants to return to the previous view, “next” if he wants the “next” view, “refuse” if he refuses to give his consent to carry out the action, or on the contrary “accept” if he accepts it. Various other means of receiving the user’s approval by the personal security device could of course be provided, such as voice approval by means of a specific word or passphrase, preferably with identification of the user’s voice, manual entry of a password, etc. It will also be noted that the choice between “refuse” and “accept” is generally only offered on the last view in the series of views. Since the different views have been chained by the GOV governance service, the “previous” and “next” choices unambiguously designate the next view to be displayed by the PSDi personal security device.

S15 – USR CHOICE = New Vi or REFUSE or AGREE ?S15 – USR CHOICE = New Vi or REFUSED or AGREE?

A une étape S15, le dispositif de sécurité personnel PSDi détermine si le choix que l’utilisateur a fait à l’étape U10 consiste en une demande d’affichage d’une nouvelle vue ou si ce choix consiste dans une décision finale d’acceptation ou de refus qui met fin au processus de décision. Si ce choix consiste en une demande d’affichage d’une nouvelle vue (« New Vi »), le dispositif PSDi va à une étape S16A. Si l’utilisateur refuse l’action (« REFUSE »), le dispositif PSDi va à une étape S16B. Si l’utilisateur accepte de réaliser l’action (« AGREE »), le dispositif PSDi va à une étape S16C.In a step S15, the personal security device PSDi determines whether the choice that the user made in step U10 consists of a request to display a new view or whether this choice consists of a final decision of acceptance or refusal which ends the decision process. If this choice consists of a request to display a new view (“New Vi”), the PSDi device goes to a step S16A. If the user refuses the action (“REFUSE”), the PSDi device goes to a step S16B. If the user agrees to perform the action (“AGREE”), the PSDi device goes to a step S16C.

S16A – Next Action = [i, 9000]S16A – Next Action = [i, 9000]

A l’étape S16A, le dispositif de sécurité personnel PSDi détermine quel est le rang i de la prochaine vue devant être affichée à l’utilisateur et indique ce choix au service orchestrateur ORC en lui envoyant une réponse APDU « Next Action » dont le champ de données indique le rang i de la nouvelle vue Vi demandée et dont les champs SW1, SW2 sont égaux à 9000 pour indiquer que la vue précédente a été bien reçue et a été traitée. Le procédé est ensuite renvoyé à l’étape S10 où le service orchestrateur ORC découpe en blocs de données DTi la nouvelle vue demandée, puis répète la boucle « VIEWLOOP(Vi) ». Les étapes S14, U10 et S15 sont de nouveau exécutées. La répétition de la boucle « VIEWLOOP(Vi) » et des étapes S14, U10 et S15 jusqu’à la décision finale de l’utilisateur forme une boucle « ACTIONLOOP(Ai) » d’envoi au dispositif de sécurité personnel PSDi de toutes les vues de la série de vues associée à l’action Ai qui ont été demandées par l’utilisateur. Il sera noté que certaines vues de la série de vues peuvent n’être jamais affichées en fonction des choix et des chemins empruntés par l’utilisateur pour arriver à la vue au moyen de laquelle il prend une décision finale.In step S16A, the personal security device PSDi determines the rank i of the next view to be displayed to the user and indicates this choice to the orchestrator service ORC by sending it a “Next Action” APDU response whose data field indicates the rank i of the new requested view Vi and whose fields SW1, SW2 are equal to 9000 to indicate that the previous view has been received and has been processed. The method is then returned to step S10 where the orchestrator service ORC divides the new requested view into data blocks DTi, then repeats the “VIEWLOOP(Vi)” loop. Steps S14, U10 and S15 are executed again. The repetition of the loop “VIEWLOOP(Vi)” and steps S14, U10 and S15 until the user makes a final decision forms an “ACTIONLOOP(Ai)” loop for sending to the personal security device PSDi all the views of the series of views associated with the action Ai that have been requested by the user. It will be noted that some views of the series of views may never be displayed depending on the choices and paths taken by the user to arrive at the view by means of which he makes a final decision.

S16B – SW1, SW2 = REFUSES16B – SW1, SW2 = REFUSE

A l’étape S16B, le dispositif de sécurité personnel PSDi envoie au service orchestrateur ORC une réponse APDU sans champ de données dans laquelle les champs SW1, SW2 sont portés à une valeur déterminée qui signifie que l’utilisateur refuse l’action. Le service orchestrateur ORC en informe le service de gouvernance GOV qui décide si ce refus provoque ou non l’annulation de l’action Aj. En effet dans le cas d’une action associée à une règle de gouvernance qui prévoit que l’accord d’une majorité simple d’opérateurs est suffisant pour réaliser l’action, le refus d’un opérateur n’entraîne pas nécessairement l’annulation de l’action.In step S16B, the personal security device PSDi sends to the orchestrator service ORC an APDU response without data field in which the fields SW1, SW2 are set to a determined value which means that the user refuses the action. The orchestrator service ORC informs the governance service GOV which decides whether or not this refusal causes the cancellation of the action Aj. Indeed, in the case of an action associated with a governance rule which provides that the agreement of a simple majority of operators is sufficient to carry out the action, the refusal of an operator does not necessarily lead to the cancellation of the action.

S16C – Next Action = [N+1, 9000]S16C – Next Action = [N+1, 9000]

A l’étape S16, le dispositif de sécurité personnel PSDi envoie au service orchestrateur ORC une réponse APDU qui lui demande de lui adresser une vue de rang N+1. Cette vue est fictive puisque la série de vues ne comprend que N vues. Cette vue fictive n’est rien d’autre que le challenge considéré comme une dernière vue de la série de vues.At step S16, the PSDi personal security device sends an APDU response to the ORC orchestrator service requesting it to send it a view of rank N+1. This view is fictitious since the series of views only includes N views. This fictitious view is nothing other than the challenge considered as a last view of the series of views.

S110 – CUT{ENC(CHALLENGE,k)} = DT1//DT2//DT3//..//DTnS110 – CUT{ENC(CHALLENGE,k)} = DT1//DT2//DT3//..//DTn

A une étape S110, si la longueur du challenge dépasse la taille prédéterminée d’un bloc de données DTi, le service orchestrateur ORC découpe le challenge chiffré en une pluralité de blocs de données DT1, DT2… DTn, ou « morceaux » (« chunk ») du challenge chiffré. Dans le présent mode de réalisation, le challenge chiffré est en effet traité de la même manière qu’une vue, en accord avec ce qui a été indiqué au sujet de l’étape S16C.In a step S110, if the length of the challenge exceeds the predetermined size of a data block DTi, the orchestrator service ORC cuts the encrypted challenge into a plurality of data blocks DT1, DT2… DTn, or “chunks” of the encrypted challenge. In the present embodiment, the encrypted challenge is in fact treated in the same way as a view, in accordance with what has been indicated regarding step S16C.

S111 – [DTi, P1] (i = 1→n)S111 – [DTi, P1] (i = 1→n)

A une étape S111, le service orchestrateur ORC initie la première étape d’une boucle « CHALOOP » d’envoi du challenge au dispositif PSDi. Au cours de la première étape S11, le service orchestrateur ORC envoie au dispositif PSDi le premier bloc de données DTi de l’ensemble de blocs de données issus du découpage du challenge. Le bloc de données DTi est envoyé dans une commande APDU comprenant le champ P1 qui peut être égal à 80 ou 00.At a step S111, the ORC orchestrator service initiates the first step of a “CHALOOP” loop for sending the challenge to the PSDi device. During the first step S11, the ORC orchestrator service sends to the PSDi device the first DTi data block of the set of data blocks resulting from the division of the challenge. The DTi data block is sent in an APDU command including the P1 field which can be equal to 80 or 00.

S112 – SW1, SW2 = 9000S112 – SW1, SW2 = 9000

A une étape S112, le dispositif PSDi renvoie une réponse APDU égale à 9000, qui confirme la bonne réception du bloc de données DTi.At a step S112, the PSDi device returns an APDU response equal to 9000, which confirms the correct reception of the DTi data block.

S113 - P1 = 80(MORE) or 00 (END)?S113 - P1 = 80(MORE) or 00 (END)?

A une étape S113, le dispositif PSDi détermine si le champ P1 est égal à 80 ou à 00. Si P1 est égal à 80, le dispositif PSDi réitère l’étape S11 pour recevoir un nouveau bloc de données DTi de rang i=i+1, et ainsi de suite jusqu’à ce que tous les blocs de données DT1 à DTNaient été reçus. La répétition des étapes S111, S112 et S113 forme la boucle « CHALOOP ». Lorsque P1 est égal à 00, tous les blocs de données DTi ont été reçus et le dispositif de sécurité personnel PSDi sort de la boucle CHALOOP pour aller à une étape S114.In a step S113, the PSDi device determines whether the field P1 is equal to 80 or 00. If P1 is equal to 80, the PSDi device repeats step S11 to receive a new data block DTi of rank i=i+1, and so on until all data blocks DT1 to DT N have been received. The repetition of steps S111, S112 and S113 forms the “CHALOOP” loop. When P1 is equal to 00, all data blocks DTi have been received and the PSDi personal safety device exits the CHALOOP loop to go to a step S114.

S114 – CHALLENGE=DEC((DT1//DT2//DT3//..//DTn), k)S114 – CHALLENGE=DEC((DT1//DT2//DT3//..//DTn), k)

A l’étape S114, le dispositif de sécurité personnel PSDi concatène l’ensemble des blocs de données DTi reçus pour reconstituer le challenge chiffré, et le déchiffre au moyen de la clé k.In step S114, the personal security device PSDi concatenates all of the received data blocks DTi to reconstruct the encrypted challenge, and decrypts it using the key k.

Dans certains modes de réalisations la taille du challenge est suffisamment petite pour ne former qu’un seul bloc de données DT1. Dans ce cas l’étape S110 n’est pas réalisée, l’étape S111 n’est exécutée qu’une seule fois et l’étape S114 ne comprend que l’opération de déchiffrement de l’unique bloc de données.In some embodiments the size of the challenge is small enough to form only a single data block DT1. In this case step S110 is not performed, step S111 is executed only once and step S114 only comprises the operation of decrypting the single data block.

S20 – SIGN=SIGN(CHALLENGE)dPiS20 – SIGN=SIGN(CHALLENGE)dPi

A une étape S20 (FIG. 6), le dispositif de sécurité personnel PSDi génère une réponse au challenge. Cette réponse est ici une signature du challenge avec sa clé privée dPi, par exemple au moyen de la fonction de signature ECDSA.At a step S20 ( FIG. 6 ), the PSDi personal security device generates a response to the challenge. This response is here a signature of the challenge with its private key dPi, for example using the ECDSA signature function.

S21 – [SIGN, SW1, SW2]S21 – [SIGN, SW1, SW2]

A une étape S21, le dispositif de sécurité personnel PSDi envoie une réponse APDU comprenant dans son champ de données la réponse au challenge, ici la signature SIGN ou une partie de celle-ci, accompagnée des octets SW1, SW2. Comme indiqué plus haut, si les octets SW1, SW2 sont égaux à 6100, cela signifie que les données de signature SIGN figurant dans le champ de données de la réponse APDU ne sont pas complètes et que d’autres données doivent être envoyées. Lorsque les octets SW1, SW2 sont égaux à 9000, cela signifie que toutes les données ont été envoyées.At a step S21, the PSDi personal security device sends an APDU response including in its data field the response to the challenge, here the SIGN signature or a part thereof, accompanied by the bytes SW1, SW2. As indicated above, if the bytes SW1, SW2 are equal to 6100, this means that the SIGN signature data in the data field of the APDU response is not complete and that other data must be sent. When the bytes SW1, SW2 are equal to 9000, this means that all the data has been sent.

S22 - SW1, SW2 = 6100 or 9000 ?S22 - SW1, SW2 = 6100 or 9000?

A une étape S22, le service orchestrateur ORC détermine si SW1, SW2 est égal à 6100 ou 9000. Si SW1, SW2 est égal à 6100, le service orchestrateur ORC va à une étape S23. Si SW1, SW2 est égal à 9000 le service orchestrateur ORC va à une étape S30.At step S22, the ORC orchestrator service determines whether SW1, SW2 is equal to 6100 or 9000. If SW1, SW2 is equal to 6100, the ORC orchestrator service goes to step S23. If SW1, SW2 is equal to 9000, the ORC orchestrator service goes to step S30.

S23 – GET RESPONSE (00C0000000)S23 – GET RESPONSE (00C0000000)

A l’étape S23, le service orchestrateur ORC envoie au dispositif PSDi la commande GET RESPONSE codée « 00C0000000 », ce qui signifie qu’il attend que le dispositif PSDi lui envoie la prochaine réponse avec un nombre maximum d’octets. Le service orchestrateur ORC retourne ensuite à l’étape S21. La répétition des étapes S21, S22 et S23 forme une boucle SIGNLOOP de réception par le service orchestrateur ORC de la signature SIGN, par le biais de réponses à des commandes GET RESPONSE.In step S23, the ORC orchestrator service sends the GET RESPONSE command coded “00C0000000” to the PSDi device, which means that it is waiting for the PSDi device to send it the next response with a maximum number of bytes. The ORC orchestrator service then returns to step S21. The repetition of steps S21, S22 and S23 forms a SIGNLOOP loop for reception by the ORC orchestrator service of the SIGN signature, via responses to GET RESPONSE commands.

S30 – Send {SIGN}S30 – Send {SIGN}

A une étape S30, le service orchestrateur ORC a reçu l’intégralité de la signature SIGN et l’envoie au service de gouvernance GOV du module HSM1.At step S30, the ORC orchestrator service has received the entire SIGN signature and sends it to the GOV governance service of the HSM1 module.

S31 – INITIATE Action AjS31 – INITIATE Action Add

A une étape S31, le service de gouvernance GOV du module HSM1, après avoir vérifié que la signature SIGN est valide au moyen de la clé publique du dispositif de sécurité personnel PSDi, engage l’initialisation de l’action Aj si les autres conditions prévues par la règle de gouvernance associée à l’action Aj sont satisfaites. Si l’une de ces conditions est de recevoir l’accord de plusieurs opérateurs, la réception de l’accord d’un seul utilisateur ne sera pas suffisante pour engager l’action Aj.At a step S31, the governance service GOV of the HSM1 module, after having verified that the signature SIGN is valid using the public key of the personal security device PSDi, initiates the initialization of the action Aj if the other conditions provided for by the governance rule associated with the action Aj are satisfied. If one of these conditions is to receive the agreement of several operators, receiving the agreement of a single user will not be sufficient to initiate the action Aj.

Il découle de ce qui précède que selon le mode de réalisation qui vient d’être décrit, l’envoi par le dispositif de sécurité personnel PSDi d’une signature valide du challenge est utilisé pour faire savoir au service de gouvernance GOV que l’utilisateur a donné son accord pour la réalisation de l’action Aj, de sorte qu’aucun message spécifique est nécessaire pour marquer l’accord de l’utilisateur.It follows from the above that according to the embodiment just described, the sending by the personal security device PSDi of a valid signature of the challenge is used to inform the governance service GOV that the user has given his agreement for the performance of the action Aj, so that no specific message is necessary to mark the user's agreement.

Comme indiqué plus haut, dans certains modes de réalisation aucun challenge n’est envoyé aux dispositifs de sécurité personnels PSDi participant au processus d’approbation de l’action. Leur approbation peut alors être accompagnée de l’envoi d’une donnée qui leur est propre, ou consister dans l’envoi d’une donnée qui leur est propre, notamment une donnée secrète, sous forme chiffrée ou non, comme leur clé maître, une fraction de celle-ci, ou une donnée dérivée de leur clé maître. Dans d’autres modes de réalisation, on combine l’envoi d’une réponse à un challenge avec l’envoi d’une donnée propre aux dispositifs de sécurité personnels, notamment une donnée secrète.As indicated above, in certain embodiments, no challenge is sent to the PSDi personal security devices participating in the action approval process. Their approval may then be accompanied by the sending of data specific to them, or consist of the sending of data specific to them, in particular secret data, in encrypted or unencrypted form, such as their master key, a fraction thereof, or data derived from their master key. In other embodiments, the sending of a response to a challenge is combined with the sending of data specific to the personal security devices, in particular secret data.

En résumé, le procédé de gestion de processus d’approbation d’action qui vient d’être décrit décharge les dispositifs de sécurité personnels PSDi de la nécessité de générer les vues nécessaires à la conduite du processus d’approbation d’une action. Les dispositifs de sécurité personnels ne remplissent plus qu’une fonction passive d’affichage et de collecte des actions des opérateurs.In summary, the action approval process management method just described relieves PSDi personal security devices of the need to generate the views necessary to conduct the action approval process. Personal security devices now only fulfill a passive function of displaying and collecting operator actions.

En plus de ces mesures, selon un mode de réalisation du procédé, les vues sont conçues selon une structure de vue qui réduit considérablement leur encombrement et réduit de manière correspondante le nombre de blocs de données DTi à transmettre aux dispositifs PSDi pour la transmission de chaque vue. Un exemple d‘une structure de vue est montré sur laFIG. 7. La vue comprend des conteneurs CT et des objets OB. Un conteneur CT peut comprendre une pluralité d’objets OB mais peut aussi comprendre un autre conteneur comprenant lui-même des objets.In addition to these measures, according to one embodiment of the method, the views are designed according to a view structure which considerably reduces their footprint and correspondingly reduces the number of DTi data blocks to be transmitted to the PSDi devices for the transmission of each view. An example of a view structure is shown in the FIG. 7 The view includes CT containers and OB objects. A CT container may include a plurality of OB objects but may also include another container itself including objects.

Dans l’exemple représenté, la vue comprend un conteneur haut CT1, un conteneur milieu CT2 et un conteneur bas CT3. Dans cet exemple, le conteneur CT1 reçoit des objets OB1 et OB10, le conteneur CT2 reçoit des objets OB7, OB8 et l’objet OB10, le conteneur CT3 reçoit des objets OB2, OB3, OB4.In the example shown, the view includes a top container CT1, a middle container CT2 and a bottom container CT3. In this example, container CT1 receives objects OB1 and OB10, container CT2 receives objects OB7, OB8 and object OB10, container CT3 receives objects OB2, OB3, OB4.

Chaque vue construite conformément à cette structure de vue est matérialisée sous une forme binaire par un descripteur constitué par la concaténation de descripteurs de conteneurs et de descripteurs des objets contenus dans les conteneurs. LaFIG. 8montre à titre non limitatif un exemple de descripteur d’un conteneur CTi contenant des objets OBi, OBj, OBk, OBl.Each view constructed according to this view structure is materialized in binary form by a descriptor consisting of the concatenation of container descriptors and descriptors of the objects contained in the containers. FIG. 8 shows, without limitation, an example of a descriptor of a CTi container containing objects OBi, OBj, OBk, OBl.

Le descripteur contient tout d’abord un champ d’identification du conteneur [CONTAINER CTi] accompagné d’un champ [SIZE, LOCATION] qui indique la taille et l’emplacement du conteneur dans la vue, puis d’un champ [DATA] dans lequel il est possible de placer des données. Le descripteur du conteneur contient ensuite des descripteurs des objets que le conteneur contient. Le descripteur de chaque objet, par exemple l’objet OBi, contient par exemple :The descriptor first contains a container identification field [CONTAINER CTi] accompanied by a field [SIZE, LOCATION] which indicates the size and location of the container in the view, then a field [DATA] in which data can be placed. The container descriptor then contains descriptors of the objects that the container contains. The descriptor of each object, for example the OBi object, contains for example:

- un champ d’identification de l’objet [OBJECT],- an object identification field [OBJECT],

- un champ [SIZE, LOCATION] qui indique la taille et l’emplacement de l’objet dans le conteneur,- a [SIZE, LOCATION] field which indicates the size and location of the object in the container,

- un champ [TEXT] qui indique le texte affiché dans l’objet,- a [TEXT] field which indicates the text displayed in the object,

- un champ [ACTION] qui indique une action devant être effectuée si l’utilisateur exerce une pression sur l’objet (utilisable dans le cas d’un écran tactile), par exemple « vue suivante », «vue précédente », « recevoir le challenge »,- an [ACTION] field which indicates an action to be performed if the user presses the object (usable in the case of a touch screen), for example “next view”, “previous view”, “receive challenge”,

- un champ [DATA] dans lequel il est possible d’insérer des données qui pourront dans certains cas être affichées à côté de données de type texte mais qui pourront dans d’autres cas ne pas être affichées et utilisées pour contrôler des processus. Par exemple, dans un mode de réalisation, on insère le challenge chiffré dans le champ [DATA] d’un objet de type bouton dont le champ [TEXT] invite l’utilisateur à accepter une action Aj, et on programme dans le champ [ACTION] du bouton, l’action « lire le challenge chiffré dans le champ [DATA] » .- a [DATA] field in which it is possible to insert data which may in certain cases be displayed alongside text-type data but which may in other cases not be displayed and used to control processes. For example, in one embodiment, the encrypted challenge is inserted into the [DATA] field of a button-type object whose [TEXT] field invites the user to accept an Aj action, and the action “read the encrypted challenge in the [DATA] field” is programmed in the [ACTION] field of the button.

Au final, la concaténation de tous les descripteurs de conteneurs et de tous les descripteurs d’objets que contient chaque descripteur de conteneur permet d’obtenir un descripteur de vue formant une chaîne binaire de longueur raisonnable. Ce descripteur de vue est chiffré au moyen de la clé k par le service de gouvernance GOV avant d’être envoyé au service orchestrateur ORC et découpé en blocs de données DTi par celui-ci. Lorsque les dispositifs de sécurité personnels ont reconstitué les descripteurs par concaténation des blocs de données DTi et déchiffrement de l’ensemble, il reconstituent la vue en interprétant le descripteur. A cet effet un programme de reconstitution de vue à partir d’un descripteur est prévu dans chaque dispositif de sécurité personnel. Un tel programme occupe un espace mémoire très inférieur à celui qu’occupe un programme classique de génération de vues.Ultimately, the concatenation of all the container descriptors and all the object descriptors contained in each container descriptor produces a view descriptor forming a binary string of reasonable length. This view descriptor is encrypted using the key k by the governance service GOV before being sent to the orchestrator service ORC and divided into DTi data blocks by the latter. When the personal security devices have reconstructed the descriptors by concatenating the DTi data blocks and decrypting the whole set, they reconstruct the view by interpreting the descriptor. For this purpose, a view reconstruction program from a descriptor is provided in each personal security device. Such a program occupies a much smaller memory space than that occupied by a conventional view generation program.

Pour fixer les idées, les figures 9A à 9K montrent des exemples d’objets.To clarify, Figures 9A to 9K show examples of objects.

LaFIG. 9montre un objet de type « bouton » dont le champ [TEXT] est « Yes, Cancel » (« oui supprimer ») et dont le champ [ACTION] indique que le challenge doit être demandé au service orchestrateur ORC (cas d’une action de type « suppression » qui a été acceptée par l’opérateur).There FIG. 9 shows a "button" type object whose [TEXT] field is "Yes, Cancel"("yes,delete") and whose [ACTION] field indicates that the challenge must be requested from the ORC orchestrator service (case of a "delete" type action which has been accepted by the operator).

LaFIG. 9montre un objet de type « bouton d’appui long » dont le champ [TEXT] est « Hold to Sign » (« presser longuement pour signer ») et dont le champ [ACTION] indique que le challenge doit être demandé au service orchestrateur (cas d’une action de type « signer une transaction » qui a été acceptée par l’opérateur).There FIG. 9 shows a "long press button" type object whose [TEXT] field is "Hold to Sign" and whose [ACTION] field indicates that the challenge must be requested from the orchestrator service (case of an action of the "sign a transaction" type which has been accepted by the operator).

LaFIG. 9montre un objet de type « texte seul » dont le champ [TEXT] est « Whitelist creation canceled » (« annulation de la création de la liste blanche »).There FIG. 9 shows a "text only" object whose [TEXT] field is "Whitelist creation canceled".

LaFIG. 9montre un objet de type « valeur de champ » (« Tag Value ») dont le champ [TEXT] est « number of addresses » soit « nombre d’adresses », et dont le champ [DATA] contient ici la valeur d’une variable représentative d’un nombre d’adresses, ici la valeur « 24 ».There FIG. 9 shows an object of type "field value"("TagValue") whose [TEXT] field is "number of addresses", and whose [DATA] field here contains the value of a variable representing a number of addresses, here the value "24".

LaFIG. 9montre un objet de type « barre de navigation » offrant trois options « annuler » « vue précédente » et « vue suivante » et dont le champ [ACTION] définit trois actions différentes correspondant à chacune de ces options.There FIG. 9 shows a "navigation bar" type object offering three options "cancel", "previous view" and "next view", and whose [ACTION] field defines three different actions corresponding to each of these options.

LaFIG. 9montre un objet de type « barre de texte avec icône » dont le champ [TEXT] est « Removed addresses » soit « adresses supprimées ».There FIG. 9 shows an object of type "text bar with icon" whose [TEXT] field is "Removed addresses".

LaFIG. 9montre un objet de type « barre de bouton gauche dont le champ [TEXT] est « Whitelist edition» soit « édition de la liste blanche » et dont le champ [ACTION] est « vue précédente ».There FIG. 9 shows an object of type "left button bar whose [TEXT] field is "Whitelist edition" and whose [ACTION] field is "previous view".

LaFIG. 9montre un objet de type « barre d’indication de page » dont le champ [TEXT] est « of » et dont le champ [DATA] contient la variable « numéro de la page (ici « 2 ») et la variable « nombre de page » (ici « 14 »).There FIG. 9 shows an object of type "page indicator bar" whose [TEXT] field is "of" and whose [DATA] field contains the variable "page number" (here "2") and the variable "page number" (here "14").

LaFIG. 9montre un objet de type « Bouton de fractionnement » dont le champ [TEXT] contient les mots « Cancel » (« Annuler ») et « Skip » (« sauter ») et dont le champ [ACTION] définit les deux actions correspondantes.There FIG. 9 shows an object of type "Split Button" whose [TEXT] field contains the words "Cancel" and "Skip" and whose [ACTION] field defines the two corresponding actions.

LaFIG. 9montre un objet de type « vue » dont le champ [TEXT] est vide.There FIG. 9 shows an object of type "view" whose [TEXT] field is empty.

LaFIG. 9montre un objet de type QR Code dont le champ [TEXT] est vide et dont le champ [DATA] contient la valeur numérique du QR code.There FIG. 9 shows a QR Code type object whose [TEXT] field is empty and whose [DATA] field contains the numeric value of the QR code.

Toujours pour fixer les idées, les figures 10 et 11 montrent des exemples simplifiés de vues chaînées qui peuvent être générées par le module HSM1 au moyen de la structure de vue qui vient d’être décrite.To further clarify the ideas, Figures 10 and 11 show simplified examples of chained views that can be generated by the HSM1 module using the view structure just described.

LaFIG. 10montre une vue V01 qui est chaînée à une vue finale V02 invitant l’utilisateur à accepter la suppression de l’invitation d’un administrateur gestionnaire de comptes de cryptoactifs. La vue V01 est également chaînée à une vue intermédiaire V03. La vue V03 est chaînée à une vue finale V03 invitant l’utilisateur à prendre une décision concernant le fait d’inviter cet administrateur.There FIG. 10 shows a view V01 that is chained to a final view V02 inviting the user to accept the removal of the invitation of a crypto-asset account manager administrator. View V01 is also chained to an intermediate view V03. View V03 is chained to a final view V03 inviting the user to make a decision about inviting this administrator.

LaFIG. 11montre une vue V05 relative à l’édition d’une nouvelle règle d’administration de comptes de cryptoactifs, qui est chaînée à une vue intermédiaire V06 qui indique les règles de majorité et de quorum pour l’adoption de cette règle. La vue V06 est chaînée à une vue finale V07 invitant l’utilisateur à accepter la règle d’administration.There FIG. 11 shows a view V05 relating to the edition of a new crypto-asset account administration rule, which is chained to an intermediate view V06 which indicates the majority and quorum rules for the adoption of this rule. View V06 is chained to a final view V07 inviting the user to accept the administration rule.

Bien qu’ayant été décrit dans le cadre d’un système de gestion mutualisée de comptes de cryptoactifs, il apparaîtra clairement à l’homme de l’art que le procédé de gestion de processus d’approbation selon la présente divulgation est applicable à la gestion de tout type de processus d’approbation d’action, dans de nombreux domaines d’applications où une décision peut être prise par un groupe de personnes équipées de dispositifs de sécurité personnels. De même, le terme « approbation » ne revêt, à la lumière des exemples cités, aucun caractère limitatif. Notamment, ce terme ne signifie pas seulement qu’une approbation passive est envoyée par les dispositifs de sécurité personnels sollicités. Une approbation peut également consister, comme cela a été vu plus haut, dans le fait de contribuer à la réalisation d’une action, par exemple par l’envoi d’une donnée permettant de réaliser l’action soumise à approbation. Enfin, l’architecture du système qui a été décrite dans ce qui précède est susceptible de modification avec l’évolution des technologies. Notamment, il pourrait être prévu de faire exécuter le programme orchestrateur ORC par le module de sécurité matériel HSM1, ou au moins certaines fonctionnalités de celui-ci telle que la transmission des vues aux dispositifs de sécurité personnels. Dans ce cas le module de sécurité matériel HSM1 peut être considéré comme le serveur exécutant le service orchestrateur, même si d’autres fonctionnalités du service orchestrateur sont exécutées par un serveur distinct du module de sécurité matériel.
Although described in the context of a system for the shared management of cryptoasset accounts, it will be clear to those skilled in the art that the method for managing approval processes according to the present disclosure is applicable to the management of any type of action approval process, in many fields of application where a decision can be taken by a group of people equipped with personal security devices. Similarly, the term "approval" is not, in light of the examples cited, limiting. In particular, this term does not only mean that a passive approval is sent by the requested personal security devices. An approval can also consist, as seen above, in contributing to the performance of an action, for example by sending data allowing the action subject to approval to be performed. Finally, the architecture of the system that has been described in the foregoing is likely to be modified with the evolution of technologies. In particular, it could be intended to have the ORC orchestrator program executed by the HSM1 hardware security module, or at least some of its functionality such as the transmission of views to personal security devices. In this case, the HSM1 hardware security module can be considered as the server running the orchestrator service, even if other functionality of the orchestrator service is executed by a server separate from the hardware security module.

Claims (24)

Procédé de gestion d’un processus d’approbation d’une action par au moins un utilisateur (USR), dans lequel le processus d’approbation de l’action est associé à une série de vues à l’attention de l’utilisateur, le procédé étant mis en œuvre au moyen d’un système comprenant :
- un module de sécurité matériel (HSM1, GOV), pour gouverner le processus d’approbation et initier la réalisation de l’action après son approbation par l’utilisateur, et
- un dispositif de sécurité personnel (PSDi) pour afficher des vues de la série de vues et recevoir l’approbation de l’utilisateur,
procédé caractérisé en ce qu’il comprend les étapes consistant à :
- prévoir un service orchestrateur (ORC) exécuté par un serveur (SRV1),
- au moyen du module de sécurité matériel (HSM1), générer la série de vues (Vi) du processus d’approbation et communiquer la série de vues au service orchestrateur (ORC), et
- au moyen du service orchestrateur, fournir (S11-S13) au dispositif de sécurité personnel tout ou partie des vues générées par le module de sécurité matériel (HSM1).
Method for managing an approval process for an action by at least one user (USR), in which the approval process for the action is associated with a series of views for the user, the method being implemented by means of a system comprising:
- a hardware security module (HSM1, GOV), to govern the approval process and initiate the execution of the action after its approval by the user, and
- a personal security device (PSDi) to display views from the view series and receive user approval,
process characterized in that it comprises the steps consisting of:
- provide an orchestrator service (ORC) executed by a server (SRV1),
- using the Hardware Security Module (HSM1), generate the series of views (Vi) of the approval process and communicate the series of views to the orchestrating service (ORC), and
- by means of the orchestrator service, provide (S11-S13) to the personal security device all or part of the views generated by the hardware security module (HSM1).
Procédé selon la revendication 1, comprenant l’étape consistant à, au moyen du service orchestrateur, fournir (S11-S13) au dispositif de sécurité personnel une première vue de la série de vues, puis une ou des vues suivantes ou précédentes de la série de vues, à la demande (S16A) du dispositif de sécurité personnel.The method of claim 1, comprising the step of, by means of the orchestrator service, providing (S11-S13) to the personal security device a first view of the series of views, then one or more subsequent or previous views of the series of views, upon request (S16A) from the personal security device. Procédé selon l’une des revendications 1 et 2, dans lequel la fourniture d’au moins une vue au dispositif de sécurité personnel comprend le découpage (S10) de la vue par le service orchestrateur en une pluralité de blocs de données (DTi), l’envoi de chaque bloc de données au dispositif de sécurité personnel, et la reconstitution (S14) de la vue par le dispositif de sécurité personnel lorsque la pluralité de blocs de données a été reçue, par concaténation des blocs de données.Method according to one of claims 1 and 2, in which the provision of at least one view to the personal security device comprises the cutting (S10) of the view by the orchestrator service into a plurality of data blocks (DTi), the sending of each data block to the personal security device, and the reconstitution (S14) of the view by the personal security device when the plurality of data blocks have been received, by concatenation of the data blocks. Procédé selon l’une des revendications 1 à 3, dans lequel le module de sécurité matériel communique chaque vue (Vi) au service orchestrateur sous une forme chiffrée (ENC(Vi, k)) avec une clé de chiffrement (k) connue du dispositif de sécurité personnel mais inconnue du service orchestrateur.Method according to one of claims 1 to 3, in which the hardware security module communicates each view (Vi) to the orchestrator service in an encrypted form (ENC(Vi, k)) with an encryption key (k) known to the personal security device but unknown to the orchestrator service. Procédé selon la revendication 4, comprenant les étapes consistant à :
- au moyen du service orchestrateur, découper (S10) chaque vue dans sa forme chiffrée et fournir au dispositif de sécurité personnel des blocs de données (DTi) chiffrés, et
- au moyen du dispositif de sécurité personnel, concaténer les blocs de données chiffrés reçus et déchiffrer (S14) la chaîne de bits obtenue, pour reconstituer la vue.
A method according to claim 4, comprising the steps of:
- by means of the orchestrator service, cut (S10) each view in its encrypted form and provide the personal security device with encrypted data blocks (DTi), and
- using the personal security device, concatenate the received encrypted data blocks and decrypt (S14) the obtained bit string, to reconstruct the view.
Procédé selon l’une des revendications 1 à 5, dans lequel les vues sont envoyées au dispositif de sécurité personnel (PSDi) par le service orchestrateur (ORC) par l’intermédiaire de commandes de carte à puce du type APDU défini par la norme ISO/IEC 7816.Method according to one of claims 1 to 5, in which the views are sent to the personal security device (PSDi) by the orchestrator service (ORC) via smart card commands of the APDU type defined by the ISO/IEC 7816 standard. Procédé selon l’une des revendications 1 à 6, comprenant une étape d’authentification du dispositif de sécurité personnel par le module de sécurité matériel, l’étape d’authentification comprenant les étapes consistant à :
- au moyen du module de sécurité matériel (GOV, HSM1), envoyer (S111-S113) un challenge au dispositif de sécurité personnel, et
- au moyen du dispositif de sécurité personnel, générer (S20) une réponse (SIGN) au challenge et l’envoyer (S21-S23) au module de sécurité matériel (GOV, HSM1).
Method according to one of claims 1 to 6, comprising a step of authenticating the personal security device by the hardware security module, the authentication step comprising the steps of:
- by means of the hardware security module (GOV, HSM1), send (S111-S113) a challenge to the personal security device, and
- using the personal security device, generate (S20) a response (SIGN) to the challenge and send it (S21-S23) to the hardware security module (GOV, HSM1).
Procédé selon la revendication 7, dans lequel l’étape de calcul et d’envoi d’une réponse au challenge n’est réalisée que si l’utilisateur communique au dispositif de sécurité personnel son approbation sur l’action à effectuer.The method of claim 7, wherein the step of calculating and sending a response to the challenge is only performed if the user communicates to the personal security device his approval of the action to be performed. Procédé selon la revendication 8, dans lequel le module de sécurité matériel est configuré pour que la réception (S30) d’une réponse au challenge valide ait valeur d‘approbation de l’utilisateur quant à la réalisation de l’action.The method of claim 8, wherein the hardware security module is configured so that the receipt (S30) of a valid challenge response has the value of approval by the user as to the performance of the action. Procédé selon l’une des revendication 7 à 9, dans lequel le challenge est envoyé au dispositif de sécurité personnel comme une vue fictive de la série de vues, ayant un rang (N+1) supérieur au rang (N) de la dernière vue de la série de vues.Method according to one of claims 7 to 9, wherein the challenge is sent to the personal security device as a fictitious view of the series of views, having a rank (N+1) higher than the rank (N) of the last view of the series of views. Procédé selon l’une des revendication 7 à 9, dans lequel le challenge est envoyé au dispositif de sécurité personnel en même temps qu’une vue, en tant que donnée ([DATA]) liée à un élément (OBi, OBj, OBk, OBl) se trouvant à l’intérieur de la vue.Method according to one of claims 7 to 9, in which the challenge is sent to the personal security device at the same time as a view, as data ([DATA]) linked to an element (OBi, OBj, OBk, OBl) located inside the view. Procédé selon l’une des revendications 1 à 11, dans lequel le dispositif de sécurité personnel (PSDi) est configuré pour, après avoir reçu l’approbation de l’utilisateur sur l’action à effectuer, envoyer au module de sécurité matériel (GOV, HSM1) tout ou partie d’une donnée secrète du dispositif de sécurité personnel ou une donnée dérivée de cette donnée secrète.Method according to one of claims 1 to 11, in which the personal security device (PSDi) is configured to, after having received the user's approval on the action to be carried out, send to the hardware security module (GOV, HSM1) all or part of a secret data item of the personal security device or data derived from this secret data item. Procédé selon l’une des revendication 1 à 12, dans lequel une vue fournie par le module de sécurité matériel (HSM1) consiste dans un descriptif de la vue selon une structure de vue, le descriptif étant transformé en une chaîne de données binaires.Method according to one of claims 1 to 12, in which a view provided by the hardware security module (HSM1) consists of a description of the view according to a view structure, the description being transformed into a binary data string. Procédé selon la revendication 13, comprenant :
- une étape de découpage (S10) de la chaîne de données binaires formant un descriptif de la vue en une pluralité de blocs de données (DTi),
- l’envoi de chaque bloc de données au dispositif de sécurité personnel,
- la reconstitution (S14) du descriptif de la vue par le dispositif de sécurité personnel lorsque la pluralité de blocs de données a été reçue, par concaténation des blocs de données, et
- la reconstitution de la vue par le dispositif de sécurité personnel, à partir du descriptif de la vue.
The method of claim 13, comprising:
- a step of cutting (S10) the binary data string forming a description of the view into a plurality of data blocks (DTi),
- sending each data block to the personal security device,
- the reconstruction (S14) of the description of the view by the personal security device when the plurality of data blocks has been received, by concatenation of the data blocks, and
- the reconstruction of the view by the personal security device, from the description of the view.
Procédé selon l’une des revendications 13 et 14, dans lequel la structure de vue comprend une pluralité d’objets (OBi, OBj, OBk, OBl).Method according to one of claims 13 and 14, in which the view structure comprises a plurality of objects (OBi, OBj, OBk, OBl). Procédé selon la revendication 15, dans lequel la structure de vue comprend au moins deux conteneurs principaux (CT1-CT3) contenant chacun des objets (OBi, OBj, OBk, OBl).The method of claim 15, wherein the view structure comprises at least two main containers (CT1-CT3) each containing objects (OBi, OBj, OBk, OBl). Procédé selon l’une des revendications 1 à 16, pour l’approbation d’actions d’administration de comptes de cryptoactifs, lesdites actions d'administration comprenant au moins l’une des actions suivantes :
- l’approbation d’une transaction au moyen d’un compte de cryptoactifs,
- l’approbation d’une action de génération d’une clé maître de compte de cryptoactif,
- l’approbation d’actions d’acceptation ou de révocation d’opérateurs aptes à participer à des actions d’administration de comptes de cryptoactifs.
Method according to one of claims 1 to 16, for the approval of administration actions of cryptoasset accounts, said administration actions comprising at least one of the following actions:
- approval of a transaction using a crypto-asset account,
- approval of an action to generate a crypto-asset account master key,
- the approval of actions of acceptance or revocation of operators able to participate in actions of administration of crypto-asset accounts.
Système de gestion d’un processus d’approbation d’une action par au moins un utilisateur (USR), dans lequel le processus d’approbation de l’action est associé à une série de vues prévues à l’attention de l’utilisateur, le système comprenant :
- un module de sécurité matériel (HSM1, GOV), pour gouverner le processus d’approbation et initier la réalisation de l’action après son approbation par l’utilisateur, et
- un dispositif de sécurité personnel (PSDi) pour afficher des vues de la série de vues et recevoir l’approbation de l’utilisateur,
système caractérisé en ce qu’il comprend un service orchestrateur (ORC) exécuté par un serveur (SRV1), en ce que :
- le module de sécurité matériel (HSM1) est configuré pour générer la série de vues (Vi) du processus d’approbation et communiquer la série de vues au service orchestrateur (ORC), et
- le service orchestrateur est configuré pour fournir (S11-S13) au dispositif de sécurité personnel tout ou partie des vues générées par le module de sécurité matériel (HSM1).
System for managing a process of approval of an action by at least one user (USR), in which the process of approval of the action is associated with a series of views provided for the attention of the user, the system comprising:
- a hardware security module (HSM1, GOV), to govern the approval process and initiate the execution of the action after its approval by the user, and
- a personal security device (PSDi) to display views from the view series and receive user approval,
system characterized in that it comprises an orchestrator service (ORC) executed by a server (SRV1), in that:
- the hardware security module (HSM1) is configured to generate the view series (Vi) of the approval process and communicate the view series to the orchestrator service (ORC), and
- the orchestrator service is configured to provide (S11-S13) to the personal security device all or part of the views generated by the hardware security module (HSM1).
Système selon la revendication 18, dans lequel le service orchestrateur est configuré pour découper (S10) au moins une vue en une pluralité de blocs de données (DTi), et envoyer la pluralité de blocs de données au dispositif de sécurité personnel, le dispositif de sécurité personnel étant configuré pour reconstituer (S14) la vue lorsque la pluralité de blocs de données a été reçue, par concaténation des blocs de données.The system of claim 18, wherein the orchestrator service is configured to slice (S10) at least one view into a plurality of data blocks (DTi), and send the plurality of data blocks to the personal security device, the personal security device being configured to reconstruct (S14) the view when the plurality of data blocks have been received, by concatenating the data blocks. Système selon l’une des revendications 18 et 19, dans lequel le module de sécurité matériel (HSM1) est configuré pour communiquer chaque vue (Vi) au service orchestrateur sous une forme chiffrée (ENC(Vi, k)) avec une clé de chiffrement (k) connue du dispositif de sécurité personnel (PSDi) mais inconnue du service orchestrateur.System according to one of claims 18 and 19, in which the hardware security module (HSM1) is configured to communicate each view (Vi) to the orchestrator service in an encrypted form (ENC(Vi, k)) with an encryption key (k) known to the personal security device (PSDi) but unknown to the orchestrator service. Système selon l’une des revendications 18 à 20 dans lequel les vues sont envoyées au dispositif de sécurité personnel (PSDi) par le service orchestrateur (ORC) par l’intermédiaire de commandes de carte à puce du type APDU défini par la norme ISO/IEC 7816.System according to one of claims 18 to 20 in which the views are sent to the personal security device (PSDi) by the orchestrator service (ORC) via smart card commands of the APDU type defined by the ISO/IEC 7816 standard. Système selon l’une des revendication 18 à 21, dans lequel une vue fournie par le module de sécurité matériel (HSM1) consiste dans un descriptif de la vue selon une structure de vue déterminée.System according to one of claims 18 to 21, in which a view provided by the hardware security module (HSM1) consists of a description of the view according to a determined view structure. Système selon la revendication 22, dans lequel la structure de vue comprend une pluralité d’objets (OBi, OBj, OBk, OBl).The system of claim 22, wherein the view structure comprises a plurality of objects (OBi, OBj, OBk, OBl). Système selon l’une des revendications 18 à 23, configuré pour l’approbation d’actions d’administration de comptes de cryptoactifs, lesdites actions d'administration comprenant au moins l’une des actions suivantes :
- l’approbation d’une transaction au moyen d’un compte de cryptoactifs,
- l’approbation d’une action de génération d’une clé maître de compte de cryptoactifs,
- l’approbation d’actions d’acceptation ou de révocation d’opérateurs aptes à participer à des actions d’administration de comptes de cryptoactifs.
System according to one of claims 18 to 23, configured for the approval of administration actions of cryptoasset accounts, said administration actions comprising at least one of the following actions:
- approval of a transaction using a crypto-asset account,
- approval of an action to generate a master key for a crypto-asset account,
- the approval of actions of acceptance or revocation of operators able to participate in actions of administration of crypto-asset accounts.
FR2313694A 2023-12-06 2023-12-06 Method for centralized management of at least one action approval process Pending FR3156561A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR2313694A FR3156561A1 (en) 2023-12-06 2023-12-06 Method for centralized management of at least one action approval process
PCT/IB2024/061928 WO2025120454A1 (en) 2023-12-06 2024-11-27 Method for the centralised management of at least one process for approving an action

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2313694 2023-12-06
FR2313694A FR3156561A1 (en) 2023-12-06 2023-12-06 Method for centralized management of at least one action approval process

Publications (1)

Publication Number Publication Date
FR3156561A1 true FR3156561A1 (en) 2025-06-13

Family

ID=91072725

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2313694A Pending FR3156561A1 (en) 2023-12-06 2023-12-06 Method for centralized management of at least one action approval process

Country Status (2)

Country Link
FR (1) FR3156561A1 (en)
WO (1) WO2025120454A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002091316A1 (en) * 2001-04-30 2002-11-14 Activcard Ireland, Limited Method and system for remote activation and management of personal security devices
WO2020110079A1 (en) * 2018-11-29 2020-06-04 Ceevo Blockchain Venture Ltd. Secure cryptocurrency storage system and method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002091316A1 (en) * 2001-04-30 2002-11-14 Activcard Ireland, Limited Method and system for remote activation and management of personal security devices
WO2020110079A1 (en) * 2018-11-29 2020-06-04 Ceevo Blockchain Venture Ltd. Secure cryptocurrency storage system and method

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
LEDGER: "Ledger Blue: an enterprise grade security device | Ledger", 25 November 2016 (2016-11-25), pages 1 - 15, XP093196673, Retrieved from the Internet <URL:https://www.ledger.com/ledger-blue-an-enterprise-grade-security-device> *
LOÏC LESAVRE ET AL: "Blockchain Networks: Token Design and Management Overview NISTIR 8301", 8 February 2021 (2021-02-08), pages 1 - 84, XP061073072, Retrieved from the Internet <URL:https://nvlpubs.nist.gov/nistpubs/ir/2021/NIST.IR.8301.pdf> [retrieved on 20210209], DOI: 10.6028/NIST.IR.8301 *
RICARDO VIEIRA FRITSCHE: "RECOMMENDATIONS FOR IMPLEMENTING A BITCOIN WALLET USING SMART CARD", 20 October 2018 (2018-10-20), XP055687902, Retrieved from the Internet <URL:https://repositorio.ufsc.br/bitstream/handle/123456789/192174/TCC%20Ricardo%20Fritsche%20Final.pdf?sequence=1&isAllowed=y> [retrieved on 20200421] *

Also Published As

Publication number Publication date
WO2025120454A1 (en) 2025-06-12

Similar Documents

Publication Publication Date Title
EP0941525B1 (en) Authenticating system with microcircuit card
WO2018131004A9 (en) Methods and systems for executing smart contracts in secure environments
EP3547203A1 (en) Method and system for managing access to personal data by means of an intelligent contract
EP3403213A2 (en) Methods and systems implemented in a network architecture with nodes capable of performing message-based transactions
WO2009130089A1 (en) Method of secure broadcasting of digital data to an authorized third party
FR2988196A1 (en) METHOD FOR AUTHENTICATING AN INDIVIDUAL BEARING AN IDENTIFICATION OBJECT
WO2013021107A9 (en) Method, server and system for authentication of a person
EP3991381B1 (en) Method and system for generating encryption keys for transaction or connection data
FR2983374A1 (en) PROTOCOL OF MUTUAL AUTHENTICATION
WO2009130088A1 (en) Terminal for strong authentication of a user
WO2022137192A1 (en) Method and device for controlling access to a service using a blockchain
FR3046271A1 (en) SECOND DYNAMIC AUTHENTICATION OF AN ELECTRONIC SIGNATURE USING SECURE HARDWARE MODULE
WO2016207715A1 (en) Secure management of electronic tokens in a cell phone
FR3035248A1 (en) SECURE-OPERATING-ON-CHIP SYSTEM AND USES THEREOF
FR2877453A1 (en) SECURE DELEGATION METHOD OF CALCULATING A BILINE APPLICATION
WO2025120454A1 (en) Method for the centralised management of at least one process for approving an action
EP4012972A1 (en) Method for selective disclosure of data via a blockchain
FR3138540A1 (en) Data processing method in cloud computing
EP3673633B1 (en) Method for authenticating a user with an authentication server
FR3002056A1 (en) MANUFACTURED SIGNATURE AUTHENTICATION DIGITIZED.
WO2024246702A1 (en) System for mutual management of cryptoasset accounts, having distinct governance and signature hardware modules
FR3149104A1 (en) Shared management system for crypto-asset accounts, with separate hardware governance and signature modules
FR3149103A1 (en) Mutualized management system for cryptoasset accounts with multiparty signature
WO2025133847A1 (en) Method for linking the backup of a secret to the identity of a person
FR3144465A1 (en) Method for personalized backup and restoration of a secret held by a cryptoasset wallet

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20250613