Mutual authentication method and related electronic device, system and computer program
The proposed method addresses the insecurity of asymmetric cryptography against quantum computers by employing a two-phase authentication process with static keys and KEMs, ensuring secure and resource-efficient mutual authentication.
Patent Information
- Application Number
- JP2025525210
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-12-07
- Filing Date
- 2023-10-04
- Publication Date
- 2025-12-11
AI Technical Summary
Asymmetric cryptographic mutual authentication methods are becoming insecure with the advent of quantum computers, and existing post-quantum solutions place excessive strain on electronics due to large key sizes and memory consumption.
A method involving a two-phase authentication process using key encapsulation mechanisms (KEM) with static keys, where each party calculates authentication results based on challenges and shared secrets, reducing resource strain by using cryptographic signature functions and encapsulation/decapsulation operations.
This approach enhances security against quantum threats while minimizing the burden on electronic devices by optimizing resource usage through efficient key management and authentication processes.
Smart Images

Figure 2025539990000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to the field of computer cryptography, and more particularly to mutual authentication methods and related electronic devices, systems, and computer programs.
[0002] As is well known, in asymmetric cryptographic mutual authentication methods, each party in a communication publishes a public key and proves that it owns the private key that accompanies that public key by sending the other party a cryptographic signature created with that private key. If the signature can be verified with the public key, it means that the correct private key was used and the party that sent the signature is legitimate.
[0003] Such mutual authentication methods are specified, for example, by the industry association GSMA in the document 'RSP Technical Specification', typically in its version 2.3 dated 30 June 2021.
[0004] Such a mutual authentication method is performed, for example, by equipment in the telephone operator network and electronic equipment, typically an embedded universal integrated circuit card (eUICC) secure element integrated in a communication terminal.
[0005] However, with the advent of quantum computers, asymmetric signature mechanisms are becoming insecure, and it is therefore desirable to adjust the above-mentioned conventional schemes to ensure the security of this method against attackers with quantum computers.
[0006] In the course of a competition organized by NIST (National Institute of Standards and Technology), several post-quantum cryptographic algorithms have been proposed, in particular post-quantum signature mechanisms and post-quantum key encapsulation mechanisms, or "post-quantum KEMs."
[0007] Key encapsulation mechanisms allow the secure transmission of secrets to partners using asymmetric cryptographic algorithms.
[0008] As is well known, this generally involves two functions: -Encapsulation functions and -Decapsulation function Includes.
[0009] Typically, a key encapsulation mechanism between two parties proposes that the first party use the other party's public key and the encapsulation function of the key encapsulation mechanism to generate a random secret and an encryption of this secret, which is transmitted to the other party, who can obtain the thus-shared secret through decapsulation using his or her private key.
[0010] Post-quantum signatures require significant key sizes and / or significant intermediate variable sizes, and therefore consume large amounts of random access memory.
[0011] Asymmetric cryptographic post-quantum mutual authentication solutions, in which the authentication of each party is based on a key encapsulation mechanism and no longer on the signing of previously received data, have been proposed and can replace the traditional mutual authentication methods mentioned above.
[0012] However, such a solution is not entirely satisfactory, as it still places too much strain on the electronics.
[0013] To that end, the present invention relates to a method for mutual authentication between an electronic device and a system, the electronic device having a private key associated with a public key and the system having another private key associated with another public key, the method comprising: i) An authentication phase of the system, which comprises the following steps: - the electronic device identifying an authentication challenge, and then - the electronic device sending an authentication challenge to the system; and then - the system receiving an authentication challenge from the electronic device; and then - the system calculating a first authentication result based on the authentication challenge and the other secret key; and then - the system sending a first authentication result to the electronic device; and then - receiving a first authentication result from the system by the electronic device; and then - the electronic device authenticating the system using the authentication challenge, the first authentication result, and another secret key; an authentication phase of the system, including ii) An authentication phase for the electronic device, comprising the following steps: - the system identifies authentication data, and then - the system transmitting the authentication data to the electronic device; and thereafter - receiving authentication data from the system by the electronic device; and then - calculating, by the electronic device, a second authentication result based on the authentication data and the private key; and thereafter - the electronic device transmitting a second authentication result to the system; and then - the system receiving a second authentication result from the electronic device; and then - the system authenticating the electronic device using the second authentication result and the private key; an authentication phase for electronic devices, including: Including, This method is -- the system computes a first authentication result by applying a cryptographic signature function under another private key to reference data including the authentication challenge; - authenticating the system by the electronic device is performed by applying another public key cryptographic signature verification function to the first authentication result and the reference data including the authentication challenge; and - the authentication data and shared secret are determined by the system by applying the encapsulation function of the key encapsulation mechanism to the public key; - the electronic device's calculation of the second authentication result uses a shared secret obtained by applying a decapsulation function of the key encapsulation mechanism to the private key and the authentication data; - authenticating the electronic device by the system using a shared secret and a second authentication result obtained by applying an encapsulation function of the key encapsulation mechanism to the private key; It is characterized by:
[0014] The method may also comprise the optional features described below in relation to the method according to the first aspect and / or the method according to the second aspect, either alone or in any technically possible combination.
[0015] More specifically, what is proposed, according to a first aspect, is a method for mutual authentication between an electronic device and a system, the method being performed by the electronic device, the electronic device having a private key associated with a public key, the system having another private key associated with another public key, the method comprising: i) An authentication phase of the system, which comprises the following steps: - identifying an authentication challenge, and then - sending an authentication challenge to the system; and then - receiving a first authentication result from the system; and then - authenticating the system using the authentication challenge, the first authentication result, and the other public key; an authentication phase of the system, including ii) An authentication phase for the electronic device, comprising the following steps: - receiving authentication data from the system; and then - calculating a second authentication result based on the authentication data and the private key, and then - sending a second authentication result to the system; an authentication phase for electronic devices, including: Including, This method is - the system authentication step is performed by applying another public key cryptographic signature verification function to the first authentication result and the reference data including the authentication challenge; and - computing the second authentication result using a shared secret obtained by applying a decapsulation function of the key encapsulation mechanism to the private key and the authentication data; It is characterized by:
[0016] The method according to this first aspect may also include the following optional features, taken alone or in any technically possible combination:
[0017] The private key, public key, other private keys, and other public keys are static keys, i.e., each of these keys is used for multiple iterations of the method. The private key, public key, other private keys, and other public keys are therefore not ephemeral keys, which are keys that are generated for a particular iteration and are valid only for that iteration.
[0018] Computing the second authentication result includes computing a shared secret by applying a decapsulation function of the key encapsulation mechanism to the private key and the authentication data, then deriving a derived key with the shared secret, and then encrypting the input data with the derived key, where the second authentication result is a result of the encryption.
[0019] Computing the second authentication result includes computing a shared secret by applying a decapsulation function of the key encapsulation mechanism to the private key and the authentication data, then deriving a derived key based on the shared secret, and then computing an authentication code for authenticating the input data with the derived key, wherein the second authentication result is the computed authentication code.
[0020] The authentication challenge is an anti-replay challenge.
[0021] Each transmitting step and each receiving step involves simultaneous communication between the electronic device and the system.
[0022] The authentication challenge is different for each iteration of the method.
[0023] The electronic device determines the authentication challenge through random sampling or by incrementing a counter.
[0024] The reference data is the concatenation of the authentication data and the authentication challenge.
[0025] The derived key is obtained by applying a key derivation function to the shared secret or to the concatenation of the shared secret and the authentication challenge.
[0026] A secure channel for subsequent data exchange between the electronic device and the system is established based on the derived key.
[0027] The method further includes receiving the encrypted and / or authenticated data from the system, along with at least one exchange key calculated based on the derived key, and transmitting the encrypted and / or authenticated data to the system.
[0028] The system authentication phase consists of the following steps: - receiving a certificate of the other public key from the system; and then - verifying the validity of the received certificate; further comprising The Electronic Device Authentication phase consists of the following steps: - Sending the public key certificate to the system Further includes:
[0029] The method comprises the following steps: - receiving a temporary public key from the system; - obtaining another shared secret and corresponding encryption by applying an encapsulation function of another key encapsulation mechanism to the ephemeral public key; - deriving another derived key based on another shared secret; - sending a cipher corresponding to the other shared secret to the system; further comprising - transmitting the public key certificate to the system includes transmitting to the system a result of encrypting data including the public key certificate with another derived key; The step of receiving a certificate of the other public key from the system includes decrypting data sent by the system with the other derived key.
[0030] The authentication challenge is a cipher of data that contains a cipher or public key certificate corresponding to another shared secret.
[0031] Another receiving step involves decrypting the data transmitted by the system with another derived key.
[0032] Also contemplated, according to a second aspect, is a method of mutual authentication between an electronic device and a system, the method being performed by the system, the electronic device having a private key associated with a public key, the system having other private keys associated with other public keys, the method comprising: i) A system authentication phase comprising the following steps: - receiving an authentication challenge from the electronic device; and then - calculating a first authentication result based on the authentication challenge and the other secret key; and then - sending a first authentication result to the electronic device; a system authentication phase including: ii) An electronic device authentication phase, comprising the following steps: - identifying authentication data, and then - transmitting authentication data to the electronic device, and then - receiving a second authentication result from the electronic device; and then - authenticating the electronic device using the second authentication result and the public key; an electronic device authentication phase including: Including, The method is: - the first authentication result is computed by applying a cryptographic signature function under another private key to reference data that includes the authentication challenge; and - the authentication data and shared secret are identified by applying the encapsulation function of the key encapsulation mechanism to the public key; - the electronic device authentication step uses a shared secret and a second authentication result; It is characterized by:
[0033] The method according to the second aspect may also include the following optional features, taken alone or in any technically possible combination:
[0034] The private key, public key, other private keys, and other public keys are static keys, i.e., each of these keys is used for multiple iterations of the method. The private key, public key, other private keys, and other public keys are therefore not ephemeral keys, which are keys that are generated for a particular iteration and are valid only for that iteration.
[0035] The electronic device authentication step includes obtaining a derived key based on the shared secret and then comparing candidate data with expected data, where the candidate data is a second authentication result and the expected data is obtained by encrypting input data with the derived key, or the expected data is the input data and the candidate data is obtained by decrypting the second authentication result with the derived key.
[0036] The electronic device authentication step includes obtaining a derived key based on a shared secret and then comparing candidate data with expected data, where the candidate data is a second authentication result and the expected data is obtained by calculating an authentication code, such as a hash-based authentication code or an encryption-based authentication code, i.e., a Galois authentication code, for authenticating the input data with the derived key.
[0037] The electronic device is authenticated if the candidate data and the expected data are the same.
[0038] Each transmitting step and each receiving step involves simultaneous communication between the electronic device and the system.
[0039] The authentication challenge is an anti-replay challenge.
[0040] The authentication challenge is different for each iteration of the method.
[0041] The electronic device determines the authentication challenge through random sampling or by incrementing a counter.
[0042] The reference data is the concatenation of the authentication data and the authentication challenge.
[0043] The derived key is obtained by applying a key derivation function to the shared secret and the result of the concatenation of the shared secret and the authentication challenge.
[0044] A secure channel for subsequent data exchange between the electronic device and the system is established based on the derived key.
[0045] The method further includes receiving from or transmitting to the electronic device the encrypted and / or authenticated data together with at least one exchange key calculated based on the derivative key.
[0046] The system authentication phase consists of the following steps: - transmitting the certificate of the other public key to the electronic device. further comprising The authentication phase of an electronic device consists of the following steps: - receiving a public key certificate from the electronic device; and then - verifying the validity of the received certificate; Further includes:
[0047] The method is: - transmitting a temporary public key associated with the temporary private key to the electronic device; - receiving from the electronic device a cryptogram corresponding to the other shared secret; - applying a decapsulation function of the other key encapsulation mechanism to the ephemeral private key and the received cipher to obtain the other shared secret; - deriving another derived key based on another shared secret; further comprising - receiving a public key certificate from the electronic device includes decrypting data transmitted by the electronic device with the other derived key; The step of transmitting the certificate of the other public key to the electronic device includes transmitting to the electronic device a result of encryption, with the other derivative key, of data including the certificate of the other public key.
[0048] The data including the certificate of the other public key is the certificate of the other public key, or the result of concatenating the certificate of the other public key and the first authentication result, or the result of concatenating the certificate of the other public key and authentication data, or the result of concatenating the other public key, the first authentication result, and authentication data.
[0049] The authentication challenge is a cryptographic response to another shared secret or data transmitted by the electronic device.
[0050] The steps of transmitting the first authentication result to the electronic device and transmitting the authentication data to the electronic device include encrypting the transmitted data with another derived key.
[0051] Also proposed, according to a third aspect, is a computer program comprising instructions executable by a processor, the instructions being designed to perform the aforementioned mutual authentication method according to the first aspect when the instructions are executed by the processor.
[0052] Also proposed, according to a fourth aspect, is a computer program comprising instructions executable by a processor, the instructions being designed to, when executed by the processor, perform the aforementioned mutual authentication method according to the second aspect.
[0053] Also proposed, according to a fifth aspect, is an electronic device including means designed to perform the aforementioned mutual authentication method according to the first aspect.
[0054] The invention particularly relates to an electronic device including a memory for storing a private key associated with a public key, the electronic device being designed to cooperate with a system having other private keys associated with other public keys, the electronic device comprising: i) The following steps: - identifying an authentication challenge, and then - sending an authentication challenge to the system; and then - receiving a first authentication result from the system; and then - authenticating the system with the authentication challenge, the first authentication result, and the other public key; a first module configured to perform an authentication phase of the system, the first module including: ii) The following steps: - receiving authentication data from the system; and then - calculating a second authentication result based on the authentication data and the private key, and then - sending a second authentication result to the system; a second module configured to perform an authentication phase of the electronic device, the second module including: Including, Electronic devices include: - the first module is configured to perform an authentication step of the system by applying another public key cryptographic signature verification function to the first authentication result and to reference data including the authentication challenge; - the second module is configured to calculate a second authentication result using a shared secret obtained by applying a decapsulation function of the key encapsulation mechanism to the private key and the authentication data; It is characterized by:
[0055] The electronic device may be configured to perform each of the implementation options envisaged for the aforementioned mutual authentication method according to the first aspect.
[0056] What is proposed, according to a sixth aspect, is a system including means designed to carry out the aforementioned mutual authentication method according to the second aspect.
[0057] The present invention relates in particular to a system designed to cooperate with an electronic device having a private key associated with a public key, the system including a memory for storing other private keys associated with other public keys, the system comprising: i) The following steps: - receiving an authentication challenge from the electronic device; and then - calculating a first authentication result based on the authentication challenge and the other secret key; and then - sending a first authentication result to the electronic device; a first module configured to perform an authentication phase of the system, the first module including: ii) The following steps: - identifying authentication data, and then - transmitting authentication data to the electronic device, and then - receiving a second authentication result from the electronic device; and then - authenticating the electronic device with the second authentication result and the public key; a second module configured to perform an authentication phase of the electronic device, the second module including: Including, The system is - the first module is configured to calculate a first authentication result by applying a cryptographic signature function under the other private key to reference data including the authentication challenge; - the second module is configured to identify authentication data and a shared secret by applying an encapsulation function of the key encapsulation mechanism to the public key, and to perform an authentication step of the electronic device using the shared secret and the second authentication result; It is characterized by:
[0058] The system may be configured to perform each of the implementation options envisaged for the aforementioned mutual authentication method according to the second aspect.
[0059] Of course, the various features, variations, and embodiments of the invention can be combined with each other in various combinations, unless they are inconsistent or mutually exclusive.
[0060] Other characteristics and advantages of the present invention will become apparent from the following description, taken in conjunction with the accompanying drawings, which show exemplary embodiments of the invention, entirely of a non-limiting nature, in which: FIG.
[0061] In the figure, FIG. 1 shows a schematic representation of the main elements of an electronic device and system in which the present invention is implemented. FIG. 2 shows in the form of a flow chart the main steps of a mutual authentication method according to a first mode of implementation of the invention. FIG. 3 shows in the form of a flow chart the main steps of a mutual authentication method according to a second implementation mode of the invention.
[0062] Unless otherwise indicated, elements that are common to multiple drawings or similar elements in multiple drawings are designated with the same reference numeral and have the same or similar characteristics, and therefore, for the sake of brevity, these common elements will generally only be described once.
[0063] For purposes of this description, the modifiers "first" and "second" merely serve as identifiers to distinguish between the elements they modify and do not imply any ordering thereof.
[0064] 1 shows a schematic representation of the main elements of an electronic device 10 and a system 20 in which the present invention is implemented. The electronic device 10 and the system 20 can cooperate to, among other things, perform a method of mutual authentication between the electronic device 10 and the system 20.
[0065] The electronic device 10 has a private key (neither shown) that is associated with the public key.
[0066] In the first example, the private and public keys are RSA-KEM keys, as described in RFC 5990: Use of the RSA-KEM Key Transport Algorithm in the Cryptographic Message Syntax (CMS), by Randall & al., dated September 2010, https: / / www.rfc-editor.org / rfc / rfc5990.html#appendix-A.
[0067] According to the second example, the private and public keys are ECIES keys, which are described in the document BSI TR-02102-1: BSI-Technical Guideline-Cryptographic Mechanisms: Recommendation and Key Lengths, version 2022-01, dated January 28, 2022, https: / / www.bsi.bund.de / SharedDocs / Downloads / EN / BSI / Publication / TechGuidelines / TG02102 / BSI-TR-02102-1.pdf?_blob=publicationFile.
[0068] According to a third example, the private and public keys are Crystals-Kyber keys, which are described at the Crystals-Cryptographic Suite for Algebraic Lattices, https: / / pq-crystals.org / kyber / index.shtml site.
[0069] According to a fourth example, the private and public keys are NTRU keys, which are described in the NIST post-quantum standardization effort, http: / / ntru.org / .
[0070] The private and public keys are static keys, i.e., each of these keys is used to perform multiple iterations of the mutual authentication method according to the invention (typically one of the methods described with reference to Figures 2 and 3). Thus, the private and public keys are not ephemeral keys; ephemeral keys are keys that are generated for a specific iteration and are valid only for that iteration.
[0071] System 20 has other private keys (neither shown) that are associated with other public keys.
[0072] According to a first example, the other private key and the other public key are RSA or ECDSA keys, which are described in the document FIPS PUB 186-4, Digital Signature Standard, by Information Technology Laboratory National Institute of Standards and Technology, and dated July 2013, https: / / nvlpubs.nist.gov / nistpubs / FIPS / NIST.FIPS.186-4.pdf.
[0073] According to a second example, the other private key and the other public key are Crystals-Dilithium keys, which are described on the Crystals-Cryptographic Suite for Algebraic Lattices, https: / / pq-crystals.org / dilithium / site.
[0074] According to a third example, the other private key and the other public key are Falcon keys, which are described at the site Falcon - Fast-Fourier Lattice-based Compact Signatures over NTRU, https: / / falcon-sign.info / .
[0075] According to a fourth example, the other private key and the other public key are Sphinx+ keys, which are described on the Sphinx+ Stateless hash-based signatures, https: / / sphincs.org / site.
[0076] According to a fifth example, the other private key and the other public key are LMS or XMSS keys, which are described in the document NIST SP 800-208, Recommendation for stateful Hash-Based signature Schemes, by National Institute of Standards and Technology, and dated October 2020, https: / / nvlpubs.nist.gov / nistpubs / SpecialPublications / NIST.SP.800-208.pdf.
[0077] It should be noted that the private keys and public keys may be of different types than other private keys and other public keys.
[0078] For example, the private key and the public key may be NTRU keys, while the other private key and the other public key are Crystals-Kyber keys.
[0079] The other private key and the other public key are static keys, i.e., each of these keys is used to perform multiple iterations of the mutual authentication method according to the invention (typically one of the methods described with reference to Figures 2 and 3). Thus, the other private key and the other public key are not ephemeral keys, which are keys that are generated for a specific iteration and are valid only for that iteration.
[0080] FIG. 1 thus illustrates diagrammatically an electronic device 10 including a processor 4 (eg a microprocessor), a storage unit 6, a random access memory 8 and a communication unit 2.
[0081] The random access memory 8 and the storage unit 6 are each coupled to the processor 4 so that the processor 4 can read and write data from and to the storage unit and / or the random access memory 8 .
[0082] The storage unit 6 stores computer program instructions, some of which, when executed by the processor 4, are designed to perform, in particular in cooperation with the system 20, mutual authentication methods such as at least one of those described with respect to Figures 2 and 3.
[0083] The storage unit 6 may for example actually be a hard drive or a non-volatile memory, possibly rewritable, such as an EEPROM (electrically erasable and programmable read-only memory).
[0084] The random access memory 8 may itself store at least some of the elements handled during various processing operations performed in at least one of the methods described below (in particular the authentication challenge, authentication data, first authentication result, and / or second authentication result described below with reference to Figures 2 and 3).
[0085] Furthermore, the storage unit 6 and / or the random access memory 8 may store private keys and / or public keys and / or public key certificates.
[0086] In the remainder of the invention, both the storage unit 6 and the random access memory 8 will be referred to as memory.
[0087] The electronic device 10 also includes several modules not shown.
[0088] Typically, the electronic device 10 includes a first module configured to perform an authentication phase of the system 20 and a second module configured to perform an authentication phase of the electronic device 10. The electronic device 10 may also include a third module for security purposes.
[0089] These modules may actually be formed by a combination of hardware and software elements.
[0090] Each module of the first module and the second module is configured to perform the steps of the phases described in the method according to the invention and disclosed below, and therefore has the functionality described in the method according to the invention and disclosed below.
[0091] The third module for security protection is configured to perform the other steps described with respect to FIG.
[0092] Thus, for each module, the electronic device 10 uses, for example, hardware elements (for example, a communication unit or a memory) and therefore stores software instructions executable by the processor 4 to carry out the functionality provided by that module.
[0093] According to one implementation option, the computer program instructions stored in the storage unit 6 were received (e.g., from a remote computer) during a previous operation phase of the electronic device 10 of the method described with reference to Figures 2 and 3.
[0094] The communication unit 2 is connected to the processor 4, which enables the processor 4 to receive data m from the system 20, such as the first authentication result and authentication data described with reference to Figures 2 and 3, and / or to transmit data m to the system 20, such as the authentication challenge and second authentication result described with reference to Figures 2 and 3.
[0095] The electronics may take a variety of forms (not shown).
[0096] According to a first example, the electronic device is a chip card, for example an identity card, a bank card or a Universal Integrated Circuit Card (also known as UICC).
[0097] According to a second example, the electronic device is a secure element, for example a secure microcontroller integrated into another electronic device, typically a telecommunications terminal or a motor vehicle.
[0098] According to other examples, the electronic device is a USB key or an identity card, for example an electronic passport.
[0099] FIG. 1 also shows a schematic representation of a system 20 .
[0100] The system 20 includes a processor 14 (eg, a microprocessor), a storage unit 16 , a random access memory 18 , and a communication unit 12 .
[0101] Random access memory 18 and storage unit 16 are each coupled to processor 14 so that processor 14 can read and write data from and to storage unit 16 and / or random access memory 18 .
[0102] The storage unit 16 contains computer program instructions, some of which, when executed by the processor 14, are designed to perform, in particular in cooperation with the electronic device 10, mutual authentication methods such as at least one of those described with respect to Figures 2 and 3.
[0103] Storage unit 16 may, for example, actually be a hard drive or non-volatile memory, such as an EEPROM (electrically erasable and programmable read-only memory), possibly being overwritable.
[0104] The random access memory 18 may itself store at least some of the elements handled during various processing operations performed in at least one of the methods described below (in particular the authentication challenge, authentication data, first authentication result, and / or second authentication result described below with respect to Figures 2 and 3).
[0105] Additionally, storage unit 16 and / or random access memory 18 may store other private keys and / or other public keys and / or certificates for other public keys.
[0106] In the remainder of the invention, both the storage unit 16 and the random access memory 18 will be referred to as memory.
[0107] System 20 also includes several modules not shown.
[0108] Typically, system 20 includes a first module configured to perform an authentication phase of system 20 and a second module configured to perform an authentication phase of electronic device 10. System 20 may also include a third module for security purposes.
[0109] These modules may actually be formed by a combination of hardware and software elements.
[0110] Each module of the first module and the second module is configured to perform the steps of the phases described in the method according to the invention and disclosed below, and therefore has the functionality described in the method according to the invention and disclosed below.
[0111] The third module for security protection is configured to perform the other steps described with respect to FIG.
[0112] Thus, for each module, the system 20 uses, for example, hardware elements (eg, a communication unit or a memory) to store software instructions executable by the processor 14 to perform the functionality provided by that module.
[0113] According to one implementation option, the computer program instructions stored in the storage unit 16 were received (e.g., from a remote computer) during a previous operational phase of the system 20 of the method described with respect to Figures 2 and 3.
[0114] The communication unit 12 is connected to the processor 14, which enables the processor 14 to receive data n from the electronic device 10, such as the authentication challenge and second authentication result described with reference to Figures 2 and 3, and / or transmit data n to the electronic device 10, such as the first authentication result and authentication data described with reference to Figures 2 and 3.
[0115] The system may take various forms (not shown), such as a server, a communications terminal, a computer, or an electronic installation of a telecommunications network.
[0116] FIG. 2 shows in the form of a flow chart the main steps of a mutual authentication method according to a first mode of implementation of the invention.
[0117] The method is performed by an electronic device 10, which has a private key associated with a public key and cooperates with a system 20, and is also performed by a system 20, which has another private key associated with another public key and cooperates with the electronic device 10.
[0118] Typically, electronic device 10 will have a private key in at least one of its memories, and system 20 will have other private keys in at least one of its memories.
[0119] Additionally, electronic device 10 may have public keys in at least one of its memories, and system 20 may have other public keys in at least one of its memories.
[0120] In a step of transmitting the electronic device's authentication (step E200), the system 20 transmits the certificate of the other public key to the electronic device 10, typically using its communication unit 12.
[0121] In a step of receiving a certificate from the system (step E210), the electronic device 10 receives a certificate of another public key from the system 20, typically by means of its communication unit 2.
[0122] The method then includes a certificate verification step (step E220) in which the electronic device 10 verifies the validity of the certificate of the other public key received.
[0123] In this way, the security of the mutual authentication method is increased.
[0124] In this way, the electronic device can verify that other public keys and other private keys have been issued by entities that have been verified as valid by trusted authorities. The electronic device can therefore associate other public keys with the system and verify the validity of said other public keys.
[0125] A certificate of another public key may consist of a concatenation of the other public key and a cryptographic signature of said other public key, made with, for example, a private certificate key issued by a trusted authority. Alternatively, a certificate of another public key may consist of a certificate chain, one of which contains a concatenation of the other public key and a cryptographic signature of said other public key, made with, for example, an intermediate private certificate key issued by an intermediate authority, the validity of which is verified by a trusted authority via said certificate chain.
[0126] The electronic device 10 can then verify the received certificate of the other public key by verifying the signature with the public certificate key associated with the private certificate key.
[0127] Typically, the electronic device 10 has the public certificate key, for example in one of its memories.
[0128] According to one implementation option, the electronic device 10 has previously received the public certificate key (eg from a remote computer) during an operational phase of the electronic device 10 prior to the method described herein.
[0129] In the step of identifying an authentication challenge (step E300), the electronic device 10 identifies an authentication challenge.
[0130] An authentication challenge is data from which the system 20 calculates a response using another public key.
[0131] In the method of the present invention, the authentication challenge is not, and is not used as, a cryptographic key.
[0132] This method limits the strain on the resources of the electronic device.
[0133] Preferably, the authentication challenge is an anti-replay challenge.
[0134] Typically, the authentication challenge is different for each iteration of the method. For example, the electronic device may determine the authentication challenge through random sampling or by incrementing a counter.
[0135] The method therefore protects mutual authentication against replay attacks, while not limiting the processing operations performed by the electronic device.
[0136] The method then comprises a step of transmitting an authentication challenge to the system (step E310), in which the electronic device 10 transmits the authentication challenge to the system 20, typically by means of its communication unit 2.
[0137] The method then includes a step of receiving an authentication challenge from the electronic device (step E320), in which the system 20 receives the authentication challenge from the electronic device, typically by means of its communication unit 12 .
[0138] The method then includes a step of calculating a first authentication result (step E330), in which the system 20 calculates said first authentication result based on the authentication challenge and the other public key. The system 20 calculates the first authentication result by applying a cryptographic signature function by the other public key to reference data including the authentication challenge. The first result is therefore typically a signature of the reference data by the other private key.
[0139] The reference data is identified by the system based on an authentication challenge received from the electronic device.
[0140] Some examples of signature functions have been given in the references cited above for other private key and other public key examples.
[0141] Typically, if the other private key and other public key are Crystals-Dilithium keys as described in the Crystals-Cryptographic Suite for Algebraic Lattices, https: / / pq-crystals.org / dilithium / , then the signing function is as described in that document.
[0142] The method implemented by the system therefore invokes the cryptographic signature function rather than the decapsulation function of the key encapsulation mechanism to authenticate the system.
[0143] The method then includes a step of transmitting the first authentication result to the electronic device (step E340), in which the system 20 transmits the first authentication result to the electronic device 10, typically by means of its communication unit 12.
[0144] The method then includes a step of receiving a first authentication result from the system (step E350), in which the electronic device 10 receives the first authentication result from the system 20, typically by means of its communication unit 2.
[0145] The method then includes a step of authenticating the system (step E360), in which the electronic device 10 authenticates the system 20 with the authentication challenge, the first authentication result, and the other public key. The electronic device 10 authenticates the system 20 by applying a cryptographic signature verification function with the other public key to the first authentication result and other reference data including the authentication challenge.
[0146] The other reference data is determined based on an authentication challenge sent to the system by the electronic device.
[0147] The reference data and other reference data must be determined by the system 20 and the electronic device 10, respectively, using similar algorithms.
[0148] For example, if the reference data is an authentication challenge received by the system from an electronic device, the other reference data is an authentication challenge sent by the electronic device to the system.
[0149] The cryptographic signature verification function is a cryptographic function associated with the signature function used by the system during the step of calculating the first authentication result (step E330).
[0150] The method implemented by the electronic device therefore invokes the cryptographic signature verification function rather than the encapsulation function of the key encapsulation mechanism to authenticate the system.
[0151] This way the burden on the resources of the electronic device is limited.
[0152] The steps of sending the certificate to the electronic device (step E200), receiving the certificate from the system (step E210), certificate validation (step E220), identifying an authentication challenge (step E300), sending the authentication challenge to the system (step E310), receiving the authentication challenge from the electronic device (step E320), calculating a first authentication result (step E330), sending the first authentication result to the electronic device (step E340), receiving the first authentication result from the system (step E350), and authenticating the system (step E360) are included in the authentication phase (phase P1) of the system.
[0153] The authentication phase of the system is typically performed by a first module of the system 20 and a first module of the electronic device 10 .
[0154] The first module of the system 20 may therefore perform the steps of sending a certificate to the electronic device (step E200), receiving an authentication challenge from the electronic device (step E320), calculating a first authentication result (step E330), and sending the first authentication result to the electronic device (step E340).
[0155] The first module of the electronic device 10 may perform the steps of receiving a certificate from the system (step E210), a certificate verification step (step E220), identifying an authentication challenge (step E300), sending the authentication challenge to the system (step E310), receiving a first authentication result from the system (step E350), and authenticating the system (step E360).
[0156] In a step of transmitting the certificate to the system (step E400), the electronic device 10 transmits the public key certificate to the system 20, typically using its communication unit 2.
[0157] In a step of receiving a certificate from the electronic device (step E410), the system 20 receives a public key certificate from the electronic device 10, typically by means of its communication unit 12.
[0158] The method then includes another certificate verification step (step E420) in which the system 20 verifies the validity of the certificate of the received public key.
[0159] In this way, the security of the mutual authentication method is improved.
[0160] In this way, the system can verify that the public and private keys were issued by an entity that has been validated by a trusted authority. The system can then associate the public key with an electronic device and verify the validity of the public key.
[0161] A public key certificate may consist of a concatenation of a public key and a cryptographic signature of said public key made with other private certificate keys, for example issued by a trusted authority. Alternatively, a public key certificate may consist of a certificate chain, one of which contains a concatenation of a public key and a cryptographic signature of said public key made with other intermediate private certificate keys, for example issued by intermediate authorities, whose validity is verified by a trusted authority via said certificate chain.
[0162] The system 20 may then verify the certificate of the received public key by verifying the signature with another public certificate key associated with another private certificate key.
[0163] Typically, the system 20 has other public certificate keys, for example in one of its memories.
[0164] According to one implementation option, the system 20 has previously received the other public certificate key (eg, from a remote computer) during an operational phase of the system 20 prior to the method described herein.
[0165] The other public certificate key and other private certificate key may be the public certificate key and private certificate key described above, respectively.
[0166] In the step of identifying authentication data (step E500), the system 20 identifies the authentication data and the shared secret by applying the encapsulation function of the key encapsulation mechanism to the public key. The authentication data is an encryption of the shared secret.
[0167] Some examples of encapsulation functions for encapsulation mechanisms are given in the references cited above for private and public key examples.
[0168] Typically, if the private and public keys are RSA-KEM keys as described in RFC 5990: Use of the RSA-KEM Key Transport Algorithm in the Cryptographic Message Syntax (CMS), by Randall & al., dated September 2010, https: / / www.rfc-editor.org / rfc / rfc5990.html#appendix-A, then the encapsulation function of the encapsulation mechanism is as described therein.
[0169] Therefore, the method performed by the system invokes the encapsulation function of the key encapsulation mechanism to authenticate the electronic device, rather than the cryptographic signature verification function.
[0170] The method then includes a step of transmitting authentication data to the electronic device (step E510), in which the system 20 transmits the authentication data to the electronic device 10, typically using its communication unit 12.
[0171] The method then includes a step of receiving authentication data (step E520), in which the electronic device 10 receives the authentication data from the system 20, typically by means of its communication unit 2.
[0172] The method then includes a step of calculating a second authentication result (step E530), in which the electronic device 10 calculates the second authentication result based on the authentication data and the private key. The electronic device 10 calculates the second authentication result using a shared secret obtained by applying a decapsulation function of the key encapsulation mechanism to the private key and the authentication data.
[0173] Some examples of decapsulation functions for encapsulation mechanisms are given in the references cited above for private and public key examples.
[0174] Typically, if the private and public keys are RSA-KEM keys as described in RFC 5990: Use of the RSA-KEM Key Transport Algorithm in the Cryptographic Message Syntax (CMS), by Randall & al., dated September 2010, https: / / www.rfc-editor.org / rfc / rfc5990.html#appendix-A, then the decapsulation function of the encapsulation mechanism is as described therein.
[0175] According to a first option, calculating the second authentication result comprises calculating a shared secret by applying a decapsulation function of the key encapsulation mechanism to the private key and the authentication data, then obtaining a derived key based on the shared secret, and then encrypting the input data with the derived key, the second authentication result being a result of said encryption, the derived key being used here as the encryption key.
[0176] The derived key may be obtained by applying a prior art key derivation function to the shared secret or to the concatenation of the shared secret and the authentication challenge.
[0177] According to another example, the derived key is a shared secret.
[0178] The shared secret allows the system to introduce an element of randomness into the calculation of the derived key at each iteration of the method.
[0179] The authentication challenge also allows the electronic device to introduce an element of randomness into the calculation of the derived key.
[0180] According to a second option, computing the second authentication result includes computing a shared secret by applying a decapsulation function of the key encapsulation mechanism to the private key and the authentication data, then deriving a derived key based on the shared secret, and then computing an authentication code to authenticate the input data with the derived key, such as the hash-based authentication code proposed in FIPS PUB198-1 “The Keyed-Hash Message Authentication Code” by NIST and dated July 2008, or the cipher-based authentication code proposed in NIST.SP.800-38B “Recommendation for Block Cipher Mode of Operation: The CMAC Mode for Authentication” by NIST and dated May 2005, or the Galois authentication code proposed in NIST.SP.800-38D “Recommendation for Block Cipher Modes of Operation: Galois / Counter Mode (GCM) and GMAC” by NIST and dated November 2007. The second authentication result is then the computed authentication code. The derived key is then used as the key to calculate an authentication code to authenticate the input data.
[0181] Similar to the first option, a derived key can be obtained by applying a prior art key derivation function to the shared secret and the concatenation of the shared secret and the authentication challenge.
[0182] Further similar to the first option, the derived key may, according to another example, be a shared secret.
[0183] The shared secret allows the system to introduce an element of randomness into the calculation of the derived key at each iteration of the method.
[0184] The authentication challenge also allows the electronic device to introduce an element of randomness into the calculation of the derived key.
[0185] Therefore, the method performed by the electronic device invokes the decapsulation function of the key encapsulation mechanism, rather than the cryptographic signature function, to authenticate the electronic device.
[0186] This way, the method limits the burden on the resources of the electronic device.
[0187] The method then includes a step of transmitting the second authentication result to the system (step E540), in which the electronic device 10 transmits the second authentication result to the system 20, typically using its communication unit 2.
[0188] The method then includes a step of receiving a second authentication result from the electronic device (step E550), in which the system 20 receives the second authentication result from the electronic device 10, typically by means of its communication unit 12.
[0189] The method then includes a step of authenticating the electronic device 10 (step E560), in which the system 20 authenticates the electronic device 10 using the second authentication result and the public key. The system authenticates the electronic device using the shared secret (determined by the system 20 based on the public key during the step of determining the authentication data, i.e. during step E500) and the second authentication result.
[0190] If the step of calculating the second authentication result (step E530) is carried out according to the first option described above for this step, the step of authenticating the electronic device comprises obtaining a derived key based on the shared secret and then comparing the candidate data with the expected data. The electronic device is authenticated if the candidate data and the expected data are the same.
[0191] The candidate data is the second authentication result, and the expected data is obtained by encrypting the input data with the derived key, or the expected data is the input data, and the candidate data is obtained by decrypting the second authentication result with the derived key, which is used as the encryption or decryption key.
[0192] The input data may be any data known to the system 20 and electronic device 10, such as an authentication challenge, authentication data, the concatenation of the authentication challenge and authentication data, or other data that the system 20 and electronic device 10 have previously received, typically during an operational phase of the electronic device 10 and system 20 prior to the methods described herein.
[0193] The encryption or decryption operation carried out by the system 20 here is carried out according to the cryptographic algorithm associated with the encryption operation carried out by the electronic device 10 during the step of calculating the second authentication result (step E530), for example AES.
[0194] Furthermore, the derived key is obtained by the system 20 in a manner similar to that in which it was obtained by the electronic device 10 .
[0195] According to a first example, if the electronic device obtains a derived key by applying a prior art key derivation function to the shared secret identified during the step of calculating the second authentication result (step E530), the system calculates the derived key by applying this derivation function to the shared secret identified during the step of identifying the authentication data (step E500).
[0196] According to a second example, if the electronic device obtains a derived key by applying a prior art key derivation function to a concatenation of the shared secret and the authentication challenge, the shared secret being identified during the step of calculating a second authentication result (step E530) and the authentication challenge being identified during the step of identifying the authentication challenge (step E300), the system calculates a derived key by applying this derivation function to another concatenation of the shared secret and the authentication challenge, the shared secret being identified during the step of identifying the authentication data (step E500) and the authentication challenge being received during the step of receiving the authentication challenge from the electronic device (step E320).
[0197] According to a third example, if the derived key obtained by the electronic device is the shared secret identified during the step of calculating the second authentication result (step E530), the derived key calculated by the system is the shared secret identified during the step of identifying the authentication data (step E500).
[0198] If the step of calculating a second authentication result (step E530) is performed according to the second option described above for this step, the step of authenticating the electronic device comprises obtaining a derived key based on the shared secret and then comparing candidate data with expected data, the candidate data being the second authentication result and the expected data being obtained by calculating an authentication code for authenticating the input data with the derived key. The derived key is used as a key for calculating the authentication code for authenticating the input data. The electronic device is authenticated if the candidate data and the expected data are the same.
[0199] The input data may be any data known to the system 20 and electronic device 10, such as an authentication challenge, authentication data, the concatenation of the authentication challenge and authentication data, or other data that the system 20 and electronic device 10 have previously received, typically during an operational phase of the electronic device 10 and system 20 prior to the methods described herein.
[0200] The authentication code is obtained by the system 20 in the same manner as it is obtained by the electronic device 10 .
[0201] For example, if electronic device 10 specifies an authentication code as suggested in the publication FIPS PUB198-1 “The Keyed-Hash Message Authentication Code” by NIST and dated July 2008, system 20 also specifies an authentication code as suggested in that publication.
[0202] Furthermore, as in the first option, the derived key is obtained by the system 20 in the same manner as it was obtained by the electronic device 10 .
[0203] The step of sending the certificate to the system (step E400), the step of receiving the certificate from the electronic device (step E410), the step of verifying other certificates (step E420), the step of identifying authentication data (step E500), the step of sending authentication data to the electronic device (step E510), the step of receiving authentication data (step E520), the step of calculating a second authentication result (step E530), the step of sending the second authentication result to the system (step E540), the step of receiving the second authentication result from the electronic device (step E550), and the step of authenticating the electronic device (step E560) are included in the authentication phase of the electronic device (phase P2).
[0204] This authentication phase of the electronic device is typically performed by a second module of the system 20 and a second module of the electronic device 10 .
[0205] The second module of the system 20 may therefore perform the steps of receiving a certificate from the electronic device (step E410), verifying other certificates (step E420), identifying authentication data (step E500), transmitting the authentication data to the electronic device (step E510), receiving a second authentication result from the electronic device (step E550), and authenticating the electronic device (step E560).
[0206] The second module of the electronic device 10 may perform the steps of sending the certificate to the system (step E400), receiving authentication data (step E520), calculating a second authentication result (step E530), and sending the second authentication result to the system (step E540).
[0207] This method limits the strain on the resources of the electronic device.
[0208] In a method performed by an electronic device, a decapsulation function of the key encapsulation mechanism is invoked rather than a cryptographic signature function to authenticate the electronic device, and a cryptographic signature verification function is invoked rather than an encapsulation function of the key encapsulation mechanism to authenticate the system.
[0209] In a method performed by the system, a cryptographic signature function of the key encapsulation mechanism is invoked rather than a decapsulation function of the key encapsulation mechanism to authenticate the system, and an encapsulation function of the key encapsulation mechanism is invoked rather than a cryptographic signature verification function to authenticate the electronic device.
[0210] The method implemented by the system therefore allows an electronic device to invoke the decapsulation function of the key encapsulation mechanism rather than the cryptographic signature function to authenticate the electronic device, and to invoke the cryptographic signature verification function rather than the encapsulation function of the key encapsulation mechanism to authenticate the system.
[0211] The method is particularly suitable for mutual authentication between an electronic device and a system, with simultaneous communication between said electronic device and said system.
[0212] Therefore, in one particular implementation mode, each sending step (typically, sending an authentication challenge to the system, sending a certificate to the system, and sending a second authentication result to the system) and each receiving step (typically, receiving a certificate from the system, receiving a first authentication result from the system, and receiving authentication data) performed by the electronic device involves simultaneous communication between the electronic device and the system.
[0213] In this particular implementation mode, each sending step (typically a step of sending a certificate to the electronic device, a step of sending a first authentication result to the electronic device, and a step of sending authentication data to the electronic device) and each receiving step (typically a step of receiving an authentication challenge from the electronic device, a step of receiving a certificate from the electronic device, and a step of receiving a second authentication result from the electronic device) performed by the system involves simultaneous communication between the electronic device and the system.
[0214] Each exchange between the electronic device 10 and the system 20 is therefore direct and instantaneous.
[0215] This method then allows mutual authentication through simultaneous communication, while limiting the processing operations performed by the electronic devices.
[0216] Advantageously, a secure channel can be established based on the derived key for subsequent data exchange between the electronic device and the system.
[0217] The method may then further include receiving or transmitting the encrypted and / or authenticated data from the electronic device (neither of which is shown), or transmitting or receiving the encrypted and / or authenticated data to or from the system (neither of which is shown), together with at least one exchange key calculated based on the derived key.
[0218] Those skilled in the art will appreciate that the steps of this method may be performed in other orders, so long as each step has the necessary elements (e.g., public key, other public key, authentication challenge, first authentication result, authentication data, or second authentication result) to be performed.
[0219] The steps of this method are therefore: - for each step performed by the electronic device 10, said electronic device has the necessary elements to perform the step in question; and - for each step performed by the system 20, said system has the necessary elements to perform the step in question; Other orders may also be performed, provided that:
[0220] According to a first example, the electronic device authentication phase (phase P2) can be performed before the steps of the system authentication phase (phase P1).
[0221] Typically, the steps of transmitting the certificate to the system (step E400), receiving the certificate from the electronic device (step E410), verifying the other certificate (step E420), identifying the authentication data (step E500), transmitting the authentication data to the electronic device (step E510), receiving the authentication data (step E520), calculating the second authentication result (step E530), transmitting the second authentication result to the system (step E540), receiving the second authentication result from the electronic device (step E550), and authenticating the electronic device (step E560) are, for example, performed in that order. The step of calculating the first authentication result to the electronic device (step E340), the step of receiving the first authentication result from the system (step E350), and the step of authenticating the system (step E360) may be performed before the execution of the steps, for example in this order: a step of transmitting the first authentication result to the electronic device (step E200), a step of receiving the certificate from the system (step E210), a certificate verification step (step E220), a step of identifying an authentication challenge (step E300), a step of transmitting the authentication challenge to the system (step E310), a step of receiving the authentication challenge from the electronic device (step E320), a step of calculating the first authentication result (step E330), a step of transmitting the first authentication result to the electronic device (step E340), a step of receiving the first authentication result from the system (step E350), and a step of authenticating the system (step E360).
[0222] According to a second example, the execution of the steps of the electronic device authentication phase (phase P2) and the steps of the system authentication phase (phase P1) can be alternated, and the electronic device authentication phase and the system authentication phase are therefore performed simultaneously.
[0223] Typically, the steps of the method may be performed in the following order: - identifying an authentication challenge (step E300), then - sending the certificate to the system (step E400) and sending an authentication challenge to the system (step E310), then - receiving a certificate from the electronic device (step E410) and an authentication challenge from the electronic device (step E320), after which - perform a certificate validation (step E420), then - identifying authentication data (step E500) and calculating a first authentication result (step E330), then - sending the certificate to the electronic device (step E200), sending a first authentication result to the electronic device (step E340), sending authentication data to the electronic device (step E510), and then - receiving a certificate from the system (step E210), receiving a first authentication result from the system (step E350), receiving authentication data (step E520), and then - perform a certificate validation (step E220), and then - authenticate the system (step E360), then - calculating a second authentication result (step E530), then - sending the second authentication result to the system (step E540), and then - receiving a second authentication result from the electronic device (step E550), and then - authenticating the electronic device (step E560);
[0224] Advantageously, the steps of sending the certificate to the system (step E400) and sending the authentication challenge to the system (step E310), or receiving the certificate from the electronic device (step E410) and receiving the authentication challenge from the electronic device (step E320), can be performed simultaneously by combining the public key certificate and the authentication challenge in one message sent by the electronic device to the system.
[0225] Furthermore, advantageously, the step of sending the certificate to the electronic device (step E200) and the step of sending the first authentication result to the electronic device (step E340) and the step of sending the authentication data to the electronic device (step E510), or the step of receiving the certificate from the system (step E210) and the step of receiving the first authentication result from the system (step E350) and the step of receiving the authentication data (step E520) can be performed simultaneously by bundling the certificate of another public key, the first authentication result and the authentication data in one other message sent by the system to the electronic device.
[0226] Thus, the first and second modules of the electronic device 10 may cooperate to perform the steps of the method.
[0227] Similarly, therefore, the first and second modules of the system 20 may cooperate to perform the steps of the method.
[0228] Finally, the reference data may be a concatenation of the authentication data (calculated by the system during the step of identifying the authentication data) and the authentication challenge (received from the electronic device), especially if the steps are in the order described above for the second example. Another reference data may then be a concatenation of the authentication data (received from the system) and the authentication challenge (identified by the electronic device and sent to the system).
[0229] The authentication phase of the electronic device and the authentication phase of the system are therefore cryptographically linked, thus increasing the security of the mutual authentication method.
[0230] Those skilled in the art will also recognize that some steps of this method may be omitted as long as other steps have the necessary elements to perform them.
[0231] According to a first example, the step of sending the certificate to the electronic device (step E200), the step of receiving the certificate from the system (step E210), and the certificate verification step (step E220) may be omitted if the electronic device 10 already has the other public key, typically if the electronic device 10 has previously received the other public key (e.g., from a remote computer or from the system 20) during an operational phase of the electronic device 10 prior to the method described herein.
[0232] According to a second example, the step of sending the certificate to the system (step E400), the step of receiving the certificate from the electronic device (step E410), and the step of verifying the other certificate (step E420) may be omitted if the system 20 already has the public key, typically if the system 20 has received the public key in advance (e.g., from a remote computer or from the electronic device 10) during an operational phase of the system 20 prior to the method described herein.
[0233] FIG. 3 shows in the form of a flow chart the main steps of a mutual authentication code according to a second mode of implementation of the invention.
[0234] The method is performed by an electronic device 10, which has a private key associated with a public key, and which cooperates with a system 20, which has other private keys associated with other public keys, and which cooperates with the electronic device 10.
[0235] Typically, electronic device 10 will have a private key in at least one of its memories, and system 20 will have another private key in at least one of its memories.
[0236] Additionally, the electronic device 10 has public key certificates in one of its memories, and the system 20 has other public key certificates in at least one of its memories.
[0237] In a step of transmitting the temporary public key to the electronic device (step E100), the system 20 transmits the temporary public key associated with the temporary private key to the electronic device 10, typically using its communication unit 12.
[0238] The system 20 has a temporary public key and a temporary private key, typically in one of its memories.
[0239] According to one implementation option, the system 20 has previously received the temporary public and private keys (eg, from a remote computer) during an operational phase of the system 20 prior to the methods described herein.
[0240] According to another implementation option, the system 20 pre-identifies the temporary public and private keys during a step of identifying the temporary keys (not shown).
[0241] According to the first example, the temporary public key and the temporary private key are ECIES keys as described in the document BSI TR-02102-1: BSI-Technical Guideline, version 2022-01, dated January 28, 2022, https: / / www.bsi.bund.de / SharedDocs / Downloads / EN / BSI / Publications / TechGuidelines / TG02102 / BSI-TR-02102-1.pdf?_blob=publicationFile.
[0242] According to the second example, the ephemeral public key and ephemeral private key are Crystals-Kyber keys as described in the Crystals-Cryptographic Suite for Algebraic Lattices, https: / / pq-crystals.org / kyber / index.shtml site.
[0243] According to the third example, the ephemeral public key and ephemeral private key are NTRU keys as described on the site of NTRU - a submission to the NIST post-quantum standardization effort, https: / / ntru.org / .
[0244] The method then includes a step of receiving a temporary public key from the system (step E110), in which the electronic device 10 receives the temporary public key from the system 20, typically by means of its communication unit 2.
[0245] The method then includes a step (step E120) of obtaining another shared secret, i.e. a shared secret different from the shared secret obtained and used during the authentication phase of the electronic device (see below), and a corresponding cryptogram, in which the electronic device 10 obtains said other shared secret and said corresponding cryptogram by applying an encapsulation function (see below) of another key encapsulation mechanism, i.e. a key encapsulation mechanism which may be different from the encapsulation mechanism used during the authentication phase of the electronic device, to the temporary public key.
[0246] Some examples of encapsulation functions for other encapsulation mechanisms are given in the references cited above for examples of ephemeral public and private keys.
[0247] Typically, if the ephemeral public key and the ephemeral private key are ECIES keys as described in the document BSI TR-02102-1:BSI-Technical Guideline, version 2022-01, dated January 28, 2022, https: / / www.bsi.bund.de / SharedDocs / Downloads / EN / BSI / Publications / TechGuidelines / TG02102 / BSI-TR-02102-1.pdf?_blob=publicationFile, the encapsulation function of the other encapsulation mechanism is as described in the document.
[0248] The ephemeral public key allows the system to introduce an element of probability that forces the use of a new, alternative shared secret in each iteration of the method.
[0249] By applying the encapsulation function of another key encapsulation mechanism, the electronic device can introduce a random element that forces the use of another shared secret, also new, in each iteration of the method.
[0250] The method then comprises a step (step E130) of obtaining another derived key, i.e. a derived key different from the derived key obtained and used during the authentication phase of the electronic device (see below), wherein the electronic device 10 obtains said other derived key based on another shared secret.
[0251] Other derived keys can be obtained by applying prior art key derivation functions to other shared secrets.
[0252] According to another option, the other derived key is another shared secret.
[0253] The method then includes a step of transmitting a cryptogram corresponding to the other shared secret (step E140), in which the electronic device 10 transmits the cryptogram corresponding to the other shared secret to the system 20, typically using its communication unit 2.
[0254] The method then includes a step of receiving a cryptogram corresponding to the other shared secret from the electronic device (step E150), in which the system 20 receives the cryptogram corresponding to the other shared secret from the electronic device 10, typically using its communication unit 12.
[0255] The method then includes a step of obtaining the other shared secret (step E160), in which the system 20 obtains the other shared secret by applying a decapsulation function of the other encapsulation mechanism to the ephemeral public key and the cipher received during the step of obtaining from the electronic device (step E150) the cipher corresponding to the other shared secret.
[0256] Some examples of decapsulation functions for other encapsulation mechanisms are given in the references cited above for examples of ephemeral public and private keys.
[0257] Typically, if the ephemeral public key and the ephemeral private key are ECIES keys as described in the document BSI TR-02102-1:BSI-Technical Guideline, version 2022-01, dated January 28, 2022, https: / / www.bsi.bund.de / SharedDocs / Downloads / EN / BSI / Publications / TechGuidelines / TG02102 / BSI-TR-02102-1.pdf?_blob=publicationFile, the decapsulation function for the other encapsulation mechanism is as described in the document.
[0258] The method then includes another step of obtaining another derived key (step E170), in which the system 20 obtains another derived key based on another shared secret.
[0259] Other derivative keys are obtained by the system 20 in the same manner as they were obtained by the electronic device 10 .
[0260] For example, if the electronic device obtains the other derived key by applying a prior art key derivation function to the other shared secret identified during the step of obtaining the other shared secret and the corresponding encryption (step E120), the system calculates the other derived key by applying this derivation function to the other shared secret identified during the step of obtaining the other shared secret (step E160).
[0261] The step of sending the temporary public key to the electronic device (step E100), the step of receiving the temporary public key from the system (step E110), the step of obtaining the other shared secret and the corresponding encryption (step E120), the step of obtaining the other derived key (step E130), the step of sending the encryption corresponding to the other shared secret to the system (step E140), the step of receiving the encryption corresponding to the other shared secret from the electronic device (step E150), the step of obtaining the other shared secret (step E160), and the other steps of obtaining the other derived key (step E170) are typically performed by a third module of the system 20 and a third module of the electronic device 10.
[0262] The third module of the system 20 may therefore carry out a step of transmitting the temporary public key to the electronic device (step E100), a step of receiving from the electronic device a cryptogram corresponding to the other shared secret (step E150), a step of obtaining the other shared secret (step E160), and another step of obtaining the other derived key (step E170).
[0263] The third module of the electronic device 10 may perform the steps of receiving a temporary public key from the system (step E110), obtaining another shared secret and a corresponding cryptogram (step E120), obtaining another derived key (step E130), and sending the cryptogram corresponding to the other shared secret to the system (step E140).
[0264] In a step of transmitting the certificate to the system (step E401), the electronic device 10 transmits the public key certificate to the system 20. During this step, the electronic device 10 transmits to the system 20, typically using its communication unit 2, the result of the encryption of the data containing the public key certificate with another derived key.
[0265] In a step of obtaining a certificate from an electronic device (step E411), the system 20 receives a public key certificate from the electronic device 10, typically by means of its communication unit 12.
[0266] During this step, the system 20 receives the encryption of the data containing the public key certificate from the electronic device 10 and decrypts the encryption of the data transmitted from the electronic device, i.e., the data containing the public key certificate, using another derived key.
[0267] The decryption operation performed here by the system 20 is performed according to the cryptographic algorithm, for example AES, associated with the encryption operation performed by the electronic device 10 during the step of transmitting the certificate to the system (step 401).
[0268] In this way, the security of the mutual authentication method is increased.
[0269] This mutual authentication method ensures the confidentiality of the public key certificate sent to the system by the electronic device.
[0270] In this way, therefore, the electronic device and system can ensure that the electronic device is untraceable.
[0271] The method then includes a certificate verification step (step E420) which is the same as the other certificate verification steps of the first implementation mode.
[0272] The method then includes the same steps as those described for the first implementation mode: identifying authentication data (step E500), transmitting the authentication data to the electronic device (step E510), receiving the authentication data (step E520), calculating a second authentication result (step E530), transmitting the second authentication result to the system (step E540), receiving the second authentication result from the electronic device (step E550), and authenticating the electronic device (step E560).
[0273] The step of sending the certificate to the system (step E401), the step of receiving the certificate from the electronic device (step E411), the certificate verification step (step E420), the step of identifying authentication data (step E500), the step of sending authentication data to the electronic device (step E510), the step of receiving authentication data (step E520), the step of calculating the second authentication result (step E530), the step of sending the second authentication result to the system (step E540), the step of receiving the second authentication result from the electronic device (step E550), and the step of authenticating the electronic device 10 (step E560) are included in the authentication phase of the electronic device (phase P2).
[0274] This electronic device authentication phase is typically performed by a second module of the system 20 and a second module of the electronic device 10 .
[0275] The second module of the system 20 may therefore perform the steps of receiving a certificate from the electronic device (step E411), a certificate verification step (step E420), a step of identifying authentication data (step E500), a step of transmitting the authentication data to the electronic device (step E510), a step of receiving a second authentication result from the electronic device (step E550), and a step of authenticating the electronic device (step E560).
[0276] The second module of the electronic device 10 may perform the steps of sending the certificate to the system (step E401), receiving authentication data (step E520), calculating a second authentication result (step E530), and sending the second authentication result to the system (step E540).
[0277] In a step of transmitting the certificate to the electronic device (step E201), the system 20 transmits the certificate of the other public key to the electronic device 10. During this step, the system 20 transmits to the electronic device 10, typically using its communication unit 12, the result of encryption of data containing the certificate of the other public key with the other derived key.
[0278] In a step of receiving a certificate from the system (step E211), the electronic device 10 receives a certificate of another public key from the system 20, typically by means of its communication unit 2.
[0279] During this step, the electronic device 10 receives from the system 20 the encryption of the data containing the certificate of the other public key and decrypts the encryption of the data transmitted by the system, i.e., the data containing the certificate of the other public key, using the other derived key.
[0280] The decryption operation performed by the electronic device 10 here is performed according to the cryptographic algorithm, for example AES, associated with the encryption operation performed by the system 20 during the step of sending the certificate to the electronic device (step E201), which is preferably the same as the one performed during the step of sending the certificate to the system (step E401) and the step of receiving the certificate from the electronic device (step E411).
[0281] In this way, the security of the mutual authentication method is increased.
[0282] This mutual authentication method ensures the confidentiality of other public key certificates sent by the system to electronic devices.
[0283] In this way, therefore, the electronics and systems can ensure that the system is untraceable.
[0284] The method then comprises a certificate validation step (step E220) identical to the certificate validation step of the first implementation mode.
[0285] The method then includes the same steps as those described for the first implementation mode: identifying an authentication challenge (step E300), sending the authentication challenge to the system (step E310), receiving the authentication challenge from the electronic device (step E320), calculating a first authentication result (step E330), sending the first authentication result to the electronic device (step E340), receiving the first authentication result from the system (step E350), and authenticating the system (step E360).
[0286] The steps of sending the certificate to the electronic device (step E201), receiving the certificate from the system (step E211), verifying other certificates (step E220), identifying an authentication challenge (step E300), sending the authentication challenge to the system (step E310), receiving the authentication challenge from the electronic device (step E320), calculating a first authentication result (step E330), sending the first authentication result to the electronic device (step E340), receiving the first authentication result from the system (step E350), and authenticating the system (step E360) are included in the authentication phase (phase P1) of the system.
[0287] The authentication phase of the system is typically performed by a first module of the system 20 and a first module of the electronic device 10 .
[0288] The first module of the system 20 may therefore perform the steps of sending a certificate to the electronic device (step E201), receiving an authentication challenge from the electronic device (step E320), calculating a first authentication result (step E330), and sending the first authentication result to the electronic device (step E340).
[0289] The first module of the electronic device 10 may perform the steps of receiving a certificate from the system (step E211), verifying other certificates (step E220), identifying an authentication challenge (step E300), sending the authentication challenge to the system (step E310), receiving a first authentication result from the system (step E350), and authenticating the system (step E360).
[0290] This method limits the strain on the resources of the electronic device.
[0291] In a method performed by an electronic device, a decapsulation function of the key encapsulation mechanism is invoked rather than a cryptographic signature function to authenticate the electronic device, and a cryptographic signature verification function is invoked rather than an encapsulation function of the key encapsulation mechanism to authenticate the system.
[0292] In a method performed by the system, a cryptographic signature function of the key encapsulation mechanism is invoked rather than a decapsulation function of the key encapsulation mechanism to authenticate the system, and an encapsulation function of the key encapsulation mechanism is invoked rather than a cryptographic signature verification function to authenticate the electronic device.
[0293] The method implemented by the system therefore allows an electronic device to invoke the decapsulation function of the key encapsulation mechanism rather than the cryptographic signature function to authenticate the electronic device, and to invoke the cryptographic signature verification function rather than the encapsulation function of the key encapsulation mechanism to authenticate the system.
[0294] This mutual authentication method also improves security.
[0295] This mutual authentication method makes it possible to ensure the confidentiality of public key certificates sent by electronic devices to the system and the confidentiality of other public key certificates sent by the system to electronic devices.
[0296] The ephemeral public key allows the system to introduce an element of probability that forces the use of a new, alternative shared secret in each iteration of the method.
[0297] By applying the encapsulation function of other key encapsulation mechanisms, the electronic device can also introduce a random element that forces the use of a new, alternative shared secret in each iteration of the method.
[0298] In this way, the electronic device and / or system can therefore ensure that the electronic device and system are untraceable.
[0299] It should be noted that the resource burden on the electronic device remains limited: the method performed by the electronic device invokes the decapsulation function of a key encapsulation mechanism only once and the encapsulation function of another key encapsulation mechanism only once.
[0300] Finally, the method limits the interchange between electronic devices and the system.
[0301] The method is particularly suitable for mutual authentication between an electronic device and a system with simultaneous communication between said electronic device and said system.
[0302] Therefore, in one particular implementation mode, each sending step by the electronic device (typically, a step of sending a cipher corresponding to another shared secret to the system, a step of sending an authentication challenge to the system, a step of sending a certificate to the system, and a step of sending a second authentication result to the system) and each receiving step (typically, a step of receiving a temporary public key from the system, a step of receiving a certificate from the system, a step of receiving a first authentication result from the system, and a step of receiving authentication data) involves simultaneous communication between the electronic device and the system.
[0303] In this particular implementation mode, each sending step (typically a step of sending a temporary public key to the electronic device, a step of sending a certificate to the electronic device, a step of sending a first authentication result to the electronic device, and a step of sending authentication data to the electronic device) and each receiving step (typically a step of receiving a cipher corresponding to another shared secret from the electronic device, a step of receiving an authentication challenge from the electronic device, a step of receiving a certificate from the electronic device, and a step of receiving a second authentication result from the electronic device) performed by the system involves simultaneous communication between the electronic device and the system.
[0304] Each exchange between the electronic device 10 and the system 20 is therefore direct and instantaneous.
[0305] This method then allows mutual authentication through simultaneous communication while limiting the processing operations performed by the electronic devices.
[0306] Advantageously, a secure channel can be established based on the derived key for subsequent data exchange between the electronic device and the system.
[0307] The method may then further include receiving or transmitting the encrypted and / or authenticated data from or to the electronic device (neither of which are shown), or transmitting or receiving the encrypted and / or authenticated data from or to the system (neither of which are shown), together with at least one exchange key calculated based on the derived key.
[0308] In another particular implementation mode, the step of transmitting the first authentication result to the electronic device (E340) and the step of transmitting the authentication data to the electronic device (E510) include encrypting the data to be transmitted with another derived key.
[0309] During the step of sending the first authentication result to the electronic device (E340), the system 20 encrypts the first authentication result with another derived key, and then sends the encryption of the first authentication result to the electronic device 10.
[0310] During the step of transmitting the authentication data to the electronic device (E510), the system 20 encrypts the authentication data with another derived key and then transmits the encryption of the authentication data to the electronic device 10.
[0311] This mutual authentication method therefore ensures the confidentiality of other data transmitted by the system.
[0312] Typically, this mutual authentication method can ensure the confidentiality of the first authentication result and authentication data sent by the system to the electronic device.
[0313] In this other particular implementation mode, the step of receiving a first authentication result from the system (step E350) and the step of receiving authentication data (step E520) comprise decrypting the data transmitted by the system with another derived key.
[0314] During the step of receiving the first authentication result from the system (step E350), the electronic device 10 receives the encryption of the first authentication result from the system 20, and then decrypts the encryption of the first authentication result with another derived key to obtain the first authentication result.
[0315] During the step of receiving authentication data (step E520), the electronic device 10 receives the encryption of the authentication data from the system 20, and then decrypts the encryption of the authentication data with another derived key to obtain the authentication data.
[0316] These decryption operations performed by the electronic device 10 are performed according to a cryptographic algorithm, for example AES, associated with the encryption operations performed by the system 20 during the step of transmitting the first authentication result to the electronic device (E340) and the step of transmitting the authentication data to the electronic device (E510).
[0317] These encryption and decryption operations may be performed according to the same cryptographic algorithm as used in the encryption and decryption operations in the step of sending the certificate to the system (step E401) and the step of receiving the certificate from the electronic device (step E411), and / or in the step of sending the certificate to the electronic device (step E201) and the step of receiving the certificate from the system (step E211).
[0318] Those skilled in the art will appreciate that the steps of this method may be performed in other orders, provided that each step has the necessary elements (e.g., public key, other public key, authentication challenge, first authentication result, authentication data, or second authentication result) required for its execution.
[0319] The steps of this method are therefore: - for each step performed by the electronic device 10, said electronic device has the necessary elements to perform the step in question; and - for each step performed by the system 20, that said system has the necessary elements to perform the step in question; may be performed in other orders, provided that
[0320] According to a first example, the system authentication phase (phase P1) can be performed before the step of the electronic device authentication phase (phase P2).
[0321] Typically, the steps of sending the certificate to the electronic device (step E201), receiving the certificate from the system (step E211), verifying another certificate (step E220), identifying an authentication challenge (step E300), sending the authentication challenge to the system (step E310), receiving the authentication challenge from the electronic device (step E320), calculating a first authentication result (step E330), sending the first authentication result to the electronic device (step E340), receiving the first authentication result from the system (step E350), and authenticating the system (step E360) are performed, for example, in that order. In addition, the steps of transmitting the certificate to the system (step E401), receiving the certificate from the electronic device (step E411), verifying the certificate (step E420), identifying authentication data (step E500), transmitting authentication data to the electronic device (step E510), receiving authentication data (step E520), calculating a second authentication result (step E530), transmitting the second authentication result to the system (step E540), receiving the second authentication result from the electronic device (step E550), and authenticating the electronic device 10 (step E560) may be performed, for example, before the steps are performed in that order.
[0322] According to a second example, the execution of steps of the electronic device authentication phase (phase P2) and the execution of steps of the system authentication phase (phase P1) can be alternated, and the electronic device authentication phase and the system authentication phase are therefore performed simultaneously.
[0323] Typically, the steps of the method are: - identifying an authentication challenge (step E300), and then - sending the certificate to the system (step E400) and sending an authentication challenge to the system (step E310), then - receiving a certificate from the electronic device (step E410) and an authentication challenge from the electronic device (step E320), after which - perform a certificate validation (step E420), then - identifying authentication data (step E500) and calculating a first authentication result (step E330), then - sending the certificate to the electronic device (step E200), sending a first authentication result to the electronic device (step E340), sending authentication data to the electronic device (step E510), and then - receiving a certificate from the system (step E210), receiving a first authentication result from the system (step E350), receiving authentication data (step E520), and then - perform a certificate validation (step E220), and then - authenticate the system (step E360), then - calculating a second authentication result (step E530), then - sending the second authentication result to the system (step E540), and then - receiving a second authentication result from the electronic device (step E550), and then - Authenticating the electronic device (step E560) may be performed in the following order.
[0324] According to a first advantageous option, the steps of sending the certificate to the system (step E401) and sending the authentication challenge to the system (step E310), or the steps of receiving the certificate from the electronic device (step E411) and receiving the authentication challenge from the electronic device (step E320), can be performed simultaneously by combining the encryption of the public key certificate and the authentication challenge in one message sent by the electronic device to the system.
[0325] According to a second advantageous option, the step of sending the certificate to the electronic device (step E201) and the step of sending the first authentication result to the electronic device (step E340) and the step of sending the authentication data to the electronic device (step E510) or the step of receiving the certificate from the system (step E211) and the step of receiving the first authentication result from the system (step E350) and the step of receiving the authentication data (step E520) can be performed simultaneously by combining the encryption of the certificate of the other public key, the first authentication result (or its encryption) and the authentication data (or its encryption) in one other message sent by the system to the electronic device.
[0326] Therefore, it should be noted that the data including the certificate of the other public key may be, for example, the certificate of the other public key, or the concatenation of the certificate of the other public key and the first authentication result, or the concatenation of the certificate of the other public key and authentication data, or the concatenation of the certificate of the other public key, the first authentication result, and authentication data.
[0327] According to a third advantageous option, the authentication challenge is a cipher of data containing a cipher or public key certificate corresponding to another shared secret.
[0328] It should be noted that the properties of the encapsulation function ensure that the other shared secret has a random value, and is therefore different for each iteration of the method, and therefore the encryption of the data containing the encryption and public key certificate corresponding to the other shared secret is also different for each iteration of the method.
[0329] According to this third option, the step of obtaining another shared secret and the corresponding encryption (step E120) or the step of transmitting the certificate to the system (step E401) can be a step of identifying an authentication challenge (step E300).
[0330] Furthermore, the step of sending the system a cryptogram corresponding to another shared secret (step E140) or the step of sending the certificate to the system (step E401) can be a step of sending an authentication challenge to the system (step E310).
[0331] Finally, the step of receiving from the electronic device a cryptogram corresponding to the other shared secret (step E150) or the step of receiving from the electronic device a certificate (step E411) can be a step of receiving from the electronic device an authentication challenge (step E320).
[0332] This method also limits the burden on the resources of the electronic device and the system, and limits the exchanges between the electronic device and the system.
[0333] The first module, second module, and third module of the electronic device 10 may thus cooperate to perform the steps of the method.
[0334] Similarly, the first module, second module, and third module of system 20 may therefore also cooperate to perform the steps of this method.
[0335] According to a fourth advantageous option, in particular when the steps are in the order described above for the second example, the reference data may be the concatenation of the authentication data (calculated by the system during the step of determining the authentication data) or a cryptogram thereof and the authentication challenge (received from the electronic device). Another reference data is then the concatenation of the authentication data (or a cryptogram thereof) received from the system and the authentication challenge (determined by the electronic device and sent to the system).
[0336] The authentication phase of the electronic device and the authentication phase of the system are therefore cryptographically linked, thus increasing the security of the mutual authentication method.
[0337] According to a fifth advantageous option, the step of sending the cryptogram corresponding to the other shared secret to the system (step E140) and the step of sending the certificate to the system (step E401), or the step of receiving the cryptogram corresponding to the other shared secret from the electronic device (step E150) and the step of receiving the certificate from the electronic device (step E411), can be performed simultaneously by combining the cryptogram of the certificate of the public key and the cryptogram corresponding to the other shared secret in one message sent by the electronic device to the system.
[0338] Those skilled in the art will also recognize that some steps of this method may be omitted as long as other steps have the necessary elements for their execution (e.g., integrity sum, arithmetic integrity sum, and / or corrected integrity sum).
Claims
1. A method for mutual authentication between an electronic device (10) and a system (20), performed by the electronic device, the electronic device having a private key associated with a public key, the system having another private key associated with another public key, i) An authentication phase (P1) of the system, comprising the following steps: a step (E300) of identifying an authentication challenge, then a step (E310) of sending said authentication challenge to said system, and then a step (E350) of receiving a first authentication result from said system, and then - authenticating the system by means of the authentication challenge, the first authentication result and the other public key (E360); an authentication phase (P1) of the system, comprising: ii) An authentication phase (P2) of said electronic device, comprising the following steps: a step (E520) of receiving authentication data from said system, and then a step (E530) of calculating a second authentication result on the basis of said authentication data and said private key, and then - sending (E540) said second authentication result to said system; an authentication phase (P2) of the electronic device, including Including, the authenticating step of the system is performed by applying a cryptographic signature verification function by the other public key to the first authentication result and to reference data including the authentication challenge; - said calculation of said second authentication result uses a shared secret obtained by applying a decapsulation function of a key encapsulation mechanism to said private key and said authentication data; A mutual authentication method characterized by:
2. - the authentication challenge is an anti-replay challenge, 2. The method of claim 1, wherein each transmitting step and each receiving step includes simultaneous communication between the electronic device and the system.
3. The method of claim 1 or 2, wherein the reference data is a concatenation of the authentication data and the authentication challenge.
4. The authentication phase (P1) of the system comprises the following steps: receiving (E210, E211) a certificate of said other public key from said system, and then a step (E220) of verifying the validity of said received certificate; further comprising The authentication phase (P2) of the electronic device comprises the following steps: - sending a certificate of said public key to said system (E400, E401); further comprising: The mutual authentication method according to any one of claims 1 to 3.
5. The following steps: - receiving (E110) a temporary public key from said system; - obtaining (E120) another shared secret and a corresponding encryption key by applying an encapsulation function of another key encapsulation mechanism to said temporary public key; a step (E130) of obtaining another derived key based on said other shared secret; a step (E140) of transmitting to the system said encryption corresponding to said other shared secret; further comprising - the step of transmitting a certificate of said public key to said system comprises transmitting to said system the result of encryption of data including said certificate of said public key by said other derived key; 5. The method of claim 4, wherein the step of receiving a certificate of the other public key from the system includes decrypting data transmitted by the system with the other derived key.
6. A method of mutual authentication between an electronic device (10) and a system (20), performed by the system, wherein the electronic device has a private key associated with a public key, and the system has another private key associated with another public key, i) An authentication phase (P1) of the system, comprising the following steps: - receiving an authentication challenge from said electronic device (E320), and then a step (E330) of calculating a first authentication result based on said authentication challenge and said other private key, and then - sending (E340) said first authentication result to said electronic device; the authentication phase (P1) of the system, including ii) An authentication phase (P2) of said electronic device, comprising the following steps: a step (E500) of identifying authentication data, then a step (E510) of transmitting said authentication data to said electronic device, and then receiving (E550) a second authentication result from said electronic device, and then - authenticating (E560) said electronic device by means of said second authentication result and said public key; an authentication phase (P2) of the electronic device, including Including, - the first authentication result is calculated by applying a cryptographic signature function in the other private key to reference data comprising the authentication challenge; the authentication data and shared secret are determined by applying an encapsulation function of a key encapsulation mechanism to the public key; - the step of authenticating the electronic device uses the shared secret and the second authentication result; A mutual authentication method characterized by:
7. The mutual authentication method of claim 6 , wherein each transmitting step and each receiving step includes simultaneous communication between the electronic device and the system.
8. 8. The method of claim 6, wherein the reference data is a concatenation of the authentication data and the authentication challenge.
9. The authentication phase (P1) of the system comprises the following steps: a step (E200, E201) of transmitting a certificate of said other public key to said electronic device; further comprising The authentication phase (P2) of the electronic device comprises the following steps: receiving a certificate of said public key from said electronic device (E410, E411), and then a step (E420) of verifying the validity of said received certificate; further comprising: The mutual authentication method according to any one of claims 6 to 8.
10. The following steps: - transmitting (E100) to said electronic device a temporary public key associated with the temporary private key; - receiving (E150) from said electronic device a cryptogram corresponding to another shared secret; - a step (E160) of obtaining said other shared secret by applying a decapsulation function of another key encapsulation mechanism to said temporary private key and to said received cipher; - a step (E170) of obtaining another derived key based on said other shared secret; further comprising - the step of receiving a certificate of the public key from the electronic device comprises decrypting data transmitted by the electronic device with the other derived key; the step of transmitting a certificate of the other public key to the electronic device comprises transmitting to the electronic device a result of encryption, with the other derived key, of data including the certificate of the other public key; The mutual authentication method according to claim 9.
11. 11. The mutual authentication method of claim 10, wherein the step (E340) of transmitting the first authentication result to the electronic device and the step (E510) of transmitting the authentication data to the electronic device include encrypting the data to be transmitted with the other derived key.
12. A computer program comprising processor executable instructions designed to carry out a method according to any one of claims 1 to 5 when said instructions are executed by said processor.
13. A computer program comprising processor executable instructions designed to carry out a method according to any one of claims 6 to 11 when said instructions are executed by said processor.
14. 1. An electronic device including a memory for storing a private key associated with a public key, the electronic device being designed to cooperate with a system having other private keys associated with other public keys; i) comprising the steps of: - identifying an authentication challenge, and then sending said authentication challenge to said system, and then receiving a first authentication result from said system, and then authenticating the system with the authentication challenge, the first authentication result, and the other public key; a first module configured to perform an authentication phase of the system, the first module including: ii) The following steps: receiving authentication data from said system, and then - calculating a second authentication result based on said authentication data and said private key, and then - sending said second authentication result to said system; a second module configured to perform an authentication phase of the electronic device, the second module including: Including, the first module is configured to perform the authentication step of the system by applying a cryptographic signature verification function by the other public key to the first authentication result and to reference data including the authentication challenge; the second module is configured to calculate the second authentication result using a shared secret obtained by applying a decapsulation function of a key encapsulation mechanism to the private key and the authentication data; An electronic device characterized by:
15. 1. A system designed to cooperate with an electronic device having a private key associated with a public key, comprising: a memory for storing other private keys associated with other public keys; i) comprising the steps of: receiving an authentication challenge from said electronic device, and then - calculating a first authentication result based on said authentication challenge and said other private key, and then - transmitting the first authentication result to the electronic device; a first module configured to perform an authentication phase of the system, the first module including: ii) The following steps: - identifying authentication data, and then transmitting said authentication data to said electronic device, and then receiving a second authentication result from said electronic device, and then authenticating said electronic device with said second authentication result and said public key; a second module configured to perform an authentication phase of the electronic device, the second module including: Including, the first module is configured to calculate the first authentication result by applying a cryptographic signature function by the other private key to reference data comprising an authentication challenge; the second module is configured to identify the authentication data and a shared secret by applying an encapsulation function of a key encapsulation mechanism to the public key, and to perform the authentication step of the electronic device using the shared secret and the second authentication result; A system characterized by: