WO2020174137A1 - Symmetric cryptography method and device for vehicle processor - Google Patents

Symmetric cryptography method and device for vehicle processor Download PDF

Info

Publication number
WO2020174137A1
WO2020174137A1 PCT/FR2020/050152 FR2020050152W WO2020174137A1 WO 2020174137 A1 WO2020174137 A1 WO 2020174137A1 FR 2020050152 W FR2020050152 W FR 2020050152W WO 2020174137 A1 WO2020174137 A1 WO 2020174137A1
Authority
WO
WIPO (PCT)
Prior art keywords
secret key
final value
internal counter
encrypted
request
Prior art date
Application number
PCT/FR2020/050152
Other languages
French (fr)
Inventor
Mamadou Moustapha Ndoye
Original Assignee
Psa Automobiles Sa
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Psa Automobiles Sa filed Critical Psa Automobiles Sa
Priority to EP20707718.1A priority Critical patent/EP3932001A1/en
Priority to CN202080017209.2A priority patent/CN113491084A/en
Publication of WO2020174137A1 publication Critical patent/WO2020174137A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Definitions

  • the invention relates to the exchange of data between different computer systems such as an electronic box or a vehicle computer (in particular of the automotive type) and a off-board system.
  • the invention also relates to methods and devices for the encryption and / or decryption of such data.
  • Contemporary vehicles have a number of computers each providing one or more functions, such as, for example, management of driving assistance, traction control, electronic brake distribution or even the control of actuators to ensure operation. optimum of a combustion engine.
  • Asymmetric encryption uses a combination of public key and private key (a public key infrastructure type system) to encrypt and decrypt data. Such a technology, however, requires significant computing capacities and slows down the data exchange process.
  • the mixed solution sets up a transmission of the secret key of the computer encrypted with the public key of the disembarked system.
  • the unloaded system can then encrypt the data to be transmitted to the computer with the secret key of the computer.
  • This solution is however complex to implement and requires redeploying a new public key in all the computers in the event of compromise of the public key of the off-board system.
  • An object of the present invention is to provide a symmetric encryption mechanism with enhanced security against the compromise of the secret key used in the encryption (also called encryption) of the data.
  • the invention relates to a method for decrypting data encrypted from a secret key, the method being implemented in a first device, the method comprising the steps of:
  • the decryption is implemented only if the time between the transmission of at least one request and the start of reception of the encrypted data is less than a determined time.
  • the method further comprises a step of verifying that the encrypted data received has been encrypted with the secret key.
  • the increment time step of the first internal counter is identical to the increment time step of the second internal counter, the increment time step being greater than a maximum propagation time of a signal between the first device. and the second device.
  • the invention relates to a device for decrypting data encrypted from a secret key, the device being called the first device and comprising:
  • the decryption is implemented only if the time between the transmission of at least one request and the start of reception of the encrypted data is less than a determined time.
  • the device further comprises means for verifying that the encrypted data received has been encrypted with the secret key.
  • the increment time step of the first internal counter is identical to the increment time step of the second internal counter, the increment time step being greater than a maximum propagation time of a signal between the first device. and the second device.
  • the invention relates to an on-board system in a vehicle comprising one or more devices as described above according to the second aspect of the invention.
  • the invention relates to a vehicle, for example of the automobile type, comprising one or more devices as described above according to the second aspect of the invention.
  • the invention relates to a computer program which comprises instructions adapted for the execution of the steps of the method according to the first aspect of the invention, this in particular when the computer program is executed by at least one. processor.
  • Such a computer program can use any programming language, and be in the form of a source code, an object code, or an intermediate code between a source code and object code, such as in partially compiled form, or in any other desirable form.
  • the invention relates to a recording medium readable by a computer on which is recorded a computer program comprising instructions for carrying out the steps of the method according to the first aspect of the invention.
  • the recording medium can be any entity or device capable of storing the program.
  • the medium may comprise a storage means, such as a ROM memory, a CD-ROM or a ROM memory of the microelectronic circuit type, or else a magnetic recording means or a hard disk.
  • this recording medium can also be a transmissible medium such as an electrical or optical signal, such a signal being able to be conveyed via an electrical or optical cable, by conventional or hertzian radio or by self-directed laser beam or by other ways.
  • the computer program according to the invention can in particular be downloaded over an Internet-type network.
  • the recording medium can be an integrated circuit in which the computer program is incorporated, the integrated circuit being adapted to execute or to be used in the execution of the method in question.
  • FIG. 1 schematically illustrates an environment for the exchange of encrypted data between one or more first devices on the one hand and a second device on the other hand, according to a particular embodiment of the present invention
  • FIG. 2 schematically illustrates a first device of FIG. 1, according to a particular embodiment of the present invention
  • FIG. 3 schematically illustrates a second device of FIG. 1, according to a particular embodiment of the present invention
  • FIG. 4 illustrates a flowchart of the various steps of a data exchange process between one of the first devices and the second device of FIG. 1, according to a particular embodiment of the present invention
  • FIG. 5 illustrates a timing diagram associated with part of the operations of the process of FIG. 4, according to a particular embodiment of the present invention
  • FIG. 6 illustrates a flowchart of the various steps of a method for decrypting encrypted data implemented in one of the first devices in FIG. 1, according to a particular embodiment of the present invention
  • FIG. 7 illustrates a flowchart of the various steps of a data encryption method implemented in the second device of FIG. 1, according to a particular embodiment of the present invention.
  • a method for deciphering encrypted data using a secret key is implemented in a first device, for example a computer of a system on board a vehicle.
  • Data decryption is also called data decryption.
  • the method comprises generating a random duration, for example expressed in seconds or milliseconds.
  • a first final value of a first internal counter of the first device is determined as a function of the random duration.
  • One or more requests are transmitted to a second device corresponding, for example, to an off-board system responsible for transmitting data to the first device, for example update data for software installed on the first device. These requests allow the second device to determine a second final value of a second internal counter of the second device. The request or requests are transmitted in such a way that the second final value is identical to the first final value.
  • the secret key is generated by the first device using the first final value and the same secret key is also generated by the second device using the second final value.
  • the data to be transmitted by the second device to the first device is encrypted (or encrypted) by the second device with the secret key that the second device has generated.
  • These encrypted data are then received by the first device and then decrypted (or decrypted) by the first device using the secret key generated by the first device. After the encrypted data is received and decrypted, the first device resets the random duration value, the first final value, and the secret key. The first device also transmits to the second device a request for the second device to reset the second final value and the secret key.
  • Such a method avoids the exchange of the secret key between the first device and the second device, which limits the risks of interception and compromise of the secret key by an unauthorized third party, since the first device and the second device generate the same secret key on the basis of final values of identical internal counters but determined independently at the level of the first device on the one hand and of the second device on the other hand.
  • the reinitialization of parameters internal to the first device and to the second device makes it possible to generate a new secret key for each exchange of data between the first device and the second device.
  • the secret key for example
  • FIG. 1 schematically illustrates an environment 1 for the exchange of encrypted data between one or more first devices 102, 103, 104 on the one hand and a second device 101 on the other hand, according to a particular and non-limiting exemplary embodiment of the present invention.
  • Each first device 102, 103, 104 corresponds for example to a computer, for example a computer of UCE type.
  • An ECU is made up of an electronic computer and one or more on-board software which carry out one or more servos.
  • the first devices 102, 103, 104 belong for example to a system 10, advantageously on board a vehicle, for example of the automobile type.
  • the computers 102, 103, 104 form for example a multiplexed architecture for the realization of various useful services for the correct operation of the vehicle and to assist the driver and / or the passengers of the vehicle in the control of the vehicle.
  • the first devices 102, 103 and 104 communicate and exchange data with each other via one or more computer buses, for example a communication bus 11 of the CAN data bus type (from the English "Controller Area Network "Or in French” Network of controllers ").
  • Each first device 102, 103, 104 is for example connected in communication with the second device 101.
  • the second device 101 corresponds for example to an external device of a disembarked system.
  • Each first device 102, 103, 104 is connected to the second device via a wired or wireless connection.
  • the second device 101 is for example a remote server of the “cloud” (or “cloud” in French).
  • One or more first devices for example load the software updates stored for downloading in the second device 101 via for example the Internet with an OTA type connection (from English "over-the-air", or in French " by air ').
  • the data representative of the downloaded updates are advantageously encrypted (or encrypted) by implementing the method described with reference to FIGS. 4, 6 and / or 7.
  • first devices 102, 103, 104 of the system 10 is not limited to 3 and extends to any number, for example 10, 20, 50, 100 or more of first devices.
  • An example of a hardware embodiment of such a first device is described in look at FIG. 2.
  • An example of a hardware embodiment of a second device 101 is described with regard to FIG. 3.
  • FIG. 2 schematically illustrates a first device 2, according to a particular and non-limiting exemplary embodiment of the present invention.
  • the first device 2 advantageously corresponds to the first devices 102, 103 and 104 of FIG. 1.
  • the first device 2 advantageously corresponds to a computer of an on-board vehicle system, without however being limited to it.
  • the first device 2 is for example configured for the implementation of at least part of the steps of the method described with reference to FIG. 4.
  • Examples of such a first device 2 include, without being limited thereto, electronic equipment. on board such as a vehicle's on-board computer, an electronic computer such as an ECU.
  • the elements of the first device 2, individually or in combination, can be integrated in a single integrated circuit, in several integrated circuits, and / or in discrete components.
  • the first device 2 can be produced in the form of electronic circuits or software (or computer) modules or else a combination of electronic circuits and software modules.
  • the first device 2 is coupled in communication with other similar devices or systems, for example through a communication bus or through dedicated input / output ports.
  • the first device 2 comprises one (or more) processor (s) 20 configured to execute instructions for carrying out the steps of the method and / or for executing the instructions of the software (s) embedded in the first device 2.
  • the processor 20 can include integrated memory, an input / output interface, and various circuits known to those skilled in the art.
  • the first device 2 further comprises at least one memory 21, corresponding for example to a volatile and / or non-volatile memory.
  • the processor corresponds for example to an HSM Full security hardware module (standing for “Flardware Security Module”) to protect access to the variables and to the functions used for the encryption / decryption of the data.
  • the computer code of the onboard software (s) comprising the instructions to be loaded and executed by the processor is for example stored in the memory 21.
  • the first device 2 comprises a block 22 of interface elements for communicating with external devices, for example the second device 101 of FIG. 1, a remote server or the “cloud”. , odometric sensors, a GPS sensor.
  • the interface elements of block 22 include one or more of the following interfaces:
  • radiofrequency interface for example of the Bluetooth® or Wi-Fi® type, LTE (from English “Long-Term Evolution” or in French “Long-term evolution”), LTE-Advanced (or in French LTE-advanced );
  • USB interface from English “Universal Serial Bus” or “Bus Universel en Série” in French);
  • Data is for example loaded to the first device 2 via the interface of block 22 using a Wi-Fi® network such as according to IEEE 802.11 or a mobile network such as a 4G network (or LTE Advanced according to 3GPP release 10 - version 10) or 5G.
  • Wi-Fi® network such as according to IEEE 802.11
  • a mobile network such as a 4G network (or LTE Advanced according to 3GPP release 10 - version 10) or 5G.
  • the first device 2 comprises a communication interface 23 which makes it possible to establish communication with other devices (such as secondary computers of the on-board system) via a communication channel 230.
  • the interface communication 23 corresponds for example to a transmitter configured to transmit and receive information and / or data via the communication channel 230.
  • the communication channel 230 corresponds for example to a wired CAN type network.
  • FIG. 3 schematically illustrates a second device 3, according to a particular and non-limiting exemplary embodiment of the present invention.
  • the second device 2 advantageously corresponds to the second device 101 of FIG. 1.
  • Examples of such a second device 3 include, but are not limited to, different electronic devices such as a laptop computer, a computer update tool.
  • the elements of the second device 3, individually or in combination, can be integrated in a single integrated circuit, in several integrated circuits, and / or in discrete components.
  • the second device 3 can be produced in the form of electronic circuits or software (or computer) modules or else a combination of electronic circuits and software modules.
  • the second device 3 comprises one (or more) processor (s) 30 configured to execute instructions for carrying out the steps of the method.
  • the processor 30 can include integrated memory, an input / output interface, and various circuits known to those skilled in the art.
  • the second device 3 further comprises at least one memory 31, via a volatile at / or non-volatile memory and / or comprises a memory storage device which may comprise volatile and / or non-volatile memory, such as EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, magnetic or optical disk.
  • the processor corresponds, for example, to an HSM Full hardware security module ("Hardware Security Module") to protect access to the variables and functions used for the encryption / decryption of data.
  • HSM Full hardware security module (“Hardware Security Module"
  • the device 3 comprises a block 32 of elements of interface for communicating with external devices, for example a first device 2.
  • the interface elements of block 32 include one or more of the following interfaces:
  • radio frequency interface for example of the Bluetooth® or Wi-Fi® type
  • USB interface from English “Universal Serial Bus” or “Bus Universel en Série” in French);
  • the device 3 comprises a communication interface 33 which makes it possible to establish a communication with other devices via a communication channel 330.
  • the communication interface 33 corresponds for example to a transmitter configured for transmit and receive information and / or data via the communication channel 330.
  • the communication interface 33 comprises for example a modem and / or a network card and the communication channel can for example be implemented in a wired medium and / or wireless.
  • Wi-Fi® network such as according to IEEE 802.11
  • a mobile network such as a 4G network (or LTE Advanced according to 3GPP release 10 - version 10) or 5G.
  • the device 3 can provide output signals to one or more external devices, such as a display screen 340, one or more speakers 350 and / or other peripherals 360 ( DVD player, a projection system) via output interfaces 34, 35 and 36 respectively.
  • one or other of the external devices is integrated into the second device 3.
  • FIG. 4 illustrates a flowchart of the different steps or operations of a data exchange process between one of the first devices, for example the first device 102, and the second device 101, according to a particular and non-limiting example of the present invention. invention.
  • the second device 101 transmits a request to the first device 102 to initiate the data download procedure.
  • the first device 102 uses the value of its internal clock at the time of receipt of the request received in operation 400 to generate a random duration, called D_alea.
  • This random duration is limited by a minimum time limit (for example equal to 0) and by a maximum time limit, the maximum limit being for example adjustable or configurable to limit the value of D random.
  • the first device 102 transmits a request to the second device 101 for the latter to start an internal counter, called the second internal counter count_Ks2.
  • the first device 102 starts its internal counter, called the first internal counter count_Ks1.
  • the first internal counter is started after a time delay calibrated to be equal to the maximum propagation time of the request transmitted to operation 402, this maximum propagation time depending on the communication channel used.
  • the second internal counter will be stopped at the end of the random duration D_alea, the random duration being equal to the time elapsed between the start of the first internal counter and the stopping of the first internal counter.
  • This operation makes it possible to determine the first final value of the first internal counter taken at the end of the random duration D_alea. This first final value corresponds to the number of time increment steps counted between the start and stop of the first internal counter.
  • the incrementation step Tcount is for example adjustable in duration and must be greater than the maximum propagation time of the request transmitted to the operation 402. It is considered that the time drift of the internal clock of the first device 102 is negligible.
  • the first final value is determined by the juxtaposition of the final values of each of the internal counters.
  • the duration of the temporal incrementation step is generated randomly on each transmission of data from the second device 102 to the first device 101.
  • the random duration of the incrementation step is for example generated as in the operation 401. So that the first device and the second device use the same time increment step, the first device transmits synchronization requests to the second device at the start and end of the generated time increment step, as described in operation 404. .
  • the second device 101 starts its internal counter, called the second internal counter count_Ks2, on receipt of the request transmitted to the operation 402.
  • the first device 102 transmits a request to the second device 101 for the latter to stop its internal counter, called the second internal counter count_Ks2.
  • the transmission of the request by the first device 102 corresponds to the end of the operation 403a during which the first device 102 has stopped its internal counter, called the first internal counter count_Ks1, at the end of the random duration.
  • the second device 101 stops its internal counter which takes the second final value. This second final value corresponds to the number of time increment steps counted between the start and stop of the second internal counter.
  • the incrementation step Tcount of this second internal counter is also adjustable in duration.
  • the duration of the increment step of the second internal counter is chosen to be equal to the duration of the increment step of the first internal counter. It is considered that the time drift of the internal clock of the second device 101 is negligible.
  • the second final value taken by the second internal counter count_Ks2 is consequently equal to the first final value taken by the first internal counter count_Ks1.
  • a hash function of the first device 102 uses the first final value to generate the secret key K_sec.
  • a hash function of the second device 101 which is identical to the hash function of the first device 102, uses the second final value (which is identical to the first final value) to generate the same secret key K_sec .
  • the secret key K_sec is therefore generated both by the first device 102 and by the second device 101, which avoids having to transmit this secret key K_sec from one device to the other.
  • the second device 101 encrypts (or encrypts) the data to be transmitted to the first device 102 with the secret key K_sec generated by the second device 101 during the operation 405b.
  • the encryption is achieved by implementing a block or flow encryption algorithm, for example an algorithm of the type AES (standing for “Advanced Encryption Standard” or in French “standard of advanced encryption”), Blowfish, Serpent or Twofish.
  • the second device 101 transmits to the first device 102 the data encrypted (or encrypted) during the ninth operation 406.
  • the first device 102 verifies that the start of the downloading of the encrypted data begins. before a determined period, this period starting at the end of the sixth operation 404.
  • the maximum time between the end of the sixth operation 404 and the start of the tenth operation 407 must be less than the determined period, called Cste_Dmax_start, this period being for example chosen by a user or fixed in the system.
  • Cste_Dmax_start the determined period
  • the first device 102 decrypts (or decrypts) the encrypted data received during the previous operation, the decryption being performed using the secret key K_sec generated by the first device 102 during the operation 405a.
  • the first device 102 verifies that the first decrypted or decrypted datum is equal to a determined datum, called Cste_verif.
  • the operation of verifying that the start of downloading the encrypted data begins before a determined period Cste_Dmax_start is for example carried out during this twelfth operation which is then implemented in parallel with the eleventh operation 408. If one and / or l The other of the conditions associated with Cste_verif and Cste_Dmax_start is not verified, then the first device 102 interrupts the reception of the encrypted data and the process goes directly to the operation 412a. If the 2 conditions associated with Cste_verif and Cste_Dmax_start are verified, then the reception and decryption of the encrypted data continues and the process then continues with the next operation 410.
  • the decrypted or decrypted data is downloaded into the memory of the first device 102.
  • the first device 102 transmits to the second device 101 a request for reinitializing the variables associated with the encrypted data exchange process, namely the second final value Cpt_alea of the second internal counter count_Ks2 and the secret key K_sec.
  • the first device 102 reinitializes the variables associated with the encrypted data exchange process, namely the random duration D_alea, the first final value Cpt_alea of the first internal counter count_Ks1 and the secret key K_sec.
  • the second device 101 reinitializes the variables associated with the encrypted data exchange process on receipt of the request transmitted during the operation 41 1, namely the second final value Cpt_alea of the second internal counter count_Ks2 and the secret key K_sec.
  • the operations 400 to 412b are advantageously reiterated when a new transmission of encrypted data from the second device 101 to the first device 102 must be performed, the encryption / decryption process being based on a new secret key generated both by the first device 102 and the second device 101.
  • FIG. 5 illustrates a timing diagram associated with part of the operations of the process of FIG. 4, in particular operations 402 to 404, according to a particular and non-limiting exemplary embodiment of the present invention.
  • FIG. 5 illustrates two timing diagrams 52 and 54 associated with operations 402 to 404 for the first device 102 and two timing diagrams 51 and 53 associated with operations 402 to 404 for the second device 101.
  • a first request 541 is transmitted by the first device 102 to the second device 101 at a time t. This request is received by the second device at an instant t + 5t in a time interval corresponding to the maximum propagation time of the signal carrying the request Tpropag_max 531.
  • the second device 101 starts counting 512 with its internal counter count_Ks2.
  • the first device 102 starts up for its part, the counting 522 with a delay with respect to the instant t corresponding to the maximum propagation time of the signal carrying the request Tpropag_max 531.
  • the start of the counter 522 also corresponds to the start of the random duration D_alea 521.
  • the first device 102 determines the number of temporal increment steps Tcount counted by the first counter count_Ks1, this number corresponding to the first final value of the first internal counter count _Ks1.
  • a second request 542 is then transmitted by the first device 102 to the second device 101 when the first internal counter coun_Ks1 stops counting the number of time steps of increments elapsed during the random duration D_alea.
  • the second device stops its internal counter count_Ks2 and determines the number of elapsed increment time steps 513 until receipt of this second request. This number of elapsed increment time steps 513 corresponds to the second final value of the second internal counter count _Ks2.
  • the duration of a time step of incrementing the first internal counter count_Ks1 is equal to the duration of a time step of incrementing the second internal counter count_Ks2, this duration being greater than the propagation time maximum of the signal Tpropag_max 531.
  • the time step of incrementation of the first internal counter which is identical to the time step of incrementation of the second internal counter, corresponds for example to a preprogrammed constant.
  • the time step of incrementing the first internal counter which is identical to the time step of incrementing the second internal counter, is a constant generated randomly. For this, the first device generates additional information representative of a random duration which will make it possible to obtain a random time step for the first counter internal to the first device.
  • FIG. 6 illustrates a flowchart of the various steps of a method for decryption (or decryption) of encrypted data, according to a particular and non-limiting example of the present invention.
  • the method is advantageously implemented by a first device, for example a computer of the on-board system of FIG. 1.
  • a first step 61 information representative of a random duration is generated, for example as described in operation 401.
  • a first final value of a first counter internal to the first device is determined as a function of the information representative of a random duration.
  • a third step 63 at least one request is sent to a second device to allow the second device to determine a second final value of a second internal counter of this second device.
  • the second final value is the same as the first final value.
  • a secret key is generated from the first final internal counter value, for example by implementing a hash function.
  • step 65 data encrypted by the second device from the secret key generated by the second device from the second final internal counter value is received by the first device.
  • step 66 the encrypted data received in the previous step is decrypted (or decrypted) by the first device using the secret key generated by the first device.
  • a seventh step 67 the information representative of a random duration, the first final value and the secret key generated or determined by the first device are reset by the first device.
  • FIG. 7 illustrates a flowchart of the various steps of a method of encryption (or encryption) of data intended for the first device, according to a particular and non-limiting embodiment of the present invention. The method is advantageously implemented by a second device, for example a device of the unloaded system of FIG. 1.
  • a first step 71 at least one request transmitted by the first device is received by the second device.
  • a second final value of a second internal counter of this second device is determined from the request (s) received in step 71.
  • a secret key is generated from the second final value of the second internal counter, for example by implementing a hash function.
  • the data intended for the first device is encrypted (or encrypted) using the secret key generated by the second device in the previous step.
  • a fifth step 66 the data encrypted in the previous step is transmitted to the first device.
  • a sixth step 67 a request to reset the second final value and the secret key transmitted by transmitted by the first device is received by the second device.
  • the invention is not limited to the embodiments described above, but extends to a data encryption method and to the device configured for the implementation of such a method.
  • the invention also relates to a method of communication between the first device and the second device implementing the encryption and decryption of data.
  • the invention also relates to a vehicle, for example a motor vehicle or more generally a land motor vehicle, comprising the device 2 of FIG. 2 or the on-board system 10 of FIG. 1.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

The invention relates to a method and to a device for deciphering encrypted data using a secret key. To this end, a random duration is generated. A first final value of a first internal counter of the first device is determined depending on the random duration. One or more requests are transmitted to a second device. These requests allow the second device to determine a second final value of a second internal counter of the second device. The one or more requests are transmitted in such a way that the second final value is identical to the first final value. The secret key is generated by the first device using the first final value and the same secret key is also generated by the second device using the second final value. The data to be transmitted by the second device to the first device are encrypted with the secret key that the second device generated.

Description

DESCRIPTION DESCRIPTION
Titre : Procédé et dispositif de cryptographie symétrique pour calculateur de véhicule Title: Symmetric cryptography method and device for vehicle computer
Domaine technique Technical area
L’invention concerne l’échange de données entre différents systèmes informatiques tels qu’un boîtier électronique ou un calculateur de véhicule (notamment de type automobile) et un système débarqué. L’invention concerne également des procédés et dispositifs pour le chiffrement et/ou le déchiffrement de telles données. The invention relates to the exchange of data between different computer systems such as an electronic box or a vehicle computer (in particular of the automotive type) and a off-board system. The invention also relates to methods and devices for the encryption and / or decryption of such data.
Arrière-plan technologique Technological background
Les véhicules contemporains embarquent nombre de calculateurs assurant chacun une ou plusieurs fonctions, telles que par exemple la gestion de l’aide à la conduite, de l’antipatinage, de la répartition électronique du freinage ou encore la commande d’actionneurs pour assurer le fonctionnement optimal d’un moteur à combustion. Contemporary vehicles have a number of computers each providing one or more functions, such as, for example, management of driving assistance, traction control, electronic brake distribution or even the control of actuators to ensure operation. optimum of a combustion engine.
Ces calculateurs sont aussi appelés UCE (« Unité de Commande Electronique » ou en anglais ECU « Electronic Control Unit »). Ces calculateurs embarquent des logiciels qui sont exécutés pour assurer les fonctions dont ils ont la charge. Ces logiciels ou leurs mises à jour sont téléchargés depuis un système débarqué (aussi appelé cloud en anglais) via une connexion filaire ou sans fil, par exemple une connexion de type OTA (de l’anglais « over-the-air », ou en français « par voie aérienne »). These computers are also called UCE ("Electronic Control Unit" or in English ECU "Electronic Control Unit"). These computers embed software which is executed to perform the functions for which they are responsible. These software or their updates are downloaded from a disembarked system (also called cloud in English) via a wired or wireless connection, for example an OTA type connection (standing for “over-the-air”, or in English). French "by air").
Pour éviter tout piratage des données échangées entre le système débarqué et le calculateur, il est connu de chiffrer ou crypter les données, par exemple en utilisant un cryptage symétrique à clé secrète fixe, un cryptage asymétrique ou une solution mixte. Concernant le cryptage symétrique à clé secrète fixe, une même clé secrète est partagée et utilisée par le système débarqué et par le calculateur pour respectivement crypter et décrypter les données échangées, cette dernière étant stockée dans une zone sécurisée du système débarqué et dans une zone sécurisée du calculateur. Un inconvénient majeur de cette technologie est que si la clé secrète est interceptée par un tiers, il est alors nécessaire de redéployer une nouvelle clé secrète non compromise dans tous les calculateurs l’utilisant. Le cryptage asymétrique utilise quant à lui une combinaison de clé publique et de clé privée (système de type infrastructure à clé publique) pour crypter et décrypter les données. Une telle technologie requiert cependant des capacités de calcul importantes et ralentit le processus d’échange de données. To avoid any hacking of the data exchanged between the off-shore system and the computer, it is known practice to encrypt or encrypt the data, for example using symmetric encryption with a fixed secret key, asymmetric encryption or a mixed solution. Regarding symmetric encryption with a fixed secret key, the same secret key is shared and used by the off-board system and by the computer to respectively encrypt and decrypt the data exchanged, the latter being stored in a secure area of the disembarked system and in a secure area of the computer. A major drawback of this technology is that if the secret key is intercepted by a third party, it is then necessary to redeploy a new uncompromised secret key in all the computers using it. Asymmetric encryption uses a combination of public key and private key (a public key infrastructure type system) to encrypt and decrypt data. Such a technology, however, requires significant computing capacities and slows down the data exchange process.
La solution mixte met en place une transmission de la clé secrète du calculateur cryptée avec la clé publique du système débarqué. Le système débarqué peut alors crypter les données à transmettre au calculateur avec la clé secrète du calculateur. Cette solution est cependant complexe à mettre en œuvre et nécessite de redéployer une nouvelle clé publique dans tous les calculateurs en cas de compromission de la clé publique du système débarqué. The mixed solution sets up a transmission of the secret key of the computer encrypted with the public key of the disembarked system. The unloaded system can then encrypt the data to be transmitted to the computer with the secret key of the computer. This solution is however complex to implement and requires redeploying a new public key in all the computers in the event of compromise of the public key of the off-board system.
Résumé de l’invention Summary of the invention
Un objet de la présente invention est de proposer un mécanisme de cryptage symétrique à sécurité renforcée contre la compromission de la clé secrète utilisée dans le cryptage (appelé aussi chiffrement) des données. Selon un premier aspect, l’invention concerne un procédé de déchiffrement de données cryptées à partir d’une clé secrète, le procédé étant mis en œuvre dans un premier dispositif, le procédé comprenant les étapes de : An object of the present invention is to provide a symmetric encryption mechanism with enhanced security against the compromise of the secret key used in the encryption (also called encryption) of the data. According to a first aspect, the invention relates to a method for decrypting data encrypted from a secret key, the method being implemented in a first device, the method comprising the steps of:
- génération d’une information représentative d’une durée aléatoire ; - generation of representative information of a random duration;
- détermination d’une première valeur finale d’un premier compteur interne au premier dispositif en fonction de l’information représentative d’une durée aléatoire ; - determination of a first final value of a first counter internal to the first device based on the information representative of a random duration;
- transmission d’au moins une requête à l’intention d’un deuxième dispositif pour détermination par le deuxième dispositif d’une deuxième valeur finale d’un deuxième compteur interne au deuxième dispositif, la deuxième valeur finale étant identique à la première valeur finale ; - génération de la clé secrète à partir de la première valeur finale de compteur interne ;- transmission of at least one request to a second device for determination by the second device of a second final value of a second internal counter to the second device, the second final value being identical to the first final value ; - generation of the secret key from the first final internal counter value;
- réception de données cryptées par le deuxième dispositif à partir de la clé secrète générée par le deuxième dispositif à partir de la deuxième valeur finale de compteur interne ; - reception of data encrypted by the second device from the secret key generated by the second device from the second final internal counter value;
- déchiffrement des données cryptées reçues en utilisant la clé secrète générée par le premier dispositif ; - decryption of the encrypted data received using the secret key generated by the first device;
- réinitialisation de l’information représentative d’une durée aléatoire, de la première valeur finale et de la clé secrète ; - reinitialization of the information representative of a random duration, of the first final value and of the secret key;
- transmission d’une requête de réinitialisation de la deuxième valeur finale et de la clé secrète au deuxième dispositif. - transmission of a request to reset the second final value and the secret key to the second device.
Selon une variante, le déchiffrement est mis en œuvre seulement si la durée entre la transmission d’au moins une requête et le début de la réception des données cryptées est inférieure à une durée déterminée. According to a variant, the decryption is implemented only if the time between the transmission of at least one request and the start of reception of the encrypted data is less than a determined time.
Selon encore une variante, le procédé comprend en outre une étape de vérification que les données cryptées reçues ont été cryptées avec la clé secrète. According to yet another variant, the method further comprises a step of verifying that the encrypted data received has been encrypted with the secret key.
Selon une variante supplémentaire, le pas temporel d’incrémentation du premier compteur interne est identique au pas temporel d’incrémentation du deuxième compteur interne, le pas temporel d’incrémentation étant supérieur à une durée de propagation maximale d’un signal entre le premier dispositif et le deuxième dispositif. According to a further variant, the increment time step of the first internal counter is identical to the increment time step of the second internal counter, the increment time step being greater than a maximum propagation time of a signal between the first device. and the second device.
Selon un deuxième aspect, l’invention concerne un dispositif de déchiffrement de données cryptées à partir d’une clé secrète, le dispositif étant appelé premier dispositif et comprenant : According to a second aspect, the invention relates to a device for decrypting data encrypted from a secret key, the device being called the first device and comprising:
- des moyens de génération d’une information représentative d’une durée aléatoire ; - means for generating information representative of a random duration;
- des moyens de détermination d’une première valeur finale d’un premier compteur interne au premier dispositif en fonction de l’information représentative d’une durée aléatoire ;- Means for determining a first final value of a first counter internal to the first device as a function of the information representative of a random duration;
- des moyens de transmission d’au moins une requête à l’intention d’un deuxième dispositif pour détermination par le deuxième dispositif d’une deuxième valeur finale d’un deuxième compteur interne au deuxième dispositif, la deuxième valeur finale étant identique à la première valeur finale ; - means for transmitting at least one request to a second device for determination by the second device of a second final value of a second internal counter to the second device, the second final value being identical to the first final value;
- des moyens de génération de la clé secrète à partir de la première valeur finale de compteur interne ; - des moyens de réception de données cryptées par le deuxième dispositif à partir de la clé secrète générée par le deuxième dispositif à partir de la deuxième valeur finale de compteur interne ; means for generating the secret key from the first final internal counter value; means for receiving data encrypted by the second device from the secret key generated by the second device from the second final internal counter value;
- des moyens de déchiffrement des données cryptées reçues en utilisant la clé secrète générée par le premier dispositif ; - means for decrypting the encrypted data received using the secret key generated by the first device;
- des moyens de réinitialisation de l’information représentative d’une durée aléatoire, de la première valeur finale et de la clé secrète ; - means for resetting the information representative of a random duration, of the first final value and of the secret key;
- des moyens de transmission d’une requête de réinitialisation de la deuxième valeur finale et de la clé secrète au deuxième dispositif. - Means for transmitting a request to reset the second final value and the secret key to the second device.
Selon une variante, le déchiffrement est mis en œuvre seulement si la durée entre la transmission d’au moins une requête et le début de la réception des données cryptées est inférieure à une durée déterminée. According to a variant, the decryption is implemented only if the time between the transmission of at least one request and the start of reception of the encrypted data is less than a determined time.
Selon encore une variante, le dispositif comprend en outre des moyens de vérification que les données cryptées reçues ont été cryptées avec la clé secrète. According to yet another variant, the device further comprises means for verifying that the encrypted data received has been encrypted with the secret key.
Selon une variante supplémentaire, le pas temporel d’incrémentation du premier compteur interne est identique au pas temporel d’incrémentation du deuxième compteur interne, le pas temporel d’incrémentation étant supérieur à une durée de propagation maximale d’un signal entre le premier dispositif et le deuxième dispositif. According to a further variant, the increment time step of the first internal counter is identical to the increment time step of the second internal counter, the increment time step being greater than a maximum propagation time of a signal between the first device. and the second device.
Selon un troisième aspect, l’invention concerne un système embarqué dans un véhicule comprenant un ou plusieurs dispositifs tel que décrit ci-dessus selon le deuxième aspect de l’invention. According to a third aspect, the invention relates to an on-board system in a vehicle comprising one or more devices as described above according to the second aspect of the invention.
Selon un quatrième aspect, l’invention concerne un véhicule, par exemple de type automobile, comprenant un ou plusieurs dispositifs tel que décrit ci-dessus selon le deuxième aspect de l’invention. According to a fourth aspect, the invention relates to a vehicle, for example of the automobile type, comprising one or more devices as described above according to the second aspect of the invention.
Selon un cinquième aspect, l’invention concerne un programme d’ordinateur qui comporte des instructions adaptées pour l’exécution des étapes du procédé selon le premier aspect de l’invention, ceci notamment lorsque le programme d’ordinateur est exécuté par au moins un processeur. According to a fifth aspect, the invention relates to a computer program which comprises instructions adapted for the execution of the steps of the method according to the first aspect of the invention, this in particular when the computer program is executed by at least one. processor.
Un tel programme d’ordinateur peut utiliser n’importe quel langage de programmation, et être sous la forme d’un code source, d’un code objet, ou d’un code intermédiaire entre un code source et un code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable. Such a computer program can use any programming language, and be in the form of a source code, an object code, or an intermediate code between a source code and object code, such as in partially compiled form, or in any other desirable form.
Selon un sixième aspect, l’invention concerne un support d’enregistrement lisible par un ordinateur sur lequel est enregistré un programme d’ordinateur comprenant des instructions pour l’exécution des étapes du procédé selon le premier aspect de l’invention. According to a sixth aspect, the invention relates to a recording medium readable by a computer on which is recorded a computer program comprising instructions for carrying out the steps of the method according to the first aspect of the invention.
D’une part, le support d’enregistrement peut être n'importe quel entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une mémoire ROM, un CD-ROM ou une mémoire ROM de type circuit microélectronique, ou encore un moyen d'enregistrement magnétique ou un disque dur. D'autre part, ce support d’enregistrement peut également être un support transmissible tel qu'un signal électrique ou optique, un tel signal pouvant être acheminé via un câble électrique ou optique, par radio classique ou hertzienne ou par faisceau laser autodirigé ou par d'autres moyens. Le programme d’ordinateur selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. Alternativement, le support d'enregistrement peut être un circuit intégré dans lequel le programme d’ordinateur est incorporé, le circuit intégré étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question. On the one hand, the recording medium can be any entity or device capable of storing the program. For example, the medium may comprise a storage means, such as a ROM memory, a CD-ROM or a ROM memory of the microelectronic circuit type, or else a magnetic recording means or a hard disk. On the other hand, this recording medium can also be a transmissible medium such as an electrical or optical signal, such a signal being able to be conveyed via an electrical or optical cable, by conventional or hertzian radio or by self-directed laser beam or by other ways. The computer program according to the invention can in particular be downloaded over an Internet-type network. Alternatively, the recording medium can be an integrated circuit in which the computer program is incorporated, the integrated circuit being adapted to execute or to be used in the execution of the method in question.
Brève description des figures D’autres caractéristiques et avantages de l’invention ressortiront de la description des modes de réalisation non limitatifs de l’invention ci-après, en référence aux figures 1 à 7 annexées, sur lesquelles : Brief Description of the Figures Other characteristics and advantages of the invention will emerge from the description of the non-limiting embodiments of the invention below, with reference to the attached Figures 1 to 7, in which:
[Fig. 1] illustre de façon schématique un environnement pour l’échange de données cryptées entre un ou plusieurs premiers dispositifs d’une part et un deuxième dispositif d’autre part, selon un exemple de réalisation particulier de la présente invention ; [Fig. 1] schematically illustrates an environment for the exchange of encrypted data between one or more first devices on the one hand and a second device on the other hand, according to a particular embodiment of the present invention;
[Fig. 2] illustre schématiquement un premier dispositif de la figure 1 , selon un exemple de réalisation particulier de la présente invention ; [Fig. 3] illustre schématiquement un deuxième dispositif de la figure 1 , selon un exemple de réalisation particulier de la présente invention ; [Fig. 2] schematically illustrates a first device of FIG. 1, according to a particular embodiment of the present invention; [Fig. 3] schematically illustrates a second device of FIG. 1, according to a particular embodiment of the present invention;
[Fig. 4] illustre un organigramme des différentes étapes d’un processus d’échange de données entre un des premiers dispositifs et le deuxième dispositif de la figure 1 , selon un exemple de réalisation particulier de la présente invention ; [Fig. 4] illustrates a flowchart of the various steps of a data exchange process between one of the first devices and the second device of FIG. 1, according to a particular embodiment of the present invention;
[Fig. 5] illustre un chronogramme associé à une partie des opérations du processus de la figure 4, selon un exemple de réalisation particulier de la présente invention ; [Fig. 5] illustrates a timing diagram associated with part of the operations of the process of FIG. 4, according to a particular embodiment of the present invention;
[Fig. 6] illustre un organigramme des différentes étapes d’un procédé de déchiffrement de données cryptées mis en œuvre dans un des premiers dispositifs de la figure 1 , selon un exemple de réalisation particulier de la présente invention ; [Fig. 6] illustrates a flowchart of the various steps of a method for decrypting encrypted data implemented in one of the first devices in FIG. 1, according to a particular embodiment of the present invention;
[Fig. 7] illustre un organigramme des différentes étapes d’un procédé de chiffrement de données mis en œuvre dans le deuxième dispositif de la figure 1 , selon un exemple de réalisation particulier de la présente invention. [Fig. 7] illustrates a flowchart of the various steps of a data encryption method implemented in the second device of FIG. 1, according to a particular embodiment of the present invention.
Description des modes de réalisation Description of embodiments
Un procédé de déchiffrement de données cryptées, un procédé de chiffrement de données ainsi que les dispositifs et système associés vont maintenant être décrits dans ce qui va suivre en référence conjointement aux figures 1 à 7. Des mêmes éléments sont identifiés avec des mêmes signes de référence tout au long de la description qui va suivre. Selon un exemple particulier et non limitatif de réalisation de l’invention, un procédé de déchiffrement de données cryptées utilisant une clé secrète est mis en œuvre dans un premier dispositif, par exemple un calculateur d’un système embarqué dans un véhicule. Le déchiffrement de données est aussi appelé décryptage de données. A cet effet, le procédé comprend la génération d’une durée aléatoire, par exemple exprimée en secondes ou millisecondes. Une première valeur finale d’un premier compteur interne du premier dispositif est déterminée en fonction de la durée aléatoire. Une ou plusieurs requêtes sont transmises à un deuxième dispositif correspondant par exemple à un système débarqué responsable de la transmission de données vers le premier dispositif, par exemple des données de mise à jour d’un logiciel installé sur le premier dispositif. Ces requêtes permettent au deuxième dispositif de déterminer une deuxième valeur finale d’un deuxième compteur interne du deuxième dispositif. La ou les requêtes sont transmises de telle manière que la deuxième valeur finale est identique à la première valeur finale. La clé secrète est générée par le premier dispositif en utilisant la première valeur finale et la même clé secrète est également générée par le deuxième dispositif en utilisant la deuxième valeur finale. Les données à transmettre par le deuxième dispositif au premier dispositif sont cryptées (ou chiffrées) par le deuxième dispositif avec la clé secrète que le deuxième dispositif a généré. Ces données cryptées sont alors reçues par le premier dispositif puis déchiffrées (ou décryptées) par le premier dispositif en utilisant la clé secrète générée par le premier dispositif. Une fois les données cryptées reçues et déchiffrées, le premier dispositif réinitialise la valeur de durée aléatoire, la première valeur finale et la clé secrète. Le premier dispositif transmet également au deuxième dispositif une requête pour que le deuxième dispositif réinitialise la deuxième valeur finale et la clé secrète. A method of decrypting encrypted data, a method of encrypting data as well as the associated devices and system will now be described in what follows with reference in conjunction with FIGS. 1 to 7. The same elements are identified with the same reference signs. throughout the description which follows. According to a particular and non-limiting example of an embodiment of the invention, a method for deciphering encrypted data using a secret key is implemented in a first device, for example a computer of a system on board a vehicle. Data decryption is also called data decryption. To this end, the method comprises generating a random duration, for example expressed in seconds or milliseconds. A first final value of a first internal counter of the first device is determined as a function of the random duration. One or more requests are transmitted to a second device corresponding, for example, to an off-board system responsible for transmitting data to the first device, for example update data for software installed on the first device. These requests allow the second device to determine a second final value of a second internal counter of the second device. The request or requests are transmitted in such a way that the second final value is identical to the first final value. The secret key is generated by the first device using the first final value and the same secret key is also generated by the second device using the second final value. The data to be transmitted by the second device to the first device is encrypted (or encrypted) by the second device with the secret key that the second device has generated. These encrypted data are then received by the first device and then decrypted (or decrypted) by the first device using the secret key generated by the first device. After the encrypted data is received and decrypted, the first device resets the random duration value, the first final value, and the secret key. The first device also transmits to the second device a request for the second device to reset the second final value and the secret key.
Un tel procédé évite l’échange de la clé secrète entre le premier dispositif et le deuxième dispositif, ce qui limite les risques d’interception et de compromission de la clé secrète par un tiers non autorisé, puisque le premier dispositif et le deuxième dispositif génère la même clé secrète sur la base de valeurs finales de compteurs internes identiques mais déterminées indépendamment au niveau du premier dispositif d’une part et du deuxième dispositif d’autre part. Such a method avoids the exchange of the secret key between the first device and the second device, which limits the risks of interception and compromise of the secret key by an unauthorized third party, since the first device and the second device generate the same secret key on the basis of final values of identical internal counters but determined independently at the level of the first device on the one hand and of the second device on the other hand.
Par ailleurs, la réinitialisation de paramètres internes au premier dispositif et au deuxième dispositif, telle que la clé secrète par exemple, permet de générer une nouvelle clé secrète pour chaque échange de données entre le premier dispositif et le deuxième dispositif. Ainsi, si une clé secrète utilisée pour un échange donné est dérobée, cette dernière n’est plus utilisable pour les échanges de données ultérieurs. Moreover, the reinitialization of parameters internal to the first device and to the second device, such as the secret key for example, makes it possible to generate a new secret key for each exchange of data between the first device and the second device. Thus, if a secret key used for a given exchange is stolen, the latter is no longer usable for subsequent data exchanges.
[Fig. 1] illustre de façon schématique un environnement 1 pour l’échange de données cryptées entre un ou plusieurs premiers dispositifs 102, 103, 104 d’une part et un deuxième dispositif 101 d’autre part, selon un exemple de réalisation particulier et non limitatif de la présente invention. [Fig. 1] schematically illustrates an environment 1 for the exchange of encrypted data between one or more first devices 102, 103, 104 on the one hand and a second device 101 on the other hand, according to a particular and non-limiting exemplary embodiment of the present invention.
Chaque premier dispositif 102, 103, 104 correspond par exemple à un calculateur, par exemple un calculateur de type UCE. Une UCE est composée d’un calculateur électronique et d’un ou plusieurs logiciels embarqués qui réalisent un ou plusieurs asservissements. Les premiers dispositifs 102, 103, 104 appartiennent par exemple à un système 10, avantageusement embarqué dans un véhicule, par exemple de type automobile. Les calculateurs 102, 103, 104 forment par exemple une architecture multiplexée pour la réalisation de différents services utiles pour le bon fonctionnement du véhicule et pour assister le conducteur et/ou les passagers du véhicule dans le contrôle du véhicule. Each first device 102, 103, 104 corresponds for example to a computer, for example a computer of UCE type. An ECU is made up of an electronic computer and one or more on-board software which carry out one or more servos. The first devices 102, 103, 104 belong for example to a system 10, advantageously on board a vehicle, for example of the automobile type. The computers 102, 103, 104 form for example a multiplexed architecture for the realization of various useful services for the correct operation of the vehicle and to assist the driver and / or the passengers of the vehicle in the control of the vehicle.
Les premiers dispositifs 102, 103 et 104 communiquent et échangent des données entre eux par l’intermédiaire d’un ou plusieurs bus informatiques, par exemple un bus de communication 1 1 de type bus de données CAN (de l’anglais « Controller Area Network » ou en français « Réseau de contrôleurs »). The first devices 102, 103 and 104 communicate and exchange data with each other via one or more computer buses, for example a communication bus 11 of the CAN data bus type (from the English "Controller Area Network "Or in French" Network of controllers ").
Chaque premier dispositif 102, 103, 104 est par exemple relié en communication avec un le deuxième dispositif 101. Le deuxième dispositif 101 correspond par exemple à dispositif externe d’un système débarqué. Chaque premier dispositif 102, 103, 104 est relié au deuxième dispositif via une connexion filaire ou sans fil. Le deuxième dispositif 101 est par exemple un serveur distant du « cloud » (ou « nuage » en français). Un ou plusieurs premiers dispositifs chargent par exemple les mises à jour logicielles stockées pour téléchargement dans le deuxième dispositif 101 via par exemple l’Internet avec une connexion de type OTA (de l’anglais « over-the-air », ou en français « par voie aérienne »). Les données représentatives des mises à jour téléchargées sont avantageusement chiffrées (ou cryptées) en mettant en œuvre le procédé décrit en regard des figures 4, 6 et/ou 7. Each first device 102, 103, 104 is for example connected in communication with the second device 101. The second device 101 corresponds for example to an external device of a disembarked system. Each first device 102, 103, 104 is connected to the second device via a wired or wireless connection. The second device 101 is for example a remote server of the “cloud” (or “cloud” in French). One or more first devices for example load the software updates stored for downloading in the second device 101 via for example the Internet with an OTA type connection (from English "over-the-air", or in French " by air '). The data representative of the downloaded updates are advantageously encrypted (or encrypted) by implementing the method described with reference to FIGS. 4, 6 and / or 7.
Bien entendu, le nombre de premiers dispositifs 102, 103, 104 du système 10 n’est pas limité à 3 et s’étend à tout nombre, par exemple 10, 20, 50, 100 ou plus de premiers dispositifs. Un exemple de réalisation matérielle d’un tel premier dispositif est décrit en regard de la figure 2. Un exemple de réalisation matérielle d’un deuxième dispositif 101 est décrit en regard de la figure 3. Of course, the number of first devices 102, 103, 104 of the system 10 is not limited to 3 and extends to any number, for example 10, 20, 50, 100 or more of first devices. An example of a hardware embodiment of such a first device is described in look at FIG. 2. An example of a hardware embodiment of a second device 101 is described with regard to FIG. 3.
[Fig. 2] illustre schématiquement un premier dispositif 2, selon un exemple de réalisation particulier et non limitatif de la présente invention. Le premier dispositif 2 correspond avantageusement aux premiers dispositifs 102, 103 et 104 de la figure 1. Le premier dispositif 2 correspond avantageusement à un calculateur d’un système embarqué de véhicule, sans toutefois s’y limiter. [Fig. 2] schematically illustrates a first device 2, according to a particular and non-limiting exemplary embodiment of the present invention. The first device 2 advantageously corresponds to the first devices 102, 103 and 104 of FIG. 1. The first device 2 advantageously corresponds to a computer of an on-board vehicle system, without however being limited to it.
Le premier dispositif 2 est par exemple configuré pour la mise en œuvre d’au moins une partie des étapes du procédé décrit en regard de la figure 4. Des exemples d’un tel premier dispositif 2 comprennent, sans y être limités, un équipement électronique embarqué tel qu’un ordinateur de bord d’un véhicule, un calculateur électronique tel qu’une UCE. Les éléments du premier dispositif 2, individuellement ou en combinaison, peuvent être intégrés dans un unique circuit intégré, dans plusieurs circuits intégrés, et/ou dans des composants discrets. Le premier dispositif 2 peut être réalisé sous la forme de circuits électroniques ou de modules logiciels (ou informatiques) ou encore d’une combinaison de circuits électroniques et de modules logiciels. Selon différents modes de réalisation particuliers, le premier dispositif 2 est couplé en communication avec d’autres dispositifs ou systèmes similaires, par exemple par l’intermédiaire d’un bus de communication ou au travers de ports d’entrée / sortie dédiés. The first device 2 is for example configured for the implementation of at least part of the steps of the method described with reference to FIG. 4. Examples of such a first device 2 include, without being limited thereto, electronic equipment. on board such as a vehicle's on-board computer, an electronic computer such as an ECU. The elements of the first device 2, individually or in combination, can be integrated in a single integrated circuit, in several integrated circuits, and / or in discrete components. The first device 2 can be produced in the form of electronic circuits or software (or computer) modules or else a combination of electronic circuits and software modules. According to different particular embodiments, the first device 2 is coupled in communication with other similar devices or systems, for example through a communication bus or through dedicated input / output ports.
Le premier dispositif 2 comprend un (ou plusieurs) processeur(s) 20 configurés pour exécuter des instructions pour la réalisation des étapes du procédé et/ou pour l’exécution des instructions du ou des logiciels embarqués dans le premier dispositif 2. Le processeur 20 peut inclure de la mémoire intégrée, une interface d’entrée/sortie, et différents circuits connus de l’homme du métier. Le premier dispositif 2 comprend en outre au moins une mémoire 21 , correspondant par exemple à une mémoire volatile et/ou non volatile. The first device 2 comprises one (or more) processor (s) 20 configured to execute instructions for carrying out the steps of the method and / or for executing the instructions of the software (s) embedded in the first device 2. The processor 20 can include integrated memory, an input / output interface, and various circuits known to those skilled in the art. The first device 2 further comprises at least one memory 21, corresponding for example to a volatile and / or non-volatile memory.
Le processeur correspond par exemple à un module hardware de sécurité HSM Full (de l’anglais « Flardware Security Module ») pour protéger l’accès aux variables et aux fonctions utilisées pour le chiffrement / déchiffrement des données. Le code informatique du ou des logiciels embarqués comprenant les instructions à charger et exécuter par le processeur est par exemple stocké sur la mémoire 21. The processor corresponds for example to an HSM Full security hardware module (standing for “Flardware Security Module”) to protect access to the variables and to the functions used for the encryption / decryption of the data. The computer code of the onboard software (s) comprising the instructions to be loaded and executed by the processor is for example stored in the memory 21.
Selon un mode de réalisation particulier et non limitatif, le premier dispositif 2 comprend un bloc 22 d’éléments d’interface pour communiquer avec des dispositifs externes, par exemple le deuxième dispositif 101 de la figure 1 , un serveur distant ou le « cloud », des capteurs odométriques, un capteur GPS. Les éléments d’interface du bloc 22 comprennent une ou plusieurs des interfaces suivantes : According to a particular and non-limiting embodiment, the first device 2 comprises a block 22 of interface elements for communicating with external devices, for example the second device 101 of FIG. 1, a remote server or the “cloud”. , odometric sensors, a GPS sensor. The interface elements of block 22 include one or more of the following interfaces:
- interface radiofréquence RF, par exemple de type Bluetooth® ou Wi-Fi®, LTE (de l’anglais « Long-Term Evolution » ou en français « Evolution à long terme »), LTE- Advanced (ou en français LTE-avancé) ; - RF radiofrequency interface, for example of the Bluetooth® or Wi-Fi® type, LTE (from English "Long-Term Evolution" or in French "Long-term evolution"), LTE-Advanced (or in French LTE-advanced );
- interface USB (de l’anglais « Universal Serial Bus » ou « Bus Universel en Série » en français) ; - USB interface (from English "Universal Serial Bus" or "Bus Universel en Série" in French);
- interface FIDMI (de l’anglais « High Définition Multimedia Interface », ou « Interface Multimedia Flaute Définition » en français). Des données sont par exemples chargées vers le premier dispositif 2 via l’interface du bloc 22 en utilisant un réseau Wi-Fi® tel que selon IEEE 802.1 1 ou un réseau mobile tel qu’un réseau 4G (ou LTE Advanced selon 3GPP release 10 - version 10) ou 5G. - FIDMI interface (from English "High Definition Multimedia Interface", or "Interface Multimedia Flaute Definition" in French). Data is for example loaded to the first device 2 via the interface of block 22 using a Wi-Fi® network such as according to IEEE 802.11 or a mobile network such as a 4G network (or LTE Advanced according to 3GPP release 10 - version 10) or 5G.
Selon un autre mode de réalisation particulier, le premier dispositif 2 comprend une interface de communication 23 qui permet d’établir une communication avec d’autres dispositifs (tels que des calculateurs secondaires du système embarqué) via un canal de communication 230. L’interface de communication 23 correspond par exemple à un transmetteur configuré pour transmettre et recevoir des informations et/ou des données via le canal de communication 230. Le canal de communication 230 correspond par exemple à un réseau filaire de type CAN. According to another particular embodiment, the first device 2 comprises a communication interface 23 which makes it possible to establish communication with other devices (such as secondary computers of the on-board system) via a communication channel 230. The interface communication 23 corresponds for example to a transmitter configured to transmit and receive information and / or data via the communication channel 230. The communication channel 230 corresponds for example to a wired CAN type network.
[Fig. 3] illustre schématiquement un deuxième dispositif 3, selon un exemple de réalisation particulier et non limitatif de la présente invention. Le deuxième dispositif 2 correspond avantageusement au deuxième dispositif 101 de la figure 1. Des exemples d’un tel deuxième dispositif 3 comprennent, sans y être limités, différents appareils électroniques tels qu’un ordinateur portable, un outil de mise à jour de calculateur. Les éléments du deuxième dispositif 3, individuellement ou en combinaison, peuvent être intégrés dans un unique circuit intégré, dans plusieurs circuits intégrés, et/ou dans des composants discrets. Le deuxième dispositif 3 peut être réalisé sous la forme de circuits électroniques ou de modules logiciels (ou informatiques) ou encore d’une combinaison de circuits électroniques et de modules logiciels. [Fig. 3] schematically illustrates a second device 3, according to a particular and non-limiting exemplary embodiment of the present invention. The second device 2 advantageously corresponds to the second device 101 of FIG. 1. Examples of such a second device 3 include, but are not limited to, different electronic devices such as a laptop computer, a computer update tool. The elements of the second device 3, individually or in combination, can be integrated in a single integrated circuit, in several integrated circuits, and / or in discrete components. The second device 3 can be produced in the form of electronic circuits or software (or computer) modules or else a combination of electronic circuits and software modules.
Le deuxième dispositif 3 comprend un (ou plusieurs) processeur(s) 30 configurés pour exécuter des instructions pour la réalisation des étapes du procédé. Le processeur 30 peut inclure de la mémoire intégrée, une interface d’entrée/sortie, et différents circuits connus de l’homme du métier. Le deuxième dispositif 3 comprend en outre au moins une mémoire 31 , par une mémoire volatile at/ou non volatile et/ou comprend un dispositif de stockage mémoire qui peut comprendre de la mémoire volatile et/ou non volatile, telle que EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, disque magnétique ou optique. Le processeur correspond par exemple à un module hardware de sécurité HSM Full (de l’anglais « Hardware Security Module ») pour protéger l’accès aux variables et aux fonctions utilisées pour le chiffrement / déchiffrement des données. The second device 3 comprises one (or more) processor (s) 30 configured to execute instructions for carrying out the steps of the method. The processor 30 can include integrated memory, an input / output interface, and various circuits known to those skilled in the art. The second device 3 further comprises at least one memory 31, via a volatile at / or non-volatile memory and / or comprises a memory storage device which may comprise volatile and / or non-volatile memory, such as EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, magnetic or optical disk. The processor corresponds, for example, to an HSM Full hardware security module ("Hardware Security Module") to protect access to the variables and functions used for the encryption / decryption of data.
Le code informatique comprenant les instructions à charger et exécuter par le processeur est par exemple stocké dans la mémoire ou le dispositif de stockage mémoire 31. Selon un mode de réalisation particulier et non limitatif, le dispositif 3 comprend un bloc 32 d’éléments d’interface pour communiquer avec des dispositifs externes, par exemple un premier dispositif 2. Les éléments d’interface du bloc 32 comprennent une ou plusieurs des interfaces suivantes : The computer code comprising the instructions to be loaded and executed by the processor is for example stored in the memory or the memory storage device 31. According to a particular and non-limiting embodiment, the device 3 comprises a block 32 of elements of interface for communicating with external devices, for example a first device 2. The interface elements of block 32 include one or more of the following interfaces:
- interface radiofréquence RF, par exemple de type Bluetooth® ou Wi-Fi® ; - RF radio frequency interface, for example of the Bluetooth® or Wi-Fi® type;
- interface USB (de l’anglais « Universal Serial Bus » ou « Bus Universel en Série » en français) ; - USB interface (from English "Universal Serial Bus" or "Bus Universel en Série" in French);
- interface HDMI (de l’anglais « High Définition Multimedia Interface », ou « Interface Multimedia Haute Définition » en français). Selon un autre mode de réalisation particulier, le dispositif 3 comprend une interface de communication 33 qui permet d’établir une communication avec d’autres dispositifs via un canal de communication 330. L’interface de communication 33 correspond par exemple à un transmetteur configuré pour transmettre et recevoir des informations et/ou des données via le canal de communication 330. L’interface de communication 33 comprend par exemple un modem et/ou une carte réseau et le canal de communication peut par exemple être mis en œuvre dans un medium filaire et/ou sans fil. - HDMI interface (standing for “High Definition Multimedia Interface”, or “High Definition Multimedia Interface” in French). According to another particular embodiment, the device 3 comprises a communication interface 33 which makes it possible to establish a communication with other devices via a communication channel 330. The communication interface 33 corresponds for example to a transmitter configured for transmit and receive information and / or data via the communication channel 330. The communication interface 33 comprises for example a modem and / or a network card and the communication channel can for example be implemented in a wired medium and / or wireless.
Des données sont par exemples chargées vers le deuxième dispositif 3 en utilisant un réseau Wi-Fi® tel que selon IEEE 802.1 1 ou un réseau mobile tel qu’un réseau 4G (ou LTE Advanced selon 3GPP release 10 - version 10) ou 5G. Data is for example loaded to the second device 3 using a Wi-Fi® network such as according to IEEE 802.11 or a mobile network such as a 4G network (or LTE Advanced according to 3GPP release 10 - version 10) or 5G.
Selon un mode de réalisation particulier supplémentaire, le dispositif 3 peut fournir des signaux de sortie à un ou plusieurs dispositifs externes, tels qu’un écran d’affichage 340, un ou des haut-parleurs 350 et/ou d’autres périphériques 360 (lecteur de DVD, un système de projection) via respectivement des interfaces de sortie 34, 35 et 36. Selon une variante, l’un ou l’autre des dispositifs externes est intégré au deuxième dispositif 3. According to a further particular embodiment, the device 3 can provide output signals to one or more external devices, such as a display screen 340, one or more speakers 350 and / or other peripherals 360 ( DVD player, a projection system) via output interfaces 34, 35 and 36 respectively. According to a variant, one or other of the external devices is integrated into the second device 3.
[Fig. 4] illustre un organigramme des différentes étapes ou opérations d’un processus d’échange de données entre un des premiers dispositifs, par exemple le premier dispositif 102, et le deuxième dispositif 101 , selon un exemple de réalisation particulier et non limitatif de la présente invention. [Fig. 4] illustrates a flowchart of the different steps or operations of a data exchange process between one of the first devices, for example the first device 102, and the second device 101, according to a particular and non-limiting example of the present invention. invention.
Dans une première opération 400, le deuxième dispositif 101 transmet une requête au premier dispositif 102 pour initier la procédure de téléchargement des données. In a first operation 400, the second device 101 transmits a request to the first device 102 to initiate the data download procedure.
Dans une deuxième opération 401 , le premier dispositif 102 utilise la valeur de son horloge interne au moment de la réception de la requête reçue à l’opération 400 pour générer une durée aléatoire, dénommée D_alea. Cette durée aléatoire est bornée par une borne temporelle minimum (par exemple égale à 0) et par une borne temporelle maximum, la borne maximum étant par exemple réglable ou paramétrable pour limiter la valeur de D aléa. Dans une troisième opération 402, le premier dispositif 102 transmet une requête au deuxième dispositif 101 pour que ce dernier démarre un compteur interne, appelé deuxième compteur interne count_Ks2. In a second operation 401, the first device 102 uses the value of its internal clock at the time of receipt of the request received in operation 400 to generate a random duration, called D_alea. This random duration is limited by a minimum time limit (for example equal to 0) and by a maximum time limit, the maximum limit being for example adjustable or configurable to limit the value of D random. In a third operation 402, the first device 102 transmits a request to the second device 101 for the latter to start an internal counter, called the second internal counter count_Ks2.
Dans une quatrième opération 403a, le premier dispositif 102 démarre son compteur interne, appelé premier compteur interne count_Ks1. Le premier compteur interne est démarré après une temporisation calibrée pour être égale au temps maximum de propagation de la requête transmise à l’opération 402, ce temps maximum de propagation dépendant du canal de communication utilisé. Le deuxième compteur interne sera arrêté à la fin de la durée aléatoire D_alea, la durée aléatoire étant égale au temps écoulé entre le démarrage du premier compteur interne et l’arrête du premier compteur interne. Cette opération permet de déterminer la première valeur finale du premier compteur interne prise à l’échéance de la durée aléatoire D_alea. Cette première valeur finale correspond au nombre de pas temporels d’incrémentation comptés entre le démarrage et l’arrêt du premier compteur interne. Le pas d’incrémentation Tcount est par exemple réglable en durée et doit être supérieur au temps maximum de propagation de la requête transmise à l’opération 402. Il est considéré que la dérive temporelle de l’horloge interne du premier dispositif 102 est négligeable. In a fourth operation 403a, the first device 102 starts its internal counter, called the first internal counter count_Ks1. The first internal counter is started after a time delay calibrated to be equal to the maximum propagation time of the request transmitted to operation 402, this maximum propagation time depending on the communication channel used. The second internal counter will be stopped at the end of the random duration D_alea, the random duration being equal to the time elapsed between the start of the first internal counter and the stopping of the first internal counter. This operation makes it possible to determine the first final value of the first internal counter taken at the end of the random duration D_alea. This first final value corresponds to the number of time increment steps counted between the start and stop of the first internal counter. The incrementation step Tcount is for example adjustable in duration and must be greater than the maximum propagation time of the request transmitted to the operation 402. It is considered that the time drift of the internal clock of the first device 102 is negligible.
Selon une variante, plusieurs compteurs internes sont utilisés, les compteurs internes ayant des pas d’incrémentation temporels différents. La première valeur finale est déterminée par la juxtaposition des valeurs finales de chacun des compteurs internes. Alternatively, several internal counters are used, the internal counters having different time increment steps. The first final value is determined by the juxtaposition of the final values of each of the internal counters.
Selon une autre variante, la durée du pas d’incrémentation temporel est générée de manière aléatoire à chaque transmission de données du deuxième dispositif 102 vers le premier dispositif 101. La durée aléatoire du pas d’incrémentation est par exemple générée comme à l’opération 401. Pour que le premier dispositif et le deuxième dispositif utilisent le même pas d’incrémentation temporel, le premier dispositif transmet des requêtes de synchronisation au deuxième dispositif en début et fin de pas d’incrémentation temporel généré, comme décrit à l’opération 404. According to another variant, the duration of the temporal incrementation step is generated randomly on each transmission of data from the second device 102 to the first device 101. The random duration of the incrementation step is for example generated as in the operation 401. So that the first device and the second device use the same time increment step, the first device transmits synchronization requests to the second device at the start and end of the generated time increment step, as described in operation 404. .
Dans une cinquième opération 403b, le deuxième dispositif 101 démarre son compteur interne, dit deuxième compteur interne count_Ks2, à réception de la requête transmise à l’opération 402. Dans une sixième opération 404, le premier dispositif 102 transmet une requête au deuxième dispositif 101 pour que ce dernier arrête son compteur interne, dit deuxième compteur interne count_Ks2. La transmission de la requête par le premier dispositif 102 correspond à la fin de l’opération 403a au cours de laquelle le premier dispositif 102 a arrêté son compteur interne, dit premier compteur interne count_Ks1 , à l’échéance de la durée aléatoire. A réception de cette requête, le deuxième dispositif 101 arrête son compteur interne qui prend la deuxième valeur finale. Cette deuxième valeur finale correspond au nombre de pas temporels d’incrémentation comptés entre le démarrage et l’arrêt du deuxième compteur interne. Le pas d’incrémentation Tcount de ce deuxième compteur interne est également réglable en durée. La durée du pas d’incrémentation du deuxième compteur interne est choisie pour être égale à la durée du pas d’incrémentation du premier compteur interne. Il est considéré que la dérive temporelle de l’horloge interne du deuxième dispositif 101 est négligeable. In a fifth operation 403b, the second device 101 starts its internal counter, called the second internal counter count_Ks2, on receipt of the request transmitted to the operation 402. In a sixth operation 404, the first device 102 transmits a request to the second device 101 for the latter to stop its internal counter, called the second internal counter count_Ks2. The transmission of the request by the first device 102 corresponds to the end of the operation 403a during which the first device 102 has stopped its internal counter, called the first internal counter count_Ks1, at the end of the random duration. On receipt of this request, the second device 101 stops its internal counter which takes the second final value. This second final value corresponds to the number of time increment steps counted between the start and stop of the second internal counter. The incrementation step Tcount of this second internal counter is also adjustable in duration. The duration of the increment step of the second internal counter is chosen to be equal to the duration of the increment step of the first internal counter. It is considered that the time drift of the internal clock of the second device 101 is negligible.
La deuxième valeur finale prise par le deuxième compteur interne count_Ks2 est par conséquent égale à la première valeur finale prise par le premier compteur interne count_Ks1. The second final value taken by the second internal counter count_Ks2 is consequently equal to the first final value taken by the first internal counter count_Ks1.
Dans une septième opération 405a, une fonction de hachage du premier dispositif 102 utilise la première valeur finale pour générer la clé secrète K_sec. In a seventh operation 405a, a hash function of the first device 102 uses the first final value to generate the secret key K_sec.
Dans une huitième opération 405b, une fonction de hachage du deuxième dispositif 101 , qui est identique à la fonction de hachage du premier dispositif 102, utilise la deuxième valeur finale (qui est identique à la première valeur finale) pour générer la même clé secrète K_sec. In an eighth operation 405b, a hash function of the second device 101, which is identical to the hash function of the first device 102, uses the second final value (which is identical to the first final value) to generate the same secret key K_sec .
La clé secrète K_sec est par conséquent générée à la fois par le premier dispositif 102 et par le deuxième dispositif 101 , ce qui évite d’avoir à transmettre cette clé secrète K_sec d’un dispositif à l’autre. The secret key K_sec is therefore generated both by the first device 102 and by the second device 101, which avoids having to transmit this secret key K_sec from one device to the other.
Dans une neuvième opération 406, le deuxième dispositif 101 chiffre (ou crypte) les données à transmettre au premier dispositif 102 avec la clé secrète K_sec générée par le deuxième dispositif 101 lors de l’opération 405b. Le chiffrement est réalisé en mettant un œuvre un algorithme de chiffrement à bloc ou a flot, par exemple un algorithme de type AES (de l’anglais « Advanced Encryption Standard » ou en français « norme de chiffrement avancé »), Blowfish, Serpent ou Twofish. In a ninth operation 406, the second device 101 encrypts (or encrypts) the data to be transmitted to the first device 102 with the secret key K_sec generated by the second device 101 during the operation 405b. The encryption is achieved by implementing a block or flow encryption algorithm, for example an algorithm of the type AES (standing for “Advanced Encryption Standard” or in French “standard of advanced encryption”), Blowfish, Serpent or Twofish.
Dans une dixième opération 407, le deuxième dispositif 101 transmet au premier dispositif 102 les données cryptées (ou chiffrées) lors de la neuvième opération 406. Selon une variante optionnelle de réalisation, le premier dispositif 102 vérifie que le début du téléchargement des données cryptées commence avant un délai déterminé, ce délai commençant à la fin de la sixième opération 404. Selon cette variante, le temps maximum entre la fin de la sixième opération 404 et le début de la dixième opération 407 doit être inférieur au délai déterminé, dénommé Cste_Dmax_start, ce délai étant par exemple choisi par un utilisateur ou fixé dans le système. Selon cette variante, si la transmission des données cryptées (et par voie de conséquence la réception de ces données par le premier dispositif 102) commence au-delà de cette variable Cste_Dmax_start, alors le premier dispositif 102 refuse la réception des données cryptées. In a tenth operation 407, the second device 101 transmits to the first device 102 the data encrypted (or encrypted) during the ninth operation 406. According to an optional variant embodiment, the first device 102 verifies that the start of the downloading of the encrypted data begins. before a determined period, this period starting at the end of the sixth operation 404. According to this variant, the maximum time between the end of the sixth operation 404 and the start of the tenth operation 407 must be less than the determined period, called Cste_Dmax_start, this period being for example chosen by a user or fixed in the system. According to this variant, if the transmission of the encrypted data (and consequently the reception of this data by the first device 102) begins beyond this variable Cste_Dmax_start, then the first device 102 refuses the reception of the encrypted data.
Dans une onzième opération 408, le premier dispositif 102 déchiffre (ou décrypte) les données cryptées reçues lors de l’opération précédente, le déchiffrement étant réalisée en utilisant la clé secrète K_sec générée par le premier dispositif 102 lors de l’opération 405a. In an eleventh operation 408, the first device 102 decrypts (or decrypts) the encrypted data received during the previous operation, the decryption being performed using the secret key K_sec generated by the first device 102 during the operation 405a.
Dans une douzième opération 409, le premier dispositif 102 vérifie que la première donnée déchiffrée ou décryptée est égale à une donnée déterminée, dénommée Cste_verif. L’opération de vérification que le début du téléchargement des données cryptées commence avant un délai déterminé Cste_Dmax_start est par exemple réalisée lors de cette douzième opération qui est alors mise en œuvre en parallèle de la onzième opération 408. Si l’une et/ou l’autre des conditions associées à Cste_verif et Cste_Dmax_start n’est pas vérifiée, alors le premier dispositif 102 interrompt la réception des données cryptées et le processus passe directement à l’opération 412a. Si les 2 conditions associées à Cste_verif et Cste_Dmax_start sont vérifiées, alors la réception et le déchiffrement des données cryptées continuent et le processus se poursuit alors avec l’opération suivante 410. In a twelfth operation 409, the first device 102 verifies that the first decrypted or decrypted datum is equal to a determined datum, called Cste_verif. The operation of verifying that the start of downloading the encrypted data begins before a determined period Cste_Dmax_start is for example carried out during this twelfth operation which is then implemented in parallel with the eleventh operation 408. If one and / or l The other of the conditions associated with Cste_verif and Cste_Dmax_start is not verified, then the first device 102 interrupts the reception of the encrypted data and the process goes directly to the operation 412a. If the 2 conditions associated with Cste_verif and Cste_Dmax_start are verified, then the reception and decryption of the encrypted data continues and the process then continues with the next operation 410.
Dans une treizième opération 410, les données déchiffrées ou décryptées sont téléchargées dans la mémoire du premier dispositif 102. Dans une quatorzième opération 41 1 , le premier dispositif 102 transmet au deuxième dispositif 101 une requête de réinitialisation des variables associées au processus d’échange de données cryptées, à savoir la deuxième valeur finale Cpt_alea du deuxième compteur interne count_Ks2 et la clé secrète K_sec. Dans une quinzième opération 412a, le premier dispositif 102 réinitialise les variables associées au processus d’échange de données cryptées, à savoir la durée aléatoire D_alea, la première valeur finale Cpt_alea du premier compteur interne count_Ks1 et la clé secrète K_sec. In a thirteenth operation 410, the decrypted or decrypted data is downloaded into the memory of the first device 102. In a fourteenth operation 41 1, the first device 102 transmits to the second device 101 a request for reinitializing the variables associated with the encrypted data exchange process, namely the second final value Cpt_alea of the second internal counter count_Ks2 and the secret key K_sec. In a fifteenth operation 412a, the first device 102 reinitializes the variables associated with the encrypted data exchange process, namely the random duration D_alea, the first final value Cpt_alea of the first internal counter count_Ks1 and the secret key K_sec.
Dans une seizième opération 412b, le deuxième dispositif 101 réinitialise les variables associées au processus d’échange de données cryptées sur réception de la requête transmise lors de l’opération 41 1 , à savoir la deuxième valeur finale Cpt_alea du deuxième compteur interne count_Ks2 et la clé secrète K_sec. In a sixteenth operation 412b, the second device 101 reinitializes the variables associated with the encrypted data exchange process on receipt of the request transmitted during the operation 41 1, namely the second final value Cpt_alea of the second internal counter count_Ks2 and the secret key K_sec.
Les opération 400 à 412b sont avantageusement réitérées lorsque qu’une nouvelle transmission de données cryptées du deuxième dispositif 101 vers le premier dispositif 102 doit être effectué, le processus de chiffrement / déchiffrement étant basée sur une nouvelle clé secrète générée à la fois par le premier dispositif 102 et le deuxième dispositif 101. The operations 400 to 412b are advantageously reiterated when a new transmission of encrypted data from the second device 101 to the first device 102 must be performed, the encryption / decryption process being based on a new secret key generated both by the first device 102 and the second device 101.
[Fig. 5] illustre un chronogramme associé à une partie des opérations du processus de la figure 4, notamment les opérations 402 à 404, selon un exemple de réalisation particulier et non limitatif de la présente invention. [Fig. 5] illustrates a timing diagram associated with part of the operations of the process of FIG. 4, in particular operations 402 to 404, according to a particular and non-limiting exemplary embodiment of the present invention.
La figure 5 illustre deux chronogramme 52 et 54 associés aux opérations 402 à 404 pour le premier dispositif 102 et deux chronogramme 51 et 53 associés aux opération 402 à 404 pour le deuxième dispositif 101. Une première requête 541 est transmise par le premier dispositif 102 au deuxième dispositif 101 à un instant t. Cette requête est reçue par le deuxième dispositif à un instant t + 5t dans un intervalle de temps correspondant au temps de propagation maximum du signal transportant la requête Tpropag_max 531. Le deuxième dispositif 101 démarre le comptage 512 avec son compteur interne count_Ks2. Le premier dispositif 102 démarre quant à lui le comptage 522 avec un délai par rapport à l’instant t correspondant au temps de propagation maximum du signal transportant la requête Tpropag_max 531. Le démarrage du compteur 522 correspond également au début de la durée aléatoire D_alea 521 . A la fin 523 de la durée aléatoire D_alea 521 , le premier dispositif 102 détermine le nombre de pas temporels d’incrémentations Tcount comptés par le premier compteur count_Ks1 , ce nombre correspondant à la première valeur finale du premier compteur interne count _Ks1. FIG. 5 illustrates two timing diagrams 52 and 54 associated with operations 402 to 404 for the first device 102 and two timing diagrams 51 and 53 associated with operations 402 to 404 for the second device 101. A first request 541 is transmitted by the first device 102 to the second device 101 at a time t. This request is received by the second device at an instant t + 5t in a time interval corresponding to the maximum propagation time of the signal carrying the request Tpropag_max 531. The second device 101 starts counting 512 with its internal counter count_Ks2. The first device 102 starts up for its part, the counting 522 with a delay with respect to the instant t corresponding to the maximum propagation time of the signal carrying the request Tpropag_max 531. The start of the counter 522 also corresponds to the start of the random duration D_alea 521. At the end 523 of the random duration D_alea 521, the first device 102 determines the number of temporal increment steps Tcount counted by the first counter count_Ks1, this number corresponding to the first final value of the first internal counter count _Ks1.
Une deuxième requête 542 est alors transmise par le premier dispositif 102 au deuxième dispositif 101 lorsque le premier compteur interne coun_Ks1 stoppe le comptage du nombre de pas temporel d’incrémentations écoulés pendant la durée aléatoire D_alea. A réception de cette deuxième requête 542, le deuxième dispositif stoppe son compteur interne count_Ks2 et détermine le nombre de pas temporel d’incrémentation écoulés 513 jusqu’à réception de cette deuxième requête. Ce nombre de pas temporel d’incrémentation écoulés 513 correspond à la deuxième valeur finale du deuxième compteur interne count _Ks2. A second request 542 is then transmitted by the first device 102 to the second device 101 when the first internal counter coun_Ks1 stops counting the number of time steps of increments elapsed during the random duration D_alea. Upon receipt of this second request 542, the second device stops its internal counter count_Ks2 and determines the number of elapsed increment time steps 513 until receipt of this second request. This number of elapsed increment time steps 513 corresponds to the second final value of the second internal counter count _Ks2.
Comme cela apparaît sur la figure 5, la durée d’un pas temporel d’incrémentation du premier compteur interne count_Ks1 est égale à la durée d’un pas temporel d’incrémentation du deuxième compteur interne count_Ks2, cette durée étant supérieure au temps de propagation maximum du signal Tpropag_max 531. Le pas temporel d’incrémentation du premier compteur interne, qui est identique au pas temporel d’incrémentation du deuxième compteur interne, correspond par exemple à une constante préprogrammée. Selon une variante, le pas temporel d’incrémentation du premier compteur interne qui est identique au pas temporel d’incrémentation du deuxième compteur interne, est une constante générée aléatoirement. Pour cela, le premier dispositif génère une information supplémentaire représentative d’une durée aléatoire qui permettra d’obtenir un pas temporel aléatoire pour le premier compteur interne au premier dispositif. Puis le premier dispositif transmet au moins une requête à l’intention d’un deuxième dispositif pour détermination par le deuxième dispositif d’une durée qui permettra d’obtenir un pas temporel pour le second compteur interne au second dispositif identique au pas temporel du premier compteur interne au premier dispositif. [Fig. 6] illustre un organigramme des différentes étapes d’un procédé de déchiffrement (ou décryptage) de données cryptées, selon un exemple de réalisation particulier et non limitatif de la présente invention. Le procédé est avantageusement mis en œuvre par un premier dispositif, par exemple un calculateur du système embarqué de la figure 1 . As shown in FIG. 5, the duration of a time step of incrementing the first internal counter count_Ks1 is equal to the duration of a time step of incrementing the second internal counter count_Ks2, this duration being greater than the propagation time maximum of the signal Tpropag_max 531. The time step of incrementation of the first internal counter, which is identical to the time step of incrementation of the second internal counter, corresponds for example to a preprogrammed constant. According to one variant, the time step of incrementing the first internal counter, which is identical to the time step of incrementing the second internal counter, is a constant generated randomly. For this, the first device generates additional information representative of a random duration which will make it possible to obtain a random time step for the first counter internal to the first device. Then the first device transmits at least one request to a second device for determination by the second device of a duration which will make it possible to obtain a time step for the second internal counter to the second device identical to the time step of the first. counter internal to the first device. [Fig. 6] illustrates a flowchart of the various steps of a method for decryption (or decryption) of encrypted data, according to a particular and non-limiting example of the present invention. The method is advantageously implemented by a first device, for example a computer of the on-board system of FIG. 1.
Dans une première étape 61 , une information représentative d’une durée aléatoire est générée, par exemple comme décrit à l’opération 401. In a first step 61, information representative of a random duration is generated, for example as described in operation 401.
Dans une deuxième étape 62, une première valeur finale d’un premier compteur interne au premier dispositif est déterminée en fonction de l’information représentative d’une durée aléatoire. In a second step 62, a first final value of a first counter internal to the first device is determined as a function of the information representative of a random duration.
Dans une troisième étape 63, au moins une requête est transmise à l’intention d’un deuxième dispositif pour permettre au deuxième dispositif de déterminer une deuxième valeur finale d’un deuxième compteur interne de ce deuxième dispositif. La deuxième valeur finale est identique à la première valeur finale. Dans une quatrième étape 64, une clé secrète est générée à partir de la première valeur finale de compteur interne, par exemple en mettant en œuvre une fonction de hachage. In a third step 63, at least one request is sent to a second device to allow the second device to determine a second final value of a second internal counter of this second device. The second final value is the same as the first final value. In a fourth step 64, a secret key is generated from the first final internal counter value, for example by implementing a hash function.
Dans une cinquième étape 65, des données cryptées par le deuxième dispositif à partir de la clé secrète générée par le deuxième dispositif à partir de la deuxième valeur finale de compteur interne sont reçues par le premier dispositif. Dans une sixième étape 66, les données cryptées reçues à l’étape précédente sont déchiffrées (ou décryptées) par le premier dispositif en utilisant la clé secrète générée par le premier dispositif. In a fifth step 65, data encrypted by the second device from the secret key generated by the second device from the second final internal counter value is received by the first device. In a sixth step 66, the encrypted data received in the previous step is decrypted (or decrypted) by the first device using the secret key generated by the first device.
Dans une septième étape 67, l’information représentative d’une durée aléatoire, la première valeur finale et la clé secrète générées ou déterminées par le premier dispositif sont réinitialisées par le premier dispositif. In a seventh step 67, the information representative of a random duration, the first final value and the secret key generated or determined by the first device are reset by the first device.
Dans une huitième étape 68, une requête de réinitialisation de la deuxième valeur finale et de la clé secrète est transmise par le premier dispositif au deuxième dispositif. [Fig. 7] illustre un organigramme des différentes étapes d’un procédé de chiffrement (ou cryptage) de données destinées au premier dispositif, selon un exemple de réalisation particulier et non limitatif de la présente invention. Le procédé est avantageusement mis en œuvre par un deuxième dispositif, par exemple un dispositif du système débarqué de la figure 1. In an eighth step 68, a request to reset the second final value and the secret key is transmitted by the first device to the second device. [Fig. 7] illustrates a flowchart of the various steps of a method of encryption (or encryption) of data intended for the first device, according to a particular and non-limiting embodiment of the present invention. The method is advantageously implemented by a second device, for example a device of the unloaded system of FIG. 1.
Dans une première étape 71 , au moins une requête transmise par le premier dispositif est reçue par le deuxième dispositif. In a first step 71, at least one request transmitted by the first device is received by the second device.
Dans une deuxième étape 72, une deuxième valeur finale d’un deuxième compteur interne de ce deuxième dispositif est déterminée à partir de la ou les requêtes reçues à l’étape 71. In a second step 72, a second final value of a second internal counter of this second device is determined from the request (s) received in step 71.
Dans une troisième étape 73, une clé secrète est générée à partir de la deuxième valeur finale du deuxième compteur interne, par exemple en mettant en œuvre une fonction de hachage. Dans une quatrième étape 74, les données destinées au premier dispositif sont chiffrées (ou cryptées) en utilisant la clé secrète générée par le deuxième dispositif à l’étape précédente. In a third step 73, a secret key is generated from the second final value of the second internal counter, for example by implementing a hash function. In a fourth step 74, the data intended for the first device is encrypted (or encrypted) using the secret key generated by the second device in the previous step.
Dans une cinquième étape 66, les données cryptées à l’étape précédente sont transmises au premier dispositif. Dans une sixième étape 67, une requête de réinitialisation de la deuxième valeur finale et de la clé secrète transmise par transmise par le premier dispositif est reçue par le deuxième dispositif. In a fifth step 66, the data encrypted in the previous step is transmitted to the first device. In a sixth step 67, a request to reset the second final value and the secret key transmitted by transmitted by the first device is received by the second device.
Bien entendu, l’invention ne se limite pas aux modes de réalisation décrits ci-avant mais s’étend à une méthode de chiffrement de données et au dispositif configuré pour la mise en œuvre d’une telle méthode. L’invention concerne également un procédé de communication entre le premier dispositif et le deuxième dispositif mettant en œuvre le chiffrement et le déchiffrement des données. L’invention concerne également un véhicule, par exemple automobile ou plus généralement un véhicule à moteur terrestre, comprenant le dispositif 2 de la figure 2 ou le système embarqué 10 de la figure 1. Of course, the invention is not limited to the embodiments described above, but extends to a data encryption method and to the device configured for the implementation of such a method. The invention also relates to a method of communication between the first device and the second device implementing the encryption and decryption of data. The invention also relates to a vehicle, for example a motor vehicle or more generally a land motor vehicle, comprising the device 2 of FIG. 2 or the on-board system 10 of FIG. 1.

Claims

REVENDICATIONS
1. Procédé de déchiffrement de données cryptées à partir d’une clé secrète, ledit procédé étant mis en œuvre dans un premier dispositif (102), ledit procédé comprenant les étapes de : 1. A method of decrypting data encrypted from a secret key, said method being implemented in a first device (102), said method comprising the steps of:
- génération (61 ) d’une information représentative d’une durée aléatoire ; - generation (61) of representative information of a random duration;
- détermination (62) d’une première valeur finale d’un premier compteur interne audit premier dispositif (102) en fonction de ladite information représentative d’une durée aléatoire ; - determination (62) of a first final value of a first counter internal to said first device (102) as a function of said information representative of a random duration;
- transmission (63) d’au moins une requête (541 , 542) à l’intention d’un deuxième dispositif (101 ) pour détermination par ledit deuxième dispositif (101 ) d’une deuxième valeur finale d’un deuxième compteur interne audit deuxième dispositif (101 ), ladite deuxième valeur finale étant identique à ladite première valeur finale ; - transmission (63) of at least one request (541, 542) to a second device (101) for determination by said second device (101) of a second final value of a second internal counter to said second device (101), said second final value being identical to said first final value;
- génération (64) de ladite clé secrète à partir de ladite première valeur finale de compteur interne ; - Generation (64) of said secret key from said first final internal counter value;
- réception (65) de données cryptées par ledit deuxième dispositif (101 ) à partir de ladite clé secrète générée par ledit deuxième dispositif (101 ) à partir de ladite deuxième valeur finale de compteur interne ; - reception (65) of data encrypted by said second device (101) from said secret key generated by said second device (101) from said second final internal counter value;
- déchiffrement (66) desdites données cryptées reçues en utilisant ladite clé secrète générée par ledit premier dispositif (102) ; - decryption (66) of said encrypted data received using said secret key generated by said first device (102);
- réinitialisation (67) de ladite information représentative d’une durée aléatoire, de ladite première valeur finale et de ladite clé secrète ; et - reinitialization (67) of said information representative of a random duration, of said first final value and of said secret key; and
- transmission (68) d’une requête de réinitialisation de ladite deuxième valeur finale et de ladite clé secrète audit deuxième dispositif (102), - transmission (68) of a request to reset said second final value and said secret key to said second device (102),
et pour lequel ledit déchiffrement est mis en œuvre seulement si la durée entre ladite transmission d’au moins une requête et le début de ladite réception des données cryptées est inférieure à une durée déterminée. and for which said decryption is implemented only if the time between said transmission of at least one request and the start of said reception of the encrypted data is less than a determined time.
2. Procédé selon la revendication 1 , comprenant en outre une étape de vérification que lesdites données cryptées reçues ont été cryptées avec ladite clé secrète. 2. Method according to claim 1, further comprising a step of verifying that said encrypted data received has been encrypted with said secret key.
3. Procédé selon l’une des revendications 1 à 2, pour lequel le pas temporel d’incrémentation dudit premier compteur interne est identique au pas temporel d’incrémentation dudit deuxième compteur interne, ledit pas temporel d’incrémentation étant supérieur à une durée de propagation maximale d’un signal entre ledit premier dispositif et ledit deuxième dispositif. 3. Method according to one of claims 1 to 2, for which the time step of incrementing said first internal counter is identical to the time step of incrementing said second internal counter, said time step of incrementing being greater than a duration of maximum propagation of a signal between said first device and said second device.
4. Dispositif de déchiffrement de données cryptées à partir d’une clé secrète, ledit dispositif étant appelé premier dispositif et comprenant : 4. Device for decryption of data encrypted from a secret key, said device being called the first device and comprising:
- des moyens (20) de génération d’une information représentative d’une durée aléatoire ; - Means (20) for generating information representative of a random duration;
- des moyens (20) de détermination d’une première valeur finale d’un premier compteur interne audit premier dispositif en fonction de ladite information représentative d’une durée aléatoire ; - Means (20) for determining a first final value of a first counter internal to said first device as a function of said information representative of a random duration;
- des moyens (22) de transmission d’au moins une requête à l’intention d’un deuxième dispositif pour détermination par ledit deuxième dispositif d’une deuxième valeur finale d’un deuxième compteur interne audit deuxième dispositif, ladite deuxième valeur finale étant identique à ladite première valeur finale ; - means (22) for transmitting at least one request to a second device for determination by said second device of a second final value of a second internal counter to said second device, said second final value being identical to said first final value;
- des moyens (20) de génération de ladite clé secrète à partir de ladite première valeur finale de compteur interne ; - Means (20) for generating said secret key from said first final internal counter value;
- des moyens (22) de réception de données cryptées par ledit deuxième dispositif à partir de ladite clé secrète générée par ledit deuxième dispositif à partir de ladite deuxième valeur finale de compteur interne ; - Means (22) for receiving data encrypted by said second device from said secret key generated by said second device from said second final internal counter value;
- des moyens (20) de déchiffrement desdites données cryptées reçues en utilisant ladite clé secrète générée par ledit premier dispositif ; - means (20) for decrypting said encrypted data received using said secret key generated by said first device;
- des moyens (20) de réinitialisation de ladite information représentative d’une durée aléatoire, de ladite première valeur finale et de ladite clé secrète ; et - Means (20) for resetting said information representative of a random duration, said first final value and said secret key; and
- des moyens (22) de transmission d’une requête de réinitialisation de ladite deuxième valeur finale et de ladite clé secrète audit deuxième dispositif. - Means (22) for transmitting a request to reset said second final value and said secret key to said second device.
5. Dispositif selon la revendication 4, pour lequel ledit déchiffrement est mis en œuvre seulement si la durée entre ladite transmission d’au moins une requête et le début de ladite réception des données cryptées est inférieure à une durée déterminée. 5. Device according to claim 4, for which said decryption is implemented only if the duration between said transmission of at least one request and the start of said reception of the encrypted data is less than a determined duration.
6. Dispositif selon l’une des revendications 4 et 5, comprenant en outre des moyens (20) de vérification que lesdites données cryptées reçues ont été cryptées avec ladite clé secrète. 6. Device according to one of claims 4 and 5, further comprising means (20) for verifying that said encrypted data received has been encrypted with said secret key.
7. Dispositif selon l’une des revendications 4 à 6, pour lequel le pas temporel d’incrémentation dudit premier compteur interne est identique au pas temporel d’incrémentation dudit deuxième compteur interne, ledit pas temporel d’incrémentation étant supérieur à une durée de propagation maximale d’un signal entre ledit premier dispositif et ledit deuxième dispositif. 7. Device according to one of claims 4 to 6, wherein the increment time step of said first internal counter is identical to the time step of increment of said second internal counter, said time step increment being greater than a duration of maximum propagation of a signal between said first device and said second device.
8. Véhicule automobile comprenant le dispositif selon l’une des revendications 4 à 7. 8. Motor vehicle comprising the device according to one of claims 4 to 7.
9. Produit programme d’ordinateur comportant des instructions adaptées pour l’exécution des étapes du procédé selon l’une des revendications 1 à 3, lorsque le programme d’ordinateur est exécuté par au moins un processeur. 9. Computer program product comprising instructions adapted for the execution of the steps of the method according to one of claims 1 to 3, when the computer program is executed by at least one processor.
PCT/FR2020/050152 2019-02-28 2020-01-31 Symmetric cryptography method and device for vehicle processor WO2020174137A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP20707718.1A EP3932001A1 (en) 2019-02-28 2020-01-31 Symmetric cryptography method and device for vehicle processor
CN202080017209.2A CN113491084A (en) 2019-02-28 2020-01-31 Symmetric encryption method and device for vehicle computer

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1902095A FR3093363B1 (en) 2019-02-28 2019-02-28 Method and device for symmetric cryptography for a vehicle computer
FR1902095 2019-02-28

Publications (1)

Publication Number Publication Date
WO2020174137A1 true WO2020174137A1 (en) 2020-09-03

Family

ID=67810681

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2020/050152 WO2020174137A1 (en) 2019-02-28 2020-01-31 Symmetric cryptography method and device for vehicle processor

Country Status (4)

Country Link
EP (1) EP3932001A1 (en)
CN (1) CN113491084A (en)
FR (1) FR3093363B1 (en)
WO (1) WO2020174137A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180183591A1 (en) * 2015-09-03 2018-06-28 Philips Lighting Holding B.V. Network node
EP3386163A1 (en) * 2017-04-05 2018-10-10 STMicroelectronics (Grenoble 2) SAS Apparatus for use in a can system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2890267B1 (en) * 2005-08-26 2007-10-05 Viaccess Sa METHOD FOR ESTABLISHING A SESSION KEY AND UNITS FOR IMPLEMENTING THE METHOD
JP5526747B2 (en) * 2009-12-04 2014-06-18 パナソニック株式会社 Decryption device, encryption device, decryption method, encryption method, and communication system
CN108964893B (en) * 2018-06-26 2021-11-23 百度在线网络技术(北京)有限公司 Key processing method, device, equipment and medium

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180183591A1 (en) * 2015-09-03 2018-06-28 Philips Lighting Holding B.V. Network node
EP3386163A1 (en) * 2017-04-05 2018-10-10 STMicroelectronics (Grenoble 2) SAS Apparatus for use in a can system

Also Published As

Publication number Publication date
EP3932001A1 (en) 2022-01-05
CN113491084A (en) 2021-10-08
FR3093363A1 (en) 2020-09-04
FR3093363B1 (en) 2021-12-03

Similar Documents

Publication Publication Date Title
EP3152860B1 (en) Method for the authentication of a first electronic entity by a second electronic entity, and electronic entity implementing such a method
EP3348085B1 (en) Method for loading a virtual key in a user terminal and associated user terminal
EP3262860B1 (en) Automatic recognition method between a mobile device and a vehicle using the ble protocol
FR2936391A1 (en) METHOD OF EXCHANGING DATA, SUCH AS CRYPTOGRAPHIC KEYS, BETWEEN A COMPUTER SYSTEM AND AN ELECTRONIC ENTITY, SUCH AS A MICROCIRCUIT CARD
FR2989799A1 (en) METHOD FOR TRANSFERRING A DEVICE TO ANOTHER RIGHTS OF ACCESS TO A SERVICE
US20200348924A1 (en) Vehicular update system and control method thereof
EP2689398B1 (en) Checking the integrity of data of an apparatus onboard a vehicle
EP3308564B1 (en) Procédé de chargement d'une clé virtuelle et terminal utilisateur associé
FR3066666A1 (en) METHOD FOR SECURING COMMUNICATION WITHOUT STATE MANAGEMENT
WO2016102833A1 (en) Secure electronic entity, electronic apparatus and method for verifying the integrity of data stored in such a secure electronic entity
EP3343967B1 (en) Methods performed by a device in a network, and associated electronic entity
WO2007060334A2 (en) Portable electronic entity for setting up secured voice over ip communication
EP3456025B1 (en) Technique for authenticating a user device
WO2004030361A1 (en) Multiple matching control method
WO2020174137A1 (en) Symmetric cryptography method and device for vehicle processor
EP3917073A1 (en) Efficient secure session establishment for anonymity in 5g networks
FR3094105A1 (en) Method and device for dimensioning a memory of a computer
EP4007290B1 (en) Method and electronic device for controlling a communication system for an electric meter, related computer program and electronic transmission installation
EP3259159B1 (en) Method for implementing a connection between a slave electronic device and a master electronic device, and related slave electronic device
FR3117655A1 (en) Tachograph system, tachograph device and method of operating a tachograph system
FR3096813A1 (en) Method and electronic device for controlling a communication system for an electric meter, computer program and associated electronic transmission installation
WO2022167740A1 (en) Method and device for validating time synchronization between vehicle on-board computers
EP3993309A1 (en) Device and method for processing a message and for transmitting lpwan messages
EP3564841A1 (en) Authentication of an electronic circuit
FR2951833A1 (en) METHOD OF AUTHENTICATING A MOBILE COMMUNICATION TERMINAL FOR PROVIDING A DATA SERVICE, SERVICE PROVIDING SYSTEM AND TERMINAL THEREFOR

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20707718

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020707718

Country of ref document: EP

Effective date: 20210928