FR3093363A1 - Symmetric cryptography method and device for vehicle computer - Google Patents
Symmetric cryptography method and device for vehicle computer Download PDFInfo
- Publication number
- FR3093363A1 FR3093363A1 FR1902095A FR1902095A FR3093363A1 FR 3093363 A1 FR3093363 A1 FR 3093363A1 FR 1902095 A FR1902095 A FR 1902095A FR 1902095 A FR1902095 A FR 1902095A FR 3093363 A1 FR3093363 A1 FR 3093363A1
- Authority
- FR
- France
- Prior art keywords
- secret key
- final value
- internal counter
- duration
- encrypted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000005540 biological transmission Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000005055 memory storage Effects 0.000 description 2
- 239000011259 mixed solution Substances 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 241000270295 Serpentes Species 0.000 description 1
- 241000897276 Termes Species 0.000 description 1
- 241001441724 Tetraodontidae Species 0.000 description 1
- 238000002485 combustion reaction Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0825—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/84—Vehicles
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
Procédé et dispositif de cryptographie symétrique pour calculateur de véhicule L’invention concerne un procédé et un dispositif de déchiffrement de données cryptées utilisant une clé secrète. A cet effet, une durée aléatoire est générée. 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. 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 avec la clé secrète que le deuxième dispositif a générée. Figure pour l’abrégé : Figure 3 Symmetric cryptography method and device for vehicle computer The invention relates to a method and a device for decrypting encrypted data using a secret key. For this purpose, a random duration is generated. 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. 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 with the secret key that the second device has generated. Figure for the abstract: Figure 3
Description
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 unit or a vehicle computer (in particular of the automotive type) and an off-board system. The invention also relates to methods and devices for the encryption and/or decryption of such data.
Arrière-plan technologiqueTechnology 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 carry a number of computers, each performing one or more functions, such as, for example, the management of driving assistance, traction control, electronic brake distribution or even the control of actuators to ensure the operation optimal for 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 (“Unit of Electronic Control” or in English ECU “Electronic Control Unit”). These computers embed software which is executed to ensure the functions for which they are responsible. This software or its updates are downloaded from an off-board system (also called the cloud) via a wired or wireless connection, for example an OTA (over-the-air) type connection. 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.To avoid any hacking of the data exchanged between the off-board system and the computer, it is known to encrypt or encrypt the data, for example by using symmetric encryption with a fixed secret key, asymmetric encryption or a mixed solution.
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.Concerning 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 off-board system and in a secure area of the calculator. 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.
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.Asymmetric encryption uses a combination of public key and private key (public key infrastructure type system) to encrypt and decrypt data. However, such technology requires significant computing capacity 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 computer's secret key encrypted with the public key of the off-board system. The off-board system can then encrypt the data to be transmitted to the computer with the computer's secret key. This solution is however complex to implement and requires the redeployment of a new public key in all the computers in the event of compromise of the public key of the off-board system.
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.An object of the present invention is to propose a symmetric encryption mechanism with reinforced security against the compromise of the secret key used in the encryption (also called ciphering) of the data.
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 :According to a first aspect, the invention relates to a method for decrypting encrypted data 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 information representative 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 as a function of 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 ;- transmission of at least one request intended for 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 ;
- génération de la clé secrète à partir de la première valeur finale de compteur interne ;- 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 internal counter final 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 duration between the transmission of at least one request and the start of the reception of the encrypted data is less than a determined duration.
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 an additional variant, the incrementation time step of the first internal counter is identical to the incrementation time step of the second internal counter, the incrementation 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 encrypted data 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 intended for a second device for determination by the second device of a second final value of a second counter internal 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 ;- Means for generating the secret key from the first final internal counter value;
- 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 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 reinitializing 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 duration between the transmission of at least one request and the start of the reception of the encrypted data is less than a determined duration.
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 an additional variant, the incrementation time step of the first internal counter is identical to the incrementation time step of the second internal counter, the incrementation 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 source code, object code, or intermediate code between source code and object code, such as in a 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 computer-readable recording medium on which is recorded a computer program comprising instructions for the execution of 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.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 even a magnetic recording means or a hard disk.
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.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 from an Internet-type network.
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.Alternatively, the recording medium may 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 figuresBrief description of 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 :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 appended Figures 1 to 7, in which:
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.A method for decrypting encrypted data, a method for encrypting data as well as the associated devices and system will now be described in the following with reference in conjunction with FIGS. 1 to 7. The same elements are identified with the same reference signs throughout the following description.
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.According to a particular and non-limiting embodiment of the invention, a method for decrypting encrypted data using a secret key is implemented in a first device, for example a computer of an on-board system in a vehicle. Data decryption is also called data decryption. For this purpose, the method comprises the generation of 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 based on 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 data for updating 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(s) 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 ciphered) 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.Furthermore, 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 can no longer be used for subsequent data exchanges.
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 an UCE type computer. An ECU is made up of an electronic computer and one or more on-board software which perform one or more servo-controls. The first devices 102, 103, 104 belong for example to a system 10, advantageously embedded in a vehicle, for example of the automobile type. The computers 102, 103, 104 for example form a multiplexed architecture for the performance of various useful services for the correct operation of the vehicle and for assisting the driver and/or the passengers of the vehicle in controlling 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 11 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 between them 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 a second device 101. The second device 101 corresponds for example to an external device of an off-board 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 load, for example, the software updates stored for downloading into 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 regard to Figures 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 hardware embodiment of such a first device is described with reference to Figure 2. An example of hardware embodiment of a second device 101 is described with reference to Figure 3.
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 regard to FIG. 4. Examples of such a first device 2 include, without being limited thereto, electronic equipment embedded such as a vehicle 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 made 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 via 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 or software embedded in the first device 2. The processor 20 may include onboard 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 « 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 processor corresponds, for example, to a HSM Full hardware security module (Hardware Security Module) to protect access to the variables and functions used for data encryption/decryption.
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 computer code of the on-board software or software comprising the instructions to be loaded and executed by the processor is for example stored on 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" , odometer sensors, GPS sensor. Block 22 interface elements 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 radio frequency interface, for example of the Bluetooth® or Wi-Fi® type, LTE (from English "Long-Term Evolution" or in French "Evolution à long terme"), 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 the English "Universal Serial Bus" or "Universal Serial Bus" in French);
- interface HDMI (de l’anglais « High Definition Multimedia Interface », ou « Interface Multimedia Haute Definition » en français).- HDMI interface (from the English “High Definition Multimedia Interface”, or “Interface Multimedia Haute Definition” in French).
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.11 ou un réseau mobile tel qu’un réseau 4G (ou LTE Advanced selon 3GPP release 10 – version 10) ou 5G.Data are 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 channel 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 network of the CAN type.
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.Examples of such a second device 3 include, but are not limited to, various electronic devices such as a laptop computer, an ECU 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 made 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.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, by a volatile at/or non-volatile memory and/or comprises a memory storage device which can comprise volatile and/or non-volatile memory, such as EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, magnetic or optical disk.
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 processor corresponds, for example, to a HSM Full hardware security module (Hardware Security Module) to protect access to the variables and functions used for data encryption/decryption.
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.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.
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 :According to a particular and non-limiting embodiment, the device 3 comprises a block 32 of interface elements for communicating with external devices, for example a first device 2. The interface elements of the block 32 comprise one or more of the following interfaces:
- interface radiofréquence RF, par exemple de type Bluetooth® ou Wi-Fi® ;- RF radiofrequency 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 the English "Universal Serial Bus" or "Universal Serial Bus" in French);
- interface HDMI (de l’anglais « High Definition Multimedia Interface », ou « Interface Multimedia Haute Definition » en français).- HDMI interface (from the English “High Definition Multimedia Interface”, or “Interface Multimedia Haute Definition” in French).
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.According to another particular embodiment, the device 3 comprises a communication interface 33 which makes it possible to establish communication with other devices via a communication channel 330. The communication interface 33 corresponds for example to a transmitter configured to 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.11 ou un réseau mobile tel qu’un réseau 4G (ou LTE Advanced selon 3GPP release 10 – version 10) ou 5G.Data are 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 an additional particular embodiment, the device 3 can provide output signals to one or more external devices, such as a display screen 340, one or more loudspeakers 350 and/or other peripherals 360 ( DVD player, a projection system) respectively via output interfaces 34, 35 and 36. According to a variant, one or the other of the external devices is integrated into the second device 3.
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_alea.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_alea.
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 third operation 402, the first device 102 transmits a request to the second device 101 so that the latter starts an internal counter, called 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 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 is used 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 incrementing time steps counted between the start and the 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 operation 402. It is considered that the temporal 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.According to a variant, several internal counters are used, the internal counters having different time increment steps. The first final value is determined by juxtaposing 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. For the first device and the second device to use the same time incrementation step, the first device transmits synchronization requests to the second device at the start and end of the time incrementation step generated, 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.In a fifth operation 403b, the second device 101 starts its internal counter, called second internal counter count_Ks2, upon receipt of the request transmitted to operation 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 sixth operation 404, the first device 102 transmits a request to the second device 101 so that the latter stops its internal counter, called 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. Upon 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 incrementing time steps counted between the start and the stop of the second internal counter. The increment step Tcount of this second internal counter is also adjustable in duration. The duration of the incrementation step of the second internal counter is chosen to be equal to the duration of the incrementation 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 therefore 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 another.
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 operation 405b. Encryption is achieved by implementing a block or afloat encryption algorithm, for example an AES (Advanced Encryption Standard) type algorithm, 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 checks that the start of the downloading of the encrypted data begins before a determined delay, this delay beginning 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 delay, called Cste_Dmax_start, this delay 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 these 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 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 verification operation that the start of the downloading of the encrypted data begins before a determined time 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 the If 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 operation 412a. If the 2 conditions associated with Cste_verif and Cste_Dmax_start are verified, then the reception and the decryption of the encrypted data continue and the process then continues with the following 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.In a thirteenth operation 410, the decrypted or decrypted data is downloaded into the memory of the first device 102.
Dans une quatorzième opération 411, 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.In a fourteenth operation 411, the first device 102 transmits to the second device 101 a request to reset 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.
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 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 411, à 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 upon receipt of the request transmitted during operation 411, namely the second final value Cpt_alea of the second internal counter count_Ks2 and the key secret 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.Operations 400 to 412b are advantageously repeated 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.
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.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.
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 + δt 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.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 a time t+δt 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 the counting 522 with a delay relative to the instant t corresponding to the maximum propagation time of the signal transporting the request Tpropag_max 531. The starting 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 incrementation time 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 incrementation time steps elapsed 513 until receipt of this second request. This number of elapsed incrementation 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.As shown in FIG. 5, the duration of a time step for incrementing the first internal counter count_Ks1 is equal to the duration of a time step for incrementing the second internal counter count_Ks2, this time being greater than the propagation time maximum of the 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.The incrementation time step of the first internal counter, which is identical to the incrementation time step of the second internal counter, corresponds for example to a preprogrammed constant. According to a variant, the incrementation time step of the first internal counter, which is identical to the incrementation time step of the second internal counter, is a randomly generated constant. 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 intended for 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 counter internal to the second device identical to the time step of the first counter internal to the first device.
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 according to 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.In a third step 63, at least one request is transmitted 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 identical to the first final value.
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 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.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.
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 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 representing 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.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.
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 or requests 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.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.
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 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.In a fifth step 66, the data encrypted in the previous step is transmitted to the first device.
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 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.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 communication method between the first device and the second device implementing the encryption and decryption of data.
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.The invention also relates to a vehicle, for example an automobile or more generally a land motor vehicle, comprising the device 2 of FIG. 2 or the on-board system 10 of FIG. 1.
Claims (10)
- génération (61) d’une information représentative d’une durée aléatoire ;
- 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 ;
- 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 ;
- génération (64) de ladite clé secrète à partir de ladite première valeur finale de compteur interne ;
- 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 ;
- 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) ;
- 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
- 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).A method of decrypting encrypted data from a secret key, said method being implemented in a first device (102), said method comprising the steps of:
- generation (61) of information representative of a random duration;
- 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) of at least one request (541, 542) intended for 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;
- generation (64) of said secret key from said first final internal counter value;
- receiving (65) data encrypted by said second device (101) from said secret key generated by said second device (101) from said second internal counter final value;
- decryption (66) of said received encrypted data using said secret key generated by said first device (102);
- reinitialization (67) of said piece of information representative of a random duration, of said first final value and of said secret key; and
- transmission (68) of a request to reset said second final value and said secret key to said second device (102).
- des moyens (20) de génération d’une information représentative d’une durée aléatoire ;
- 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 ;
- 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 ;
- des moyens (20) de génération de ladite clé secrète à partir de ladite première valeur finale de compteur interne ;
- 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 ;
- 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 ;
- 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
- 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.Device for decrypting data encrypted from a secret key, said device being called the first device and comprising:
- means (20) for generating information representative of a random duration;
- 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;
- means (22) for transmitting at least one request intended for 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;
- means (20) for generating said secret key from said first final internal counter value;
- 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;
- means (20) for decrypting said encrypted data received using said secret key generated by said first device;
- Means (20) for resetting said piece of information representing a random duration, said first final value and said secret key; and
- Means (22) for transmitting a request to reset said second final value and said secret key to said second device.
Priority Applications (4)
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 |
EP20707718.1A EP3932001A1 (en) | 2019-02-28 | 2020-01-31 | Symmetric cryptography method and device for vehicle processor |
PCT/FR2020/050152 WO2020174137A1 (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 (2)
Publication Number | Publication Date |
---|---|
FR3093363A1 true FR3093363A1 (en) | 2020-09-04 |
FR3093363B1 FR3093363B1 (en) | 2021-12-03 |
Family
ID=67810681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1902095A Active FR3093363B1 (en) | 2019-02-28 | 2019-02-28 | Method and device for symmetric cryptography for a vehicle computer |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP3932001A1 (en) |
CN (1) | CN113491084A (en) |
FR (1) | FR3093363B1 (en) |
WO (1) | WO2020174137A1 (en) |
Citations (2)
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)
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 |
-
2019
- 2019-02-28 FR FR1902095A patent/FR3093363B1/en active Active
-
2020
- 2020-01-31 WO PCT/FR2020/050152 patent/WO2020174137A1/en unknown
- 2020-01-31 CN CN202080017209.2A patent/CN113491084A/en active Pending
- 2020-01-31 EP EP20707718.1A patent/EP3932001A1/en active Pending
Patent Citations (2)
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 |
WO2020174137A1 (en) | 2020-09-03 |
CN113491084A (en) | 2021-10-08 |
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 | |
WO2014125228A1 (en) | Method for creating a profile in a security domain of a secured element | |
US11449331B2 (en) | Vehicular update system and control method thereof | |
FR2989799A1 (en) | METHOD FOR TRANSFERRING A DEVICE TO ANOTHER RIGHTS OF ACCESS TO A SERVICE | |
WO2023051467A1 (en) | Charging data sending and receiving method, charging data sending and receiving apparatus, charging pile, and vehicle terminal | |
EP2689398B1 (en) | Checking the integrity of data of an apparatus onboard a vehicle | |
CN112422270A (en) | BC-LHE-based vehicle networking data sharing method and system | |
FR3066666A1 (en) | METHOD FOR SECURING COMMUNICATION WITHOUT STATE MANAGEMENT | |
FR3030831A1 (en) | SECURE ELECTRONIC ENTITY, ELECTRONIC APPARATUS AND METHOD FOR VERIFYING THE INTEGRITY OF DATA STORED IN SUCH A SECURE ELECTRONIC ENTITY | |
WO2014207404A1 (en) | Method for changing an authentication key | |
WO2004030361A1 (en) | Multiple matching control method | |
EP3456025B1 (en) | Technique for authenticating a user device | |
WO2020174137A1 (en) | Symmetric cryptography method and device for vehicle processor | |
EP3667530B1 (en) | Secure access to encrypted data from a user terminal | |
EP3917073A1 (en) | Efficient secure session establishment for anonymity in 5g networks | |
EP2919412A1 (en) | Method and system for encrypting/decrypting data with a remote key and prior token verification | |
EP3314596B1 (en) | Method for controlling a functionality of a vehicle by means of a user terminal | |
FR3081652A1 (en) | METHOD FOR ESTABLISHING KEYS FOR CONTROLLING ACCESS TO A SERVICE OR A RESOURCE | |
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 | |
FR3117655A1 (en) | Tachograph system, tachograph device and method of operating a tachograph system | |
EP3259159B1 (en) | Method for implementing a connection between a slave electronic device and a master electronic device, and related slave electronic device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20200904 |
|
PLFP | Fee payment |
Year of fee payment: 3 |
|
PLFP | Fee payment |
Year of fee payment: 4 |
|
PLFP | Fee payment |
Year of fee payment: 5 |
|
PLFP | Fee payment |
Year of fee payment: 6 |
|
CD | Change of name or company name |
Owner name: STELLANTIS AUTO SAS, FR Effective date: 20240423 |