FR2957436A1 - Microprocessor system for use in automobile, has non-volatile memory storing software, and memory portion readable by microprocessor, where software has cache software portions that are stored in cache memory portion - Google Patents

Microprocessor system for use in automobile, has non-volatile memory storing software, and memory portion readable by microprocessor, where software has cache software portions that are stored in cache memory portion Download PDF

Info

Publication number
FR2957436A1
FR2957436A1 FR1100121A FR1100121A FR2957436A1 FR 2957436 A1 FR2957436 A1 FR 2957436A1 FR 1100121 A FR1100121 A FR 1100121A FR 1100121 A FR1100121 A FR 1100121A FR 2957436 A1 FR2957436 A1 FR 2957436A1
Authority
FR
Grant status
Application
Patent type
Prior art keywords
software
microprocessor
system
memory
memory portion
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.)
Pending
Application number
FR1100121A
Other languages
French (fr)
Inventor
Emil Saban
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Continental Automotive France SAS
Original Assignee
Continental Automotive France SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; 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/1433Protection 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 module or a part of a module
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory

Abstract

The system has a non-volatile memory i.e. flash ROM, storing software. The memory comprises a memory portion that serves as a cache memory portion (17) from an exterior of the system when the system is in non-current carrying state. The memory portion is only readable by a microprocessor. The software has cache software portions i.e. program libraries (16f-6s), stored in the cache memory portion. The software verifies the presence of an anti-theft control unit during its execution, so as to continue the execution of the software.

Description

La présente invention concerne un système microprocesseur et particulièrement un _moyen de protection contre une utilisation frauduleuse dudit système. The present invention relates to a microprocessor system and particularly a _moyen protection against fraudulent use of said system. Dans le domaine des systèmes microprocesseur, il est connu d'utiliser au moins un microprocesseur apte à exécuter au moins un logiciel. In the field of microprocessor systems, it is known to use at least one microprocessor adapted to execute at least one software. De manière classique pour que le système soit opérable, un logiciel, sous forme d'une liste d'instructions exécutables, est stocké dans une mémoire rémanente afin de réaliser un stockage persistant, y compris lorsque le système est hors tension. In conventional manner to make the system operable, software in the form of a list of executable instructions is stored in a nonvolatile memory to perform a persistent storage, including when the system is off. Lors de l'exécution, les instructions du logiciel sont soit chargées dans une autre mémoire de travail, soit directement lues dans la mémoire rémanente, pour être successivement exécutées par le microprocesseur. When running, the software instructions are either loaded into another working memory or directly read from the nonvolatile memory to be successively executed by the microprocessor. Le problème que l'on rencontre est que l'ensemble du logiciel est présent en un seul et même endroit. The problem encountered is that all of the software is present in a single location.

Au stade de la conception/production du produit système microprocesseur, avant d'être chargée dans la mémoire rémanente dudit système microprocesseur, la liste d'instructions exécutables constitutive du logiciel est classiquement présente sous forme d'un ou de plusieurs fichiers informatiques. At the stage of design / production of the microprocessor system, before being loaded into the volatile memory of said microprocessor system, the list of constituent instructions executable software is typically in the form of one or more computer files. De tels fichiers, présents sur des systèmes et réseaux informatiques, peuvent aisément être copiés, et donc volés, piratés. Such files present on computer systems and networks, can easily be copied, and therefore stolen, pirated. Sachant que la partie matérielle du système microprocesseur est un produit le plus souvent standard, il est aisé de s'en procurer, parfois même auprès de plusieurs sources, même pour une personne non autorisée. Knowing that the hardware of the microprocessor system is a mostly standard product, it is easy to get them, sometimes from several sources, even for an unauthorized person. Cette personne non autorisée, si elle dispose du logiciel peut aisément reconstituer le système microprocesseur. This unauthorized person, if it has the software can easily restore the system microprocessor. En phase d'utilisation du produit, la liste d'instructions exécutables constitutive du logiciel est classiquement chargée dans la mémoire rémanente du système microprocesseur. In product use phase, the list of constituent instructions executable software is typically loaded in the volatile memory of the microprocessor system. Cette mémoire, de manière classique pour des besoins de test et de mise au point du logiciel, est lisible, en plus du microprocesseur, par des moyens externes. This memory, typically for testing purposes and development of the software, is readable in addition to the microprocessor, by external means. Le logiciel peut par le biais d'un tel moyen de lecture être facilement copié et reproduit, y compris par une personne non autorisée. The software can through such reading means be easily copied and reproduced, including an unauthorized person. Cette personne non autorisée, si elle dispose d'un exemplaire du système microprocesseur original, peut aisément reconstituer le système microprocesseur, en reproduisant ledit logiciel sur une partie matérielle standard du système microprocesseur. This unauthorized person, if he has a copy of the original microprocessor system, can easily reconstruct the microprocessor system, reproducing said software on a standard hardware of the microprocessor system. L'objet de la présente invention est de séparer, dans les différentes phases de vie du produit le logiciel en une partie logicielle visible et au moins une partie logicielle cachée, afin de limiter l'accès en copie du logiciel complet et ainsi de limiter la reproduction et l'utilisation non autorisée du produit. The object of the present invention is to separate, in different product life phases software in a software visible portion and at least one software part hidden, to limit access of the copy complete software and thus limit the reproduction and unauthorized use of the product. L'invention concerne un système microprocesseur du type comprenant au moins un microprocesseur, au moins un logiciel et au moins une mémoire rémanente destinée à stocker ledit logiciel, y compris lorsque le système est hors tension, une partie de ladite mémoire étant une partie mémoire cachée de l'extérieur du système en ce qu'elle n'est lisible que par ledit microprocesseur, le logiciel comprenant une partie logicielle cachée stockée dans ladite partie mémoire cachée. The invention relates to a microprocessor system of the type comprising at least one microprocessor, at least one software and at least one non-volatile memory for storing said software, including when the system is turned off, a portion of said memory is a cache memory part from outside the system in that it is not readable by said microprocessor, the software comprising a hidden software portion stored in said cache memory part. Selon une autre caractéristique de l'invention, la partie logicielle cachée comprend un moyen de contrôle antivol, et le logiciel vérifie lors de son exécution la présence dudit moyen de contrôle antivol, afin de poursuivre ladite exécution. According to another characteristic of the invention, the software portion hidden comprises a lock control means, and the software checks during execution the presence of said lock control means to continue such execution.

Selon une autre caractéristique de l'invention, le moyen de contrôle antivol comprend des fonctions essentielles du logiciel, la vérification de leur présence s'effectuant par leur utilisation par le logiciel. According to another characteristic of the invention, the lock control means comprises the essential functions of the software, verifying their presence by making use of the software. Selon une autre caractéristique de l'invention, lesdites fonctions essentielles sont choisies parmi des fonctions très peu évolutives du logiciel. According to another characteristic of the invention, said basic functions are selected from very indolent software functions.

D'autres caractéristiques, détails et avantages de l'invention ressortiront plus clairement de la description détaillée donnée ci-après à titre indicatif en relation avec des dessins sur lesquels : la figure 1, présente une cartographie mémoire selon l'art antérieur, - la figure 2, présente une cartographie mémoire comparable selon l'invention, Un système microprocesseur classique comprend au moins un microprocesseur, au moins un logiciel et au moins une mémoire rémanente apte à stocker ledit logiciel. Other features, details and advantages of the invention will become apparent from the detailed description given below for guidance in relation to the drawings in which: Figure 1 shows a memory map of the prior art - the Figure 2 shows a similar memory mapping according to the invention, a conventional microprocessor system comprises at least one microprocessor, at least one software and at least one non-volatile memory adapted to store said software. Un microprocesseur s'entend ici de toute unité de traitement logique, tel un processeur, un microprocesseur, un microcontrôleur ou tout dispositif équivalent. A microprocessor means here any logic processing unit, such as a processor, a microprocessor, a microcontroller or equivalent device. Ledit microprocesseur est apte à exécuter un logiciel. Said microprocessor is capable of executing software. Ledit logiciel est composé d'une liste d'instructions exécutables. Said software consists of a list of executable instructions. De manière classique, la mémoire rémanente, par exemple de type « Flash ROM » (mémoire morte de masse à semi-conducteurs réinscriptible, « ROM » étant l'acronyme anglais pour « Read Only Memory », c'est à dire mémoire à lecture simple), est lisible par le microprocesseur. Typically, the nonvolatile memory, for example of "Flash ROM" (ROM rewritable semiconductor mass, "ROM" is an acronym for "Read Only Memory", i.e. read only memory single), readable by the microprocessor. Elle est de plus aussi lisible par des moyens externes, notamment pour la mise au point et le It is also more readable by external means, including the development and

test du logiciel. Software testing. Une telle mémoire peut être écrite par le microprocesseur lui-même ou par un « claqueur » ou « brûleur » qui permet d'inscrire un logiciel dans ladite mémoire. Such memory can be written by the microprocessor itself or by a "clapper" or "burner" used to register software in said memory. Une telle mémoire peut être physiquement incluse dans le composant (circuit intégré) du microprocesseur, selon un mode de réalisation. Such a memory may be physically included in the component (integrated circuit) of the microprocessor, according to one embodiment. Elle peut aussi se présenter sous forme d'un composant externe au microprocesseur, mais typiquement disposé sur un même circuit imprimé que ledit microprocesseur. It may also be in the form of an external component to the microprocessor, but typically disposed on the same printed that said microprocessor circuit. Il est possible de disposer une partie de ladite mémoire rémanente de telle manière qu'elle ne soit lisible que par le microprocesseur et non par les moyens extérieurs classiques de mise au point et test. It is possible to dispose a portion of said non-volatile memory so that it is readable by the microprocessor and not by conventional external means of development and test. On dénomme par la suite cette partie de mémoire : partie mémoire cachée. It denominates later this memory: hidden memory portion. Elle présente la caractéristique de ne pas être lisible de l'extérieur du système, et donc de ne pas être copiable. It has the characteristic of not being read from the outside of the system, and therefore not to be copyable. Elle n'est pas visible de l'extérieur et notamment pas depuis le port de traçage, et n'est pas exécutable pas à pas par un débuggeur externe. It is not visible from the outside and particularly not from the port of tracing, and can not be executed step by step by an external debugger. Ces caractéristiques, bien que limitatives pour la mise au point et le test d'un logiciel, s'avèrent fort avantageuses en ce qui concerne le but de l'invention : protéger une partie du logiciel en le rendant moins accessible et en le séparant du reste du logiciel. These characteristics, although limiting for the development and testing of software, prove to be very advantageous regarding the purpose of the invention: protect a part of the software by making it less accessible and separating the rest of the software. Le but de l'invention est atteint en séparant du reste du logiciel une partie logicielle choisie et en la cachant. The aim of the invention is achieved by separating the rest of the software selected a software part and the hiding. Pour cela, cette partie logicielle choisie est, selon l'invention, stockée dans ladite partie mémoire cachée. For this, this selected software component is, according to the invention, stored in said cache memory part. Elle est dénommée dans la suite : partie logicielle cachée. It is called in the following: software part hidden.

Selon un mode de réalisation, la partie logicielle cachée peut comprendre un moyen de contrôle antivol. According to one embodiment, the hidden software portion may include a lock control means. Dans ce cas, le logiciel vérifie lors de son exécution la présence dudit moyen de contrôle antivol, afin de poursuivre ladite exécution. In this case, the software checks during execution the presence of said lock control means to continue such execution. Ainsi, si le moyen de contrôle antivol est absent, et/ou ne peut être trouvé par le logiciel, le logiciel arrête son exécution. Thus, if the lock control means is absent and / or can not be found by the software, the software stops running. Le test de présence dudit moyen de contrôle antivol peut être réalisé au début de l'exécution du logiciel et/ou de manière régulière à tout moment durant l'exécution. The test for the presence of said theft control means may be made early in the execution of the software and / or regularly at any time during execution. Le moyen de contrôle antivol peut être réduit à une simple présence de la partie mémoire cachée, détectable par une lecture à une adresse dans la partie mémoire cachée. The immobilizer control means can be reduced to a mere presence of the hidden memory part detectable by a read at an address in the cache memory part. Une telle lecture si elle réussie atteste ainsi de la présence de la partie de mémoire cachée. Such a reading if successful and attests to the presence of the hidden part of memory.

Le moyen de contrôle antivol peut encore comprendre un simple code inscrit dans la partie mémoire cachée. The immobilizer control means may further comprise a simple code registered in the cache memory part. Ce code peut ensuite être lu par le logiciel et vérifié dans son authenticité par tout mécanisme de certification. This code can then be read by the software and verified its authenticity by any certification mechanism. Ce code peut encore servir à apparier un système microprocesseur avec par exemple un véhicule, un autre système microprocesseur ou encore un autre moyen de contrôle. This code can still be used to match a microprocessor system with such a vehicle, another microprocessor system or other means of control. Le moyen de contrôle antivol peut encore avantageusement comprendre un logiciel produisant un code ou une autorisation nécessaire à l'exécution du logiciel. The anti-theft monitoring means may also advantageously include software produces a code or license required to run the software.

Selon un mode de réalisation préférentiel, le moyen de contrôle antivol comprend une partie utile du logiciel comprenant des fonctions ou bibliothèques de fonction essentielles de ce dernier. According to a preferred embodiment, the anti-theft control means comprises a useful part of the software comprising functions or libraries essential function of the latter. Ainsi, la vérification de présence est effectuée par le logiciel lorsqu'il tente d'utiliser ces fonctions essentielles. Thus, the presence check is performed by the software when trying to use these essential functions.

De plus, l'absence de l'une de ces fonctions, par exemple causée par l'utilisation, typiquement frauduleuse, d'un système microprocesseur standard ne comprenant pas de partie mémoire cachée ou comportant une telle partie mémoire cachée mais sans la partie logicielle cachée, rend le logiciel incomplet et ainsi inopérable, et contribue à renforcer la protection. In addition, the absence of one of these functions, for example caused by the use, typically fraudulent, a standard microprocessor system not comprising a cache memory part or comprising such a hidden memory portion but without the software part hidden, making it incomplete and thus inoperable software, and helps to strengthen the protection.

L'écriture d'une partie logicielle cachée dans la partie mémoire cachée permet ainsi avantageusement de différentier, en le signant, un système microprocesseur « amélioré » par ladite écriture, d'un système microprocesseur « standard » tel qu'il sort de chaîne de fabrication, et dont la partie mémoire cachée est restée vierge. Writing a software part hidden in the hidden memory portion advantageously allows to differentiate, by signing a microprocessor system "improved" by said handwriting, a microprocessor system "standard" as it exits chain manufacture, and which the hidden memory portion remained virgin.

L'écriture d'une partie logicielle cachée dans la partie mémoire cachée nécessite des outils spécifiques et ne peut être réalisée que par le fabricant du circuit intégré comprenant la mémoire. Writing a software part hidden in the hidden memory portion requires special tools and can only be performed by the manufacturer of the integrated circuit comprising the memory. Ceci limite l'accès de ce moyen de protection et réduit ainsi la possibilité de reproduction non autorisée du système microprocesseur. This limits access to this means of protection and reduces the possibility of unauthorized reproduction of the microprocessor system.

Le contenu de ce qui est destiné à être ainsi caché devient plus difficilement modifiable, en ce qu'il participe à ce qui s'apparente à un cycle de fabrication matériel de type circuit intégré plus qu'à un cycle de fabrication logiciel. The content of what is intended to be hidden and becomes more difficult to change, in that it is involved in what amounts to a kind of material production cycle integrated more than circuitry software production cycle. Selon un mode de réalisation avantageux, le code caché ou la partie logicielle cachée est défini et intégré au dossier de conception ou de définition du système microprocesseur sous forme par exemple de microcode dans le According to an advantageous embodiment, the hidden code or the hidden software part is defined and integrated into the design file or definition of the microprocessor system as such in the microcode

dossier VHDL (VHDL étant l'abréviation anglaise de « VHSICHDL », c'est à dire « Very High Speed Integrated Circuit Hardware Description Language ». Le VHDL est un langage de description matériel destiné à représenter le comportement ainsi que l'architecture d'un système électronique numérique) afférent au microprocesseur ou à la mémoire. VHDL file (VHDL is an abbreviation of "VHSICHDL" ie "vhsic Hardware Description Language." The VHDL is a hardware description language for representing the behavior and the architecture of a digital electronic system) related to the microprocessor or memory. Ainsi, dans les différents dossiers, est opérée une séparation du logiciel : le logiciel caché est défini avec le dossier matériel tandis que le logiciel visible est défini avec le dossier logiciel. Thus, in the different folders is performed a separation of the software: the hidden software is set to the folder material while the visible software is set with the software file. Ces deux dossiers suivant des circuits différents, il devient plus difficile, pour une personne non autorisée, d'entrer en possession et de copier la totalité du logiciel. The two following records of the various circuits, it becomes more difficult for an unauthorized person to gain possession and copy the entire software. Dans le cas où le moyen de contrôle antivol comprend une partie du logiciel comprenant des fonctions essentielles il est intéressant de bien choisir quelles partie du logiciel sont cachées ou non. If the anti-theft control means comprises a part of the software includes the essential functions it is interesting to choose which part of the software are hidden or not. II a été vu précédemment que l'écriture d'une partie logicielle cachée dans la partie mémoire cachée nécessite des outils particuliers et ne peut être réalisée que par le fabricant. It was seen that writing a software part hidden in the hidden memory portion requires special tools and can only be performed by the manufacturer. Une évolution éventuelle du logiciel contenu dans cette partie logicielle cachée devient ainsi presque aussi difficile qu'une évolution du circuit intégré contenant la mémoire et/ou le processeur. A possible development of the software in this hidden software part becomes almost as difficult an evolution of the integrated circuit containing the memory and / or CPU. Il a été vu aussi que la partie logicielle cachée, puisque stockée dans la partie mémoire cachée est de ce fait non lisible, non éditable et non exécutable pas à pas. It was also seen that the software part hidden, as stored in the hidden memory part is therefore not readable, non-editable and stepper unenforceable. Aussi pour ces raisons, la partie logicielle cachée extraite du logiciel et comprenant les fonctions essentielles est choisie pour ne contenir que des fonctions très peu évolutives du logiciel. Also for these reasons, the hidden software extracted part of the software and includes the essential functions is chosen to contain only very little scalable software functions.

De plus, afin de limiter le nombre de configurations différentes de système microprocesseur « amélioré », ces fonctions cachées sont de préférence choisies parmi des fonctions génériques utilisées par de nombreuses applications. Furthermore, to limit the number of different configurations of microprocessor system "improved", these hidden features are preferably chosen from generic functions used by many applications. Les fonctions amenées à varier d'une utilisation à une autre du système microprocesseur, ou nécessitant une modification, par exemple en phase de réglage/mise au point, sont au contraire, de préférence stockées dans une partie non cachée de la mémoire. Functions caused to vary from one use to another of the microprocessor system, or in need of modification, for example in the adjustment phase / focus, on the contrary, preferably stored in a part not hidden memory. Ainsi elles bénéficient de la souplesse évolutive associée au logiciel. Thus they benefit from the scalable flexibility associated with the software. Afin d'illustrer plus en détail l'invention, il va maintenant être décrit, un 35 cas particulier d'application de l'invention à un système microprocesseur tel qu'utilisé de manière classique pour des applications automobiles. To further illustrate the invention, there is described a 35 particular case of applying the invention to a microprocessor system as used conventionally for automotive applications.

La figure 1 présente une cartographie 1, selon l'art antérieur, de l'organisation de la mémoire d'un tel système microprocesseur. 1 shows a mapping 1, according to the prior art, the memory organization of such a microprocessor system. La cartographie complète 1 se décompose en différentes zones. The complete mapping 1 is divided into different zones. Ainsi une zone 2 ou CALIB comprend les parties du logiciel relatives à la calibration et à la mise au point. And a zone 2 or CALIB comprises parts of the calibration-related software and development. Une zone 3 ou AGGR, pour « aggregate » en anglais, comprends plus particulièrement les objets ou fonctions spécifiques d'un système microprocesseur donné, encore dénommé applicatif. An area 3 or AGGR to "aggregate" in English, especially understand the specific objects or functions of a given microprocessor system, also called application. Une zone 4 ou HAL, pour « Hardware Abstraction Layer » en anglais, comprend une couche logicielle d'interfaces assurant une totale indépendance relativement au matériel sous-jacent. Zone 4 or HAL, for "Hardware Abstraction Layer" in English, comprises a software layer interfaces providing total independence with respect to the underlying hardware. Une zone 5 ou BIOS comprend des bibliothèques 6a-6s, génériquement désignées 6, de fonctions utiles à l'applicatif. A 5 or BIOS area includes 6a-6s libraries, generically designated 6, of useful functions to the application. Enfin une zone 8 ou BOOT contient les fonctions du logiciel lancées en premier lors du démarrage du logiciel et qui permettent son initialisation et sa mise en route. Finally a zone 8 or BOOT contains software functions launched first when starting the software and allow initialization and startup. La figure 2 présente une cartographie comparable 11, selon l'invention, de l'organisation de la mémoire d'un tel système microprocesseur. Figure 2 shows a comparable mapping 11, according to the invention of the memory organization of such a microprocessor system. On retrouve dans cette cartographie 11, des zones identiques. Included in this mapping 11, the same areas. Tous les éléments identiques sont repérés par le même signe de référence, augmenté de 10. Ainsi, la cartographie complète 11 se décompose en différentes zones. All identical elements are identified by the same reference signs, increased by 10. Thus, the complete map 11 is divided into different zones.

Une zone 12 ou CALIB comprend les parties du logiciel relatives à la calibration et à la mise au point. A zone 12 or CALIB comprises parts of the calibration-related software and development. Une zone 13 ou AGGR comprends plus particulièrement les objets ou fonctions spécifiques de l'applicatif. A zone 13 or AGGR more particularly understand the specific objects or features of the application. Une zone 14 ou HAL comprend une couche logicielle d'interfaces assurant une totale indépendance relativement au matériel sous-jacent. A zone 14 or HAL comprises a software layer interfaces providing total independence with respect to the underlying hardware. Une zone 15 ou BIOS comprend des bibliothèques, génériquement désignées 16, de fonctions utiles à l'applicatif. An area 15 or BIOS includes libraries, generically designated 16 useful functions to the application. Enfin une zone 18 ou BOOT contient les parties du logiciel lancées en premier lors du démarrage du logiciel et qui permettent son initialisation et sa mise en route. Finally an area 18 or BOOT contains the parts of the software launched first when starting the software and allow initialization and startup. Relativement à l'art antérieur, la mémoire comprends en plus une zone 30 cachée 17. Il est par exemple choisi de cacher dans cette zone cachée 17 une partie des bibliothèques 16. Les bibliothèques 16a-16e (INJ, IGN, CRK, CAM, KNK) sont jugées dépendantes de l'applicatif ou encore destinées à évoluer et donc préférentiellement placées dans une zone visible 15 de la cartographie 35 mémoire 11. Au contraire il est estimé que les bibliothèques 16f-16s (DIP, DOP, With respect to the prior art, the memory understand in addition a hidden area 30, 17. It is for example selected to hide in the hidden zone 17 part library 16. 16a-16e libraries (INJ, IGN, CRK, CAM, KNK) are believed to be dependent on the application or intended to grow and therefore preferably placed in a visible region 15 of the mapping memory 35 11. in contrast it is believed that the 16s-16f libraries (DIP, DOP,

ADC, DCM, PIM, PWM, ASY, CAN, MCC, SPI, RAM, INT, TIM, SIG) sont suffisamment génériques et peu évolutives pour pouvoir être cachées dans la partie mémoire cachée 17. Ces bibliothèques 16f-16s constituent ici la partie logicielle cachée. ADC, DCM, PIM, PWM, ASY, CAN, MCC, SPI, RAM, INT, TIM GIS) are sufficiently generic and indolent to be hidden in the hidden memory part 17. These 16f-16s libraries are here to party hidden software. Les fonctions qu'elles contiennent sont cependant indispensables à l'applicatif, et leur absence, du fait, par exemple, d'une utilisation d'un microprocesseur « standard » sur lequel serait copié le seul logiciel visible et copiable, rend l'exécution du logiciel impossible. The functions they contain are however essential for the application, and their absence, because, for example, use of a "standard" microprocessor which would be copied and the only visible copyable software makes running Unable software.

Claims (4)

  1. REVENDICATIONS1. REVENDICATIONS1. Système microprocesseur du type comprenant au moins un microprocesseur, au moins un logiciel et au moins une mémoire rémanente destinée à stocker ledit logiciel, y compris lorsque le système est hors tension, une partie de ladite mémoire étant une partie mémoire cachée (17) de l'extérieur du système en ce qu'elle n'est lisible que par ledit microprocesseur, caractérisé en ce que le logiciel comprend une partie logicielle cachée (16f-16s) stockée dans ladite partie mémoire cachée (17). microprocessor system of the type comprising at least one microprocessor, at least one software and at least one non-volatile memory for storing said software, including when the system is turned off, a portion of said memory is a cache memory portion (17) of outside the system in that it is not readable by said microprocessor, characterized in that the software comprises a software portion hidden (16f-16s) stored in said cache memory portion (17).
  2. 2. Système selon la revendication 1, où la partie logicielle cachée (16f-16s) comprend un moyen de contrôle antivol, et où le logiciel vérifie lors de son exécution la présence dudit moyen de contrôle antivol, afin de poursuivre ladite exécution. 2. The system of claim 1, wherein the software portion hidden (16f-16s) includes a lock control means, and where the software checks during execution the presence of said lock control means to continue such execution.
  3. 3. Système selon la revendication 2, où le moyen de contrôle antivol comprend des fonctions essentielles du logiciel, la vérification de leur présence s'effectuant par leur utilisation par le logiciel. 3. The system of claim 2, wherein the lock control means includes the essential functions of the software to verify their presence is effected by their use by the software.
  4. 4. Système selon la revendication 3, où lesdites fonctions essentielles sont choisies parmi des fonctions très peu évolutives du logiciel. 4. The system of claim 3, wherein said basic functions are selected from very indolent software functions.
FR1100121A 2011-01-14 2011-01-14 Microprocessor system for use in automobile, has non-volatile memory storing software, and memory portion readable by microprocessor, where software has cache software portions that are stored in cache memory portion Pending FR2957436A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1100121A FR2957436A1 (en) 2011-01-14 2011-01-14 Microprocessor system for use in automobile, has non-volatile memory storing software, and memory portion readable by microprocessor, where software has cache software portions that are stored in cache memory portion

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1100121A FR2957436A1 (en) 2011-01-14 2011-01-14 Microprocessor system for use in automobile, has non-volatile memory storing software, and memory portion readable by microprocessor, where software has cache software portions that are stored in cache memory portion

Publications (1)

Publication Number Publication Date
FR2957436A1 true true FR2957436A1 (en) 2011-09-16

Family

ID=43810181

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1100121A Pending FR2957436A1 (en) 2011-01-14 2011-01-14 Microprocessor system for use in automobile, has non-volatile memory storing software, and memory portion readable by microprocessor, where software has cache software portions that are stored in cache memory portion

Country Status (1)

Country Link
FR (1) FR2957436A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4817140A (en) * 1986-11-05 1989-03-28 International Business Machines Corp. Software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor
US6681304B1 (en) * 2000-06-30 2004-01-20 Intel Corporation Method and device for providing hidden storage in non-volatile memory
US20040133734A1 (en) * 2002-11-29 2004-07-08 Jordan Marc Kevin Use of NAND flash for hidden memory blocks to store an operating system program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4817140A (en) * 1986-11-05 1989-03-28 International Business Machines Corp. Software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor
US6681304B1 (en) * 2000-06-30 2004-01-20 Intel Corporation Method and device for providing hidden storage in non-volatile memory
US20040133734A1 (en) * 2002-11-29 2004-07-08 Jordan Marc Kevin Use of NAND flash for hidden memory blocks to store an operating system program

Similar Documents

Publication Publication Date Title
US7552341B2 (en) Licensing the use of software on a particular CPU
US20100088296A1 (en) System and method for organizing data to facilitate data deduplication
US20070061800A1 (en) System and method for updating software in a network device
US9032387B1 (en) Software distribution framework
US20040133632A1 (en) Method and apparatus for supporting multiple digital-rights management systems
US20060174300A1 (en) Updating compressed read-only memory file system (CRAMFS) images
US7181628B2 (en) Information terminal device and content backup method
US7779472B1 (en) Application behavior based malware detection
US20050187740A1 (en) System and method for proactive computer virus protection
US20030233558A1 (en) System and method for securely booting from a network
US20120167159A1 (en) Policy-based access to virtualized applications
US20080005472A1 (en) Running applications from removable media
Bailey Maximum rpm
US20090199013A1 (en) Authentication of content download
US20060294105A1 (en) Method and system for enabling enterprises to use detachable memory devices that contain data and executable files in controlled and secure way
US7917481B1 (en) File-system-independent malicious content detection
US20060282654A1 (en) System employing fast booting of application programs
US7802306B1 (en) Multiple watermarks for digital rights management (DRM) and content tracking
US7631357B1 (en) Detecting and removing rootkits from within an infected computing system
US20080229425A1 (en) Secure Terminal, a Routine and a Method of Protecting a Secret Key
CN101719073A (en) Intelligent client-based on-demand downloading realization method
US7325251B1 (en) Method and system to prevent peer-to-peer (P2P) worms
US8321352B1 (en) Fingerprinting for software license inventory management
US20110010701A1 (en) Methods and Systems for Archiving and Restoring Securely Installed Applications on a Computing Device
US20120323860A1 (en) Object-level identification of duplicate data in a storage system