FR3075420A1 - SYSTEM AND METHOD FOR SECURE STARTING A PROCESSOR - Google Patents

SYSTEM AND METHOD FOR SECURE STARTING A PROCESSOR Download PDF

Info

Publication number
FR3075420A1
FR3075420A1 FR1701333A FR1701333A FR3075420A1 FR 3075420 A1 FR3075420 A1 FR 3075420A1 FR 1701333 A FR1701333 A FR 1701333A FR 1701333 A FR1701333 A FR 1701333A FR 3075420 A1 FR3075420 A1 FR 3075420A1
Authority
FR
France
Prior art keywords
processor
storage space
volatile storage
interface
reset
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
FR1701333A
Other languages
French (fr)
Other versions
FR3075420B1 (en
Inventor
Loic Mouren
Guillaume Zin
Jonathan Ben Hassen
Eric Rogard
Laurent Dicklic
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.)
Thales SA
Original Assignee
Thales 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 Thales SA filed Critical Thales SA
Priority to FR1701333A priority Critical patent/FR3075420B1/en
Publication of FR3075420A1 publication Critical patent/FR3075420A1/en
Application granted granted Critical
Publication of FR3075420B1 publication Critical patent/FR3075420B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Ce système (300) de démarrage sécurisé d'un processeur (310), le système comportant le processeur et le processeur utilisant, lors de sa réinitialisation, un programme de réinitialisation (L1) présent dans un espace de stockage, est caractérisé en ce que l'espace de stockage est un espace de stockage volatil (320), et en ce que le système comporte, en outre, un processeur de sécurité (330) et un espace de stockage sécurisé (340), le processeur de sécurité étant configuré pour : appliquer au processeur un signal de réinitialisation (Sr) dont le niveau inhibe la réinitialisation du processeur ; charger un programme de réinitialisation (L1) depuis l'espace de stockage sécurisé dans l'espace de stockage volatil ; et modifier le niveau du signal de réinitialisation (Sr) pour autoriser la réinitialisation du processeur.  This system (300) for securely starting a processor (310), the system comprising the processor and the processor using, when it is reset, a reset program (L1) present in a storage space, is characterized in that the storage space is a volatile storage space (320), and in that the system further includes a security processor (330) and a secure storage space (340), the security processor being configured to : applying to the processor a reset signal (Sr) whose level inhibits the reset of the processor; load a reset program (L1) from the secure storage space in the volatile storage space; and change the level of the reset signal (Sr) to allow the processor to reset.

Description

SYSTEME ET PROCEDE DE DEMARRAGE SECURISE D’UN PROCESSEURSYSTEM AND METHOD FOR SECURE STARTING OF A PROCESSOR

La présente invention concerne la réinitialisation d’un processeur.The present invention relates to resetting a processor.

Plus particulièrement, l’invention est relative à la sécurisation du programme de réinitialisation utilisé lors du démarrage du processeur.More particularly, the invention relates to securing the reset program used when the processor starts.

Comme représenté sur la figure 1, de manière classique, un processeur 10 entre dans une procédure de réinitialisation lors de la réception d’un signal de réinitialisation Sr produit par un module de contrôle 5, par exemple lors de la mise sous tension de la carte électronique comportant le processeur 10. Pour la réinitialisation, le processeur 10 accède à l’espace de stockage non volatil 20 pour charger un programme de réinitialisation L1, dénommé programme de « boot » en anglais. L’espace de stockage non volatil 20 comporte une interface 22 reliée à une interface conjuguée 12 du processeur 10 via un bus 15. Le processeur une fois réinitialisé peut ensuite charger d’autres programmes du type système d’exploitation ou applicatif.As shown in FIG. 1, in a conventional manner, a processor 10 enters into a reset procedure when receiving a reset signal Sr produced by a control module 5, for example when powering up the card electronics comprising the processor 10. For the reset, the processor 10 accesses the non-volatile storage space 20 to load a reset program L1, called the “boot” program in English. The non-volatile storage space 20 includes an interface 22 connected to a conjugate interface 12 of the processor 10 via a bus 15. The processor once reset can then load other programs of the operating system or application type.

Cette procédure de réinitialisation présente le risque que le programme de réinitialisation soit corrompu. Par exemple, et dans un cas extrême, un virus informatique est intégré dans le programme de réinitialisation qui est mémorisé en usine dans l’espace de stockage non volatil. II n’est alors plus possible de vérifier l’intégrité du programme de réinitialisation qu’utilise le processeur lors d’un redémarrage. Si l’on détecte que le programme de réinitialisation est corrompu, il convient de remplacer l’espace de stockage non volatil. Si la carte électronique ne le permet pas, c’est tout le système qu’il faut remplacer.This reset procedure poses the risk that the reset program is corrupted. For example, and in an extreme case, a computer virus is integrated into the reset program which is memorized in the factory in the non-volatile storage space. It is then no longer possible to verify the integrity of the reset program used by the processor during a restart. If the reset program is found to be corrupt, the non-volatile storage space should be replaced. If the electronic card does not allow it, the whole system must be replaced.

Le but de la présente invention est donc de résoudre ce problème.The object of the present invention is therefore to solve this problem.

Pour cela l’invention a pour objet un système de démarrage sécurisé d’un processeur, le système comportant le processeur et le processeur utilisant, lors de sa réinitialisation, un programme de réinitialisation présent dans un espace de stockage, caractérisé en ce que l’espace de stockage est un espace de stockage volatil, et en ce que le système comporte, en outre, un processeur de sécurité et un espace de stockage sécurisé, le processeur de sécurité étant configuré pour : appliquer au processeur un signal de réinitialisation dont le niveau inhibe la réinitialisation du processeur ; charger un programme de réinitialisation depuis l’espace de stockage sécurisé dans l’espace de stockage volatil, et, une fois le programme de réinitialisation chargé dans l’espace de stockage volatil, modifier le niveau du signal de réinitialisation pour autoriser la réinitialisation du processeur.For this, the subject of the invention is a secure system for starting a processor, the system comprising the processor and the processor using, when it is reset, a reset program present in a storage space, characterized in that the storage space is a volatile storage space, and in that the system further comprises a security processor and a secure storage space, the security processor being configured to: apply to the processor a reset signal whose level inhibits processor reset; load a reset program from the secure storage space in the volatile storage space, and, once the reset program is loaded in the volatile storage space, modify the level of the reset signal to allow the processor to be reset .

Suivant des modes particuliers de réalisation, le système comporte une ou plusieurs des caractéristiques suivantes, prises isolément ou suivant toutes les combinaisons techniquement possibles :According to particular embodiments, the system includes one or more of the following characteristics, taken in isolation or according to all technically possible combinations:

- l’espace de stockage volatil comporte : une première interface, connectée à une première interface du processeur et dédiée à la réinitialisation du processeur, et une seconde interface, connectée à une seconde interface du processeur de sécurité et dédiée au chargement du programme de réinitialisation.- the volatile storage space comprises: a first interface, connected to a first processor interface and dedicated to resetting the processor, and a second interface, connected to a second interface of the security processor and dedicated to loading the reset program .

- l’espace de stockage volatil comporte une unique interface, qui est connectée à la fois à une première interface du processeur et une seconde interface du processeur de sécurité, le processeur de sécurité étant propre, une fois le programme de réinitialisation chargé dans l’espace de stockage volatil, à augmenter une impédance de la seconde interface du processeur de sécurité pour que le processeur puisse communiquer avec l’unique interface de l’espace de stockage volatil.- the volatile storage space comprises a single interface, which is connected to both a first interface of the processor and a second interface of the security processor, the security processor being clean, once the reset program has been loaded into the volatile storage space, increasing an impedance of the second interface of the security processor so that the processor can communicate with the single interface of the volatile storage space.

- Le système comporte, en outre, une unité tampon placée en coupure entre l’unique interface de l’espace de stockage volatil et la première interface du processeur, le processeur de sécurité étant configuré pour appliquer un signal de commande à l’unité tampon prenant : un premier niveau propre à placer l’unité tampon dans un état bloquant pour que l’unique interface de l’espace de stockage volatil soit découplée de la première interface du processeur afin de permettre le chargement du programme de réinitialisation dans l’espace de stockage volatil par le processeur de sécurité ; ou un second niveau propre à placer l’unité tampon dans un état passant pour que l’interface de l’espace de stockage volatil soit couplée à la première interface du processeur pour permettre au processeur d’accéder à l’espace de stockage volatil.- The system further comprises a buffer unit placed in cutoff between the single interface of the volatile storage space and the first interface of the processor, the security processor being configured to apply a control signal to the buffer unit taking: a first level suitable for placing the buffer unit in a blocking state so that the single interface of the volatile storage space is decoupled from the first interface of the processor in order to allow the loading of the reset program in space volatile storage by the security processor; or a second level suitable for placing the buffer unit in a passing state so that the interface of the volatile storage space is coupled to the first interface of the processor to allow the processor to access the volatile storage space.

- le processeur de sécurité est configuré de manière à vérifier l’intégrité du programme de réinitialisation.- the security processor is configured to check the integrity of the reset program.

L’invention a également pour objet un procédé de démarrage sécurisé d’un processeur mis en œuvre par un système conforme au système précédent, comportant les étapes consistant à : inhiber une réinitialisation du processeur au moyen de l’application, par un processeur de sécurité, d’un signal de réinitialisation placé dans un niveau actif ; charger, par le processeur de sécurité, un programme de réinitialisation depuis un espace de stockage sécurisé vers un espace de stockage volatil ; autoriser la réinitialisation du processeur au moyen de l’application, par le processeur de sécurité, du signal de réinitialisation placé dans un niveau inactif ; et réinitialiser le processeur à partir du programme de réinitialisation présent dans l’espace de stockage volatil.The subject of the invention is also a method for secure starting of a processor implemented by a system conforming to the preceding system, comprising the steps consisting in: inhibiting a reset of the processor by means of the application, by a security processor , a reset signal placed in an active level; loading, by the security processor, a reset program from a secure storage space to a volatile storage space; authorize the reset of the processor by means of the application, by the security processor, of the reset signal placed in an inactive level; and reset the processor from the reset program present in the volatile storage space.

Suivant des modes particuliers de réalisation, le procédé comporte une ou plusieurs des caractéristiques suivantes, prises isolément ou suivant toutes les combinaisons techniquement possibles :According to particular embodiments, the method comprises one or more of the following characteristics, taken in isolation or according to all technically possible combinations:

- le procédé comporte une étape supplémentaire au cours de laquelle le processeur de sécurité vérifie l’intégrité du programme de réinitialisation.- The method includes an additional step during which the security processor verifies the integrity of the reset program.

- le procédé comporte, en outre, les étapes consistant à, lorsque l’espace de stockage volatil comporte une interface multi-maîtres de connexion à un bus commun : avant le chargement du programme de réinitialisation dans l’espace de stockage volatil, le processeur de sécurité abaisse une impédance d’une seconde interface de connexion du processeur de sécurité au bus commun ; et, après le chargement du programme de réinitialisation dans l’espace de stockage volatil, le processeur de sécurité augment l’impédance de la seconde interface de connexion du processeur de sécurité au bus commun.the method further comprises the steps consisting in, when the volatile storage space comprises a multi-master interface for connection to a common bus: before loading the reset program in the volatile storage space, the processor security lowers an impedance of a second interface for connecting the security processor to the common bus; and, after loading the reset program into the volatile storage space, the security processor increases the impedance of the second interface for connecting the security processor to the common bus.

- le procédé comporte, lorsque le système comporte une unité tampon placée en coupure entre une unique interface de l’espace de stockage volatil et la première interface du processeur, les étapes : avant le chargement du programme de réinitialisation dans l’espace de stockage volatil, d’application, par le processeur de sécurité, d’un signal de contrôle ayant un premier niveau pour placer l’unité tampon dans un état bloquant afin que l’unique interface de l’espace de stockage volatil soit découplée de la première interface du processeur et permette le chargement du programme de réinitialisation dans l’espace de stockage volatil par le processeur de sécurité ; après le chargement du programme de réinitialisation dans l’espace de stockage volatil, d’application, par le processeur de sécurité, du signal de contrôle ayant un second niveau pour placer l’unité tampon dans un état passant afin que l’unique interface de l’espace de stockage volatil soit couplée à la première interface du processeur et permette au processeur d’accéder à l’espace de stockage volatil pour sa réinitialisation.the method comprises, when the system comprises a buffer unit placed in the cut-off between a single interface of the volatile storage space and the first interface of the processor, the steps: before loading the reset program in the volatile storage space , application, by the security processor, of a control signal having a first level to place the buffer unit in a blocking state so that the single interface of the volatile storage space is decoupled from the first interface of the processor and allows the loading of the reset program into the volatile storage space by the security processor; after loading the reset program into the volatile storage space, application, by the security processor, of the control signal having a second level to place the buffer unit in a on state so that the single interface for the volatile storage space is coupled to the first interface of the processor and allows the processor to access the volatile storage space for resetting.

L’invention et ses avantages seront mieux compris à la lecture de la description détaillée qui va suivre d’un mode de réalisation particulier, donné uniquement à titre d’exemple non limitatif, cette description étant faite en se référant aux dessins annexés sur lesquels :The invention and its advantages will be better understood on reading the detailed description which follows of a particular embodiment, given solely by way of nonlimiting example, this description being made with reference to the appended drawings in which:

- La figure 1 est une représentation schématique d’un système selon l’état de la technique comportant un processeur associé à un espace de stockage non volatil mémorisant le programme de réinitialisation que le processeur utilise à chaque réinitialisation ;- Figure 1 is a schematic representation of a system according to the state of the art comprising a processor associated with a non-volatile storage space memorizing the reset program that the processor uses on each reset;

- la figure 2 est un premier mode de réalisation du système selon l’invention ;- Figure 2 is a first embodiment of the system according to the invention;

- la figure 3 est un second mode de réalisation du système selon l’invention ;- Figure 3 is a second embodiment of the system according to the invention;

- la figure 4 est un troisième mode de réalisation du système selon l’invention ;- Figure 4 is a third embodiment of the system according to the invention;

- la figure 5 est une représentation sous forme de blocs du procédé mis en œuvre par les systèmes des figures 2 à 4.FIG. 5 is a representation in the form of blocks of the method implemented by the systems of FIGS. 2 to 4.

De manière générale, l’invention consiste à associer un espace de stockage volatil au processeur à sécuriser, et à munir le système d’un processeur de sécurité et d’un espace de stockage sécurisé.In general, the invention consists in associating a volatile storage space with the processor to be secured, and in providing the system with a security processor and with a secure storage space.

Le processeur de sécurité inhibe la réinitialisation du processeur le temps de recopier, depuis l’espace de stockage sécurisé vers l’espace de stockage volatil, le programme de réinitialisation que doit utiliser le processeur à sécuriser.The security processor inhibits the reinitialization of the processor while copying, from the secure storage space to the volatile storage space, the reinitialization program which the processor to use must secure.

Avantageusement, le processeur de sécurité vérifie l’intégrité du programme de réinitialisation qu’il recopie dans l’espace de stockage volatil.Advantageously, the security processor verifies the integrity of the reset program which it copies into the volatile storage space.

Dès que le chargement du programme de réinitialisation est terminé, le processeur de sécurité autorise la réinitialisation du processeur.As soon as the reset program is loaded, the security processor authorizes the reset of the processor.

Lors de sa réinitialisation, le processeur utilise alors le programme de réinitialisation venant d’être chargé dans l’espace de stockage volatil.When resetting, the processor then uses the reset program that has just been loaded into the volatile storage space.

Un espace de stockage volatil est un espace qui, à chaque mise hors tension, perd les données qu’il stocke ou, plus généralement, dont les données qu’il stocke sont remplacées par des données aléatoires, qui ne sont pas exploitables. Un espace de stockage volatil présente un coup réduit.A volatile storage space is a space which, each time the power is turned off, loses the data it stores or, more generally, whose data it stores are replaced by random data, which cannot be used. A volatile storage space presents a reduced blow.

Le processeur de sécurité est un processeur de confiance. La manière de garantir la sûreté du processeur de sécurité et de l’espace de stockage non volatil qui lui est associé est hors du cadre de la présente invention.The security processor is a trusted processor. How to guarantee the safety of the security processor and of the non-volatile storage space associated with it is outside the scope of the present invention.

La figure 2 représente un premier mode de réalisation du système selon l’invention.FIG. 2 represents a first embodiment of the system according to the invention.

Le système 100 comporte un processeur 110 à sécuriser, un espace de stockage volatil 120, un processeur de sécurité 130 et un espace de stockage sécurisé 140.The system 100 includes a processor 110 to be secured, a volatile storage space 120, a security processor 130 and a secure storage space 140.

Le processeur de sécurité 130 est connecté directement au processeur 110 de manière à appliquer un signal de réinitialisation Sr sur une patte adaptée du processeur 110.The security processor 130 is connected directly to the processor 110 so as to apply a reset signal Sr to a suitable tab of the processor 110.

Le signal de réinitialisation Sr est un signal binaire, qui est soit dans un état actif, inhibant la réinitialisation du processeur 110, soit dans l’état inactif autorisant la réinitialisation du processeur 110.The reset signal Sr is a binary signal, which is either in an active state, inhibiting the reset of the processor 110, or in the inactive state authorizing the reset of the processor 110.

Par défaut, le signal de réinitialisation Sr se trouve dans le niveau actif afin d’éviter une réinitialisation non souhaitée du processeur lorsque la carte électronique est mise sous tension. En effet, si au contraire le signal de réinitialisation Sr se trouvait par défaut dans le niveau inactif, le risque suivant existerait : dans le cas où l’alimentation du processeur 110 serait présente avant celle du processeur de sécurité 130, le signal de réinitialisation, dans le niveau inactif, permettrait une réinitialisation du processeur 110 avant que le processeur de sécurité n’ait démarré et qu’il puisse modifier le niveau du signal de réinitialisation pour inhiber la réinitialisation du processeur.By default, the reset signal Sr is in the active level in order to avoid an unwanted reset of the processor when the electronic card is powered up. Indeed, if on the contrary the reset signal Sr was by default in the inactive level, the following risk would exist: in the case where the power supply of the processor 110 is present before that of the security processor 130, the reset signal, in the inactive level, would allow a reset of the processor 110 before the security processor has started and it can modify the level of the reset signal to inhibit the reset of the processor.

Dans ce premier mode de réalisation, l’espace de stockage volatil 120 possède plusieurs interfaces.In this first embodiment, the volatile storage space 120 has several interfaces.

II comporte ainsi une première interface 122, qui est reliée, par un bus dédié 115, à une première interface conjuguée 112 du processeur 110.It thus comprises a first interface 122, which is connected, by a dedicated bus 115, to a first conjugate interface 112 of the processor 110.

L’espace de stockage volatil 120 comporte également une seconde interface 124, qui est reliée, par un bus dédié 117, à une seconde interface conjuguée 134 du processeur de sécurité 130.The volatile storage space 120 also includes a second interface 124, which is connected, by a dedicated bus 117, to a second conjugate interface 134 of the security processor 130.

L’espace de stockage sécurisé 140 comporte une troisième interface 142, qui est reliée, par un bus dédié 135, à une troisième interface conjuguée 132 du processeur de sécurité 130.The secure storage space 140 includes a third interface 142, which is connected, by a dedicated bus 135, to a third conjugated interface 132 of the security processor 130.

L’espace de stockage sécurisé 140 mémorise un premier programme de réinitialisation L1 pour la réinitialisation du processeur 110 et, avantageusement, un second programme de réinitialisation L2 pour la réinitialisation du processeur de sécurité 130.The secure storage space 140 stores a first reset program L1 for resetting the processor 110 and, advantageously, a second reset program L2 for resetting the security processor 130.

En se référant à la figure 5, le procédé 500, mis en œuvre pas le système 100, est le suivant.Referring to Figure 5, the method 500, implemented by the system 100, is as follows.

Suite par exemple à la mise sous tension de la carte électronique sur laquelle est implanté le système 100, à l’étape 510, le processeur de sécurité 130 inhibe la réinitialisation du processeur 110 par l’application d’un signal de réinitialisation Sr se trouvant dans le niveau actif.Following, for example, the powering up of the electronic card on which the system 100 is installed, in step 510, the security processor 130 inhibits the reset of the processor 110 by the application of a reset signal Sr being in the active level.

A l’étape 512, le processeur de sécurité 130 exécute son propre processus de réinitialisation à partir du second programme de réinitialisation L2 chargé depuis l’espace de stockage sécurisé 140. Le programme L2 permet par exemple de munir le processeur de sécurité 130 d’une fonctionnalité de recopie et d’une fonctionnalité de vérification du premier programme de réinitialisation L1.In step 512, the security processor 130 executes its own reinitialization process from the second reinitialization program L2 loaded from the secure storage space 140. The program L2 allows for example to provide the security processor 130 with a copy functionality and a verification functionality of the first reset program L1.

A l’étape 516, le processeur de sécurité 130 recopie le premier programme de réinitialisation L1 de l’espace de stockage sécurisé 140 vers l’espace de stockage volatil 120.In step 516, the security processor 130 copies the first reset program L1 from the secure storage space 140 to the volatile storage space 120.

Avantageusement, au cours de l'étape de recopie 216, le processeur de sécurité 130, dans une étape 517, exécute la fonctionnalité de vérification de l’intégrité du premier programme de réinitialisation L1. Il peut s’agir d’un programme d’authentification, de décryptage, de comparaison bit à bit ou tout autre procédure connue de l’homme du métier permettant de s’assurer que le premier programme de réinitialisation L1 n’est pas corrompu.Advantageously, during the copying step 216, the security processor 130, in a step 517, executes the functionality for verifying the integrity of the first reset program L1. It can be an authentication, decryption, bit-by-bit comparison program or any other procedure known to a person skilled in the art to ensure that the first reset program L1 is not corrupt.

L’étape de recopie 516 se termine lorsque la totalité du premier programme de réinitialisation L1 a été chargée dans l’espace de stockage volatil 120. La fin de ce chargement est par exemple déterminé par le processeur de sécurité 130 lorsqu’il a transférer un certain volume de données, par exemple indiqué dans la fonctionnalité de recopie.The copying step 516 ends when the entire first reset program L1 has been loaded into the volatile storage space 120. The end of this loading is for example determined by the security processor 130 when it has transferred a certain volume of data, for example indicated in the copy functionality.

Dès que le transfert du premier programme de réinitialisation L1 d’un espace de stockage à l’autre est terminé, à l'étape 520, le processeur de sécurité 130 modifie le niveau du signal de réinitialisation Sr, pour appliquer un signal de réinitialisation Sr dans le niveau inactif, de manière à autoriser la réinitialisation du processeur 110.As soon as the transfer of the first reset program L1 from one storage space to the other is completed, in step 520, the security processor 130 modifies the level of the reset signal Sr, to apply a reset signal Sr in the inactive level, so as to authorize the reinitialization of the processor 110.

A l’étape 522 de réinitialisation du processeur 110, ce dernier accède à l’espace de stockage volatil 120 et charge le premier programme de réinitialisation L1 qui y a été déposé.In step 522 of resetting the processor 110, the latter accesses the volatile storage space 120 and loads the first reset program L1 which has been deposited there.

La figure 3 représente un second mode de réalisation du système selon l’invention.FIG. 3 represents a second embodiment of the system according to the invention.

Le système 200 comporte un processeur 210 à sécuriser, un espace de stockage volatil 220, un processeur de sécurité 230 et un espace de stockage sécurisé 240.The system 200 includes a processor 210 to be secured, a volatile storage space 220, a security processor 230 and a secure storage space 240.

Le processeur de sécurité 230 est connecté directement au processeur 210 de manière à appliquer, sur une patte de ce dernier, un signal de réinitialisation Sr.The security processor 230 is connected directly to the processor 210 so as to apply, on a tab of the latter, a reset signal Sr.

Le signal de réinitialisation Sr est un signal binaire ayant un niveau actif, inhibant la réinitialisation du processeur 210, et un niveau inactif, autorisant la réinitialisation du processeur 210. Par défaut, le signal de réinitialisation Sr appliqué au processeur 210 se trouve dans le niveau actif.The reset signal Sr is a binary signal having an active level, inhibiting the reset of the processor 210, and an inactive level, authorizing the reset of the processor 210. By default, the reset signal Sr applied to the processor 210 is in the level active.

L’espace de stockage volatil 220 comporte, dans ce second mode de réalisation, une unique interface 222, qui est connectée par un bus commun 216 à la fois à une première interface 212 du processeur 210 et à une seconde interface 234 du processeur de sécurité 230. L’interface 222 est donc une interface multi maîtres.The volatile storage space 220 comprises, in this second embodiment, a single interface 222, which is connected by a common bus 216 to both a first interface 212 of the processor 210 and a second interface 234 of the security processor 230. The interface 222 is therefore a multi-master interface.

L’espace de stockage sécurisé 240 comporte une troisième interface 242 connectée, par un bus 235 dédié, à une troisième interface conjuguée 232 du processeur de sécurité 230.The secure storage space 240 comprises a third interface 242 connected, by a dedicated bus 235, to a third conjugated interface 232 of the security processor 230.

L’espace de stockage sécurisé 240 mémorise un premier programme de réinitialisation L1 pour la réinitialisation du processeur 210 et, de préférence, un second programme de réinitialisation L2 pour la réinitialisation du processeur de sécurité 230.The secure storage space 240 stores a first reset program L1 for resetting the processor 210 and, preferably, a second reset program L2 for resetting the security processor 230.

Le procédé mis en œuvre par le système 200 est similaire à celui mis en œuvre par le système 100. II comporte uniquement les étapes supplémentaires suivantes.The method implemented by the system 200 is similar to that implemented by the system 100. It only includes the following additional steps.

A l’étape 514 (cf. figure 5), avant de débuter l’étape de recopie du premier programme de réinitialisation 210 dans l’espace de stockage volatil 220, le processeur de sécurité 230 abaisse l’impédance de sa seconde interface 234 pour, alors que le processeur 210 est inhibé, contrôler le bus commun 216.In step 514 (cf. FIG. 5), before starting the copying step of the first reset program 210 in the volatile storage space 220, the security processor 230 lowers the impedance of its second interface 234 to , while the processor 210 is inhibited, check the common bus 216.

De manière symétrique, à l’étape 518, après l'étape de recopie 516, le processeur de sécurité 230 augmente l’impédance de sa seconde interface 234 pour que le processeur 210, une fois désinhibé, puisse contrôler le bus commun 216.Symmetrically, in step 518, after the copying step 516, the security processor 230 increases the impedance of its second interface 234 so that the processor 210, once uninhibited, can control the common bus 216.

De cette manière, on évite la concurrence entre les processeurs dans la communication avec l’espace de stockage volatil 220.In this way, competition between the processors in communication with the volatile storage space 220 is avoided.

II est en effet nécessaire que la première interface 212 du processeur 210 soit en impédance haute lorsque le processeur 210 est inhibé pour ne pas perturber la communication entre le processeur de sécurité 230 et l’espace de stockage volatil 220.It is indeed necessary for the first interface 212 of the processor 210 to be at high impedance when the processor 210 is inhibited so as not to disturb the communication between the security processor 230 and the volatile storage space 220.

La figure 4 représente un troisième mode de réalisation du système selon l’invention.FIG. 4 represents a third embodiment of the system according to the invention.

Le système 300 comporte un processeur 310, un espace de stockage volatil 320, un processeur de sécurité 330, un espace de stockage sécurisé 340 et une unité tampon 350.The system 300 comprises a processor 310, a volatile storage space 320, a security processor 330, a secure storage space 340 and a buffer unit 350.

Le processeur de sécurité 330 est connecté directement au processeur 310 de manière à lui appliquer un signal de réinitialisation Sr.The security processor 330 is connected directly to the processor 310 so as to apply to it a reset signal Sr.

Le signal de réinitialisation Sr est un signal binaire ayant un niveau actif, inhibant la réinitialisation du processeur 310, et un niveau inactif, autorisant la réinitialisation du processeur 310. Par défaut, le processeur de sécurité 330 délivre un signal de réinitialisation Sr de niveau actif, notamment durant sa propre réinitialisation et l’écriture dans l’espace de stockage volatil 320.The reset signal Sr is a binary signal having an active level, inhibiting the reset of the processor 310, and an inactive level, authorizing the reset of the processor 310. By default, the security processor 330 delivers a reset signal Sr of active level , especially during its own reset and writing to volatile storage 320.

L’espace de stockage volatil 320 comporte une unique interface 322 reliée, par un bus commun 319, à une quatrième interface 354 de l’unité tampon 350 et à une seconde interface 334 du processeur de sécurité 330.The volatile storage space 320 comprises a single interface 322 connected, by a common bus 319, to a fourth interface 354 of the buffer unit 350 and to a second interface 334 of the security processor 330.

L’espace de stockage sécurisé 340 comporte une troisième interface 342 reliée, par un bus 335 dédié, à une troisième interface conjuguée 332 du processeur de sécurité 330.The secure storage space 340 comprises a third interface 342 connected, by a dedicated bus 335, to a third conjugated interface 332 of the security processor 330.

L’unité tampon 350 comporte par ailleurs une cinquième interface 352, qui est connectée, par un bus 318 dédié, à une première interface 312 du processeur 310.The buffer unit 350 also comprises a fifth interface 352, which is connected, by a dedicated bus 318, to a first interface 312 of the processor 310.

L’espace de stockage sécurisé 340 mémorise un premier programme de réinitialisation L1 pour la réinitialisation du processeur 310 et, de préférence, un second programme de réinitialisation L2 pour la réinitialisation du processeur de sécurité 330.The secure storage space 340 stores a first reset program L1 for resetting the processor 310 and, preferably, a second reset program L2 for resetting the security processor 330.

Enfin, le processeur de sécurité 330 est connecté directement à l’unité tampon 350 de manière à appliquer, sur une entrée adaptée de l’unité tampon 350, un signal de commande Su.Finally, the security processor 330 is connected directly to the buffer unit 350 so as to apply, to an appropriate input of the buffer unit 350, a control signal Su.

Le signal de commande Su est un signal binaire ayant :The control signal Su is a binary signal having:

- un premier niveau, propre à placer l’unité tampon 350 dans un état bloquant pour que l’unique interface 322 de l’espace de stockage volatil 320 soit découplée de la première interface 312 du processeur 310 ; et,a first level, suitable for placing the buffer unit 350 in a blocking state so that the single interface 322 of the volatile storage space 320 is decoupled from the first interface 312 of the processor 310; and,

- un second niveau, propre à placer l’unité tampon 350 dans un état passant pour que l’unique interface 322 de l’espace de stockage volatil 320 soit couplée à la première interface 312 du processeur 310 pour permettre à ce dernier d’accéder à l’espace de stockage volatil.a second level, suitable for placing the buffer unit 350 in a passing state so that the single interface 322 of the volatile storage space 320 is coupled to the first interface 312 of the processor 310 to allow the latter to access to volatile storage space.

Dans l’état bloquant, l’unité tampon 350 place l’impédance de la quatrième interface 354 à une valeur élevée de manière à ne pas perturber la communication entre le processeur de sécurité 330 et l’espace de stockage volatil 320, en particulier lors de l’étape de recopie du premier programme de réinitialisation L1.In the blocking state, the buffer unit 350 sets the impedance of the fourth interface 354 to a high value so as not to disturb the communication between the security processor 330 and the volatile storage space 320, in particular during of the copying step of the first reset program L1.

Dans l’état passant, l’unité tampon 350 place l’impédance de la quatrième interface 354 à une valeur basse de manière à ce que l’unité tampon 350 puisse accéder, via le bus 319, à l’espace de stockage volatil 320, le processeur de sécurité 330 étant alors capable d’élever l’impédance de la seconde interface 334 pour ne pas parasiter la communication entre l’unité tampon 350 et l’espace de stockage volatil 320.In the on state, the buffer unit 350 sets the impedance of the fourth interface 354 to a low value so that the buffer unit 350 can access, via the bus 319, the volatile storage space 320 , the security processor 330 then being capable of raising the impedance of the second interface 334 so as not to interfere with the communication between the buffer unit 350 and the volatile storage space 320.

Le procédé mis en œuvre par le système 300 est similaire à celui mis en œuvre par le système 100. Il comporte uniquement les étapes supplémentaires suivantes.The method implemented by the system 300 is similar to that implemented by the system 100. It only includes the following additional steps.

A l’étape 514, avant de débuter l’étape 516 de recopie du premier programme de réinitialisation L1 dans l’espace de stockage volatil 320, le processeur de sécurité 330 applique d’abord un signal de commande Su dans le premier niveau pour que l’unité tampon 350 soit dans l’état bloquant et place l’impédance de la quatrième interface 354 à une valeur élevée. Puis le processeur de sécurité 330 abaisse l’impédance de sa seconde interface 334 pour, alors que le processeur 310 est inhibé, contrôler le bus commun 319.In step 514, before starting step 516 of copying the first reset program L1 into the volatile storage space 320, the security processor 330 first applies a control signal Su in the first level so that the buffer unit 350 is in the blocking state and places the impedance of the fourth interface 354 at a high value. Then the security processor 330 lowers the impedance of its second interface 334 in order, while the processor 310 is inhibited, to control the common bus 319.

De manière symétrique, à l’étape 518, après l’étape de recopie 516, le processeur de sécurité 330 augmente d’abord l’impédance de sa seconde interface 334 et applique ensuite un signal de commande Su dans le second niveau pour que l’unité tampon 350 soit dans l’état passant et place l’impédance de la quatrième interface 354 à une valeur basse, de sorte que l’unité tampon 350 contrôle le bus 319.Symmetrically, in step 518, after the copying step 516, the security processor 330 first increases the impedance of its second interface 334 and then applies a control signal Su in the second level so that the the buffer unit 350 is in the on state and sets the impedance of the fourth interface 354 to a low value, so that the buffer unit 350 controls the bus 319.

Dès que le processeur de sécurité 330 à modifier le niveau du signal de réinitialisation Sr pour qu’il se trouve dans le niveau inactif, à l’étape 522 le processeur 310 démarre en accédant à l’espace de stockage volatil 320 par l’intermédiaire de l’unité tampon 350. Plus précisément, toute commande appliquée à la cinquième interface 352 est réémise par la quatrième interface 354 et toute commande appliquée à la quatrième interface 354 est réémise par la cinquième interface 352. Le processeur 310 charge ainsi le premier programme de réinitialisation L1, l’unité tampon 350 étant alors essentiellement transparente.As soon as the security processor 330 to modify the level of the reset signal Sr so that it is in the inactive level, in step 522 the processor 310 starts by accessing the volatile storage space 320 via of the buffer unit 350. More precisely, any command applied to the fifth interface 352 is reissued by the fourth interface 354 and any command applied to the fourth interface 354 is reissued by the fifth interface 352. The processor 310 thus loads the first program reset L1, the buffer unit 350 then being essentially transparent.

Ce dernier mode de réalisation présente l’avantage suivant. Lorsqu’un signal de réinitialisation Sr de niveau actif est appliqué au processeur 310, l’état de l’impédance de la première interface 312 n’est en fait pas défini. Il peut notamment se trouver dans un état d’impédance basse perturbant la communication sur le bus commun, notamment entre le processeur de sécurité 330 et l’espace de stockage volatil 220. En plaçant une unité tampon 350 en coupure de l’interface du processeur 310 et le bus commun 319 et en commandant l’impédance de l’interface de l’unité tampon sur ce bus commun, on garantit la qualité de la communication entre le processeur de sécurité 330 et l’espace de stockage volatil 320 et donc la recopie sans erreur du premier programme de réinitialisation L1.This last embodiment has the following advantage. When an active level reset signal Sr is applied to the processor 310, the impedance state of the first interface 312 is in fact not defined. It can in particular be in a low impedance state disrupting communication on the common bus, in particular between the security processor 330 and the volatile storage space 220. By placing a buffer unit 350 at the cutoff of the processor interface 310 and the common bus 319 and by controlling the impedance of the interface of the buffer unit on this common bus, the quality of the communication between the security processor 330 and the volatile storage space 320 is guaranteed, and therefore the error-free copying of the first reset program L1.

L’homme du métier comprendra que les systèmes et les procédés venant d’être présentés permettent la sécurisation du programme de réinitialisation utilisé pour le démarrage d’un processeur.Those skilled in the art will understand that the systems and methods just presented make it possible to secure the reset program used for starting a processor.

Dans le présent document, un espace de stockage peut être tout type d’espace de stockage connu de l’homme du métier. Un espace de stockage volatil peut par exemple être une mémoire à accès aléatoire (RAM pour « Random Access Memory »), un composant logique programmable (notamment un FPGA pour « Field-Programmable Gâte Array »), etc. Un espace de stockage non volatil peut par exemple être une mémoire à accès unique (ROM pour « Read Only Memory »), une mémoire Flash, etc.In the present document, a storage space can be any type of storage space known to a person skilled in the art. A volatile storage space can for example be a random access memory (RAM for “Random Access Memory”), a programmable logic component (in particular an FPGA for “Field-Programmable Gate Array”), etc. A non-volatile storage space can for example be a single access memory (ROM for “Read Only Memory”), a Flash memory, etc.

Dans le mode de réalisation de la figure 2, l’espace de stockage volatil ayant deux interfaces, il s’agit plutôt d’un composant logique programmable plutôt qu’une mémoire. En variante, d’autres composants peuvent être employés, par exemple des mémoires Dual-Port de type SRAM. Cependant, l’utilisation d’un composant logique programmable permet plus de souplesse dans la réalisation.In the embodiment of Figure 2, the volatile storage space having two interfaces, it is rather a programmable logic component rather than a memory. Alternatively, other components can be used, for example Dual-Port memories of the SRAM type. However, the use of a programmable logic component allows more flexibility in the implementation.

Dans le présent document, un processeur peut être tout type de composant connu de l’homme du métier. Il peut par exemple s’agir d’un microprocesseur, d’un circuit intégré propre à une application (ASIC pour « application-Specific Integrated Circuit »), d’un composant programmable type FPGA, etc.In the present document, a processor can be any type of component known to a person skilled in the art. It can for example be a microprocessor, an application-specific integrated circuit (ASIC for "application-Specific Integrated Circuit"), a programmable component type FPGA, etc.

II est à noter que la présente solution repose sur le postulat que la vitesse du processeur de sécurité est insuffisante pour piloter le bus de manière à permettre un 5 transfert direct du programme de réinitialisation L1 de l’espace de stockage non volatil associé au processeur de sécurité vers le processeur principal. II est donc nécessaire de passer par une un espace de stockage volatil intermédiaire.It should be noted that the present solution is based on the assumption that the speed of the security processor is insufficient to drive the bus so as to allow direct transfer of the reset program L1 from the non-volatile storage space associated with the processor. security to the main processor. It is therefore necessary to go through an intermediate volatile storage space.

Dans le présent document, un bus peut être tout type de bus connu de l’homme du métier. II peut par exemple s’agir d’un bus SPI (« Serial Peripheral Interface »), d’un bus 10 I2C (« Inter-lntegrated Circuit »), etc.In the present document, a bus can be any type of bus known to a person skilled in the art. It can for example be a SPI bus ("Serial Peripheral Interface"), a 10 I2C bus ("Inter-integrated Circuit"), etc.

Claims (9)

1. -Système (100, 200, 300) de démarrage sécurisé d’un processeur (110, 210, 310), le système comportant le processeur et le processeur utilisant, lors de sa réinitialisation, un programme de réinitialisation (L1) présent dans un espace de stockage, caractérisé en ce que l’espace de stockage est un espace de stockage volatil (120, 220, 320), et en ce que le système comporte, en outre, un processeur de sécurité (130, 230, 330) et un espace de stockage sécurisé (140, 240, 340), le processeur de sécurité étant configuré pour :1. -System (100, 200, 300) for secure start-up of a processor (110, 210, 310), the system comprising the processor and the processor using, during its reset, a reset program (L1) present in a storage space, characterized in that the storage space is a volatile storage space (120, 220, 320), and in that the system further comprises a security processor (130, 230, 330) and a secure storage space (140, 240, 340), the security processor being configured to: - appliquer au processeur un signal de réinitialisation (Sr) dont le niveau inhibe la réinitialisation du processeur ;- applying to the processor a reset signal (Sr) whose level inhibits the reset of the processor; - charger un programme de réinitialisation (L1) depuis l’espace de stockage sécurisé dans l’espace de stockage volatil ; et, une fois le programme de réinitialisation chargé dans l’espace de stockage volatil,- load a reset program (L1) from the secure storage space in the volatile storage space; and, once the reset program is loaded into volatile storage, - modifier le niveau du signal de réinitialisation (Sr) pour autoriser la réinitialisation du processeur.- modify the level of the reset signal (Sr) to allow the processor to reset. 2. - Système (100) selon la revendication 1, dans lequel l’espace de stockage volatil (120) comporte :2. - System (100) according to claim 1, in which the volatile storage space (120) comprises: - une première interface (122), connectée à une première interface (121) du processeur (110) et dédiée à la réinitialisation du processeur ; et- a first interface (122), connected to a first interface (121) of the processor (110) and dedicated to resetting the processor; and - une seconde interface (124), connectée à une seconde interface (234) du processeur de sécurité (130) et dédiée au chargement du programme de réinitialisation (L1).- a second interface (124), connected to a second interface (234) of the security processor (130) and dedicated to loading the reset program (L1). 3. - Système (200, 300) selon la revendication 1, dans lequel l’espace de stockage volatil (220, 320) comporte une unique interface (222, 322), qui est connectée à la fois à une première interface (212, 312) du processeur (210, 310) et une seconde interface (234, 334) du processeur de sécurité (230, 330), le processeur de sécurité étant propre, une fois le programme de réinitialisation (L1) chargé dans l’espace de stockage volatil, à augmenter une impédance de la seconde interface (234, 334) du processeur de sécurité pour que le processeur puisse communiquer avec l’unique interface (222, 322) de l’espace de stockage volatil.3. - System (200, 300) according to claim 1, in which the volatile storage space (220, 320) comprises a single interface (222, 322), which is connected both to a first interface (212, 312) of the processor (210, 310) and a second interface (234, 334) of the security processor (230, 330), the security processor being clean, once the reset program (L1) is loaded in the space of volatile storage, increasing an impedance of the second interface (234, 334) of the security processor so that the processor can communicate with the single interface (222, 322) of the volatile storage space. 4. - Système (300) selon la revendication 3, comportant, en outre, une unité tampon (350) placée en coupure entre l’unique interface (322) de l’espace de stockage volatil (320) et la première interface (312) du processeur (310), le processeur de sécurité (330) étant configuré pour appliquer un signal de commande (Su) à l’unité tampon (350) prenant :4. - System (300) according to claim 3, further comprising a buffer unit (350) placed in cut between the single interface (322) of the volatile storage space (320) and the first interface (312 ) of the processor (310), the security processor (330) being configured to apply a control signal (Su) to the buffer unit (350) taking: - un premier niveau propre à placer l’unité tampon (350) dans un état bloquant pour que l’unique interface (322) de l’espace de stockage volatil (320) soit découplée de la première interface (312) du processeur (310) afin de permettre le chargement du programme de réinitialisation (L1) dans l’espace de stockage volatil par le processeur de sécurité ; ou,- A first level suitable for placing the buffer unit (350) in a blocking state so that the single interface (322) of the volatile storage space (320) is decoupled from the first interface (312) of the processor (310 ) in order to allow the loading of the reset program (L1) into the volatile storage space by the security processor; or, - un second niveau propre à placer l’unité tampon (350) dans un état passant pour que l’interface (322) de l’espace de stockage volatil (320) soit couplée à la première interface (312) du processeur (310) pour permettre au processeur d’accéder à l’espace de stockage volatil.- a second level suitable for placing the buffer unit (350) in a passing state so that the interface (322) of the volatile storage space (320) is coupled to the first interface (312) of the processor (310) to allow the processor to access volatile storage space. 5, - Système (100, 200, 300) selon l’une quelconque des revendications 1 à 4, dans lequel le processeur de sécurité (130, 230, 330) est configuré de manière à vérifier l’intégrité du programme de réinitialisation (L1).5, - System (100, 200, 300) according to any one of claims 1 to 4, in which the security processor (130, 230, 330) is configured so as to verify the integrity of the reset program (L1 ). 6, - Procédé de démarrage sécurisé d’un processeur (110) mis en œuvre par un système conforme à l’une quelconque des revendications 1 à 5, comportant les étapes consistant à :6, - Method for secure starting of a processor (110) implemented by a system according to any one of claims 1 to 5, comprising the steps consisting in: - inhiber (510) une réinitialisation du processeur (110) au moyen de l’application, par un processeur de sécurité (130), d’un signal de réinitialisation (Sr) placé dans un niveau actif ;- inhibiting (510) a reset of the processor (110) by means of the application, by a security processor (130), of a reset signal (Sr) placed in an active level; - charger (516), par le processeur de sécurité (130), un programme de réinitialisation (L1) depuis un espace de stockage sécurisé (140) vers un espace de stockage volatil (120) ;- loading (516), by the security processor (130), a reset program (L1) from a secure storage space (140) to a volatile storage space (120); - autoriser (520) la réinitialisation du processeur (110) au moyen de l’application, par le processeur de sécurité (130), du signal de réinitialisation (Sr) placé dans un niveau inactif ; et,- authorize (520) the reset of the processor (110) by means of the application, by the security processor (130), of the reset signal (Sr) placed in an inactive level; and, - réinitialiser (522) le processeur (110) à partir du programme de réinitialisation (L1) présent dans l’espace de stockage volatil (120).- reset (522) the processor (110) from the reset program (L1) present in the volatile storage space (120). 7, - Procédé selon la revendication 6, comportant une étape (517) supplémentaire au cours de laquelle le processeur de sécurité (130) vérifie l’intégrité du programme de réinitialisation (L1).7, - Method according to claim 6, comprising an additional step (517) during which the security processor (130) verifies the integrity of the reset program (L1). 8. - Procédé selon la revendication 6 ou la revendication 7, comportant, en outre, les étapes consistant à, lorsque l’espace de stockage volatil (220) comporte une interface multi-maîtres de connexion à un bus commun (216) :8. - Method according to claim 6 or claim 7, further comprising the steps consisting in, when the volatile storage space (220) comprises a multi-master interface for connection to a common bus (216): - avant le chargement du programme de réinitialisation (L1) dans l’espace de stockage volatil (220), le processeur de sécurité (230) abaisse une impédance d’une seconde interface (234) de connexion du processeur de sécurité (230) au bus commun ; et,- before loading the reset program (L1) into the volatile storage space (220), the security processor (230) lowers an impedance of a second interface (234) for connecting the security processor (230) to the common bus; and, - après le chargement du programme de réinitialisation (L1) dans l’espace de stockage volatil (220), le processeur de sécurité (230) augment l’impédance de la seconde interface (234) de connexion du processeur de sécurité (230) au bus commun.- after loading the reset program (L1) in the volatile storage space (220), the security processor (230) increases the impedance of the second interface (234) for connecting the security processor (230) to the common bus. 9. - Procédé selon la revendication 8, comportant, lorsque le système comporte une unité tampon (350) placée en coupure entre une unique interface (322) de l’espace de stockage volatil (320) et la première interface (312) du processeur (310), les étapes :9. - Method according to claim 8, comprising, when the system comprises a buffer unit (350) placed in the cut between a single interface (322) of the volatile storage space (320) and the first interface (312) of the processor (310), the steps: - avant le chargement du programme de réinitialisation (L1) dans l’espace de stockage volatil (320), d’application, par le processeur de sécurité (330), d’un signal de contrôle (Su) ayant un premier niveau pour placer l’unité tampon (350) dans un état bloquant afin que l’unique interface (322) de l’espace de stockage volatil (320) soit découplée de la première interface (312) du processeur (310) et permette le chargement du programme de réinitialisation (L1) dans l’espace de stockage volatil par le processeur de sécurité ;- before loading the reset program (L1) into the volatile storage space (320), application, by the security processor (330), of a control signal (Su) having a first level for placing the buffer unit (350) in a blocking state so that the single interface (322) of the volatile storage space (320) is decoupled from the first interface (312) of the processor (310) and allows the loading of the program reset (L1) in the volatile storage space by the security processor; - après le chargement du programme de réinitialisation (L1) dans l’espace de stockage volatil (320), d’application, par le processeur de sécurité (330), du signal de contrôle (Su) ayant un second niveau pour placer l’unité tampon (350) dans un état passant afin que l’unique interface (322) de l’espace de stockage volatil (320) soit couplée à la première interface (312) du processeur (310) et permette au processeur d’accéder à l’espace de stockage volatil pour sa réinitialisation.- after loading the reset program (L1) into the volatile storage space (320), application, by the security processor (330), of the control signal (Su) having a second level for placing the buffer unit (350) in a on state so that the single interface (322) of the volatile storage space (320) is coupled to the first interface (312) of the processor (310) and allows the processor to access volatile storage space for resetting.
FR1701333A 2017-12-20 2017-12-20 SYSTEM AND METHOD FOR SECURE STARTING OF A PROCESSOR Active FR3075420B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1701333A FR3075420B1 (en) 2017-12-20 2017-12-20 SYSTEM AND METHOD FOR SECURE STARTING OF A PROCESSOR

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1701333A FR3075420B1 (en) 2017-12-20 2017-12-20 SYSTEM AND METHOD FOR SECURE STARTING OF A PROCESSOR
FR1701333 2017-12-20

Publications (2)

Publication Number Publication Date
FR3075420A1 true FR3075420A1 (en) 2019-06-21
FR3075420B1 FR3075420B1 (en) 2020-01-10

Family

ID=62017304

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1701333A Active FR3075420B1 (en) 2017-12-20 2017-12-20 SYSTEM AND METHOD FOR SECURE STARTING OF A PROCESSOR

Country Status (1)

Country Link
FR (1) FR3075420B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110044451A1 (en) * 2007-07-25 2011-02-24 Panasonic Corporation Information processing apparatus and falsification verification method
US20150095633A1 (en) * 2013-10-02 2015-04-02 Jiewen Yao Trusted boot and runtime operation
US20160300064A1 (en) * 2015-04-10 2016-10-13 Vixs Systems Inc. Secure processor for soc initialization
US20170147356A1 (en) * 2014-04-28 2017-05-25 Intel Corporation Securely booting a computing device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110044451A1 (en) * 2007-07-25 2011-02-24 Panasonic Corporation Information processing apparatus and falsification verification method
US20150095633A1 (en) * 2013-10-02 2015-04-02 Jiewen Yao Trusted boot and runtime operation
US20170147356A1 (en) * 2014-04-28 2017-05-25 Intel Corporation Securely booting a computing device
US20160300064A1 (en) * 2015-04-10 2016-10-13 Vixs Systems Inc. Secure processor for soc initialization

Also Published As

Publication number Publication date
FR3075420B1 (en) 2020-01-10

Similar Documents

Publication Publication Date Title
EP2178016B1 (en) Method of operating on-board equipment, associated equipment and aircraft containing such equipment
EP2735969B1 (en) Electronic assembly including a deactivation module
EP2988243B1 (en) Device and method to insure secure platform module services
FR2930058A1 (en) PORTABLE DEVICE AND METHOD FOR EXTERNALLY STARTING A COMPUTER INSTALLATION
FR3067136A1 (en) METHOD FOR UPDATING A VEHICLE ONBOARD COMPUTER
FR2980905A1 (en) METHOD FOR ERASING MEMORIZED INFORMATION IN NON-VOLATILE REINSTRIPTIBLE MEMORY, MEMORY STORAGE MEDIUM AND AUTOMOTIVE VEHICLE CALCULATOR
WO2017036584A1 (en) Method for detecting an uncorrectable error in a non-volatile memory of a microcontroller
FR2923627A1 (en) METHOD FOR UNLOCKING A MOTOR CONTROL COMPUTER
EP2049967A2 (en) Controlled frequency core processor and method for starting-up said core processor in a programmed manner
FR3075420A1 (en) SYSTEM AND METHOD FOR SECURE STARTING A PROCESSOR
WO2012107189A2 (en) Computer reprogramming method, data storage medium and motor vehicle computer
EP4066103A1 (en) Method for updating a digital system
WO2002101752A1 (en) Method for programming/parallel programming of onboard flash memory by multiple access bus
EP3832469A1 (en) Secure electronic system comprising a processor and a memory component; associated programmable component
EP3809303B1 (en) Method for authenticating an on-chip circuit and associated system-on-chip
EP2860668B1 (en) Method and device for performing a function by a microcircuit
WO2021181015A1 (en) Method and device for updating software comprising physical addresses to the memory of an on-board computer of a vehicle
FR2966263A1 (en) INTEGRATED CIRCUIT MONITORING METHOD, INTEGRATED CIRCUIT AND COMPUTER COMPRISING AN INTEGRATED CIRCUIT
EP4145704B1 (en) Secure starting of a processing unit
WO2024121096A1 (en) Electronic control unit for a vehicle comprising a transactional black box, and method for operating such an electronic control unit
WO2021052946A1 (en) System on a chip and method guaranteeing the freshness of the data stored in an external memory
FR2816729A1 (en) Method for verification before activation of a program loaded into a smart card, uses hash value of the program stored in first memory and computes hash of program loaded into second memory to determine whether the program will be activated
EP3179400B1 (en) Method for loading a computing resource into an electronic device, electronic module and corresponding computer program
FR3124287A1 (en) Method and device for controlling access to a storage medium.
FR3109001A1 (en) Secure process for inhibiting the recording of electronic equipment faults with a view to updating a vehicle component by the end customer

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20190621

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7