FR3100073A1 - Procédé de sécurisation d’un calculateur de véhicule automobile - Google Patents

Procédé de sécurisation d’un calculateur de véhicule automobile Download PDF

Info

Publication number
FR3100073A1
FR3100073A1 FR1909380A FR1909380A FR3100073A1 FR 3100073 A1 FR3100073 A1 FR 3100073A1 FR 1909380 A FR1909380 A FR 1909380A FR 1909380 A FR1909380 A FR 1909380A FR 3100073 A1 FR3100073 A1 FR 3100073A1
Authority
FR
France
Prior art keywords
application
memory
computer
memory zone
zone
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
FR1909380A
Other languages
English (en)
Other versions
FR3100073B1 (fr
Inventor
Vincent Deligeon
Jean-Christophe Seguy
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.)
Vitesco Technologies GmbH
Original Assignee
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 France SAS filed Critical Continental Automotive France SAS
Priority to FR1909380A priority Critical patent/FR3100073B1/fr
Publication of FR3100073A1 publication Critical patent/FR3100073A1/fr
Application granted granted Critical
Publication of FR3100073B1 publication Critical patent/FR3100073B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Control Of Electric Motors In General (AREA)

Abstract

L’invention concerne un procédé de sécurisation d’un calculateur de véhicule automobile, ledit calculateur comprenant un microcontrôleur (1), comprenant une mémoire (10) non volatile et au moins un cœur (20), ladite mémoire (10) non volatile comprenant une zone mémoire dite « de contrôle » (Z1) comprenant un ensemble d’instructions de démarrage, une zone mémoire dite « d’application » (Z2) comprenant au moins un ensemble d’instructions d’application configuré pour mettre en œuvre une application du calculateur par l’au moins un cœur (20). Le microcontrôleur (1) étant éteint ou en état de veille, le procédé comprend les étapes de démarrage du microcontrôleur (1), de détection, par la mise en œuvre de l’ensemble d’instructions de démarrage, de l’effacement d’une partie de la zone mémoire d’application (Z2) entre la dernière extinction ou mise en veille et le démarrage du microcontrôleur (1), en l’absence d’effacement, et d’exécution par le microcontrôleur (1) d’au moins un ensemble d’instructions d’application. Figure pour l’abrégé : Fig. 1

Description

Procédé de sécurisation d’un calculateur de véhicule automobile
L’invention se rapporte au domaine des équipements électriques embarqués dans un véhicule, notamment automobile, et concerne plus particulièrement un procédé de sécurisation d’un calculateur de véhicule, ainsi qu’un calculateur et un véhicule permettant la mise en œuvre du procédé.
L’invention permet notamment de s’assurer qu’une mémoire est authentique.
De nos jours, un véhicule, notamment automobile, comprend plusieurs calculateurs, permettant de mettre en œuvre des fonctions du véhicule, comme par exemple la fonction d’injection du moteur du véhicule.
Chaque calculateur comprend un microcontrôleur, lui-même comprenant une mémoire et au moins un cœur. Ladite mémoire comprend un programme, exécuté par l’au moins un cœur, permettant de mettre en œuvre une application afin d’activer une fonction du véhicule. Une authentification de la mémoire doit être réalisée, pour vérifier que la mémoire n’a pas été modifiée illicitement, afin d’exécuter le logiciel en toute sécurité.
Pour cela, une première solution consiste en l’utilisation d’une fonctionnalité appelée communément « secure boot » par l’homme du métier, dans laquelle, après chaque démarrage du calculateur, l’authentification de la mémoire est réalisée par un cœur du microcontrôleur. C’est seulement lorsque l’authentification est terminée et réussie, que le cœur peut ensuite mettre en œuvre l’application associée à la mémoire du calculateur. Cependant, le cœur est adapté pour authentifier environ un mégaoctet de données en une seconde, et ainsi en pratique, après le démarrage du calculateur, le cœur a besoin de plusieurs secondes pour authentifier la mémoire complète. Cependant, l’application devrait pouvoir être mise en œuvre moins de 100 millisecondes après le démarrage du calculateur.
Selon une deuxième solution, appelée communément « authenticated boot » par l’homme du métier, le calculateur comprend plusieurs cœurs, dont un est exclusivement utilisé pour d’authentifier la mémoire après le démarrage du calculateur, les autres cœurs étant utilisés pour mettre en œuvre l’application associée à la mémoire du calculateur. L’authentification de la mémoire et l’application associée à la mémoire sont mises en œuvre simultanément. Cette deuxième solution permet de détecter une mémoire non authentique mais ne prévient pas l’exécution d’une application associée à une mémoire non authentique. En effet, ladite application est exécutée avant même que la mémoire associée soit authentifiée.
Il existe donc le besoin d’une solution permettant de remédier au moins en partie à ces inconvénients.
L’invention concerne un procédé de sécurisation d’un calculateur de véhicule automobile, ledit calculateur comprenant un microcontrôleur, comprenant une mémoire non volatile et au moins un cœur, ladite mémoire non volatile comprenant une zone mémoire de stockage dite « de contrôle » comprenant un ensemble d’instructions de démarrage, une zone mémoire de stockage dite « d’application » comprenant au moins un ensemble d’instructions d’application configuré pour mettre en œuvre une application du calculateur par l’au moins un cœur, le microcontrôleur étant éteint ou en état de veille, le procédé étant remarquable en ce qu’il comprend les étapes de :
  1. démarrage du microcontrôleur,
  2. détection, par la mise en œuvre de l’ensemble d’instructions de démarrage stocké dans la zone mémoire de contrôle, de l’effacement d’une partie de la zone mémoire d’application de la mémoire non volatile entre la dernière extinction ou mise en veille et le démarrage du microcontrôleur,
  3. en l’absence d’effacement, exécution par le microcontrôleur d’au moins un ensemble d’instructions d’application.
Par les termes « démarrer » ou « démarrage du microcontrôleur », on entend la mise sous tension ou la sortie d’un état de veille du microcontrôleur.
Avantageusement, le procédé permet d’exécuter une authentification seulement en cas de besoin. En effet, à chaque démarrage, l’authentification n’est pas systématiquement réalisée et donc, dans le cas où l’authentification n’est pas réalisée car elle est considérée inutile, un gain de temps est réalisé entre le démarrage ou l’éveil du calculateur et la mise en œuvre du programme compris dans la zone mémoire d’application.
La mémoire non volatile comprend une pluralité de secteurs dans lesquels sont stockées une ou plusieurs applications sous forme de bits binaires, permettant d’activer une ou plusieurs fonctions du véhicule.
Le plus petit effacement possible dans la zone mémoire d’application se traduit par l’effacement d’un secteur entier, c’est-à-dire dont les bits « tombent » à une valeur définie par défaut dans ladite zone mémoire d’application.
La valeur par défaut dépend du type de la zone mémoire d’application et peut être égale à 0 ou à 1.
De manière préférée, le procédé comprend, après l’étape de détection et en cas d’effacement, une étape d’authentification de la zone mémoire d’application.
Avantageusement, cette étape du procédé permet d’authentifier la zone mémoire d’application, seulement dans le cas où au moins un effacement d’un secteur de la zone mémoire d’application aurait eu lieu.
De manière avantageuse, le calculateur comprend une zone mémoire de stockage dite « de détection ». Chaque effacement de secteur dans ladite zone mémoire d’application entraine la transformation d’un bit de la zone mémoire de détection.
La transformation d’un bit désigne le passage d’un bit de sa valeur par défaut à la valeur inverse.
Avantageusement, cette zone mémoire de détection permet d’indiquer s’il y a eu un effacement ou non, et également d’indiquer le nombre d’effacements réalisés dans la zone mémoire d’application. De plus, la transformation de bits dans la zone mémoire de détection, est engendrée de manière inexorable et inaltérable.
De manière préférée, le procédé comprend, après l’étape d’authentification et lorsque celle-ci est réussie, une étape de mise à jour de la zone mémoire de contrôle, autrement dit, d’enregistrement dans la zone mémoire de contrôle de la valeur du nombre de bits transformés dans la zone mémoire de détection.
De préférence, lors de l’étape de détection du procédé, un effacement d’une partie de la zone mémoire d’application est détecté lorsque le nombre de bits transformés dans la zone mémoire de détection diffère de la valeur enregistrée dans la zone mémoire de contrôle.
Avantageusement, la valeur enregistrée a un rôle de référence lors de l’étape de détection et permet de savoir rapidement et simplement si une étape d’authentification doit être réalisée.
L’invention concerne également un calculateur comprenant un microcontrôleur comprenant une zone de mémoire non volatile et au moins un cœur, ladite mémoire non volatile comprenant une zone mémoire de stockage dite « de contrôle » comprenant un ensemble d’instructions de démarrage, une zone mémoire de stockage dite « d’application » comprenant au moins un ensemble d’instructions d’application configuré pour mettre en œuvre une application du calculateur par l’au moins un cœur, le microcontrôleur étant éteint ou en état de veille, étant remarquable en ce qu’il est configuré pour :
  1. démarrer,
  2. mettre en œuvre l’ensemble d’instructions de démarrage stocké dans la zone mémoire de contrôle,
  3. détecter, par la mise en œuvre de l’ensemble d’instructions de démarrage, l’effacement d’une partie de la zone mémoire d’application de la mémoire non volatile entre la dernière extinction ou mise en veille et le démarrage du microcontrôleur,
  4. en l’absence d’effacement, exécuter l’au moins un ensemble d’instructions d’application.
Avantageusement, le calculateur permet d’exécuter une authentification seulement en cas de besoin. En effet, à chaque démarrage, l’authentification n’est pas systématiquement réalisée et donc, dans le cas l’authentification n’est pas réalisée car elle est inutile, un gain de temps est réalisé entre le démarrage ou l’éveil du calculateur et la mise en œuvre du programme compris dans la zone mémoire d’application.
De préférence, la mémoire non volatile du calculateur est une mémoire flash. Autrement dit, elle désigne une mémoire possédant les caractéristiques d’une mémoire vive mais dont les données sont conservées en mémoire, même lors d’une mise hors tension, connue de l’homme du métier.
De manière préférée, le calculateur, lorsqu’il détecte un effacement, est configuré pour authentifier la zone mémoire d’application.
Avantageusement, le calculateur permet d’authentifier la zone mémoire d’application, seulement dans le cas où au moins un effacement d’un secteur de la zone mémoire d’application aurait eu lieu.
De manière avantageuse, le calculateur comprend une zone mémoire de stockage dite « de détection », chaque effacement de secteur dans ladite zone mémoire d’application engendre la transformation d’un bit dans la zone mémoire de détection.
Avantageusement, le calculateur permet d’indiquer s’il y a eu un effacement ou non, et également d’indiquer le nombre d’effacements réalisés dans la zone mémoire d’application.
De manière avantageuse, le calculateur est configuré pour, après avoir authentifié la zone mémoire d’application, mettre à jour la zone mémoire de contrôle, autrement dit, pour enregistrer dans la zone mémoire de contrôle la valeur du nombre de bits transformés dans la zone mémoire de détection.
De manière préférée, le calculateur détecte un effacement d’une partie de la zone mémoire d’application lorsque le nombre de bits transformés dans la zone mémoire de détection diffère de la valeur enregistrée dans la zone mémoire de contrôle.
Avantageusement, la valeur enregistrée a un rôle de référence lorsque le calculateur détecte un effacement et permet de savoir rapidement et simplement si une étape d’authentification doit être réalisée.
L’invention concerne également un véhicule, comprenant un calculateur tel que présenté précédemment.
D’autres caractéristiques et avantages de l’invention apparaîtront encore à la lecture de la description qui va suivre. Celle-ci est purement illustrative et doit être lue en regard des dessins annexés sur lesquels :
: la figure 1 schématise une forme de réalisation du calculateur selon l’invention,
: la figure 2 illustre un exemple de zone mémoire d’application utilisée dans l’invention,
: la figure 3 représente le procédé selon l’invention.
SYSTEME
En référence à la figure 1, il est représenté une forme de réalisation du calculateur comprenant un microcontrôleur 1 comprenant une mémoire 10 non volatile, autrement dit, une mémoire dont les données sont conservées même en l’absence d’alimentation électrique, et au moins un cœur 20. Il est représenté en figure 1, un microcontrôleur 1 ne comprenant qu’un cœur 20, afin de simplifier la description.
Mémoire 10
Ladite mémoire 10 non volatile désigne notamment une mémoire dite « flash », connue de l’homme du métier, possédant les caractéristiques d’une mémoire vive mais dont les données sont conservées en mémoire, même lors d’une mise hors tension.
Z1
La mémoire 10 non volatile comprend une zone mémoire de stockage dite « de contrôle » Z1 comprenant un ensemble d’instructions de démarrage, lesdites instructions de démarrage devant être réalisées après le démarrage du calculateur. Cependant, ladite zone mémoire de contrôle Z1 peut également être située dans une autre mémoire non volatile du microcontrôleur 1.
La zone mémoire de contrôle Z1 comprend également un compteur, dont la fonction sera expliquée dans les paragraphes suivants.
Z2
La mémoire 10 non volatile comprend également une zone mémoire de stockage dite « d’application » Z2 comprenant au moins un ensemble d’instructions d’application configuré pour mettre en œuvre une application du calculateur, par exemple la fonction d’injection du moteur du véhicule, par l’au moins un cœur 20.
En référence à la figure 2, ladite zone mémoire d’application Z2 est composée d’au moins un secteur SZ2comprenant une pluralité de pages PZ2, chaque page PZ2 comprenant un ensemble de bits à 0 ou 1 constituant une application mise en œuvre par le calculateur du véhicule.
Le plus petit effacement possible dans la zone mémoire d’application Z2 se traduit par l’effacement d’un secteur SZ2, et plus précisément par le passage à la valeur par défaut de tous les bits dans un secteur SZ2entier.
La valeur par défaut peut être 0 ou 1, et dépend du type de la zone mémoire d’application Z2.
Ainsi, un secteur SZ2« effacé » ne comprend que des bits égaux à la valeur par défaut. Par ailleurs, dans le cas d’une réécriture dans un secteur SZ2 de la zone mémoire d’application Z2, un effacement est également mis en œuvre pour ensuite écrire dans ce secteur SZ2 préalablement effacé. Il est évident que plusieurs secteurs SZ2 peuvent être modifiés simultanément et/ou indépendamment.
Z3
De nouveau en référence à la figure 1, la mémoire 10 non volatile comprend également une zone mémoire de stockage dite « de détection » Z3. Ladite zone mémoire de détection Z3 peut également être située dans une autre mémoire non volatile du microcontrôleur 1.
La zone mémoire de détection Z3 est configurée pour avoir un bit qui se transforme pour chaque effacement d’un secteur SZ2 dans la zone mémoire d’application Z2. Un bit transformé désigne ici un bit qui passe de la valeur par défaut à la valeur inverse, c’est-à-dire, qui passe de 0 à 1 ou de 1 à 0. Il est d’ailleurs impossible de remettre les bits, dits « transformés », à la valeur par défaut. Chaque transformation de bit est réalisée de manière systématique et automatique soit en même temps que l’effacement soit entre une demande d’effacement et l’effacement lui-même. Le nombre total de bits transformés est inscrit dans le compteur de la zone mémoire de contrôle Z3.
Cœur 20
Au moins un cœur 20 est configuré pour mettre en œuvre l’ensemble d’instructions de démarrage stocké dans la zone mémoire de contrôle Z1 et l’ensemble d’instructions d’applications.
Le microcontrôleur 1 étant éteint ou en état de veille, est configuré pour démarrer après mise sous tension du calculateur ou éveil et, grâce à la mise en œuvre de l’ensemble d’instructions de démarrage, pour détecter s’il y a eu au moins un effacement dans la zone mémoire d’application Z2 de la mémoire 10 non volatile entre la dernière extinction ou mise en veille et le démarrage du calculateur.
Le microcontrôleur 1 est ainsi configuré pour démarrer une authentification de la zone mémoire d’application Z2 si au moins un effacement a été détecté, et/ou pour exécuter l’au moins un ensemble d’instructions d’application, si aucun effacement n’est détecté, et donc si la zone mémoire d’application Z2 est désignée comme authentique.
PROCEDE
En référence à la figure 3, il est représenté un mode de réalisation du procédé de sécurisation d’un calculateur de véhicule, mis en œuvre par la forme de réalisation du calculateur telle que présentée précédemment.
Le calculateur, et donc le microcontrôleur 1, est tout d’abord considéré éteint ou en état de veille.
Le procédé comprend tout d’abord une étape de démarrage E1 du calculateur. Par exemple, dans le cas où le calculateur est embarqué dans un véhicule, à l’allumage du moteur ou au déverrouillage des ouvrants du véhicule, directement ou après un certain laps de temps défini, le calculateur démarre, autrement dit est mis sous tension ou sort de son état de veille. Par ailleurs, le calculateur peut également, de lui-même, redémarrer ou sortir de son état de veille régulièrement lors de l’utilisation du véhicule, notamment en cas de détection d’erreur dans son fonctionnement ou dans le fonctionnement du système auquel il appartient.
Après le démarrage du calculateur, le procédé comprend une étape de détection E2 d’un effacement d’une partie de la zone mémoire d’application Z2 de la mémoire 10 non volatile entre la dernière extinction ou mise en veille et le démarrage du calculateur. Pour cela, le cœur 20 du microcontrôleur 1 met en œuvre l’ensemble d’instructions de démarrage stocké dans la zone mémoire de contrôle Z1.
Ainsi, le nombre de bits transformés dans la zone mémoire de détection Z3 est compté, et est comparé avec le nombre préinscrit dans le compteur de la zone mémoire de contrôle Z1.
Comme décrit précédemment, un effacement désigne plus particulièrement l’effacement d’un secteur SZ2de la zone mémoire d’application Z2. En effet, la plus petite unité possiblement effaçable correspond à un secteur SZ2.
Si le nombre de bits transformés dans la zone mémoire de détection Z3 est égal au nombre préinscrit dans le compteur, cela prouve qu’il n’y a pas eu d’effacement entre la dernière extinction ou mise en veille et le démarrage du calculateur. En l’absence d’effacement, la zone mémoire d’application Z2 reste authentique et le procédé comprend une étape d’exécution E3 par le cœur 20 du microcontrôleur 1 d’au moins un ensemble d’instructions d’application.
Par ailleurs, si le nombre de bits transformés en zone mémoire de détection Z3 est différent du nombre préinscrit dans le compteur, cela signifie qu’il y a eu au moins un effacement entre la dernière extinction ou mise en veille et le démarrage du calculateur.
En cas d’effacement, cela signifie que la zone mémoire d’application Z2 n’est peut-être plus authentique. Ledit effacement peut notamment être dû à une reprogrammation de la zone mémoire d’application Z2. En effet, lors d’une reprogrammation, licite, par une garagiste par exemple, ou illicite, ladite zone mémoire d’application Z2 a été au moins partiellement effacée, engendrant la transformation d’au moins un bit, précédemment à la valeur par défaut, dans la zone mémoire de détection Z3.
Ainsi, pour chaque secteur SZ2effacé, un bit dans la zone mémoire de détection Z3 est transformé.
En raison du doute levé précédemment via la détection d’au moins un effacement, le procédé comprend une étape d’authentification E4 de la zone mémoire d’application Z2.
Si l’étape d’authentification est « réussie », autrement dit, si le programme compris dans la zone mémoire d’application Z2 est désigné comme authentique, le procédé comprend une étape de mise à jour E5 de la valeur préinscrite dans le compteur, autrement dit, la valeur du nombre de bits transformés de la zone mémoire de détection Z3 est enregistrée dans la zone mémoire de contrôle Z1.
Une fois l’étape de mise à jour E5 effectuée, le procédé peut comprendre une étape d’exécution E3 de l’au moins un ensemble d’instructions d’application.
Sinon, si l’authentification n’est pas réussie, par exemple parce que la zone mémoire d’application Z2 n’est réellement pas authentique ou parce que le calculateur a été éteint prématurément pendant une reprogrammation, le programme compris dans la zone mémoire d’application Z2 n’est pas considéré authentique et n’est pas exécuté. Dans un tel cas, seule une étape de reprogrammation E6 de la zone mémoire d’application Z2 est possible.
Optionnellement, à la fin d’une étape de reprogrammation E6, le procédé peut comprendre une étape d’authentification E4 de la zone mémoire d’application Z2, sans même avoir à redémarrer le calculateur.
Par ailleurs, le nombre préinscrit dans le compteur de la zone mémoire de contrôle Z1 est préalablement déterminé, lors de chaque étape de mise à jour E5 du procédé.
Ainsi, le calculateur et le procédé mis en œuvre par ledit calculateur, permettent d’éviter toute itération inutile de l’étape d’authentification E4 et donc toute perte de temps inutile entre le démarrage du calculateur et la mise en œuvre du programme compris dans la zone mémoire d’application Z2.

Claims (10)

  1. Procédé de sécurisation d’un calculateur de véhicule automobile, ledit calculateur comprenant un microcontrôleur (1), comprenant une mémoire (10) non volatile et au moins un cœur (20), ladite mémoire (10) non volatile comprenant une zone mémoire de stockage dite « de contrôle » (Z1) comprenant un ensemble d’instructions de démarrage, une zone mémoire de stockage dite « d’application » (Z2) comprenant au moins un ensemble d’instructions d’application configuré pour mettre en œuvre une application du calculateur par l’au moins un cœur (20), le microcontrôleur (1) étant éteint ou en état de veille, le procédé étant caractérisé en ce qu’il comprend les étapes de :
    1. démarrage (E1) du microcontrôleur (1),
    2. détection (E2), par la mise en œuvre de l’ensemble d’instructions de démarrage stocké dans la zone mémoire de contrôle (Z1), de l’effacement d’une partie de la zone mémoire d’application (Z2) de la mémoire (10) non volatile entre la dernière extinction ou mise en veille et le démarrage du microcontrôleur (1),
    3. en l’absence d’effacement, exécution (E3) par le microcontrôleur (1) d’au moins un ensemble d’instructions d’application.
  2. Procédé selon la revendication 1, après l’étape de détection et en cas d’effacement, comprenant une étape d’authentification (E4) de la zone mémoire d’application (Z2).
  3. Procédé selon l’une quelconque des revendications 1 et 2, dans lequel, le calculateur comprenant une zone mémoire de stockage dite « de détection » (Z3), chaque effacement dans ladite zone mémoire d’application (Z2) entraine la transformation d’un bit de la zone mémoire de détection (Z3).
  4. Procédé, selon l’une quelconque des revendications 2 et 3, comprenant après l’étape d’authentification (E4) et lorsque celle-ci est réussie, une étape de mise à jour (E5) de la zone mémoire de contrôle (Z1), autrement dit, d’enregistrement dans la zone mémoire de contrôle (Z1) de la valeur du nombre de bits transformés dans la zone mémoire de détection (Z3).
  5. Procédé, selon la revendication précédente, dans lequel, lors de l’étape de détection (E2), un effacement d’une partie de la zone mémoire d’application (Z2) est détecté lorsque le nombre de bits transformés dans la zone mémoire de détection (Z3) diffère de la valeur enregistrée dans la zone mémoire de contrôle (Z1).
  6. Calculateur comprenant un microcontrôleur (1) comprenant une mémoire (10) non volatile et au moins un cœur (20), ladite mémoire (10) non volatile comprenant une zone mémoire de stockage dite « de contrôle » (Z1) comprenant un ensemble d’instructions de démarrage, une zone mémoire de stockage dite « d’application » (Z2) comprenant au moins un ensemble d’instructions d’application configuré pour mettre en œuvre une application du calculateur par l’au moins un cœur (20), le microcontrôleur (1) étant éteint ou en état de veille, étant caractérisé en ce qu’il est configuré pour :
    1. démarrer,
    2. mettre en œuvre l’ensemble d’instructions de démarrage stocké dans la zone mémoire de contrôle (Z1),
    3. détecter, par la mise en œuvre de l’ensemble d’instructions de démarrage, l’effacement d’une partie de la zone mémoire d’application (Z2) de la mémoire (10) non volatile entre la dernière extinction ou mise en veille et le démarrage du microcontrôleur (1),
    4. en l’absence d’effacement, exécuter l’au moins un ensemble d’instructions d’application.
  7. Calculateur, selon la revendication précédente, dans lequel la mémoire (10) non volatile est une mémoire flash.
  8. Calculateur selon l’une quelconque des revendications 6 et 7, configuré pour authentifier la zone mémoire d’application (Z2) lorsqu’il a détecté un effacement.
  9. Calculateur, selon l’une quelconque des revendications 6 à 8, comprenant une zone mémoire de stockage dite « de détection » (Z3), chaque effacement dans ladite zone mémoire d’application (Z2) entraine la transformation d’un bit dans la zone mémoire de détection (Z3).
  10. Véhicule, comprenant un calculateur selon l’une quelconque des revendications 6 et 9.
FR1909380A 2019-08-23 2019-08-23 Procédé de sécurisation d’un calculateur de véhicule automobile Active FR3100073B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1909380A FR3100073B1 (fr) 2019-08-23 2019-08-23 Procédé de sécurisation d’un calculateur de véhicule automobile

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1909380A FR3100073B1 (fr) 2019-08-23 2019-08-23 Procédé de sécurisation d’un calculateur de véhicule automobile
FR1909380 2019-08-23

Publications (2)

Publication Number Publication Date
FR3100073A1 true FR3100073A1 (fr) 2021-02-26
FR3100073B1 FR3100073B1 (fr) 2022-05-27

Family

ID=68654754

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1909380A Active FR3100073B1 (fr) 2019-08-23 2019-08-23 Procédé de sécurisation d’un calculateur de véhicule automobile

Country Status (1)

Country Link
FR (1) FR3100073B1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080040601A1 (en) * 2006-08-08 2008-02-14 Stmicroelectronics, Inc. Boot security using embedded counters
US20080104310A1 (en) * 2006-10-26 2008-05-01 Sandisk Il Ltd. Erase history-based flash writing method
US20190251265A1 (en) * 2018-02-14 2019-08-15 GM Global Technology Operations LLC Resident manufacturing test software based system for mitigating risks associated with vehicle control modules

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080040601A1 (en) * 2006-08-08 2008-02-14 Stmicroelectronics, Inc. Boot security using embedded counters
US20080104310A1 (en) * 2006-10-26 2008-05-01 Sandisk Il Ltd. Erase history-based flash writing method
US20190251265A1 (en) * 2018-02-14 2019-08-15 GM Global Technology Operations LLC Resident manufacturing test software based system for mitigating risks associated with vehicle control modules

Also Published As

Publication number Publication date
FR3100073B1 (fr) 2022-05-27

Similar Documents

Publication Publication Date Title
US8607227B2 (en) Electronic device and method for burning firmware to embedded device
US8788740B2 (en) Data commit on multicycle pass complete without error
CN101620651B (zh) 一种清除计算机中数据的方法及装置
US20210334083A1 (en) Method and Apparatus for Upgrading Firmware of Transfer Device on Mobile Carrier, and Non-Transitory Storage Medium
EP1605333A1 (fr) Contrôle de l'exécution d'un programme
FR2894709A1 (fr) "detecteur de destruction anormale de secteur memoire"
JP2008504628A (ja) 安全なフラッシング
EP3182292A1 (fr) Procédé de prédiction d'une donnée a précharger dans une mémoire cache
WO2017036584A1 (fr) Procédé de détection d'une erreur non corrigible dans une mémoire non volatile d'un microcontrôleur
EP1777637A3 (fr) Procédé de démarrage sécurisé pour un terminal mobile, support lisible sur un ordinateur et terminal mobile
FR3100073A1 (fr) Procédé de sécurisation d’un calculateur de véhicule automobile
FR2923627A1 (fr) Procede de deverrouillage d'un calculateur de controle moteur.
EP1880387B1 (fr) Dispositif de protection d'une memoire contre les attaques par injection d'erreur
WO2012107189A2 (fr) Procede de reprogrammation d'un calculateur, support de memorisation de donnees et calculateur de vehicule automobile
FR3069342B1 (fr) Procede de determination de l'integrite de donnees de navigation d'une unite de controle d'un vehicule automobile
WO2009071819A1 (fr) Procede de masquage de passage en fin de vie d'un dispositif electronique et dispositif comportant un module de controle correspondant
CN101211267A (zh) 一种客制化基本输入输出系统的更新方法
FR3106677A1 (fr) Procédé de mise à jour d’une liste d’instructions d’amorçage d’une unité de contrôle électronique
WO2006030163A1 (fr) Systeme et calculateur embarque permettant la mise en suspens du dechargement de donnees en cas d'arret du calculateur
EP3489833B1 (fr) Procédé d'obtention d'un programme destiné à être exécuté par un dispositif électronique, tel qu'une carte à puce, comprenant une mémoire non volatile
WO2007006960A1 (fr) Procede pour la prise en compte automatique et le stockage persistant de parametres de personnalisation a priori volatils
WO2023280756A1 (fr) Procédé de gestion d'une zone mémoire d'une unité de contrôle électronique de véhicule automobile
CN1797337A (zh) 计算机软件自动安装的方法
JP7177616B2 (ja) 制御装置、制御方法および更新データ制御装置の動作方法
EP1467378B1 (fr) Procédé de mise à jour de données pour mémoire non volatile

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20210226

TP Transmission of property

Owner name: VITESCO TECHNOLOGIES, DE

Effective date: 20210629

PLFP Fee payment

Year of fee payment: 3

CA Change of address

Effective date: 20220103

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5