EP3765984A1 - Secure data processing - Google Patents

Secure data processing

Info

Publication number
EP3765984A1
EP3765984A1 EP19714232.6A EP19714232A EP3765984A1 EP 3765984 A1 EP3765984 A1 EP 3765984A1 EP 19714232 A EP19714232 A EP 19714232A EP 3765984 A1 EP3765984 A1 EP 3765984A1
Authority
EP
European Patent Office
Prior art keywords
security processor
security
execution
data
instructions
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
EP19714232.6A
Other languages
German (de)
French (fr)
Inventor
Olivier Tomaz
Nicolas Bacca
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.)
Ledger SAS
Original Assignee
Ledger SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ledger SAS filed Critical Ledger SAS
Publication of EP3765984A1 publication Critical patent/EP3765984A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • 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/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Definitions

  • the invention relates to the secure processing of data. More specifically, it relates to a security processor of the type comprising a read-only memory, a random access memory, a calculator capable of performing cryptographic functions, and a monotonic counter management unit associated with at least one monotonic counter, a set of processing secure data system comprising such a security processor and, with connection means, an external memory, a secure data processing infrastructure comprising a plurality of security processors, and finally, a method of implementing such a set of processing secure data.
  • securing is the maintenance and control of the integrity of a program consisting of instructions and the context relating thereto, as well as the authentication of persons giving execution orders. said program.
  • Context should be understood as a set of parameters, instructions and conditions, and more broadly any set of instructions, code or data under which the program can be implemented.
  • administrator means on the one hand the initial enlisted administrator and on the other hand any other subsequent enlisted administrator.
  • enlisted is understood to be registered, registered, or, in other words, authorized to give instructions.
  • authentication of an enrolled administrator is meant the process by which it is verified that a person giving instructions is an enrolled administrator and the execution of the instructions in question is authorized by the security processor.
  • enrolled administrator authentication is meant a similar process applied individually to several persons and to enlisted administrators.
  • the document FR2906380 describes a system for securing data stored on a physical medium and the method of its implementation.
  • the data security system is embedded in a device such as a mobile phone including a housing provided with a keyboard, a screen, a microphone, a builder, an electronic card, a module for sending and receiving data, a subscriber identification module and a battery for the power supply.
  • the electronic card comprises at least one microcontroller, a random access memory, a flash memory, and a bus system.
  • the operation of the phone is managed by an operating system and a set of applications loaded for example in a memory of this phone.
  • the security system comprises, as a whole, a computing entity (such as a microprocessor) with system resources, such as a RAM, a monotone counter (which can only increment itself by one unit), a system key (a cryptographic key accessible only to entities authorized by the system), and a physical data medium ensuring the persistent storage of computer data (such as a hard disk, a flash memory, etc.).
  • This physical data medium comprises at least one data block and two master blocks, the sizes of which are configurable.
  • the implementation method uses an authentication key.
  • the data security system and the method of implementing it in document FR2906380 aim to solve a problem of security against, on the one hand, replay (fraudulent access to data by illicit copying of the previous content of a data protection system). data management) and, on the other hand, the alterations or modifications induced in particular by sudden service interruptions (such as a cut in the power supply current or an untimely reboot of the system). This document does not provide authentication for administrators.
  • Document US 2004/0187006 relates to the field of data security and more particularly to reliable data recovery from an unsecured external memory being located outside a secure environment.
  • the data security system includes a computing entity and the use of a monotonic counter to determine, in the secure environment, whether a request to the external memory returns the most recent data.
  • the monotone counter is incremented each time a main element is written to the memory.
  • a control entry records the time of the last modification of the element attached to it.
  • the value of the monotone counter stays the same until the next data is written to the memory. If this document refers to the implementation of a monotonous counter, it is not intended to provide security object (invention.
  • US2014 / 0137178 relates to a method comprising the steps of receiving, by a secure TPM platform module of a computing device, a request from a program of the computing device to access information contained in a protected object; determine whether conditions permitting the program to access the information are met; allow the program to access the information in response to the conditions met; deny the program access to information in response to unfulfilled conditions; and locking, in response to an unfulfilled condition for a threshold number of requests from the program, the information for an indefinite period of time to prevent the program from accessing the information.
  • Objects are maintained by a secure platform module. Each of the objects stores information and is associated with a policy identifying the conditions that a program must satisfy for the program to access the information.
  • the secure platform module For each of the objects, the secure platform module maintains a monotone counter associated with the object.
  • the monotone counter is used to determine whether a threshold number of object information access requests are made that do not satisfy the conditions of the policy associated with the object.
  • the secure platform module provides secure storage and / or secure processing functionality to the computing device.
  • Secure storage refers to a nonvolatile memory that is protected by, and accessible only by, particular functions or other components of the secure platform module.
  • the information is stored in a data structure or object referred to as an object protected by the module and can take various forms, such as a cryptographic key. Access to information can take different forms, such as reading information, writing or modifying it, and so on.
  • the non-volatile memory includes one or more monotone counters and one or more protected objects (see Figure 1 of the document).
  • TPM Trusted Platform Module
  • the TPM is a chip that provides cryptographic features such as RSA encryption and secure key storage.
  • Each TPM has a unique key pair called a validation key, created internally by the TPM, after manufacturing but before shipping to customers.
  • the key pair uniquely identifies the TPM and can never be changed.
  • the private party never quits the TPM and the public part is used in an authentication certificate, a non-volatile memory and a volatile memory are provided.
  • Nonvolatile memory is used to store persistent identity and state data and internal keys. With the permission of the owner, it is possible to write and read persistent and opaque data (which the TPM does not have access to or can not use) to and from the TPM.
  • the volatile memory is mainly used internally by the TPM.
  • the problem underlying the invention is, in the case of a security processor comprising a read-only memory a random access memory, a computer capable of performing cryptographic functions, and a monotonic counter management unit associated with at least one monotone counter, to ensure the security of its use, to to know how to maintain and control the integrity of the programs that it executes and the related contexts, as well as the authentication of the enlisted administrators giving the order to execute said programs.
  • the invention provides a solution to this problem, in particular by providing that the processor does not include any other storage memory, so that it does not store any program or external data.
  • the storage is "extemalized" with respect to the processor, the execution system being separated and isolated from the data to be executed, so as to maintain perfect integrity.
  • the subject of the invention is a security processor comprising at least one read-only memory, a random access memory, a computer capable of performing cryptographic functions and a monotonic counter management unit associated with at least one monotonic counter.
  • This security processor is such that:
  • the RAM is able to load a set of data, such as a context, and instructions that can be authenticated by a public key cryptographic module,
  • Such a security processor makes it possible, as part of a set of secure data processing comprising such a security processor and an external memory, to automatically execute a sequence of operations in a secure manner.
  • the security processor is emulated as a virtual machine.
  • the subject of the invention is a set of secure data processing comprising a security processor as just described and, in addition, at least one memory external to this security processor and at least one connection means adapted to connect this at least one external memory to the security processor, such as in particular via an electronic communication network.
  • the set of secure data processing comprises a plurality or at least two external memories connected to the security processor.
  • the at least one external memory of the set of secure data processing is authenticated vis-à-vis the security processor.
  • the external memory of the set of secure data processing is configured to be adapted and specially intended for:
  • the at least one context may include a reference value adapted to allow the security processor to verify the synchronization of the at least one context with the last state of a monotone counter.
  • the subject of the invention is a secure data processing infrastructure which comprises a plurality of at least two security processors such as those previously described and at least one external memory such as that previously described in connection with the set of secure data processing, the infrastructure being such that each security processor of the plurality of security processors is connected to at least one external memory.
  • the secure data processing infrastructure comprises a plurality of at least two external memories, each security processor of the plurality of security processors being connected to at least one external memory of the plurality of external memories.
  • the secure data processing infrastructure comprises a plurality of at least two external memories synchronized with each other, each of the security processors of the plurality of security processors being able to use one or the other external memories of the plurality of external memories.
  • the secure data processing infrastructure comprises several pairs, trios, quartets or more of external memories, each of the security processors being associated with a pair, a trio, a quartet or more of external memories synchronized with each other .
  • the security processor does not include any other storage memory.
  • One or more such storage memories are external to the security processor to form a secure data processing set or a secure data processing infrastructure.
  • the subject of the invention is a method for secure execution of a sequence of operations by a set of secure data processing which comprises at least the execution of the following steps:
  • ⁇ - A an administrator with an external memory connected to the security processor activates the security processor
  • the security processor once activated retrieves a public key from an external memory in order to authenticate it with a public key cryptographic module
  • the security processor If the security processor authenticates the administrator who activated it as a later enrolled administrator, it loads a set of data and instructions authenticated by that later enrolled administrator and executes it.
  • This execution by the security processor produces a set of data some of which can be authenticated, and this set of data once produced by the security processor is stored in the external memory used by the subsequent enrolled administrator.
  • the method just described is executed with two subsequent enrolled administrators, and more generally a plurality of at least two subsequent enrolled administrators, each having an external memory .
  • the method also includes performing initial steps in which an initial enrolled administrator has a set of secure data processing and enrolls a subsequent enrolled administrator.
  • the method then comprises the execution of the following enrollment steps; - A ': a first set of data and instructions authenticated and verified by means of the public key stored in the read-only memory is loaded into the RAM of the security processor in order to enable it to execute an authorization program of a later enlisted administrator and load another set of data and instructions and have it run by the security processor,
  • the enrollment steps that have just been described are such that an initial enrolled administrator enrolls at least two subsequent enrolled administrators, and more generally a plurality of at least two subsequent enlisted administrators.
  • the three steps A ', B' and C '' previously described can be repeated several times so as to make it possible to enroll different groups of subsequent enrolled administrators, to load and to execute different sets of data and instructions, all in order to be able to execute by the security processor and transmit to any electronic device or external network a sequence of operations.
  • the execution by the security processor of the set of data and instructions generates a second encrypted and signed file including data related to the execution of the code and which is saved and stored only by each of these administrators enlisted later outside the security processor, in the external memory, and which can cause the incrementation of one or more monotonous counters.
  • the set of data and instructions once loaded into the RAM of the security processor, can be executed only after the security processor has validated the authentication all subsequent enlisted administrators by the previous set of data and instructions.
  • FIG. 1 schematically represents the various constituent components of an elementary security processor according to the invention.
  • the security processor comprises only a read-only memory, a random access memory, a computer, a monotonic counter management unit associated with a monotone counter and that it does not include any other storage memory, so that it does not store any programs or external data.
  • FIG. 2 schematically represents the various constitutive components of a set of secure data processing elements according to the invention, comprising a security processor such as that of FIG. 1, a memory external to the security processor, and means connection able to connect this security processor and this external memory to him, as via an electronic communication network.
  • Figures 3 and 4 show schematically the various constituent components of two secure data processing infrastructure according to the invention.
  • the infrastructure comprises two security processors such as those of FIGS. 1 and 2 and processed external memories such as that of FIG. 2, synchronized with each other, each of the security processors being able to use in an undifferentiated manner one of three external memories.
  • the infrastructure comprises two security processors such as those of FIGS. 1 and 2 and two pairs of external memories such as that of FIG. 2, each of the security processors being associated with a pair of memories outside, synchronized with each other.
  • FIG. 5 presents a general view of the steps of execution of a set of secure data processing according to the invention.
  • Figure 6 shows the different enlistment steps of two subsequent enlisted administrators.
  • a security processor PS comprises (FIG. 1) a ROM, a random access memory RAM, a UE capable of performing cryptographic functions, a monotonic counter unit UG associated with at least one monotonic counter CM .
  • a CP public dice for authenticating at least one initial enrolled administrator Al is stored before its first use in the ROM.
  • RAM RAM is able to load a set of data - such as a context - and instructions, which can be authenticated by a cryptographic module MC public key that includes the security processor PS.
  • the execution by the UE computer, after their authentication, of certain instructions can increment a monotone counter CM.
  • the security processor PS is emulated as a virtual machine.
  • the security processor PS does not include any other storage memory, permanent so that the security processor PS does not permanently store any program, context - instructions, code, data - or external data.
  • the security processor PS consists of the read-only memory ROM, the RAM RAM, the UE computer, the management unit UG, the at least one monotone counter CM and the cryptographic module MC.
  • At least one such storage memory ME is external to the security processor PS and not part of him and physically integrated with him.
  • the security processor PS can, in such a set ETS secure data processing or in such infrastructure ITS secure data processing, automatically execute a sequence of operations in a secure manner. This means maintaining and controlling the integrity of the program and the related context, as well as the authentication of enrolled administrators, as previously defined.
  • the characteristic that the memory ME is external to the security processor PS results, on the one hand, not to limit the data processing capacity of the processor PS, on the other hand, to guarantee the immutability, and therefore the integrity, processor processing, because the external memory, permanent, has no effect or influence on the security processor PS as such.
  • the invention also relates to all other different means of an external storage memory ME as described above, but which fulfill the same function and provide a similar result as what has just been explained.
  • An ETS set of secure data processing comprises (FIG. 2) a PS security processor as described and, in addition, an external memory ME, as previously defined.
  • the set ETS also comprises at least one connection means CO, able to connect the external memory ME to the security processor PS, such as in particular via an electronic communication network.
  • the ETS set of secure data processing may comprise only one external memory ME. But, if it is desired, for security reasons, that no application decision can be executed by a single person, it is expected that the set of secure data processing ETS comprises at least two external memories ME for at least two subsequent enlisted directors AU.
  • connection means CO may allow in the sense PS security processor to the external memory ME, an encrypted storage and in the external memory ME to PS security processor, an encrypted recovery.
  • the content of the external memory (s) ME of the set ETS of secure data processing is authenticated vis-à-vis the security processor PS.
  • An external memory ME is configured to be adapted and specially adapted to store at least one program and at least one context - instructions, code, data - intended to be loaded into the RAM RAM of the security processor PS, and to be able to receive and storing any authenticated data set resulting from the execution by the PS security processor of such a program and such context that has been temporarily loaded into the RAM, as just discussed.
  • a context (set of parameters and conditions under which the program may be implemented) may include a reference value adapted to allow the PS security processor to check the context synchronization with the last state of a monotone counter CM.
  • An ITS secure data processing infrastructure comprises (FIGS. 3 and 4) a plurality of at least two PS security processors as just described, for example PS1 and PS2, and, in addition, at least one memory external ME, as just described. But, as for the secure data processing set ETS, it can be expected that the secure data processing ITS infrastructure comprises a plurality of at least two (or more) of external memories ME.
  • the ITS infrastructure also comprises, like the ETS set, at least one CO connection means, able to connect an external memory ME to a security processor PS.
  • each of the security processors PS is connected to at least one external memory ME.
  • a security processor PS is connected to a single external memory ME or contrary to several external memories ME and an external memory ME is connected to a single security processor PS or on the contrary to several security processors PS.
  • an ITS secure data processing infrastructure can be seen as the structuring of several ETS sets of secure data processing, combined with one another, where appropriate having in common one or more security processors PS and / or one or more memories. ME outdoor.
  • the ITS secure data processing infrastructure comprises several security processors PS1, PS2 and several external memories ME1, ME2, ME3, synchronized with each other, so that each of the security processors PS1, PS2 may use one or the other of the external memories ME1, ME2, ME3 in an undifferentiated manner.
  • Such a structure has the advantage of having high fault resistance.
  • the ITS secure data processing infrastructure comprises several security processors PS1, PS2 and several pairs, for example ME1a and ME1b, on the one hand, ME2a and ME2b, on the other hand on the other hand, or several trios, quartets or more of external memories ME, so that each of the security processors PS1, PS2, is associated with a pair, a trio, a quartet ... of external memories ME, synchronized with each other .
  • Such a structure has the advantage of improving the performance of the system by creating groups of data, by partitioning.
  • step A the two subsequent enrolled administrators AU1 and AU2, each having an external memory ME connected to the security processor PS, activate said security processor PS.
  • This step A therefore comprises the following operations:
  • A1 retrieving the context of the AU1 enrolled administrator
  • A3 activation by the AU1 enrolled administrator of the security processor PS,
  • ⁇ A4 activation by the AU2 enrolled administrator of the PS security processor.
  • a step B the security processor PS once activated retrieves a public key CP in a memory in order to authenticate them by the cryptographic module MC implementing a public key algorithm.
  • a step C if the security processor PS authenticates the enrolled administrators AU1 and AU2, it loads a set of data and instructions authenticated by these enrolled administrators AU1 and AU2 (operations C1 and C2 for the enrolled administrators AU1 and AU2) and execute it (operation C3).
  • this execution (operation C3) by the security processor PS produces a set of data some of which can be authenticated.
  • This set of data once produced by the security processor PS is stored in the external memory ME or memories used by the AU1 or AU2 enrolled administrator or administrators.
  • This step D therefore comprises the following operations:
  • D4 storage of data related to the enrolled administrator AU2 in the external memory ME.
  • the method also includes the following initial enrollment steps, in which an initial enrolled administrator A1 has a secure data processing set ETS and enrolls at least one subsequent enrolled administrator AU.
  • an initial enrolled administrator Al enrolls two or at least two subsequent enrolled administrators AU, respectively AU1 and AU2 for two subsequent enlisted administrators.
  • the description of the enrollment process is made in connection with an implementation with two subsequent enrolled administrators AU1 and AU2. However, as has been indicated, this feature of the number of subsequent enlisted administrators is not limiting. Also, more generally, an initial enrolled administrator Al can enlist a plurality of at least two subsequent enrolled administrators (AU).
  • the enrollment of these two subsequent enrolled administrators AU constitutes a first set participating in the definition of a first authentication context used for the subsequent executions.
  • the initial enlisted administrator Al may, at a later date, change any subsequent AU enlisted administrator who was previously enlisted. It can add one or more subsequent enlisted AU administrators. It can delete one or more subsequent enlisted AU administrators. It can modify the rights of one or more administrators later AU. In case of a subsequent change of any subsequent enlisted AU administrator who had been previously enlisted, the initial enlisted administrator Al implements the corresponding matching process. The updated context is then retrieved and the monotonic counter or counters incremented. Referring now to FIG. 6, the various enrollment steps of two subsequent enlisted administrators AU1 and AU2 are described.
  • This step A 'therefore comprises the following operations:
  • A'3 similarly, recovery of the authentication elements of the subsequent administrator AU2, A'4: transmission of the authorization program and authentication elements to the security processor PS.
  • a step B ' the execution by the security processor PS of the first set of data and instructions generates an encrypted and signed file comprising the authentication elements of the subsequent enrolled administrators AU1 and AU2, which is saved and stored. on an external memory ME to the security processor PS by each of said subsequent administrators AU1, AU2.
  • This step B 'therefore comprises the following operations:
  • step B ⁇ execution by the security security processor PS of the first set of data and instructions, at the same time as step C which will be discussed later,
  • step C ' the execution by the security processor PS of the first set of data and instructions (operation B ⁇ ) entails, at the same time, the incrementation of a monotone counter CM.
  • the three steps A ', B' and C, previously described, can be repeated several times to allow different groups of administrators to be subsequently enrolled AU, to load and to execute different sets of data and to instructions, all in order to be able to execute by the security processor PS and transmit to any electronic device or external network a sequence of operations.
  • This step is not mandatory, but only optional. It aims to ensure double security. If we want to double security, we realize this step.
  • the execution by the PS security processor of the set of data and instructions generates a second encrypted and signed file including data related to the execution of the code and which is saved and stored only by each of these later enrolled administrators AU1 and AU2, outside the security processor PS, in the external memory ME, which can cause the incrementation of one or more monotone counters CM.

Abstract

Devices and methods for executing instructions in an automatic and secure manner. A security processor (PS) comprising at least a read-only memory (ROM), a random access memory (RAM), a computer (UE) capable of performing cryptographic functions, a monotonic counter management unit (UG) associated with one or more monotonic counters (CM), is such that it does not comprise any other storage memory, meaning that the security processor (PS) does not store any program or external data, a public key (CP) allowing at least one initial enrolled administrator (Al) to be authenticated is stored before the first use of same in its read-only memory (ROM), its random access memory (RAM) is capable of loading a set of data and instructions that can be authenticated by a public key cryptographic module (MC), the execution by the computer (UE), after the authentication of same, of certain instructions, increments one of the monotonic counters (CM), so as to be able to automatically execute a sequence of operations in a secure manner, such a security processor (PS) being included in an assembly or infrastructure for secure data processing.

Description

Traitement sécurisé de données  Secure data processing
L’invention concerne le traitement sécurisé de données. Elle a plus précisément pour objet un processeur de sécurité du type comprenant une mémoire morte, une mémoire vive, un calculateur apte à réaliser des fonctions cryptographiques, et une unité de gestion de compteur monotone associée à au moins un compteur monotone, un ensemble de traitement sécurisé de données comprenant un tel processeur de sécurité et, avec des moyens de connexion, une mémoire extérieure, une infrastructure de traitement sécurisé de données comprenant plusieurs processeurs de sécurité, et enfin, un procédé de mise en œuvre d’un tel ensemble de traitement sécurisé de données. The invention relates to the secure processing of data. More specifically, it relates to a security processor of the type comprising a read-only memory, a random access memory, a calculator capable of performing cryptographic functions, and a monotonic counter management unit associated with at least one monotonic counter, a set of processing secure data system comprising such a security processor and, with connection means, an external memory, a secure data processing infrastructure comprising a plurality of security processors, and finally, a method of implementing such a set of processing secure data.
Dans le cadre de l’invention, la sécurisation s’entend du maintien et du contrôle de l’intégrité d’un programme composé d'instructions et du contexte y relatif, ainsi que de l’authentification des personnes donnant des ordres d’exécution des dits programme. Le terme « contexte » doit être compris comme un ensemble de paramètres, d'instructions et de conditions, et plus largement tout ensemble d'instructions, de code ou données sous lesquels le programme peut être mis en œuvre. Le terme « administrateur » désigne d'une part l’administrateur enrôlé initial et d’autre part tout autre administrateur enrôlé ultérieur. Par « enrôlé », il faut comprendre enregistré, inscrit, ou, en d'autres termes, autorisé à donner des instructions. Par « authentification d'un administrateur enrôlé » on désigne le processus par lequel on vérifie qu’une personne donnant des instructions est un administrateur enrôlé et on autorise l’exécution des instructions en question par le processeur de sécurité. Par « authentification des administrateurs enrôlés » on désigne un processus analogue appliqué de façon individuelle à plusieurs personnes et aux administrateurs enrôlés. In the context of the invention, securing is the maintenance and control of the integrity of a program consisting of instructions and the context relating thereto, as well as the authentication of persons giving execution orders. said program. The term "context" should be understood as a set of parameters, instructions and conditions, and more broadly any set of instructions, code or data under which the program can be implemented. The term "administrator" means on the one hand the initial enlisted administrator and on the other hand any other subsequent enlisted administrator. By "enlisted" is understood to be registered, registered, or, in other words, authorized to give instructions. By "authentication of an enrolled administrator" is meant the process by which it is verified that a person giving instructions is an enrolled administrator and the execution of the instructions in question is authorized by the security processor. By "enrolled administrator authentication" is meant a similar process applied individually to several persons and to enlisted administrators.
Le document FR2906380 décrit un système de sécurisation de données stockées sur un support physique et le procédé de sa mise en œuvre. Le système de sécurisation de données est embarqué dans un dispositif comme un téléphone portable comprenant notamment un boîtier muni d'un clavier, d'un écran, d’un microphone, d'un haut- parieur, d'une carte électronique, d'un module pour l'émission et la réception de données, d'un module d’identification abonné et d'une batterie pour l'alimentation électrique. La carte électronique comprend au moins un microcontrôleur, une mémoire vive, une mémoire Flash, et un système de bus. L'exploitation du téléphone est gérée par un système d’exploitation et un ensemble d'applications chargées par exemple dans une mémoire de ce téléphone. Le système de sécurisation comprend, formant un tout, une entité de calcul (comme un microprocesseur) avec le cas échéant des ressources système comme une mémoire vive, un compteur monotone (qui ne peut que s'incrémenter que d'une seule unité), une clé système (clé cryptographique accessible aux seules entités autorisées par le système), et un support physique de données assurant le stockage persistant de données informatiques (comme un disque dur, une mémoire flash, etc.). Ce support physique de données comprend au moins un bloc de données et deux blocs maîtres, dont les tailles sont configurables. Le procédé de mise en œuvre utilise une clé d’authentification. Le système de sécurisation de données et le procédé de sa mise en œuvre du document FR2906380 visent à résoudre un problème de sécurisation contre, d’une part, le rejeu (accès frauduleux à des données par copie illicite du contenu antérieur d'un système de gestion de données) et, d'autre part, les altérations ou modifications induites notamment par des interruptions brutales de service (comme une coupure du courant d'alimentation électrique ou un redémarrage intempestif du système). Ce document n’assure pas i' authentification des administrateurs. The document FR2906380 describes a system for securing data stored on a physical medium and the method of its implementation. The data security system is embedded in a device such as a mobile phone including a housing provided with a keyboard, a screen, a microphone, a builder, an electronic card, a module for sending and receiving data, a subscriber identification module and a battery for the power supply. The electronic card comprises at least one microcontroller, a random access memory, a flash memory, and a bus system. The operation of the phone is managed by an operating system and a set of applications loaded for example in a memory of this phone. The security system comprises, as a whole, a computing entity (such as a microprocessor) with system resources, such as a RAM, a monotone counter (which can only increment itself by one unit), a system key (a cryptographic key accessible only to entities authorized by the system), and a physical data medium ensuring the persistent storage of computer data (such as a hard disk, a flash memory, etc.). This physical data medium comprises at least one data block and two master blocks, the sizes of which are configurable. The implementation method uses an authentication key. The data security system and the method of implementing it in document FR2906380 aim to solve a problem of security against, on the one hand, replay (fraudulent access to data by illicit copying of the previous content of a data protection system). data management) and, on the other hand, the alterations or modifications induced in particular by sudden service interruptions (such as a cut in the power supply current or an untimely reboot of the system). This document does not provide authentication for administrators.
Le document US 2004/0187006 concerne le domaine de la sécurité des données et plus particulièrement ta récupération fiable de données à partir d'une mémoire externe non sécurisée car étant située en dehors d’un environnement sécurisé. Le système de sécurisation de données comprend une entité de calcul et l'utilisation d'un compteur monotone pour déterminer, dans l’environnement sécurisé, si une requête vers la mémoire externe renvoie les données les plus récentes. Le compteur monotone est incrémenté chaque fois qu'un élément principal est écrit dans la mémoire. Une entrée de contrôle enregistre l'heure de la dernière modification de l'élément iié à celui-ci. La valeur du compteur monotone reste la même jusqu'à la prochaine écriture de données dans la mémoire. Si ce document fait état de ia mise en oeuvre d'un compteur monotone, il n’a pas pour but la sécurisation objet de ('invention. Document US 2004/0187006 relates to the field of data security and more particularly to reliable data recovery from an unsecured external memory being located outside a secure environment. The data security system includes a computing entity and the use of a monotonic counter to determine, in the secure environment, whether a request to the external memory returns the most recent data. The monotone counter is incremented each time a main element is written to the memory. A control entry records the time of the last modification of the element attached to it. The value of the monotone counter stays the same until the next data is written to the memory. If this document refers to the implementation of a monotonous counter, it is not intended to provide security object (invention.
Le document US2014/0137178 se rapporte à un procédé comprenant les étapes consistant à réceptionner, par un module de plate-forme sécurisé TPM d'un dispositif informatique, une demande émanant d'un programme du dispositif informatique pour accéder à des informations contenues dans un objet protégé; déterminer si des conditions permettant au programme d’accéder à l'information sont remplies; permettre au programme d'accéder aux informations en réponse aux conditions remplies; refuser au programme l'accès à l'information en réponse aux conditions non remplies; et verrouiller, en réponse à une condition non remplie pour un nombre seuil de demandes provenant du programme, les informations pendant une durée indéterminée pour empêcher le programme d’acoéder aux informations. Des objets sont maintenus par un module de plateforme sécurisé. Chacun des objets stocke des informations et est associé à une politique identifiant les conditions auxquelles un programme doit satisfaire pour que le programme puisse accéder aux informations. Pour chacun des objets, le module de plateforme sécurisée gère un compteur monotone associé à l'objet. Le compteur monotone est utilisé pour déterminer si un nombre seuil de demandes d’accès aux informations de l'objet sont effectuées qui ne satisfont pas aux conditions de la stratégie associée à l’objet. Le module de plateforme sécurisée fournit un stockage sécurisé et / ou une fonctionnalité de traitement sécurisé au dispositif informatique. Le stockage sécurisé fait référence à une mémoire non volatile qui est protégée par des fonctions particulières ou d’autres composants du module de plateforme sécurisé et n’est accessible que par celle-ci. Les informations sont stockées dans une structure de données ou un objet désigné sous le nom d'objet protégé par le module et peuvent prendre diverses formes, telles qu’une clé cryptographique. L'accès aux informations peut prendre différentes formes, telles que la lecture des informations, leur écriture ou leur modification, etc. La mémoire non volatile comprend un ou plusieurs compteurs monotones et un ou plusieurs objets protégés (voir figure 1 du document). US2014 / 0137178 relates to a method comprising the steps of receiving, by a secure TPM platform module of a computing device, a request from a program of the computing device to access information contained in a protected object; determine whether conditions permitting the program to access the information are met; allow the program to access the information in response to the conditions met; deny the program access to information in response to unfulfilled conditions; and locking, in response to an unfulfilled condition for a threshold number of requests from the program, the information for an indefinite period of time to prevent the program from accessing the information. Objects are maintained by a secure platform module. Each of the objects stores information and is associated with a policy identifying the conditions that a program must satisfy for the program to access the information. For each of the objects, the secure platform module maintains a monotone counter associated with the object. The monotone counter is used to determine whether a threshold number of object information access requests are made that do not satisfy the conditions of the policy associated with the object. The secure platform module provides secure storage and / or secure processing functionality to the computing device. Secure storage refers to a nonvolatile memory that is protected by, and accessible only by, particular functions or other components of the secure platform module. The information is stored in a data structure or object referred to as an object protected by the module and can take various forms, such as a cryptographic key. Access to information can take different forms, such as reading information, writing or modifying it, and so on. The non-volatile memory includes one or more monotone counters and one or more protected objects (see Figure 1 of the document).
Le document « Key Management with Trusted Platform Modules » de Andréas Nilsson, publié chez KTH CSC se rapporte à un concept qui vise à rendre les plates-formes informatiques plus fiables. Il repose sur une puce appelée Trusted Platform Module (TPM). Le TPM est une puce qui fournit des fonctionnalités cryptographiques telles que le cryptage RSA et le stockage sécurisé des clés. Chaque module TPM dispose d’une paire de clés unique appelée clé de validation, créée en interne par le TPM, après fabrication mais avant expédition aux clients. La paire de clés identifie de manière unique le TPM et ne peut jamais être changé. La partie privée ne quite jamais le TPM et ia partie publique est utilisée dans un certificat d'authentification, il est prévu une mémoire non volatile et une mémoire volatile. La mémoire non volatile est utilisée pour stocker des données d'identité et d’état persistantes et les clés internes. Avec l’autorisation du propriétaire, il est possible d’écrire et de lire des données persistantes et opaques (auxquelles le TPM n'a pas accès ou qu’il ne peut utiliser) vers et depuis le TPM. La mémoire volatile est principalement utilisée en interne par le TPM. Andreas Nilsson's "Key Management with Trusted Platform Modules", published by KTH CSC, refers to a concept that aims to make IT platforms more reliable. It is based on a chip called Trusted Platform Module (TPM). The TPM is a chip that provides cryptographic features such as RSA encryption and secure key storage. Each TPM has a unique key pair called a validation key, created internally by the TPM, after manufacturing but before shipping to customers. The key pair uniquely identifies the TPM and can never be changed. The private party never quits the TPM and the public part is used in an authentication certificate, a non-volatile memory and a volatile memory are provided. Nonvolatile memory is used to store persistent identity and state data and internal keys. With the permission of the owner, it is possible to write and read persistent and opaque data (which the TPM does not have access to or can not use) to and from the TPM. The volatile memory is mainly used internally by the TPM.
Le document « Virtual Monotonie Counters and Count-Limited Objecte using a TPM without a trusted OS» de Luis F.G. Sarmenta et al expose un développement des compteurs monotones virtuels avec des machines non de confiance avec un module de plateforme sécurisée TPM. Luis F. G. Sarmenta et al, "Virtual Monotony Counters and Count-Limited Objective Using a TPM without a Trusted OS", discusses the development of virtual monotone counters with non-trusted machines with a TPM secure platform module.
Le problème à la base de l’invention est, s’agissant d'un processeur de sécurité comprenant une mémoire morte une mémoire vive, un calculateur apte à réaliser des fonctions cryptographiques, et une unité de gestion de compteur monotone associée à au moins un compteur monotone, d’assurer ia sécurisation de son utilisation, à savoir le maintien et le contrôle de l’intégrité des programmes qu’il exécute et des contextes qui y sont relatifs, ainsi que de l’authentification des administrateurs enrôlés donnant ordre d’exécuter les dits programmes. L’invention apporte une solution à ce problème, notamment en prévoyant que le processeur ne comprend aucune autre mémoire de stockage, de sorte qu'il ne stocke aucun programme ou données extérieures. Ainsi, le stockage est « extemalisé » par rapport au processeur, le système d’exécution étant séparé et isolé des données à exécuter, de manière à conserver une parfaite intégrité. Ci-après, un exposé de l’invention. The problem underlying the invention is, in the case of a security processor comprising a read-only memory a random access memory, a computer capable of performing cryptographic functions, and a monotonic counter management unit associated with at least one monotone counter, to ensure the security of its use, to to know how to maintain and control the integrity of the programs that it executes and the related contexts, as well as the authentication of the enlisted administrators giving the order to execute said programs. The invention provides a solution to this problem, in particular by providing that the processor does not include any other storage memory, so that it does not store any program or external data. Thus, the storage is "extemalized" with respect to the processor, the execution system being separated and isolated from the data to be executed, so as to maintain perfect integrity. Hereinafter, a presentation of the invention.
Selon un premier aspect, l’invention a pour objet un processeur de sécurité comprenant au moins une mémoire morte, une mémoire vive, un calculateur apte à réaliser des fonctions cryptographiques et une unité de gestion de compteur monotone associée à au moins un compteur monotone. Ce processeur de sécurité est tel que : According to a first aspect, the subject of the invention is a security processor comprising at least one read-only memory, a random access memory, a computer capable of performing cryptographic functions and a monotonic counter management unit associated with at least one monotonic counter. This security processor is such that:
- Il ne comprend aucune autre mémoire de stockage, de sorte qu'il ne stocke aucun programme, contexte - instructions, code, données - ou données extérieures, - It does not include any other storage memory, so it does not store any program, context - instructions, code, data - or external data,
* une clé publique permettant d’authentifier au moins un administrateur enrôlé initial est stockée avant sa première utilisation dans la mémoire morte,  a public key making it possible to authenticate at least one initial enrolled administrator is stored before its first use in the read-only memory,
* la mémoire vive est apte à charger un ensemble de données, tel qu’un contexte, et d'instructions pouvant être authentifié par un module cryptographique à clé publique,  the RAM is able to load a set of data, such as a context, and instructions that can be authenticated by a public key cryptographic module,
r l’exécution par le calculateur, après leur authentification par l’administrateur enrôlé initial, de certaines instructions incrémente l'un des compteurs monotones. r the execution by the computer, after their authentication by the initial enrolled administrator, of certain instructions increments one of the monotone counters.
Un tel processeur de sécurité permet, dans le cadre d’un ensemble de traitement sécurisé de données comprenant un tel processeur de sécurité et une mémoire extérieure, d’exécuter automatiquement une séquence d’opérations de manière sécurisée. Such a security processor makes it possible, as part of a set of secure data processing comprising such a security processor and an external memory, to automatically execute a sequence of operations in a secure manner.
Dans une réalisation, le processeur de sécurité est émulé comme une machine virtuelle. Selon un deuxième aspect, l’invention a pour objet un ensemble de traitement sécurisé de données comprenant un processeur de sécurité tel qu’il vient d’être décrit et, en outre, au moins une mémoire extérieure à ce processeur de sécurité et au moins un moyen de connexion apte à relier cette au moins une mémoire extérieure au processeur de sécurité, tel que notamment par l’intermédiaire un réseau de communication électronique. Selon une caractéristique et une réalisation, pour des raisons de sécurité, l’ensemble de traitement sécurisé de données comprend une pluralité soit au moins deux mémoires extérieures reliées au processeur de sécurité. In one embodiment, the security processor is emulated as a virtual machine. According to a second aspect, the subject of the invention is a set of secure data processing comprising a security processor as just described and, in addition, at least one memory external to this security processor and at least one connection means adapted to connect this at least one external memory to the security processor, such as in particular via an electronic communication network. According to a feature and an embodiment, for security reasons, the set of secure data processing comprises a plurality or at least two external memories connected to the security processor.
Selon une caractéristique, la au moins une mémoire extérieure de l’ensemble de traitement sécurisé de données est authentifiée vis-à-vis du processeur de sécurité. According to one characteristic, the at least one external memory of the set of secure data processing is authenticated vis-à-vis the security processor.
Selon une réalisation, la mémoire extérieure de l’ensemble de traitement sécurisé de données est configurée pour être apte et spécialement destinée à : According to one embodiment, the external memory of the set of secure data processing is configured to be adapted and specially intended for:
- stocker au moins un programme et au moins un contexte - instructions, code, données -, destiné à être chargé dans la mémoire vive du processeur de sécurité,  storing at least one program and at least one context - instructions, code, data - intended to be loaded into the RAM of the security processor,
- et à pouvoir recevoir et stocker tout fichier authentifié résultant de l’exécution par le processeur de sécurité du au moins un programme et du au moins un contexte qui a été chargé temporairement dans la mémoire vive du processeur de sécurité, alors que l’au moins un contexte peut comprendre une valeur de référence apte à permettre au processeur de sécurité de vérifier la synchronisation du au moins un contexte avec le dernier état d’un compteur monotone. and to be able to receive and store any authenticated file resulting from the execution by the security processor of the at least one program and the at least one context that has been temporarily loaded into the security processor's RAM, while the at least one context may include a reference value adapted to allow the security processor to verify the synchronization of the at least one context with the last state of a monotone counter.
Selon un troisième aspect, l’invention a pour objet une infrastructure de traitement sécurisé de données qui comprend une pluralité soit au moins deux processeurs de sécurité tels que ceux précédemment décrits et au moins une mémoire extérieure telle que celle précédemment décrite en relation avec l’ensemble de traitement sécurisé de données, l’infrastructure étant telle que chaque processeur de sécurité de la pluralité de processeurs de sécurité est relié à au moins une mémoire extérieure. According to a third aspect, the subject of the invention is a secure data processing infrastructure which comprises a plurality of at least two security processors such as those previously described and at least one external memory such as that previously described in connection with the set of secure data processing, the infrastructure being such that each security processor of the plurality of security processors is connected to at least one external memory.
Selon une réalisation, l’infrastructure de traitement sécurisé de données comprend une pluralité soit au moins deux mémoires extérieures, chaque processeur de sécurité de la pluralité de processeurs de sécurité étant relié à au moins une mémoire extérieure de la pluralité de mémoires extérieures. According to one embodiment, the secure data processing infrastructure comprises a plurality of at least two external memories, each security processor of the plurality of security processors being connected to at least one external memory of the plurality of external memories.
Selon une réalisation possible, l’infrastructure de traitement sécurisé de données comprend une pluralité soit au moins deux mémoires extérieures synchronisées entre elles, chacun des processeurs de sécurité de la pluralité de processeurs de sécurité pouvant utiliser de façon indifférenciée l'une ou l’autre des mémoires extérieures de la pluralité de mémoires extérieures. According to one possible embodiment, the secure data processing infrastructure comprises a plurality of at least two external memories synchronized with each other, each of the security processors of the plurality of security processors being able to use one or the other external memories of the plurality of external memories.
Selon une réalisation possible, l’infrastructure de traitement sécurisé de données comprend plusieurs paires, trios, quatuors ou plus de mémoires extérieures, chacun des processeurs de sécurité étant associé à une paire, un trio, un quatuor ou plus de mémoires extérieures synchronisées entre elles. According to one possible embodiment, the secure data processing infrastructure comprises several pairs, trios, quartets or more of external memories, each of the security processors being associated with a pair, a trio, a quartet or more of external memories synchronized with each other .
Ainsi, le processeur de sécurité en tant que tel ne comprend autre mémoire de stockage. Une ou plusieurs telles mémoires de stockage sont extérieures au processeur de sécurité pour former un ensemble de traitement sécurisé de données ou une infrastructure de traitement sécurisé de données. Thus, the security processor as such does not include any other storage memory. One or more such storage memories are external to the security processor to form a secure data processing set or a secure data processing infrastructure.
Selon un quatrième aspect, l’invention a pour objet un procédé d’exécution sécurisée d’une séquence d'opérations par un ensemble de traitement sécurisé de données qui comprend au moins l’exécution des étapes suivantes :According to a fourth aspect, the subject of the invention is a method for secure execution of a sequence of operations by a set of secure data processing which comprises at least the execution of the following steps:
·- A : un administrateur disposant d’une mémoire extérieure relié au processeur de sécurité active le processeur de sécurité, · - A: an administrator with an external memory connected to the security processor activates the security processor,
B : le processeur de sécurité une fois activé récupère une clé publique dans une mémoire extérieure afin de pouvoir l’authentifier par un module cryptographique à clé publique,  B: the security processor once activated retrieves a public key from an external memory in order to authenticate it with a public key cryptographic module,
C : si le processeur de sécurité authentifie l’administrateur qui l’a activé comme administrateur enrôlé ultérieur, il charge un ensemble de données et d'instructions authentifié par cet administrateur enrôlé ultérieur et l’exécute, C: If the security processor authenticates the administrator who activated it as a later enrolled administrator, it loads a set of data and instructions authenticated by that later enrolled administrator and executes it.
- D : cette exécution par le processeur de sécurité produit un ensemble de données dont certaines peuvent être authentifiées, et cet ensemble de données une fois produit par (e processeur de sécurité est stocké dans la mémoire extérieure utilisée par l’administrateur enrôlé ultérieur. - D: This execution by the security processor produces a set of data some of which can be authenticated, and this set of data once produced by the security processor is stored in the external memory used by the subsequent enrolled administrator.
Selon une caractéristique et une réalisation, pour des raisons de sécurité, le procédé qui vient d’être décrit est exécuté avec deux administrateurs enrôlés ultérieurs, et plus généralement une pluralité d’au moins deux administrateurs enrôlés ultérieurs, chacun disposant d’une mémoire extérieure. According to one feature and one embodiment, for security reasons, the method just described is executed with two subsequent enrolled administrators, and more generally a plurality of at least two subsequent enrolled administrators, each having an external memory .
Le procédé comprend également l’exécution d’étapes initiales dans lesquelles un administrateur enrôlé initial dispose d’un ensemble de traitement sécurisé de données et enrôle un administrateur enrôlé ultérieur. The method also includes performing initial steps in which an initial enrolled administrator has a set of secure data processing and enrolls a subsequent enrolled administrator.
Le procédé comprend alors l’exécution des étapes d’enrôlement suivantes ; - A' : un premier ensemble de données et d’instructions authentifié et vérifié grâce à la clé publique stockée dans la mémoire morte est chargé dans la mémoire vive du processeur de sécurité afin de lui permettre d’exécuter un programme d’habilitation d’un administrateur enrôlé ultérieurs et à charger un autre ensemble de données et d’instructions et à le faire exécuter par le processeur de sécurité,The method then comprises the execution of the following enrollment steps; - A ': a first set of data and instructions authenticated and verified by means of the public key stored in the read-only memory is loaded into the RAM of the security processor in order to enable it to execute an authorization program of a later enlisted administrator and load another set of data and instructions and have it run by the security processor,
- B’ : l’exécution par le processeur de sécurité du premier ensemble de données et d’instructions engendre un fichier chiffré et signé comprenant les éléments d’authentification de l’administrateur enrôlé ultérieur et qui est sauvegardé et stocké sur une mémoire extérieure au processeur de sécurité par l’administrateur enrôlé ultérieur, * C : l’exécution par le processeur de sécurité du premier ensemble de données et d’instructions entraîne en même temps l’incrémentation d’un compteur monotone.  B ': the execution by the security processor of the first set of data and instructions generates an encrypted and signed file comprising the authentication elements of the subsequent enrolled administrator and which is saved and stored on a memory external to the security processor by the subsequent enrolled administrator, * C: the execution by the security processor of the first set of data and instructions at the same time leads to the incrementation of a monotonic counter.
Selon une caractéristique et une réalisation, pour des raisons de sécurité, les étapes d’enrôlement qui viennent d’être décrites sont telles qu'un administrateur enrôlé Initial enrôle au moins deux administrateurs enrôlés ultérieurs, et plus généralement une pluralité d’au moins deux administrateurs enrôlés ultérieurs. According to one feature and one embodiment, for security reasons, the enrollment steps that have just been described are such that an initial enrolled administrator enrolls at least two subsequent enrolled administrators, and more generally a plurality of at least two subsequent enlisted administrators.
Selon une réalisation, les trois étapes A’, B’ et C,’ précédemment décrites peuvent être répétées à plusieurs reprises de manière à permettre d’enrôler différents groupes d'administrateurs enrôlés ultérieurs, à charger et à faire s'exécuter différents ensembles de données et d’instructions, le tout en vue de pouvoir faire exécuter par le processeur de sécurité et transmettre à tout dispositif électronique ou réseau externe une séquence d’opérations. According to one embodiment, the three steps A ', B' and C '' previously described can be repeated several times so as to make it possible to enroll different groups of subsequent enrolled administrators, to load and to execute different sets of data and instructions, all in order to be able to execute by the security processor and transmit to any electronic device or external network a sequence of operations.
Le procédé est également caractérisé en ce qu’il comprend l'exécution des étapes postérieures suivantes : The method is further characterized in that it comprises performing the following subsequent steps:
- les administrateurs enrôlés ultérieurs, enrôlés lors d'étapes d’enrôlement précédentes, s’authentifient auprès du processeur de sécurité au regard du contexte d’exécution en l'état, par un procédé fiable de contrôle d'accès, tel qu'une signature électronique, avant de pouvoir charger dans la mémoire vive du processeur de sécurité un ensemble de données et d’instructions, the subsequent enlisted administrators, enrolled during previous enrollment steps, authenticate to the security processor with respect to the execution context as it is, by a reliable access control method, such as a electronic signature, before being able to load into the RAM of the security processor a set of data and instructions,
-: l'exécution par le processeur de sécurité de l’ensemble de données et d’instructions engendre un second fichier chiffré et signé comprenant des données liées à l’exécution du code et qui est sauvegardé et stocké uniquement par chacun de ces administrateurs enrôlés ultérieurs à l'extérieur du processeur de sécurité, dans la mémoire extérieure, et qui peut engendrer l’incrémentation d’un ou de plusieurs compteurs monotones. -: the execution by the security processor of the set of data and instructions generates a second encrypted and signed file including data related to the execution of the code and which is saved and stored only by each of these administrators enlisted later outside the security processor, in the external memory, and which can cause the incrementation of one or more monotonous counters.
Pour des raisons de sécurité, il peut être prévu que l’ensemble de données et d'instructions, une fois chargé dans la mémoire vive du processeur de sécurité, ne peut être exécuté qu’après que le processeur de sécurité a validé l'authentification de tous les administrateurs enrôlés ultérieurs par le précédent ensemble de données et d'instructions. For security reasons, it can be expected that the set of data and instructions, once loaded into the RAM of the security processor, can be executed only after the security processor has validated the authentication all subsequent enlisted administrators by the previous set of data and instructions.
On décrit maintenant brièvement les figures des dessins. The figures of the drawings are now briefly described.
La figure 1 représente de façon schématique les différents composants constitutifs d’un processeur de sécurité élémentaire selon l’invention. Cette figure illustre que le processeur de sécurité ne comprend qu’une mémoire morte, une mémoire vive, un calculateur, une unité de gestion de compteur monotone associée à un compteur monotone et qu'il ne comprend aucune autre mémoire de stockage, de sorte qu’il ne stocke aucun programme ou données extérieures. FIG. 1 schematically represents the various constituent components of an elementary security processor according to the invention. This figure illustrates that the security processor comprises only a read-only memory, a random access memory, a computer, a monotonic counter management unit associated with a monotone counter and that it does not include any other storage memory, so that it does not store any programs or external data.
La figure 2 représente de façon schématique les différents composants constitutifs d’un ensemble de traitement sécurisé de données élémentaire selon l’invention, comprenant un processeur de sécurité tel que celui de la figure 1 , une mémoire extérieure au processeur de sécurité, et des moyens de connexion aptes à relier ce processeur de sécurité et cette mémoire extérieure à lui, comme par l'intermédiaire un réseau de communication électronique. Les figures 3 et 4 représentent de façon schématique les différents composants constitutifs de deux infrastructures de traitement sécurisé de données selon l'invention. Dans le cas de la figure 3, l’infrastructure comprend deux processeurs de sécurité tels que ceux des figures 1 et 2 et trais mémoires extérieures telles que celle de la figure 2, synchronisées entre elles, chacun des processeurs de sécurité pouvant utiliser de façon indifférenciée l’une des trois mémoires extérieures. Dans le cas de la figure 4, l’infrastructure comprend deux processeurs de sécurité tels que ceux des figures 1 et 2 et deux paires de mémoires extérieures telles que celle de la figure 2, chacun des processeurs de sécurité étant associé à une paire de mémoires extérieures, synchronisées entre elles. FIG. 2 schematically represents the various constitutive components of a set of secure data processing elements according to the invention, comprising a security processor such as that of FIG. 1, a memory external to the security processor, and means connection able to connect this security processor and this external memory to him, as via an electronic communication network. Figures 3 and 4 show schematically the various constituent components of two secure data processing infrastructure according to the invention. In the case of FIG. 3, the infrastructure comprises two security processors such as those of FIGS. 1 and 2 and processed external memories such as that of FIG. 2, synchronized with each other, each of the security processors being able to use in an undifferentiated manner one of three external memories. In the case of FIG. 4, the infrastructure comprises two security processors such as those of FIGS. 1 and 2 and two pairs of external memories such as that of FIG. 2, each of the security processors being associated with a pair of memories outside, synchronized with each other.
La figure 5 présente une vue générale des étapes d’exécution d’un ensemble de traitement sécurisé de données selon l’invention. FIG. 5 presents a general view of the steps of execution of a set of secure data processing according to the invention.
La figure 6 présente les différentes étapes d'enrôlement de deux administrateurs enrôlés ultérieurs. Figure 6 shows the different enlistment steps of two subsequent enlisted administrators.
Un processeur de sécurité PS selon l’invention comprend (figure 1 ) une mémoire morte ROM, une mémoire vive RAM, un calculateur UE apte à réaliser des fonctions cryptographiques, une unité de gestion UG de compteur monotone associée à au moins un compteur monotone CM. A security processor PS according to the invention comprises (FIG. 1) a ROM, a random access memory RAM, a UE capable of performing cryptographic functions, a monotonic counter unit UG associated with at least one monotonic counter CM .
Une dé publique CP permettant d’authentifier au moins un administrateur enrôlé initial Al est stockée avant sa première utilisation dans la mémoire morte ROM. La mémoire vive RAM est apte à charger un ensembie de données - tel qu’un contexte - et d’instructions, pouvant être authentifié par un module cryptographique MC à clé publique que comprend le processeur de sécurité PS.  A CP public dice for authenticating at least one initial enrolled administrator Al is stored before its first use in the ROM. RAM RAM is able to load a set of data - such as a context - and instructions, which can be authenticated by a cryptographic module MC public key that includes the security processor PS.
L’exécution par le calculateur UE, après leur authentification, de certaines instructions peut incrémenter un compteur monotone CM.  The execution by the UE computer, after their authentication, of certain instructions can increment a monotone counter CM.
Dans une réalisation, le processeur de sécurité PS est émulé comme une machine virtuelle.  In one embodiment, the security processor PS is emulated as a virtual machine.
Selon une caractéristique du processeur de sécurité PS, celui-ci ne comprend aucune autre mémoire de stockage, permanente de sorte que le processeur de sécurité PS ne stocke de façon permanente aucun programme, contexte - instructions, code, données - ou données extérieures.  According to a feature of the security processor PS, it does not include any other storage memory, permanent so that the security processor PS does not permanently store any program, context - instructions, code, data - or external data.
Ainsi, le processeur de sécurité PS est constitué de la mémoire morte ROM, de la mémoire vive RAM, du calculateur UE, de l’unité de gestion UG, du au moins un compteur monotone CM et du module cryptographique MC.  Thus, the security processor PS consists of the read-only memory ROM, the RAM RAM, the UE computer, the management unit UG, the at least one monotone counter CM and the cryptographic module MC.
Pour autant, il est prévu pour le traitement sécurisé de données, au moins une telle mémoire de stockage ME, mais celle-ci est extérieure au processeur de sécurité PS et non partie de lui et intégrée physiquement à lui. However, it is provided for the secure processing of data, at least one such storage memory ME, but it is external to the security processor PS and not part of him and physically integrated with him.
C'est ainsi que l'on forme avec un tel processeur de sécurité PS et au moins une telle mémoire de stockage ME, ainsi que des moyens de communication appropriés, un ensemble ETS de traitement sécurisé de données ou une infrastructure ITS de traitement sécurisé de données (figures 2, 3 et 4).  Thus, with such a security processor PS and at least one such storage memory ME, as well as appropriate communication means, an ETS set of secure data processing or an ITS infrastructure for secure processing of data is formed. data (Figures 2, 3 and 4).
Le processeur de sécurité PS peut, dans un tel ensemble ETS de traitement sécurisé de données ou dans une telle infrastructure ITS de traitement sécurisé de données, exécuter automatiquement une séquence d’opérations de manière sécurisée. On entend par là que l'on assure le maintien et le contrôle de l'intégrité du programme et du contexte y relatif, ainsi que de l’authentification des administrateurs enrôlés, au sens où cela a été précédemment défini.  The security processor PS can, in such a set ETS secure data processing or in such infrastructure ITS secure data processing, automatically execute a sequence of operations in a secure manner. This means maintaining and controlling the integrity of the program and the related context, as well as the authentication of enrolled administrators, as previously defined.
Par mémoire de stockage « extérieure » au processeur de sécurité », il faut comprendre une mémoire qui n’est pas incluse dans l’unité physique que constitue le processeur PS. Pour cette raison, cette mémoire est dénommée « mémoire extérieure » et référencée ME. La caractéristique que la mémoire ME est extérieure au processeur de sécurité PS a pour fonction d’extemaliser le stockage par rapport au processeur PS, ou en d’autres termes, de séparer et d’isoler le système d'exécution (le processeur PS) des données. By storage memory "external" to the security processor ", it is necessary to understand a memory that is not included in the physical unit constituted by the processor PS. For this reason, this memory is called "external memory" and referenced ME. The characteristic that the memory ME is external to the security processor PS has the function of extemalizing the storage with respect to the processor PS, or in other words, separating and isolating the execution system (the processor PS) Datas.
La caractéristique que la mémoire ME est extérieure au processeur de sécurité PS a pour résultat, d’une part, de ne pas limiter la capacité de traitement de données du processeur PS, d’autre part, de garantir l’immutabilité, et donc l’intégrité, du traitement du processeur, car la mémoire extérieure, permanente, n’a pas d’effet ou d’influence sur le processeur de sécurité PS en tant que tel.  The characteristic that the memory ME is external to the security processor PS results, on the one hand, not to limit the data processing capacity of the processor PS, on the other hand, to guarantee the immutability, and therefore the integrity, processor processing, because the external memory, permanent, has no effect or influence on the security processor PS as such.
L’invention vise également tous autres moyens différents d'une mémoire de stockage extérieures ME comme il vient d’être décrit, mais qui remplissent la même fonction et procurent un résultat analogue que ce qui vient d’être exposé.  The invention also relates to all other different means of an external storage memory ME as described above, but which fulfill the same function and provide a similar result as what has just been explained.
Un ensemble ETS de traitement sécurisé de données comprend (figure 2) un processeur de sécurité PS tel qu’il a été décrit et, en outre, une mémoire extérieure ME, au sens où cela a été précédemment défini. L’ensemble ETS comprend également au moins un moyen de connexion CO, apte à relier la mémoire extérieure ME au processeur de sécurité PS, tel que notamment par l’intermédiaire d’un réseau de communication électronique. An ETS set of secure data processing comprises (FIG. 2) a PS security processor as described and, in addition, an external memory ME, as previously defined. The set ETS also comprises at least one connection means CO, able to connect the external memory ME to the security processor PS, such as in particular via an electronic communication network.
L’ensemble ETS de traitement sécurisé de données peut ne comprendre qu’une seule mémoire extérieure ME. Mais, si l’on souhaite, pour des raisons de sécurité, qu’aucune décision applicative ne puisse être exécutée par une personne unique, on prévoit que l’ensemble ETS de traitement sécurisé de données comprenne au moins deux mémoires extérieures ME pour au moins deux administrateurs enrôlés ultérieurs AU.  The ETS set of secure data processing may comprise only one external memory ME. But, if it is desired, for security reasons, that no application decision can be executed by a single person, it is expected that the set of secure data processing ETS comprises at least two external memories ME for at least two subsequent enlisted directors AU.
La description qui suit est faite en relation avec une réalisation à deux mémoires extérieures ME. Toutefois, cette caractéristique du nombre de mémoires extérieures ME n’est pas limitative. En particulier, il peut être prévu plus de deux mémoires extérieures ME. C’est pourquoi l’on peut se référer à une pluralité soit au moins deux mémoires extérieures ME (le nombre de mémoires extérieures ME pouvant être plus important) et à une pluralité soit au moins deux administrateurs enrôlés ultérieurs AU (le nombre d’administrateurs enrôlés ultérieurs AU pouvant être plus important). The following description is made in connection with an embodiment with two external memories ME. However, this characteristic of the number of external memories ME is not limiting. In particular, more than two external memories ME may be provided. For this reason, it is possible to refer to a plurality of at least two external memories ME (the number of external memories ME that may be larger) and to a plurality of at least two administrators subsequently enrolled AU (the number of administrators subsequent enlisted AU may be more important).
Les moyens de connexion CO peuvent permettre dans le sens processeur de sécurité PS vers la mémoire extérieure ME, un stockage chiffré et dans le sens mémoire extérieure ME vers processeur de sécurité PS, une récupération chiffrée. The connection means CO may allow in the sense PS security processor to the external memory ME, an encrypted storage and in the external memory ME to PS security processor, an encrypted recovery.
Le contenu de la ou des mémoires" extérieures ME de l’ensemble ETS de traitement sécurisé de données est authentifié vis-à-vis du processeur de sécurité PS.  The content of the external memory (s) ME of the set ETS of secure data processing is authenticated vis-à-vis the security processor PS.
Une mémoire extérieure ME est configurée pour être apte et spécialement destinée à stocker au moins un programme et au moins un contexte - instructions, code, données -, destiné à être chargé dans la mémoire vive RAM du processeur de sécurité PS, et à pouvoir recevoir et stocker tout ensemble de données authentifié résultant de l’exécution par le processeur de sécurité PS d’un tel programme et d'un tel contexte qui a été chargé temporairement dans la mémoire vive RAM, comme il vient d’être exposé.  An external memory ME is configured to be adapted and specially adapted to store at least one program and at least one context - instructions, code, data - intended to be loaded into the RAM RAM of the security processor PS, and to be able to receive and storing any authenticated data set resulting from the execution by the PS security processor of such a program and such context that has been temporarily loaded into the RAM, as just discussed.
Un contexte (ensemble de paramètres et de conditions sous lesquels le programme peut être mis en oeuvre) peut comprendre une valeur de réference apte à permettre au processeur de sécurité PS de vérifier la synchronisation du contexte avec le dernier état d’un compteur monotone CM. A context (set of parameters and conditions under which the program may be implemented) may include a reference value adapted to allow the PS security processor to check the context synchronization with the last state of a monotone counter CM.
Une infrastructure ITS de traitement sécurisé de données comprend (figures 3 et 4) une pluralité soit au moins deux processeurs de sécurité PS tels qu’il vient d’être décrit, par exemple PS1 et PS2, et, en outre, au moins une mémoire extérieure ME, telle qu’il vient d’être décrit. Mais, comme pour l’ensemble ETS de traitement sécurisé de données, il peut être prévu que l’infrastructure ITS de traitement sécurisé de données comprenne une pluralité soit au moins deux {ou un plus grand nombre), de mémoires extérieures ME. An ITS secure data processing infrastructure comprises (FIGS. 3 and 4) a plurality of at least two PS security processors as just described, for example PS1 and PS2, and, in addition, at least one memory external ME, as just described. But, as for the secure data processing set ETS, it can be expected that the secure data processing ITS infrastructure comprises a plurality of at least two (or more) of external memories ME.
L'infrastructure ITS comprend également, comme l’ensemble ETS, au moins un moyen de connexion CO, apte à relier une mémoire extérieure ME à un processeur de sécurité PS.  The ITS infrastructure also comprises, like the ETS set, at least one CO connection means, able to connect an external memory ME to a security processor PS.
La structure d’une telle infrastructure ITS de traitement sécurisé de données peut faire l’objet de nombre de réalisations, chacune de ces réalisations étant telle que chacun des processeurs de sécurité PS est relié à au moins une mémoire extérieure ME. Ainsi, selon les cas, un processeur de sécurité PS est relié à une seule mémoire extérieure ME ou au contraire à plusieurs mémoires extérieures ME et, une mémoire extérieure ME est reliée à un seul processeur de sécurité PS ou au contraire à plusieurs processeurs de sécurité PS. The structure of such an ITS secure data processing infrastructure can be the subject of a number of embodiments, each of these embodiments being such that each of the security processors PS is connected to at least one external memory ME. Thus, depending on the case, a security processor PS is connected to a single external memory ME or contrary to several external memories ME and an external memory ME is connected to a single security processor PS or on the contrary to several security processors PS.
Ainsi, une infrastructure ITS de traitement sécurisé de données peut être vue comme la structuration de plusieurs ensembles ETS de traitement sécurisé de données, combinés entre eux, le cas échéant ayant en commun un ou plusieurs processeurs de sécurité PS et/ou une ou plusieurs mémoires extérieures ME. Thus, an ITS secure data processing infrastructure can be seen as the structuring of several ETS sets of secure data processing, combined with one another, where appropriate having in common one or more security processors PS and / or one or more memories. ME outdoor.
Dans une réalisation possible (figure 3), l’infrastructure ITS de traitement sécurisé de données comprend plusieurs processeurs de sécurité PS1 , PS2 et plusieurs mémoires extérieures ME1 , ME2, ME3, synchronisées entre elles, de sorte que chacun des processeurs de sécurité PS1 , PS2, peut utiliser de façon indifférenciée l'une ou l’autre des mémoires extérieures ME1 , ME2, ME3. In a possible embodiment (FIG. 3), the ITS secure data processing infrastructure comprises several security processors PS1, PS2 and several external memories ME1, ME2, ME3, synchronized with each other, so that each of the security processors PS1, PS2 may use one or the other of the external memories ME1, ME2, ME3 in an undifferentiated manner.
Une telle structure a pour avantage de présenter une résistance aux fautes élevées.  Such a structure has the advantage of having high fault resistance.
Dans une autre réalisation possible (figure 4), l’infrastructure ITS de traitement sécurisé de données comprend plusieurs processeurs de sécurité PS1 , PS2 et plusieurs paires, par exemple ME1 a et ME1 b, d’une part, ME2a et ME2b, d’autre part, ou bien plusieurs trios, quatuors ou plus de mémoires extérieures ME, de sorte que chacun des processeurs de sécurité PS1 , PS2, est associé à une paire, un trio, un quatuor... de mémoires extérieures ME, synchronisées entre elles. In another possible embodiment (FIG. 4), the ITS secure data processing infrastructure comprises several security processors PS1, PS2 and several pairs, for example ME1a and ME1b, on the one hand, ME2a and ME2b, on the other hand on the other hand, or several trios, quartets or more of external memories ME, so that each of the security processors PS1, PS2, is associated with a pair, a trio, a quartet ... of external memories ME, synchronized with each other .
Une telle structure a pour avantage d’améliorer les performances du système en créant des groupes de données, par un partitionnement.  Such a structure has the advantage of improving the performance of the system by creating groups of data, by partitioning.
On décrit maintenant des procédés de mise en œuvre d’un ensemble ETS de traitement Sécurisé de données tel qu'il vient d'être décrit, lesquels procédés comprennent l’exécution d’étapes successives. Processes for implementing a secure data processing ETS set as just described are now described, which methods include the execution of successive steps.
Dans le cadre des procédés selon l’invention, l’on est amené à se référer à un ou à des administrateurs enrôlés Al, AU, qui mettent en œuvre ces procédés. Ces administrateurs sont l'administrateur enrôlé initial Al et tout autre administrateur enrôlé ultérieur AU. In the context of the methods according to the invention, reference is made to one or more of the enrolled administrators Al, AU, who implement these methods. These administrators are the initial enlisted administrator Al and any other subsequent enlisted AU administrator.
Comme il a été exposé précédemment, si l’on souhaite, pour des raisons de sécurité, qu’aucune décision applicative ne puisse être exécutée par une personne unique, on prévoit au moins deux administrateurs enrôlés ultérieurs AU.  As stated above, if it is desired, for security reasons, that no application decision can be executed by a single person, at least two subsequent enrolled administrators AU are expected.
La description des procédés qui suit est faite en relation avec une réalisation à deux administrateurs enrôlés ultérieurs AU, respectivement AU1 et AU2. Toutefois, cette caractéristique du nombre administrateurs enrôlés ultérieurs AU n’est pas limitative. En particulier, il peut être prévu plus de deux administrateurs enrôlés ultérieurs AU.  The following description of the processes is made in connection with an embodiment with two subsequent enrolled administrators AU, respectively AU1 and AU2. However, this feature of the number of subsequent enlisted AU administrators is not limiting. In particular, it may be provided for more than two subsequent enlisted AU administrators.
On se réfère maintenant à la figure 5 pour exposer de façon générale l’exécution d’un ensemble ETS de traitement sécurisé de données dans le cas de deux administrateurs enrôlés ultérieurs AU1 et AU2. Dans une étape A, les deux administrateurs enrôlés ultérieurs AU1 et AU2, disposant chacun d’une mémoire extérieure ME reliée au processeur de sécurité PS, activent le dit processeur de sécurité PS. Cette étape A comprend donc les opérations suivantes : Referring now to FIG. 5, there is shown generally the execution of a secure data processing set ETS in the case of two subsequent enrolled administrators AU1 and AU2. In a step A, the two subsequent enrolled administrators AU1 and AU2, each having an external memory ME connected to the security processor PS, activate said security processor PS. This step A therefore comprises the following operations:
- A1 : récupération du contexte de l'administrateur enrôlé AU1 ,  A1: retrieving the context of the AU1 enrolled administrator,
A2 : récupération du contexte de l’administrateur enrôlé AU2  A2: Retrieving the AU2 Enrolled Administrator Context
- A3 : activation par l’administrateur enrôlé AU1 du processeur de sécurité PS,  A3: activation by the AU1 enrolled administrator of the security processor PS,
~ A4 : activation par l’administrateur enrôlé AU2 du processeur de sécurité PS.  ~ A4: activation by the AU2 enrolled administrator of the PS security processor.
Dans une étape B, le processeur de sécurité PS une fois activé récupère une clé publique CP dans une mémoire afin de pouvoir les authentifier par le module cryptographique MC mettant en œuvre un algorithme à clé publique. In a step B, the security processor PS once activated retrieves a public key CP in a memory in order to authenticate them by the cryptographic module MC implementing a public key algorithm.
Dans une étape C, si le processeur de sécurité PS authentifie les administrateurs enrôlés AU1 et AU2, ii charge un ensemble de données et d’instructions authentifié par ces administrateurs enrôlés AU1 et AU2 (opérations C1 et C2 pour les administrateurs enrôlés AU1 et AU2) et l’exécute (opération C3). In a step C, if the security processor PS authenticates the enrolled administrators AU1 and AU2, it loads a set of data and instructions authenticated by these enrolled administrators AU1 and AU2 (operations C1 and C2 for the enrolled administrators AU1 and AU2) and execute it (operation C3).
Dans une étape D, cette exécution (opération C3) parle processeur de sécurité PS produit un ensemble de données dont certaines peuvent être authentifiées. Cet ensemble de données une fois produit par le processeur de sécurité PS est stocké dans la ou les mémoires extérieures ME utilisés par le ou les administrateurs enrôlés AU1 , AU2. Cette étape D comprend donc les opérations suivantes : In a step D, this execution (operation C3) by the security processor PS produces a set of data some of which can be authenticated. This set of data once produced by the security processor PS is stored in the external memory ME or memories used by the AU1 or AU2 enrolled administrator or administrators. This step D therefore comprises the following operations:
- D1 : récupération de données liées à l’administrateur enrôlé AU1 ,  D1: recovery of data related to the AU1 enrolled administrator,
- D2 : récupération de données liées à l’administrateur enrôlé AU2,  - D2: data retrieval linked to the AU2 enrolled administrator,
* D3 : stockage de données liées à l’administrateur enrôlé AU1 dans la mémoire extérieure ME,  * D3: storage of data related to the enrolled administrator AU1 in the external memory ME,
- D4 : stockage de données liées à l’administrateur enrôlé AU2 dans la mémoire extérieure ME.  D4: storage of data related to the enrolled administrator AU2 in the external memory ME.
Le procédé comprend également les étapes initiales suivantes d'enrôlement, dans lesquelles un administrateur enrôlé initial Al dispose d’un ensemble ETS de traitement sécurisé de données et enrôle au moins un administrateur enrôlé ultérieur AU. Comme il a été exposé précédemment, si l’on souhaite pour des raisons de sécurité qu'aucune décision applicative ne puisse être exécutée par une personne unique, un administrateur enrôlé initial Al enrôle deux ou au moins deux administrateurs enrôlés ultérieurs AU, respectivement AU1 et AU2 pour deux administrateurs enrôlés ultérieurs. La description du procédé d'enrôlement est faite en relation avec une réalisation à deux administrateurs enrôlés ultérieurs AU1 et AU2. Toutefois, comme il a été indiqué, cette caractéristique du nombre d'administrateurs enrôlés ultérieur n'est pas limitative. Aussi, plus généralement, un administrateur enrôlé initial Al peut enrôler une pluralité d’au moins deux administrateurs enrôlés ultérieurs (AU). The method also includes the following initial enrollment steps, in which an initial enrolled administrator A1 has a secure data processing set ETS and enrolls at least one subsequent enrolled administrator AU. As previously stated, if it is desired for security reasons that no application decision can be executed by a single person, an initial enrolled administrator Al enrolls two or at least two subsequent enrolled administrators AU, respectively AU1 and AU2 for two subsequent enlisted administrators. The description of the enrollment process is made in connection with an implementation with two subsequent enrolled administrators AU1 and AU2. However, as has been indicated, this feature of the number of subsequent enlisted administrators is not limiting. Also, more generally, an initial enrolled administrator Al can enlist a plurality of at least two subsequent enrolled administrators (AU).
L’enrôlement de ces deux administrateurs enrôlés ultérieurs AU, respectivement AU1 et AU2, constitue un premier ensemble participant à la définition d’un premier contexte d’authentification utilisé pour les exécutions ultérieures. The enrollment of these two subsequent enrolled administrators AU, respectively AU1 and AU2, constitutes a first set participating in the definition of a first authentication context used for the subsequent executions.
L’administrateur enrôlé initial Al peut, ultérieurement, changer tel ou tel administrateur enrôlé ultérieur AU qui avait été précédemment enrôlé. Il peut ajouter un ou plusieurs administrateurs enrôlés ultérieurs AU. Il peut supprimer un ou plusieurs administrateurs enrôlés ultérieurs AU. Il peut modifier les droits d’un ou plusieurs administrateurs enrôlés ultérieurs AU. En cas de changement ultérieur de tel ou tel administrateur enrôlé ultérieur AU qui avait été précédemment enrôlé, l’administrateur enrôlé initial Al met en œuvre le procédé correspondant d’adaptation. On récupère alors le contexte mis à jour et le ou les compteurs monotones incrémentés. On se réfère maintenant à la figure 6 pour exposer les différentes étapes d’enrôlement de deux administrateurs enrôlés ultérieurs AU1 et AU2. Ces étapes d’enrôlement sont, s’agissant des deux premiers administrateurs enrôlés désignés AU1 et AU2, des étapes initiales qui précédent les étapes d'exécution décrites et représentées sur la figure 5. En cas de changement ultérieur de tel ou tel des premiers administrateurs enrôlés AU1 et AU2, ou en cas de changement de tel ou tel administrateur ultérieur AU précédemment enrôlé, les étapes d’enrôlement interviennent lors du changement d’administrateur, alors que l’ensemble ETS de traitement sécurisé de données a pu exécuter des instructions précédemment, avec d’autres administrateurs, dans le cadre d’un contexte précédent. The initial enlisted administrator Al may, at a later date, change any subsequent AU enlisted administrator who was previously enlisted. It can add one or more subsequent enlisted AU administrators. It can delete one or more subsequent enlisted AU administrators. It can modify the rights of one or more administrators later AU. In case of a subsequent change of any subsequent enlisted AU administrator who had been previously enlisted, the initial enlisted administrator Al implements the corresponding matching process. The updated context is then retrieved and the monotonic counter or counters incremented. Referring now to FIG. 6, the various enrollment steps of two subsequent enlisted administrators AU1 and AU2 are described. These enlistment steps are, for the first two enrolled administrators designated AU1 and AU2, initial steps that precede the execution steps described and shown in Figure 5. In the event of a subsequent change of any of the first directors enrolled AU1 and AU2, or in the case of a change of this or that subsequent administrator AU previously enrolled, the enrollment steps occur during the change of administrator, whereas the set ETS of secure data processing could execute instructions previously , with other administrators, in a previous context.
Dans une étape A’, un premier ensemble de données et d’instructions, authentifié et vérifié grâce à la clé publique CP stockée dans la mémoire morte ROM, est chargé dans la mémoire vive RAM du processeur de sécurité PS, afin de lui permettre d’exécuter un programme d’habilitation des deux administrateurs enrôlés ultérieurs AU1 et AU2, à charger d’autres ensembles de données et d’instructions et à les faire exécuter par le processeur de sécurité PS. In a step A ', a first set of data and instructions, authenticated and verified by means of the public key CP stored in the read-only memory ROM, is loaded into the RAM RAM of the security processor PS, in order to enable it to executing an authorization program for the two subsequent enrolled administrators AU1 and AU2, loading other sets of data and instructions and having them executed by the security processor PS.
Cette étape A’ comprend donc les opérations suivantes :  This step A 'therefore comprises the following operations:
- AΊ : récupération du programme d’habilitation par l’administrateur initial Al, depuis la mémoire extérieure ME, - AΊ: recovery of the authorization program by the initial administrator Al, from the external memory ME,
- A’2 : récupération des éléments d’authentification de l’administrateur ultérieur AU1 , - A'2: recovery of the authentication elements of the subsequent administrator AU1,
- A’3 : de manière analogue, récupération des éléments d’authentification de de l’administrateur ultérieur AU2, A’4 : transmission du programme d’habilitation et des éléments d’authentification au processeur de sécurité PS.  - A'3: similarly, recovery of the authentication elements of the subsequent administrator AU2, A'4: transmission of the authorization program and authentication elements to the security processor PS.
Dans une étape B’, l’exécution par le processeur de sécurité PS du premier ensemble de données et d’instructions, engendre un fichier chiffré et signé comprenant les éléments d’authentification des administrateurs enrôlés ultérieurs AU1 et AU2, qui est sauvegardé et stocké sur une mémoire extérieure ME au processeur de sécurité PS par chacun des dits administrateurs enrôlés ultérieurs AU1 , AU2. In a step B ', the execution by the security processor PS of the first set of data and instructions generates an encrypted and signed file comprising the authentication elements of the subsequent enrolled administrators AU1 and AU2, which is saved and stored. on an external memory ME to the security processor PS by each of said subsequent administrators AU1, AU2.
Cette étape B’ comprend donc les opérations suivantes :  This step B 'therefore comprises the following operations:
- BΊ : exécution par le processeur de sécurité de sécurité PS du premier ensemble de données et d’instructions, en même temps que l’étape C dont il sera question par la suite,  BΊ: execution by the security security processor PS of the first set of data and instructions, at the same time as step C which will be discussed later,
- B’2 : transmission des données chiffrées et signées liées à l’administrateur ultérieur AU1 ,  B'2: transmission of encrypted and signed data related to the subsequent administrator AU1,
- B’3 : stockage par l’administrateur ultérieur AU1 de ces données dans la mémoire extérieure ME,  B'3: storage by the subsequent administrator AU1 of these data in the external memory ME,
- B’4 : de manière analogue, transmission des données chiffrées et signées liées à l’administrateur ultérieur AU2, B'4: analogously, transmission of encrypted and signed data related to the subsequent administrator AU2,
B'5 : et, de manière analogue, stockage par l’administrateur ultérieur AU2 de ces données dans la mémoire extérieure ME. ' B'5: and, similarly, storage by the subsequent administrator AU2 of these data in the external memory ME. '
Dans une étape C’, l’exécution par le processeur de sécurité PS du premier ensemble de données et d’instructions (opération BΊ) entraîne, en même temps, l’incrémentation d'un compteur monotone CM. In a step C ', the execution by the security processor PS of the first set of data and instructions (operation BΊ) entails, at the same time, the incrementation of a monotone counter CM.
Les trois étapes A', B’ et C, précédemment décrites peuvent être répétées à plusieurs reprises de manière à permettre d’habiliter différents groupes d’administrateurs enrôlés ultérieurs AU, à charger et à faire s’exécuter différents ensembles de données et d’instructions, le tout en vue de pouvoir faire exécuter par le processeur de sécurité PS et transmettre à tout dispositif électronique ou réseau externe une séquence d’opérations. The three steps A ', B' and C, previously described, can be repeated several times to allow different groups of administrators to be subsequently enrolled AU, to load and to execute different sets of data and to instructions, all in order to be able to execute by the security processor PS and transmit to any electronic device or external network a sequence of operations.
Une fois les deux administrateurs ultérieurs AU1 et AU2 enrôlés, ceux-ci peuvent procéder à l’exécution des étapes postérieures suivantes, comme il a été précédemment décrit en référence à la figure 5. Once the two subsequent administrators AU1 and AU2 have been enrolled, they can proceed to the execution of the following subsequent steps, as previously described with reference to FIG.
Les administrateurs enrôlés ultérieurs AU1 et AU2, enrôlés lors des étapes précédentes d’enrôlement, s'authentifient auprès du processeur de sécurité PS au regard du contexte d’exécution en l’état, par un procédé fiable de contrôle d’accès, tel qu'une signature électronique, avant de pouvoir charger dans la mémoire vive RAM du processeur de sécurité PS, un ensemble de données et d'instructions. Cet ensemble de données et d'instructions, une fois chargé dans la mémoire vive RAM du processeur de sécurité PS, ne peut être exécuté qu’après que le processeur de sécurité PS a validé l’authentification des deux administrateurs enrôlés ultérieurs AU1 et AU2 par le précédent ensemble de données et d’instructions. Cette étape n’est pas obligatoire, mais seulement optionnelle. Elle vise à assurer une double sécurité. Si l’on souhaite doubler la sécurité, on réalise cette étape. The later enrolled administrators AU1 and AU2, enrolled during the previous enrollment steps, authenticate with the security processor PS with regard to the execution context as it is, by a method reliable access control, such as an electronic signature, before being able to load in the RAM RAM of the security processor PS, a set of data and instructions. This set of data and instructions, once loaded into the RAM RAM of the security processor PS, can be executed only after the security processor PS has validated the authentication of the two subsequent enrolled administrators AU1 and AU2 by the previous set of data and instructions. This step is not mandatory, but only optional. It aims to ensure double security. If we want to double security, we realize this step.
L’exécution par le processeur de sécurité PS de l’ensemble de données et d’instructions engendre un second fichier chiffré et signé comprenant des données liées à l’exécution du code et qui est sauvegardé et stocké uniquement par chacun de ces administrateurs enrôlés ultérieurs AU1 et AU2, à l’extérieur du processeur de sécurité PS, dans la mémoire extérieure ME, et qui peut engendrer l’incrémentation d’un ou de plusieurs compteurs monotones CM. The execution by the PS security processor of the set of data and instructions generates a second encrypted and signed file including data related to the execution of the code and which is saved and stored only by each of these later enrolled administrators AU1 and AU2, outside the security processor PS, in the external memory ME, which can cause the incrementation of one or more monotone counters CM.

Claims

Revendications claims
1. Processeur de sécurité (PS) comprenant au moins 1. Security processor (PS) including at least
- une mémoire morte (ROM),  a read-only memory (ROM),
- une mémoire vive (RAM),  - a random access memory (RAM),
- un calculateur (UE) apte à réaliser des fonctions cryptographiques,  a calculator (UE) capable of performing cryptographic functions,
- une unité de gestion (UG) de compteur monotone associée à au moins un compteur monotone (CM), caractérisé en ce que :  a monotonic counter management unit (UG) associated with at least one monotonic counter (CM), characterized in that:
- le processeur de sécurité (PS) ne comprend aucune autre mémoire de stockage, de sorte que le processeur de sécurité (PS) ne stocke aucun programme, contexte - instructions, code, données - ou données extérieures, the security processor (PS) does not include any other storage memory, so that the security processor (PS) does not store any program, context - instructions, code, data - or external data,
- une clé publique (CP) permettant d’authentifier au moins un administrateur enrôlé initial (Al) est stockée avant sa première utilisation dans la mémoire morte (ROM), a public key (CP) for authenticating at least one initial enrolled administrator (Al) is stored before its first use in the read-only memory (ROM),
- la mémoire vive (RAM) est apte à charger un ensemble de données, tel qu’un contexte, et d’instructions pouvant être authentifié par un module cryptographique (MC) à clé publique,  the random access memory (RAM) is capable of loading a set of data, such as a context, and instructions that can be authenticated by a public key cryptographic module (MC),
- l’exécution par le calculateur (UE), après leur authentification par l'administrateur enrôlé initial (AI), de certaines instructions incrémente l'un des compteurs monotones (CM),  the execution by the computer (UE), after their authentication by the initial enrolled administrator (AI), of certain instructions increments one of the monotone counters (CM),
de sorte à pouvoir exécuter automatiquement une séquence d’opérations de manière sécurisée dans le cadre d’un ensemble de traitement sécurisé de données comprenant un tel processeur de sécurité. so that it can automatically execute a sequence of operations in a secure manner as part of a set of secure data processing comprising such a security processor.
2. Processeur de sécurité (PS) selon la revendication 1 caractérisé en ce qu’il est émulé comme une machine virtuelle. 2. Security processor (PS) according to claim 1 characterized in that it is emulated as a virtual machine.
3. Ensemble (ETS) de traitement sécurisé de données, comprenant un processeur de sécurité (PS) selon l’une des revendications 1 et 2, caractérisé en ce qu’il comprend en outre au moins une mémoire (ME) extérieure à ce processeur de sécurité (PS) et au moins un moyen de connexion (CO) apte à relier cette au moins une mémoire extérieure (ME) au processeur de sécurité (PS), tel que notamment par l’intermédiaire un réseau de communication électronique. 3. Set (ETS) of secure data processing, comprising a security processor (PS) according to one of claims 1 and 2, characterized in that it further comprises at least one memory (ME) external to this processor security device (PS) and at least one connection means (CO) capable of connecting this at least one external memory (ME) to the security processor (PS), such as in particular via an electronic communication network.
4. Ensemble (ETS) de traitement sécurisé de données selon la revendication 3, caractérisé en ce qu’il comprend une pluralité soit au moins deux mémoires extérieures (ME) reliées au processeur de sécurité (PS). 4. Set (ETS) of secure data processing according to claim 3, characterized in that it comprises a plurality or at least two external memories (ME) connected to the security processor (PS).
5. Ensemble (ETS) de traitement sécurisé de données selon l'une des revendications 3 et 4, caractérisé en ce que la au moins une mémoire extérieure (ME) qu’il comprend est authentifiée vis-à-vis du processeur de sécurité (PS). Secure data processing assembly (ETS) according to one of claims 3 and 4, characterized in that the at least one external memory (ME) which it comprises is authenticated with respect to the security processor ( PS).
6. Ensemble (ETS) de traitement sécurisé de données selon l’une des revendications 4 à 5, caractérisé en ce que la mémoire extérieure (ME) est configurée pour être apte et spécialement destinée à : Secure data processing assembly (ETS) according to one of Claims 4 to 5, characterized in that the external memory (ME) is configured to be adapted and specially adapted for:
- stocker au moins un programme et au moins un contexte - instructions, code, données -, destiné à être chargé dans la mémoire vive (RAM) du processeur de sécurité (PS),  storing at least one program and at least one context - instructions, code, data - intended to be loaded into the RAM of the security processor (PS),
- et à pouvoir recevoir et stocker tout fichier authentifié résultant de l’exécution par le processeur de sécurité (PS) du au moins un programme et du au moins un contexte chargé temporairement dans la mémoire vive (RAM) du processeur de sécurité (PS),  and to be able to receive and store any authenticated file resulting from the execution by the security processor (PS) of the at least one program and the at least one context temporarily loaded in the RAM of the security processor (PS) ,
et en ce que l’au moins un contexte peut comprendre une valeur de référence apte à permettre au processeur de sécurité (PS) de vérifier la synchronisation du au moins un contexte avec le dernier état d’un compteur monotone (CM). and in that the at least one context may comprise a reference value capable of enabling the security processor (PS) to verify the synchronization of the at least one context with the last state of a monotonic counter (CM).
7. Infrastructure (ITS) de traitement sécurisé de données, caractérisée en ce qu’elle comprend une pluralité soit au moins deux processeurs de sécurité (PS) selon l’une des revendications 1 et 2, et au moins une mémoire extérieure (ME), et en ce que chaque processeur de sécurité (PS) de la pluralité de processeurs de sécurité (PS) est relié à au moins une mémoire extérieure (ME). Secure data processing infrastructure (ITS), characterized in that it comprises a plurality of at least two security processors (PS) according to one of claims 1 and 2, and at least one external memory (ME). , and in that each security processor (PS) of the plurality of security processors (PS) is connected to at least one external memory (ME).
8. Infrastructure (ITS) de traitement sécurisé de données selon la revendication 7, caractérisée en ce qu’elle comprend une pluralité soit au moins deux mémoires extérieures (ME), chaque processeur de sécurité (PS) de la pluralité de processeurs de sécurité (PS) étant relié à au moins une mémoire extérieure (ME) de la pluralité de mémoires extérieures (ME). 8. Secure data processing infrastructure (ITS) according to claim 7, characterized in that it comprises a plurality of at least two external memories (ME), each security processor (PS) of the plurality of security processors ( PS) being connected to at least one external memory (ME) of the plurality of external memories (ME).
9. Infrastructure ITS de traitement sécurisé de données selon l’une des revendications 7 et 8, qui comprend une pluralité soit au moins deux mémoires extérieures (ME) synchronisées entre elles, chacun des processeurs de sécurité (PS) de la pluralité de processeurs de sécurité (PS) pouvant utiliser de façon indifférenciée l’une ou l'autre des mémoires extérieures (ME) de la pluralité de mémoires extérieures (ME). 9. ITS secure data processing infrastructure according to one of claims 7 and 8, which comprises a plurality or at least two external memories (ME) synchronized with each other, each of the security processors (PS) of the plurality of processors security (PS) that can use undifferentiated one or the other external memories (ME) of the plurality of external memories (ME).
10. Infrastructure ITS de traitement sécurisé de données selon l’une des revendications 7 et 8, qui comprend plusieurs paires, trios, quatuors ou plus de mémoires extérieures (ME), chacun des processeurs de sécurité (PS) étant associé à une paire, un trio, un quatuor ou plus de mémoires extérieures (ME), synchronisées entre elles. The secure data processing ITS infrastructure according to one of claims 7 and 8, which comprises a plurality of pairs, trios, quartets or more of external memories (ME), each of the security processors (PS) being associated with a pair, a trio, a quartet or more of external memories (ME), synchronized with each other.
11. Procédé d’exécution sécurisée d’une séquence d’opérations par un ensemble (ETS) de traitement sécurisé de données selon l’une des revendications 3 à 6, caractérisé en ce qu’il comprend au moins l’exécution des étapes suivantes : 11. A method for secure execution of a sequence of operations by a secure data processing set (ETS) according to one of claims 3 to 6, characterized in that it comprises at least the execution of the following steps. :
- A : un administrateur disposant d’une mémoire extérieure (ME) relié au processeur de sécurité (PS) active le processeur de sécurité (PS),  - A: an administrator with an external memory (ME) connected to the security processor (PS) activates the security processor (PS),
* B : le processeur de sécurité (PS) une fois activé récupère une clé publique (CP) dans une mémoire extérieure (ME) afin de pouvoir l’authentifier par un module cryptographique (MC) à clé publique,  * B: the security processor (PS) once activated retrieves a public key (CP) in an external memory (ME) in order to authenticate it with a public key cryptographic module (MC),
- C : si le processeur de sécurité (PS) authentifie l’administrateur qui l'a activé comme administrateur enrôlé ultérieur (AU), il charge un ensemble de données et d’instructions authentifié par cet administrateur enrôlé ultérieur (AU) et l’exécute,  - C: If the security processor (PS) authenticates the administrator who activated it as a later enrolled administrator (AU), it loads a set of data and instructions authenticated by this later enrolled administrator (AU) and the executed,
* D : cette exécution par le processeur de sécurité (PS) produit un ensemble de données dont certaines peuvent être authentifiées, et le dit ensemble de données une fols produit par le processeur de sécurité (PS) est stocké dans la mémoire extérieure (ME) utilisée par l’administrateur enrôlé ultérieur (AU).  * D: this execution by the security processor (PS) produces a set of data some of which can be authenticated, and the so-called data set a few times produced by the security processor (PS) is stored in the external memory (ME) used by the subsequent enlisted administrator (AU).
12. Procédé d’exécution sécurisée d’une séquence d'opérations, selon la revendication 11 , avec deux administrateurs enrôlés ultérieurs (AU), et plus généralement une pluralité d’au moins deux administrateurs enrôlés ultérieurs (AU), chacun disposant d’une mémoire extérieure (ME). 12. A method of securely executing a sequence of operations, according to claim 11, with two subsequent enrolled administrators (AU), and more generally a plurality of at least two subsequent enrolled administrators (AU), each having an external memory (ME).
13. Procédé d’exécution sécurisée d’une séquence d’opérations, selon l’une des revendications 11 et 12, caractérisé en ce qu’il comprend également l’exécution des étapes initiales dans lesquelles un administrateur enrôlé initial (Al) dispose d'un ensemble (ETS) de traitement sécurisé de données selon l’une des revendications 3 à 6 et enrôle un administrateur enrôlé ultérieur (AU). 13. A method for secure execution of a sequence of operations, according to one of claims 11 and 12, characterized in that it also comprises the execution of the initial steps in which an initial enrolled administrator (Al) has a secure data processing set (ETS) according to one of claims 3 to 6 and enrolling a subsequent enrolled administrator (AU).
14. Procédé d’exécution sécurisée d'une séquence d'opérations, selon la revendication 13, caractérisé en ce qu'il comprend l’exécution des étapes d’enrôlement suivantes : - A’ : un premier ensemble de données et d’instructions authentifié et vérifié grâce à la clé publique (CP) stockée dans la mémoire morte (ROM) est chargé dans la mémoire vive du processeur de sécurité (PS) afin de lui permettre d’exécuter un programme d’habilitation d’un administrateur enrôlé ultérieurs (AU) et à charger un autre ensemble de données et d’instructions et à le faire exécuter par le processeur de sécurité (PS), 14. A method for securely executing a sequence of operations, according to claim 13, characterized in that it comprises the execution of the following enrollment steps: - A ': a first set of data and instructions authenticated and verified by means of the public key (CP) stored in the read-only memory (ROM) is loaded into the RAM of the security processor (PS) to enable it to execute a subsequent enrolled administrator (AU) enablement program and load another set of data and instructions and have it executed by the security processor (PS),
- B’ : l’exécution par le processeur de sécurité (PS) du premier ensemble de données et d’instructions engendre un fichier chiffré et signé comprenant les éléments d'authentification de ['administrateur enrôlé ultérieur (AU) et qui est sauvegardé et stocké sur une mémoire extérieure (ME) au processeur de sécurité (PS) par l’administrateur enrôlé ultérieur (AU),  B ': the execution by the security processor (PS) of the first set of data and instructions generates an encrypted and signed file comprising the authentication elements of the [' subsequent enrolled administrator (AU) and which is saved and stored on an external memory (ME) to the security processor (PS) by the subsequent enrolled administrator (AU),
- C’ : l’exécution par le processeur de sécurité (PS) du premier ensemble de données et d’instructions entraîne en même temps l’incrémentation d’un compteur monotone (CM).  - C ': the execution by the security processor (PS) of the first set of data and instructions at the same time leads to the incrementation of a monotonous counter (CM).
15. Prooédé d’exécution sécurisée d’une séquence d’opérations, selon l’une des revendications 13 et 14, caractérisé par l’exécution d’étapes initiales dans lesquelles un administrateur enrôlé initial (Al) enrôle au moins deux administrateurs enrôlés ultérieurs (AU), et plus généralement une pluralité d’au moins deux administrateurs enrôlés ultérieurs (AU). 15. The secure execution method of a sequence of operations, according to one of claims 13 and 14, characterized by the execution of initial steps in which an initial enrolled administrator (Al) enrolls at least two subsequent enlisted administrators. (AU), and more generally a plurality of at least two subsequent enrolled administrators (AU).
16. Procédé d’exécution sécurisée d’une séquence d’opérations, selon l’une des revendications 14 et 15, caractérisé en ce que les trois étapes A’, B’ et C’ peuvent être répétées à plusieurs reprises de manière à permettre d’enrôler différents groupes d’administrateurs enrôlés ultérieurs (AU), à charger et â faire s’exécuter différents ensembles de données et d’instructions, le tout en vue de pouvoir faire exécuter par le processeur de sécurité (PS) et transmettre à tout dispositif électronique ou réseau externe une séquence d’opérations. 16. A method for secure execution of a sequence of operations, according to one of claims 14 and 15, characterized in that the three steps A ', B' and C 'can be repeated several times so as to allow to enroll different groups of subsequent enrolled administrators (AU), to load and execute different sets of data and instructions, all in order to be able to execute by the security processor (PS) and transmit to any electronic device or external network a sequence of operations.
17. Procédé d’exécution sécurisée d’une séquence d’opérations, selon l’une des revendications 11 à 16, caractérisé en ce qu’il comprend l’exécution des étapes postérieures suivantes : 17. A method for secure execution of a sequence of operations, according to one of claims 11 to 16, characterized in that it comprises the execution of the following posterior steps:
- les administrateurs enrôlés ultérieurs (AU), enrôlés lors d'étapes d’enrôlement précédentes, s’authentifient auprès du processeur de sécurité (PS) au regard du contexte d’exécution en l’état, par un procédé fiable de contrôle d’accès, tel qu’une signature électronique, avant de pouvoir charger dans la mémoire vive (RAM) du processeur de sécurité (PS) un ensemble de données et d’instructions,  - the subsequent enrolled administrators (AU), enlisted during previous enrollment steps, authenticate to the security processor (PS) with respect to the execution context as it is, by a reliable method of controlling access, such as an electronic signature, before a set of data and instructions can be loaded into the RAM of the security processor (PS),
- l’exécution par le processeur de sécurité (PS) de l’ensemble de données et d’instructions engendre un nouveau fichier chiffré et signé comprenant des données liées à l’exécution du code et qui est sauvegardé et stocké uniquement par chacun de ces administrateurs enrôlés ultérieurs (AU) à l’extérieur du processeur de sécurité (PS), dans la mémoire extérieure (ME), et qui peut engendrer l’incrémentation d’un ou de plusieurs compteurs monotones (CM).  the execution by the security processor (PS) of the set of data and instructions generates a new encrypted and signed file including data related to the execution of the code and which is saved and stored only by each of these later enrolled administrators (AU) outside the security processor (PS), in the external memory (ME), and which may cause the incrementation of one or more monotonic counters (CM).
18. Procédé d'exécution sécurisée d’une séquence d’opérations, selon l’a revendication 17, caractérisé en ce que l’ensemble de données et d’instructions, une fois chargé dans la mémoire vive (RAM) du processeur de sécurité (PS), ne peut être exécuté qu’après que le processeur de sécurité (PS) a validé l’authentification de tous les administrateurs enrôlés ultérieurs (AU) par le précédent ensemble de données et d’instructions. 18. A method for securely executing a sequence of operations according to claim 17, characterized in that the set of data and instructions, once loaded into the RAM of the security processor. (PS), can only be executed after the security processor (PS) has validated the authentication of all subsequent enrolled administrators (AU) by the previous set of data and instructions.
EP19714232.6A 2018-03-14 2019-03-13 Secure data processing Pending EP3765984A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1870286A FR3079044B1 (en) 2018-03-14 2018-03-14 SECURE DATA PROCESSING
PCT/FR2019/000033 WO2019175482A1 (en) 2018-03-14 2019-03-13 Secure data processing

Publications (1)

Publication Number Publication Date
EP3765984A1 true EP3765984A1 (en) 2021-01-20

Family

ID=63145118

Family Applications (1)

Application Number Title Priority Date Filing Date
EP19714232.6A Pending EP3765984A1 (en) 2018-03-14 2019-03-13 Secure data processing

Country Status (10)

Country Link
US (1) US11822795B2 (en)
EP (1) EP3765984A1 (en)
JP (1) JP7374112B2 (en)
KR (1) KR102625023B1 (en)
CN (1) CN112470153A (en)
AU (1) AU2019233753B2 (en)
CA (1) CA3093385A1 (en)
FR (1) FR3079044B1 (en)
SG (1) SG11202008989UA (en)
WO (1) WO2019175482A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019108049A1 (en) * 2019-03-28 2020-10-01 Pilz Gmbh & Co. Kg Access control system for controlling a user's access to one or more operating functions of a technical system

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7325130B2 (en) 2003-03-21 2008-01-29 International Business Machines Corporation Method for guaranteeing freshness of results for queries against a non-secure data store
US8332653B2 (en) * 2004-10-22 2012-12-11 Broadcom Corporation Secure processing environment
FR2906380B1 (en) 2006-09-27 2008-12-19 Trusted Logic Sa SYSTEM AND METHOD FOR SECURING DATA.
JP5001123B2 (en) 2006-12-07 2012-08-15 パナソニック株式会社 Recording device, integrated circuit, access control method, program recording medium
JP5052878B2 (en) * 2006-12-12 2012-10-17 株式会社バッファロー Storage device and user authentication method
US8589667B2 (en) 2010-04-19 2013-11-19 Apple Inc. Booting and configuring a subsystem securely from non-local storage
CN102270285B (en) * 2010-06-01 2013-12-04 华为技术有限公司 Key authorization information management method and device
US9202059B2 (en) * 2011-03-01 2015-12-01 Apurva M. Bhansali Methods, systems, and apparatuses for managing a hard drive security system
US9323950B2 (en) * 2012-07-19 2016-04-26 Atmel Corporation Generating signatures using a secure device
US8839353B2 (en) * 2012-11-09 2014-09-16 Microsoft Corporation Attack protection for trusted platform modules
JP6473674B2 (en) 2015-07-28 2019-02-20 ルネサスエレクトロニクス株式会社 Communication terminal and program
WO2019057308A1 (en) * 2017-09-25 2019-03-28 Telefonaktiebolaget Lm Ericsson (Publ) Provisioning of vendor credentials

Also Published As

Publication number Publication date
KR102625023B1 (en) 2024-01-15
AU2019233753B2 (en) 2024-03-28
CN112470153A (en) 2021-03-09
US11822795B2 (en) 2023-11-21
FR3079044B1 (en) 2020-05-22
WO2019175482A1 (en) 2019-09-19
JP2021517688A (en) 2021-07-26
CA3093385A1 (en) 2019-09-19
KR20210015757A (en) 2021-02-10
FR3079044A1 (en) 2019-09-20
AU2019233753A1 (en) 2020-10-15
JP7374112B2 (en) 2023-11-06
SG11202008989UA (en) 2020-10-29
US20210042043A1 (en) 2021-02-11

Similar Documents

Publication Publication Date Title
US9477833B2 (en) Systems and methods for updating possession factor credentials
EP2100250B1 (en) System and method for securing data
EP3022867A1 (en) Strong authentication method
EP1494460A1 (en) Process and device for authenticating digital data using an authentication plug-in
EP3586258A1 (en) Segmented key authentication system
EP3765984A1 (en) Secure data processing
EP2285042A1 (en) Software security module using the ciphering of a hash from a password concatenated with a seed
WO2004084525A2 (en) Method of protecting a mobile-telephone-type telecommunication terminal
WO2009138641A1 (en) Method of use of a host terminal by an external device connected to the terminal
EP2492834A1 (en) Method for authenticating a user
WO1997040474A1 (en) Security access control system enabling transfer of authorisation to make keys
CA2647239C (en) Process and server for access to an electronic safe via several entities
EP3166252B1 (en) Method for secure storing of data, corresponding device and program
EP3588337A1 (en) Control of a data storage device
FR2747813A1 (en) SECURE ACCESS CONTROL SYSTEM FOR AUTOMATIC INVALIDATION OF STOLEN OR LOST ELECTRONIC KEYS AND / OR TRANSFER OF AUTHORIZATION TO PRODUCE KEYS
EP1494461B1 (en) Process and device for authenticating digital data using an authentication plug-in
EP3179400B1 (en) Method for loading a computing resource into an electronic device, electronic module and corresponding computer program
EP3899765A1 (en) Reinitialization of an application secret by way of the terminal
CA3098631A1 (en) Mutual authentication of a user-controllable device or system containing sensitive or confidential data
EP2449495A1 (en) Method for remotely validating executable code
CH716300A2 (en) Process for signing a transaction intended for a blockchain, by means of a cryptographic key distributed among the nodes of a peer-to-peer network on which this blockchain is deployed.
FR2789774A1 (en) Security module for secure comparison of an authentication code with one stored in memory has additional auxiliary registers in which randomly chosen data words are placed for use in authenticating the code in the main registers
FR3068168A1 (en) PERMANENT MEMORY HAVING A SECURITY DEVICE
FR3026875A1 (en) METHODS FOR CONFIGURING A TERMINAL DEVICE CONNECTED TO A NETWORK TO ENABLE STRONG AUTHENTICATION OF A USER
FR2762111A1 (en) Protection of computer file against illicit copying and use

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20200922

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)