Brevet FR3093363A1 — publié le 20200904

Description Titre de l'invention : Procédé et dispositif de cryptographie symétrique pour calculateur de véhicule Domaine technique [0001] 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. Arrière-plan technologique [0002] 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. [0003] 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 »). [0004] Pour éviter tout piratage des données échangées entre le système débarqué et le cal- culateur, 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. [0005] 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. [0006] 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. [0007] 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 2 crypter les données à transmettre au calculateur avec la clé secrète du calculateur. Cette solution est cependant complexe à mettre en oeuvre 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é. Résumé de l'invention [0008] Un objet de la présente invention est de proposer un mécanisme de cryptage sy- métrique à sécurité renforcée contre la compromission de la clé secrète utilisée dans le cryptage (appelé aussi chiffrement) des données. [0009] 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 oeuvre dans un premier dispositif, le procédé comprenant les étapes de : [0010] - génération d'une information représentative d'une durée aléatoire ; [0011] - 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 ; [0012] - 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 ; [0013] - génération de la clé secrète à partir de la première valeur finale de compteur interne ; [0014] - 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 ; [0015] - déchiffrement des données cryptées reçues en utilisant la clé secrète générée par le premier dispositif ; [0016] - réinitialisation de l'information représentative d'une durée aléatoire, dc la première valeur finale et de la clé secrète ; [0017] - transmission d'une requête de réinitialisation de la deuxième valeur finale et de la clé secrète au deuxième dispositif [0018] Selon une variante, le déchiffrement est mis en oeuvre 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. [0019] 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. [0020] 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 pro- 3 pagation maximale d'un signal entre le premier dispositif et le deuxième dispositif [0021] 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 : [0022] - des moyens de génération d'une information représentative d'une durée aléatoire ; [0023] - 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 ; [0024] - 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 ; [0025] - des moyens de génération de la clé secrète à partir de la première valeur finale de compteur interne ; [0026] - 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 ; [0027] - 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 ; [0028] - 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 ; [0029] - 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. [0030] Selon une variante, le déchiffrement est mis en oeuvre 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. [0031] Selon encore une variante, le dispositif comprend en outre des moyens de véri- fication que les données cryptées reçues ont été cryptées avec la clé secrète. [0032] 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. [0033] 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. [0034] Selon un quatrième aspect, l'invention concerne un véhicule, par exemple de type au- tomobile, comprenant un ou plusieurs dispositifs tel que décrit ci-dessus selon le deuxième aspect de l'invention. 100351 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. [0036] Un tel programme d'ordinateur peut utiliser n'importe quel langage de pro- grammation, 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. [0037] 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. [0038] 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 tnicroélectronique, ou encore un moyen d'enregistrement magnétique ou un disque dur. [0039] D'autre part, ce support d'enregistrement peut également être un support trans- missible 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. [0040] 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. Brève description des figures [0041] 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 : [0042] [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 ; [0043] [fig.2] illustre schématiquement un premier dispositif de la figure 1, selon un exemple de réalisation particulier de la présente invention ; [0044] [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 ; [0045] [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 ; [0046] [fig.5] illustre un chronogramme associé à une partie des opérations du processus de la figure 4, selon un exemple dc réalisation particulier de la présente invention ; [0047] [fig.6] illustre un organigramme des différentes étapes d'un procédé de déchiffrement de données cryptées mis en oeuvre dans un des premiers dispositifs de la figure 1, selon un exemple de réalisation particulier de la présente invention ; [0048] [fig.7] illustre un organigramme des différentes étapes d'un procédé de chiffrement de données mis en oeuvre dans le deuxième dispositif de la figure 1, selon un exemple de réalisation particulier de la présente invention. Description des modes de réalisation [0049] 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 dc la description qui va suivre. [0050] Selon un exemple particulier et non limitatif dc réalisation de l'invention, un procédé de déchiffrement de données cryptées utilisant une clé secrète est mis en oeuvre 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 dc 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 tnillisecondes. Une première valeur finale d'un premier compteur interne du premier dispositif est déterminée en fonction dc 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 6 dispositif en utilisant la deuxième valeur finale. Les données à transmettre par le deuxième dispositif au premier dispositif sont cryptécs (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écs 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écs 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. [0051] 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. [0052] 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. [0053] [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. [0054] Chaque premier dispositif 102, 103, 104 conespond 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. [0055] 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 ((le l'anglais « Controller Arca Network » ou en français « Réseau de contrôleurs »). 7 [0056] 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 '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écs) en mettant en oeuvre le procédé décrit en regard des figures 4, 6 et/ou 7. [0057] 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. [0058] [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. [0059] Le premier dispositif 2 est par exemple configuré pour la mise en oeuvre 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. [0060] 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. 8 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. [0061] 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. [0062] 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. [0063] 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 : [0064] - interface radiofréquence RF, par exemple de type Bluctooth® ou Wi-Fi®, LTE (de l'anglais « Long-Term Evolution » ou en français « Evolution à long terme »), LTEAdvanced (ou en français LTE-avancé) ; [0065] - interface USB (de l'anglais « Universal Serial Bus » ou « Bus Universel en Série » en français) ; [0066] - interface HDMI (de l'anglais « High Dcfinition Multimedia Interface » ou Interface Multimedia Haute Definition » en français). [0067] 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-FiC) 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. [0068] 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 (les données via le canal de communication 230. Le canal de communication 230 correspond par exemple à un réseau filaire de type CAN. [0069] [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. [0070] 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 9 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. [0071] 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 r 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, SR/AM, flash, disque magnétique ou optique. [0072] 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. [0073] 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. [0074] 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 : [0075] - interface radiofréquence RF, par exemple de type Bluetooth® ou [0076] - interface USB ((le l'anglais « Universal Serial Bus » ou « Bus Universel en Série » en français) ; [0077] - interface HDMI ((le l'anglais « High Definition Multimedia Interface », ou Interface Multimedia Haute Definition » en français). [0078] 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 oeuvre dans un medium filaire et/ou sans fil. [0079] Des données sont par exemples chargées vers le deuxième dispositif 3 en utilisant un réseau Wi-FICD 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. [0080] 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. [0081] [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. [0082] 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. [0083] 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. [0084] 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. [0085] Dans une quatrième opération 403a, le premier dispositif 102 démarre son compteur interne, appelé premier compteur interne count_Ksl. 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. [0086] 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é- 11 terminée par la juxtaposition des valeurs finales de chacun des compteurs internes. [0087] 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étnentation 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. [0088] 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. [0089] Dans une sixième opération 404, le premier dispositif 102 transmet une requête au deuxième dispositif 101 pour que cc 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. À 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. [0090] 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_Ksl. [0091] 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. [0092] 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. [0093] 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. [0094] 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 12 le deuxième dispositif 101 lors de l'opération 405b. Le chiffrement est réalisé en mettant un oeuvre 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. [0095] 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é Cstc 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 Cstc Dmax start, alors le premier dispositif 102 refuse la réception des données cryptées. [0096] 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. [0097] 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 oeuvre 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. [0098] 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. [0099] 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. [0100] Dans une quinzième opération 412a, le premier dispositif 102 réinitialise les 13 variables associées au processus d'échange de données cryptées, à savoir la durée aléatoire D alca, la première valeur finale Cpt alca du premier compteur interne count Ksi et la clé secrète K sec. [0101] 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 alca du deuxième compteur interne count_Ks2 et la clé secrète K sec. [0102] Les opération 400 à 412b sont avantageusement réitérées lorsque qu'une nouvelle transmission de données cryptécs 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. [0103] [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. [0104] 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. [0105] 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 + bt 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_Ksl, ce nombre correspondant à la première valeur finale du premier compteur interne count _Ksl. [0106] 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 14 du deuxième compteur interne count Ks2. [0107] Comme cela apparaît sur la figure 5, la durée d'un pas temporel d' incrémentation du premier compteur interne count Ksi 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. [0108] 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. [0109] [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 oeuvre par un premier dispositif, par exemple un calculateur du système embarqué de la figure 1. [0110] Dans une première étape 61, une information représentative cl' une durée aléatoire est générée, par exemple comme décrit à l'opération 401. [0111] 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. [0112] 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. [0113] 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 oeuvre une fonction de hachage. [0114] 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. [0115] 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. [0116] 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. [0117] 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. [0118] [fig.7] illustre un organigramme des différentes étapes d'un procédé de chiffrement (ou cryptagc) 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 oeuvre par un deuxième dispositif, par exemple un dispositif du système débarqué de la figure 1. [0119] Dans une première étape 71, au moins une requête transmise par le premier dispositif est reçue par le deuxième dispositif. [0120] 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. [0121] 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 oeuvre une fonction de hachage. [0122] 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. [0123] Dans une cinquième étape 66, les données cryptées à l'étape précédente sont transmises au premier dispositif. [0124] 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. [0125] 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 oeuvre 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 oeuvre le chiffrement et le déchiffrement des données. [0126] 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. 16 [Revendication 1] [Revendication 2] [Revendication 3] [Revendication 4]