Mutual authentication methods, and associated electronic device, system and computer programs

EP4631210A1Pending Publication Date: 2025-10-15IDEMIA FRANCE SAS
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
EP2023786010
Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-12-07
Filing Date
2023-10-04
Publication Date
2025-10-15

AI Technical Summary

Technical Problem

Traditional mutual authentication methods using asymmetric cryptography are insecure against quantum computers, and post-quantum solutions that rely on key encapsulation mechanisms strain electronic devices due to large key and intermediate variable sizes, causing performance issues.

Method used

A method of mutual authentication between an electronic device and a system that uses a key encapsulation mechanism, where an authentication challenge is sent and processed using a cryptographic signature function and deencapsulation function, establishing a shared secret for secure communication, while optimizing resource usage by limiting processing demands on the device.

Benefits of technology

The method enhances security against quantum computers by reducing the strain on electronic devices through efficient use of resources, ensuring secure communication without overwhelming the device's processing capabilities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 1.1
    Figure 1.1
Patent Text Reader

Abstract

The invention relates to a mutual authentication method implemented by an electronic device, the method comprising: i) an authentication phase (P1) for authenticating a system (20), comprising: - determining (E300) and sending (E310) an authentication challenge, - receiving (E350) a first authentication result, and - authenticating (E360) a system by applying a cryptographic signature verification function to the first authentication result; and ii) an authentication phase (P2) for authenticating the electronic device (10), comprising: - receiving (E520) an item of authentication data, and - calculating (E530) and sending (E540) a second authentication result, the calculation of the second authentication result using a shared secret obtained by applying a de-encapsulation function of a key encapsulation mechanism to a private key of the electronic device and to the item of authentication data. The invention also relates to an associated mutual authentication method, implemented by the system.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Description

[0002] Title of the invention: Mutual authentication methods, electronic device, system and associated computer programs.

[0003] The present invention relates to the field of computer cryptography. It relates more particularly to mutual authentication methods, as well as an electronic device, a system and associated computer programs.

[0004] In a mutual authentication process using asymmetric cryptography, each party in the communication announces a public key and proves that it possesses the private key that accompanies the public key by sending the other party a cryptographic signature made with the private key. If the signature can be verified with the public key, then the correct private key was used and the party that sent the signature is legitimate.

[0005] Such a mutual authentication process is for example specified by the GSMA association in the document 'RSP Technical Specification', typically in its version 2.3 dated 06 / 30 / 2021.

[0006] Such a mutual authentication process is, for example, implemented by equipment from a telephone operator's network and an electronic device, typically a secure element of the eUICC type (for "embedded Universal Integrated Circuit Card" in English terminology) integrated into a communication terminal.

[0007] However, the emergence of quantum computers makes asymmetric signature mechanisms insecure. It is therefore desirable to adapt the traditional scheme above to ensure the security of the process against an attacker with a quantum computer.

[0008] Some post-quantum cryptographic algorithms have been proposed in a competition organized by the National Institute of Standards and Technology (NIST), including post-quantum cryptographic signature mechanisms and post-quantum key encapsulation mechanisms (KEM).

[0009] A key encapsulation mechanism allows a secret to be securely transmitted to an interlocutor using asymmetric cryptographic algorithms.

[0010] As is known, it generally includes two functions:

[0011] - an encapsulation function, and

[0012] - a decapsulation or deencapsulation function.

[0013] Typically, a two-party key wrapping mechanism proposes that the first party uses the other party's public key and the wrapping function of the key wrapping mechanism to generate a random secret and a ciphertext of that secret. The ciphertext is transmitted to the other party, who can, by dewrapping using their private key, recover the shared secret. Post-quantum signatures require phenomenally large keys and / or phenomenally large intermediate variables, and are therefore highly memory-intensive.

[0014] Post-quantum solutions for mutual authentication by asymmetric cryptography, in which the authentication of each party is based on a key encapsulation mechanism and no longer on the signature of previously received data, have been proposed and can replace the traditional mutual authentication method above.

[0015] However, such solutions are not entirely satisfactory as they still place too much strain on the electronic device.

[0016] To this end, the present invention relates to a method of mutual authentication between an electronic device and a system, the electronic device having a private key associated with a public key, the system having another private key associated with another public key, and the method comprising: i) a phase of authentication of the system comprising the following steps:

[0017] - determination by the electronic device of an authentication challenge, then

[0018] - sending to the system, by the electronic device, the authentication challenge, then

[0019] - reception by the system from the electronic device of the authentication challenge, then

[0020] - calculation by the system of a first authentication result based on the authentication challenge and the other private key, then

[0021] - sending to the electronic device, by the system, of the first authentication result, then

[0022] - receipt by the electronic device from the system of the first authentication result, then

[0023] - authentication of the system by the electronic device, with the authentication challenge, the first authentication result and the other public key, and ii) an authentication phase of the electronic device comprising the following steps:

[0024] - determination by the system of authentication data, then

[0025] - sending to the electronic device, by the system, of the authentication data, then

[0026] - reception by the electronic device from the system of the authentication data, then

[0027] - calculation by the electronic device of a second authentication result based on the authentication data and the private key, then

[0028] - sending to the system, by the electronic device, the second authentication result, then

[0029] - reception by the system from the electronic device of the second authentication result, then

[0030] - authentication of the electronic device by the system with the second authentication result and the public key, the method being characterized in that:

[0031] - - the calculation by the system of the first authentication result is by application to a reference data including the authentication challenge, of a cryptographic signature function with the other private key,

[0032] - the step of authentication of the system by the electronic device is by application to the first authentication result and to the reference data comprising the authentication challenge, of a cryptographic signature verification function with the other public key,

[0033] - the authentication data and a shared secret are determined by the system by applying to the public key an encapsulation function of a key encapsulation mechanism,

[0034] - the calculation by the electronic device of the second authentication result uses a shared secret obtained by applying to the private key and to the authentication data, a de-encapsulation function of the key encapsulation mechanism,

[0035] - the step of authentication of the electronic device by the system uses the shared secret obtained by applying to the public key the encapsulation function of a key encapsulation mechanism, and the second authentication result.

[0036] The method may also comprise the optional features set out below for the method according to the first aspect and / or the method according to the second aspect, taken alone or in combination whenever technically possible. More particularly, there is proposed according to a first aspect, a method of mutual authentication between an electronic device and a system, the method being implemented 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, and the method comprising: i) a phase of authentication of the system comprising the following steps:

[0037] - determination of an authentication challenge, then

[0038] - sending the authentication challenge to the system, then

[0039] - receipt from the system of a first authentication result, then

[0040] - system authentication with the authentication challenge, the first authentication result and the other public key, and ii) an electronic device authentication phase comprising the following steps:

[0041] - reception from the system of authentication data, then

[0042] - calculation of a second authentication result based on the authentication data and the private key, then

[0043] - sending the second authentication result to the system, the method being characterized in that:

[0044] - the authentication step of the system is by application to the first authentication result and to a reference data item comprising the authentication challenge, of a cryptographic signature verification function with the other public key, - the calculation of the second authentication result uses a shared secret obtained by application to the private key and to the authentication data, of a de-encapsulation function of a key encapsulation mechanism.

[0045] The method according to this first aspect may also comprise the following optional features, taken alone or in combination whenever technically possible.

[0046] The private key, the public key, the other private key, and the other public key are static keys, meaning that each of these keys is used for multiple iterations of the process. The private key, the public key, the other private key, and the other public key are therefore not ephemeral keys; ephemeral keys are keys that are generated for a specific iteration and are valid only for that iteration.

[0047] The calculation of the second authentication result comprises the calculation of the shared secret by applying to the private key and to the authentication data, a de-encapsulation function of the key encapsulation mechanism, then obtaining a key derived from the shared secret, then encryption with the key derived from an input data, the second authentication result being the result of said encryption.

[0048] The calculation of the second authentication result comprises the calculation of the shared secret by applying to the private key and to the authentication data, a de-encapsulation function of the key encapsulation mechanism, then obtaining a derived key from the shared secret, then calculating an authentication code of an input data with the derived key, the second authentication result being the calculated authentication code.

[0049] The authentication challenge is an anti-replay challenge.

[0050] Each sending step and each receiving step involves synchronous communication between the electronic device and the system.

[0051] The authentication challenge is different at each iteration of the process.

[0052] The electronic device determines the authentication challenge by random selection or by incrementing a counter.

[0053] The reference data is the concatenation of the authentication data and the authentication challenge.

[0054] The derived key is obtained by applying a key derivation function to the shared secret or to the result of a concatenation of the shared secret and the authentication challenge.

[0055] A secure channel is established from the derived key for further data exchanges between the electronic device and the system.

[0056] The method further comprises a step of receiving from the system or a step of sending to the system, encrypted and / or authenticated data, with at least one exchange key calculated from the derived key.

[0057] The system authentication phase further includes the following steps:

[0058] - reception from the system of a certificate of the other public key, then

[0059] - verification of the validity of the certificate received, and the authentication phase of the electronic device further includes the following step:

[0060] - sending a public key certificate to the system.

[0061] The method further comprises the following steps:

[0062] - reception from the system of an ephemeral public key,

[0063] - obtaining another shared secret and a corresponding cipher, by applying to the ephemeral public key an encapsulation function of another key encapsulation mechanism,

[0064] - obtaining another key derived from the other shared secret,

[0065] - sending to the system the cipher corresponding to the other shared secret, and:

[0066] - the step of sending to the system a certificate of the public key, sending to the system a result of an encryption with the other derived key, of data comprising the certificate of the public key, and

[0067] - the step of receiving from the system a certificate of the other public key, includes decryption with the other key derived from data issued by the system. The authentication challenge is the cipher corresponding to the other shared secret or the cipher of the data including the certificate of the public key.

[0068] Further reception steps include decryption with the other key derived from data emitted by the system.

[0069] There is also proposed according to a second aspect, a method of mutual authentication between an electronic device and a system, the method being implemented by the system, the electronic device having a private key associated with a public key, the system having another private key associated with another public key, and the method comprising: i) a phase of authentication of the system comprising the following steps:

[0070] - receipt from the electronic device of an authentication challenge, then

[0071] - calculation of a first authentication result based on the authentication challenge and the other private key, then

[0072] - sending the first authentication result to the electronic device, and ii) an authentication phase of the electronic device comprising the following steps:

[0073] - determination of authentication data, then

[0074] - sending the authentication data to the electronic device, then

[0075] - receipt from the electronic device of a second authentication result, then

[0076] - authentication of the electronic device with the second authentication result and the public key, the method being characterized in that: - the calculation of the first authentication result is by application to a reference data item comprising the authentication challenge, of a cryptographic signature function with the other private key,

[0077] - the authentication data and a shared secret are determined by applying to the public key an encapsulation function of a key encapsulation mechanism,

[0078] - the electronic device authentication step uses the shared secret and the second authentication result.

[0079] The method according to this second aspect may also comprise the following optional features, taken alone or in combination whenever technically possible.

[0080] The private key, the public key, the other private key and the other public key are static keys, that is, each of these keys is used for several iterations of the process. The private key, the public key, the other private key and the other public key are therefore not ephemeral keys, ephemeral keys being keys that are generated for a specific iteration and are valid only for that iteration.

[0081] The step of authenticating the electronic device comprises obtaining a key derived from the shared secret, then comparing a candidate data item and an expected data item, the candidate data item being the second authentication result and the expected data item being obtained by encryption with the key derived from an input data item, or the expected data item being an input data item and the candidate data item being obtained by decryption with the key derived from the second authentication result.

[0082] The step of authenticating the electronic device comprises obtaining a derived key from the shared secret, then comparing a candidate data and an expected data, the candidate data being the second authentication result and the expected data being obtained by calculating an authentication code of an input data with the derived key, for example a hash-based authentication code or a cryptographic-based authentication code or a Galois authentication code.

[0083] The electronic device is authenticated if the candidate data and the expected data are identical.

[0084] Each sending step and each receiving step involves synchronous communication between the electronic device and the system.

[0085] The authentication challenge is an anti-replay challenge.

[0086] The authentication challenge is different at each iteration of the process.

[0087] The electronic device determines the authentication challenge by random selection or by incrementing a counter.

[0088] The reference data is the concatenation of the authentication data and the authentication challenge.

[0089] The derived key is obtained by applying a key derivation function to the shared secret or to the result of a concatenation of the shared secret and the authentication challenge. A secure channel is established from the derived key for subsequent data exchanges between the electronic device and the system.

[0090] The method further comprises a step of receiving from the electronic device or a step of sending to the electronic device, encrypted and / or authenticated data, with at least one exchange key calculated from the derived key.

[0091] The system authentication phase further includes the following step:

[0092] - sending to the electronic device a certificate of the other public key, and the authentication phase of the electronic device further includes the following steps:

[0093] - receipt from the electronic device of a public key certificate, then

[0094] - verification of the validity of the certificate received.

[0095] The method further comprises the following steps:

[0096] - sending to the electronic device an ephemeral public key associated with an ephemeral private key, then

[0097] - reception from the electronic device of an encrypted message corresponding to another shared secret,

[0098] - obtaining the other shared secret by applying to the ephemeral private key and to the received ciphertext, a decapsulation function of another key encapsulation mechanism,

[0099] - obtaining another key derived from the other shared secret, and in which:

[0100] - the step of receiving from the electronic device a certificate of the public key, includes decryption with the other key derived from data emitted by the electronic device, and

[0101] - the step of sending to the electronic device a certificate of the other public key, sending to the electronic device a result of an encryption with the other key derived from data comprising the certificate of the other public key.

[0102] The data comprising the certificate of the other public key is the certificate of the other public key, or the result of a concatenation of the certificate of the other public key and the first authentication result, or the result of a concatenation of the certificate of the other public key and the authentication data, or the result of a concatenation of the certificate of the other public key, the first authentication result and the authentication data.

[0103] The authentication challenge is the cipher corresponding to the other shared secret or data emitted by the electronic device.

[0104] The step of sending the first authentication result to the electronic device, and the step of sending the authentication data to the electronic device, comprise encryption with the other key derived from the data to be sent.

[0105] There is also provided according to a third aspect, a computer program comprising instructions executable by a processor and adapted for the implementation of a mutual authentication method as defined previously according to the first aspect, when these instructions are executed by the processor.

[0106] There is also provided, according to a fourth aspect, a computer program comprising instructions executable by a processor and adapted for the implementation of a mutual authentication method as defined previously according to the second aspect, when these instructions are executed by the processor.

[0107] Also proposed, according to a fifth aspect, is an electronic device comprising means adapted for implementing a mutual authentication method as defined previously according to the first aspect.

[0108] The invention relates in particular to an electronic device comprising a memory storing a private key associated with a public key, the electronic device being adapted to cooperate with a system having another private key associated with another public key, and the electronic device further comprising: i) a first module, configured to carry out an authentication phase of the system which comprises the following steps:

[0109] - determination of an authentication challenge, then

[0110] - sending the authentication challenge to the system, then

[0111] - receipt from the system of a first authentication result, then

[0112] - authentication of the system with the authentication challenge, the first authentication result and the other public key, and ii) a second module, configured to carry out an authentication phase of the electronic device which comprises the following steps:

[0113] - reception from the system of authentication data, then

[0114] - calculation of a second authentication result based on the authentication data and the private key, then

[0115] - sending the second authentication result to the system, the electronic device being characterized in that:

[0116] - the first module is configured to carry out the system authentication step by applying to the first authentication result and to a reference data item comprising the authentication challenge, a cryptographic signature verification function with the other public key,

[0117] - the second module is configured to calculate the second authentication result using a shared secret obtained by applying to the private key and to the authentication data, a de-encapsulation function of a key encapsulation mechanism.

[0118] This electronic device can be configured to implement each of the embodiment possibilities envisaged for the mutual authentication method as defined previously according to the first aspect.

[0119] There is also proposed, according to a sixth aspect, a system comprising means adapted for implementing a mutual authentication method as defined previously according to the second aspect. The invention relates in particular to a system adapted to cooperate with an electronic device having a private key associated with a public key, the system comprising a memory storing another private key associated with another public key, and the system further comprising: i) a first module, configured to carry out an authentication phase of the system which comprises the following steps:

[0120] - receipt from the electronic device of an authentication challenge, then

[0121] - calculation of a first authentication result based on the authentication challenge and the other private key, then

[0122] - sending the first authentication result to the electronic device, and ii) a second module, configured to carry out an authentication phase of the electronic device which comprises the following steps:

[0123] - determination of authentication data, then

[0124] - sending the authentication data to the electronic device, then

[0125] - receipt from the electronic device of a second authentication result, then

[0126] - authentication of the electronic device with the second authentication result and the public key, the system being characterized in that:

[0127] - the first module is configured to calculate the first authentication result by applying to a reference data including the authentication challenge, a cryptographic signature function with the other private key,

[0128] - the second module is configured to determine the authentication data and a shared secret by applying to the public key an encapsulation function of a key encapsulation mechanism, and to carry out the step of authenticating the electronic device using the shared secret and the second authentication result.

[0129] This system can be configured to implement each of the implementation possibilities envisaged for the mutual authentication method as defined previously according to the second aspect.

[0130] Of course, the various characteristics, variants and embodiments of the invention may be combined with each other in various combinations provided that they are not incompatible or mutually exclusive. Other characteristics and advantages of the present invention will emerge from the description given below, with reference to the appended figures which illustrate exemplary embodiments thereof without any limiting character.

[0131] In the figures:

[0132] Figure 1 schematically represents the main elements of an electronic device and a system within which the invention is implemented;

[0133] Figure 2 represents in the form of a flowchart the main steps of a mutual authentication method according to a first mode of implementation of the invention; Figure 3 represents in the form of a flowchart the main steps of a mutual authentication method according to a second mode of implementation of the invention.

[0134] Unless otherwise indicated, elements common or similar to several figures bear the same reference signs and have identical or similar characteristics, so that these common elements are generally not described again for the sake of simplicity.

[0135] In the context of this description, the qualifiers “first” and “second” are only used as an indication to distinguish between the elements they qualify, but do not imply any order between them.

[0136] Figure 1 schematically represents the main elements of an electronic device 10 and a system 20 within which the invention is implemented. The electronic device 10 and the system 20 are capable of cooperating, in particular to implement a mutual authentication method between the electronic device 10 and the system 20.

[0137] The electronic device 10 has a private key associated with a public key (not shown).

[0138] In a first example, the private key and the public key 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 et al., dated September 2010, https: / / www.rfc-editor.Org / rfc / rfc5990.html#appendix-A.

[0139] In a second example, the private key and the public key are ECIES keys as described in BSI document TR-02102-1: BSI - Technical Guideline - Cryptography Mechanisms: Recommendations and Key Lengths, version 2022-01, dated January 28, 2022, https: / / www. b si. bund. de / SharedDocs / Downloads / EN / BSI / Publica- tions / TechGuidelines / TG02102 / BSI-TR-02102-1.pdf? blob=publicationFile.

[0140] In a third example, the private key and public key are Crystals-Kyber keys as described in the Crystals - Cryptography Suite for Algebraic Lattices website, https: / / pq-crystals.org / kyber / index.shtml.

[0141] In a fourth example, the private key and public key are NTRU keys as described on the NTRU website - a submission to the NIST post-quantum standardization effort, https: / / ntru.org / .

[0142] The private key and the public key are static keys, that is to say that each of these keys is used for the implementation of several iterations of a mutual authentication method according to the invention (typically one of the methods described with reference to figures 2 and 3). The private key and the public key are therefore not ephemeral keys, ephemeral keys being keys which are generated for a specific iteration and are only valid for this iteration.

[0143] System 20 has another private key associated with another public key (not shown).

[0144] In a first example, the other private key and the other public key are RSA or ECDS A keys as described in FIPS PUB 186-4, Digital Signature Standard, from the Information Technology Laboratory National Institute of Standards and Technology, and dated July 2013, https: / / nvlpubs.nist.gov / nist-pubs / FIPS / NISTFIPS.186-4.pdf.

[0145] In a second example, the other private key and the other public key are Crystal s-Dilithium keys as described on the Crystals - Cryptography Suite for Algebraic Lattices website, https: / / pq-crystals.org / dilithium / .

[0146] In a third example, the other private key and the other public key are Falcon keys as described on the Falcon - Fast-Fourier Lattice-based Compact Signatures over NTRU website, https: / / falcon-sign.info / .

[0147] In a fourth example, the other private key and the other public key are Sphincs+ keys as described on the Sphincs+ Stateless hash-based signatures website, https: / / sphincs.org / .

[0148] In a fifth example, the other private key and the other public key are LMS or XMSS keys as described in NIST SP 800-208, Recommendation for Stateful Hash-Based Signature Schemes, from the National Institute of Standards and Technology, and dated October 2020, https: / / nvlpubs.nist.gov / nistpubs / SpecialPublica- tions / NIST.SP.800-208.pdf

[0149] Note that the private key and the public key can be of a different type from the other private key and the other public key.

[0150] For example, the private key and public key can be NTRU keys while the other private key and public key are Crystals-Kyber keys.

[0151] The other private key and the other public key are static keys, that is to say that each of these keys is used for the implementation of several iterations of a mutual authentication method according to the invention (typically one of the methods described with reference to figures 2 and 3). The other private key and the other public key are therefore not ephemeral keys, ephemeral keys being keys which are generated for a specific iteration and are only valid for this iteration.

[0152] Figure 1 thus schematically represents an electronic device 10 comprising a processor 4 (for example a microprocessor), a storage block 6, a RAM 8 and a communication block 2.

[0153] The RAM 8 and the storage block 6 are each linked to the processor 4 so that the processor 4 can read or write data to the storage block 6 and / or the RAM 8.

[0154] The storage block 6 stores computer program instructions, some of which are designed to implement a mutual authentication method such as at least one of those described with reference to FIGS. 2 and 3, in particular in cooperation with the system 20, when these instructions are executed by the processor 4. The storage block 6 is for example in practice a hard disk or a non-volatile memory, possibly rewritable, for example of the EEPROM type (for "Electrically Erasable and Programmable Read-Only Memory" according to the commonly used English term).The RAM 8 can for its part store at least some of the elements (in particular an authentication challenge, an authentication data item, a first authentication result and / or a second authentication result as described below with reference to figures 2 and 3) manipulated during the various processing operations carried out during at least one of the methods described below.

[0155] Furthermore, the storage block 6, and / or the RAM 8, can store the private key and / or the public key and / or a certificate of the public key.

[0156] In the remainder of the description, any one of the storage block 6 and the RAM 8 is called memory.

[0157] The electronic device 10 also comprises several modules not shown. Typically, the electronic device 10 comprises a first module configured to carry out an authentication phase of the system 20, and a second module configured to carry out an authentication phase of the electronic device 10. The electronic device 10 may also comprise a third module for confidentiality.

[0158] These modules can in practice be realized by a combination of hardware and software elements.

[0159] Each module among the first module and the second module is configured to carry out the steps of a phase described in the methods according to the invention and set out below, and therefore has a functionality described in the methods according to the invention and set out below.

[0160] The third module for privacy is configured to perform further steps described with reference to Figure 3.

[0161] Thus, for each module, the electronic device 10 stores, for example, software instructions executable by the processor 4 in order to use a hardware element (for example a communication block or a memory) and thus implement the functionality offered by the module.

[0162] According to one possible embodiment, the computer program instructions stored in the storage block 6 were received (for example from a remote computer) during an operating phase of the electronic device 10 prior to the methods described with reference to FIGS. 2 and 3.

[0163] The communication block 2 is connected to the processor 4 so as to allow the processor 4 to receive data m from the system 20, for example a first authentication result and an authentication data item as described with reference to FIGS. 2 and 3, and / or to transmit data m to the system 20, for example an authentication challenge and a second authentication result as described with reference to FIGS. 2 and 3.

[0164] The electronic device can take many forms (not shown). In a first example, the electronic device is a smart card, such as an identity card, a bank card, or a universal integrated circuit card (also known as a UICC). In a second example, the electronic device is a secure element, such as a secure microcontroller that is integrated into another electronic device, typically a communications terminal or a car.

[0165] In other examples, the electronic device is a USB key, or an identity document, such as an electronic passport.

[0166] Figure 1 also schematically represents the system 20.

[0167] The system 20 comprises a processor 14 (for example a microprocessor), a storage block 16, a random access memory 18 and a communication block 12.

[0168] The RAM 18 and the storage block 16 are each linked to the processor 14 such that the processor 14 can read or write data to the storage block 16 and / or the RAM 18.

[0169] The storage block 16 stores computer program instructions, some of which are designed to implement a mutual authentication method such as at least one of those described with reference to FIGS. 2 and 3, in particular in cooperation with the electronic device 10, when these instructions are executed by the processor 14.

[0170] The storage block 16 is, for example, in practice a hard disk or a non-volatile memory, possibly rewritable, for example of the EEPROM type (for "Electrically Erasable and Programmable Read-Only Memory" according to the commonly used English term).

[0171] The RAM 18 can for its part store at least some of the elements (in particular an authentication challenge, an authentication data item, a first authentication result and / or a second authentication result as described below with reference to FIGS. 2 and 3) manipulated during the various processing operations carried out during at least one of the methods described below.

[0172] Furthermore, the storage block 16, and / or the RAM 18, can store the other private key and / or the other public key and / or a certificate of the other public key.

[0173] In the remainder of the description, any one of the storage block 16 and the RAM 18 is called memory.

[0174] The system 20 also includes several modules not shown.

[0175] Typically, the system 20 comprises a first module configured to carry out an authentication phase of the system 20, and a second module configured to carry out an authentication phase of the electronic device 10. The system 20 may also comprise a third module for confidentiality.

[0176] These modules can in practice be realized by a combination of hardware and software elements.

[0177] Each module among the first module and the second module is configured to carry out the steps of a phase described in the methods according to the invention and set out below, and therefore has a functionality described in the methods according to the invention and set out below.

[0178] The third module for privacy is configured to perform further steps described with reference to Figure 3.

[0179] Thus, for each module, the system 20 stores, for example, software instructions executable by the processor 14 in order to use a hardware element (for example a communication block or a memory) and thus implement the functionality offered by the module.

[0180] According to one possible embodiment, the computer program instructions stored in the storage block 16 were received (for example from a remote computer) during an operating phase of the system 20 prior to the methods described with reference to FIGS. 2 and 3.

[0181] The communication block 12 is connected to the processor 14 so as to allow the processor 14 to receive data n from the electronic device 10, for example an authentication challenge and a second authentication result as described with reference to FIGS. 2 and 3, and / or to transmit data n to the electronic device 10, for example a first authentication result and an authentication data item as described with reference to FIGS. 2 and 3.

[0182] The system can take many forms (not shown) such as a server, a communications terminal, a computer or electronic equipment of a telecommunications network.

[0183] Figure 2 represents in the form of a flowchart the main steps of a mutual authentication method according to a first mode of implementation of the invention.

[0184] This method is implemented by the electronic device 10, the electronic device 10 having a private key associated with a public key and cooperating with the system 20, and by the system 20, the system 20 having another private key associated with another public key and cooperating with the electronic device 10.

[0185] Typically, the electronic device 10 has the private key in at least one of its memories, and the system 20 has the other private key in at least one of its memories.

[0186] Further, the electronic device 10 may have the public key in at least one of its memories, and the system 20 may have the other public key in at least one of its memories.

[0187] According to a step of sending a certificate to the electronic device (step E200), the system 20 sends to the electronic device 10 a certificate of the other public key, typically using its communication block 12.

[0188] According to a step of receiving a certificate from the system (step E210), the electronic device 10 receives from the system 20 the certificate of the other public key, typically using its communication block 2.

[0189] The method then comprises a certificate verification step (step E220) during which the electronic device 10 verifies the validity of the certificate of the other public key received.

[0190] The security of the mutual authentication process is thus reinforced.

[0191] The method allows the electronic device to ensure that the other public key and the other private key have been issued by an entity validated by a trusted authority. The electronic device can thus associate the other public key with the system and ensure the validity of said other public key.

[0192] The certificate of the other public key may consist of the concatenation of the other public key and a cryptographic signature of said other public key, for example made with a private certification key issued by a trusted authority. Alternatively, the certificate of the other public key may consist of a chain of certificates, one of which comprises the concatenation of the other public key and a cryptographic signature of said other public key, for example made with an intermediate private certification key issued by an intermediate authority, the intermediate authority being validated by a trusted authority via said chain of certificates.

[0193] The electronic device 10 can then verify the certificate of the other public key received, by verifying said signature with a public certification key associated with the private certification key.

[0194] Typically, the electronic device 10 has the public certification key, for example in one of its memories.

[0195] According to one possible embodiment, the electronic device 10 has previously received the public certification key (for example from a remote computer) during a phase of operation of the electronic device 10 prior to the method described here.

[0196] According to a step of determining an authentication challenge (step E300), the electronic device 10 determines an authentication challenge.

[0197] The authentication challenge is data from which the system 20 will calculate a response with the other private key.

[0198] In the method of the invention, the authentication challenge is not a cryptographic key and is not used as such.

[0199] The process limits the demand on the resources of the electronic device.

[0200] Preferably, the authentication challenge is an anti-replay challenge.

[0201] Typically, the authentication challenge is different at each iteration of the process. The electronic device may, for example, determine the authentication challenge by random selection or by incrementing a counter.

[0202] The process thus secures mutual authentication against replay attacks while limiting the processing implemented by the electronic device.

[0203] The method then comprises a step of sending the authentication challenge to the system (step E310), during which the electronic device 10 sends the authentication challenge to the system 20, typically using its communication block 2.

[0204] The method then comprises a step of receiving the authentication challenge from the electronic device (step E320) during which the system 20 receives the authentication challenge from the electronic device, typically using its communication block 12.

[0205] The method then comprises a step of calculating a first authentication result (step E330) during which the system 20 calculates said first authentication result as a function of the authentication challenge and the other private key. The system 20 calculates the first authentication result by applying to a reference data item comprising the authentication challenge, a cryptographic signature function with the other private key. Thus, the first result is typically a signature with the other private key, of the reference data item.

[0206] The reference data is determined by the system from the authentication challenge received from the electronic device.

[0207] Examples of signature functions are described in the references cited above for the examples of the other private key and the other public key.

[0208] Typically, if the other private key and the other public key are Crystals-Dilithium keys as described in the Crystals - Cryptography Suite for Algebraic Lattices website, https: / / pq-crystals.org / dilithium / , the signing function is as described in that document.

[0209] The method implemented by the system thus invokes a cryptographic signature function rather than a function of de-encapsulation of a key encapsulation mechanism for system authentication.

[0210] The method then comprises a step of sending the first authentication result to the electronic device (step E340), during which the system 20 sends the first authentication result to the electronic device 10, typically using its communication block 12.

[0211] The method then comprises a step of receiving from the system the first authentication result (step E350), during which the electronic device 10 receives from the system 20 the first authentication result, typically using its communication block 2.

[0212] The method then comprises a system authentication step (step E360), during 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 to the first authentication result and to another reference data item comprising the authentication challenge, a cryptographic signature verification function with the other public key.

[0213] The other reference data is determined by the electronic device from the authentication challenge sent to the system.

[0214] The reference data and the other reference data must respectively be determined according to a similar algorithm by the system 20 and the electronic device 10. For example, when the reference data is the authentication challenge received by the system from the electronic device, the other reference data is the authentication challenge sent to the system by the electronic device.

[0215] The cryptographic signature verification function is a cryptographic function associated with the signature function used by the system during the step of calculating a first authentication result (step E330).

[0216] The method implemented by the electronic device thus invokes a cryptographic signature verification function rather than a function of encapsulating a key encapsulation mechanism for system authentication.

[0217] The process thus limits the use of resources on the electronic device.

[0218] The step of sending a certificate to the electronic device (step E200), the step of receiving a certificate from the system (step E210), the step of verifying a certificate (step E220), the step of determining an authentication challenge (step E300), the step of sending the authentication challenge to the system (step E310), the step of receiving the authentication challenge from the electronic device (step E320), the step of calculating a first authentication result (step E330), the step of sending 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), are in a system authentication phase (phase PI).

[0219] This system authentication phase is typically implemented by the first module of the system 20 and the first module of the electronic device 10.

[0220] The first module of the system 20 can thus implement the step of sending a certificate to the electronic device (step E200), the step of receiving the authentication challenge from the electronic device (step E320), the step of calculating a first authentication result (step E330) and the step of sending the first authentication result to the electronic device (step E340).

[0221] The first module of the electronic device 10 can implement the step of receiving a certificate from the system (step E210), the step of verifying the certificate (step E220), the step of determining an authentication challenge (step E300), the step of sending the authentication challenge to the system (step E310), the step of receiving the first authentication result from the system (step E350), and the step of authenticating the system (step E360).

[0222] According to a step of sending a certificate to the system (step E400), the electronic device 10 sends to the system 20 a certificate of the public key, typically using its communication block 2.

[0223] According to a step of receiving a certificate from the electronic device (step E410), the system 20 receives the certificate of the public key from the electronic device 10, typically using its communication block 12.

[0224] The method then comprises another certificate verification step (step E420) during which the system 20 verifies the validity of the public key certificate received. The security of the mutual authentication method is thus reinforced.

[0225] The method allows the system to ensure that the public key and the private key have been issued by an entity validated by a trusted authority. The system can thus associate the public key with the electronic device and ensure the validity of said public key.

[0226] The public key certificate may consist of the concatenation of the public key and a cryptographic signature of said public key, for example made with another private certification key issued by a trusted authority. Alternatively, the public key certificate may consist of a chain of certificates, one of which comprises the concatenation of the public key and a cryptographic signature of said public key, for example made with another intermediate private certification key issued by an intermediate authority, the intermediate authority being validated by a trusted authority via said chain of certificates.

[0227] The system 20 can then verify the received public key certificate, by verifying said signature with another public certification key associated with the other private certification key.

[0228] Typically, the system 20 has the other public certification key, for example in one of its memories.

[0229] According to one possible embodiment, the system 20 has previously received the other public certification key (for example from a remote computer) during a phase of operation of the system 20 prior to the method described here.

[0230] The other public certification key and the other private certification key may respectively be the public certification key and the private certification key described above.

[0231] According to a step of determining an authentication data item (step E500), the system 20 determines an authentication data item and a shared secret by applying to the public key an encapsulation function of a key encapsulation mechanism. The authentication data item is the encrypted version of the shared secret.

[0232] Examples of encapsulation mechanism encapsulation functions are described in the references cited above for the private key and public key examples. Typically, if the private key and public key 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 et al., dated September 2010, https: / / www.rfc-editor.Org / rfc / rfc5990.html#appendix-A , the encapsulation function of the encapsulation mechanism is as described in that document.

[0233] The method implemented by the system thus invokes an encapsulation function of a key encapsulation mechanism rather than a cryptographic signature verification function for the authentication of the electronic device.

[0234] The method then comprises a step of sending the authentication data to the electronic device (step E510) during which the system 20 sends the authentication data to the electronic device 10, typically using its communication block 12.

[0235] The method then comprises a step of receiving the authentication data (step E520), during which the electronic device 10 receives the authentication data from the system 20, typically using its communication block 2.

[0236] The method then comprises a step of calculating a second authentication result (step E530) during which the electronic device 10 calculates a second authentication result as a function of the authentication data and the private key. The electronic device 10 calculates the second authentication result using a shared secret obtained by applying to the private key and the authentication data, a de-encapsulation function of the key encapsulation mechanism.

[0237] Examples of encapsulation mechanism de-encapsulation functions are described in the references cited above for the private key and public key examples. Typically, if the private key and public key 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 et al., dated September 2010, https: / / www.rfc-editor.Org / rfc / rfc5990.html#appendix-A , the encapsulation mechanism de-encapsulation function is as described in that document.According to a first possibility, the calculation of the second authentication result comprises the calculation of the shared secret by applying to the private key and to the authentication data, a de-encapsulation function of the key encapsulation mechanism, then obtaining a key derived from the shared secret, then encryption with the key derived from an input data, the second authentication result being the result of said encryption. The derived key is here used as an encryption key.

[0238] The derived key can be obtained by applying a state-of-the-art key derivation function to the shared secret or to the result of a concatenation of the shared secret and the authentication challenge.

[0239] In another example, the derived key is the shared secret.

[0240] The shared secret allows the system to introduce randomness at each iteration of the process in the calculation of the derived key.

[0241] The authentication challenge allows the electronic device to also introduce randomness into the calculation of the derived key.

[0242] According to a second possibility, the calculation of the second authentication result comprises the calculation of the shared secret by applying to the private key and to the authentication data, a de-encapsulation function of the key encapsulation mechanism, then obtaining a derived key from the shared secret, then calculating an authentication code of an input data with the derived key, for example a hash-based authentication code as proposed in the NIST publication FIPS PUB198-1 “The Keyed-Hash Message Authentication Code” and dated July 2008, or a cipher-based authentication code as proposed in the NIST publication NIST.SP.800-38B “Recommendation for Block Cipher Modes of Operation: The CMAC Mode for Authentication” and dated May 2005, or a Galois authentication code as proposed in the NIST publication NIST.SP.800-38D "Recommendation for Block Cipher Modes of Operation: Galois / Counter Mode (GCM) and GMAC" from NIST and dated November 2007. The second authentication result is then the calculated authentication code. The derived key is here used as the key for calculating the authentication code of the input data.

[0243] As with the first possibility, the derived key can be obtained by applying a state-of-the-art key derivation function to the shared secret or to the result of a concatenation of the shared secret and the authentication challenge.

[0244] As with the first possibility, the derived key can, in another example, be the shared secret.

[0245] The shared secret allows the system to introduce randomness at each iteration of the process in the calculation of the derived key.

[0246] The authentication challenge allows the electronic device to also introduce randomness into the calculation of the derived key.

[0247] The method implemented by the electronic device thus invokes a de-encapsulation function of a key encapsulation mechanism rather than a cryptographic signature function for the authentication of the electronic device.

[0248] The process thus limits the use of resources on the electronic device.

[0249] The method then comprises a step of sending the second authentication result to the system (step E540), during which the electronic device 10 sends the second authentication result to the system 20, typically using its communication block 2.

[0250] The method then comprises a step of receiving from the electronic device a second authentication result (step E550), during which the system 20 receives from the electronic device 10 the second authentication result, typically using its communication block 12.

[0251] The method then comprises a step of authenticating the electronic device 10 (step E560), during which the system 20 authenticates the electronic device 10 with the second authentication result and the public key. The system authenticates the electronic device using the shared secret (which was determined by the system 20 from the public key during the step of determining an authentication data item, i.e. step E500) and the second authentication result. When the step of calculating a second authentication result (step E530) is implemented according to the first possibility described above for this step, the step of authenticating the electronic device comprises obtaining the key derived from the shared secret, then comparing a candidate data item and an expected data item. The electronic device is authenticated if the candidate data item and the expected data item are identical.

[0252] The candidate data is the second authentication result and the expected data is obtained by encryption with the key derived from the input data, or the expected data is the input data and the candidate data is obtained by decryption with the key derived from the second authentication result. The derived key is used as the encryption or decryption key.

[0253] The input data may be any data known to the system 20 and the electronic device 10, for example the authentication challenge, the authentication data, the result of a concatenation of the authentication challenge and the authentication data, or other data previously received by the system 20 and the electronic device 10, typically during an operating phase of the electronic device 10 and the system 20 prior to the method described here.

[0254] The encryption or decryption operation executed here by the system 20 is according to a cryptographic algorithm, for example AES, associated with the encryption operation executed by the electronic device 10 during the step of calculating a second authentication result (step E530).

[0255] Further, the derived key is obtained by the system 20 in a manner similar to that obtained by the electronic device 10.

[0256] According to a first example, when the electronic device obtains the key derived by applying a state-of-the-art key derivation function to the shared secret determined during the step of calculating a second authentication result (step E530), the system calculates the key derived by applying this derivation function to the shared secret determined during the step of determining an authentication data item (step E500).

[0257] According to a second example, when the electronic device obtains the derived key by applying a state-of-the-art key derivation function to the result of a concatenation of the shared secret and the authentication challenge, the shared secret having been determined during the step of calculating a second authentication result (step E530) and the authentication challenge having been determined during the step of determining an authentication challenge (step E300), the system calculates the derived key by applying this derivation function to the result of another concatenation of the shared secret and the authentication challenge, the shared secret having been determined during the step of determining an authentication data item (step E500) and the authentication challenge having been received during the step of receiving the authentication challenge from the electronic device (step E320).

[0258] According to a third example, when the derived key obtained by the electronic device is the shared secret determined during the step of calculating a second authentication result (step E530), the derived key calculated by the system is the shared secret determined during the step of determining an authentication data item (step E500).

[0259] When the step of calculating a second authentication result (step E530) is implemented according to the second possibility described above for this step, the step of authenticating the electronic device comprises obtaining the derived key from the shared secret, then comparing a candidate data item and an expected data item, the candidate data item being the second authentication result and the expected data item being obtained by calculating the authentication code of the input data item with the derived key. The derived key is used as the key for calculating the authentication code of the input data item. The electronic device is authenticated if the candidate data item and the expected data item are identical.

[0260] The input data may be any data known to the system 20 and the electronic device 10, for example the authentication challenge, the authentication data, the result of a concatenation of the authentication challenge and the authentication data, or other data previously received by the system 20 and the electronic device 10, typically during an operating phase of the electronic device 10 and the system 20 prior to the method described here.

[0261] The authentication code is obtained by the system 20 in a manner similar to that obtained by the electronic device 10.

[0262] For example, when the electronic device 10 determines an authentication code as proposed in the NIST publication FIPS PUB 198-1 “The Keyed-Hash Message Authentication Code” dated July 2008, the system 20 also determines the authentication code as proposed in this publication.

[0263] Furthermore, as in the case of the first possibility, the derived key is obtained by the system 20 in a manner similar to its obtaining by the electronic device 10.

[0264] The step of sending a certificate to the system (step E400), the step of receiving a certificate from the electronic device (step E410), the other step of verifying a certificate (step E420), the step of determining an authentication data item (step E500), the step of sending the authentication data item to the electronic device (step E510), the step of receiving the authentication data item (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 a second authentication result from the electronic device (step E550), and the step of authenticating the electronic device (step E560), are in a phase of authenticating the electronic device (phase P2).

[0265] This authentication phase of the electronic device is typically implemented by the second module of the system 20 and the second module of the electronic device 10.

[0266] The second module of the system 20 can thus implement the step of receiving a certificate from the electronic device (step E410), the other step of verifying the certificate (step E420), the step of determining an authentication data item (step E500), the step of sending the authentication data item to the electronic device (step E510), the step of receiving a second authentication result from the electronic device (step E550) and the step of authenticating the electronic device (step E560).

[0267] The second module of the electronic device 10 can implement the step of sending a certificate to the system (step E400), the step of receiving the authentication data (step E520), the step of calculating a second authentication result (step E530) and the step of sending the second authentication result to the system (step E540).

[0268] The process limits the demand on the resources of the electronic device.

[0269] The method implemented by the electronic device invokes a de-encapsulation function of a key encapsulation mechanism rather than a cryptographic signature function for authentication of the electronic device, and a cryptographic signature verification function rather than an encapsulation function of a key encapsulation mechanism for authentication of the system.

[0270] The method implemented by the system invokes a cryptographic signature function rather than a de-encapsulation function of a key encapsulation mechanism for system authentication, and a encapsulation function of a key encapsulation mechanism rather than a cryptographic signature verification function for electronic device authentication.

[0271] The method implemented by the system thus allows the electronic device to invoke a de-encapsulation function of a key encapsulation mechanism rather than a cryptographic signature function for authentication of the electronic device, and a cryptographic signature verification function rather than an encapsulation function of a key encapsulation mechanism for authentication of the system.

[0272] The method is particularly suitable for mutual authentication between the electronic device and the system in the context of synchronous communication between said electronic device and said system.

[0273] Thus, in a particular mode of implementation, each sending step (typically sending the authentication challenge to the system, sending the certificate to the system and sending the second authentication result to the system) and each receiving step (typically receiving the certificate from the system, receiving the first authentication result from the system and receiving the authentication data) implemented by the electronic device comprises synchronous communication between the electronic device and the system.

[0274] In this particular mode of implementation, each sending step (typically sending a certificate to the electronic device, sending the first authentication result to the electronic device and sending the authentication data to the electronic device) and each receiving step (typically receiving the authentication challenge from the electronic device, receiving a certificate from the electronic device and receiving a second authentication result from the electronic device) implemented by the system comprises synchronous communication between the electronic device and the system.

[0275] Thus, each exchange between the electronic device 10 and the system 20 is direct and instantaneous.

[0276] The process then allows mutual authentication by synchronous communication while limiting the processing implemented by the electronic device.

[0277] Advantageously, a secure channel can be established from the derived key for subsequent data exchanges between the electronic device and the system. The method can then further comprise a step of receiving from the electronic device or a step of sending to the electronic device (not shown), respectively a step of sending to the system and a step of receiving from the system (not shown), encrypted and / or authenticated data, with at least one exchange key calculated from the derived key.

[0278] A person skilled in the art will understand that the steps of this method can be executed in other orders, provided that each step has the elements (for example the public key, the other public key, the authentication challenge, the first authentication result, the authentication data or the second authentication result) necessary for its execution.

[0279] The steps of this process can thus be executed in other orders, to the extent that

[0280] - for each step implemented by the electronic device 10, said electronic device has the elements necessary for the execution of the step concerned, and

[0281] - for each step implemented by the system 20, said system has the elements necessary for the execution of the step concerned.

[0282] According to a first example, the steps of the electronic device authentication phase (phase P2) can be executed before the steps of the system authentication phase (phase PI).

[0283] Typically, the step of sending a certificate to the system (step E400), the step of receiving a certificate from the electronic device (step E410), the other step of verifying the certificate (step E420), the step of determining an authentication data item (step E500), the step of sending the authentication data item to the electronic device (step E510), the step of receiving the authentication data item (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 a second authentication result from the electronic device (step E550), and the step of authenticating the electronic device (step E560), can be executed, for example in this order, before the execution of the step of sending a certificate to the electronic device (step E200),of the step of receiving a certificate from the system (step E210), of the step of verifying a certificate (step E220), of the step of determining an authentication challenge (step E300), of the step of sending the authentication challenge to the system (step E310), of the step of receiving the authentication challenge from the electronic device (step E320), of the step of calculating a first authentication result (step E330), of the step of sending the first authentication result to the electronic device (step E340), of the step of receiving the first authentication result from the system (step E350) and of the step of authenticating the system (step E360), for example in this order.,

[0284] 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 PI) can be nested, the electronic device authentication phase and the system authentication phase thus taking place concomitantly.

[0285] Typically, the process steps may be performed in the following order:

[0286] - determination of an authentication challenge (step E300), then

[0287] - sending the certificate to the system (step E400) and sending the authentication challenge to the system (step E310), then

[0288] - receipt of certificate from the electronic device (step E410) and receipt from the electronic device of the authentication challenge (step E320), then

[0289] - certificate verification (step E420), then

[0290] - determination of authentication data (step E500) and calculation of a first authentication result (step E330), then

[0291] - sending the certificate to the electronic device (step E200), sending the first authentication result to the electronic device (step E340) and sending the authentication data to the electronic device (step E510), then

[0292] - receipt of certificate from the system (step E210), receipt from the system of the first authentication result (step E350) and receipt of the authentication data (step E520), then

[0293] - certificate verification (step E220), then

[0294] - system authentication (step E360), then

[0295] - calculation of a second authentication result (step E530), then

[0296] - sending the second authentication result to the system (step E540), then

[0297] - receipt from the electronic device of the second authentication result (step E550), then

[0298] - authentication of the electronic device (step E560).

[0299] Advantageously, the sending of the certificate to the system (step E400) and the sending of the authentication challenge to the system (step E310), respectively the receiving of the certificate from the electronic device (step E410) and the receiving of the authentication challenge from the electronic device (step E320), can be executed simultaneously by grouping the certificate of the public key and the authentication challenge in the same message sent by the electronic device to the system.

[0300] Furthermore, advantageously, the sending of the certificate to the electronic device (step E200) and the sending to the electronic device of the first authentication result (step E340) and the sending to the electronic device of the authentication data (step E510), respectively the reception of the certificate from the system (step E210) and the reception from the system of the first authentication result (step E350) and the reception of the authentication data (step E520), can be executed simultaneously by grouping the certificate of the other public key, the first authentication result and the authentication data in the same other message sent by the system to the electronic device.

[0301] The first module and the second module of the electronic device 10 can therefore cooperate for the implementation of steps of the method.

[0302] Likewise, the first module and the second module of the system 20 can therefore cooperate for the implementation of steps of the method.

[0303] Finally, in particular when the steps are ordered as 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 an authentication data) and the authentication challenge (received from the electronic device). The other reference data is then the concatenation of the authentication data (received from the system) and the authentication challenge (determined by the electronic device and sent to the system).

[0304] The authentication phase of the electronic device and the authentication phase of the system are thus cryptographically linked. The security of the mutual authentication process is thus reinforced.

[0305] A person skilled in the art will also understand that steps of this method may be omitted provided that the other steps have the elements necessary for their execution.

[0306] According to a first example, the step of sending a certificate to the electronic device (step E200), the step of receiving a certificate from the system (step E210) and the step of verifying the certificate (step E220) can be omitted when the electronic device 10 already has the other public key, typically when the electronic device 10 has previously received the other public key (for example from a remote computer or from the system 20) during an operating phase of the electronic device 10 prior to the method described here.

[0307] According to a second example, the step of sending a certificate to the system (step E400), the step of receiving a certificate from the electronic device (step E410) and the other step of verifying the certificate (step E420) can be omitted when the system 20 already has the public key, typically when the system 20 has previously received the public key (for example from a remote computer or from the electronic device 10) during an operating phase of the system 20 prior to the method described here.

[0308] Figure 3 represents in the form of a flowchart the main steps of a mutual authentication method according to a second embodiment of the invention. This method is implemented by the electronic device 10, the electronic device 10 having a private key associated with a public key and cooperating with the system 20, and by the system 20, the system 20 having another private key associated with another public key and cooperating with the electronic device 10.

[0309] Typically, the electronic device 10 has the private key in at least one of its memories, and the system 20 has the other private key in at least one of its memories.

[0310] Furthermore, the electronic device 10 has a certificate of the public key in at least one of its memories, and the system 20 has a certificate of the other public key in at least one of its memories.

[0311] According to a step of sending an ephemeral public key to the electronic device (step E1 00), the system 20 sends to the electronic device 10 an ephemeral public key associated with an ephemeral private key, typically using its communication block 12.

[0312] The system 20 has the ephemeral public key and the ephemeral private key, typically in one of its memories.

[0313] According to one possible embodiment, the system 20 has previously received the ephemeral public key and the ephemeral private key (for example from a remote computer) during a phase of operation of the system 20 prior to the method described here.

[0314] According to another possible embodiment, the system 20 has previously determined the ephemeral public key and the ephemeral private key during a step of determining ephemeral keys (not shown).

[0315] In a first example, the ephemeral public key and the ephemeral private key are ECIES keys as described in BSI document 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- l.pdf? blob =publicationFile.

[0316] In a second example, the ephemeral public key and the ephemeral private key are Crystals-Kyber keys as described in the Crystals - Cryptography Suite for Algebraic Lattices website, https: / / pq-crystals.org / kyber / index.shtml.

[0317] In a third example, the ephemeral public key and the ephemeral private key are NTRU keys as described on the NTRU website - a submission to the NIST post-quantum standardization effort, https: / / ntru.org / .

[0318] The method then comprises a step of receiving the ephemeral public key from the system (step E1 10), during which the electronic device 10 receives the ephemeral public key from the system 20, typically using its communication block 2.

[0319] The method then comprises a step 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 ciphertext (step E1 20), during which the electronic device 10 obtains said other shared secret and said corresponding ciphertext by applying to the ephemeral public key an encapsulation function 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 (see below).

[0320] Examples of encapsulation functions of the other encapsulation mechanism are described in the references cited above for the examples of the ephemeral public key and the ephemeral private key.

[0321] Typically, if the ephemeral public key and the ephemeral private key are ECIES keys as described in BSI document TR-02102-1: BSI Technical Guideline, version 2022-01, dated 28 January 2022, https: / / www.bsi.bund.de / SharedDocs / Dow- nloads / EN / BSI / Publications / TechGuidelines / TG02102 / BSI-TR-02102- l.pdf?blob=publicationFile, the wrapping function of the other wrapping mechanism is as described in that document.

[0322] The ephemeral public key allows the system to introduce randomness that forces the use of a new shared secret at each iteration of the process.

[0323] Applying the encapsulation function of the other key encapsulation mechanism allows the electronic device to introduce randomness that also forces the use of a new other shared secret at each iteration of the process.

[0324] The method then comprises a step of obtaining another derived key (step E130), that is to say a derived key different from the derived key obtained and used during the authentication phase of the electronic device (see below), during which the electronic device 10 obtains said other derived key from the other shared secret.

[0325] The other derived key can be obtained by applying a state-of-the-art key derivation function to the other shared secret.

[0326] Alternatively, the other derived key is the other shared secret.

[0327] The method then comprises a step of sending to the system the cipher corresponding to the other shared secret (step E140) during which the electronic device 10 sends to the system 20 the cipher corresponding to the other shared secret, typically using its communication block 2.

[0328] The method then comprises a step of receiving from the electronic device the cipher corresponding to the other shared secret (step E1 50) during which the system 20 receives from the electronic device 10 the cipher corresponding to the other shared secret, typically using its communication block 12.

[0329] The method then comprises a step of obtaining the other shared secret (step E1 60) during which the system 20 obtains the other shared secret by applying to the ephemeral private key and to the ciphertext received during the step of receiving from the electronic device the ciphertext corresponding to the other shared secret (step E1 50), a function of de-encapsulation of the other key encapsulation mechanism.

[0330] Examples of de-encapsulation functions of the other encapsulation mechanism are described in the references cited above for the examples of the ephemeral public key and the ephemeral private key.

[0331] Typically, if the ephemeral public key and the ephemeral private key are ECIES keys as described in BSI document TR-02102-1: BSI Technical Guideline, version 2022-01, dated 28 January 2022, https: / / www.bsi.bund.de / SharedDocs / Dow- nloads / EN / BSI / Publications / TechGuidelines / TG02102 / BSI-TR-02102- l.pdj?blob=publicationFile, the unwrapping function of the other wrapping mechanism is as described in that document.

[0332] The method then comprises another step of obtaining the other derived key (step E170), during which the system 20 obtains the other derived key from the other shared secret.

[0333] The other derived key is obtained by the system 20 in a manner similar to its obtaining by the electronic device 10.

[0334] For example, when the electronic device obtains the other key derived by applying a state-of-the-art key derivation function to the other shared secret determined during the step of obtaining another shared secret and a corresponding ciphertext (step E120), the system calculates the other key derived by applying this derivation function to the other shared secret determined during the step of obtaining the other shared secret (step E160).

[0335] The step of sending to the electronic device an ephemeral public key (step E100), the step of receiving from the system the ephemeral public key (step E110), the step of obtaining another shared secret and a corresponding cipher (step E120), the step of obtaining another derived key (step E130), the step of sending to the system the cipher corresponding to the other shared secret (step E140), the step of receiving from the electronic device the cipher corresponding to the other shared secret (step E150), the step of obtaining the other shared secret (step E160) and the other step of obtaining the other derived key (step E170) are typically implemented by the third module of the system 20 and the third module of the electronic device 10.

[0336] The third module of the system 20 can thus implement the step of sending an ephemeral public key to the electronic device (step E100), the step of receiving from the electronic device the cipher corresponding to the other shared secret (step E150), the step of obtaining the other shared secret (step E160) and the other step of obtaining the other derived key (step E170).

[0337] The third module of the electronic device 10 can implement the step of receiving from the system the ephemeral public key (step E1 10), the step of obtaining another shared secret and a corresponding cipher (step E120), the step of obtaining another derived key (step E130) and the step of sending to the system the cipher corresponding to the other shared secret (step E1 40).

[0338] According to a step of sending a certificate to the system (step E401), the electronic device 10 sends the certificate of the public key to the system 20. During this step, the electronic device 10 sends to the system 20 a result of an encryption with the other derived key, of a data item comprising the certificate of the public key, typically using its communication block 2.

[0339] According to a step of receiving a certificate from the electronic device (step E411), the system 20 receives from the electronic device 10 the certificate of the public key, typically using its communication block 12. During this step, the system 20 receives from the electronic device 10 an encrypted version of the data comprising the certificate of the public key, and decrypts with the other derived key a data item sent by the electronic device, i.e. said encrypted version of the data item comprising the certificate of the public key.

[0340] The decryption operation executed here by the system 20 is according to a cryptographic algorithm, for example AES, associated with the encryption operation executed by the electronic device 10 during the step of sending the certificate to the system (step E401). The security of the mutual authentication method is thus reinforced.

[0341] The mutual authentication process ensures the confidentiality of the public key certificate sent by the electronic device to the system.

[0342] The process thus allows the electronic device and the system to ensure the non-traceability of the electronic device.

[0343] The method then comprises a certificate verification step identical to the other certificate verification step of the first implementation mode (step E420). The method then comprises a step of determining an authentication data item (step E500), a step of sending the authentication data item to the electronic device (step E510), a step of receiving the authentication data item (step E520), a step of calculating a second authentication result (step E530), a step of sending the second authentication result to the system (step E540), a step of receiving a second authentication result from the electronic device (step E550), and a step of authenticating the electronic device (step E560), identical to those described for the first implementation mode.

[0344] The step of sending a certificate to the system (step E401), the step of receiving a certificate from the electronic device (step E411), the step of verifying the certificate (step E420), the step of determining an authentication data item (step E500), the step of sending the authentication data item to the electronic device (step E510), the step of receiving the authentication data item (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 a second authentication result from the electronic device (step E550), and the step of authenticating the electronic device 10 (step E560), are in a phase of authenticating the electronic device (phase P2).

[0345] This authentication phase of the electronic device is typically implemented by the second module of the system 20 and the second module of the electronic device 10.

[0346] The second module of the system 20 can thus implement the step of receiving a certificate from the electronic device (step E411), the step of verifying the certificate (step E420), the step of determining an authentication data item (step E500), the step of sending the authentication data item to the electronic device (step E510), the step of receiving a second authentication result from the electronic device (step E550) and the step of authenticating the electronic device (step E560).

[0347] The second module of the electronic device 10 can implement the step of sending a certificate to the system (step E401), the step of receiving the authentication data (step E520), the step of calculating a second authentication result (step E530) and the step of sending the second authentication result to the system (step E540).

[0348] According to a step of sending a certificate to the electronic device (step E201), the system 20 sends the certificate of the other public key to the electronic device 10. During this step, the system 20 sends to the electronic device 10 a result of an encryption with the other key derived from data comprising the certificate of the other public key, typically using its communication block 12.

[0349] According to a step of receiving a certificate from the system (step E211), the electronic device 10 receives from the system 20 the certificate of the other public key, typically using its communication block 2.

[0350] During this step, the electronic device 10 receives from the system 20 an encrypted version of the data comprising the certificate of the other public key and decrypts with the other derived key a data item sent by the system, i.e. said encrypted version of the data comprising the certificate of the other public key.

[0351] The decryption operation executed here by the electronic device 10 is according to a cryptographic algorithm, for example AES, associated with the encryption operation executed by the system 20 during the step of sending a certificate to the electronic device (step E201). This cryptographic algorithm is preferably the same as that implemented during the step of sending a certificate to the system (step E401) and the step of receiving a certificate from the electronic device (step E411).

[0352] The security of the mutual authentication process is thus reinforced.

[0353] The mutual authentication process ensures the confidentiality of the certificate of the other public key sent by the system to the electronic device.

[0354] The process thus allows the electronic device and the system to ensure the non-traceability of the system.

[0355] The method then comprises another certificate verification step identical to the certificate verification step of the first implementation mode (step E220). The method then comprises a step of determining an authentication challenge (step E300), a step of sending 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 a first authentication result (step E330), a step of sending 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), identical to those described for the first implementation mode.

[0356] The step of sending a certificate to the electronic device (step E201), the step of receiving a certificate from the system (step E211), the other step of verifying a certificate (step E220), the step of determining an authentication challenge (step E300), the step of sending the authentication challenge to the system (step E310), the step of receiving the authentication challenge from the electronic device (step E320), the step of calculating a first authentication result (step E330), the step of sending 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), are in a system authentication phase (phase PI).

[0357] This system authentication phase is typically implemented by the first module of the system 20 and the first module of the electronic device 10.

[0358] The first module of the system 20 can thus implement the step of sending a certificate to the electronic device (step E201), the step of receiving the authentication challenge from the electronic device (step E320), the step of calculating a first authentication result (step E330) and the step of sending the first authentication result to the electronic device (step E340).

[0359] The first module of the electronic device 10 can implement the step of receiving a certificate from the system (step E211), the other step of verifying the certificate (step E220), the step of determining an authentication challenge (step E300), the step of sending the authentication challenge to the system (step E310), the step of receiving the first authentication result from the system (step E350), and the step of authenticating the system (step E360).

[0360] The process limits the demand on the resources of the electronic device.

[0361] The method implemented by the electronic device invokes a de-encapsulation function of a key encapsulation mechanism rather than a cryptographic signature function for authentication of the electronic device, and a cryptographic signature verification function rather than an encapsulation function of a key encapsulation mechanism for authentication of the system.

[0362] The method implemented by the system invokes a cryptographic signature function rather than a de-encapsulation function of a key encapsulation mechanism for system authentication, and a encapsulation function of a key encapsulation mechanism rather than a cryptographic signature verification function for electronic device authentication.

[0363] The method implemented by the system thus allows the electronic device to invoke a de-encapsulation function of a key encapsulation mechanism rather than a cryptographic signature function for authentication of the electronic device, and a cryptographic signature verification function rather than an encapsulation function of a key encapsulation mechanism for authentication of the system.

[0364] The security of the mutual authentication process is also strengthened.

[0365] This mutual authentication process ensures the confidentiality of the public key certificate sent by the electronic device to the system, and the confidentiality of the other public key certificate sent by the system to the electronic device.

[0366] The ephemeral public key allows the system to introduce randomness that forces the use of a new shared secret at each iteration of the process.

[0367] Applying the encapsulation function of the other key encapsulation mechanism allows the electronic device to introduce randomness that also forces the use of a new other shared secret at each iteration of the process.

[0368] This process thus allows the electronic device and / or the system to ensure the non-traceability of the electronic device and the system.

[0369] It should be noted that the demand on the resources of the electronic device remains limited. The method implemented by the electronic device invokes the de-encapsulation function of the key encapsulation mechanism only once, and the encapsulation function of the other key encapsulation mechanism only once.

[0370] Finally, the process limits exchanges between the electronic device and the system.

[0371] The method is particularly suitable for mutual authentication between the electronic device and the system in the context of synchronous communication between said electronic device and said system.

[0372] Thus, in a particular mode of implementation, each sending step (typically sending to the system the cipher corresponding to the other shared secret, sending to the system the authentication challenge, sending the certificate to the system and sending to the system the second authentication result) and each receiving step (typically receiving from the system the ephemeral public key, receiving the certificate from the system, receiving from the system the first authentication result and receiving the authentication data) implemented by the electronic device comprises synchronous communication between the electronic device and the system.

[0373] In this particular mode of implementation, each sending step (typically sending to the electronic device an ephemeral public key, sending a certificate to the electronic device, sending to the electronic device the first authentication result and sending to the electronic device the authentication data) and each receiving step (typically receiving from the electronic device the cipher corresponding to the other shared secret, receiving from the electronic device the authentication challenge, receiving a certificate from the electronic device and receiving from the electronic device a second authentication result) implemented by the system comprises synchronous communication between the electronic device and the system.

[0374] Thus, each exchange between the electronic device 10 and the system 20 is direct and instantaneous.

[0375] The process then allows mutual authentication by synchronous communication while limiting the processing implemented by the electronic device.

[0376] Advantageously, a secure channel can be established from the derived key for subsequent data exchanges between the electronic device and the system.

[0377] The method may then further comprise a step of receiving from the electronic device or a step of sending to the electronic device (not shown), respectively a step of sending to the system and a step of receiving from the system (not shown), encrypted and / or authenticated data, with at least one exchange key calculated from the derived key.

[0378] In another particular embodiment, the step (E340) of sending the first authentication result to the electronic device, and the step (E510) of sending the authentication data to the electronic device, comprise encryption with the other key derived from the data to be sent.

[0379] During the step of sending the first authentication result to the electronic device (E340), the system 20 encrypts the first authentication result with the other derived key and then sends the encrypted version of the first authentication result to the electronic device 10.

[0380] During the step of sending the authentication data to the electronic device (E510), the system 20 encrypts the authentication data with the other derived key and then sends the encrypted version of the authentication data to the electronic device 10.

[0381] The mutual authentication process thus ensures the confidentiality of other data emitted by the system.

[0382] Typically, the mutual authentication process ensures the confidentiality of the first authentication result and the authentication data, sent by the system to the electronic device.

[0383] In this other particular mode of implementation, the step of receiving from the system the first authentication result (step E350), and the step of receiving the authentication data (step E520), comprise the decryption with the other key derived from data sent by the system.

[0384] During the step of receiving the first authentication result from the system (step E350), the electronic device 10 receives the encrypted form of the first authentication result from the system 20 and then decrypts the encrypted form of the first authentication result with the other derived key to obtain the first authentication result.

[0385] During the step of receiving the authentication data (step E520), the electronic device 10 receives from the system 20 the encrypted version of the authentication data and then decrypts with the other derived key the encrypted version of the authentication data to obtain the authentication data.

[0386] These decryption operations executed by the electronic device 10 are according to a cryptographic algorithm, for example AES, associated with the encryption operations executed by the system 20 during the step of sending the first authentication result to the electronic device (E340), and the step of sending the authentication data to the electronic device (E510). These decryption and decryption operations may be according to the same cryptographic algorithm as that used for the encryption and decryption operations of the step of sending a certificate to the system (step E401) and the step of receiving a certificate from the electronic device (step E411), and / or the step of sending a certificate to the electronic device (step E201) and the step of receiving a certificate from the system (step E211).

[0387] A person skilled in the art will understand that the steps of this method can be executed in other orders, provided that each step has the elements (for example the public key, the other public key, the authentication challenge, the first authentication result, the authentication data or the second authentication result) necessary for its execution.

[0388] The steps of this process can thus be executed in other orders, to the extent that

[0389] - for each step implemented by the electronic device 10, said electronic device has the elements necessary for the execution of the step concerned, and

[0390] - for each step implemented by the system 20, said system has the elements necessary for the execution of the step concerned.

[0391] According to a first example, the steps of the system authentication phase (phase PI) can be executed before the steps of the electronic device authentication phase (phase P2).

[0392] Typically, the step of sending a certificate to the electronic device (step E201), the step of receiving a certificate from the system (step E211), the other step of verifying a certificate (step E220), the step of determining an authentication challenge (step E300), the step of sending the authentication challenge to the system (step E310), the step of receiving the authentication challenge from the electronic device (step E320), the step of calculating a first authentication result (step E330), the step of sending 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), can be executed, for example in this order, before the execution of the step of sending a certificate to the system (step E401),of the step of receiving a certificate from the electronic device (step E411), of the step of verifying the certificate (step E420), of the step of determining an authentication data item (step E500), of the step of sending the authentication data item to the electronic device (step E510), of the step of receiving the authentication data item (step E520), of the step of calculating a second authentication result (step E530), of the step of sending the second authentication result to the system (step E540), of the step of receiving a second authentication result from the electronic device (step E550), and of the step of authenticating the electronic device 10 (step E560), for example in this order.,

[0393] According to a second example, the execution of the steps of the electronic device authentication phase (phase P2), and the execution of the steps of the system authentication phase (phase PI) can be nested, the electronic device authentication phase and the system authentication phase thus taking place concomitantly.

[0394] Typically, the process steps may be performed in the following order:

[0395] - determination of an authentication challenge (step E300), then

[0396] - sending the certificate to the system (step E400) and sending the authentication challenge to the system (step E310), then

[0397] - receipt of certificate from the electronic device (step E410) and receipt from the electronic device of the authentication challenge (step E320), then

[0398] - certificate verification (step E420), then

[0399] - determination of authentication data (step E500) and calculation of a first authentication result (step E330), then

[0400] - sending the certificate to the electronic device (step E200), sending the first authentication result to the electronic device (step E340) and sending the authentication data to the electronic device (step E510), then

[0401] - receipt of certificate from the system (step E210), receipt from the system of the first authentication result (step E350) and receipt of the authentication data (step E520), then

[0402] - certificate verification (step E220), then

[0403] - system authentication (step E360), then

[0404] - calculation of a second authentication result (step E530), then

[0405] - sending the second authentication result to the system (step E540), then

[0406] - receipt from the electronic device of a second authentication result (step E550), then

[0407] - authentication of the electronic device (step E560).

[0408] According to a first advantageous possibility, the sending of the certificate to the system (step E401) and the sending of the authentication challenge to the system (step E310), respectively the reception of the certificate from the electronic device (step E411) and the reception from the electronic device of the authentication challenge (step E320), can be executed simultaneously by grouping the cipher of the certificate of the public key and the authentication challenge in the same message sent by the electronic device to the system.

[0409] According to a second advantageous possibility, the sending of the certificate to the electronic device (step E201) and the sending to the electronic device of the first authentication result (step E340) and the sending to the electronic device of the authentication data (step E510), respectively the reception of the certificate from the system (step E211) and the reception from the system of the first authentication result (step E350) and the reception of the authentication data (step E520), can be executed simultaneously by grouping 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 the same other message sent by the system to the electronic device.

[0410] It will thus be noted that the data comprising the certificate of the other public key may be, for example, the certificate of the other public key, or the result of a concatenation of the certificate of the other public key and the first authentication result, or the result of a concatenation of the certificate of the other public key and the authentication data, or the result of a concatenation of the certificate of the other public key, the first authentication result and the authentication data.

[0411] According to a third advantageous possibility, the authentication challenge is the cipher corresponding to the other shared secret or the cipher of the data including the public key certificate.

[0412] Note that the properties of the encapsulation function ensure that the other shared secret has a random value. Thus, the other shared secret is different at each iteration of the process. The ciphertext corresponding to the other shared secret and the ciphertext of the data including the public key certificate are therefore also different at each iteration of the process.

[0413] With this third advantageous possibility, the step of obtaining another shared secret and a corresponding cipher (step E120) or the step of sending a certificate to the system (step E401) can be the step of determining an authentication challenge (step E300).

[0414] Furthermore, the step of sending to the system the cipher corresponding to the other shared secret (step E1 40) or the step of sending the certificate to the system (step E401) may be the step of sending to the system the authentication challenge (step E310).

[0415] Finally, the step of receiving from the electronic device the cipher corresponding to the other shared secret (step E150) or the step of receiving the certificate from the electronic device (step E411) may be the step of receiving from the electronic device the authentication challenge (step E320).

[0416] The method thus further limits the use of resources of the electronic device and the system and limits exchanges between the electronic device and the system. The first module, the second module and the third module of the electronic device 10 can therefore cooperate to implement steps of the method.

[0417] Likewise, the first module, the second module and the third module of the system 20 can therefore cooperate for the implementation of steps of the method.

[0418] According to a fourth advantageous possibility, in particular when the steps are ordered as 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 an authentication data) or its encrypted form, and the authentication challenge (received from the electronic device). The other reference data is then the concatenation of the authentication data (or its encrypted form) received from the system, and the authentication challenge (determined by the electronic device and sent to the system).

[0419] The authentication phase of the electronic device and the authentication phase of the system are thus cryptographically linked. The security of the mutual authentication method is thus reinforced. According to a fifth advantageous possibility, the step of sending to the system the cipher corresponding to the other shared secret (step E140) and the step of sending the certificate to the system (step E401), respectively the step of receiving from the electronic device the cipher corresponding to the other shared secret (step E150) and the step of receiving the certificate from the electronic device (step E411), can be executed simultaneously by grouping the cipher of the certificate of the public key and the cipher corresponding to the other shared secret in the same message sent by the electronic device to the system.

[0420] A person skilled in the art will also understand that steps of this method may be omitted to the extent that the other steps have the elements (e.g., the integrity sums, the arithmetic integrity sums and / or the corrected integrity sums) necessary for their execution.

Claims

Claims

1. Method for mutual authentication between an electronic device (10) and a system (20), the method being implemented 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, and the method comprising: i) a phase (PI) of authentication of the system comprising the following steps: - determination (E300) of an authentication challenge, then - sending (E310) the authentication challenge to the system, then - reception (E350) from the system of a first authentication result, then - authentication (E360) of the system with the authentication challenge, the first authentication result and the other public key, and ii) a phase (P2) of authentication of the electronic device comprising the following steps: - reception (E520) from the system of authentication data, then - calculation (E530) of a second authentication result based on the authentication data and the private key, then - sending (E540) to the system of the second authentication result, the method being characterized in that: - the system authentication step is by applying to the first authentication result and to a reference data including the authentication challenge, a cryptographic signature verification function with the other public key, - the calculation of the second authentication result uses a shared secret obtained by applying to the private key and the authentication data, a de-encapsulation function of a key encapsulation mechanism.

2. Mutual authentication method according to the preceding claim in which: - the authentication challenge is an anti-replay challenge, and - each sending step and each receiving step includes synchronous communication between the electronic device and the system.

3. Mutual authentication method according to any one of the preceding claims in which the reference data is the concatenation of the authentication data and the authentication challenge.

4. Mutual authentication method according to any one of the preceding claims in which the authentication phase (PI) of the system further comprises the following steps: - reception (E210, E211) from the system of a certificate of the other public key, then - verification (E220) of the validity of the certificate received, and the phase (P2) of authentication of the electronic device further comprises the following step: - sending (E400, E401) to the system of a public key certificate.

5. A mutual authentication method according to the preceding claim further comprising the following steps: - reception (El 10) from the system of an ephemeral public key, - obtaining (E120) another shared secret and a corresponding cipher, by applying to the ephemeral public key an encapsulation function of another key encapsulation mechanism, - obtaining (E130) another key derived from the other shared secret, - sending (E140) to the system the cipher corresponding to the other shared secret, and in which: - the step of sending to the system a certificate of the public key, sending to the system a result of an encryption with the other derived key, of data comprising the certificate of the public key, and - the step of receiving from the system a certificate of the other public key, includes decryption with the other key derived from data issued by the system.

6. Method for mutual authentication between an electronic device (10) and a system (20), the method being implemented by the system, the electronic device having a private key associated with a public key, the system having another private key associated with another public key, and the method comprising: i) a phase (PI) of authentication of the system comprising the following steps: - reception (E320) from the electronic device of an authentication challenge, then - calculation (E330) of a first authentication result based on of the authentication challenge and the other private key, then - sending (E340) to the electronic device of the first authentication result, and ii) a phase (P2) of authentication of the electronic device comprising the following steps: - determination (E500) of authentication data, then - sending (E510) the authentication data to the electronic device, then - reception (E550) from the electronic device of a second authentication result, then - authentication (E560) of the electronic device with the second authentication result and the public key, the method being characterized in that: - the calculation of the first authentication result is by applying to a reference data including the authentication challenge, a cryptographic signature function with the other private key, - the authentication data and a shared secret are determined by applying to the public key an encapsulation function of a key encapsulation mechanism, - the electronic device authentication step uses the shared secret and the second authentication result.

7. A mutual authentication method according to the preceding claim wherein each sending step and each receiving step comprises synchronous communication between the electronic device and the system.

8. Mutual authentication method according to any one of claims 6 or 7 in which the reference data is the concatenation of the authentication data and the authentication challenge.

9. Mutual authentication method according to any one of claims 6 to 8 wherein the system authentication phase (PI) further comprises the following step: - sending (E200, E201) to the electronic device a certificate of the other public key, and the phase (P2) of authentication of the electronic device further comprises the following steps: - reception (E410, E411) from the electronic device of a public key certificate, then - verification (E420) of the validity of the certificate received.

10. A mutual authentication method according to the preceding claim further comprising the following steps: - sending (E100) to the electronic device an ephemeral public key associated with an ephemeral private key, then - reception (El 50) from the electronic device of an encrypted message corresponding to another shared secret, - obtaining (E160) the other shared secret by applying to the ephemeral private key and to the received ciphertext, a decapsulation function of another key encapsulation mechanism, - obtaining (E170) another key derived from the other shared secret, and in which: - the step of receiving from the electronic device a certificate of the public key, includes decryption with the other key derived from data emitted by the electronic device, and - the step of sending to the electronic device a certificate of the other public key, sending to the electronic device a result of an encryption with the other key derived from data comprising the certificate of the other public key.

11. Mutual authentication method according to the preceding claim in which the step (E340) of sending the first authentication result to the electronic device, and the step (E510) of sending the authentication data to the electronic device, comprise encryption with the other key derived from the data to be sent.

12. Computer program comprising instructions executable by a processor and adapted to implement a method according to any one of claims 1 to 5 when these instructions are executed by the processor.

13. Computer program comprising instructions executable by a processor and adapted to implement a method according to any one of claims 6 to 11 when these instructions are executed by the processor.

14. Electronic device comprising a memory storing a private key associated with a public key, the electronic device being adapted to cooperate with a system having another private key associated with another public key, and the electronic device further comprising: i) a first module, configured to carry out an authentication phase of the system which comprises the following steps: - determination of an authentication challenge, then - sending the authentication challenge to the system, then - reception from the system of a first result authentication, then - authentication of the system with the authentication challenge, the first authentication result and the other public key, and ii) a second module, configured to carry out an authentication phase of the electronic device which comprises the following steps: - reception from the system of authentication data, then - calculation of a second authentication result based on the authentication data and the private key, then - sending the second authentication result to the system, the electronic device being characterized in that: - the first module is configured to carry out the system authentication step by applying to the first authentication result and to a reference data item comprising the authentication challenge, a cryptographic signature verification function with the other public key, - the second module is configured to calculate the second authentication result using a shared secret obtained by applying to the private key and to the authentication data, a de-encapsulation function of a key encapsulation mechanism.

15. System adapted to cooperate with an electronic device having a private key associated with a public key, the system comprising a memory storing another private key associated with another public key, and the system further comprising: i) a first module, configured to carry out an authentication phase of the system which comprises the following steps: - receipt from the electronic device of an authentication challenge, then - calculation of a first authentication result based on the authentication challenge and the other private key, then - sending the first authentication result to the electronic device, and ii) a second module, configured to carry out an authentication phase of the electronic device which comprises the following steps: - determination of authentication data, then - sending the authentication data to the electronic device, then - receipt from the electronic device of a second authentication result, then - authentication of the electronic device with the second authentication result and the public key, the system being characterized in that: - the first module is configured to calculate the first authentication result by applying to a reference data including the authentication challenge, a cryptographic signature function with the other private key, - the second module is configured to determine the authentication data and a shared secret by applying to the public key an encapsulation function of a key encapsulation mechanism, and to carry out the step of authenticating the electronic device using the shared secret and the second authentication result.