EP4631210A1 - Procédés d'authentification mutuelle, dispositif électronique, système et programmes d'ordinateur associés - Google Patents
Procédés d'authentification mutuelle, dispositif électronique, système et programmes d'ordinateur associésInfo
- Publication number
- EP4631210A1 EP4631210A1 EP23786010.1A EP23786010A EP4631210A1 EP 4631210 A1 EP4631210 A1 EP 4631210A1 EP 23786010 A EP23786010 A EP 23786010A EP 4631210 A1 EP4631210 A1 EP 4631210A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- authentication
- electronic device
- key
- public key
- sending
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0869—Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
- H04L9/3273—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
Definitions
- 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.
- each party of the communication announces a public key, and proves that it possesses the private key which accompanies the public key by sending to the other party a cryptographic signature produced 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.
- Such a mutual authentication process is for example specified by the GSMA association in the ‘RSP Technical Specification’ document, typically in its version 2.3 dated 06/30/2021.
- Such a mutual authentication method is for example implemented by equipment from a telephone operator network and an electronic device, typically a secure element of the eUICC type (for “embedded Universal Integrated Circuit Card” in Anglo-Saxon terminology ) integrated into a communications terminal.
- eUICC embedded Universal Integrated Circuit Card
- Certain post-quantum cryptographic algorithms were proposed during a competition organized by the NIST (“National Institute of Standards and Technology”), notably post-quantum cryptographic signature mechanisms, and post-quantum key encapsulation mechanisms or post-quantum KEM (for “Key Encapsulation Mechanism”).
- a key encapsulation mechanism allows a secret to be securely transmitted to an interlocutor using asymmetric cryptographic algorithms.
- a key encapsulation mechanism between two parties proposes that the first party uses the public key of the other party and the encapsulation function of the key encapsulation mechanism, to generate a random secret and an encrypted one of this secret.
- the encrypted one is transmitted to the other party who can, by deencapsulation using its private key, recover the secret, thus shared.
- Post-quantum signatures require phenomenal sizes of keys and/or phenomenal sizes of intermediate variables, and are therefore highly consuming of RAM.
- 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 system authentication phase comprising the following steps:
- 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
- the step of authentication of the system by the electronic device is by application to the first authentication result and to the reference data including the authentication challenge, of a cryptographic signature verification function with the other public key ,
- the authentication data and a shared secret are determined by the system by application to the public key of an encapsulation function of a key encapsulation mechanism
- the system authentication step is by application to the first authentication result and to reference data including 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 applying to the private key and the authentication data, a de-encapsulation function of a key encapsulation mechanism.
- the method according to this first aspect may also include the following optional characteristics, taken alone or in combination whenever technically possible.
- the private key, the public key, the other private key and the other public key are static keys, that is to say that 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 only valid for that iteration.
- the calculation of the second authentication result includes the calculation of the shared secret by application to the private key and to the authentication data, of a de-encapsulation function of the key encapsulation mechanism, then obtaining a key derived from the shared secret, then calculating an authentication code of input data with the derived key, the second authentication result being the calculated authentication code.
- Each sending step and each receiving step includes synchronous communication between the electronic device and the system.
- the authentication challenge is different at each iteration of the process.
- the electronic device determines the authentication challenge by random drawing or by incrementing a counter.
- the reference data is the concatenation of the authentication data and the authentication challenge.
- the derived key is obtained by applying to the shared secret or the result of a concatenation of the shared secret and the authentication challenge, a key derivation function.
- a secure channel is established from the derived key for subsequent data exchanges between the electronic device and the system.
- 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.
- the system authentication phase further includes the following steps:
- the authentication phase of the electronic device further comprises the following step:
- the method further comprises the following steps:
- the step of receiving a certificate of the other public key from the system 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 public key certificate.
- an authentication phase of the electronic device comprising the following steps:
- the electronic device authentication step uses the shared secret and the second authentication result.
- the method according to this second aspect may also include the following optional characteristics, taken alone or in combination whenever technically possible.
- the private key, the public key, the other private key and the other public key are static keys, that is to say that 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 which are generated for a specific iteration and are only valid for this iteration.
- the step of authenticating the electronic device comprises obtaining a key derived from the shared secret, then comparing candidate data and expected data, the candidate data being the second authentication result and the expected data being obtained by encryption with the key derived from input data, or the expected data being input data and the candidate data being obtained by decryption with the key derived from the second authentication result.
- the step of authenticating the electronic device comprises obtaining a key derived from the shared secret, then comparing candidate data and expected data, the candidate data being the second authentication result and the data expected being obtained by calculating an authentication code of an input data with the derived key, for example an authentication code based on the hash or an authentication code based on the encryption or an authentication code of Galois.
- the electronic device is authenticated if the candidate data and the expected data are identical.
- Each sending step and each receiving step includes synchronous communication between the electronic device and the system.
- the authentication challenge is an anti-replay challenge.
- the authentication challenge is different at each iteration of the process.
- the electronic device determines the authentication challenge by random drawing or by incrementing a counter.
- the reference data is the concatenation of the authentication data and the authentication challenge.
- the derived key is obtained by applying to the shared secret or the result of a concatenation of the shared secret and the authentication challenge, a key derivation function.
- a secure channel is established from the derived key for subsequent data exchanges between the electronic device and the system.
- 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.
- the system authentication phase also includes the following step:
- the authentication phase of the electronic device further comprises the following steps:
- the method further comprises the following steps:
- 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, of the first authentication result and of the authentication data.
- 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.
- 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.
- an electronic device comprising means adapted for the implementation of a mutual authentication method as defined previously according to the first aspect.
- a second module configured to carry out an authentication phase of the electronic device which includes the following steps:
- 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 reference data comprising the authentication challenge, a cryptographic signature verification function with the other public key,
- This electronic device can be configured for the implementation of each of the possibilities of realization envisaged for the mutual authentication method as defined previously according to the first aspect.
- a system comprising means adapted for the implementation of 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 a system authentication phase which includes the following steps:
- a second module configured to carry out an authentication phase of the electronic device which comprises the following steps:
- the first module is configured to calculate the first authentication result by application to reference data including the authentication challenge, of 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 authentication step of the electronic device using the shared secret and the second authentication result.
- This system can be configured for the implementation of each of the possibilities of realization envisaged for the mutual authentication method as defined previously according to the second aspect.
- Figure 1 schematically represents the main elements of an electronic device and a system within which the invention is implemented
- Figure 2 represents in flowchart form the main steps of a mutual authentication method according to a first mode of implementation of the invention
- Figure 3 represents in flowchart form the main steps of a mutual authentication method according to a second mode of implementation of the invention.
- 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 process between the electronic device 10 and the system 20.
- the electronic device 10 has a private key associated with a public key (not shown).
- the private key and the public key are NTRU keys as described on the NTRU site - a submission to the NIST post-quantum standardization effort, https://ntru.org/.
- 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 processes described with reference to Figures 2 and 3).
- the private key and the public key are therefore not ephemeral keys, ephemeral keys being keys that are generated for a specific iteration and are only valid for that iteration.
- the other private key and the other public key are RSA or ECDS A keys as described in the document FIPS PUB 186-4, Digital Signature Standard, from Information Technology Laboratory National Institute of Standards and Technology, and dated July 2013, https://nvlpubs.nist.gov/nist- pubs/FIPS/NISTFIPS.186-4.pdf.
- the other private key and the other public key are Crystal s-Dilithium keys as described on the site Crystals - Cryptography Suite for Algebraic Lattices, https://pq-crystals. org/dilithium/.
- 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/.
- the other private key and the other public key are Sphincs+ keys as described on the Sphincs+ Stateless hash-based signatures site, https://sphincs. org/.
- the other private key and the other public key are LMS or XMSS keys as described in the document 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/SpecialPublications/NIST.SP.800-208.pdf
- the private key and the public key can be of a different type from the other private key and the other public key.
- the private key and the public key can be NTRU keys while the other private key and the other public key are Crystals-Kyber keys.
- 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 processes 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.
- 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.
- processor 4 for example a microprocessor
- storage block 6 for example a hard disk drive
- RAM 8 for example a hard disk drive
- 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 in the storage block 6 and/or the RAM 8.
- 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 Figures 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 Anglo-Saxon name).
- the RAM 8 can memorize at least some of the elements (in particular an authentication challenge, an authentication data, a first authentication result and/or a second authentication result as described below in reference to Figures 2 and 3) handled during the different treatments carried out during at least one of the processes described below.
- 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.
- Memory in the remainder of the description is any one of the storage block 6 and the RAM 8.
- the electronic device 10 also includes 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 include a third module for confidentiality.
- modules can in practice be produced by a combination of hardware elements and software elements.
- 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 explained below, and therefore has a functionality described in the methods according to the invention and presented below.
- the third module for confidentiality is configured to perform other steps described with reference to Figure 3.
- the electronic device 10 memorizes 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.
- a hardware element for example a communication block or a memory
- 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 the figures 2 and 3.
- 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 such as described with reference to Figures 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 Figures 2 and 3.
- the electronic device can take many forms (not shown).
- 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 card for “Universal Integrated Circuit Card” in Anglo-Saxon terminology).
- the electronic device is a secure element, such as a secure microcontroller which is integrated into another electronic device, typically a communication terminal or a car.
- the electronic device is a USB key, or an identity document, such as an electronic passport.
- Figure 1 also schematically represents system 20.
- the system 20 includes a processor 14 (for example a microprocessor), a storage block 16, a RAM 18 and a communication block 12.
- a processor 14 for example a microprocessor
- storage block 16 for example a hard disk drive
- RAM 18 for example a hard disk drive
- communication block 12 for example a wireless local area network
- 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 Figures 2 and 3, in particular in cooperation with the electronic device 10, when these instructions are executed by the processor 14.
- the RAM 18 can memorize at least some of the elements (in particular an authentication challenge, an authentication data, a first authentication result and/or a second authentication result as described below in reference to Figures 2 and 3) handled during the different treatments carried out during at least one of the processes described below.
- 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.
- Memory in the remainder of the description is any one of the storage block 16 and the RAM 18.
- System 20 also includes several modules not shown.
- 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 include a third module for confidentiality .
- modules can in practice be produced by a combination of hardware elements and software elements.
- 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 explained below, and therefore has a functionality described in the methods according to the invention and presented below.
- the third module for privacy is configured to perform further steps described with reference to Figure 3.
- the system 20 memorizes 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 .
- a hardware element for example a communication block or a memory
- 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 the figures 2 and 3.
- 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 the figures 2 and 3, and/or to transmit data n to the electronic device 10, for example a first authentication result and authentication data as described with reference to Figures 2 and 3.
- the system can take many forms (not shown) such as a server, a communications terminal, a computer or electronic equipment of a telecommunications network.
- Figure 2 represents in flowchart form the main steps of a mutual authentication method according to a first mode of implementation 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.
- 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.
- the electronic device 10 may have the public key in at least one of its memories
- the system 20 may have the other public key in at least one of its memories.
- step E200 the system 20 sends to the electronic device 10 a certificate of the other public key, typically using its communication block 12.
- the electronic device 10 receives the certificate of the other public key from the system 20, typically using its communication block 2.
- the method then includes a certificate verification step (step E220) during which the electronic device 10 verifies the validity of the certificate of the other public key received.
- the method allows the electronic device to ensure that the other public key and the other private key was 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.
- 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 produced with a private certification key issued by a trusted authority.
- 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 produced with a key private of intermediate certification issued by an intermediate authority, the intermediate authority being validated by a trusted authority via said chain of certificates.
- 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.
- the electronic device 10 has the public certification key, for example in one of its memories.
- the electronic device 10 has previously received the public certification key (for example from a remote computer) during an operating phase of the electronic device 10 prior to the method described here.
- step E300 the electronic device 10 determines an authentication challenge.
- the authentication challenge is data from which the system 20 will calculate a response with the other private key.
- the authentication challenge is not a cryptographic key and is not used as such.
- the method limits the demand on the resources of the electronic device.
- the authentication challenge is an anti-replay challenge.
- the authentication challenge is different at each iteration of the process.
- the electronic device can for example determine the authentication challenge by random drawing or by incrementing a counter.
- the method thus secures mutual authentication against replay attacks while limiting the processing implemented by the electronic device.
- the method then includes 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.
- 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.
- the method then comprises a step of calculating a first authentication result (step E330) during which the system 20 calculates said first authentication result according to the authentication challenge and the other private key.
- the system 20 calculates the first authentication result by application to reference data comprising the authentication challenge, of a cryptographic signature function with the other private key.
- the first result is typically a signature with the other private key of the reference data.
- the reference data is determined by the system from the authentication challenge received from the electronic device.
- the signature function is as described in this document.
- the method implemented by the system thus invokes a cryptographic signature function rather than a deencapsulation function of a key encapsulation mechanism for system authentication.
- 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.
- the method then comprises a step of receiving the first authentication result from the system (step E350), during which the electronic device 10 receives the first authentication result from the system 20, typically using its communication block 2 .
- the method then includes 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 including the authentication challenge, a cryptographic signature verification function with the other public key.
- the other reference data is determined by the electronic device from the authentication challenge sent to the system.
- 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.
- the cryptographic signature verification function is a cryptographic function phical associated with the signature function used by the system during the step of calculating a first authentication result (step E330).
- the method implemented by the electronic device thus invokes a cryptographic signature verification function rather than an encapsulation function of a key encapsulation mechanism for system authentication.
- the method thus limits the demand on the resources of the electronic device.
- the step of sending certificate to the electronic device (step E200), the step of receiving certificate from the system (step E210), the step of verifying 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 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 result from the system
- the authentication (step E350), and the system authentication step (step E360) are in a system authentication phase (PI phase).
- This system authentication phase is typically implemented by the first module of the system 20 and the first module of the electronic device 10.
- 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 calculating a first authentication result (step E330) and the step of sending the first authentication result to the electronic device (step E340).
- 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 authentication step of the system (step E360).
- step E400 the electronic device 10 sends a certificate of the public key to the system 20, typically using its communication block 2.
- the system 20 receives the public key certificate from the electronic device 10, typically using its communication block 12.
- the method then includes another certificate verification step (step E420) during which the system 20 verifies the validity of the public key certificate received.
- step E420 the system 20 verifies the validity of the public key certificate received. The security of the mutual authentication process is thus reinforced.
- 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 connect the public key to the electronic device and ensure the validity of said public key.
- the public key certificate may consist of the concatenation of the public key and a cryptographic signature of said public key, for example produced with another private certification key issued by a trusted authority.
- the public key certificate may consist of a chain of certificates, one of which includes the concatenation of the public key and a cryptographic signature of said public key, for example produced with another intermediate certification private key. issued by an intermediate authority, the intermediate authority being validated by a trusted authority via said chain of certificates.
- the system 20 can then verify the public key certificate received, by verifying said signature with another public certification key associated with the other private certification key.
- the system 20 has the other public certification key, for example in one of its memories.
- the system 20 has previously received the other public certification key (for example from a remote computer) during an operating phase of the system 20 prior to the method described here.
- the other public certification key for example from a remote computer
- 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.
- step E500 the system 20 determines authentication data and a shared secret by application to the public key of an encapsulation function of an encapsulation mechanism of key.
- the authentication data is the encryption of the shared secret.
- encapsulation mechanism encapsulation functions are described in the references cited above for the examples of the private key and the public key.
- 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 from September 2010, https://www.rfc-editor.Org/rfc/rfc5990.html#appendix-A, the encapsulation function of the encapsulation mechanism is as described in this document.
- CMS Cryptographic Message Syntax
- 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.
- 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.
- the method then includes 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.
- 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 based on the authentication data and the private key.
- the electronic device 10 calculates the second authentication result using a shared secret obtained by applying a deencapsulation function of the key encapsulation mechanism to the private key and the authentication data.
- encapsulation mechanism deencapsulation functions are described in the references cited above for the examples of the private key and the public key.
- 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 from September 2010, https://www.rfc-editor.Org/rfc/rfc5990.html#appendix-A, the deencapsulation function of the encapsulation mechanism is as described in this document.
- CMS Cryptographic Message Syntax
- the calculation of the second authentication result comprises the calculation of the shared secret by application to the private key and to the authentication data, of a deencapsulation function of the key encapsulation mechanism, then the obtaining a key derived from the shared secret, then encryption with the key derived from input data, the second authentication result being the result of said encryption.
- the derived key is used here as the encryption key.
- the derived key may 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.
- the derived key is the shared secret.
- the shared secret allows the system to introduce a hazard at each iteration of the process in the calculation of the derived key.
- the authentication challenge allows the electronic device to also introduce a hazard into the calculation of the derived key.
- the calculation of the second authentication result comprises the calculation of the shared secret by application to the private key and to the authentication data, of a deencapsulation function of the key encapsulation mechanism, then the obtaining a key derived from the shared secret, then calculating an authentication code of input data with the derived key, for example an authentication code based on the hash as proposed in the NIST publication FIPS PUB198-1 “The Keyed-Hash Message Authentication Code” dated July 2008, or an encryption-based authentication code as proposed in publication NIST.SP.800-38B “Recommendation for Block Cipher Modes of Operation: The CMAC Mode for Authentication” from NIST and dated May 2005, or a Galois authentication code as proposed in the 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 used
- 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. .
- the derived key can, according to another example, be the shared secret.
- the shared secret allows the system to introduce a hazard at each iteration of the process in the calculation of the derived key.
- the authentication challenge allows the electronic device to also introduce a hazard into the calculation of the derived key.
- 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.
- the method thus limits the demand on the resources of the electronic device.
- 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.
- the method then comprises a step of receiving a second authentication result from the electronic device (step E550), during which the system 20 receives the second authentication result from the electronic device 10, typically using its block communication 12.
- 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 authentication data, that is to say step E500) and the second authentication result.
- the step of authenticating the electronic device includes obtaining the key derived from starting from the shared secret, then comparing candidate data and expected data. The electronic device is authenticated if the candidate data and the expected data are identical.
- 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 key of encryption or decryption.
- the input data can 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.
- authentication 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.
- 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 result of authentication (step E530).
- a cryptographic algorithm for example AES
- the derived key is obtained by the system 20 in a manner similar to its obtaining by the electronic device 10.
- the system calculates the derived key by applying this derivation function to the shared secret determined during the step of determining authentication data (step E500).
- 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 authentication data (step E500 ) and the authentication challenge having been received during the reception step from the electronic device of the authentication challenge (step E320).
- 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 determined shared secret during the step of determining authentication data (step E500).
- the step of authenticating the electronic device includes obtaining the key derived from from the shared secret, then comparing candidate data and expected data, the candidate data being the second authentication result and the expected data being obtained by calculating the authentication code of the input data with there derived key.
- the derived key is used as a key for calculating the authentication code of the input data.
- the electronic device is authenticated if the candidate data and the expected data are identical.
- the input data can 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.
- authentication 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.
- the authentication code is obtained by the system 20 in a manner similar to its obtaining by the electronic device 10.
- the system 20 determines the code d authentication as proposed in this publication.
- the derived key is obtained by the system 20 in a manner similar to its obtaining by the electronic device 10.
- the step of sending certificate to the system (step E400), the step of receiving certificate from the electronic device (step E410), the other step of verifying certificate (step E420), the determining step of authentication data (step E500), the step of sending the authentication data to the electronic device (step E510), the step of receiving the authentication data (step E520), the step of calculating a second authentication result (step E530), the step of sending the second authentication result to the system (step E540), the step of receiving a second result from the electronic device authentication (step E550), and the electronic device authentication step (step E560), are in an electronic device authentication phase (phase P2).
- This phase of authentication of the electronic device is typically implemented by the second module of the system 20 and the second module of the electronic device 10.
- 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 a authentication data (step E500), the step of sending the authentication data to the electronic device (step E510), the step of receiving from the electronic device a second authentication result (step E550 ) and the step of authenticating the electronic device (step E560).
- 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).
- the method limits the demand on the resources of the electronic device.
- the method implemented by the electronic device invokes a de-encapsulation function of a key encapsulation mechanism rather than a cryptographic signature function for the authentication of the electronic device, and a cryptographic signature verification function rather as an encapsulation function of a key encapsulation mechanism for system authentication.
- 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 an encapsulation function of a key encapsulation mechanism.
- key encapsulation rather than a cryptographic signature verification function for electronic device authentication.
- 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 the authentication of the electronic device, and a function of cryptographic signature verification rather than a function of wrapping a key wrapping mechanism for system authentication.
- 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.
- 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 reception step (typically reception of certificate from the system, reception from the system of the first authentication result and reception of the authentication data) implemented by the electronic device comprises synchronous communication between the device electronics and system.
- each sending step (typically sending the 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 reception step (typically reception from the electronic device of the authentication challenge, receipt of certificate from the electronic device and reception from the electronic device of a second authentication result) implemented by the system includes synchronous communication between the electronic device and the system.
- each exchange between the electronic device 10 and the system 20 is direct and instantaneous.
- the method then allows mutual authentication by synchronous communication while limiting the processing implemented by the electronic device.
- a secure channel can be established from the derived key for subsequent exchanges of data between the electronic device and the system.
- the method can then further comprise a reception step from the electronic device or a sending step to the electronic device (not shown), respectively a sending step to the system and a reception step from the system (not shown). ), encrypted and/or authenticated data, with at least one exchange key calculated from the derived key.
- each step can be executed in other orders, to the extent 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.
- 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
- said electronic device has the elements necessary for the execution of the step concerned, and
- the steps of the electronic device authentication phase can be executed before the steps of the system authentication phase (phase PI).
- the step of sending a certificate to the system can be executed, for example in this order, before executing the step of sending a certificate to the device electronic (step E200), the step of receiving a certificate from the system (step E210), the certificate verification step (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 calculation step a first authentication
- the execution of the steps of the authentication phase of the electronic device (phase P2) and the steps of the system authentication phase (phase PI) can be interleaved, the authentication phase of the electronic device and the system authentication phase thus taking place concomitantly.
- step E300 determination of an authentication challenge
- step E400 sending a certificate to the system
- step E310 sending the authentication challenge to the system
- step E500 determination of authentication data
- step E330 calculation of a first authentication result
- 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
- step E210 reception from the system of the first authentication result (step E350) and reception of the authentication data (step E520), then
- step E560 - authentication of the electronic device
- sending the certificate to the system (step E400) and sending the authentication challenge to the system (step E310), respectively receiving the certificate from the electronic device (step E410) and receiving the certificate from of the electronic device of the authentication challenge (step E320), can be executed simultaneously by grouping the public key certificate and the authentication challenge in the same message sent by the electronic device to the system.
- sending the certificate to the electronic device (step E200) and sending the first authentication result to the electronic device (step E340) and sending the authentication data to the electronic device (step E510), respectively the receipt of 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 if- 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.
- the first module and the second module of the electronic device 10 can therefore cooperate for the implementation of steps of the method.
- first module and the second module of the system 20 can therefore cooperate for the implementation of steps of the method.
- the reference data can 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).
- the authentication phase of the electronic device and the authentication phase of the system are thus cryptographed! only related.
- the security of the mutual authentication process is thus reinforced.
- 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 process described here
- 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 the electronic device 10) during an operating phase of the system 20 prior to the process described here.
- FIG 3 represents in flowchart form the main steps of a mutual authentication method according to a second mode of implementation 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.
- 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.
- the electronic device 10 has a certificate of the public key in at least one of its memories
- the system 20 has a certificate of the other public key in at least one of its memories.
- step El 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.
- the system 20 has the ephemeral public key and the ephemeral private key, typically in one of its memories.
- the system 20 has previously received the ephemeral public key and the ephemeral private key (for example from a remote computer) during an operating phase of the system 20 prior to the method described here.
- the system 20 has previously determined the ephemeral public key and the ephemeral private key during a step of determining ephemeral keys (not shown).
- the ephemeral public key and the ephemeral private key are Crystals-Kyber keys as described on the Crystals site - Cryptography Suite for Algebraic Lattices, https://pq-crystals. org/kyber/index. shtml.
- the ephemeral public key and the ephemeral private key are NTRU keys as described on the NTRU site - a submission to the NIST post-quantum standardization effort, https://ntru.org/.
- the method then comprises a step of receiving the ephemeral public key from the system (step El 10), during which the electronic device 10 receives the ephemeral public key from the system 20, typically using its communication block 2.
- the method then comprises a step of obtaining another shared secret, that is to say a shared secret different from the shared secret obtained and used during the authentication phase of the electronic device (see below) , and a corresponding cipher (step El 20), during which the electronic device 10 obtains said other shared secret and said corresponding cipher by application to the ephemeral public key of an encapsulation function of another encapsulation mechanism key, that is to say a key encapsulation mechanism which may be different from the encapsulation mechanism used during the authentication phase of the electronic device (see below).
- the ephemeral public key allows the system to introduce a hazard which forces the use of a new other shared secret at each iteration of the process.
- the application of the encapsulation function of the other key encapsulation mechanism allows the electronic device to introduce a hazard which also forces the use of a new other shared secret at each iteration of the process.
- 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 key derived from the other shared secret.
- the other derived key may be obtained by applying a state-of-the-art key derivation function to the other shared secret.
- the other derived key is the other shared secret.
- 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 block of communication 2.
- the method then comprises a step of receiving from the electronic device the cipher corresponding to the other shared secret (step El 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.
- the method then comprises a step of obtaining the other shared secret (step El 60) during which the system 20 obtains the other shared secret by application to the ephemeral private key and to the encrypted code received during the reception step from of the electronic device of the cipher corresponding to the other shared secret (step El 50), a deencapsulation function of the other key encapsulation mechanism.
- the deencapsulation function of the other encapsulation mechanism is as described in this document.
- the method then includes another step of obtaining the other derived key (step E170), during which the system 20 obtains the other key derived from the other shared secret.
- the other derived key is obtained by the system 20 in a manner similar to its obtaining by the electronic device 10.
- step E120 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 secret shared and a corresponding cipher (step E120), the system calculates the other key derived by application of this derivation function to the other shared secret determined during the step of obtaining the other shared secret (step El 60).
- 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 secret shared (step E150), the step of obtaining the other shared secret (step E160) and the other step of obtaining the other derived key (step E170).
- the third module of the electronic device 10 can implement the step of receiving the ephemeral public key from the system (step El 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 El 40).
- step E401 the electronic device 10 sends the public key certificate to the system 20.
- the electronic device 10 sends to the system 20 a result of an encryption with the other key derived from data comprising the certificate of the public key, typically using its communication block 2.
- the system 20 receives the public key certificate from the electronic device 10, typically using its communication block 12. During this step, the system 20 receives from the electronic device 10 an encrypted data comprising the certificate of the public key, and decrypts with the other derived key data transmitted by the electronic device, that is to say said encrypted data including the public key certificate.
- 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 a certificate to the system (step E401).
- AES a cryptographic algorithm
- the mutual authentication process ensures the confidentiality of the public key certificate sent by the electronic device to the system.
- the method thus allows the electronic device and the system to ensure the non-traceability of the electronic device.
- 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 authentication data (step E500), a step of sending the authentication data to the electronic device (step E510), a step of receiving the authentication data (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 from the electronic device a second authentication result (step E550), and a step of authenticating the electronic device (step E560), identical to those described for the first implementation mode.
- the step of sending certificate to the system (step E401), the step of receiving certificate from the electronic device (step E411), the step of verifying certificate (step E420), the step of determining authentication data (step E500), the step of sending the authentication data to the electronic device (step E510), the step of receiving the authentication data (step E520), the step 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 result from the electronic device
- This phase of authentication of the electronic device is typically implemented by the second module of the system 20 and the second module of the electronic device 10.
- 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 a piece of data authentication (step E500), the step of sending the authentication data to the electronic device (step E510), the step of receiving from the electronic device a second authentication result (step E550) and the device authentication step electronic (step E560).
- 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).
- step E201 the system 20 sends the certificate of the other public key to the electronic device 10.
- 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.
- the electronic device 10 receives the certificate of the other public key from the system 20, typically using its communication block 2.
- the electronic device 10 receives from the system 20 an encrypted data including the certificate of the other public key and decrypts with the other derived key a data transmitted by the system, that is to say said encrypted data including the certificate of the other public key.
- 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 the 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).
- the mutual authentication process ensures the confidentiality of the certificate of the other public key sent by the system to the electronic device.
- the method thus allows the electronic device and the system to ensure the non-traceability of the system.
- 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.
- authentication 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 from the system of the first authentication result step E350
- a system authentication step step E360
- the step of sending the certificate to the electronic device (step E201), the receiving step certificate from the system (step E211), the other certificate verification step (step E220), the step of determining an authentication challenge (step E300), the step of sending the certificate to the system authentication challenge (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 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 (PI phase).
- PI phase system authentication phase
- This system authentication phase is typically implemented by the first module of the system 20 and the first module of the electronic device 10.
- 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 calculating a first authentication result (step E330) and the step of sending the first authentication result to the electronic device (step E340).
- 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 a challenge of authentication (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 system authentication (step E360).
- the method limits the demand on the resources of the electronic device.
- the method implemented by the electronic device invokes a de-encapsulation function of a key encapsulation mechanism rather than a cryptographic signature function for the authentication of the electronic device, and a cryptographic signature verification function rather as an encapsulation function of a key encapsulation mechanism for system authentication.
- 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 an encapsulation function of a key encapsulation mechanism.
- key encapsulation rather than a cryptographic signature verification function for electronic device authentication.
- 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 the authentication of the electronic device, and a function of cryptographic signature verification rather than a function of wrapping a key wrapping mechanism for system authentication.
- This mutual authentication process ensures the confidentiality of the certificate of the public key sent by the electronic device to the system, and the confidentiality of the certificate of the other public key sent by the system to the electronic device.
- the ephemeral public key allows the system to introduce a hazard which forces the use of a new other shared secret at each iteration of the process.
- the application of the encapsulation function of the other key encapsulation mechanism allows the electronic device to introduce a hazard which also forces the use of a new other shared secret at each iteration of the process.
- This process thus allows the electronic device and/or the system to ensure the non-traceability of the electronic device and the system.
- the method implemented by the electronic device invokes the deencapsulation function of the key encapsulation mechanism only once, and the encapsulation function of the other key encapsulation mechanism only once.
- the method limits exchanges between the electronic device and the system.
- 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.
- each sending step (typically sending to the system the cipher corresponding to the other shared secret, sending the authentication challenge to the system, sending the certificate to the system and sending the second authentication result to the system) and each reception step (typically reception from the system of the ephemeral public key, receipt of certificate from the system, reception from the system of the first result authentication and receipt of the authentication data) implemented by the electronic device comprises synchronous communication between the electronic device and the system.
- each sending step (typically sending an ephemeral public key to the electronic device, 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 reception step (typically the reception from the electronic device of the encrypted code corresponding to the other shared secret, the reception from the electronic device of the authentication challenge , receipt of certificate from the electronic device and receipt from the electronic device of a second authentication result) implemented by the system comprises synchronous communication between the electronic device and the system.
- each exchange between the electronic device 10 and the system 20 is direct and instantaneous.
- the method then allows mutual authentication by synchronous communication while limiting the processing implemented by the electronic device.
- a secure channel can be established from the derived key for subsequent exchanges of data between the electronic device and the system.
- the method can then further comprise a reception step from the electronic device or a sending step to the electronic device (not shown), respectively a sending step to the system and a reception step from the system (not shown). ), encrypted and/or authenticated data, with at least one exchange key calculated from the derived key.
- 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.
- the system 20 encrypts the first authentication result with the other derived key and then sends the encrypted first authentication result to the electronic device 10 .
- the system 20 encrypts the authentication data with the other derived key and then sends the encrypted authentication data to the electronic device 10.
- the mutual authentication process thus ensures the confidentiality of other data transmitted by the system.
- the mutual authentication method ensures the confidentiality of the first authentication result and the authentication data, sent by the system to the electronic device.
- the step of receiving the first authentication result from the system (step E350), and the step of receiving the authentication data (step E520), comprise the decryption with the other key derived from data issued by the system.
- the electronic device 10 receives the cipher of the first authentication result from the system 20 then decrypts the cipher of the first authentication result with the other derived key. first authentication result to obtain the first authentication result.
- the electronic device 10 receives the encryption of the authentication data from the system 20 then decrypts the encryption of the authentication data with the other derived key. authentication to obtain the authentication data.
- 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 (E340) to the electronic device, and the step of sending the authentication data to the electronic device (E510).
- AES a cryptographic algorithm
- These decryption and decryption operations can 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 of the step of receiving a certificate from of 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).
- each step can be executed in other orders, to the extent 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.
- 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
- said electronic device has the elements necessary for the execution of the step concerned, and
- the steps of the system authentication phase can be executed before the steps of the electronic device authentication phase (P2 phase).
- the step of sending a certificate to the electronic device can be executed, for example in this order, before executing the step of sending a certificate to the system (step E401), the step of receiving a certificate from the electronic device (step E411), the certificate verification step (step E420), the step of determining authentication data (step E500 ), the step of sending the authentication data to the electronic device (step E510), the step of receiving the authentication data (step E520), the step of calculating a second authentication result
- phase P2 the execution of the steps of the authentication phase of the electronic device
- phase PI the execution of the steps of the system authentication phase
- step E300 determination of an authentication challenge
- step E400 sending a certificate to the system
- step E310 sending the authentication challenge to the system
- step E500 determination of authentication data
- step E330 calculation of a first authentication result
- 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
- step E210 reception from the system of the first authentication result (step E350) and reception of the authentication data (step E520), then
- step E560 - authentication of the electronic device
- sending the certificate to the system (step E401) and sending the authentication challenge to the system (step E310), respectively receiving the certificate from the electronic device (step E411) and receiving coming from the electronic device of the authentication challenge (step E320), can be executed simultaneously by grouping the encrypted certificate of the public key and the authentication challenge in the same message sent by the electronic device to the system.
- sending a certificate to the electronic device (step E201) and sending the first authentication result to the electronic device (step E340) and sending the authentication data to the electronic device (step E510), respectively the receipt of 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 encrypted sound) and the authentication data (or encrypted sound) in the same other message sent by the system to the electronic device.
- the data comprising the certificate of the other public key can 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, of the first authentication result and the data authentication.
- the authentication challenge is the cipher corresponding to the other shared secret or the cipher of the data comprising the certificate of the public key.
- the properties of the encapsulation function ensure that the other shared secret has a random value.
- the other shared secret is different at each iteration of the process.
- the cipher corresponding to the other shared secret and the cipher of the data including the public key certificate are therefore also different at each iteration of the process.
- 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).
- step of sending to the system the cipher corresponding to the other shared secret (step El 40) or the step of sending certificate to the system (step E401) can be the step of sending to the system of the authentication challenge (step E310).
- step E150 the step of receiving from the electronic device the cipher corresponding to the other shared secret (step E150) or the step of receiving a certificate from the electronic device (step E411) can be the step of receiving in coming from the electronic device of the authentication challenge (step E320).
- the method thus further limits the demand on the 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 for the implementation of steps of the method.
- 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.
- the reference data can be the concatenation of the authentication data (calculated by the system during the step of determining a authentication data) or encrypted sound, and the authentication challenge (received from the electronic device).
- the other reference data is then the concatenation of the authentication data (or its encrypted data) received from the system, and the authentication challenge (determined by the electronic device and sent to the system).
- the step of sending to the system the cipher corresponding to the other shared secret (step El 40) and the step of sending the certificate to the system (step E401), respectively the reception step from the electronic device of the cipher corresponding to the other shared secret (step E150) and the step of receiving 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.
- steps of this process can be omitted to the extent that the other steps have the elements (for example the integrity sums, the arithmetic integrity sums and/or the corrected integrity sums). necessary for their execution.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Lock And Its Accessories (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR2212881A FR3143148A1 (fr) | 2022-12-07 | 2022-12-07 | Procédés d’authentification mutuelle, dispositif électronique, système et programmes d’ordinateur associés. |
| PCT/EP2023/077378 WO2024120674A1 (fr) | 2022-12-07 | 2023-10-04 | Procédés d'authentification mutuelle, dispositif électronique, système et programmes d'ordinateur associés |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4631210A1 true EP4631210A1 (fr) | 2025-10-15 |
Family
ID=85726717
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP23786010.1A Pending EP4631210A1 (fr) | 2022-12-07 | 2023-10-04 | Procédés d'authentification mutuelle, dispositif électronique, système et programmes d'ordinateur associés |
Country Status (4)
| Country | Link |
|---|---|
| EP (1) | EP4631210A1 (fr) |
| JP (1) | JP2025539990A (fr) |
| FR (1) | FR3143148A1 (fr) |
| WO (1) | WO2024120674A1 (fr) |
-
2022
- 2022-12-07 FR FR2212881A patent/FR3143148A1/fr active Pending
-
2023
- 2023-10-04 WO PCT/EP2023/077378 patent/WO2024120674A1/fr not_active Ceased
- 2023-10-04 EP EP23786010.1A patent/EP4631210A1/fr active Pending
- 2023-10-04 JP JP2025525210A patent/JP2025539990A/ja active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| JP2025539990A (ja) | 2025-12-11 |
| FR3143148A1 (fr) | 2024-06-14 |
| WO2024120674A1 (fr) | 2024-06-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8082446B1 (en) | System and method for non-repudiation within a public key infrastructure | |
| CA2221016C (fr) | Procede de recuperation de cles mis en oeuvre pour un chiffrement fort de message | |
| US20160337124A1 (en) | Secure backup and recovery system for private sensitive data | |
| WO2020169542A1 (fr) | Méthode cryptographique de vérification des données | |
| EP1401142A1 (fr) | Procede de signature electronique, programme et serveur pour la mise en oeuvre du procede | |
| WO2010046565A2 (fr) | Procédé de signature numérique en deux étapes | |
| WO2008145558A2 (fr) | Procede de securisation d'echange d'information, dispositif, et produit programme d'ordinateur correspondant | |
| EP3965361B1 (fr) | Echange de données entre un client et un dispositif distant, par exemple un module sécurisé | |
| EP3724799A1 (fr) | Technique de protection d'une clé cryptographique au moyen d'un mot de passe utilisateur | |
| EP1514377A1 (fr) | Procede et dispositif d'interface pour echanger de maniere protegee des donnees de contenu en ligne | |
| WO2023057652A1 (fr) | Application de sécurité pour un dispositif informatique, et architecture de sécurité correspondante | |
| EP4631210A1 (fr) | Procédés d'authentification mutuelle, dispositif électronique, système et programmes d'ordinateur associés | |
| CN116781254A (zh) | 数据加密方法、解密方法及装置 | |
| EP1642413B1 (fr) | Procede de chiffrement/dechiffrement d un message et disposi tif associe | |
| FR2875977A1 (fr) | Systeme et procede cryptographique a cle publique et serveur de certification, memoires adaptees pour ce systeme | |
| WO2021074527A1 (fr) | Procede de gestion d'une base de donnees de cles publiques, procede d'authentification de cles publiques, et dispositifs serveur et client mettant en oeuvre ces procedes | |
| EP0923829A2 (fr) | Instrument de securisation d'echanges de donnees | |
| CN116760554B (zh) | 一种借助临时数字证书的数据携带方法 | |
| US20250274289A1 (en) | Protocols for protecting digital files | |
| TWI824239B (zh) | 透過伺服器檢核密碼錯誤次數以完成作業之系統、裝置及方法 | |
| FR2786049A1 (fr) | Procede de cryptographie a cle dynamique | |
| EP4160987B1 (fr) | Procédé pour générer une signature électronique au moyen du protocole fido | |
| EP4589885A1 (fr) | Protection de données | |
| EP3021515B1 (fr) | Amélioration de l'intégrité authentique de données à l'aide du dernier bloc chiffrant ces données en mode cbc | |
| FR3148102A1 (fr) | Une méthode sécurisée de sauvegarde et de restauration des données dans un appareil |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20250425 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) | ||
| P01 | Opt-out of the competence of the unified patent court (upc) registered |
Free format text: CASE NUMBER: UPC_APP_0005841_4631210/2026 Effective date: 20260217 |