Connectable electronic module comprising cluster of secure elements
The connectable electronic module with secure element clusters and unique encryption keys addresses the flexibility and scalability issues of cloud-based hardware security modules, ensuring secure and isolated data storage for each client.
Patent Information
- Application Number
- JP2024105153
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-06-29
- Filing Date
- 2024-06-28
- Publication Date
- 2025-01-20
AI Technical Summary
Current solutions for providing hardware security modules as a service in cloud computing infrastructures lack flexibility and scalability, and fail to ensure physical isolation of data stored by different clients, compromising confidentiality and security.
A connectable electronic module with clusters of secure elements, where each client is assigned a unique master encryption key, ensuring secure elements are exclusively allocated and managed, maintaining data isolation through a master-slave communication model.
Ensures secure and isolated data storage for each client, providing flexibility and scalability while maintaining confidentiality, even in the event of incidents, and optimizing resource management.
Smart Images

Figure 2025010035000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a connectable electronic module comprising a cluster of secure elements. [Background technology]
[0002] Hardware Security Modules (HSMs) are used to perform specific tasks, e.g. - Manage, import, export and store encryption keys; - Processing encrypted data, e.g. decrypting data or performing digital signature functions; - offloading application servers to perform symmetric or asymmetric cryptographic operations; It is common for virtual machines to be used in the form of a physical or virtual computing device that provides cryptographic functionality for performing
[0003] The hardware security module examines the data generated by the principal and provides a specific interface that is restricted to only those users or entities authorized to access the data stored therein.
[0004] When they are implemented in a network architecture, the modules are typically in the form of embedded cryptographic cards with a communications interface, such as a PCMCIA, PCI, PCI-Express, USB or SCSI / IP communications interface.
[0005] Patent document 1 [BROADCOM CORP [US]], registered on May 31, 2016, describes an integrated circuit including a hardware security module implementing a secure area for storing a unique key for a device. The secure area makes it possible to prevent unauthorized access to the unique key. The module includes a secure processor for encrypting and decrypting data within the secure area, and a secure interface for communicating the decrypted data to an external resource.
[0006] Patent document 2 [IDEMIA France [FR]] of June 10, 2020 describes an electronic module including a module controller that can be connected to a host device and that is configured to communicate with the host device, and one or more secure element clusters, in the same cluster, connected to a common bus that connects them to the module controller. The module controller is configured to convert a cryptographic operation into a number of similar elementary cryptographic tasks using different information and to control the execution of the elementary cryptographic tasks by the secure elements. Such an electronic module is flexible and scalable. Its cryptographic processing and storage functions can be adjusted by adding newly certified secure elements to an existing cluster or in the form of a new cluster, without the need to renew its certification.
[0007] Various hardware security modules may be interconnected within the same distributed computing environment. As a specific example, within a network, one or more hardware security modules may communicate with application servers or network interfaces through which the hardware security modules interface with different services. The application servers act as gateways that filter and manage network service requests, considering that they are executed using the one or more hardware security modules.
[0008] It is common to provide hardware security modules as a service within a cloud computing infrastructure hosted by a computing resource provider. The hosted hardware security modules are dynamically allocated by various software architectures, such as multi-tenant architectures or virtualization architectures that are otherwise provided in the form of virtual hardware security modules. Once allocated, they can be remotely managed and operated by clients of the infrastructure.
[0009] Patent document 3 [AMAZON TECH INC [US]] of October 2, 2014 describes a computer-implemented method for adding one or more hardware security modules to a network of a client at the request of the client, whose network is hosted by a computing resource provider. The modules are selected from among a plurality of hardware security modules offered by the provider, and are added and managed via a communication interface. Identifiers of the hardware security modules assigned to each client are stored in a database.
[0010] Patent document 4 [MOTOROLA SOLUTIONS INC [US]] of May 14, 2015 describes a method for providing a hardware security module as a service of a cloud computing solution. A computer cloud based on a hardware security module architecture is first segmented into a number of virtual hardware security modules. A source virtual hardware security module, which includes architecture information and an initial set of roles, is selected from the number of virtual hardware security modules and then assigned to each cloud application. A service controller directs requests from each cloud application, which are then directed to the corresponding assigned virtual hardware security module. The allocation and access of the virtual hardware security modules are managed according to the resource needs of the cloud. A user of each virtual module can also prevent other users and the cloud computing solution provider from accessing their own resources.
[0011] Patent document 5 [PRIVATE MACHINES INC [US]] of June 23, 2016 describes a method for managing hardware security modules. Each module contains a cryptographic processor and is initialized by loading a private key and a public key certificate. When a hardware security module is assigned to a client, the hardware security module proves that it knows the public key and their public key certificate is verified. Each hardware security module that has been authorized for assignment is then reconfigured and its identity communicated to the client to which it has been assigned.
[0012] Patent document 6 (AMAZON TECH INC [US]) of February 6, 2020 describes a method for managing a hardware security module fleet implemented in a cloud computing infrastructure for virtualization-based provision of virtual hardware security modules. The size of this fleet can be adjusted according to the use of the fleet's resources, without affecting the clients that interact with the virtual hardware security modules.
[0013] A major drawback of current solutions for providing hardware security modules as a service in cloud computing infrastructures, whether implemented via multi-tenant and virtualized architectures, is that they do not guarantee that keys and other data that a client saves and / or stores in one or more physical modules are stored and / or generated in the same module in isolation from those of other clients and cannot be accessed by these other clients.
[0014] The principle of multi-tenant or virtualized architectures is to pool, i.e. share, computing resources in order to optimize their management and reduce their operational costs. In this type of architecture, it is common to isolate data stored and / or generated by each client using pooled software and / or hardware resources, e.g. physical or virtual hardware security modules, by authenticating access to said resources, erasing data therefrom once it has been processed at the end of its session, and / or storing said data in a physically or virtually distinct database dedicated to each client. However, since resources are pooled, all of these actions cannot authenticate or prove that a physical hardware security module is assigned to a single client and / or that data stored and / or generated therein is physically isolated from that of other clients that have accessed said module.
[0015] Currently, cloud infrastructures are commonly used for exchanging access to sensitive information between clients of the infrastructure, which may be regulated by strict policies regarding its protection and its confidentiality. For example, government or state agencies, certification authorities or financial institutions may need to authenticate and secure connections through specific SSL / TLS protocols on their platforms to exchange stored personal or sensitive information or to validate financial transactions by protecting or generating specific information such as cryptographic keys and certificates. Thus, in some cases, the current solutions of providing hardware security modules as a service may not be adequate, especially for the exchange of data that requires a very high level of confidentiality and therefore must prove its isolation from third parties.
[0016] Another drawback of these solutions may be that they lack flexibility and scalability in terms of managing the physical resources of the infrastructure to meet the needs of the users. For example, if additional resources are required to perform cryptographic operations, one or more physical hardware security modules may need to be added to the infrastructure. Such additions require the purchase of new hardware and maintenance operations on the infrastructure. In addition to the costs, it may also result in temporary unavailability of some equipment of the infrastructure. [Prior art documents] [Patent documents]
[0017] [Patent Document 1] U.S. Patent No. 9355280B2 [Patent Document 2] European Patent Application Publication No. 3663945A1 [Patent Document 3] International Publication No. 2014 / 159750A1 Brochure [Patent Document 4] International Publication No. 2015 / 069460 Brochure [Patent Document 5] International Publication No. 2016 / 099644A1 Brochure [Patent Document 6] US Patent Application Publication No. 2020 / 045028A1 [Non-patent literature]
[0018] [Non-Patent Document 1] ISO 18033:2022,Information security-Encryption algorithms. [Non-Patent Document 2] ISO 19790:2012,Information technology-Security techniques-Security requirements for cryptographic modules. [Non-Patent Document 3] ISO 24759:2017,Information technology-Security techniques-Test requirements for cryptographic modules. [Non-Patent Document 4] ISO 15408:2022, Information security,cybersecurity and privacy protection-Evaluation criteria for IT security. [Non-Patent Document 5] FIPS 140-3,Security Requirements for Cryptographic Modules,2019 [Non-Patent Document 6] PKCS #5,Password-Based Cryptography Specification v2.0,2000. [Non-Patent Document 7] PKCS #11,Cryptographic Token Interface v3.0,2020. [Non-Patent Document 8] PKCS #15, Cryptographic Token Information Syntax Standard, 1999. [Non-Patent Document 9] ISO / IEC 7816-15:2016 Identification cards-Integrated circuit cards-Part 15:Cryptographic information application. [Non-Patent Document 10] SAS 70-Statement on Auditing Standards no.70 [Non-Patent Document 11] SSAE 16 / 18-Statement on Standards for Attestation Engagements No.16 / 18. [Non-Patent Document 12] ISAE 3402-International Standard on Assurance Engagements 3402 [Non-Patent Document 13] CC:2022-Common Criteria for Information Technology Security Evaluation,CCMB-2022-11-005,2022. Summary of the Invention [Problem to be solved by the invention]
[0019] Therefore, there remains a need for a solution to further enhance data protection stored and / or generated by clients using hardware security modules provided as a service within a cloud computing infrastructure, which would allow meeting confidentiality and security requirements when exchanging certain sensitive information. Ideally, this would be flexible and scalable, and would also allow for easier management of the infrastructure's physical resources. [Means for solving the problem]
[0020] According to a first aspect of the invention there is provided a connectable electronic module as claimed in claim 1, the dependent claims being advantageous embodiments.
[0021] In a second aspect of the invention, there is provided a system including an electronic module according to the first aspect of the invention.
[0022] In a third aspect of the invention, there is provided a method of constructing an electronic module according to the first aspect of the invention.
[0023] In a fourth aspect of the invention, there is provided a method of processing data in an electronic module according to the first aspect of the invention.
[0024] In a fifth aspect of the invention, there is provided a program comprising instructions which, when executed by a data processing unit, cause the data processing unit to perform the steps of the methods according to the third or fourth aspects of the invention.
[0025] In a sixth aspect, there is provided an information medium readable by a data processing unit and comprising instructions which, when executed by the data processing unit, cause said processing unit to perform the steps of the method according to the third or fourth aspect of the invention.
[0026] In a seventh aspect, the use of an electronic module according to the first aspect of the invention in a cloud electronic infrastructure, in particular a cloud electronic infrastructure implemented in a single-tenant or multi-tenant architecture or a virtualised architecture, is described.
[0027] advantage One notable advantage of the present invention is that it allows the provision of a secure element as a service within a cloud computing infrastructure without compromising the confidentiality and protection of cloud client data. The present invention solves the problems inherent in pooling resources and allows the secure element to be assigned to each client in an exclusive manner, preserving the physical association between the secure element and the client. This therefore ensures compliance with the principle of data isolation between clients and the infrastructure.
[0028] Thus, a specific secure element is allocated to a specific client, and it can be unequivocally proven that no other third party client can access said element or the data it contains or processes. Even in the event of an incident such as corruption of the data or master encryption key due to a third party or a compromised assigned secure element, or even accidental data access by an unassigned secure element or other authorized client, the data remains unavailable and the secure element cannot function properly.
[0029] Another advantage of the invention is that it provides a flexible and scalable solution for optimal management of the physical resources of the infrastructure, allowing a high level of personalization for each client, in particular with regard to the number of Secure Elements allocated: in a cloud computing infrastructure it is possible to dynamically allocate Secure Elements according to the needs of the client. [Brief description of the drawings]
[0030] [Figure 1] FIG. 2 is a schematic diagram of an example electronic module. [Diagram 2] 1 is a schematic diagram of an electronic module according to a first embodiment of the present invention; [Diagram 3] FIG. 3 is a schematic diagram of a detail of FIG. 2. [Figure 4] 1 is a schematic diagram of an electronic module according to some embodiments of the first aspect of the present invention; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0031] Referring to FIG. 1, an example electronic module 1000 from (Patent Document 2) [IDEMIA France [FR]] published on June 10, 2020 includes an electronic card 1001, a connection means 1002 for connecting to a host device, a module controller 1003, a communication bus 1002 connecting the connection means 1002 to the module controller 1003, one or more clusters 1005-1;...;1005-6 including multiple secure elements 1006-1;...;1006-n each connected to the same bus 1007-1;...;1007-6 connecting them to the module controller 1003 within the same cluster 1005-1;...;1005-6, and a volatile main memory 1008.
[0032] For example, the connection means 1002 for connection with a host device may be a PCI or otherwise a PCI-Express interface. The volatile main memory 1008 may be a random access memory (RAM). The buses 1007-1;...;1007-6 connecting the clusters 1005-1;...;1005-6 to the module controller 1003 may be SPI, I2C, I3C, ISO or UART buses. The module controller 1003 may therefore include a communication interface 1004-1;...;1004-6 for each cluster 1005-1;...;1005-6. The communication bus 1002 may be a PCI, PCI-Express, I2C or otherwise an I3C communication bus. The module controller 1003 may be a programmable controller, for example a field programmable gate array (FPGA) controller. It may support conventional application programming interfaces (APIs) for communication with the host device, such as PKCS#11, Open SSL, MS CAPI, Java JCE / JCA application programming interfaces.
[0033] Each of the secure elements 1006-1;...;1006-n generally complies with security standards such as FIPS 140-3 / 4, ISO / IEC 19790:2012, ISO / IEC 24759:2017, ISO / IEC 15408:2022, CC:2022 EUAL 4+, and / or energy efficiency standards such as MEPS. In fact, the electronic module 1000 may be certified as being compliant with one or more of these standards. For example, the secure elements 1006-1;...;1006-n may be security controllers, Universal Integrated Circuit Cards (UICCs), or embedded Universal Integrated Circuit Cards (eUICCs).
[0034] The host device may be, for example, a server that includes a processing unit and one or more electronic modules 1000 .
[0035] For the execution of cryptographic tasks, the communication between the module controller 1003 and the secure elements 1006-1;...;1006-n of each cluster 1005-1;...;1005-6 may be asymmetric, e.g., master / slave communication. Each secure element 1006-1;...;1006-n of a cluster 1005-1;...;1005-6 thus acts as a slave with respect to the module controller.
[0036] The size of the clusters 1005-1;...;1005-6, i.e. the number of secure elements 1006-1;...;1006-n per cluster, is generally subject to the capacity of the communication interfaces 1004-1;...;1004-6. For example, the number of secure elements 1006-1;...;1006-n in a cluster may be less than or equal to the ratio between the duration of a digital processing operation, such as the encryption of a data packet of a certain size by a secure element, and the duration of the packet on the communication bus 1007-1;...;1007-6. By optimization between each communication interface 1004-1;...;1004-6 and the corresponding clusters 1005-1;...;1005-6 of secure elements 1006-1;...;1006-n, the number of communication interfaces 1004-1;...;1004-6 can be minimized.
[0037] The clusters 1005-1;...;1005-6 may be of the same size or different sizes, i.e. may contain the same or different numbers of secure elements 1006-1;...;1006-n. Preferably, each cluster 1005-1;...;1005-6 contains the same number of secure elements 1006-1;...;1006-n, to simplify management of the secure elements 1006-1;...;1006-n by the module controller 1003.
[0038] To perform a cryptographic operation at the request of the host device, the module controller 1003 breaks down or translates this operation into multiple elementary cryptographic tasks and allocates them at the disposal of the secure elements. These cryptographic tasks can be executed in parallel by the secure elements, in particular by multiplexing commands.
[0039] In a first aspect of the invention, with reference to Figures 1, 2 and 3, there is provided an electronic module 1000 connectable to a host device 2001, said electronic module 1000 comprising: one or more clusters 1005-1;...;1005-6 of secure elements 1006-1;...;1006-6, each of the secure elements 1006-1;...;1006-6 of the same cluster 1005-1;...;1005-6 being connected to a common communication bus 1007-1;...;1007-6 associated to said cluster 1005-1;...;1005-6, an electronic module controller 1003 configured to communicate, on the one hand, with the host device 2001 and with a common communication bus 1007-1;...;1007-6 of each of the clusters 1005-1;...;1005-6, and, on the other hand, to control the execution of cryptographic operations by one or more secure elements 1006-1;...;1006-6; Including, - the module controller 1003 is further configured to assign one or more secure elements #1-1;...;#N-1 of one or more clusters 1005-1;...;1005-6 to one or more authenticated clients C#1;...;C#N, each of the secure elements #1-1;...;#N-1 assigned to each authenticated client C#1;...;C#N locally storing a unique master encryption key CMK#1;...;CMK#N specific to each of said authenticated clients C#1;...;C#N; - each of the secure elements #1-1;...;#N-1 assigned to each of the authenticated clients C#1;...;C#N performs a cryptographic operation OC using a cryptographic key SK-#1-1;...;SK#N-1 unique to each of the assigned secure elements #1-1;...;#N-1, - Each of the secure elements #1-1;...;#N-1 assigned to each of the authenticated clients C#1;...;C#N is configured to decrypt input data DE of the encryption operation OC and / or to encrypt output data DS of the encryption operation OC using a unique master encryption key CMK#1;...;CMK#N.
[0040] For clarity, only some of the clusters and secure elements from FIG. 1 are shown in FIGS.
[0041] A "client" is understood to mean a hardware or software element that sends a request to access a service available on a server via a network. A client can be a thin client or a thick client. In particular, it can be a computer or a program. The concept of a client can be broadened to cover both a hardware or software element and a natural person operating said element.
[0042] An "authenticated client" is understood to mean a client whose identity has been previously registered in the form of a signature or certificate and whose identity has been verified by an appropriate authentication method each time it connects to the host device or electronic module. Preferably, the authentication is a strong multi-factor authentication ("MFA"), for example a two-factor authentication ("2FA"), using in particular a software token, for example a short text message ("SMS"), a push notification, or a physical token, for example a hardware token, for example a token with a dynamic password, an asynchronous token, a chip card, a USB key, a Bluetooth key, an RFID key or an NFC key, that stores a cryptographic key, an electronic signature or biometric information related to a natural person associated with the client. Once a client is authenticated and connected, a digital token, for example a web token or a cookie, can be used to maintain the authentication during the connection session.
[0043] Once a connection 2002-#1;...;2002-#N is established between an authenticated client and the host device 2001 and / or electronic module 1000, the connection 2002-#1;...;2002-#N is typically secured using, for example, the SSL / TLS protocol. Depending on the application, the connection 2002-#1;...;2002-#N may be an SSH connection. It may also be established via a VPN.
[0044] A "cryptographic operation" or "cryptographic task" should be understood to mean an operation of generating a cryptographic key, encrypting or decrypting, and / or storing one or more cryptographic keys. The cryptographic operation may implement various cryptographic algorithms such as DES (Data Encryption Standard), 3DES (Triple DES), AES (Advanced Encryption Standard), RSA (Rivest, Shamir and Adelman), ECC (Elliptic Curve Cryptography), MD5 (Message Digest 5), SHA-1 (Secure Hash Algorithm 1), SHA-2, SHA-3, or otherwise MAC.
[0045] According to the present invention, the control module 1003 is configured to assign one or more secure elements #1-1;...;#N-1 of one or more clusters 1005-1;...;1005-6 to one or more authenticated clients C#1;...;C#N, and each of the secure elements #1-1;...;#N-1 assigned to each authenticated client C#1;...;C#N locally stores the same unique master encryption key CMK#1;...;CMK#N specific to each of said authenticated clients C#1;...;C#N.
[0046] In Fig. 2, the secure elements assigned to a client are numbered #XY, where references #X and Y correspond to client #X (X equals 1 to N) and the number Y of secure elements in the same cluster, respectively. Secure elements indicated as 00-0 are not assigned. As a specific example, secure elements #1-1 to #1-6 of cluster 1005-1 are assigned to client C#1 and store the same unique master key, six secure elements #2-1 to #2-9 of cluster 1005-2 are all assigned to client C#2 and store the same unique master key CMK#2, secure elements #3-1 to #3-5 of clusters 1005-1 and 1005-3 are assigned to client C#3 and store the same unique master key CMK#3, and secure element #N-1 of cluster 1005-3 is assigned to client C#N and stores the same unique master key CMK#N.
[0047] The number of secure elements #1-1;...;#N-1 assigned to each authenticated client C#1;...;C#N can be predefined by the client itself according to its needs or by the computing resource provider hosting the host device 2001 and therefore one or more electronic modules 1000.
[0048] The secure elements #1-1;...;#N-1 assigned to each client may be identified as C#1;...;C#N in a database BDD-1 in which the identifier of each assigned secure element #1-1;...;#N-1 is associated with the identifier of the client C#1;...;C#N to which it is assigned. This database BDD-1 may preferably be encrypted and stored in the host device 2001 or preferably in the module controller 1003.
[0049] According to some alternative or additional embodiments, each of the assigned secure elements #1-1;...;#N-1 may store, preferably within its secure enclave, an identifier or a cryptographic fingerprint of the client C#1;...;C#N to which it is assigned. The identifier or the cryptographic fingerprint may then be communicated to the assigned secure module #1-1;...;#N-1 for execution of the cryptographic operation OC, together with instructions and / or data sent by the module controller 1003. The assigned secure module #1-1;...;#N-1 may be configured to verify the identifier or the cryptographic fingerprint of the client C#1;...;C#N before executing the requested cryptographic operation OC.
[0050] These embodiments are particularly advantageous in that they offer an even higher security level: if, for example, an instruction from an authenticated client is about to be sent by mistake to a secure element not assigned to said authenticated client, for example after a hardware or software malfunction, only a secure element that has authenticated the origin of the instruction, i.e. the client, will execute the instruction. These embodiments are also advantageous for performing a "broadcast" communication of instructions during use of the electronic module, i.e. a secure element that has not authenticated its origin will not execute the instruction.
[0051] When a secure element 1006-1;...;1006-6 is assigned by the module controller 1003, the same unique master encryption key CMK#1;...;CMK#N specific to each authenticated client C#1;...;C#N is stored locally in each of the assigned secure elements #1-1;...;#N-1. For security reasons, this same unique master encryption key CMK#1;...;CMK#N is preferably stored in read-only mode within the secure enclave of each assigned secure element #1-1;...;#N-1, so that it cannot be communicated outside the secure element. It may be stored in such a way that it is encrypted by a unique key specific to each assigned secure element #1-1;...;#N-1, which is itself stored within the secure enclave, which decrypts it when it is needed for the encryption operation OC.
[0052] The specific unique master encryption key CMK#1;...;CMK#N stored in one or more secure elements #1-1;...;#N-1 assigned in step (b) may be defined using any suitable procedure. Preferably, this definition may be done in the form of a Key Ceremony (KC), preferably according to the standards of "(Non-Patent Document 10)", "(Non-Patent Document 11)" and / or otherwise "(Non-Patent Document 12)". Optionally, part of the unique master key defined in the ceremony may be defined by the client to which the secure element is assigned.
[0053] By its very nature, the master encryption key CMK#1;...;CMK#N specific to each authenticated client C#1;...;C#N is only known to the secure elements #1-1;...;#N-1 assigned to the client C#1;...;C#N and cannot be exported outside the assigned secure elements. This constitutes a common encryption key that can serve as a means to identify the secure elements #1-1;...;#N-1 assigned to a certain authenticated client C#1;...;C#N. For example, referring to FIG. 2, the unique master encryption key CMK#1 specific to the authenticated client C#1 is only known to the assigned secure elements #1-1;...;#1-6 and cannot be exported outside only these assigned secure elements #1-1;...;#1-6.
[0054] According to the present invention, each of the secure elements #1-1;...;#N-1 assigned to each authenticated client C#1;...;C#N performs cryptographic operations using an encryption key SK-#-1;...;SK#N-1 that is specific to each secure element #1-1;...;#1-6. This specific key SK-#1-1;...;SK#N-1 can be generated using any suitable encryption algorithm, for example AES or DES. As a concrete example, each of the secure elements #1-1;...;#1-6 assigned to the client C#1 has its own specific encryption key SK-#1-1...;SK-#1-6. The specific encryption key SK-#1-1 is specific to the assigned secure elements #1-1;...;#1-6 and is known only to them.
[0055] According to some embodiments, the specific encryption key SK-#1-1;...;SK#N-1 is derived from the unique master encryption key CMK#1;...;CMK#N specific to each of the authenticated clients C#1;...;C#N. For example, each of the secure elements #1-1;...;#1-6 assigned to client C#1 derives its specific encryption key SK-#1-1;...;SK-#1-6 from a unique master encryption key common to them and specific to client C#1. This derivation can be performed using any suitable derivation function, for example a hash function or a derivation function conforming to the ISO 18033 and PCKS#5 standards. It can also be a proprietary derivation function certified to comply with valid security standards.
[0056] According to some advantageous embodiments, the secure elements #1-1;...;#N-1 assigned to an authenticated client C#-1;...;C#N may be organized according to an asymmetric communication or control model, in particular a master-slave relationship. With reference to Fig. 2, one of the secure elements, for example the secure element #1-1 in the one #1-1;...;#N-1 assigned to an authenticated client C#1;...;C#N, may be defined as the master secure element, and the other assigned secure elements #1-2;...;#1-6 may be defined as slaves.
[0057] This kind of organization can be advantageous for parallel or sequential execution of cryptographic operations that require resources of multiple secure elements. The execution of some cryptographic operations can be delegated by the module controller 1003 to a slave secure element that is responsible for their deployment to its slave secure elements. The master secure element then validates the cryptographic operation and / or segments it into elementary operations that it then sends to the slave secure elements for execution.
[0058] This organization according to the master / slave model is also advantageous for the maintenance of the secure elements, e.g., configuration changes or updates of the secure elements assigned to a client. For example, a client may request a change in the cryptographic algorithm or an update to the operating system of the secure element. This request is first validated and implemented by the master secure element, which then sends it to the slave secure elements so that the same changes are replicated.
[0059] According to some embodiments, the client's identifier or cryptographic fingerprint is used to authenticate the origin of the command, and this authentication operation may also be allocated only to the master secure element, thus reducing the workload of the slave secure elements.
[0060] In the master / slave model, a common master encryption key may advantageously be used by a master secure element as a means to identify slave secure elements assigned to the same authenticated client with which said master encryption key is associated. In communications between a master secure element and other secure elements, a secure element may verify, for example via comparison of cryptographic fingerprints such as hashes, that the secure elements with which it communicates share the same common master encryption key and therefore belong to the same "family" or "farm" of secure elements assigned to the same authenticated client.
[0061] According to the invention, each of the secure elements #1-1;...;#N-1 assigned to each of the authenticated clients C#1;...;C#N is configured to decrypt input data of the encryption operation OC and / or encrypt output data DS of the encryption operation OC using a unique master encryption key CMK#1;...;CMK#N. Data exchange between an authenticated classian and a secure element assigned to it is therefore never communicated in the "clear", i.e. unencrypted form, and only the assigned secure element having the same common master encryption key can decrypt it. Confidentiality is therefore perfectly preserved. The data therefore remain unusable even in the event of external destruction of the data or the master encryption key, for example by a third party or by a defect in the assigned secure element, or in the event that the data are accidentally accessed by a non-assigned secure element or by another authenticated client.
[0062] According to some advantageous embodiments, the secure elements 1006-1;...;1006-6 are secure elements of the same cluster of the secure elements 1005-1;...;1005-6. According to the invention, the secure elements of the same cluster are connected to the same common communication bus. Within the same cluster, for example, communication between the assigned secure elements in a master / slave model and / or with the module controller can be more optimized and have less latency. The module controller 1003 is relieved from having to manage and schedule instructions between the assigned secure elements distributed in different clusters.
[0063] The secure element, and possibly the module controller, may include application programming interfaces (APIs) that allow third-party client applications to request the performance of cryptographic operations by the electronic module. Preferably, these interfaces conform to the PCKS #11 and / or PCKS #15 standards, also known as "cryptoki."
[0064] According to some embodiments, and referring to FIG. 4, the module controller 1003 is configured to control, for one or more authenticated clients C#1;...;C#N, the execution of cryptographic operations OC by a subset SE of secure elements selected from among the secure elements #1-1;...;#N-1 assigned to the authenticated clients C#1;...;C#N.
[0065] As a concrete example, referring to FIG. 4, a subset SE including secure elements #2-1, #2-2, #2-4 and #2-5 of an authenticated client C#2 is controlled by a module controller (not shown) to perform a cryptographic operation OC.
[0066] The number of secure elements of the subset SE can be defined in different ways. It can be defined by the host device or by the module controller 1003 depending on the complexity of the cryptographic operations to be performed or the overall load of the electronic module when multiple cryptographic operations are performed at the request of a client. It can also be defined by the master secure element when the assigned secure elements are organized according to a master / slave model. In all these cases, the number of secure elements can be advantageously made to better manage the resources of the electronic module.
[0067] The number of secure elements in the subset SE may also be defined by the clients C#1;...;C#N themselves, via the host device 2001 or the module controller 1003, according to rules preset by the clients based on the nature and complexity of the cryptographic operations. This embodiment may be advantageous to relieve the host device 2001, the module controller 1003 and / or the master secure element from such management and thus reduce the load on the electronic module.
[0068] According to some additional embodiments, the module controller 1003 is configured to control, for one or more authenticated clients C#1;...;C#N, the execution of multiple cryptographic operations OC by a subset SE of secure elements selected from among the secure elements #1-1;...;#N-1 assigned to the authenticated clients C#1;...;C#N, each of the cryptographic operations OC being executed by one of the subsets SE of secure elements, and the number of secure elements in each of the subsets being defined by the authenticated clients C#1;...;C#N.
[0069] These embodiments are particularly advantageous when an authenticated client requires the execution of operations on a limited number of secure elements, for example 2 or 3, or wants to allocate different cryptographic operations to the secure elements assigned to said client. For example, the client may want a subset SE of the set of assigned secure elements, including a certain number of secure elements, for example 2 or 3, to be allocated to the generation of a cryptographic key, while another subset SE of another number of secure elements should be allocated to the encryption of a data set. This allows multiple cryptographic operations to be executed simultaneously through an optimal management of the assigned secure elements and reduces the processing time of the set of cryptographic operations, resulting in time savings for the client.
[0070] According to some embodiments further to the above, the cryptographic operation OC is performed in parallel and / or sequentially by each of the subsets SE of the secure elements. The secure elements of each subset may operate sequentially and / or in parallel.
[0071] For example, a client wishes to encrypt a series of two different data sets simultaneously with two different encryption keys. For this purpose, each data set of the series may be transmitted to two different subset SEs, each of which generates a key and then encrypts the data set with the generated key. Within a subset SE, a secure element may operate sequentially with other secure elements operating in parallel. A secure element of the series may thus be a master secure element, which is configured to generate the encryption keys and to segment the encryption operation into sub-operations, which the slave parallel secure elements perform using the generated encryption keys that were previously transmitted to them.
[0072] According to some embodiments, the assigned secure element #1-1;...;#N-1 is configured to locally store internally the results of one or more cryptographic operations OC. These results may be cryptographic keys or encrypted and / or decrypted data, which are then provided for further processing by the assigned secure element #1-1;...;#N-1 or the module controller 1003.
[0073] According to some embodiments, the module controller 1003 is configured to communicate with at least one database BDD and / or at least one third party application APP associated with the authenticated client. The database BDD can be in the module controller 1003 itself, in the host device 2001, or in remote hardware associated with the authenticated client. The third party application APP can be any kind of application that requires the result of a cryptographic operation to run and process a transaction or data set.
[0074] As a specific example, the third-party application APP may be an application that requires authentication of an authenticated client using a digital fingerprint. This application is therefore free to transmit the digital fingerprint via the module controller 1003 to one or more assigned secure elements #1-1;...;#N-1, which, using a cryptographic operation OC, compares it with the digital fingerprint of any particular cryptographic key that was previously used to register the authenticated client with said application APP. If the digital fingerprints match, the module controller 1003 returns a validation output signal to the application APP, and the application APP can operate. If the digital fingerprints do not match, the module controller 1003 returns a non-validation output signal to the application APP, and the application APP does not operate.
[0075] For encryption and decryption operations, it is not uncommon that one or more cryptographic keys are used many times, for example in repeated symmetric or asymmetric encryption operations. Rather than generating these keys for each operation or for each session of an authenticated client, it is more convenient and economical to store them in a dedicated non-volatile memory space and retrieve them as needed, for a better management of computing resources. Now, inherently, a secure element only has a limited non-volatile local memory. Therefore, the number of cryptographic keys that can be stored therein is very limited. Moreover, storing them in the secure element is not optimal, since the stored keys can only be used by the secure element. If the secure element is unavailable, for example if it is allocated to other encryption operations, the keys are inaccessible and cannot be used by other secure elements.
[0076] Thus, according to some embodiments, the module controller 1003 is configured to store output data DS of a cryptographic operation OC performed by one or more assigned secure elements #1-1;...;#N-1 in a database BDD and / or retrieve input data DE from the database BDD for processing by the cryptographic operation performed by one or more assigned secure elements #1-1;...;#N-1, said database BDD being associated with an authenticated client C#1;...;C#N to which said secure element #1-1;...;#N-1 is assigned.
[0077] These embodiments are therefore particularly advantageous for creating a cryptographic key store dedicated to an authenticated client. The assigned secure elements #1-1;...;#N-1 of the electronic module 1000 are controlled to generate cryptographic keys, which, once encrypted by a unique master cryptographic key CMK#1;...;CMK#N associated to said assigned secure elements #1-1;...;#N-1, are exported via the module controller 1003 to a database BDD associated to the authenticated client C#1;...;C#N to which said secure elements #1-1;...;#N-1 are assigned. For example, the cryptographic keys of the database BDD associated to the authenticated client C#1;...;C#N are imported via the module controller 1003 via the assigned secure elements #1-1;...;#N-1 in order to encrypt or decrypt a data set using the cryptographic keys. Secure element #1-1;...;#N-1 then decrypts the key using the associated unique master encryption key CMK#1;...;CMK#N and then performs the encryption or decryption operation using the decrypted imported encryption key.
[0078] In addition to storing cryptographic keys, the database BDD may also contain other data, such as digital or biometric fingerprints, on which cryptographic operations may be performed by the assigned secure elements.
[0079] Preferably, clusters 1005-1;...;1005-6 of secure elements 1006-1;...;1006-6 may be located on one or more physical media. Examples of physical media may be electronic cards with PCI, PCI-Express, USB-A or C connection means. In particular, the same physical medium may contain one or more clusters of secure elements. For ease of design, it is preferred that elements of the same cluster are on the same physical medium.
[0080] In a second aspect of the present invention, - Host Device 2001, one or more electronic modules 1000 according to any one of the embodiments of the first aspect of the invention, the one or more electronic modules 1000 being connected to a host device 2001; A system is provided that includes:
[0081] The host device 2001 may generally be a client computing terminal, connected or not connected to a network, such as a data processing unit, such as a specific computer, or a computer server providing services to remote clients.
[0082] According to some embodiments, the host device 2001 may be a server including a processing unit. The one or more electronic modules 1000 are connected to the host device using any suitable connection means, for example PCI, PCI-Express, USB-A or C connection means. These embodiments are particularly advantageous for implementing the system according to the invention in a cloud electronic infrastructure, in particular a cloud electronic infrastructure implemented in a single-tenant or multi-tenant architecture or a virtualized architecture.
[0083] In a third aspect of the invention, there is provided a method of configuring an electronic module 1000 according to any of the embodiments of the first aspect of the invention, said method comprising: (a) registering at least one client from a list of authorized clients C#1;...;C#N; (b) assigning, via the module controller 1003, one or more secure elements #1-1;...;#N-1 of one or more clusters 1005-1;...;1005-6 of secure elements 1006-1;...;1006-6 to one authenticated client from the list of authenticated clients C#1;...;C#N; (c) defining, via the module controller 1003, a unique master encryption key CMK#1;...;CMK#N specific to the one or more secure elements #1-1;...;#N-1 assigned in step (b); (d) storing the unique master encryption keys CMK#1;...;CMK#N defined in step (c) locally within each of the assigned secure elements #1-1;...;#N-1. Includes.
[0084] In step (a), the client may be registered using any suitable procedure, in particular by pre-registering an identifier of the client in the form of a digital signature and / or digital certificate and subsequently creating an electronic identifier associated with the client in order to establish a connection with the host device 2001 or electronic module 1003. Upon each connection with the host device 2001 or electronic module 1000, the client's identifier is authenticated using an appropriate authentication method, in particular as described with respect to the first aspect of the invention.
[0085] In step (b), the number of secure elements 1006-1;...;1006-6 assigned to each client C#1;...;C#N can be predefined by the client itself according to its needs or by the computing resource provider hosting the host device 2001 and the electronic module 1000.
[0086] As mentioned above, the secure elements 1006-1;...;1006-6 assigned to each client C#1;...;C#N may be identified in a database in which the identifier of each secure element is associated with the identifier of the client to which it is assigned. This database may be preferably encrypted and stored in the host device 2001 or preferably in the module controller 1003. Each secure element #1-1;...;#N-1 may also store, preferably in its secure enclave, the identifier or the cryptographic fingerprint of the client C#1;...;C#N to which it is assigned. This identifier or its cryptographic fingerprint may then be communicated to the assigned secure module #1-1;...;#N-1 together with the instructions and / or data sent by the module controller 1003 for the execution of the cryptographic operation OC. The secure module may be configured to verify the client's identifier or its cryptographic fingerprint before performing the requested cryptographic operation.
[0087] In step (c), the definition via the module controller 1003 of the unique master encryption keys CMK#1;...;CMK#N specific to one or more secure elements assigned in step (b) may be performed using any suitable procedure. In particular, this definition may be performed in the form of a Key Ceremony (KC), preferably according to the standards of "(Non-Patent Document 10)", "(Non-Patent Document 11)" and / or otherwise "(Non-Patent Document 12)".
[0088] In step (d), the unique master encryption key CMK#1;...;CMK#N defined in step (c) is stored locally in each of the assigned secure elements #1-1;...;#N-1. For security reasons, the unique master encryption key CMK#1;...;CMK#N is preferably stored in a read-only mode within the secure enclave of each assigned secure element, so that it cannot be communicated outside of the secure element #1-1;...;#N-1. It may be stored encrypted by a unique key specific to each secure element, the specific key itself being stored within the secure enclave, which decrypts it when it is needed for a cryptographic operation.
[0089] According to some preferred embodiments, steps (c)-(d) of the configuration method according to the second aspect of the invention may be performed using a method for duplicating or copying the secure elements #1-1;...; #N-1, especially if these secure elements are structurally identical.
[0090] More precisely, once the secure elements #1-1;...;#N-1 are assigned to an authenticated client C#1;...;C#N, a first secure element, called the master secure element, may be selected among them and its configuration may then be initialized by implementing in particular the master encryption key CMK#1;...;CMK#N defined in step (c) and, if applicable, the client's identifier. This configuration may also include the installation and / or parameterization of certain applications, APIs and / or programs of the secure elements. Once the configuration of the master secure element is completed, it is exported to the remaining secure elements, called slave secure elements. The slave secure elements then replicate or copy the received configuration under the control of the master secure element. Once the slave secure elements have completed the replication or copying of the configuration, they send a replication or copy process completion output signal back to the master secure element. The master secure element may be configured to receive the completion output signal from each slave secure element and verify that it meets a certain number of criteria, validating that the replication or copy of the configuration of each slave secure element matches its own.
[0091] According to some embodiments, the method may further comprise, after step (d), modifying the number of secure elements #1-1;...;#N-1 allocated to said client C#1;...;C#N based on a request from said client C#1;...;C#N. The electronic module may thus be configured to allow a client to request allocation of new secure elements depending on its needs. Ideally, when its needs decrease, it may relinquish certain secure elements already allocated thereto, making them available to other authenticated clients. One or more secure elements thus relinquished by said client may be reset, via the module controller, to their original configuration, commonly referred to as the factory configuration. They are thus available and available for allocation to other clients, in particular following the above-mentioned duplication or copy procedure.
[0092] According to a fourth aspect of the invention, there is provided a method of processing data in an electronic module 1000 according to the first aspect of the invention, said method comprising the steps of: (a) authenticating connections of clients C#1;...;C#N via a module controller 1003; (b) receiving, via the module controller 1003, a request from an authentication client C#1;...;C#N to perform one or more cryptographic operations OC; (c) controlling, via a module controller 1003, the execution of cryptographic operations OC by one or more secure elements assigned to said authenticated clients C#1;...;C#N; (d) encrypting one or more output data DC of the encryption operation OC using unique master encryption keys CMK#1;...;CMK#N. Includes.
[0093] The method further comprises, prior to step (c), (b1) receiving, via a module controller 1003, encrypted input data DE for execution of a cryptographic operation OC; (b2) Decrypting the received encrypted input data DE using the unique master encryption keys CMK#1;...;CMK#N. It may further include.
[0094] Depending on the communication model established between the assigned secure elements, the encryption / decryption steps of steps (b2) and (c) may be performed by one or more secure elements involved in the execution of the cryptographic operation OC controlled by the module controller 1003. For example, in case of an organization of the assigned secure elements according to a master / slave model, a master secure element may be designated or, alternatively, one or more secure elements for decrypting the input data DE it receives and / or for encrypting one or more output data DS of the cryptographic operation. Alternatively, in case of an organization of secure elements operating in parallel, each secure element among the secure elements assigned and used for the execution of the cryptographic operation OC performs a decryption and / or encryption operation. It is also possible to designate, for example via the module controller 1003, one or more secure elements for the decryption and / or encryption operation that do not belong to the one that performed the cryptographic operation of step (c).
[0095] As an illustration, the processing method according to the third aspect of the invention may make it possible to generate cryptographic keys dedicated to an authenticated client, in particular to create a store of cryptographic keys to be used for other applications. Once the client C#1;...;C#N has authenticated the request, it requests via the module controller 1003 to perform an encryption operation OC with multiple cryptographic keys generated by each of the assigned secure elements #1-1;...;#N-1. Each of the assigned secure elements then generates an encryption key under the control of the module controller 1003 using any suitable encryption algorithm, for example AES, DES or a derivation function applied to a unique master key. Each generated encryption key is then encrypted by the secure element that generated it using a unique master encryption key CMK#1;...;CMK#N. The generated and then encrypted encryption keys may then be exported via the module controller 1003 to a database associated with the authenticated client.
[0096] To encrypt or decrypt a data set using an encryption key, an encryption key in the database associated with an authenticated client is imported, via a module controller, into an assigned secure element which then decrypts the key using a unique master encryption key, and subsequently uses the imported encryption key, once decrypted, to perform the encryption or decryption operation.
[0097] According to a fifth aspect of the invention there is provided a program comprising instructions which, when executed by a data processing unit, cause it to carry out the steps of the method according to the second and / or third aspects of the invention.
[0098] Any kind of compiled or interpreted programming language may be used for carrying out the steps of the method of the invention. The computer program may form part of a software solution, i.e. a collection of executable instructions, code, scripts etc. and / or a software database.
[0099] The data processing unit may be a host device 2001 or a module controller 1003 .
[0100] According to a sixth aspect of the present invention there is provided an information medium readable by a data processing unit and comprising instructions which, when executed by a data processing unit, cause said processing unit to perform the steps of the method according to the second and / or third aspects of the present invention.
[0101] The medium readable by the data processing unit is preferably a non-volatile memory, such as a hard disk or a solid state drive (SSD). The computer readable medium may be a removable storage medium or a non-removable storage medium forming part of the computer. It may also be a non-volatile memory in a removable medium. This may facilitate the use of the present invention.
[0102] The medium readable by the data processing unit may also form part of a terminal or a computer used as a server from which executable instructions can be downloaded which, when executed by a computer, cause the computer to perform a method according to one of the embodiments described in this specification.
[0103] The medium readable by the data processing unit may be in the host device 2001 or in the module controller 1003 .
[0104] According to a seventh aspect of the invention, the electronic module 1000 according to the first aspect of the invention may advantageously be used in a cloud electronic infrastructure, in particular a cloud electronic infrastructure implemented in a single-tenant or multi-tenant architecture or a virtualized architecture.
[0105] In a cloud electronic infrastructure, the electronic module 1000 according to the first aspect of the invention allows to offer secure elements as a service to clients of the infrastructure. The secure elements assigned to a client are assigned thereto exclusively and in fact physically. This particular advantage of the invention allows to enhance the protection of data stored and / or generated by the client. The invention meets the requirements in terms of confidentiality and security when exchanging certain sensitive information, while still being flexible and scalable enough for an optimal management of the physical resources of the infrastructure. [Explanation of symbols]
[0106] 1000 Electronic Modules 1001 Electronic Card 1002 Communication Bus 1003 Module Controller 1004-1~1004-6 Communication Interface Cluster 1005-1~1005-6 1006-1~1006-n Secure Element 1007-1~1007-6 Common communication bus 1008 Volatile main memory 2001 Host Device
Claims
1. An electronic module (1000) connectable to a host device (2001), one or more clusters (1005-1;...;1005-6) of secure elements (1006-1;...;1006-6), each of said secure elements (1006-1;...;1006-6) of the same cluster (1005-1;...;1005-6) being connected to a common communication bus (1007-1;...;1007-6) associated to said cluster (1005-1;...;1005-6), an electronic module controller (1003) configured, on the one hand, to communicate with said host device (2001) and with said common communication bus (1007-1;...;1007-6) of each of said clusters (1005-1;...;1005-6), and, on the other hand, to control the execution of cryptographic operations by one or more secure elements (1006-1;...;1006-6); Including, the module controller (1003) is further configured to assign one or more secure elements (#1-1;...;#N-1) of one or more clusters (1005-1;...;1005-6) to one or more authenticated clients (C#1;...;C#N), each of the secure elements (#1-1;...;#N-1) assigned to each authenticated client (C#1;...;C#N) locally storing a unique master encryption key (CMK#1;...;CMK#N) specific to each of the authenticated clients (C#1;...;C#N); each of the secure elements (#1-1;...;#N-1) assigned to each of the authenticated clients (C#1;...;C#N) performs an encryption operation (OC) using an encryption key (SK-#1-1;...;SK#N-1) specific to each of the assigned secure elements (#1-1;...;#N-1), - each of the secure elements (#1-1; ...; #N-1) assigned to each of the authenticated clients (C#1; ...; C#N) is configured to decrypt input data (DE) of the encryption operation (OC) and / or to encrypt output data (DS) of the encryption operation (OC) using the unique master encryption key (CMK#1; ...; CMK#N), an electronic module (1000).
2. The electronic module (1000) of claim 1, wherein the module controller (1003) is configured to control, for one or more authenticated clients (C#1;...;C#N), the execution of the cryptographic operations (OC) by a subset of secure elements (SE) selected from among the secure elements (#1-1;...;#N-1) assigned to the authenticated clients (C#1;...;C#N).
3. 3. The electronic module (1000) of claim 2, wherein the module controller (1003) is configured to control, for one or more authenticated clients (C#1;...;C#N), the execution of a plurality of cryptographic operations (OC) by a subset (SE) of secure elements selected from among the secure elements (#1-1;...;#N-1) assigned to the authenticated clients (C#1;...;C#N), each of the cryptographic operations (OC) being respectively executed by one of the subsets (SE) of secure elements, and the number of secure elements of each of the subsets being defined by the authenticated clients (C#1;...;C#N).
4. 4. The electronic module (1000) of claim 3, wherein said cryptographic operations (OC) are performed in parallel and / or sequentially by each of said subset of secure elements (SE).
5. The electronic module (1000) of claim 1, wherein the assigned secure elements (#1-1;...;#N-1) are configured to locally store internally the results of one or more cryptographic operations (OC).
6. The electronic module (1000) of claim 1, wherein the module controller (1003) is configured to communicate with at least one database (BDD) and / or at least one third party application (APP) associated with an authenticated client.
7. 7. The electronic module (1000) of claim 6, wherein the module controller (1003) is configured to store in a database (BDD) the output data (DS) of a cryptographic operation (OC) performed by one or more assigned secure elements (#1-1; ...; #N-1) and / or to retrieve input data (DE) from the database (BDD) for processing by the cryptographic operation (OC) performed by one or more assigned secure elements (#1-1; ...; #N-1), the database (BDD) being such that it is associated with the authenticated client (C#1; ...; C#N) to which the secure element (#1-1; ...; #N-1) is assigned.
8. Electronic module (1000) according to claim 1, such that said cluster (1005-1;...;1005-6) of secure elements (1006-1;...;1006-6) are located on one or more physical media.
9. 1. A system comprising: - a host device (2001), One or more electronic modules (1000) according to any one of claims 1 to 8, which are connected to said host device (2001). A system including:
10. A method of constructing an electronic module (1000) according to claim 1, comprising the steps of: (a) registering at least one client from a list of authenticated clients (C#1; . . . ; C#N); (b) assigning, via said module controller (1003), one or more secure elements (#1-1;...; #N-1) of one or more clusters (1005-1;...; 1005-6) of secure elements (1006-1;...; 1006-6) to a single authenticated client from the list of authenticated clients (C#1;...; C#N); (c) defining, via the module controller (1003), a unique master encryption key (CMK#1; . . . ; CMK#N) specific to the one or more secure elements (#1-1; . . . ; #N-1) assigned in step (b); (d) storing said unique master encryption keys (CMK#1; . . . ; CMK#N) defined in step (c) locally within each assigned secure element (#1-1; . . . ; #N-1). The method includes:
11. 11. The method of claim 10, further comprising the step of changing the number of secure elements (#1-1; . . . ; #N-1) assigned to said client (C#1; . . . ; C#N) after step (d) based on a request from said client (C#1; . . . ; C#N).
12. A method for processing data in an electronic module (1000) according to claim 1, comprising: (a) authenticating connections of clients (C#1; . . . ; C#N) via the module controller (1003); (b) receiving, via said module controller (1003), from said authenticated clients (C#1; . . . ; C#N) a request to perform one or more cryptographic operations (OC); (c) controlling, via said module controller (1003), the execution of said cryptographic operations (OC) by one or more secure elements assigned to said authenticated clients (C#1; . . . ; C#N); (d) encrypting said one or more output data (ES) of said encryption operation (OC) using said unique master encryption keys (CMK#1; . . . ; CMK#N). The method includes:
13. A program comprising instructions which, when executed by a data processing unit, cause said data processing unit to carry out the steps of the method according to any one of claims 10 to 12.
14. An information medium readable by a data processing unit and comprising instructions which, when executed by the data processing unit, cause said processing unit to perform the steps of the method according to any one of claims 10 to 12.
15. Use of an electronic module (1000) according to any one of claims 1 to 8 in a cloud electronic infrastructure, in particular a cloud electronic infrastructure implemented in a single-tenant or multi-tenant architecture or in a virtualized architecture.
Citation Information
Patent Citations
Connectable electronic module comprising secured clusters of elements
EP3663945A1
IEC7816-15
Virtual cryptographic module with load balancer and cryptographic module fleet
US20200045028A1
Apparatus and method for providing hardware security
US9355280B2
Providing devices as a service
WO2014159750A1