FR3069342A1 - Procede de determination de l'integrite de donnees de navigation d'une unite de controle d'un vehicule automobile - Google Patents

Procede de determination de l'integrite de donnees de navigation d'une unite de controle d'un vehicule automobile Download PDF

Info

Publication number
FR3069342A1
FR3069342A1 FR1756868A FR1756868A FR3069342A1 FR 3069342 A1 FR3069342 A1 FR 3069342A1 FR 1756868 A FR1756868 A FR 1756868A FR 1756868 A FR1756868 A FR 1756868A FR 3069342 A1 FR3069342 A1 FR 3069342A1
Authority
FR
France
Prior art keywords
counter
last
during
data
navigation data
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
Application number
FR1756868A
Other languages
English (en)
Other versions
FR3069342B1 (fr
Inventor
Francois De La Bourdonnaye
Stephane Eloy
Nora-Marie Gouzenes
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Continental Automotive GmbH
Continental Automotive France SAS
Original Assignee
Continental Automotive GmbH
Continental Automotive France SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Continental Automotive GmbH, Continental Automotive France SAS filed Critical Continental Automotive GmbH
Priority to FR1756868A priority Critical patent/FR3069342B1/fr
Priority to US16/631,941 priority patent/US11500848B2/en
Priority to PCT/FR2018/051809 priority patent/WO2019016464A1/fr
Priority to CN201880060794.7A priority patent/CN111066002B/zh
Publication of FR3069342A1 publication Critical patent/FR3069342A1/fr
Application granted granted Critical
Publication of FR3069342B1 publication Critical patent/FR3069342B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Navigation (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

La présente invention a pour objet un procédé de détermination de l'intégrité de données de navigation d'une unité de contrôle d'un véhicule automobile, comprenant les étapes consistant à fixer deux compteurs à une valeur strictement supérieure au maximum des deux compteurs, et lors d'une phase de réveil calculer les empreintes des données écrites dans la zone non réinitialisable, comparer les compteurs et déterminer l'intégrité des données quand les compteurs sont égaux.

Description

L’invention appartient au domaine de la sauvegarde de données et concerne plus particulièrement un procédé de détermination de l’intégrité de données de navigation et de restauration des données sauvegardées dans une unité de contrôle électronique d’un véhicule automobile.
Dans une unité de contrôle (typiquement un ECU, acronyme de Engine Control Unit en anglais), des données de navigation sont sauvegardées dans une mémoire morte, ou non-volatile, reliée à un microcontrôleur, lors d’une coupure-clé en vue d’un arrêt du véhicule. Lors d’un démarrage ultérieur du calculateur, ces données sont restaurées à partir de la mémoire non-volatile, de manière à être réutilisées par l’unité de contrôle.
Une coupure-clé permet d’initier une phase d’endormissement du calculateur (appelée également phase de shutdown en anglais). Une sauvegarde des données depuis la mémoire vive, aussi reliée au microcontrôleur vers la mémoire morte, est réalisée pendant la phase d’endormissement de l’unité de contrôle. A l’issue de la phase d’endormissement, l’unité de contrôle peut être désactivée.
Un redémarrage ou réveil peut être requis pendant la phase d’endormissement. Les processus en cours pendant la phase d’endormissement doivent alors être interrompus de manière à initier une phase de réveil de l’unité de contrôle le plus rapidement possible.
Le temps nécessaire à la sauvegarde des données dans la mémoire morte n’est pas compatible avec la réactivité requise par un réveil pendant une phase d’endormissement, par exemple. Ce temps est typiquement de 300 ms, et de manière générale compris entre 100 ms et 3s.
L’écriture ou la copie d’une ou plusieurs données de navigation vers la mémoire morte, créées ou modifiées au cours du roulage (par exemple la signalisation d’une panne d’un capteur) est interrompue en redémarrant, avant que les données n’aient été copiées dans la mémoire morte lors de la phase d’endormissement.
A cet effet, il est connu d’écrire les données au début de la phase d’endormissement dans une partie de mémoire vive, désignée par zone non réinitialisable ou reset safe en anglais. Cette partie de la mémoire vive, à la différence des autres parties de la mémoire vive, n’est pas réinitialisée lors d’un redémarrage de l’unité de contrôle : les données écrites dans la zone non réinitialisable restent inchangées lors d’un redémarrage tant que la mémoire vive est sous tension. Les empreintes associées à chacune des données de navigation ou à chacun des groupes de données de navigation sont également calculées, puis enregistrées dans la zone non réinitialisable.
Ainsi, il est possible de déterminer, lors d’une phase de réveil, depuis quelle mémoire (vive ou morte) le microcontrôleur doit charger les données pour avoir accès aux données les plus récentes et/ou des données intègres. Lors d’une phase de réveil, le microcontrôleur calcule l’empreinte de chaque donnée ou groupe de données de navigation écrit dans la zone non réinitialisable et la compare avec l’empreinte enregistrée au préalable dans la zone non réinitialisable. Si celles-ci sont égales, la mémoire vive n’a pas été mise hors tension entre le démarrage et le fonctionnement antérieur. Le démarrage a donc eu lieu pendant une phase d’endormissement et l’intégrité des données de la mémoire morte n’est pas sûre. Les données sont alors chargées à partir de la zone non réinitialisable. Si les empreintes associées ne sont pas égales, la mémoire vive a été mise hors tension, indiquant que la phase d’endormissement a été menée à son terme. Les données sont alors chargées depuis la mémoire morte.
Un réveil du calculateur peut être déclenché pendant une phase d’endormissement, mais après une phase d’enregistrement complète des données dans la mémoire morte. Le procédé décrit précédemment ne permet pas de discriminer si les données ont été effectivement enregistrées dans la mémoire morte ou pas dans ce cas.
Il est également possible de redémarrer le véhicule à une fréquence permettant à un utilisateur mal intentionné d’empêcher l’écriture des données dans la mémoire morte. Lors d’un redémarrage subséquent, si l’unité de contrôle n’est plus alimentée électriquement, les données n’ayant pas été sauvegardées en mémoire morte sont définitivement perdues.
Un but de l’invention est de déterminer l’intégrité des données de navigation d’une unité de contrôle, particulièrement des données copiées dans la mémoire morte d’une unité de contrôle d’une manière simple et précise.
Ce but est atteint dans le cadre de la présente invention grâce à un procédé de détermination de l’intégrité de données de navigation d’une unité de contrôle d’un véhicule automobile, l’unité de contrôle comprenant un microcontrôleur, une mémoire vive et une mémoire morte reliées au microcontrôleur, la mémoire vive étant configurée pour qu’une zone non réinitialisable de la mémoire vive ne soit pas réinitialisée lors d’un démarrage de l’unité de contrôle, le procédé étant caractérisé en ce qu’il comprend les étapes consistant à :
a) lors d’un roulage, calculer le maximum d’un premier compteur et d’un deuxième compteur, le deuxième compteur n’étant associé à aucune empreinte, et fixer ces compteurs à une valeur strictement supérieure au maximum ;
b) lors d’une phase d’endormissement de l’unité de contrôle, initier une copie des données de navigation du premier compteur et du deuxième compteur dans la zone non réinitialisable, initier le calcul et la copie d’une empreinte de chaque donnée de navigation et d’une empreinte du premier compteur dans la zone non réinitialisable, puis initier une copie des données de navigation et des compteurs dans la mémoire morte en commençant par la copie du premier compteur et en copiant chaque donnée avant le deuxième compteur ;
c) lors d’une phase de réveil, charger le deuxième compteur depuis la mémoire morte ;
d) lors d’une phase de réveil, calculer les empreintes des données et du premier compteur copiées dans la zone non réinitialisable ;
e) lors d’une phase de réveil, charger le premier compteur depuis la zone non réinitialisable quand l’empreinte calculée et l’empreinte enregistrée du premier compteur dans la zone non réinitialisable sont égales, et charger le premier compteur depuis la mémoire morte quand l’empreinte calculée est différente de l’empreinte enregistrée du premier compteur dans la zone non réinitialisable ;
f) lors d’une phase de réveil, comparer le premier compteur et le deuxième compteur ;
g) déterminer l’intégrité des données de navigation de la mémoire morte quand le premier compteur est égal au deuxième compteur lors de l’étape f).
Avantageusement, dans l’étape g), on notifie à un utilisateur du véhicule l’intégrité des données de navigation quand les compteurs sont égaux et la corruption des données de navigations quand les compteurs sont différents.
Avantageusement, le procédé comprend une étape de restauration des données de navigation :
• depuis la mémoire morte quand le premier compteur et le deuxième compteur sont égaux, et • depuis la mémoire vive quand le premier compteur et le deuxième compteur sont différents.
Avantageusement, une empreinte est calculée par une méthode choisie parmi au moins un contrôle de redondance cyclique et une somme de contrôle.
Un autre objet de l’invention est une unité de contrôle d’un véhicule automobile comprenant un microcontrôleur, une mémoire vive et une mémoire morte reliées au microcontrôleur, la mémoire vive étant configurée pour qu’une zone non réinitialisable de la mémoire vive ne soit pas réinitialisée lors d’un démarrage de l’unité de contrôle, l’unité de contrôle étant configurée pour :
a) calculer le maximum d’un premier compteur et d’un deuxième compteur, le deuxième compteur n’étant associé à aucune empreinte, et fixer ces compteurs à une valeur strictement supérieure au maximum ;
b) lors d’une phase d’endormissement de l’unité de contrôle, initier une copie des données de navigation du premier compteur et du deuxième compteur dans la zone non réinitialisable, initier le calcul et la copie d’une empreinte de chaque donnée de navigation et d’une empreinte du premier compteur dans la zone non réinitialisable, puis initier une copie des données de navigation et des compteurs dans la mémoire morte en commençant par la copie du premier compteur et en copiant chaque donnée avant le deuxième compteur ;
c) lors d’une phase de réveil, charger le deuxième compteur depuis la mémoire morte ;
d) lors d’une phase de réveil, calculer les empreintes des données et du premier compteur copiées dans la zone non réinitialisable ;
e) lors d’une phase de réveil, charger le premier compteur depuis la zone non réinitialisable quand l’empreinte calculée et l’empreinte enregistrée du premier compteur dans la zone non réinitialisable sont égales, et charger le premier compteur depuis la mémoire morte quand l’empreinte calculée est différente de l’empreinte enregistrée du premier compteur dans la zone non réinitialisable ;
f) lors d’une phase de réveil, comparer le premier compteur et le deuxième compteur ;
g) déterminer l’intégrité des données de navigation de la mémoire morte quand le premier compteur est égal au deuxième compteur lors de l’étape f).
Avantageusement, l’unité de contrôle est configurée pour notifier à un utilisateur du véhicule l’intégrité des données de navigation quand les compteurs sont égaux et la corruption des données de navigation quand les compteurs sont différents.
Avantageusement, l’unité de contrôle est configurée pour restaurer des données de navigation :
• depuis la mémoire morte quand le premier compteur et le deuxième compteur sont égaux, ou • depuis la mémoire vive quand le premier compteur et le deuxième compteur sont différents.
D’autres caractéristiques et avantages ressortiront de la description qui suit, laquelle est purement illustrative et non limitative, et doit être lue en regard des figures annexées, parmi lesquelles :
- la figure 1 décrit schématiquement un véhicule 1 automobile comprenant une unité de contrôle ;
- la figure 2 décrit schématiquement différentes mémoires et zones de mémoire de l’unité de contrôle ;
- la figure 3 illustre schématiquement un procédé de restauration de données de navigation selon un mode de réalisation de l’invention.
La figure 1 décrit schématiquement un véhicule 1 automobile comprenant une unité de contrôle ECU. L’unité de contrôle ECU du véhicule 1 comprend un microcontrôleur 3 ou microprocesseur, illustré par un rectangle noir en trait continu, relié électriquement à une mémoire morte 5, ou mémoire non-volatile, illustrée par un rectangle en traits pointillés, et également reliée électriquement à une mémoire vive 4, ou mémoire volatile, illustrée par un rectangle en traits pointillés.
La mémoire morte 5 peut être une mémoire de type FLASH, ou plus généralement de type EEPROM (acronyme de l’anglais ElectricallyErasable Programmable Read-Only Memory, ou mémoire morte 5 effaçable électriquement et programmable).
La mémoire vive 4 est également désignée mémoire volatile, ou mémoire à accès direct, de l’anglais Random Access Memory (RAM). La mémoire vive 4 comprend une zone non réinitialisable 6 ou reset safe en anglais. Cette partie de la mémoire vive 4 n’est pas réinitialisée lors d’un redémarrage de l’unité de contrôle ECU : les données copiées dans la zone non réinitialisable 6 restent inchangées lors d’un redémarrage tant que la mémoire vive 4 est sous tension.
La figure 2 décrit schématiquement différentes mémoires et zones de mémoire de l’unité de contrôle ECU.
La mémoire vive 4 est illustrée par un rectangle en pointillés à gauche de la figure 2. Cette mémoire comprend une zone non réinitialisable 6.
De manière générale, l’unité de contrôle ECU est configurée pour traiter et/ou mémoriser un premier ensemble de données. Cet ensemble de données comprend des jeux de variables, ou channels en anglais, dont au moins à un premier compteur A, un second compteur LAST et un ensemble de données de navigation D (comprenant les données de navigation D,, i étant un nombre entier naturel, illustrées par les données Di et D2 dans la figure 2). On désigne par channel un groupe de données ou jeux de variables liés à une même fonction, par exemple relative au moteur du véhicule 1. Ces données de navigation correspondent par exemple à une distance parcourue, à une consommation, mais peuvent également correspondre à la signalisation d’une panne dans le véhicule 1 ou de la défaillance d’un capteur.
Par empreinte, on entend une donnée permettant d’identifier une autre donnée, telle qu’une somme de contrôle, une empreinte numérique, un hash, un condensé, un condensât, une signature ou encore une empreinte cryptographique. La lecture d’une empreinte peut permettre de vérifier l’intégrité d’une donnée. Avantageusement, une empreinte peut être obtenue par une fonction de hachage et/ou un contrôle de redondance cyclique (CRC). La taille du CRC typiquement utilisé est de 8 bits, 16 bits ou 32 bits.
Une empreinte CRC peut être calculée pour un premier compteur A et pour chaque donnée D,. Le deuxième compteur LAST est configuré pour ne pas avoir d’empreinte calculable, en particulier pas d’empreinte de type CRC. Autrement dit, il est impossible de calculer l’empreinte du deuxième compteur LAST.
La mémoire vive 4 est configurée pour mémoriser l’ensemble de données dans une autre zone que la zone non réinitialisable.
La zone non réinitialisable 6 est configurée pour mémoriser le premier compteur A, le deuxième compteur LAST et les données de navigation du véhicule 1. Ces données sont dupliquées, dans l’exemple illustré dans la figure 2, dans une autre zone de la mémoire vive 4.
La mémoire morte 5 est configurée pour mémoriser au moins l’ensemble de données (comprenant le premier compteur A, le second compteur LAST et les données de navigation D,). La mémoire morte 5 est également configurée pour permettre au microcontrôleur 3 d’écrire l’ensemble de données dans un ordre défini : en commençant par la copie du premier compteur A, puis en écrivant chaque donnée D, avant la copie du deuxième compteur LAST. Cet ordre de copie de l’ensemble de données est illustré par la flèche au-dessus de la mémoire morte 5.
Le microcontrôleur 3 est configuré pour calculer l’empreinte CRC de chaque donnée copiée dans la mémoire vive 4, dans la mesure où ces empreintes sont calculables, ce qui n’est pas le cas de l’empreinte du deuxième compteur LAST. Le microcontrôleur 3 peut calculer l’empreinte CRC A du premier compteur et les empreintes CRC D, de chaque donnée de navigation (par exemple CRC Di, CRC D2, etc.). Le microcontrôleur 3 est également configuré pour écrire chacune de ces données et chacune des empreintes calculées associées dans la zone non réinitialisable 6 de la mémoire vive 4.
La figure 3 illustre un procédé de restauration de données de navigation selon un mode de réalisation de l’invention.
Lors d’une étape a), on calcule le maximum du premier compteur A et du second compteur LAST, puis on fixe la valeur des compteurs A et LAST à une valeur strictement supérieure à ce maximum. Avantageusement, on fixe (ou on initialise) la valeur du premier compteur A et du deuxième compteur LAST à la valeur de ce maximum plus un. Cette étape peut être mise en oeuvre pendant le roulage du véhicule 1 et de manière plus générale à tout moment avant la phase d’endormissement de l’unité de contrôle ECU.
Lors de l’étape b), pendant une phase d’endormissement de l’unité de contrôle ECU, on initie une écriture, autrement dit une copie, des données de navigationdu premier compteur A et du deuxième compteur LAST dans la zone non réinitialisable 6 de la mémoire vive 4, et on initie un calcul et la copie de l’empreinte CRC de chaque donnée de navigation et du compteur A dans la zone non réinitialisable 6. Le deuxième compteur LAST n’a pas d’empreinte calculable : son empreinte ne peut pas être copiée dans la zone non réinitialisable 6. Enfin, on initie la copie des données dans la mémoire morte 5 dans l’ordre illustré dans la figure 2, c’est-à-dire en commençant par la copie du premier compteur A, puis en écrivant chaque donnée avant d’écrire le deuxième compteur LAST.
Si l’unité de contrôle ECU est mise hors tension après la phase d’endormissement, l’ensemble des données de la mémoire vive 4 sont, lors de la remise sous tension de la mémoire vive 4, dans un état indéterminé. Les données de la zone non réinitialisable 6 n’étant pas réinitialisées, elles sont également dans un état indéterminé après une initialisation de la mémoire vive 4.
Un réveil peut être demandé pendant la phase d’endormissement, et plus particulièrement pendant l’étape b). Si une copie en mémoire morte 5 des données de navigation et des compteurs a été initiée, elle doit être interrompue au moment du réveil pour répondre à un critère de réactivité du réveil du véhicule 1.
Un utilisateur du véhicule 1 peut commander une phase de réveil pendant une phase d’endormissement. Lors de l’étape c), lors d’une une phase de réveil, on charge le deuxième compteur LAST depuis la mémoire morte 5.
Lors d’une étape d), on calcule, dans la phase de réveil, les empreintes des données de navigation et du premier compteur A, copiées dans la zone non réinitialisable 6. On compare ensuite chaque empreinte copiée (ou enregistrée) associée à une donnée dans la zone non réinitialisable 6 avec l’empreinte calculée dans l’étape d) associée à la même donnée.
Lors d’une étape e), dans la phase de réveil, quand l’empreinte calculée et l’empreinte enregistrée du premier compteur A dans la zone non réinitialisable 6 sont égales, le premier compteur A est copié depuis la zone non réinitialisable 6 dans une autre zone de la mémoire vive 4. En revanche, quand l’empreinte du premier compteur A calculée et l’empreinte du premier compteur A enregistrée dans la zone non réinitialisable 6 sont différentes, le premier compteur A est copié depuis la mémoire morte 5 dans la mémoire vive 4, dans une zone différente de la zone non réinitialisable 6.
Lors d’une étape f), on compare le premier compteur A copié lors de l’étape e) et le deuxième compteur LAST copié lors de l’étape c). Le premier compteur A et le deuxième compteur LAST peuvent être égaux ou différents.
Lors de l’étape g), on détermine l’intégrité des données de navigation, en particulier des données de navigation copiées dans la mémoire morte 5, quand le premier compteur A est égal au deuxième compteur LAST. Dans le cas contraire, quand le premier compteur A est différent du deuxième compteur LAST, on détermine l’altération des données, en particulier des données de navigation copiées dans la mémoire morte 5. On désigne par « altéré >> des données qui ne représentent pas l’état actuel du véhicule 1.
On peut avantageusement notifier l’intégrité ou l’altération des données de navigation copiées dans la mémoire morte 5. Une telle notification peut être mise en oeuvre en copiant dans la mémoire morte 5 une donnée ou un jeu de variables représentatives de l’intégrité des données. On peut également signaler à un utilisateur du véhicule 1 et/ou à l’unité de contrôle ECU l’intégrité ou l’altération des données, par exemple lors du démarrage du véhicule 1.
On peut également restaurer l’ensemble de données dans la mémoire vive 4 de l’unité de contrôle ECU depuis la mémoire morte 5 quand le premier compteur A et le deuxième compteur LAST sont égaux. Ce cas de figure correspond à un cas où l’ensemble de données a été entièrement copié lors de la précédente phase d’endormissement de l’unité de contrôle ECU.
En revanche, quand le premier compteur A et le deuxième compteur LAST sont différents, les données sont restaurées depuis la mémoire vive 4. Dans ce cas, les données de navigation n’ont pas pu être copiées entièrement dans la mémoire morte 5 lors de la phase d’endormissement de l’unité de contrôle ECU (toutes les données de navigation étant copiées avant le compteur LAST). Cette méthode permet de déterminer si, en cas de perte d’alimentation du calculateur et de la mémoire vive 4 après l’étape g), des données restaurées depuis la mémoire morte 5 vers la mémoire vive 4 sont restaurées avec ou sans une perte d’information (c’est-à-dire une altération) relative aux évolutions des données lors des roulages précédents.

Claims (7)

  1. REVENDICATIONS
    1. Procédé de détermination de l’intégrité de données de navigation d’une unité de contrôle (ECU) d’un véhicule (1) automobile, l’unité de contrôle comprenant un microcontrôleur (3), une mémoire vive (4) et une mémoire morte (5) reliées au microcontrôleur (3), la mémoire morte étant configurée pour qu’une zone non réinitialisable (6) de la mémoire vive ne soit pas réinitialisée lors d’un démarrage de l’unité de contrôle, le procédé étant caractérisé en ce qu’il comprend les étapes consistant à :
    a) calculer le maximum d’un premier compteur (A) et d’un deuxième compteur (LAST), le deuxième compteur (LAST) n’étant associé à aucune empreinte, et fixer ces compteurs à une valeur strictement supérieure au maximum ;
    b) lors d’une phase d’endormissement de l’unité de contrôle, initier une copie des données de navigation du premier compteur (A) et du deuxième compteur (LAST) dans la zone non réinitialisable, initier le calcul et la copie d’une empreinte de chaque donnée de navigation et d’une empreinte du premier compteur (A) dans la zone non réinitialisable, puis initier une copie des données de navigation et des compteurs (A, LAST) dans la mémoire morte en commençant par la copie du premier compteur (A) et en copiant chaque donnée avant le deuxième compteur (LAST) ;
    c) lors d’une phase de réveil, charger le deuxième compteur (LAST) depuis la mémoire morte ;
    d) lors d’une phase de réveil, calculer les empreintes des données et du premier compteur (A) copiées dans la zone non réinitialisable ;
    e) lors d’une phase de réveil, charger le premier compteur (A) depuis la zone non réinitialisable quand l’empreinte calculée et l’empreinte enregistrée du premier compteur (A) dans la zone non réinitialisable sont égales, et charger le premier compteur (A) depuis la mémoire morte quand l’empreinte calculée est différente de l’empreinte enregistrée du premier compteur (A) dans la zone non réinitialisable ;
    f) lors d’une phase de réveil, comparer le premier compteur (A) et le deuxième compteur (LAST) ;
    g) déterminer l’intégrité des données de navigation copiées dans la mémoire morte quand le premier compteur (A) est égal au deuxième compteur (LAST) lors de l’étape f).
  2. 2. Procédé selon la revendication 1 dans lequel, dans l’étape g), on notifie à un utilisateur du véhicule (1) l’intégrité des données de navigation quand les compteurs (A, LAST) sont égaux ou l’altération des données de navigation quand les compteurs (A, LAST) sont différents.
  3. 3. Procédé selon la revendication 1 ou 2, comprenant en outre une étape de restauration des données de navigation :
    • depuis la mémoire morte (5) quand le premier compteur (A) et le deuxième compteur (LAST) sont égaux, ou • depuis la mémoire vive (4) quand le premier compteur (A) et le deuxième compteur (LAST) sont différents.
  4. 4. Procédé selon l’une des revendications 1 à 3, dans lequel l’empreinte est calculée par une méthode choisie parmi au moins un contrôle de redondance cyclique et une somme de contrôle.
  5. 5. Unité de contrôle (ECU) d’un véhicule (1) automobile comprenant un microcontrôleur (3), une mémoire vive (4) et une mémoire morte (5) reliées au microcontrôleur (3), la mémoire morte étant configurée pour qu’une zone non réinitialisable (6) de la mémoire vive ne soit pas réinitialisée lors d’un démarrage de l’unité de contrôle, l’unité de contrôle étant configurée pour :
    a) lors d’un roulage, calculer le maximum d’un premier compteur (A) et d’un deuxième compteur (LAST), le deuxième compteur (LAST) n’étant associé à aucune empreinte et fixer ces compteurs à une valeur strictement supérieure au maximum ;
    b) lors d’une phase d’endormissement de l’unité de contrôle, initier une copie des données de navigation du premier compteur (A) et du deuxième compteur (LAST) dans la zone non réinitialisable, initier le calcul et la copie d’une empreinte de chaque donnée de navigation et d’une empreinte du premier compteur (A) dans la zone non réinitialisable, puis initier une copie des données de navigation et des compteurs (A, LAST) dans la mémoire morte en commençant par la copie du premier compteur (A) et en copiant chaque donnée avant le deuxième compteur (LAST) ;
    c) lors d’une phase de réveil, charger le deuxième compteur (LAST) depuis la mémoire morte ;
    d) lors d’une phase de réveil, calculer les empreintes des données et du premier compteur (A) copiées dans la zone non réinitialisable ;
    e) lors d’une phase de réveil, charger le premier compteur (A) depuis la zone non réinitialisable quand l’empreinte calculée et l’empreinte enregistrée du premier compteur (A) dans la zone non réinitialisable sont égales, et charger le premier compteur (A) depuis la mémoire morte quand l’empreinte calculée est différente de l’empreinte enregistrée du premier compteur (A) dans la zone non réinitialisable ;
    f) lors d’une phase de réveil, comparer le premier compteur (A) et le deuxième compteur (LAST) ;
    g) déterminer l’intégrité des données de navigation de la mémoire morte quand le premier compteur (A) est égal au deuxième compteur (LAST) lors de l’étape f).
  6. 6. Unité de contrôle selon la revendication 5 configurée pour notifier à un utilisateur du véhicule (1) l’intégrité des données de navigation quand les compteurs (A, LAST) sont égaux et l’altération des données de navigation quand les compteurs (A, LAST) sont différents.
  7. 7. Unité de contrôle selon la revendication 5 ou 6 configurée pour restaurer des données de navigation :
    • depuis la mémoire morte (5) quand le premier compteur (A) et le deuxième compteur (LAST) sont égaux, ou • depuis la mémoire vive (4) quand le premier compteur (A) et le deuxième compteur (LAST) sont différents.
FR1756868A 2017-07-20 2017-07-20 Procede de determination de l'integrite de donnees de navigation d'une unite de controle d'un vehicule automobile Active FR3069342B1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR1756868A FR3069342B1 (fr) 2017-07-20 2017-07-20 Procede de determination de l'integrite de donnees de navigation d'une unite de controle d'un vehicule automobile
US16/631,941 US11500848B2 (en) 2017-07-20 2018-07-17 Method for determining the integrity of navigation data of a control unit of an automotive vehicle
PCT/FR2018/051809 WO2019016464A1 (fr) 2017-07-20 2018-07-17 Procédé de détermination de l'intégrité de données de navigation d'une unité de contrôle d'un véhicule automobile
CN201880060794.7A CN111066002B (zh) 2017-07-20 2018-07-17 用于确定机动车辆的控制单元的驾驶数据的完整性的方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1756868A FR3069342B1 (fr) 2017-07-20 2017-07-20 Procede de determination de l'integrite de donnees de navigation d'une unite de controle d'un vehicule automobile
FR1756868 2017-07-20

Publications (2)

Publication Number Publication Date
FR3069342A1 true FR3069342A1 (fr) 2019-01-25
FR3069342B1 FR3069342B1 (fr) 2019-07-26

Family

ID=60302218

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1756868A Active FR3069342B1 (fr) 2017-07-20 2017-07-20 Procede de determination de l'integrite de donnees de navigation d'une unite de controle d'un vehicule automobile

Country Status (4)

Country Link
US (1) US11500848B2 (fr)
CN (1) CN111066002B (fr)
FR (1) FR3069342B1 (fr)
WO (1) WO2019016464A1 (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3069342B1 (fr) * 2017-07-20 2019-07-26 Continental Automotive France Procede de determination de l'integrite de donnees de navigation d'une unite de controle d'un vehicule automobile
FR3094505B1 (fr) * 2019-03-26 2021-05-14 Continental Automotive Procédé de détection d’une falsification d’un compteur kilométrique électronique de véhicule automobile

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0896276A1 (fr) * 1997-08-05 1999-02-10 Alps Electric Co., Ltd. Appareillage électrique pour véhicules, comprenant un micro-processeur intégré
DE102006039942A1 (de) * 2006-04-19 2007-10-25 Mitsubishi Electric Corp. Informationsspeichereinrichtung für elektrische Steuereinrichtung
US20110283056A1 (en) * 2009-12-22 2011-11-17 Toyota Jidosha Kabushiki Kaisha Information management apparatus and information managing method
US20140053030A1 (en) * 2012-08-16 2014-02-20 Hyundai Motor Company Method and system for preventing loss of trip data in vehicle

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19963214A1 (de) * 1999-12-28 2001-07-12 Bosch Gmbh Robert Verfahren und Vorrichtung zum Hochfahren eines Steuergeräts für ein Kraftfahrzeug
DE102004031041A1 (de) * 2004-06-25 2006-02-09 Siemens Ag Berechnungsverfahren für kumulative Lenkzeitunterbrechung
JP2008040585A (ja) * 2006-08-02 2008-02-21 Renesas Technology Corp マイクロコンピュータ
FR2923627B1 (fr) * 2007-11-08 2013-08-30 Siemens Vdo Automotive Procede de deverrouillage d'un calculateur de controle moteur.
EP2461251B1 (fr) * 2010-12-03 2017-06-21 Robert Bosch GmbH Unité de protection de mémoire et procédé de contrôle d'un accès à un dispositif de mémoire
FR3006768B1 (fr) * 2013-06-06 2017-05-26 Continental Automotive France Procede de surveillance d'un organe fonctionnel d'un vehicule automobile
US10241706B2 (en) * 2016-05-20 2019-03-26 Renesas Electronics Corporation Semiconductor device and its memory access control method
FR3069342B1 (fr) * 2017-07-20 2019-07-26 Continental Automotive France Procede de determination de l'integrite de donnees de navigation d'une unite de controle d'un vehicule automobile
US11657125B2 (en) * 2019-09-20 2023-05-23 Canon Kabushiki Kaisha Information processing apparatus and reset control method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0896276A1 (fr) * 1997-08-05 1999-02-10 Alps Electric Co., Ltd. Appareillage électrique pour véhicules, comprenant un micro-processeur intégré
DE102006039942A1 (de) * 2006-04-19 2007-10-25 Mitsubishi Electric Corp. Informationsspeichereinrichtung für elektrische Steuereinrichtung
US20110283056A1 (en) * 2009-12-22 2011-11-17 Toyota Jidosha Kabushiki Kaisha Information management apparatus and information managing method
US20140053030A1 (en) * 2012-08-16 2014-02-20 Hyundai Motor Company Method and system for preventing loss of trip data in vehicle

Also Published As

Publication number Publication date
CN111066002A (zh) 2020-04-24
CN111066002B (zh) 2023-10-31
FR3069342B1 (fr) 2019-07-26
WO2019016464A1 (fr) 2019-01-24
US11500848B2 (en) 2022-11-15
US20200364206A1 (en) 2020-11-19

Similar Documents

Publication Publication Date Title
US8132257B2 (en) Anti-virus method based on security chip
WO2018058446A1 (fr) Systèmes et procédés de régénération d'images dans un stockage à déduplication
FR3069342B1 (fr) Procede de determination de l'integrite de donnees de navigation d'une unite de controle d'un vehicule automobile
WO2014195012A1 (fr) Procédé d'optimisation de l'utilisation de la mémoire non volatile d'un calculateur de véhicule automobile pour la surveillance d'un organe fonctionnel
FR2894709A1 (fr) "detecteur de destruction anormale de secteur memoire"
EP2785039B1 (fr) Procédé et dispositif de tatouage d'une séquence d'images, procédé et dispositif d'authentification d'une séquence d'images tatouées et programme d'ordinateur correspondant
WO2008037895A2 (fr) Systeme et procede de securisation de donnees
FR2923627A1 (fr) Procede de deverrouillage d'un calculateur de controle moteur.
CN114417360A (zh) 一种应用于嵌入式电力设备的系统安全启动方法
CA2918215C (fr) Procede d'estimation sur une courbe d'un point pertinent pour la detection d'anomalie d'un moteur et systeme de traitement de donnees pour sa mise en oeuvre
FR2938088A1 (fr) Procede de securisation des donnees de vol et systeme pour mettre en oeuvre ledit procede
EP3543890B1 (fr) Procédés et système de gestion de données permettant un contrôle temporel des données
FR3111228A1 (fr) Garantie de la confiance en un programme informatique pour dispositifs de l’internet des objets
FR3050044B1 (fr) Procede de verification automatique d'un fichier informatique cible par rapport a un fichier informatique de reference
FR3033428A1 (fr) Procede de determination de l'origine d'un defaut de securite
EP1902363A1 (fr) Procede pour la prise en compte automatique et le stockage persistant de parametres de personnalisation a priori volatils
FR3100073A1 (fr) Procédé de sécurisation d’un calculateur de véhicule automobile
EP4093959A1 (fr) Procede de surveillance d'une sequence de demarrage d'une turbomachine et systeme de surveillance mettant en oeuvre ce procede
FR3079945A1 (fr) Procede de detection d’un risque de perte de donnees d’une memoire non volatile-temporaire dans un calculateur et de perennisation de ces donnees.
FR2929429A1 (fr) Procede securise de mise a jour d'un programme de demarrage ou d'un systeme d'exploitation d'un dispositif informatique
FR2926381A1 (fr) Methode de transfert securise de donnees
EP4174709A1 (fr) Procede de verrouillage d'une zone de memoire non-volatile reinscriptible et dispositif electronique mettant en uvre ledit procede
WO2015177436A1 (fr) Procédé d'obtention d'informations stockées dans des registres de module(s) de traitement d'un calculateur juste après la survenue d'une erreur fatale
EP4032000A1 (fr) Système sur puce et procédé garantissant la fraicheur des données stockées dans une mémoire extérieure
WO2015067892A1 (fr) Procédé de protection de métadonnées

Legal Events

Date Code Title Description
PLSC Publication of the preliminary search report

Effective date: 20190125

PLFP Fee payment

Year of fee payment: 4

TP Transmission of property

Owner name: CONTINENTAL AUTOMOTIVE FRANCE, FR

Effective date: 20210309

Owner name: CONTINENTAL AUTOMOTIVE GMBH, DE

Effective date: 20210309

PLFP Fee payment

Year of fee payment: 5

CA Change of address

Effective date: 20220103

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7