[go: up one dir, main page]

FR2740235A1 - Operation controller for on-board electronics in motor vehicle - Google Patents

Operation controller for on-board electronics in motor vehicle Download PDF

Info

Publication number
FR2740235A1
FR2740235A1 FR9512527A FR9512527A FR2740235A1 FR 2740235 A1 FR2740235 A1 FR 2740235A1 FR 9512527 A FR9512527 A FR 9512527A FR 9512527 A FR9512527 A FR 9512527A FR 2740235 A1 FR2740235 A1 FR 2740235A1
Authority
FR
France
Prior art keywords
access
microcontroller
address
information
areas
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
FR9512527A
Other languages
French (fr)
Other versions
FR2740235B1 (en
Inventor
Valery Henault
Jean Paul Cloup
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.)
Automobiles Peugeot SA
Original Assignee
Automobiles Peugeot SA
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 Automobiles Peugeot SA filed Critical Automobiles Peugeot SA
Priority to FR9512527A priority Critical patent/FR2740235B1/en
Publication of FR2740235A1 publication Critical patent/FR2740235A1/en
Application granted granted Critical
Publication of FR2740235B1 publication Critical patent/FR2740235B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

The controller (6) provides dynamic control of access by a microcontroller (2) to memory (3). The memory is divided into zones with different programs having access only to their own zone. The controller generates an error signal that is sent to an error handler (8) in the event of an attempt at access to an unauthorised zone. The controller compares access information to predetermined reference information associated with each storage zone. The reference information is stored in the memory of the controller. The comparison determines whether the access address is in the allowed address range.

Description

La présente invention concerne un dispositif de contrôle du fonctionnement d'un système électronique embarqué à bord d'un véhicule automobile. The present invention relates to a device for controlling the operation of an electronic system on board a motor vehicle.

Plus particulièrement, la présente invention concerne un dispositif du type comportant une unité de traitement d'informations à base de micro-contrôleur associé à des moyens de mémorisation comportant des zones de stockage de codes correspondant à différents programmes exécutables par le micro-contrôleur et, pour chaque programme exécutable, au moins une zone autorisée de stockage de données accessible en écriture et/ou en lecture par le micro-controleur.  More particularly, the present invention relates to a device of the type comprising an information processing unit based on a microcontroller associated with storage means comprising areas for storing codes corresponding to different programs executable by the microcontroller and, for each executable program, at least one authorized data storage area accessible for writing and / or reading by the microcontroller.

Ce type de systèmes électroniques a été développé dans l'état de la technique pour permettre l'utilisation d'un nombre limité d'unités de traitement d'informations remplissant différentes fonctions de contrôle de différents organes fonctionnels du véhicule, tels que par exemple les moyens de suspension de celui-ci, les moyens de contrôle du fonctionnement du moteur de celui-ci, etc... This type of electronic system has been developed in the state of the art to allow the use of a limited number of information processing units fulfilling different control functions of different functional organs of the vehicle, such as for example the means of suspension thereof, means of controlling the operation of the engine thereof, etc.

Cependant, le développement important de ces systèmes embarqués fait considérablement croître la taille du logiciel correspondant, qui devient ainsi un constituant critique dans ces systèmes. De plus, dans de nombreuses applications, ayant des niveaux de criticité différents, plusieurs fonctions sont amenées à cohabiter sur un même support physique, c'est-à-dire sur une même unité de traitement d'informations. However, the significant development of these embedded systems considerably increases the size of the corresponding software, which thus becomes a critical component in these systems. In addition, in many applications, having different levels of criticality, several functions are brought to coexist on the same physical support, that is to say on the same information processing unit.

Or, les unités de ce type peuvent être perturbées par l'environnement du véhicule, c'est-à-dire par exemple par des champs électriques ou des champs électromagnétiques, la température, l'humidité de l'air, ou encore des secousses liées à des inégalités de la route, etc....  However, units of this type can be disturbed by the environment of the vehicle, that is to say for example by electric fields or electromagnetic fields, temperature, air humidity, or even tremors. linked to road inequalities, etc ...

Différentes sécurités doivent alors être envisagées et ce d'autant plus que certaines fonctions, comme par exemple celle liée au freinage, sont plus critiques que d'autres, comme par exemple celle liée à l'éclairage intérieur du véhicule. Different safety measures must then be considered, all the more so since certain functions, such as that linked to braking, are more critical than others, such as that linked to the interior lighting of the vehicle.

Ces sécurités doivent mettre en oeuvre des techniques de sécurisation du fonctionnement du système. These securities must implement techniques for securing the operation of the system.

Cependant, toutes les techniques connues de tolérances aux fautes logicielles par diversification et de segmentation mémoire par contrôleur MMU (Memory Management Unit) ne sont pas utilisables. En effet, ces techniques, efficaces lorsque l'application est répartie sur des supports physiques différents, ce qui est le cas par exemple des systèmes embarqués de l'avionique, ne sont pas adaptées à la problématique des véhicules automobiles car la contrainte de coût est beaucoup plus forte. However, all the known techniques for tolerating software faults by diversification and memory segmentation by MMU (Memory Management Unit) controller cannot be used. Indeed, these techniques, effective when the application is distributed on different physical supports, which is the case for example of on-board avionics systems, are not adapted to the problem of motor vehicles because the cost constraint is much stronger.

Du fait de cette forte contrainte de coût, les systèmes embarqués à bord des véhicules automobiles doivent être du type monoprocesseur. Une solution envisageable est alors le VCP (vital coded processor) utilisé dans le domaine ferroviaire. Cependant, cette approche basée sur un concept de redondance purement informationnelle n'est pas adaptée aux applications automobiles. En effet, l'introduction d'un code arithmétique pour chaque donnée mémoire est beaucoup trop contraignante aujourd'hui, en terme de place mémoire et par conséquent en terme de coût. Due to this high cost constraint, the systems on board motor vehicles must be of the monoprocessor type. A possible solution is then the VCP (vital coded processor) used in the railway sector. However, this approach based on a purely informational redundancy concept is not suitable for automotive applications. Indeed, the introduction of an arithmetic code for each memory datum is far too restrictive today, in terms of memory space and therefore in terms of cost.

Cette technique d'analyse de signature utilisée par le VCP détecte les erreurs de séquencements et les erreurs de mémorisation. L'utilisation de cette technique impose alors un programme déterministe fonctionnant par cycle au cours duquel la signature globale, calculée en ligne, est comparée à une signature de référence. Cette technique d'analyse de signature est efficace lorsque le programme comporte peu de boucles. En effet, dans le cas où il existe des boucles, des sauts, ou encore des interruptions etc..., il est nécessaire de rajouter des signatures d'ajustement, indispensables pour obtenir une invariance sur la signature globale. This signature analysis technique used by the VCP detects sequencing errors and storage errors. The use of this technique then imposes a deterministic program operating by cycle during which the global signature, calculated online, is compared to a reference signature. This signature analysis technique is effective when the program has few loops. Indeed, in the case where there are loops, jumps, or even interruptions etc ..., it is necessary to add adjustment signatures, essential to obtain an invariance on the global signature.

Or, beaucoup d'applications automobiles, comme les systèmes de multiplexage par exemple, utilisent de nombreuses manipulations de données de type bits, ce qui entraîne une utilisation considérable d'instructions de type "test et branchement". L'utilisation de la technique d'analyse de signature dans ces conditions nécessite alors d incorporer un très grand nombre de signatures d'ajustement qui consomment une place mémoire importante. However, many automotive applications, such as multiplexing systems for example, use numerous manipulations of bit type data, which results in considerable use of "test and branching" instructions. The use of the signature analysis technique under these conditions then requires incorporating a very large number of adjustment signatures which consume a large memory space.

De plus, l'utilisation de ces techniques nécessite l'utilisation d'outils spécifiques et en particulier d'un logiciel pour le calcul des signatures de référence. In addition, the use of these techniques requires the use of specific tools and in particular software for the calculation of reference signatures.

Toutes les contraintes spécifiques au secteur automobile rendent dès lors ce type de mécanismes très difficile à implanter et à gérer pour des systèmes tels que le contrôle du fonctionnement d'un moteur, le contrôle du fonctionnement d'une boîte de vitesse automatique ou encore le contrôle du fonctionnement d'un calculateur de multiplexage carrosserie, etc.....  All the constraints specific to the automotive sector therefore make this type of mechanism very difficult to set up and manage for systems such as checking the operation of an engine, checking the operation of an automatic gearbox or even checking of the operation of a bodywork multiplexing computer, etc.

La cohabitation dans une même unité de traitement d'informations de fonctions avec des niveaux de criticité différents rend d'autant plus difficile la maîtrise de la sûreté de fonctionnement de ces systèmes embarqués. The coexistence in one and the same function information processing unit with different levels of criticality makes it all the more difficult to control the dependability of these on-board systems.

De ce fait, il est nécessaire de développer un dispositif de contrôle spécifique pour le test en ligne qui permet de résoudre les différents problèmes évoqués précédemment. Therefore, it is necessary to develop a specific control device for the online test which makes it possible to solve the various problems mentioned above.

A cet effet, l'invention a pour objet un dispositif de contrôle du fonctionnement d'un système électronique embarqué à bord d'un véhicule automobile, du type comportant une unité de traitement d'informations à base de micro-contrôleur associé à des moyens de mémorisation comportant des zones de stockage de codes correspondant à différents programmes exécutables par le micro-contrôleur et pour chaque programme exécutable, au moins une zone de stockage de données accessible en écriture et/ou en lecture par le micro-contrôleur, caractérisé en ce qu'il comporte des moyens de contrôle en dynamique des accès par le micro-contrôleur aux zones de stockage pour engendrer un signal d'erreur en direction de moyens de traitement d'erreurs, en cas de tentative d'accès ou d' accès du micro-contrôleur à des zones non-autorisées. To this end, the subject of the invention is a device for controlling the operation of an electronic system on board a motor vehicle, of the type comprising an information processing unit based on a microcontroller associated with means storage unit comprising code storage areas corresponding to different programs executable by the microcontroller and for each executable program, at least one data storage area accessible for writing and / or reading by the microcontroller, characterized in that that it includes means for dynamically controlling access by the microcontroller to the storage areas to generate an error signal in the direction of error processing means, in the event of an access attempt or access from the microcontroller to unauthorized areas.

Les moyens de contrôle peuvent en outre être agencés pour valider ou non l'accès à une zone de stockage. The control means can also be arranged to validate or not the access to a storage area.

Avantageusement, les moyens de contrôle comportent des moyens de comparaison d'informations d'accès à des informations de référence prédéterminées associées aux zones de stockage. Advantageously, the control means comprise means for comparing access information with predetermined reference information associated with the storage areas.

L'invention sera mieux comprise à l'aide de la description qui va suivre donnée uniquement à titre d'exemple et faite en se référant aux dessins annexés sur lesquels
- la Fig. 1 représente un schéma synoptique illustrant la structure générale d'une unité de traitement d'informations
- la Fig. 2 illustre de façon générale un schéma synoptique montrant l'implantation d'un dispositif de contrôle selon l'invention;
- la Fig. 3 illustre les différents accès dans un tel dispositif;
- la Fig. 4 représente un schéma synoptique illustrant le fonctionnement d'un tel dispositif;
- la Fig. 5 represente un tableau illustrant un exemple de réalisation d'un descripteur utilisé dans un dispositif de contrôle selon l'invention; et
- la Fig. 6 représente un schéma synoptique illustrant les différents éléments entrant dans la constitution d'un dispositif de contrôle selon l'invention.
The invention will be better understood with the aid of the description which follows, given solely by way of example and made with reference to the appended drawings in which
- Fig. 1 represents a block diagram illustrating the general structure of an information processing unit
- Fig. 2 illustrates in general a block diagram showing the installation of a control device according to the invention;
- Fig. 3 illustrates the different accesses in such a device;
- Fig. 4 shows a block diagram illustrating the operation of such a device;
- Fig. 5 represents a table illustrating an exemplary embodiment of a descriptor used in a control device according to the invention; and
- Fig. 6 shows a block diagram illustrating the various elements forming part of a control device according to the invention.

Ainsi qu'on peut le voir sur les Figs. 1, 2 et 3, un dispositif de contrôle selon l'invention permet de contrôler le fonctionnement d'un système électronique embarqué à bord d'un véhicule automobile, qui comporte une unité de traitement d'informations désignée par la référence générale 1 à base de micro-contrôleur désigné par la référence générale 2 associé à des moyens de mémorisation désignés par la référence générale 3. Ces moyens de mémorisation comportent des zones de stockage de codes correspondant à différents programmes exécutables par le micro-contrôleur et pour chaque programme exécutable, au moins une zone de stockage de données, accessible en écriture et/ou en lecture par le micro-contrôleur. As can be seen in Figs. 1, 2 and 3, a control device according to the invention makes it possible to control the operation of an electronic system on board a motor vehicle, which comprises an information processing unit designated by the general reference 1 based on micro-controller designated by the general reference 2 associated with storage means designated by the general reference 3. These storage means comprise areas for storing codes corresponding to different programs executable by the microcontroller and for each executable program, at least one data storage area, accessible for writing and / or reading by the microcontroller.

Les zones de stockage de codes correspondant aux différents programmes exécutables par le micro-contrôleur sont désignés par la référence générale 4 sur la Fig. 3, tandis que les zones de stockage des données accessibles en écriture et/ou en lecture par ce micro-contrôleur sont désignées par la référence générale 5 sur cette figure. The code storage areas corresponding to the different programs executable by the microcontroller are designated by the general reference 4 in FIG. 3, while the data storage areas accessible for writing and / or reading by this microcontroller are designated by the general reference 5 in this figure.

C'est ainsi qu'une zone de programme A a accès à deux zones de stockage de données Al et A2, tandis qu'une zone de programme B a accès à deux zones de stockage de données B1 et B2. Thus a program area A has access to two data storage areas A1 and A2, while a program area B has access to two data storage areas B1 and B2.

Selon l'invention, le dispositif de contrôle comporte des moyens de contrôle en dynamique des accès par le micro-contrôleur aux zones de stockage de codes et de données, pour engendrer un signal d'erreur en direction de moyens de traitement d'erreurs, en cas de tentative d'accès ou d'accès du micro-contrôleur à des zones nonautorisées.  According to the invention, the control device comprises means for dynamic control of the accesses by the microcontroller to the code and data storage areas, to generate an error signal in the direction of error processing means, in the event of an attempt to access or access the microcontroller to non-authorized areas.

Dans l'exemple décrit ici, les moyens de contrôle sont en outre agencés pour valider ou non les accès aux zones de données. In the example described here, the control means are further arranged to validate or not the access to the data areas.

Sur la figure 2, ces moyens de contrôle sont appelés CAM (Contrôleur d'Accès Mémoire) et désignés par la référence générale 6 et comprennent par exemple une zone de descripteur désignée par la référence générale 7 sur la Fig. 3, qui sera décrite plus en détail par la suite, tandis que les moyens de traitement d'erreurs sont désignés par la référence générale 8 sur la Fig. 2. In FIG. 2, these control means are called CAM (Memory Access Controller) and designated by the general reference 6 and include for example a descriptor area designated by the general reference 7 in FIG. 3, which will be described in more detail below, while the error processing means are designated by the general reference 8 in FIG. 2.

Ce dispositif permet alors par comparaison d'informations d'accès à des informations de référence (descripteur) d'assurer une protection mémoire entre les différentes zones de codes correspondant à des logiciels qui ont des niveaux de criticité différents. This device then makes it possible, by comparison of access information to reference information (descriptor), to provide memory protection between the different code areas corresponding to software which have different levels of criticality.

En effet, les principaux risques inhérents à la cohabitation de plusieurs logiciels sur un même support concernent l'altération illicite d'informations utilisées par un logiciel critique ou l'activation illicite d'une partie de son code à partir d'un logiciel non critique. Le principe de prévention mis en oeuvre par le présent dispositif repose sur l'utilisation de clés d'accès à des zones mémoire. Ainsi, à chaque zone de code programme définie, deux zones mémoire spécifiques sont accessibles en lecture et/ou en écriture. Ceci permet ainsi de confiner des zones d'accès en fonction de la criticité d'un logiciel. La vérification des droits d'accès est alors effectuée en dynamique par le dispositif selon l'invention qui engendre une alarme dès que le logiciel exécuté n'est pas ou n'est plus dans la zone prédéfinie ou qu'une tentative d'accès à une zone mémoire interdite est détectée. Indeed, the main risks inherent in the cohabitation of several software on the same support relate to the illicit alteration of information used by critical software or the illicit activation of part of its code from non-critical software . The prevention principle implemented by the present device is based on the use of access keys to memory areas. Thus, for each defined program code area, two specific memory areas are accessible for reading and / or writing. This thus makes it possible to confine access zones according to the criticality of a software. The verification of the access rights is then carried out dynamically by the device according to the invention which generates an alarm as soon as the software executed is not or is no longer in the predefined area or an attempt to access a prohibited memory area is detected.

Ce dispositif est avant tout un dispositif de surveillance et l'utilisation de ce dispositif n'est pas permanente mais s' effectue à la demande de manière à contrôler l'exécution de certaines zones de code. This device is above all a monitoring device and the use of this device is not permanent but is done on demand so as to control the execution of certain code areas.

Ce dispositif permet alors de compléter efficacement les mécanismes déjà connus dans l'état de la technique, tels que les auto-tests ; etc... This device then makes it possible to effectively complete the mechanisms already known in the state of the art, such as self-tests; etc ...

Afin d'optimiser les ressources matérielles du système, une seule clé, c'est à dire un descripteur unique, peut être utilisée à la fois. L'ensemble des descripteurs nécessaires à l'utilisation et à la protection des zones mémoire est implanté de façon logicielle dans le dispositif. Chaque structure de données est protégée par l'adjonction d'un code de compaction qui représente sa signature propre. La structure de données est transférée vers l'unité de traitement lors d'une demande d'utilisation du dispositif. Les zones de protection peuvent ainsi être allouées dynamiquement en fonction des besoins des ressources mémoire. In order to optimize the hardware resources of the system, only one key, ie a unique descriptor, can be used at a time. All of the descriptors necessary for the use and protection of the memory areas are implemented in software in the device. Each data structure is protected by the addition of a compaction code which represents its own signature. The data structure is transferred to the processing unit when the device is used. The protection zones can thus be allocated dynamically according to the needs of the memory resources.

Sur la base du principe représenté sur la Fig. Based on the principle shown in FIG.

3, la Fig. 4 représente une première structure fonctionnelle générale du dispositif de contrôle selon l'invention.3, FIG. 4 shows a first general functional structure of the control device according to the invention.

Trois blocs fonctionnels principaux peuvent être discernés. Le premier bloc est un bloc de gestion désigné par la référence générale 9 qui est activé lors de la réception d'un accès. Three main functional blocks can be discerned. The first block is a management block designated by the general reference 9 which is activated when an access is received.

Lorsqu'il s'agit d'un accès au dispositif de contrôle, ce bloc de gestion 9 transfère la donnée reçue vers un bloc d'analyse et de calcul de signature désigné par la référence générale 10. When it comes to access to the control device, this management block 9 transfers the data received to a signature analysis and calculation block designated by the general reference 10.

Ce dernier met en forme le descripteur reçu et calcule en ligne la signature attendue. Si la signature n'est pas correcte, alors une erreur est engendrée. The latter formats the descriptor received and calculates the expected signature online. If the signature is not correct, then an error is generated.

Lorsque l'accès concerne une zone programme, chaque adresse d'instruction est positionnée dans adr-Prg. De la même façon, chaque demande d'accès à une zone de variables est positionnée dans adr-var.When the access concerns a program zone, each instruction address is positioned in adr-Prg. In the same way, each request to access a variable zone is positioned in adr-var.

Le bloc de gestion 9 engendre le signal ACTIVE qui vérifie en direct la demande d'accès. Si la demande d'accès à une zone de données est correcte, un bloc VALIDE 11 autorise l'accès, sinon l'accès est bloqué et/ou une erreur est engendrée en direction des moyens de traitement d'erreurs. Si la demande d'accès pour l'exécution d'une zone programme est incorrecte, alors une erreur est engendrée en direction des moyens de traitement d'erreurs. The management block 9 generates the ACTIVE signal which verifies the access request directly. If the request for access to a data area is correct, a VALID block 11 authorizes access, otherwise access is blocked and / or an error is generated in the direction of the error processing means. If the access request for the execution of a program zone is incorrect, then an error is generated in the direction of the error processing means.

On conçoit alors que les trois entités concernées par le dispositif de contrôle sont le micro-contrôleur 2, les moyens de mémorisation 3 et les moyens de traitement d'erreurs 8. It can therefore be seen that the three entities concerned by the control device are the microcontroller 2, the storage means 3 and the error processing means 8.

La variable caractéristique du micro-contrôleur est l'information ACCES. Celle-ci est émise par le microcontrôleur lorsqu'il désire accéder à l'un de ses périphériques. The characteristic variable of the microcontroller is the ACCESS information. This is issued by the microcontroller when it wishes to access one of its peripherals.

La variable caractéristique des moyens de mémorisation est le signal correspondant à la validation de l'accès mémoire. The characteristic variable of the storage means is the signal corresponding to the validation of the memory access.

Enfin, la variable qui caractérise les moyens de traitement d'erreurs est la variable ERREUR engendrée par le dispositif pour indiquer un accès non autorisé aux moyens de mémorisation (interruption et levée d'un drapeau (flag)). Finally, the variable which characterizes the error processing means is the ERROR variable generated by the device to indicate unauthorized access to the storage means (interruption and raising of a flag).

Le micro-contrôleur est couplé au dispositif de contrôle des accès mémoire par l'intermédiaire de la variable ACCES. Cette information comporte plusieurs champs qui seront définis plus en détail par la suite. The microcontroller is coupled to the memory access control device via the variable ACCES. This information includes several fields which will be defined in more detail later.

Physiquement, ces champs sont transmis par les bus de données, d'adresse et de contrôle du micro-contrôleur.Physically, these fields are transmitted by the data, address and control buses of the microcontroller.

Le comportement des moyens de mémorisation est purement passif et ceux-ci reçoivent ou émettent des données à la demande du micro-contrôleur.  The behavior of the storage means is purely passive and they receive or transmit data at the request of the microcontroller.

Ceci est également le cas des moyens de traitement des erreurs dont le rôle est de réagir au signal d'erreur. En pratique, les moyens de traitement d'erreurs doivent être vus comme un mécanisme de gestion des interruptions du micro-contrôleur. A l'occurrence d'une erreur une interruption est engendrée, ce qui provoque le déroutement du fonctionnement de ce micro-contrôleur vers un programme spécifique de façon classique. This is also the case of the error processing means, the role of which is to react to the error signal. In practice, the error handling means must be seen as a mechanism for managing the interrupts of the microcontroller. On the occurrence of an error, an interruption is generated, which causes the operation of this microcontroller to be diverted to a specific program in a conventional manner.

On conçoit alors que le rôle du dispositif de contrôle est de filtrer les accès du micro-contrôleur aux moyens de mémorisation. Ce dispositif a tout pouvoir pour censurer un accès mémoire lorsqu'il est interdit. La validation de l'accès s' effectue par comparaison des droits d'accès à une référence appelée précédemment descripteur. It can therefore be seen that the role of the control device is to filter the accesses of the microcontroller to the storage means. This device has all the power to censor memory access when it is prohibited. The validation of the access is carried out by comparison of the access rights to a reference previously called descriptor.

Le mode de chargement de cette référence importe peu pour la compréhension du fonctionnement du dispositif, mais dans ce cas on pourra noter qu'il s'effectue par écriture successive dans un espace mémoire du dispositif, réservé au stockage des informations de descripteur. The method of loading this reference does not matter for understanding the operation of the device, but in this case it may be noted that it is carried out by successive writing in a memory space of the device, reserved for the storage of descriptor information.

En fait, les moyens de contrôle comportent des moyens de comparaison d'informations d'accès à des informations de référence prédéterminées associées aux zones de stockage. In fact, the control means comprise means for comparing access information with predetermined reference information associated with the storage areas.

Ces informations de référence sont stockées de préférence dans des moyens de mémorisation des moyens de contrôle et les informations d'accès et les informations de référence peuvent être des adresses d'accès aux zones de stockage. This reference information is preferably stored in storage means of the control means and the access information and the reference information can be addresses for accessing the storage areas.

Trois types de comparaison peuvent alors être mis en oeuvre et évalués. Three types of comparison can then be implemented and evaluated.

Le premier type de test concerne la validation de la sortie, c'est-à-dire de l'accès, si la valeur d'entrée est comprise dans un intervalle autorisé, c'est-à dire entre une référence minimum (adresse basse) et une référence maximum (adresse haute). The first type of test concerns the validation of the output, i.e. access, if the input value is within an authorized interval, i.e. between a minimum reference (low address ) and a maximum reference (high address).

Le format du descripteur pour une adresse (programme ou variable) est alors de deux mots par exemple de 16 bits comportant une adresse haute et une adresse basse. The format of the descriptor for an address (program or variable) is then two words for example of 16 bits comprising a high address and a low address.

Le second type de test concerne la validation de la sortie si la valeur d'entrée est comprise entre une référence minimum (adresse basse) et cette référence minimum additionnée d'un décalage variable (adresse basse plus décalage). The second type of test concerns the validation of the output if the input value is between a minimum reference (low address) and this minimum reference plus a variable offset (low address plus offset).

Le format du descripteur pour une adresse est alors d'un mot de 16 bits par exemple (adresse basse) et un mot de 8 bits (décalage). The format of the descriptor for an address is then of a word of 16 bits for example (low address) and a word of 8 bits (offset).

Le troisième type de test concerne la validation de la sortie si la valeur d'entrée est comprise entre une référence minimum et cette référence minimum additionnée d'un décalage fixe. The third type of test concerns the validation of the output if the input value is between a minimum reference and this minimum reference plus a fixed offset.

Le format du descripteur pour une adresse est alors d'un mot de 16 bits (adresse basse) tandis que le format du décalage est fixé une fois pour toute. The format of the descriptor for an address is then a word of 16 bits (low address) while the format of the offset is fixed once and for all.

Deux critères guident le choix de l'un de ces trois types de test, ces critères étant l'encombrement et la rapidité. Two criteria guide the choice of one of these three types of test, these criteria being the size and speed.

Plus l'encombrement est faible, plus grande est la probabilité d'intégrer toutes les fonctions dans un même composant. Plus un algorithme est rapide, meilleures sont les chances d'obtenir un résultat probant dans une application où le facteur temps est crucial. I1 est à noter qu'une méthode favorise souvent l'un au détriment de 1 'autre.  The smaller the footprint, the greater the probability of integrating all the functions in the same component. The faster an algorithm, the better the chances of obtaining a convincing result in an application where the time factor is crucial. It should be noted that one method often favors one to the detriment of the other.

En plus des informations de définition des zones d'adresse, le descripteur comporte également des informations pour la définition des droits d'accès aux zones de variables, celles-ci pouvant être les quatre bits de poids faibles pour les droits d'accès de la zone de variables 1 et les quatre bits de poids forts pour les droits d'accès de la zone de variables 2 et une information de somme de contrôle "Checksum" pour la vérification de la validité du descripteur après son chargement. In addition to the information for defining the address areas, the descriptor also includes information for defining the access rights to the variable areas, which may be the four least significant bits for the access rights of the variable zone 1 and the four most significant bits for the access rights of variable zone 2 and a checksum information item "Checksum" for checking the validity of the descriptor after its loading.

Au vu de ceci, les deux derniers types de test décrits précédemment présentent l'inconvénient de nécessiter une addition. Or, cette opération est très consommatrice en temps et en cellules. Le premier type de test établit un bon compromis entre les deux critères, le pourcentage d'occupation du circuit est plus faible et le temps de réaction est tout à fait correct. I1 ne faut toutefois pas oublier son inconvénient principal qui concerne le fait que le descripteur présente globalement un encombrement plus important. Par conséquent, si il est modifié très souvent, le temps du micro-contrôleur consacré à l'écriture des champs augmentera considérablement. In view of this, the last two types of test described above have the drawback of requiring an addition. However, this operation consumes a lot of time and cells. The first type of test establishes a good compromise between the two criteria, the percentage of occupation of the circuit is lower and the reaction time is completely correct. I1 should not however forget its main drawback which concerns the fact that the descriptor overall has a larger bulk. Consequently, if it is modified very often, the time of the microcontroller devoted to writing the fields will increase considerably.

Le format retenu pour le descripteur est alors par exemple celui donné dans le tableau de la Fig. 5. The format used for the descriptor is then for example that given in the table of FIG. 5.

Une zone programme (Prog) ou variable (Var 1 ou
Var 2) est délimitée par son adresse basse et son adresse haute. Celles-ci comportant deux octets par exemple, les poids forts (PFO) et les poids faibles (PFA) doivent être définis successivement pour chacune d'elles.
A program (Prog) or variable (Var 1 or
Var 2) is delimited by its low address and its high address. These comprising two bytes for example, the most significant (PFO) and the least significant (PFA) must be defined successively for each of them.

Les informations Var l-type-autorisé et Var 2type-autorisé définissent respectivement les types d'accès autorisés aux zones correspondantes, c'est à dire lecture, écriture ou lecture/écriture pour les zones de variables 1 et 2. The information Var l-type-authorized and Var 2type-authorized respectively define the types of access authorized to the corresponding zones, that is to say read, write or read / write for the zones of variables 1 and 2.

Sur la Fig. 6, on a représenté de façon plus précise l'organisation d'un dispositif de contrôle selon l'invention. In Fig. 6, the organization of a control device according to the invention has been shown more precisely.

Ce dispositif se décompose en cinq blocs fondamentaux, à savoir un bloc de contrôle et de gestion de descripteur désigné par la référence générale 12, qui comporte un algorithme de gestion du chargement de la variable descripteur et qui génère les signaux de commande nécessaires à la mémorisation des zones d'adresse et des droits d'accès dans les blocs Comp-Prog, Comp-Var 1 et
Comp-Var 2, désignés par les références 13, 14 et 15.
This device is broken down into five fundamental blocks, namely a descriptor control and management block designated by the general reference 12, which includes an algorithm for managing the loading of the descriptor variable and which generates the control signals necessary for storage. address areas and access rights in the Comp-Prog, Comp-Var 1 and
Comp-Var 2, designated by the references 13, 14 and 15.

Le bloc Comp-Prog 13 comprend les registres de stockage des adresses de définition de la zone programme du descripteur. Lors de l'exécution d'une instruction (cycle code opératoire ou Opcode), il génère un signal qui indique si l'adresse présente sur le bus d'adresse est ou non comprise dans la zone programme autorisée. The Comp-Prog block 13 includes the registers for storing the definition addresses of the descriptor program area. When executing an instruction (operating code or Opcode cycle), it generates a signal which indicates whether or not the address on the address bus is included in the authorized program area.

Les blocs Comp-Var 1 et Comp-Var 2 sont identiques et comprennent respectivement les registres de stockage des adresses de définition des zones de variables 1 et 2. Ils fournissent également les signaux qui indiquent si l'adresse d'accès aux moyens de mémorisation présente sur le bus d'adresse se situe dans les zones de variables autorisées et si les droits d'accès sont respectés. Pour ajouter une zone de variable supplémentaire au descripteur il suffit de créer un autre bloc Comp-Var N portant la référence 16. Les blocs présentés précédemment ne sont pas modifiés. The blocks Comp-Var 1 and Comp-Var 2 are identical and respectively include the registers for storing the addresses for defining the areas of variables 1 and 2. They also supply the signals which indicate whether the address for accessing the storage means present on the address bus is located in the authorized variable zones and if the access rights are respected. To add an additional variable zone to the descriptor, simply create another Comp-Var N block bearing the reference 16. The blocks presented previously are not modified.

Le bloc de sorties 17 met en forme les signaux issus des blocs de comparaison pour fournir les signaux
VALIDE ACCES ou ERREUR, exploitables par les moyens de mémorisation et le micro-contrôleur.
The output block 17 formats the signals from the comparison blocks to supply the signals
VALID ACCESS or ERROR, usable by the storage means and the microcontroller.

Le fonctionnement de ce dispositif est contrôlé par le micro-contrôleur par l'intermédiaire d'un bloc de supervision 18 qui a pour rôle d'assurer l'activation ou la désactivation de ce dispositif en fonction des requetes du micro-contrôleur. The operation of this device is controlled by the microcontroller via a supervisory block 18 which has the role of ensuring the activation or deactivation of this device according to the requests of the microcontroller.

On conçoit alors que dans le dispositif selon l'invention les moyens de contrôle sont adaptés pour comparer des informations d'accès, telle qu'une adresse, à des informations de référence pour déterminer si ces informations d'accès correspondent à des zones mémoire accessibles. It can therefore be seen that in the device according to the invention, the control means are suitable for comparing access information, such as an address, with reference information to determine whether this access information corresponds to accessible memory areas. .

Ceci permet d'assurer une protection des zones mémoire contre des accès non autorisés et d'améliorer la fiabilité de fonctionnement du système. This makes it possible to protect the memory areas against unauthorized access and to improve the operating reliability of the system.

Le dispositif objet de l'invention présente des avantages particulièrement intéressants dont le principal est de ne nécessiter qu'une faible surface de silicium, ce qui d'une part, réduit le coût de l'installation et, d'autre part, facilite son intégration dans un microcontrôleur, ce qui le rend particulièrement bien adapté pour des applications automobiles. The device which is the subject of the invention has particularly advantageous advantages, the main one being that it requires only a small surface area of silicon, which on the one hand reduces the cost of the installation and, on the other hand, facilitates its integration in a microcontroller, which makes it particularly well suited for automotive applications.

Enfin, on notera que les moyens de contrôle peuvent être disposés d'un manière quelconque, par exemple intégrés au micro-contrôleur ou dans la mémoire ou encore comme un périphérique externe.  Finally, it will be noted that the control means can be arranged in any way, for example integrated into the microcontroller or in the memory or even as an external device.

Claims (15)

REVENDICATIONS 1. Dispositif de contrôle du fonctionnement d'un système électronique embarqué à bord d'un véhicule automobile, du type comportant une unité (1) de traitement d'informations à base de micro-contrôleur (2) associé à des moyens de mémorisation (3) comportant des zones (4) de stockage de codes correspondant à différents programmes exécutables par le micro-contrôleur et, pour chaque programme exécutable, au moins une zone (5) de stockage de données accessible en écriture et/ou en lecture par le micro-contrôleur, caractérisé en ce qu'il comporte des moyens (6) de contrôle en dynamique des accès par le micro-contrôleur (2) aux zones de stockage, pour engendrer un signal d'erreur en direction de moyens de traitement d'erreurs (8) en cas de tentative d'accès ou d'acces du micro-contrôleur à des zones non-autorisées. 1. Device for controlling the operation of an electronic system on board a motor vehicle, of the type comprising a unit (1) for processing information based on a microcontroller (2) associated with storage means ( 3) comprising areas (4) for storing codes corresponding to different programs executable by the microcontroller and, for each executable program, at least one area (5) for storing data accessible in writing and / or in reading by the microcontroller, characterized in that it includes means (6) for dynamic control of access by the microcontroller (2) to the storage areas, to generate an error signal in the direction of processing means errors (8) in the event of an attempt to access or access the microcontroller to unauthorized areas. 2. Dispositif selon la revendication 1, caractérisé en ce que les moyens de contrôle (6) sont en outre agencés pour valider ou non l'accès à une zone de stockage. 2. Device according to claim 1, characterized in that the control means (6) are further arranged to validate or not access to a storage area. 3. Dispositif selon la revendication 1 ou 2, caractérisé en ce que les moyens de contrôle comprennent des moyens (9, 10, 11, 12, 13, 14, 15, 16) de comparaison d'informations d'accès à des informations de référence (7) prédéterminées associées aux zones de stockage. 3. Device according to claim 1 or 2, characterized in that the control means comprise means (9, 10, 11, 12, 13, 14, 15, 16) for comparing information of access to information of predetermined reference (7) associated with the storage areas. 4. Dispositif selon la revendication 3, caractérisé en ce que les informations de référence sont stockées dans des moyens de mémorisation (13, 14, 15,16) des moyens de contrôle. 4. Device according to claim 3, characterized in that the reference information is stored in storage means (13, 14, 15, 16) of the control means. 5. Dispositif selon la revendication 3 ou 4, caractérisé en ce que les informations d'accès et les informations de référence sont des adresses d'accès aux zones de stockage. 5. Device according to claim 3 or 4, characterized in that the access information and the reference information are addresses for accessing the storage areas. 6. Dispositif selon la revendication 5, caractérisé en ce que les moyens de comparaison sont adaptés pour déterminer si l'adresse d'accès est comprise dans un intervalle autorisé. 6. Device according to claim 5, characterized in that the comparison means are adapted to determine whether the access address is within an authorized interval. 7. Dispositif selon la revendication 6, caractérisé en ce que ledit intervalle autorisé est déterminé à partir des informations de référence qui comprennent une adresse basse et une adresse haute. 7. Device according to claim 6, characterized in that said authorized interval is determined from reference information which includes a low address and a high address. 8. Dispositif selon la revendication 6, caractérisé en ce que les informations de référence comprennent une adresse basse et une valeur de décalage d'adresse et en ce que les moyens de comparaison sont adaptés pour déterminer si l'adresse d'accès est comprise entre l'adresse basse et l'adresse basse plus la valeur de décalage. 8. Device according to claim 6, characterized in that the reference information comprises a low address and an address offset value and in that the comparison means are adapted to determine whether the access address is between the low address and the low address plus the offset value. 9. Dispositif selon la revendication 8, caractérisé en ce que la valeur de décalage est fixe. 9. Device according to claim 8, characterized in that the offset value is fixed. 10. Dispositif selon la revendication 8, caractérisé en ce que la valeur de décalage est variable. 10. Device according to claim 8, characterized in that the offset value is variable. 11. Dispositif selon l'une quelconque des revendications 3 à 10, caractérisé en ce que les informations de référence comprennent des informations de définition des autorisations d'accès à l'une ou l'autre des zones (5) de stockage de données accessibles par le micro-contrôleur (2). 11. Device according to any one of claims 3 to 10, characterized in that the reference information includes information defining the access authorizations to one or other of the accessible data storage areas (5) by the microcontroller (2). 12. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que son fonctionnement est contrôlé par le micro-contrôleur (2) par l'intermédiaire d'un bloc de supervision (18) qui a pour rôle d'assurer l'activation ou la désactivation de ce dispositif en fonction des requêtes du micro-contrôleur. 12. Device according to any one of the preceding claims, characterized in that its operation is controlled by the microcontroller (2) by means of a supervision block (18) which has the role of ensuring the activation or deactivation of this device according to requests from the microcontroller. 13. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que les moyens de contrôle (6) sont intégrés dans le micro-contrôleur (2). 13. Device according to any one of the preceding claims, characterized in that the control means (6) are integrated in the microcontroller (2). 14. Dispositif selon l'une quelconque des revendications 1 à 12, caractérisé en ce que les moyens de contrôle (6) sont intégrés dans les moyens de mémorisation (3). 14. Device according to any one of claims 1 to 12, characterized in that the control means (6) are integrated in the storage means (3). 15. Dispositif selon l'une quelconque des revendications 1 à 12, caractérisé en ce que les moyens de contrôle (6) sont disposés comme un périphérique externe.  15. Device according to any one of claims 1 to 12, characterized in that the control means (6) are arranged as an external device.
FR9512527A 1995-10-24 1995-10-24 DEVICE FOR MONITORING THE OPERATION OF AN ELECTRONIC SYSTEM ON BOARD ON BOARD OF A MOTOR VEHICLE Expired - Fee Related FR2740235B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR9512527A FR2740235B1 (en) 1995-10-24 1995-10-24 DEVICE FOR MONITORING THE OPERATION OF AN ELECTRONIC SYSTEM ON BOARD ON BOARD OF A MOTOR VEHICLE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9512527A FR2740235B1 (en) 1995-10-24 1995-10-24 DEVICE FOR MONITORING THE OPERATION OF AN ELECTRONIC SYSTEM ON BOARD ON BOARD OF A MOTOR VEHICLE

Publications (2)

Publication Number Publication Date
FR2740235A1 true FR2740235A1 (en) 1997-04-25
FR2740235B1 FR2740235B1 (en) 1997-12-12

Family

ID=9483863

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9512527A Expired - Fee Related FR2740235B1 (en) 1995-10-24 1995-10-24 DEVICE FOR MONITORING THE OPERATION OF AN ELECTRONIC SYSTEM ON BOARD ON BOARD OF A MOTOR VEHICLE

Country Status (1)

Country Link
FR (1) FR2740235B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2786289A1 (en) * 1998-11-24 2000-05-26 Secap Method for protecting data in a system including microprocessor e.g. franking machine by actuating microprocessor to generate stop or interruption every time during which data protection area is reached
WO2001063415A3 (en) * 2000-02-22 2002-10-03 Wind River Systems Inc Operating system having a system page and method for using same
DE102005060714A1 (en) * 2005-12-02 2007-06-14 Infineon Technologies Flash Gmbh & Co. Kg Data processing device, memory card, method of operating a data processing device and method of manufacturing a data processing device
EP1894101A1 (en) * 2005-06-23 2008-03-05 Bayerische Motorenwerke Aktiengesellschaft Method and apparatus for monitoring unauthorized access to the memory of an arithmetic unit, especially in a motor vehicle
EP2003559A3 (en) * 2007-03-30 2009-12-23 Faiveley Transport Italia S.p.A. Method for protecting the physical memory in a microprocessor system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4351050A (en) * 1979-03-23 1982-09-21 Nissan Motor Company, Limited Fail-safe control computer
EP0540095A1 (en) * 1991-10-30 1993-05-05 Philips Composants Et Semiconducteurs Microcircuit for an IC-card with protected programmable memory
US5325496A (en) * 1991-12-24 1994-06-28 Intel Corporation Selectable pointer validation in a computer system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4351050A (en) * 1979-03-23 1982-09-21 Nissan Motor Company, Limited Fail-safe control computer
EP0540095A1 (en) * 1991-10-30 1993-05-05 Philips Composants Et Semiconducteurs Microcircuit for an IC-card with protected programmable memory
US5325496A (en) * 1991-12-24 1994-06-28 Intel Corporation Selectable pointer validation in a computer system

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2786289A1 (en) * 1998-11-24 2000-05-26 Secap Method for protecting data in a system including microprocessor e.g. franking machine by actuating microprocessor to generate stop or interruption every time during which data protection area is reached
WO2000031645A1 (en) * 1998-11-24 2000-06-02 Secap Method and device for protection against access to a memory and franking machine using same
WO2001063415A3 (en) * 2000-02-22 2002-10-03 Wind River Systems Inc Operating system having a system page and method for using same
US6735666B1 (en) 2000-02-22 2004-05-11 Wind River Systems, Inc. Method of providing direct user task access to operating system data structures
US7467271B2 (en) 2000-02-22 2008-12-16 Wind River Systems, Inc. Operating system permitting limited access to a system page
EP1894101A1 (en) * 2005-06-23 2008-03-05 Bayerische Motorenwerke Aktiengesellschaft Method and apparatus for monitoring unauthorized access to the memory of an arithmetic unit, especially in a motor vehicle
DE102005060714A1 (en) * 2005-12-02 2007-06-14 Infineon Technologies Flash Gmbh & Co. Kg Data processing device, memory card, method of operating a data processing device and method of manufacturing a data processing device
US7502916B2 (en) 2005-12-02 2009-03-10 Infineon Technologies Flash Gmbh & Co. Kg Processing arrangement, memory card device and method for operating and manufacturing a processing arrangement
DE102005060714B4 (en) * 2005-12-02 2013-12-24 Qimonda Ag Data processing device, memory card, method of operating a data processing device and method of manufacturing a data processing device
EP2003559A3 (en) * 2007-03-30 2009-12-23 Faiveley Transport Italia S.p.A. Method for protecting the physical memory in a microprocessor system

Also Published As

Publication number Publication date
FR2740235B1 (en) 1997-12-12

Similar Documents

Publication Publication Date Title
FR2938358A1 (en) SECURE MEMORY INTERFACE
FR2539239A1 (en) MULTI-TASK COMPUTER SYSTEM WITH MEMORY MANAGEMENT
WO2012089983A1 (en) Method and device for controlling access to a computer system
US8103878B2 (en) Control device, update method and control software
EP2366237B1 (en) Secure avionics equipment and associated method of making secure
US6240493B1 (en) Method and apparatus for performing access censorship in a data processing system
FR3129499A1 (en) Dynamic management of a memory firewall
EP0961970B1 (en) Method and device for executing by a single processor several functions of different criticality levels, operating with high security
FR2740235A1 (en) Operation controller for on-board electronics in motor vehicle
CN1636186A (en) Controlled program execution by a portable data carrier
EP1108249B1 (en) Method for making secure a sensitive information processing in a monolithic security module, and associated security module
FR3103584A1 (en) Method for managing the debugging of a system on chip forming for example a microcontroller, and corresponding system on chip
EP0166062B1 (en) Arbitration device for access to a shared resource
WO2006072705A1 (en) Secure dynamic loading
WO1990010292A1 (en) Process for controlling the use of an information storage medium, in particular of a magnetic or magneto-optic type, and system for its implementation
FR2618926A1 (en) MEMORY DEVICE FOR CONTROLLING THE USE OF SOFTWARE, OF THE KEY TYPE
EP0838053B1 (en) Method and device enabling a fixed programme to be developed
FR2675921A1 (en) METHOD AND DEVICE FOR TESTING A CARD OF A COMPUTER SYSTEM.
EP1712976A1 (en) Protection of data in a memory associated with a microprocessor
EP0635789B1 (en) Microcontroller integrated circuit with read only memory containing test program, test station and corresponding manufacturing process
EP3805947A1 (en) Method for managing a database shared by a group of applications, associated computer program product and on-board system
FR3089656A1 (en) METHOD AND DEVICE FOR CONTROLLING ACCESS TO A RESOURCE SHARED BETWEEN SOFTWARE TASKS EXECUTED IN A PREDETERMINED APPLICATION CONTEXT
EP4187392A1 (en) Method for managing a memory within a system on chip
US10956587B2 (en) Vehicle computer security
WO2008125479A1 (en) Method of secure execution of an application

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20080630