FR2806180A1 - Procede pour proteger un microcalculateur d'un appareil de commande contre une manipulation de programme, et dispositif de mise en oeuvre - Google Patents

Procede pour proteger un microcalculateur d'un appareil de commande contre une manipulation de programme, et dispositif de mise en oeuvre Download PDF

Info

Publication number
FR2806180A1
FR2806180A1 FR0100650A FR0100650A FR2806180A1 FR 2806180 A1 FR2806180 A1 FR 2806180A1 FR 0100650 A FR0100650 A FR 0100650A FR 0100650 A FR0100650 A FR 0100650A FR 2806180 A1 FR2806180 A1 FR 2806180A1
Authority
FR
France
Prior art keywords
state
program
control
devices
control program
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
FR0100650A
Other languages
English (en)
Other versions
FR2806180B1 (fr
Inventor
Guenter Braun
Mahboob Alireza Djahangard
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of FR2806180A1 publication Critical patent/FR2806180A1/fr
Application granted granted Critical
Publication of FR2806180B1 publication Critical patent/FR2806180B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R25/00Fittings or systems for preventing or indicating unauthorised use or theft of vehicles
    • B60R25/01Fittings or systems for preventing or indicating unauthorised use or theft of vehicles operating on vehicle systems or fittings, e.g. on doors, seats or windscreens
    • B60R25/04Fittings or systems for preventing or indicating unauthorised use or theft of vehicles operating on vehicle systems or fittings, e.g. on doors, seats or windscreens operating on the propulsion system, e.g. engine or drive motor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate client device independently of the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Mechanical Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

Procédé pour protéger un microcalculateur d'un appareil de commande de véhicule automobile, contre les manipulations dans un programme de commande au moins enregistré en partie dans une mémoire réinscriptible du microcalculateur. On exécute un programme de contrôle enregistré dans le micro-calculateur pour reconnaître une manipulation non autorisée en subdivisant les appareils de commande en des appareils série et des appareils d'application, distincts par une caractéristique de circuit électronique; le programme de contrôle est commuté dans les appareils d'application à l'aide d'ordres standards (4), accessibles librement, et dans les appareils série à l'aide de mesures spéciales (7), accessibles de manière limitée, d'un état activé (1, 2) en un état désactivé (3).

Description

Etat de la technique La présente invention concerne un procédé pour
protéger un microcalculateur d'un appareil de commande appli-
qué à un véhicule automobile contre les manipulations dans un programme de commande au moins enregistré en partie dans une mémoire réinscriptible du microcalculateur, en exécutant un programme de contrôle enregistré dans le microcalculateur pour reconnaître une manipulation non autorisée du programme
de commande.
L'invention concerne également un appareil de
commande pour un véhicule automobile comprenant un microcal-
culateur ayant une mémoire réinscriptible dans laquelle est enregistré au moins en partie un programme et dans lequel peut se dérouler un programme de contrôle pour protéger le microcalculateur contre des manipulations du programme de commande. On connaît un procédé du type défini ci-dessus par exemple selon DE-197 23 332-A1. Ce document décrit un procédé de protection d'un microcalculateur d'un appareil de
commande d'un véhicule automobile; selon ce procédé, on exé-
cute un programme de contrôle enregistré dans le microcalcu-
lateur. Dans le cadre du programme de contrôle, à partir d'au moins une partie du contenu d'une mémoire réinscriptible du
microcalculateur, avec une certaine clé contenue dans le mi-
crocalculateur, on forme un mot de code. Le mot de code est comparé à un mot de comparaison enregistré dans la mémoire réinscriptible. Le mot de comparaison est à la suite d'une programmation ou d'un changement de programme de la mémoire
réinscriptible, avec la clé et le contenu de la mémoire ré-
inscriptible, enregistré dans cette mémoire. Ce procédé de protection du microcalculateur contre les manipulations de son programme de commande est soumis à la norme ISO 14230. La clé est indépendante du fabricant et en général n'est connue que par le fabricant (pour programmer l'appareil de commande)
et des ateliers contractuels, autorisés (pour changer la pro-
grammation de l'appareil de commande dans le cadre de la mise à jour du programme). Ce procédé est aussi appelé procédé
" Seed-and-Key ".
Dans le cas o la mémoire réinscriptible est re-
programmée de manière non autorisée, il faut qu'à la suite de
la reprogrammation, on forme dans tous les cas un mot de com-
paraison et ce mot doit être enregistré dans la mémoire ré-
inscriptible. Dans le cadre du programme de contrôle, un mot de code sera alors formé en fonction de la clé et du contenu
de la mémoire réinscriptible reprogrammée; ce mot sera com-
paré au mot de comparaison enregistré. Comme la personne non
autorisée ne connaît pas en général la clé du microcalcula-
teur, le mot de comparaison est probablement non valide et ne correspond pas au mot de code. Cela permet de reconnaître une
manipulation non autorisée du programme de commande.
Mais souvent, il peut toutefois être nécessaire voire utile de désactiver le programme de contrôle pour ne
pas former à chaque reprogrammation de la mémoire réinscrip-
tible, un mot de comparaison à partir du contenu de la mé-
moire et de la clé et d'avoir à l'enregistrer dans la mémoire réinscriptible. Cela est par exemple le cas si l'appareil de
commande doit fréquemment être reprogrammé pour des dévelop-
pements, des contrôles ou des essais en particulier dans la phase initiale du développement de l'appareil de commande ou du programme de commande ou encore pour modifier les réglages d'un moteur à combustion interne commandé par l'appareil de commande.
La présente invention a ainsi pour but de déve-
lopper un moyen permettant de désactiver de façon provisoire un programme de contrôle enregistré dans le microcalculateur d'un appareil de commande de véhicule automobile, sans que
cette possible désactivation du programme de contrôle ne ré-
duise la protection d'un programme de commande enregistré
dans une mémoire réinscriptible du microcalculateur.
A cet effet, partant d'un procédé de protection du type défini ci-dessus, l'invention est caractérisée en ce qu'on subdivise les appareils de commande en des appareils série et des appareils d'application qui se distinguent par une caractéristique " Hardware " de circuit électronique, le programme de contrôle étant commuté dans les appareils
d'application à l'aide d'ordres standards et dans les appa-
reils série à l'aide de mesures spéciales, le cas échéant d'un état activé en un état désactivé, les ordres standards étant accessibles librement et les mesures spéciales étant
accessibles de manière limitée.
Avantages de l'invention Ainsi à partir de la caractéristique " Software " de programme connue selon le procédé " Seed-and-Key ", la présente invention propose en superposition pour désactiver cette caractéristique de programme, une caractéristique
" Hardware " de circuit électronique. Grâce à cette caracté-
ristique " Hardware ", l'appareil de commande lui-même sert
de support d'information pour répondre à la question de sa-
voir s'il s'agit d'un appareil d'application ou d'un appareil série. En général, on réalise comme appareil d'application seulement autant d'appareils de commande, que nécessaire pour un développement de l'appareil de commande du
programme de commande, ou du moteur à combustion interne com-
mandé par cet appareil de commande et ce programme de com-
mande. Le nombre et le développement des appareils d'application est ainsi fortement limité. Les appareils d'application se distinguent des appareils série notamment en ce que les programmes de contrôle sont librement accessibles par des ordres standards pour commuter entre l'état activé et
l'état désactivé.
Si le programme de contrôle est à l'état activé,
il faut après chaque reprogrammation de la mémoire réinscrip-
tible du microcalculateur, déterminer un mot de comparaison, l'enregistrer dans la mémoire réinscriptible et effectuer la reconnaissance de programme. Dans le cas d'un programme de
contrôle désactivé, on peut répéter d'une manière pratique-
ment quelconque une reprogrammation de la mémoire réinscrip-
tible sans avoir à parcourir chaque fois la reconnaissance
de la caractéristique de programme.
Au contraire, les appareils série constituent la partie la plus importante des appareils de commande. Dans les
appareils série, le programme de contrôle est uniquement ac-
cessible avec des mesures spéciales, limitées, pour commuter d'un état activé à un état désactivé. Les mesures spéciales ne sont notamment connues que des fabricants de l'appareil de commande. Les ordres standards du procédé selon l'invention correspondent sensiblement au code de désactivation du procé- dé connu de l'état de la technique. La différence entre le procédé selon l'invention et celui de l'état de la technique
réside dans le fait que le nombre et le développement des ap-
pareils d'application pour lesquels comme unique programme de contrôle avec des ordres standards, on peut commuter de l'état activé à l'état désactivé est fortement limité. Les appareils série très développés ne peuvent par contre être
commutés qu'avec les mesures spéciales qui ne sont pas libre-
ment accessibles.
On améliore encore la sécurité du procédé de l'invention en limitant l'accessibilité des ordres standards pour commuter le programme de contrôle dans les appareils
d'application de l'état activé à l'état désactivé. Il est en-
visageable que les ordres standards soient connus en plus du fabricant des appareils de commande, seulement de quelques
développeurs sélectionnés chez les clients et les collabora-
teurs dans quelques ateliers sélectionnés. De plus, le déve-
loppement des appareils d'application peut être surveillé et
commandé de manière précise.
Selon un développement avantageux de la présente
invention, la caractéristique de programme repose sur le pro-
cédé Seed-and-Key, selon lequel, dans le cadre du programme de contrôle, à partir d'au moins une partie du contenu de la mémoire réinscriptible, on forme un mot de code avec une clé et on compare celui-ci à un mot de comparaison enregistré
dans la mémoire réinscriptible. Ce procédé est décrit de ma-
nière explicite dans le document
DE-197 23 332-Al.
Selon un mode de réalisation préférentiel de la présente invention, le programme de contrôle est commuté dans les appareils d'application et dans les appareils série à l'aide d'ordres standards entre un état désactivé et un état activé. Comme par une commutation du programme de contrôle d'un appareil de commande dans un état activé, il n'y a pas de risque de manipulations du programme de commande de l'appareil de commande, cette commutation peut être exécutée
par n'importe qui à l'aide d'ordres standards.
Selon un autre mode de réalisation préférentiel
de la présente invention, le programme de contrôle est commu-
té dans les appareils d'application à l'aide d'ordres stan-
dards, de l'état désactivé à un état activé verrouillé et à l'aide de mesures spéciales, de l'état activé verrouillé à l'état désactivé. Selon ce mode de réalisation du procédé de
l'invention, l'appareil d'application peut ainsi commuter en-
tre trois états différents. A côté de l'état avec une carac-
téristique de programme simple, activée (non verrouillée) et l'état avec une caractéristique de programme désactivée, l'appareil d'application peut également être commuté dans un
état avec une caractéristique de programme activée, ver-
rouillée. Dans cet état, l'appareil d'application, à la fin de la phase d'application et de développement, peut s'utiliser comme appareil série normal. A partir de l'état avec une caractéristique de programme désactivée, l'appareil d'application est commuté par des ordres standards dans
l'état avec une caractéristique de programme activée ver-
rouillée. L'appareil d'application ne peut quitter cet état qu'avec des mesures spéciales. Celles-ci ne sont accessibles
que de manière limitée, par exemple que du fabricant des ap-
pareils de commande. Une modification non autorisée du pro-
gramme de commande dans la mémoire réinscriptible d'un appareil d'application, en commutant l'état de l'appareil d'application de manière non autorisée dans l'état avec une
caractéristique de programme désactivée, est ainsi exclu pra-
tiquement totalement.
Si dans les appareils série, on cherche à commu-
ter avec un ordre standard, le programme de contrôle, de l'état désactivé à l'état simplement activé (non verrouillé),
selon un mode de réalisation préférentiel de la présente in-
vention, le programme de contrôle est commuté automatiquement dans l'état activé, verrouillé. Cela garantit que l'appareil
série, à la fin d'une reprogrammation de l'appareil de com-
mande, arrive dans tous les cas de nouveau dans l'état activé verrouillé, pour interdire toute manipulation non autorisée
du programme de commande.
Selon un développement avantageux de la présente invention, les ordres standards pour activer ou désactiver le programme de contrôle sont transmis à l'appareil de commande
par une interface de communication. L'interface de communica-
tion est par exemple un bus (CAN) (controller-Area-Network) ou une ligne K. Pour des fins de contrôle et de diagnostic,
il est connu selon l'état de la technique d'installer une li-
gne K entre l'appareil de commande et l'appareil de diagnos-
tic et de contrôle. La ligne K permet de transmettre des
données selon le protocole de mots codés 2000 (ISO 14 230).
Cette ligne K est également utilisée pour transmettre des or-
dres de commutation du programme de contrôle entre un état
activé et un état non activé.
Comme autre solution du problème de la présente invention, partant de l'appareil de commande du type défini
ci-dessus, il est proposé que cet appareil de commande com-
porte une caractéristique de circuit électronique pour
l'identification de l'appareil de commande comme appareil sé-
rie ou appareil d'application, le programme de contrôle étant commutable dans un appareil d'application à l'aide d'ordres
standards et dans un appareil série à l'aide de mesures spé-
ciales, pour passer le cas échéant d'un état activé à un état désactivé, et les ordres standards sont librement accessibles alors que les mesures spéciales ne sont accessibles que de
manière limitée.
La caractéristique de circuit électronique peut
être réalisée sous la forme d'un composant électronique quel-
conque du circuit de l'appareil de commande. Le composant électronique est par exemple une mémoire EPROM ou EEPROM ou encore un composant logique programmable (PLD) ou encore un
réseau logique programmable (PAL) ou encore un composant GAL.
Les composants logiques (PLD) peuvent être programmés diffé-
remment pour les appareils d'application et les appareils sé-
rie. Vis-à-vis de l'extérieur, on ne peut distinguer entre un appareil d'application et un appareil série que dans le cadre
de la commutation du programme de contrôle entre l'état acti-
vé et l'état désactivé.
En variante, selon un développement avantageux de la présente invention, il est proposé que la caractéristique de circuit électronique soit réalisée au moins sous la forme d'un composant électronique supplémentaire intégré dans le circuit de l'appareil de commande. Les appareils d'application et les appareils de série se distinguent selon ce développement par un circuit différent. La différence dans le circuit peut être réalisée par exemple par des résistances
avec des valeurs différentes, des bobines à inductance diffé-
rente, des condensateurs à capacité différente, des résistan-
ces supplémentaires, des inductances ou des condensateurs supplémentaires ainsi que des transistors supplémentaires ou
encore des composants logiques supplémentaires.
Dessins
Un exemple de réalisation préférentiel de la pré-
sente invention sera décrit ci-après à l'aide des dessins an-
nexés dans lesquels:
- la figure 1 montre un appareil de commande avec un micro-
calculateur et une mémoire réinscriptible, en option avec l'appareil de commande programmable,
- la figure 2 montre un procédé selon l'invention correspon-
dant à un mode de réalisation préférentiel comme exemple d'un appareil d'application, - la figure 3 montre le procédé selon l'invention selon la figure 2 dans l'exemple d'un appareil de commande, - la figure 4 montre un diagramme d'état du procédé de l'invention selon la figure 2, - la figure 5 montre un diagramme d'état du procédé selon
l'invention correspondant à la figure 3.
Description de l'exemple de réalisation
La présente invention concerne un procédé de pro-
tection d'un microcalculateur contre une reprogrammation non autorisée. Le microcalculateur fait partie d'un appareil de commande d'un moteur à combustion interne et/ou d'autres fonctions d'un véhicule automobile. Ces autres fonctions sont
par exemple le système antiblocage, la régulation antipati-
nage, le programme de stabilité électronique, la mise en mar-
che/arrêt et l'alignement des projecteurs etc. L'expression appareil de commande ou programme de commande ne se limite pas à un appareil ou programme dont la fonction est limitée à la commande de certaines fonctions du véhicule automobile. Au contraire, l'appareil de commande peut comme le constatera
sans difficulté le spécialiste, assurer également des fonc-
tions de régulation dans le cadre du programme de commande
d'un véhicule automobile.
La figure 1 montre un appareil de commande 100
avec un microcalculateur 101 et dans celui-ci une mémoire ré-
inscriptible 102. L'appareil de commande 100 peut comporter une autre mémoire 103. On peut également prévoir d'autres
éléments en option 105, d'autres microcalculateurs, une mé-
moire, groupe d'entrées-sorties etc. suivant l'équipement et les variantes de l'appareil de commande 100. Les différents éléments de l'appareil de commande sont reliés par au moins un bus de système 106 interne à l'appareil de commande. La caractéristique 104 désigne un groupe d'entrées-sorties pour une interface de communication 107 par laquelle l'appareil de commande peut communiquer avec des composants externes. En
particulier, on peut assurer une reprogrammation ou une nou-
velle programmation de l'appareil de commande notamment pour la mémoire 102 et/ou la mémoire 103 par cette interface. Cela se fait par exemple à l'aide d'un appareil de programmation
externe 108.
Le microcalculateur comporte une mémoire réins-
criptible dans laquelle est enregistré un programme de com-
mande pour exécuter les fonctions de commande. Le microcalculateur dispose d'une caractéristique de programme pour reconnaître une manipulation non autorisée du programme de commande. La caractéristique de programme comprend par exemple un programme de contrôle qui est parcouru après la
reprogrammation de la mémoire réinscriptible du microcalcula-
teur.
Après la programmation ou la reprogrammation de la mémoire réinscriptible à l'aide d'un nouveau programme de
commande, tout d'abord à partir du contenu de la mémoire ré-
inscriptible, en utilisant une clé enregistrée dans le micro-
calculateur, on forme un mot de comparaison et on l'enregistre dans la mémoire réinscriptible. Dans le cas du
programme de contrôle, à partir d'au moins une partie du con-
tenu de la mémoire réinscriptible et avec la clé, on forme un mot de code et on compare celui-ci avec le mot de comparaison enregistré. Le mot de code et le mot de comparaison ne se correspondent que si pour les former, on a utilisé la même clé, c'est-à-dire si pour former le mot de comparaison, on
connaissait la clé. Si le mot de code et le mot de comparai-
son ne se correspondent pas, on suppose que la reprogramma-
tion du programme de commande n'était pas autorisée et l'appareil de commande se bloque. Ce procédé est également
appelé procédé Seed-and-Key.
Dans certaines conditions, il est toutefois né-
cessaire ou utile de désactiver le procédé Seed-and-Key pour pouvoir reprogrammer plusieurs fois successivement l'appareil de commande sans définir chaque fois le mot de comparaison et
sans avoir à le réenregistrer dans la mémoire réinscriptible.
La présente invention propose un procédé et un appareil de commande permettant de désactiver le procédé Seed-and-Key, de manière simple, sans limiter la détection d'une manipulation non autorisée du programme de commande par le programme Seed-and-Key à l'état activé. On évite ainsi que dès la phase de développement d'un appareil de commande, on
puisse distribuer à grande échelle à un grand nombre de per-
sonnes, des outils ayant le procédé Seed-and-Key ou la clé du procédé Seed-and-Key. Le procédé selon l'invention réduit ainsi le risque d'utilisation frauduleuse des outils ou de la clé. Les appareils de commande fabriqués sont d'abord
sous-divisés en appareils d'application et appareils série.
Au début d'une série de fabrication et le cas échéant égale-
ment en cours de série de fabrication, on ne fabrique qu'un nombre limité d'appareils de commande sous la forme d'appareils d'application. Les appareils d'application se distinguent des appareils série par une caractéristique de
circuit électronique différente. La caractéristique de cir-
cuit électronique peut être réalisée sous la forme d'un com-
posant électronique quelconque du circuit de l'appareil de
commande, mais également comme au moins un composant électro-
nique supplémentaire quelconque, intégré dans le circuit de l'appareil de commande. Comme composants électroniques, on envisage par exemple des résistances, bobines, condensateurs,
des composants de mémoire quelconques ou des composants logi-
ques. L'état de la caractéristique de circuit électronique ne peut être interrogé que dans le cadre de la commutation du
programme de contrôle entre l'état activé et l'état désacti-
vé. Pour cela, on branche de préférence une interface de com-
munication par exemple une ligne K aux bornes extérieures de l'appareil de commande. La transmission des données par la ligne K se fait selon le protocole de mot de code 2000 (ISO
14230). L'interface de communication peut également être réa-
lisée sous la forme d'un bus (CAN).
Selon la présente invention, l'appareil de com-
mande lui-même (c'est-à-dire le circuit de l'appareil de com-
mande) est le support d'information pour identifier l'appareil de commande comme appareil série ou comme appareil d'application. L'appareil d'application présente trois états
entre lesquels il peut commuter (voir figure 2). Dans le pre-
mier état 1, la caractéristique de programme est activée de manière verrouillée. Dans le second état, la caractéristique de programme est simple, c'est-à-dire qu'elle est activée
sans être verrouillée. Dans le troisième état 3, la caracté-
ristique de programme est désactivée. L'état dans lequel est
fourni l'appareil d'application est l'état 2 avec une carac-
téristique de programme activée de manière simple. Dans
l'état 2, on peut reprogrammer le programme de commande seu-
lement si pour chaque reprogrammation, on parcourt le pro-
gramme Seed-and-Key. Dans le cas contraire, la figure 2 montre qu'il est également possible de fournir l'appareil
d'application dans l'état 3 avec une caractéristique de pro-
gramme désactivée.
Selon l'état 2, on peut commuter l'appareil d'application à l'aide d'un premier ordre standard 4 dans
l'état 3 avec une caractéristique de programme désactivée.
il Aussi longtemps que l'appareil d'application se trouve dans cet état 3, on peut le reprogrammer aussi fréquemment que
souhaitable sans qu'à chaque reprogrammation, il soit néces-
saire de parcourir le procédé Seed-and-Key. A la fin d'une phase de développement de vérification ou de contrôle, on peut de nouveau commuter l'appareil d'application à l'aide d'un second ordre standard 5 pour le faire passer à l'état 2 avec une caractéristique de programme simplement activée. A partir de cet état, on peut de nouveau commuter l'appareil d'application à l'aide du premier ordre standard 4, à chaque
fois pour le faire passer dans l'état 3.
Si l'on n'envisage pas d'autres phases de déve-
loppement de vérification ou de contrôle, l'appareil
d'application peut être commuté de l'état 3 avec une caracté-
ristique de programme désactivée à l'aide d'un troisième or-
dre standard 6 pour passer à l'état 1 avec une caractéristique de programme activée, verrouillée. Dans cet
état 1, il est possible de reprogrammer le programme de com-
mande seulement en exécutant le procédé Seed-and-Key à la
suite de la reprogrammation.
Il est certes possible en théorie de commuter l'appareil d'application de l'état 1 à l'état 3. Pour cela, il faut une mesure spéciale 7 par exemple un ordre spécial
qui, contrairement aux ordres standards 4, 5, 6 n'est acces-
sible que de manière limitée. L'ordre spécial 7 n'est de pré-
férence connu que du fabricant de l'appareil de commande. De cette manière, le cercle du personnel qui connaît l'ordre spécial 7 est très largement restreint, ce qui exclut toute utilisation frauduleuse ou transmission de l'ordre spécial 7
à des personnes non autorisées.
Pour augmenter la sécurité du procédé de
l'invention, on peut limiter la disponibilité du premier or-
dre standard 4 également aux fabricants des appareils de com-
mande et aux collaborateurs des clients. On évite alors le risque d'une reprogrammation non autorisée du programme de commande même si l'appareil d'application se trouve seulement
à l'état simplement activé 2 et non pas à l'état activé ver-
rouillé 1.
Contrairement aux appareils d'application, les appareils série (voir figure 3) disposent seulement de deux
états entre lesquels ils peuvent commuter. Les appareils sé-
rie sont fournis à l'état 1 avec une caractéristique de pro-
gramme activée, verrouillée. A partir de cet état 1, ils
peuvent commuter à l'état 3 avec une caractéristique de pro-
gramme désactivée uniquement par un ordre spécial 7. Si l'on cherche à commuter l'appareil série de l'état 3 à l'aide du second ordre standard 5 pour le faire passer à l'état 2 avec une caractéristique de programme simplement activée, du fait de la caractéristique de circuit " Hardware ", on sait que le présent appareil de commande est un appareil série qui ne
doit pas commuter à l'état 2. A l'aide du second ordre stan-
dard 5, on ne commute donc pas l'appareil série dans l'état 2 avec une caractéristique de programme simplement activée,
mais dans l'état 1 avec une caractéristique de programme ac-
tivée, verrouillée. On peut également arriver au même résul-
* tat avec le troisième ordre standard 6.
En commutant l'appareil d'application dans l'état 1 avec une caractéristique de programme activée verrouillée, on peut utiliser les appareils d'application à la fin de la phase de développement de vérification et de contrôle, comme
appareils série, devenant des appareils de commande totale-
ment normaux. Cela permet de réduire le coût du développement
des appareils de commande.
Les ordres standards 4, 5, 6 et les ordres spé-
ciaux 7 pour activer ou désactiver les caractéristiques de programme sont transmis par exemple par la ligne K à
l'appareil de commande. Les figures 4, 5 montrent les dia-
grammes d'état d'un appareil d'application (figure 4) et d'un appareil série (figure 5). Il apparaît clairement que, grâce au second ordre standard 5 permettant de commuter l'appareil
de commande de l'état 3 à l'état 2 en fonction de la caracté-
ristique de circuit " Hardware ", on commute l'appareil d'application dans l'état 2, et on commute l'appareil série
dans l'état 1.
RE V E N D I C A T I ON S
1 ) Procédé pour protéger un microcalculateur d'un appareil
de commande appliqué à un véhicule automobile contre les ma-
nipulations dans un programme de commande au moins enregistré en partie dans une mémoire réinscriptible du microcalcula- teur, en exécutant un programme de contrôle enregistré dans
le microcalculateur pour reconnaître une manipulation non au-
torisée du programme de commande, caractérisé en ce qu' on subdivise les appareils de commande en des appareils série
et des appareils d'application qui se distinguent par une ca-
ractéristique " Hardware " de circuit électronique, le pro-
gramme de contrôle étant commuté dans les appareils d'application à l'aide d'ordres standards (4) et dans les ap-
pareils série à l'aide de mesures spéciales (7), le cas échéant d'un état activé (1, 2) en un état désactivé (3), les ordres standards (4) étant accessibles librement et les
mesures spéciales (7) étant accessibles de manière limitée.
2 ) Procédé selon la revendication 1, caractérisé en ce que dans le cadre du programme de contrôle, à partir d'au moins une partie du contenu de la mémoire réinscriptible, à l'aide d'une clé, on forme un mot de code et on compare celui-ci à
un mot de comparaison enregistré dans la mémoire réinscripti-
ble.
3 ) Procédé selon l'une quelconque des revendications 1 ou 2,
caractérisé en ce que le programme de contrôle dans les appareils d'application et dans les appareils série est commuté par des ordres standards
(5, 6), d'un état désactivé (3) à un état activé (1, 2).
4 ) Procédé selon la revendication 3, caractérisé en ce que dans les appareils d'application, le programme de contrôle est commuté par des ordres standards (6), de l'état désactivé
(3) à un état activé verrouillé (1) et par des mesures spé-
ciales (7), de l'état activé, verrouillé (1) dans l'état dés-
activé (3).
) Procédé selon l'une quelconque des revendications 1 à 4,
caractérisé en ce que dans les appareils série, pour un ordre standard (5) destiné à commuter le programme de contrôle de l'état désactivé (3) à l'état simplement activé non verrouillé (2), ce programme est
commuté automatiquement dans l'état activé verrouillé (1).
6 ) Procédé selon l'une des revendications 1 à 5,
caractérisé en ce que les ordres standards (4, 5, 6) pour activer ou désactiver le programme de contrôle sont transmis à l'appareil de commande
IS par une interface de communication.
7 ) Appareil de commande pour un véhicule automobile compre-
nant un microcalculateur ayant une mémoire réinscriptible dans laquelle est enregistré au moins en partie un programme et dans lequel peut se dérouler un programme de contrôle pour
protéger le microcalculateur contre des manipulations du pro-
gramme de commande, caractérisé en ce que
l'appareil de commande présente une caractéristique de cir-
cuit électronique pour l'identification de l'appareil de com-
mande comme appareil série ou appareil d'application, le programme de contrôle peut commuter dans un appareil
d'application par des ordres standards (4) et dans un appa-
reil série par des mesures spéciales (7), le cas échéant, d'un état activé (1, 2) dans un état désactivé (3), et les ordres standards (4) sont accessibles librement et les
mesures spéciales (7) sont accessibles de manière limitée.
8 ) Appareil de commande selon la revendication 7, caractérisé en ce que la caractéristique de circuit électronique est réalisée au
moins sous la forme d'un composant électronique complémen-
taire intégré dans le circuit de l'appareil de commande.
FR0100650A 2000-01-19 2001-01-18 Procede pour proteger un microcalculateur d'un appareil de commande contre une manipulation de programme, et dispositif de mise en oeuvre Expired - Fee Related FR2806180B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10002204A DE10002204B4 (de) 2000-01-19 2000-01-19 Verfahren zum Schutz eines Mikrorechners eines Steuergeräts gegen Manipulation eines Programmes und Vorrichtung zur Durchführung des Verfahrens

Publications (2)

Publication Number Publication Date
FR2806180A1 true FR2806180A1 (fr) 2001-09-14
FR2806180B1 FR2806180B1 (fr) 2006-01-27

Family

ID=7628069

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0100650A Expired - Fee Related FR2806180B1 (fr) 2000-01-19 2001-01-18 Procede pour proteger un microcalculateur d'un appareil de commande contre une manipulation de programme, et dispositif de mise en oeuvre

Country Status (3)

Country Link
US (1) US6604024B2 (fr)
DE (1) DE10002204B4 (fr)
FR (1) FR2806180B1 (fr)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7636859B2 (en) * 2001-01-04 2009-12-22 Cummins Inc. System and method for authorizing transfer of software into embedded systems
DE10131577A1 (de) * 2001-07-02 2003-01-16 Bosch Gmbh Robert Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation seines Programms
DE10237715B4 (de) * 2002-08-17 2017-03-09 Robert Bosch Gmbh Vorrichtung zum Zugriff auf ein Fahrzeugssteuersystem über eine drahtlose Verbindung
DE10319365A1 (de) * 2003-04-29 2004-11-18 Volkswagen Ag Computersystem für ein Fahrzeug und Verfahren zum Kontrollieren des Datenverkehrs in ein solches Computersystem
DE10340411B4 (de) * 2003-09-02 2005-10-13 Infineon Technologies Ag Vorrichtung und Verfahren zur sicheren Ausführung eines Programms
SE526829C2 (sv) * 2004-03-30 2005-11-08 Scania Cv Ab Arrangemang, motorfordon, sätt och datorprogram för att ge tillträde till elektroniska styrenheter
WO2012105215A1 (fr) * 2011-01-31 2012-08-09 本田技研工業株式会社 Dispositif de commande de véhicule
US10202958B2 (en) 2015-07-15 2019-02-12 GM Global Technology Operations LLC System and method for controlling ultra-capacitor charge and discharge in vehicles with auto start/stop systems
US10026238B2 (en) * 2015-07-15 2018-07-17 GM Global Technology Operations LLC System and method for converting two diagnostic states of a controller to three diagnostic states
DE102022117149A1 (de) 2022-07-11 2024-01-11 Audi Aktiengesellschaft Verfahren zum Betrieb eines Steuergeräts eines Kraftfahrzeugs für einen Produktionsvorgang des Kraftfahrzeugs und Steuergerät

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19723332A1 (de) * 1997-06-04 1998-09-03 Bosch Gmbh Robert Verfahren zum Schutz eines Mikrorechners und geschützter Mikrorechner
US5826007A (en) * 1996-01-22 1998-10-20 Kabushiki Kaisha Toshiba Memory data protection circuit

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5717387A (en) * 1990-01-19 1998-02-10 Prince Corporation Remote vehicle programming system
ATE197097T1 (de) * 1993-03-31 2000-11-15 Siemens Ag Verfahren und anordnung zum neu- bzw. nachladen von prozessorsteuerprogrammen
DE4440127B4 (de) * 1994-11-10 2007-11-08 Robert Bosch Gmbh Steuergerät
US5790664A (en) * 1996-02-26 1998-08-04 Network Engineering Software, Inc. Automated system for management of licensed software
US5787367A (en) * 1996-07-03 1998-07-28 Chrysler Corporation Flash reprogramming security for vehicle computer
DE19753730B4 (de) * 1997-12-04 2009-04-16 Robert Bosch Gmbh Vorrichtung zum Steuern einer Brennkraftmaschine
DE10002203B4 (de) * 2000-01-19 2009-12-10 Robert Bosch Gmbh Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation von in einer Speicheranordnung des Mikrorechner-Systems gespeicherten Daten

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5826007A (en) * 1996-01-22 1998-10-20 Kabushiki Kaisha Toshiba Memory data protection circuit
DE19723332A1 (de) * 1997-06-04 1998-09-03 Bosch Gmbh Robert Verfahren zum Schutz eines Mikrorechners und geschützter Mikrorechner

Also Published As

Publication number Publication date
US20010021886A1 (en) 2001-09-13
DE10002204B4 (de) 2013-10-02
US6604024B2 (en) 2003-08-05
FR2806180B1 (fr) 2006-01-27
DE10002204A1 (de) 2001-07-26

Similar Documents

Publication Publication Date Title
CN107547327B (zh) 保护车辆的方法和系统
US8103763B2 (en) System for remote configuration, control, and monitoring of devices over computer network using central server
EP0540095B1 (fr) Microcircuit pour carte à puce à mémoire programmable protégée
US8219280B2 (en) Vehicle information storage apparatus
EP3259896A1 (fr) Procédé de sécurisation de l'accès à au moins une fonctionnalité d'un véhicule automobile par un terminal mobile
EP0426541B1 (fr) Procédé de protection contre l'utilisation frauduleuse de cartes à microprocesseur, et dispositif de mise en oeuvre
FR2806180A1 (fr) Procede pour proteger un microcalculateur d'un appareil de commande contre une manipulation de programme, et dispositif de mise en oeuvre
FR2689264A1 (fr) Procédé d'authentification accompli entre une carte à circuit intégré et une unité terminale et système prévu dans ce but.
EP1379093A1 (fr) Procede de securisation d'un terminal mobile de telecommunication
US20100250061A1 (en) Vehicle control device
FR2865301A1 (fr) Procede et systeme pour l'echange de donnees entre des instruments de commande
EP0682315B1 (fr) Procédé de déverrouillage d'accès à un calculateur par un outil de téléchargement d'un fichier
CN105438125A (zh) 锁车功能控制方法和装置
EP0670561A1 (fr) Procédé de fonctionnement d'une carte à puce
FR2816786A1 (fr) Dispositif d'adaptation programmable pour protocoles de communication
WO2009059763A1 (fr) Procede de deverrouillage d'un calculateur de controle moteur
WO2018060769A1 (fr) Contrôle d'accès pour dispositifs à circuit intégré
US20110173694A1 (en) Method For Activating Functions Of A Tachograph
WO2016132078A1 (fr) Procédé de sécurisation de l'accès à au moins une fonctionnalité d'un véhicule automobile par un terminal mobile
EP4005262A1 (fr) Système et procédé de sécurisation d'une requête de diagnostic à un calculateur de véhicule automobile
US11552939B2 (en) Method for the secure configuration of automation systems
FR2749697A1 (fr) Procede de mise en oeuvre d'un appareil de commande avec une memoire programmee par un dispositif de programmation
CN115801303A (zh) 基于uds协议的入侵检测方法、装置、电子设备及存储介质
EP2058746B1 (fr) Entité électronique portable, station hôte et procédé associé
WO2007144509A2 (fr) Dispositif de memorisation amovible et appareil electronique aptes a l ' autre et procede de sauvegarde de donnees d ' environnement

Legal Events

Date Code Title Description
ST Notification of lapse
FC Decision of inpi director general to approve request for restoration
RN Application for restoration
ST Notification of lapse

Effective date: 20150930