Nothing Special   »   [go: up one dir, main page]

CA3093385A1 - Traitement securise de donnees - Google Patents

Traitement securise de donnees Download PDF

Info

Publication number
CA3093385A1
CA3093385A1 CA3093385A CA3093385A CA3093385A1 CA 3093385 A1 CA3093385 A1 CA 3093385A1 CA 3093385 A CA3093385 A CA 3093385A CA 3093385 A CA3093385 A CA 3093385A CA 3093385 A1 CA3093385 A1 CA 3093385A1
Authority
CA
Canada
Prior art keywords
security
memory
processor
data
execution
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
CA3093385A
Other languages
English (en)
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 CA3093385A1 publication Critical patent/CA3093385A1/fr
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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

Dispositifs et procédés d'exécution d'instructions de façon automatique et sécurisée. Un processeur de sécurité (PS) comprenant au moins 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 à un ou plusieurs compteurs monotones (CM), est tel qu'il ne comprend aucune autre mémoire de stockage, de sorte que le processeur de sécurité (PS) ne stocke aucun programme ou données extérieures, une clé publique (CP) permettant d'authentifier au moins un administrateur enrôlé initiai (Al) est stockée avant sa première utilisation dans sa mémoire morte (ROM), sa mémoire vive (RAM) est apte à charger un ensemble de données et d'instructions pouvant être authentifié par un module crypte-graphique (MC) à clé publique, l'exécution par le calculateur (UE), après leur authentjfication, de certaines instructions incrémente l'un des compteurs monotones (CM), de sorte à pouvoir exécuter automatiquement une séquence d'opérations de manière sécurisée, un tel processeur de sécurité (PS) étant compris dans un ensemble ou une infrastructure de traitement sécurisé de données.

Description

2 PCT/FR2019/000033 Traitement sécurisé de données 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 oeuvre d'un tel ensemble de traitement sécurisé de données.
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 oeuvre. 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.
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 oeuvre utilise une clé d'authentification. Le système de sécurisation de données et le procédé de sa mise en oeuvre 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 l'authentification des administrateurs.
Le document US 2004/0187006 concerne le domaine de la sécurité des données et plus particulièrement la 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 lié à
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 la mise en oeuvre d'un compteur monotone, il n'a pas pour but la sécurisation objet de L'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'accé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 plate-forme 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 plate-forme 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).
Le document Key Management with Trusted Platform Modules)) de Andreas 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 quitte jamais le TPM et la 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.
Le document Virtual Monotonic Counters and Count-Limited Objecta 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.
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 la sécurisation de son utilisation, à
3 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é.
Cl-après, un exposé de l'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:
- 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, 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, - 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, - 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.
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.
Dans une réalisation, le processeur de sécurité est émule 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.
36 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é.
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é.
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 à:
- 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é, - 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é,
4 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.
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.
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.
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.
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.
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.
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;
A: un administrateur disposant d'une mémoire extérieure relié au processeur de sécurité active le processeur de sécurité, 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, 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, - 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 le processeur de sécurité est stocké dans la mémoire extérieure utilisée par l'administrateur enrôlé ultérieur.
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.
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.
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
5 d'instructions et à le faire exécuter par le processeur de sécurité, 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 Eincrémentation d'un compteur monotone.
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.
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.
Le procédé est également caractérisé en ce qu'il comprend l'exécution des étapes postérieures suivantes :
- 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, -- 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.
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.
On décrit maintenant brièvement les figures des dessins.
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.
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.
6 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 trois 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.
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.
La figure 6 présente les différentes étapes d'enrôlement de deux administrateurs enrôlés ultérieurs.
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.
Une clé publique CP permettant d'authentifier au moins un administrateur enrôlé initiai Al est stockée avant sa première utilisation dans la mémoire morte 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 que comprend le processeur de sécurité PS.
L'exécution par le calculateur UE, après leur authentification, de certaines instructions peut incrémenter un compteur monotone CM.
Dans une réalisation, le processeur de sécurité PS est émulé comme une machine virtuelle.
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.
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.
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.
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).
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.
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.
7 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.
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.
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é.
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.
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.
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).
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.
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.
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é.
Un contexte (ensemble de paramètres et de conditions sous lesquels le programme peut être mis en oeuvre) peut comprendre une valeur de référence apte à permettre au processeur de sécurité
PS de vérifier la synchronisation du contexte avec le dernier état d'un compteur monotone 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 PSI et PS2, et, en outre, au moins une mémoire extérieure ME, telle qu'il vient d'être décrit.
8 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.
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.
La structure d'une telle infrastructure 1TS 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.
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.
Dans une réalisation possible (figure 3), l'infrastructure ITS de traitement sécurisé de données comprend plusieurs processeurs de sécurité PSI, 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.
Une telle structure a pour avantage de présenter une résistance aux fautes élevées.
Dans une autre réalisation possible (figure 4), l'infrastructure ITS de traitement sécurisé de données comprend plusieurs processeurs de sécurité PSI, PS2 et plusieurs paires, par exemple ME1a et ME1b, 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é PSI, PS2, est associé à une paire, un trio, un quatuor... de mémoires extérieures ME, synchronisées entre elles.
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.
On décrit maintenant des procédés de mise en oeuvre d'un ensemble ETS de traitement 'sécurisé de données tel qu'if vient d'être décrit, lesquels procédés comprennent l'exécution d'étapes successives.
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 oeuvre ces procédés. Ces administrateurs sont l'administrateur enrôlé initial Al et tout autre 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, on prévoit au moins deux administrateurs enrôlés ultérieurs AU.
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.
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.
9 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 :
- AI: récupération du contexte de l'administrateur enrôlé AU1, - A2: récupération du contexte de l'administrateur enrôlé AU2 - A3 : activation par l'administrateur enrôlé AU1 du processeur de sécurité PS, - A4: activation par l'administrateur enrôlé AU2 du processeur de sécurité PS.
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 oeuvre un algorithme à clé publique.
Dans une étape C, si le processeur de sécurité PS authentifie les administrateurs enrôlés AU1 et AU2, il charge un ensemble de données et d'instructions authentifié par ces administrateurs enrôlés AU1 et AU2 (opérations Cl et C2 pour les administrateurs enrôlés AU1 et AU2) et l'exécute (opération C3).
Dans une étape D, cette exécution (opération C3) par le 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 :
- Dl: récupération de données liées à l'administrateur enrôlé AU1, - D2 : récupération de données liées à l'administrateur enrôlé AU2, =- D3 : stockage de données liées à l'administrateur enrôlé AU1 dans la mémoire extérieure ME, - D4 : stockage de données liées à l'administrateur enrôlé AU2 dans la mémoire extérieure 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).
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.
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 5 figure 5. En cas de changement ultérieur de ter 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.
10 .. 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.
Cette étape A' comprend donc les opérations suivantes :
- A'1 : récupération du programme d'habilitation par l'administrateur initial Al, depuis la mémoire extérieure ME, A'2: récupération des éléments d'authentification de l'administrateur ultérieur 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.
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.
Cette étape B' comprend donc les opérations suivantes :
- B'1 : 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'2 : transmission des données chiffrées et signées liées à
l'administrateur ultérieur AU1, B'3 : stockage par l'administrateur ultérieur AU1 de ces données dans la mémoire extérieure ME, - B'4 : de manière analogue, transmission des données chiffrées et signées liées à l'administrateur ultérieur AU2, -y '5: et, de manière analogue, stockage par l'administrateur ultérieur AU2 de ces données dans la mémoire extérieure 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'1) entraîne, en même temps, l'incrémentation d'un compteur monotone 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.
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.
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é
11 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 AM et AU2 par le précédent ensemble de données et d'instructions. Cette étape n'est pas obligatoire, niais seulement optionnelle. Elle vise à assurer une double sécurité. Si l'on souhaite doubler la sécurité, on réalise cette étape.
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.

Claims (18)

Revendications
1. Processeur de sécurité (PS) comprenant au moins - 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), caractérisé en ce que :
= 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, - 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), - 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, - l'exécution par le calculateur (UE), après leur authentification par l'administrateur enrôlé initial (Al), de certaines instructions incrémente l'un des compteurs monotones (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é.
2. Processeur de sécurité (PS) selon la revendication 1 caractérisé en ce qu'il est émulé comme une machine virtuelle.
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érise 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.
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).
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).
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 à :
- 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 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), 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).
7. Infrastructure ((TS) 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).
B. 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).
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).
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.
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 :
- 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), = 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, - 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, - 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 fois 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).
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).
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).
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), - B' : rexé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 l'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), - 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 rincrérnentation d'un compteur monotone (CM).
15. Procé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).
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 exteme une séquence d'opérations.
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 :
- 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, 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 rinortmentation d'un ou de plusieurs cornpteurs monotones (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.
CA3093385A 2018-03-14 2019-03-13 Traitement securise de donnees Pending CA3093385A1 (fr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1870286A FR3079044B1 (fr) 2018-03-14 2018-03-14 Traitement securise de donnees
FR1870286 2018-03-14
PCT/FR2019/000033 WO2019175482A1 (fr) 2018-03-14 2019-03-13 Traitement sécurisé de données

Publications (1)

Publication Number Publication Date
CA3093385A1 true CA3093385A1 (fr) 2019-09-19

Family

ID=63145118

Family Applications (1)

Application Number Title Priority Date Filing Date
CA3093385A Pending CA3093385A1 (fr) 2018-03-14 2019-03-13 Traitement securise de donnees

Country Status (10)

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

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019108049A1 (de) * 2019-03-28 2020-10-01 Pilz Gmbh & Co. Kg Zugriffssteuerungssystem zur Steuerung eines Zugriffs eines Nutzers auf eine oder mehrere Betriebsfunktionen einer technischen Anlage
JP7510302B2 (ja) 2020-08-19 2024-07-03 株式会社日立製作所 シェアリングコンピューティングシステム、リソースシェアリング方法

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 (fr) 2006-09-27 2008-12-19 Trusted Logic Sa Systeme et procede de securisation de donnees.
JP5001123B2 (ja) 2006-12-07 2012-08-15 パナソニック株式会社 記録デバイス、集積回路、アクセス制御方法、プログラム記録媒体
JP5052878B2 (ja) * 2006-12-12 2012-10-17 株式会社バッファロー 記憶装置及び利用者認証方法
US8589667B2 (en) 2010-04-19 2013-11-19 Apple Inc. Booting and configuring a subsystem securely from non-local storage
CN102270285B (zh) * 2010-06-01 2013-12-04 华为技术有限公司 密钥授权信息管理方法及装置
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 (ja) 2015-07-28 2019-02-20 ルネサスエレクトロニクス株式会社 通信端末およびプログラム
US11770373B2 (en) * 2017-09-25 2023-09-26 Telefonaktiebolaget Lm Ericsson (Publ) Provisioning of vendor credentials

Also Published As

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

Similar Documents

Publication Publication Date Title
EP3343425B1 (fr) Système et procédé pour la création et la gestion d'autorisations décentralisées pour des objets connectés
US20160085962A1 (en) Systems and methods for updating possession factor credentials
FR2989799A1 (fr) Procede de transfert d'un dispositif a un autre de droits d'acces a un service
FR2767208A1 (fr) Systeme et procede de memorisation protegee de donnees secretes
CA2969495C (fr) Procede mis en oeuvre dans un document d'identite et document d'identite associe
EP3803670A1 (fr) Une application logicielle et un serveur informatique pour authentifier l'identité d'un créateur de contenu numérique et l'intégrité du contenu du créateur publié
WO2012031755A2 (fr) Procede d'authentification pour l'acces a un site web
CA3093385A1 (fr) Traitement securise de donnees
WO2019092327A1 (fr) Procédé d'obtention d'une identité numérique de niveau de sécurité élevé
FR3035248A1 (fr) Systeme-sur-puce a fonctionnement securise et ses utilisations
EP3588337A1 (fr) Pilotage d'un dispositif de stockage de donnees
FR2745399A1 (fr) Dispositif electronique delivrant une reference temporelle sure pour la protection d'un logiciel
CH716295A2 (fr) Procédé de signature multiple d'une transaction destinée à une blockchain, au moyen de clés cryptographiques distribuées parmi les noeuds d'un réseau pair-à-pair.
WO2004084525A2 (fr) Procede de protection d’un terminal de telecommunication de type telephone mobile
WO2009138641A1 (fr) Procede d'utilisation d'un terminal hote par un dispositif externe connecte au terminal
EP2285042A1 (fr) Module logiciel de sécurisation utilisant le chiffrement du haché d'un mot de passe concaténé avec une graine
CA2647239C (fr) Procede et serveur pour l'acces a un coffre-fort electronique via plusieurs entites
FR3107416A1 (fr) Tokenisation aléatoire efficace dans un environnement dématérialisé
FR3073998A1 (fr) Procede numerique de controle d'acces a un objet, une ressource ou service par un utilisateur
FR3079638A1 (fr) Procede de mise en oeuvre d'une fonction cryptographique pour une cle secrete
FR2985052A1 (fr) Dispositif electronique pour le stockage de donnees confidentielles
WO2011070241A1 (fr) Procede de sauvegarde de donnees contenues dans un terminal communiquant portable
CA2998780A1 (fr) Gestion d'un affichage d'une vue d'une application sur un ecran d'un dispositif electronique de saisie de donnees, procede, dispositif et produit programme d'ordinateur correspondants
EP3179400B1 (fr) Procédé de chargement d'une ressource informatique au sein d'un dispositif électronique, module électronique et programme d'ordinateur correspondant
FR3013868A1 (fr) Procede de transmission securisee d'une image d'un document d'identite electronique vers un terminal

Legal Events

Date Code Title Description
EEER Examination request

Effective date: 20231121

EEER Examination request

Effective date: 20231121