FR2995707A1 - Systemes et procedes de gestion de cles de chiffrement dans un microcontroleur securise - Google Patents

Systemes et procedes de gestion de cles de chiffrement dans un microcontroleur securise Download PDF

Info

Publication number
FR2995707A1
FR2995707A1 FR1358884A FR1358884A FR2995707A1 FR 2995707 A1 FR2995707 A1 FR 2995707A1 FR 1358884 A FR1358884 A FR 1358884A FR 1358884 A FR1358884 A FR 1358884A FR 2995707 A1 FR2995707 A1 FR 2995707A1
Authority
FR
France
Prior art keywords
key
data
serial
keys
secure
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1358884A
Other languages
English (en)
Other versions
FR2995707B1 (fr
Inventor
Vincent Victor Alfred Debout
Frank Lhermet
Yann Yves Rene Loisel
Gregory Rome
Christophe Tremlet
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.)
Maxim Integrated Products Inc
Original Assignee
Maxim Integrated Products Inc
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 Maxim Integrated Products Inc filed Critical Maxim Integrated Products Inc
Priority to FR1358884A priority Critical patent/FR2995707B1/fr
Publication of FR2995707A1 publication Critical patent/FR2995707A1/fr
Application granted granted Critical
Publication of FR2995707B1 publication Critical patent/FR2995707B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

Un microcontrôleur sécurisé (120), comprenant : un noyau d'unité centrale (CPU) (106) qui génère un mot de données et une adresse logique ; une pluralité de sources de clés (112) qui fournissent une pluralité de clés ; et un processeur cryptographique (108), couplé entre le noyau d'unité centrale et la pluralité de sources de clés, mémorisant la pluralité de clés, mappant l'adresse logique vers au moins une adresse physique dans une mémoire, et traitant le mot de données sur la base d'au moins une clé cible sélectionnée parmi la pluralité de clés ; et une liaison sécurisée dédiée, couplée entre le processeur cryptographique et la pluralité de sources de clés, transportant une commande de demande de clé comprenant une ID de clé provenant du processeur cryptographique, et obtenant au moins l'une de la pluralité de clés des sources de clés conformément à l'ID de clé.

Description

SYSTEMES ET PROCEDES DE GESTION DE CLES CRYPTOGRAPHIQUES DANS UN MICROCONTROLEUR SECURISE Contexte A. Domaine technique La présente invention concerne généralement la gestion de clés dans un microcontrôleur sécurisé et, plus particulièrement, des systèmes, des dispositifs et des procédés utilisant de manière automatique et transparente des clés à base d'adresse logique ou physique qui peuvent également être transférées en utilisant une liaison sécurisée dédiée entre un processeur cryptographique et des sources de clés.
B. Contexte de l'invention Un microcontrôleur est normalement un circuit intégré unique comprenant un noyau d'unité centrale (CPU), une mémoire et des périphériques d'entrée/sortie (E/S). Un microcontrôleur sécurisé est utilisé pour des applications qui impliquent des opérations de confiance sur des biens de valeur dans un environnement de confiance dans lequel un voleur ou un pirate informatique peut tenter d'obtenir l'accès à des données sensibles par l'intermédiaire de noyaux de processeur, de dispositifs de mémoire ou de périphériques d'entrée/sortie qui sont utilisés pour communiquer et traiter des données sensibles. Ces données sensibles peuvent comprendre des numéros de compte, des codes d'accès, des soldes/transactions financiers, de la gestion de droits, des données de mesure (par exemple, énergie, unités), des algorithmes de programme et d'autres informations. Le microcontrôleur sécurisé peut utiliser une mémoire vive non volatile (RAM) au lieu d'une mémoire morte (ROM) pour une mémorisation, et des caractéristiques de sécurité améliorées supplémentaires sont utilisées pour éviter des accès non autorisés. A ce jour, le microcontrôleur sécurisé a été appliqué à une large gamme d'applications critiques quant à la sécurité telles qu'une opération bancaire électronique, des transactions commerciales, et du contrôle d'accès à une TV payante, ou toute application qui nécessite une protection de biens sensibles.
Etant donné que les données sensibles peuvent être mémorisées dans une mémoire externe du microcontrôleur sécurisé, la confidentialité et l'intégrité du contenu de mémoire sont deux caractéristiques distinctes qui devraient être abordées en relation avec différentes menaces. La première menace est associée à une présentation d'informations sensibles où des données confidentielles sont révélées et une faiblesse d'un programme est exposée. La deuxième menace est associée à une modification du comportement de l'application qui implique que des programmes et des données soient modifiés dans la mémoire externe et résulte en un problème d'intégrité des données. Le microcontrôleur sécurisé est conçu pour offrir un niveau de sécurité élevé à des données mémorisées dans la mémoire. Par exemple, la sécurité physique peut être établie contre une attaque de type « probing » par une enceinte anti-violation. Cependant, cette solution peut être coûteuse et ne couvre pas les nouveaux procédés d'attaque basés sur une injection d'erreurs par une impulsion transitoire sur l'alimentation, une lumière, un laser synchrone ou asynchrone, ou des particules radioactives. Les caractéristiques de sécurité peuvent également comprendre un chiffrement de mémoire dans lequel les données et les adresses mémorisées dans la mémoire sont chiffrées ou déchiffrées pendant le processus d'échange de données. Par conséquent, le périmètre de sécurité physique peut être limité au microcontrôleur, alors que la mémoire et son bus de, communication peuvent rester exposés physiquement.
Un contrôle d'intégrité de données est effectué pour les programmes et les données mémorisés dans la mémoire pour détecter n'importe quelle corruption voulue ou non voulue entre ce qui a été envoyé à l'origine pour une mémorisation et ce qui est mémorisé dans la mémoire. Des procédés de vérification d'intégrité spécifiques sont utilisés pour générer des données de contrôle d'intégrité (c'est-à-dire, un marqueur ou une signature) pendant une opération d'écriture en mémoire, et la validité des données mémorisées est vérifiée par leur cohérence avec les données de contrôle d'intégrité correspondantes pendant une opération de lecture mémoire. Un contrôle d'intégrité constitue une protection suffisante contre des attaques par injection d'erreurs, et, parfois, il est mis en oeuvre sous forme logicielle et intégré dans le microcontrôleur sécurisé pour garantir un niveau suffisant de confiance pour les parties prenantes. Les problèmes de sécurité des données et d'intégrité des données susmentionnés peuvent être abordés en incorporant un engin matériel pour des opérations de cryptographie (par exemple, un chiffrement de 10 données, un déchiffrement de données et une vérification d'intégrité) au niveau de l'interface du microcontrôleur vers la mémoire externe au lieu de s'appuyer sur un logiciel. L'engin matériel permet une réaction plus rapide à des attaques par injection d'erreurs, et une amélioration des performances pour un chiffrement ou un déchiffrement de données. Par 15 ailleurs, celui-ci permet un portage direct des systèmes d'exploitation standard sur le microcontrôleur sécurisé sans modifications logicielles majeures. Une ou plusieurs clés peuvent être utilisées pendant une opération cryptographique. Bien que les procédés mis en oeuvre dans l'engin matériel puissent être publics, ces clés sont maintenues 20 confidentielles pour éviter de compromettre la sécurité ou l'intégrité des données. Par conséquent, un besoin existe pour la gestion de clés cryptographiques. Résumé de l'invention 25 Divers modes de réalisation de la présente invention concernent la gestion de clés dans un microcontrôleur sécurisé et, plus particulièrement, des systèmes, des dispositifs et des procédés d'utilisation de manière automatique et transparente de clés à base d'adresse logique ou physique qui peuvent également être transférées 30 en utilisant une liaison sécurisée dédiée entre un processeur cryptographique et des sources de clés. Un aspect de la présente invention est un microcontrôleur sécurisé comprenant un noyau d'unité centrale (CPU), une pluralité de sources de clés, un processeur cryptographique et un contrôleur de 35 mémoire universel. Un mot de données et une adresse logique associée sont générés par le noyau d'unité centrale. L'engin cryptographique transforme l'adresse logique en au moins une adresse physique, et traite le mot de données sur la base d'au moins une clé cible qui est sélectionnée parmi une pluralité de clés en fonction de l'adresse logique ou physique. Le contrôleur de mémoire universel mémorise chaque mot de données traité dans l'adresse physique correspondante dans une 5 mémoire. Chaque clé parmi la pluralité de clés est associée à une région de mémoire dans la mémoire, et par conséquent, l'adresse logique ou physique associée à une région de mémoire peut être utilisée pour identifier automatiquement la clé cible correspondante. Une liaison sécurisée dédiée peut être utilisée pour transporter des commandes de 10 demande de clé (comprenant une identification de clé) et la pluralité de clés, et peut être mise en oeuvre en tant qu'interface de données série. Un aspect de l'invention est un procédé d'appariement de clés cryptographiques avec des adresses mémoire dans un microcontrôleur sécurisé. Des données et une adresse logique sont reçues. L'adresse 15 logique est transformée en au moins une adresse physique, et l'adresse logique ou l'adresse physique est comparée à une pluralité d'ensembles de configurations de zone. Chaque ensemble de configurations de zone est associé à une région de mémoire mémorisant des données traitées sur la base d'une clé particulière. Du fait de sa cohérence avec l'adresse 20 logique ou l'adresse physique, un ensemble de configurations de zone est identifié et utilisé en outre pour sélectionner une clé cible parmi une pluralité de clés. Un aspect de l'invention est un microcontrôleur sécurisé qui utilise une liaison sécurisée dédiée pour coupler des sources de clés et 25 un processeur cryptographique. Le processeur cryptographique génère une commande de demande de clé demandant qu'une pluralité de clés soient transférées à partir des sources de clés, sélectionne au moins une clé cible parmi la pluralité de clés, et peut traiter en outre des données d'entrée sur la base de la clé cible. La commande de demande 30 de clé est émise par l'intermédiaire de la liaison sécurisée dédiée par le processeur cryptographique pour les sources de clés, et de manière similaire la pluralité de clés sont transportées dans une direction opposée par l'intermédiaire de la liaison sécurisée dédiée. Cette liaison sécurisée peut être mise en oeuvre en tant qu'interface de données série, 35 et est séparée du bus de système de sorte que d'autres modules dans le microcontrôleur sécurisé ne puissent pas accéder à la clé cible.
Un aspect de l'invention consiste en un procédé de gestion de clés cryptographiques en utilisant une liaison sécurisée dédiée dans un microcontrôleur sécurisé. La liaison sécurisée dédiée peut être mise en oeuvre en tant qu'interface de données série, comprenant des données de sortie série, des premières données d'intégrité série, une horloge série, des données d'entrée série et des deuxièmes données d'intégrité série. Les données de sortie série incorporent une commande de demande de clé comprenant une identification (ID) de clé. Lors de la réception et du décalage de la commande de demande de clé, des sources de clés peuvent sélectionner une clé parmi une pluralité de clés pour un transport et la convertir en les données d'entrée série. Les premières et deuxièmes données d'intégrité série sont respectivement associées aux données d'entrée et de sortie série. La commande, la clé pour le transport, les données d'intégrité et une horloge synchrone sont transportées en utilisant la liaison sécurisée dédiée. Certains avantages et certaines caractéristiques de la présente invention ont été décrits généralement dans cette section de résumé ; cependant, des caractéristiques, des avantages et des modes de réalisation supplémentaires sont présentés ici ou seront évidents à l'homme du métier à la vue des dessins, de la description et des revendications de ceux-ci. Par conséquent, on devrait comprendre que l'étendue de l'invention ne devrait pas être limitée par les modes de réalisation particuliers présentés dans cette section de résumé.
Brève description des dessins Il va être fait référence à des modes de réalisation de l'invention, dont des exemples peuvent être illustrés sur les figures associées. Ces figures sont destinées à être illustratives, non limitatives. Bien que l'invention soit décrite de manière générale dans le contexte de ces 30 modes de réalisation, on devrait comprendre qu'il n'est pas envisagé de limiter l'étendue de l'invention à ces modes de réalisation particuliers. La figure 1 illustre un exemple de schéma de principe d'un système de microcontrôleur sécurisé comprenant un microcontrôleur sécurisé s'interfaçant avec une mémoire chiffrée et à intégrité protégée 35 selon divers modes de réalisation de l'invention.
La figure 2 illustre un exemple de schéma de principe d'un système d'appariement de clé dans un microcontrôleur sécurisé selon divers modes de réalisation de l'invention. La figure 3A illustre un exemple de schéma de principe d'un bloc 5 de registres de configuration de clé selon divers modes de réalisation de l'invention. La figure 3B illustre un exemple de schéma de principe d'une zone de mémorisation de clés sécurisée selon divers modes de réalisation de l'invention. 10 La figure 3C illustre un autre exemple de schéma de principe d'un système d'appariement de clé dans un microcontrôleur sécurisé selon divers modes de réalisation de l'invention. La figure 4 illustre un exemple de schéma de principe d'un microcontrôleur sécurisé comprenant des bus au niveau système selon 15 divers modes de réalisation de l'invention. La figure 5 illustre un exemple de schéma de principe d'un engin cryptographique communiquant avec une zone de mémorisation de clés sécurisée par l'intermédiaire d'une interface de données série selon divers modes de réalisation de l'invention. 20 La figure 6 illustre un diagramme de synchronisation pour quatre signaux inclus dans une liaison sécurisée dédiée mise en oeuvre dans une interface de données série selon divers modes de réalisation de l'invention. La figure 7A illustre un procédé de traitement de données 25 utilisant une clé à base d'adresse dans un rnicrocontrôleur sécurisé selon divers modes de réalisation de l'invention. La figure 7B illustre un procédé de chargement de clé pour un traitement de données utilisant une interface de données série dans un microcontrôleur sécurisé selon divers modes de réalisation de 30 l'invention. Description détaillée des modes de réalisation préférés Des modes de réalisation de la présente invention fournissent des systèmes, des dispositifs et des procédés de gestion de clés dans un 35 microcontrôleur sécurisé, et, plus particulièrement, des systèmes, des dispositifs et des procédés d'utilisation de manière automatique et transparente de clés à base d'adresse logique ou physique qui peuvent être transférées en utilisant une liaison sécurisée dédiée entre un processeur cryptographique et des sources de clés dans le microcontrôleur sécurisé. Dans la description qui suit, à des fins d'explication, des détails spécifiques sont exposés afin de permettre une compréhension de l'invention. Cependant, il sera évident à l'homme du métier que l'invention peut être mise en pratique sans ces détails L'homme du métier reconnaîtra que les modes de réalisation de la présente invention, décrits ci-dessous, peuvent être mis en oeuvre d'un grand nombre de manières et en utilisant un grand nombre de structures. Les hommes du métier reconnaîtront également que des modifications, des applications, et des modes de réalisation supplémentaires sont dans l'étendue de celle-ci, comme le sont les domaines supplémentaires dans lesquels l'invention peut avoir une utilité. Par conséquent, les modes de réalisation décrits ci-dessous sont illustratifs de modes de réalisation spécifiques de l'invention et sont censés éviter d'obscurcir l'invention. La référence dans la spécification à « un mode de réalisation » signifie qu'une particularité, structure, caractéristique, ou fonction particulière décrite en relation avec le mode de réalisation est incluse dans au moins un mode de réalisation de l'invention. L'expression « dans un mode de réalisation », ou similaire apparaissant à divers emplacements dans la description ne fait pas nécessairement référence au même mode de réalisation. En outre, les liaisons entre des composants ou entre des étapes de procédé sur les figures ne sont pas limitées à des liaisons qui sont effectuées directement. Au lieu de cela, les liaisons illustrées sur les figures entre des composants ou des étapes de procédé peuvent être modifiées ou autrement changées par l'ajout à celles-ci de composants ou d'étapes de procédé intermédiaires, sans s'écarter des enseignements de la présente invention. En termes de sécurité des données, c'est une bonne pratique de dédier une clé spécifique à chaque utilisation spécifique dans un microcontrôleur sécurisé. Le chiffrement de la mémoire externe entière avec une clé unique peut ne pas être l'option préférée. Il est préféré de chiffrer ou de protéger différentes régions de mémoire par différentes clés. Par conséquent, une pluralité de clés cryptographiques peuvent être utilisées dans le microcontrôleur sécurisé, et chaque clé est associée à une région de mémoire dans une mémoire chiffrée et à intégrité protégée. Une fois qu'une adresse physique a été identifiée dans la région de mémoire, la clé associée à cette région de mémoire peut être automatiquement identifiée pour traiter des données d'entrée correspondantes. La confidentialité du contenu de mémoire est améliorée par cette identification de clé au vol sur la base de l'adresse physique. Une opération cryptographique peut être un chiffrement de données, un déchiffrement de données, un formatage de données, un calcul d'intégrité ou une vérification d'intégrité, et une ou plusieurs clés cryptographiques peuvent être utilisées pendant l'une quelconque de ces opérations. Dans certains modes de réalisation, les données en clair sont mémorisées dans certaines régions de mémoire n'impliquant aucune opération cryptographique, et ainsi, ces régions de mémoire en clair ne sont pas associées à une quelconque clé cryptographique. Le processus d'identification de clé au vol est mis en oeuvre de préférence sous forme matérielle, et est transparent à l'extérieur du microcontrôleur sécurisé. Afin de capturer des informations correctes dans une mémoire interfaçant un microcontrôleur sécurisé, les attaquants doivent non seulement discerner diverses régions de mémoire, mais également identifier les clés cryptographiques associées aux régions de mémoire. Par conséquent, la présente invention offre un niveau de sécurité des données plus élevé qu'un microcontrôleur sécurisé classique, et est particulièrement utile lorsqu'un niveau élevé de sécurité des données est nécessaire. La figure 1 illustre un exemple de schéma de principe 100 d'un système de microcontrôleur sécurisé comprenant un microcontrôleur sécurisé 120 s'interfaçant avec une mémoire chiffrée et à intégrité protégée 140 selon divers modes de réalisation de l'invention. Le microcontrôleur sécurisé 120 comprend un noyau d'unité centrale 106, un processeur cryptographique 108, un contrôleur de mémoire universel 110, des sources de clés 112 et des bus pour des données, des adresses et des clés. Le processeur cryptographique 108 est couplé au noyau d'unité centrale 106 et aux sources de clés 112, et est utilisé pour mapper les adresses logiques, contrôler l'intégrité des données, et chiffrer/déchiffrer/formater les données. Une ou plusieurs clés sont fournies par les sources de clés 112 au processeur cryptographique 108 pour une opération cryptographique, telle qu'un chiffrement, un déchiffrement, un formatage, un calcul d'intégrité et une vérification d'intégrité des données. Le contrôleur de mémoire universel 110 est couplé au processeur cryptographique 108, et permet un accès à la mémoire chiffrée et à intégrité protégée 140. La mémoire chiffrée et à intégrité protégée 140 peut comprendre diverses mémoires externes, comprenant une mémoire vive (RAM) 114, une mémoire flash 116, et une mémoire morte (ROM). La génération de données dans différentes mémoires peut imposer différentes spécifications aux clés. Par exemple, une mémoire non volatile peut nécessiter qu'une clé soit mémorisée en permanence dans une zone sécurisée, tandis qu'une mémoire volatile est associée de préférence à une clé générée de manière aléatoire à chaque amorçage. Une mémoire incluse dans la mémoire 140 peut être divisée en une pluralité de régions de contenu en clair et une pluralité de régions de contenu chiffré. Les données d'origine ou traitées peuvent être mémorisées dans les régions de contenus en clair ou chiffrés, respectivement. Les données d'origine peuvent être mémorisées directement dans une région de contenu en clair de la mémoire 140, et aucune clé n'est associée. Les régions de contenu chiffré sont normalement utilisées pour mémoriser des programmes ou des données associés à des informations confidentielles, par exemple, des noms d'utilisateurs, des mots de passe, des transactions, etc. Ces informations confidentielles peuvent être chiffrées en utilisant différentes clés et mémorisées dans différentes régions de contenu chiffré, et chaque région de contenu chiffré est associée à au moins une clé. Dans divers modes de réalisation de la présente invention, une clé peut être associée à une mémoire complète, à une région dans une mémoire ou à un segment chevauchant au moins deux mémoires incluses dans la mémoire 140. Les sources de clés 112 comprennent un générateur de nombres aléatoires (RNG) 118 pour générer des clés aléatoires et une mémoire sécurisée non volatile 122 pour mémoriser des clés fixes. Les clés fournies par les sources de clés 112 sont mappées vers différentes régions de mémoire dans la mémoire chiffrée et à intégrité protégée 140, et utilisées pour traiter des données d'entrée correspondantes.
Dans certains modes de réalisation, pendant un cycle d'écriture de mémoire, le noyau d'unité centrale 106 fournit les données et une adresse logique au processeur cryptographique 108 qui peut en outre chiffrer les données en utilisant un procédé de chiffrement de données. 5 Les données de contrôle d'intégrité peuvent être générées dans le processeur cryptographique 108 en utilisant un procédé de vérification d'intégrité basé sur les données. En plus de générer les données chiffrées et les données de contrôle d'intégrité, le processeur cryptographique 108 transforme également les adresses logiques 10 d'entrée en deux adresses physiques, l'une pour les données chiffrées et l'autre pour les données de contrôle d'intégrité. Le contrôleur de mémoire universel 110 identifie ces deux adresses physiques dans la mémoire 140 et mémorise les données chiffrées et les données de contrôle d'intégrité dans les adresses physiques. 15 Dans certains modes de réalisation, pendant un cycle de lecture de mémoire, l'adresse logique est fournie par le noyau d'unité centrale 106 pour extraire des données chiffrées spécifiques de la mémoire chiffrée et à intégrité protégée externe 140. Le processeur cryptographique 108 transforme l'adresse logique pour récupérer deux 20 adresses physiques pour les données chiffrées et les données de contrôle d'intégrité associées, respectivement. Le contrôleur de mémoire universel 110 permet l'accès au contenu de mémoire mémorisé à ces deux adresses physiques, et le processeur cryptographique 108 est couplé pour recevoir les données chiffrées et les données de contrôle 25 d'intégrité de la mémoire 140. Un procédé de déchiffrement de données est mis en oeuvre pour déchiffrer les données chiffrées. Les données récupérées à partir des données chiffrées sont traitées en utilisant le procédé de vérification d'intégrité qui a été utilisé précédemment pour générer les données de contrôle d'intégrité. Si les données de contrôle 30 d'intégrité régénérées à partir des données récupérées sont cohérentes avec les données de contrôle d'intégrité extraites de la mémoire 140, alors les données récupérées sont valides et sont fournies, par la suite, au noyau d'unité centrale 106 ; autrement, une erreur est acquittée et un matériel dédié est utilisé pour positionner une exception d'unité 35 centrale sur la base de la politique de sécurité du microcontrôleur. Dans divers modes de réalisation de la présente invention, le signal utilisé pour générer une exception d'unité centrale ou l'exception d'unité centrale elle-même peut être exploité pour effacer les données sensibles, déclencher une interruption non masquable, écrire une valeur dans un registre d'indicateurs, réinitialiser le microcontrôleur, ou exécuter un code dédié.
Les données traitées sont mémorisées dans des régions de contenu chiffré dans la mémoire 140, et au moins une clé est utilisée pour chaque opération/procédé cryptographique susmentionné (c'est-à-dire, un chiffrement de données, un déchiffrement de données, et une vérification d'intégrité). Une même clé est utilisée pour des procédés de chiffrement et de déchiffrement qui sont l'inverse l'un de l'autre, étant donné que ces deux procédés sont associés à des données à une même adresse dans la mémoire. Une fois qu'une adresse logique et une adresse physique associée ont été associées à une région de mémoire particulière, les clés cryptographiques peuvent être identifiées en fonction de l'adresse logique ou physique. En particulier, une identification (ID) de clé peut être associée à chaque clé. Par conséquent, le système de microcontrôleur sécurisé 100 est basé sur ce procédé d'appariement des clés et des adresses physiques dans différentes régions de mémoire dans la mémoire 140.
Les adresses physiques dans une région de mémoire peuvent être décrites par un ensemble de configurations de zone spécifiant une plage d'adresses associée. Dans certains modes de réalisation, l'ensemble de configurations de zone peut comprendre une adresse basse et une adresse haute. Les adresses physiques dans la région de mémoire sont dans la plage définie par l'ensemble de configurations de zone. Par conséquent, lors de la génération d'une adresse physique pour des données d'entrée, le microcontrôleur sécurisé peut identifier la région de mémoire pour mémoriser les données traitées en comparant l'adresse physique avec des ensembles de configurations de zone disponibles, et une clé cible appariée avec la région de mémoire peut être appliquée par la suite pour traiter les données d'entrée. Dans divers mode de réalisation de la présente invention, le RNG 118 et la mémoire sécurisée non volatile 122 sont utilisés pour fournir des clés aléatoires et fixes au processeur cryptographique 108, respectivement. Ces clés aléatoires et fixes peuvent être directement fournies par le RNG 118 ou extraites de la mémoire sécurisée non volatile 122. Ces clés attendent d'ètre transportées vers le processeur 108 pour une utilisation dans le traitement de données. L'un ou l'autre du RNG 118 ou de la mémoire sécurisée non volatile 122 peut fournir une pluralité de clés qui sont associées à diverses régions de mémoire s'interfaçant avec le contrôleur de mémoire universel 110. Dans certains modes de réalisation, le RNG 118 est utilisé pour générer une clé pour chiffrer/déchiffrer les données dans la mémoire vive 114, et la mémoire sécurisée non volatile 122 est utilisée pour fournir une clé pour chiffrer/déchiffrer les données dans la mémoire flash 116. Dans un mode de réalisation basé sur un logiciel intégré, les données dans une mémoire volatile MemA et les données dans une mémoire non volatile MemB sont chiffrées au moyen d'une première clé KeyA et d'une deuxième clé KeyB, respectivement. Le processeur cryptographique 108 a chargé au préalable les données dans MemA en utilisant KeyA. Lors de la réception d'une demande de lecture de mémoire pour les données dans MemB, les mémoires caches matérielles dans le processeur cryptographique 108 peuvent réagir rapidement pour permettre un accès à la mémoire, mais cependant, le logiciel intégré peut ne pas permettre un changement de configuration nécessaire pour charger la deuxième clé KeyB à temps. Par conséquent, les données dans MemB sont extraites en utilisant la clé erronée, KeyA, au lieu de KeyB, et dans cet exemple, le logiciel intégré n'arrive pas à gérer les clés. Une solution préférée pour apparier des adresses et des clés peut être basée sur des unités matérielles intégrées dans le microcontrôleur sécurisé.
Un système d'appariement de clé peut être intégré dans le microcontrôleur 120, et appliqué en tant que solution matérielle pour gérer une pluralité de clés en fonction des adresses de mémoire. La figure 2 illustre un exemple de schéma de principe 200 d'un système d'appariement de clé dans un processeur cryptographique 108 selon divers modes de réalisation de l'invention. Dans un tel système d'appariement de clé 200, le processeur cryptographique 108 s'interface avec une ou plusieurs sources de clés 112, par exemple, le RNG 118 et la mémoire sécurisée non volatile 122. Le processeur cryptographique 108 comprend un engin cryptographique 206, un bloc de registres de configuration de clé 2084.a.ine zone de mémorisation de clés sécurisée 210 et une interface série sécurisée 230. L'engin cryptographique 206 comprend en outre un transformateur d'adresse 212. La pluralité de clés sont fournies par les sources de clés 112, et mémorisées temporairement dans la zone de mémorisation de clés sécurisée 210. Un appariement de clé est mis en oeuvre dans le bloc de registres de configuration de clé 208 et dans la zone de mémorisation de clés 5 sécurisée 210 conformément à une identification de clé (ID de clé 1). L'engin cryptographique 206 est placé en série dans un trajet de données qui connecte un contrôleur de mémoire universel à un noyau d'unité centrale. L'engin cryptographique 206 reçoit des données et une adresse logique associée. Les données sont traitées en utilisant au 10 moins un procédé de traitement de données, alors que l'adresse logique est transformée en au moins une adresse physique. Pendant un processus d'écriture de mémoire, les données sont traitées (par exemple, chiffrées), et les données traitées sont mémorisées dans au moins une adresse physique de la mémoire 140. Pendant un processus 15 de lecture de mémoire, les données sont extraites de ladite au moins une adresse physique dans la mémoire 140 et traitées (par exemple, déchiffrées, vérifiées quant à l'intégrité). L'adresse physique est appariée à une clé cryptographique (clé cible) par le bloc de registres de configuration de clé 208 et la zone de 20 mémorisation de clés sécurisée 210. Le bloc de registres de configuration de clé 208 est couplé à l'engin cryptographique 206 et configuré pour générer un ID de clé 1. L'ID de clé 1 identifie les clés dans la zone de mémorisation de clés sécurisée 210. La zone de mémorisation de clés sécurisée 210 est couplée non seulement au bloc 25 de registres de configuration de clé 208 pour recevoir l'ID de clé 1, mais également à l'engin cryptographique 206 pour renvoyer une clé cible. Les clés dans la zone de mémorisation de clés sécurisée 210 sont fournies par les sources de clés 112, les clés étant identifiées par une ID de clé 2. L'interface série sécurisée 230 est couplée à la fois à la zone de 30 mémorisation de clés sécurisée 210 et aux sources de clés 112 comprenant le RNG 118 et la mémoire sécurisée non volatile 122. Les clés qui peuvent être fournies par les sources de clés 112 sont transportées vers le processeur cryptographique 108 par l'intermédiaire de cette interface série sécurisée 230. 35 Le bloc de registres de configuration de clé 208 est configuré pour générer une ID de clé 1 sur la base d'une adresse physique. Chaque ID de clé 1 est associée à au moins une clé dans la zone de mémorisation de clés sécurisée 210 conformément à une carte de clés. L'adresse physique est cohérente avec un ensemble de configurations de zone particulier, et par conséquent, identifiée comme étant localisée dans une région de mémoire correspondante. Etant donné que la région de mémoire est appariée avec au moins une clé cible associée à une ID de clé, l'adresse physique peut être liée à 11D de clé dans le bloc de registres de configuration de clé 208. Dans certains modes de réalisation, le bloc de registres de configuration de clé 208 peut être configuré pour générer l'ID de clé 1 sur la base de l'adresse logique. Etant donné qu'une adresse physique est transformée à partir d'une adresse logique dans l'engin cryptographique 206, une région de mémoire dans la mémoire 140 est également associée à une plage d'adresses logiques. Cependant, une adresse logique peut être associée à plusieurs adresses physiques lorsque plusieurs procédés de traitement de données (par exemple, un chiffrement et une vérification d'intégrité) sont impliqués. Un signal de contrôle de clé est utilisé si une adresse logique, au lieu d'une adresse physique, est associée à l'ID de clé dans le bloc de registres de configuration de clé 208.
La figure 3A illustre un exemple de schéma de principe d'un bloc de registres de configuration de clé 208 selon divers modes de réalisation de l'invention. Le bloc de registres de configuration de clé 208 comprend une pluralité de registres de configuration de zone 302 à 312 et un contrôleur de mappage d'adresse 314. Les registres 302 à 312 sont utilisés pour mémoriser une pluralité d'ensembles de configurations de zone associés à une pluralité de régions de mémoire. Le contrôleur de mappage d'adresse 314 est couplé pour recevoir une adresse d'entrée et un signal de contrôle de clé de l'engin cryptographique 206. Le contrôleur 314 compare l'adresse d'entrée avec la pluralité d'ensembles de configurations de zone, et génère une ID de clé associée à un des ensembles de configurations de zone correspondant à la région de mémoire qui est associée à l'adresse d'entrée. L'adresse d'entrée peut être une adresse logique ou une adresse 35 physique. Les configurations de zone dans les registres 302 à 312 sont représentées de préférence en adresses logiques ou adresses physiques en fonction du format de l'adresse d'entrée. Dans certains modes de réalisation, une adresse logique est utilisée pour l'adresse d'entrée et les configurations de zone. L'adresse logique est transformée en deux adresses physiques dans l'engin cryptographique 206 pour les données chiffrées et les données de vérification d'intégrité, respectivement. Les données chiffrées et les données de vérification d'intégrité peuvent être générées sur la base de deux clés distinctes, respectivement ; et peuvent être mémorisées dans deux régions de mémoire distinctes ou dans la même région de mémoire. Etant donné qu'une adresse logique est utilisée pour les deux données, le signal de contrôle de clé est nécessaire pour différencier les données chiffrées et les données de contrôle d'intégrité, et des ensembles de configurations de zone peuvent être sélectionnés en conséquence. Comparées aux adresses logiques, les adresses physiques sont associées plus directement aux régions de mémoire, et le signal de contrôle de clé peut ne pas être utilisé.
Dans un mode de réalisation, les ensembles de configurations de zone mémorisés dans les registres 302 à 312 spécifient les plages d'adresses en définissant des adresses hautes et basses pour une pluralité de régions de mémoire. Des comparateurs peuvent être inclus dans le contrôleur de mappage d'adresse 314, et l'adresse d'entrée est comparée consécutivement aux adresses haute et basse dans chaque registre. Si l'adresse d'entrée tombe entre les adresses haute et basse dans un registre, l'ID de clé associée à ce registre est délivrée. La figure 3B illustre un exemple de schéma de principe 210 d'une zone de mémorisation de clés sécurisée 210 selon divers modes de réalisation de l'invention. La zone de mémorisation de clés sécurisée 210 sélectionne la clé cible conformément à l'ID de clé 1. La zone de mémorisation de clés sécurisée 210 comprend une pluralité de registres de clé 214 à 222 et un contrôleur de mappage de clé 224. Chaque registre de clé mémorise une clé qui peut être fournie par différentes sources de clés, telles qu'un RNG ou une mémoire sécurisée non volatile. L'ID de clé 1 est directement mappée vers les clés dans les registres 214 à 222. Dans certains modes de réalisation, le contrôleur de mappage de clé 224 est un multiplexeur qui est couplé pour recevoir l'ID de clé 1, et sélectionne une clé cible parmi les clés dans les registres 214 à 222 conformément à l'ID de clé 1. La figure 3C illustre un autre exemple de schéma de principe 380 d'un système d'appariement de clé s'interfaçant avec un engin AES (Advanced Encryption Standard) 386 dans un microcontrôleur sécurisé selon divers modes de réalisation de l'invention. Le système d'appariement de clé 380 comprend un bloc de registres de configuration de clé 208 et une zone de mémorisation de clés sécurisée 210. Le bloc de registres de configuration de clé 208 est couplé pour recevoir l'adresse logique ou l'adresse physique, et l'adresse physique est transformée à partir de l'adresse logique par un transformateur d'adresse 212. Une ID de clé 1 est générée par le bloc de registres de configuration de clé 208, et fournie à la zone de mémorisation de clés sécurisée 210 pour sélectionner une clé cible parmi une pluralité de clés qui sont mémorisées dans ses registres de clé. La taille de clé peut être de 128, 192 ou 256 bits. L'engin AES 386 est couplé pour recevoir des données d'entrée et cette clé cible. Dans un mode de réalisation, les données d'entrée sont des données d'origine en clair fournies par un noyau d'unité centrale. Les données d'entrée sont par la suite chiffrées en utilisant la clé dans l'engin AES 386 et mémorisées dans une certaine région de mémoire. Dans un autre mode de réalisation, les données d'entrée sont des données chiffrées extraites d'une région de mémoire, et peuvent être déchiffrées pour renvoyer les données d'origine en clair en utilisant la même clé dans l'engin AES 386. Les clés fournies par diverses sources de clés sont normalement chargées et mémorisées dans le processeur cryptographique 108. Alors que le microcontrôleur 120 démarre ou est réinitialisé, les clés dans les sources de clés 112 sont chargées dans la zone de mémorisation de clés sécurisée 210 dans le processeur 108. Lors de la détection d'une violation, ces clés peuvent être instantanément effacées de la zone de mémorisation de clés sécurisée 210. Bien qu'un mappage de clé et un effacement de clé aient amélioré davantage la sécurité des données, un transfert de clé entre les sources de clés 112 et le processeur cryptographique 108 est encore une liaison vulnérable potentielle. Dans divers modes de réalisation, l'interface série sécurisée 230 est incorporée dans l'interface entre les sources de clés 112 et le processeur cryptographique 108 pour aborder ce problème, et ainsi elle est intégrée avec un appariement de clé dans le processeur cryptographique 108. La figure 4 illustre un schéma de principe 400 d'un microcontrôleur sécurisé comprenant des bus de niveau de système selon divers modes de réalisation de l'invention. Le microcontrôleur sécurisé 400 comprend une pluralité de modules de fonction, comprenant un noyau d'unité centrale 106, un processeur cryptographique 108, un contrôleur de mémoire universel 110 et des sources de clés 112. Dans un microcontrôleur classique, ces modules de fonction sont couplés par un bus de système 402. Dans un mode de réalisation, lors de la réception d'une commande de demande de clé, la source de clés 112 sélectionne une clé qui est transportée vers le processeur cryptographique 108 par le bus de système 402. La commande de demande de clé transporte principalement une ID de clé 2 associée aux clés dans les sources de clés 112. Le noyau d'unité centrale 106 et le contrôleur de mémoire universel 110 peuvent être dans le trajet. Certaines unités de commande peuvent également être incluses dans le noyau d'unité centrale 106 et/ ou le contrôleur de mémoire universel 110 pour copier ou mémoriser temporairement la clé sélectionnée. Par conséquent, bien que la clé sélectionnée puisse être destinée à une utilisation dans le processeur cryptographique 108, elle est accessible par une pluralité de modules de fonction et peut même être mémorisée dans un registre dans ces modules. La sécurité des données peut être compromise du fait d'une exposition de la clé sélectionnée à d'autres modules de fonction partageant le même bus de système 402 avec le processeur cryptographique 108. Afin de réduire au minimum cette exposition de clé, une liaison sécurisée dédiée 404 peut être appliquée pour connecter le processeur cryptographique 108 directement aux sources de clés 112. Dans divers modes de réalisation de l'invention, la commande de demande de clé et la clé sélectionnée sont transférées par l'intermédiaire de la liaison sécurisée dédiée 404 au lieu du bus de système 402. La commande de demande de clé transporte principalement une ID de clé 2 associée à la clé sélectionnée. Par conséquent, une, exposition de l'ID de clé 2 et de la clé peut être réduite et la sécurité du système global est améliorée du fait du transfert de clé par l'intermédiaire de cette liaison dédiée 404. Dans certains modes de réalisation, la liaison sécurisée dédiée 35 404 pour le transfert de clé est une interface de données série entre le processeur cryptographique 108 et les sources de clés 112. Le processeur cryptographique 108 agit en tant que maître extrayant des clés cibles d'un esclave, c'est-à-dire, les sources de clés 112. La figure 5 illustre un schéma de principe 500 d'un processeur cryptographique 108 communiquant avec les sources de clés 112 par l'intermédiaire d'une interface de données série selon divers modes de réalisation de l'invention. Dans divers modes de réalisation de la présente invention, cette interface de données série est une liaison sécurisée dédiée 404. L'interface de données série comprend cinq signaux qui sont respectivement une horloge série Serial_CLK, des données d'entrée série Serial_in, des données d'entrée série complémentaires /Serial_in, des données de sortie série Serial out et des données de sortie série complémentaires /Serial_out. Les données d'entrée et de sortie série complémentaires sont inversées par rapport aux données d'entrée et de sortie série, respectivement. Dans cette interface de données série, une entrée et une sortie sont définies en relation avec le processeur cryptographique 108. Les données de sortie série sont générées pour délivrer une commande de demande de clé pour extraire une clé sélectionnée conformément à une identification de clé (ID 2) intégrée dans la commande. Les données d'entrée série sont utilisées pour renvoyer la clé sélectionnée. Afin de garantir l'intégrité de clé, les données d'entrée série complémentaires sont retransférées en tant que données de contrôle d'intégrité avec les données d'entrée série. De manière similaire, les données de sortie série complémentaires sont utilisées en tant que données de contrôle d'intégrité pour les données de sortie série, de sorte que l'ID de clé 2 est protégée d'une falsification et transportée correctement pendant l'échange sur une liaison série. L'horloge série est synchrone avec ces signaux série, et utilisée pour une conversion de données série-parallèle ou parallèle-série. Du côté maître, le processeur cryptographique 108 comprend un engin de communication série 506. L'engin de communication série 506 est utilisé pour convertir des signaux de commande parallèles (comprenant l'ID de clé 2) associés à une commande de demande de clé en les données de sortie série, fournir l'horloge série, recevoir les données d'entrée série (c'est-à-dire, la clé sélectionnée) et les données d'entrée série complémentaires, et vérifier l'intégrité des données d'entrée série. Les signaux de cormeraride parallèles sont associés à la commande de demande de clé, et comprennent l'ID de clé 2. Dans certains modes de réalisation, il pourrait y avoir plusieurs instances de l'engin de communication 506. Du côté esclave, les sources de clés 112 comprennent un engin de communication série et de décodage 508 correspondant et des emplacements de mémorisation de clés 510 à 514. Chacun des emplacements de mémorisation de clés peut être inclus dans la mémoire sécurisée non volatile 122 ou dans des ressources de mémoire supplémentaires qui sont utilisées pour mémoriser une clé fournie par une source de clés, par exemple, le RNG 118 ou la mémoire sécurisée non volatile 122. L'engin 508 est utilisé pour mettre en oeuvre une pluralité de fonctions, consistant à vérifier l'intégrité des données de sortie série, convertir les données de sortie série en signaux de commande parallèles comprenant l'ID de clé 2, décoder l'ID de clé 2, sélectionner la clé sélectionnée parmi les clés générées par le RNG 118 15 directement ou les clés mémorisées aux emplacements de mémorisation de clés 510 à 514, et convertir la clé sélectionnée en les données d'entrée série et les données d'entrée série complémentaires. Un bloc de sélection de clé est intégré dans l'engin de communication série et de décodage 508. 20 Dans divers modes de réalisation, les clés mémorisées aux emplacements de mémorisation de clés 510 à 514 et l'ID de clé 2 sont associées à diverses régions de mémoire. Une fois que l'ID de clé 2 a été identifiée dans la zone de mémorisation de clés sécurisée 210, l'ID de clé 2 est incorporée dans les signaux de commande parallèles et les 25 données de sortie série associées à la commande de demande de clé correspondante. Les signaux de commande parallèles peuvent être convertis par la suite en les données de sortie série par l'engin de communication série 506. Dans d'autres modes de réalisation, l'engin de communication 30 série 508 peut s'interfacer directement avec le générateur de nombres aléatoires. Lors de la réception d'une commande de demande de clé, l'engin de communication série et de décodage peut ordonner au générateur de nombres aléatoires d'émettre un nombre aléatoire. Lors de la réception du nombre aléatoire du générateur de nombres 35 aléatoires, l'engin de communication série et de décodage le renverra à l'engin de communication maitre 506.
La figure 6 illustre un diagramme de synchronisation 600 pour cinq signaux inclus dans une interface de données série selon divers modes de réalisation de l'invention. Les cinq signaux comprennent une horloge série Serial_CLK, un signal de sortie série Serial_out, un signal de sortie série complémentaire /Serial_out, un signal d'entrée série SeriaLin et un signal d'entrée série complémentaire / SeriaLin. Dans divers modes de réalisation de la présente invention,, cette interface de données série est une liaison sécurisée dédiée. Les données de sortie série Serial_out sont synchronisées avec l'horloge série Serial_CLK, et associées à une commande de demande de clé dans l'engin de communication série 506 dans le processeur cryptographique 108. Les données de sortie série Serial_out sont délivrées séquentiellement aux sources de clés 112 pendant des cycles d'horloge consécutifs dans une période de temps t 1 - t2. L'intégrité des données de sortie série est d'abord vérifiée conformément aux données de sortie complémentaires / Serial_out délivrées avec Serial_out à l'engin de communication série et de décodage 508 à l'intérieur des sources de clés 112. Dans certains modes de réalisation, une fois vérifiées, ces données de sortie série peuvent être converties en signaux de commande parallèles par un premier registre à décalage à entrée série et sortie parallèle (SIPO) dans l'engin 508. Lors de la réception des signaux de commande parallèles, l'engin 508 continue de décoder l'ID de clé et d'identifier la clé sélectionnée pendant une période de temps t2 - t3. La clé sélectionnée est généralement mémorisée en tant que données parallèles à l'un des emplacements de mémorisation de clés 510 à 514. Dans certains modes de réalisation, la clé sélectionnée peut être convertie en des données d'entrée série SeriaLin par un premier registre à décalage à entrée parallèle et sortie série (PISO). Des données d'entrée série complémentaires /SeriaLin doivent également être générées. Dans le processeur cryptographique 108, les données de sortie série Serial out peuvent être d'abord générées à partir de signaux de commande parallèles en utilisant un deuxième registre à décalage PISO et les données d'entrée série Serial in peuvent être transférées et reçues des sources de clés 112 pendant une période de temps t3 - t4. Les données d'entrée série Serial in sont converties par la suite par un deuxième registre à décalage SIPO dans l'engin de communication série 506 dans le processeur cryptographique 108. Par conséquent, les premiers registres à décalage SIPO et PISO sont intégrés dans l'engin 508 dans les sources de clés 112, et les deuxièmes registres à décalage PISO et SIPO sont intégrés dans l'engin 506 dans le processeur cryptographique 108. Dans divers modes de réalisation de l'invention, ces registres à décalage peuvent être déclenchés sur des fronts montants, des fronts descendants, ou à la fois des fronts montants et descendants de l'horloge série. Les données d'entrée et de sortie série complémentaires sont utilisées pour éviter une injection d'erreur dans les clés sélectionnées ou dans une ID de clé pendant un processus de transfert de clé. Les attaquants peuvent injecter une erreur pour forcer la clé sélectionnée à une faible valeur, par exemple, entièrement à zéro et entièrement à un ou pour modifier une ID de clé. Pour augmenter davantage la sécurité des données pour un transfert de clé, une liaison sécurisée série peut transférer les données d'entrée et de sortie série complémentaires avec les données d'entrée et de sortie série par l'intermédiaire de leurs lignes de données respectives. Lorsque l'une des données est au niveau haut l'autre devrait être au niveau bas. Etant donné qu'elles transportent des signaux complémentaires, ces deux lignes de données délivrent différents niveaux logiques pendant un cycle d'horloge. Par conséquent, une fois que des niveaux logiques identiques sont détectés sur ces deux lignes de données, une attaque de sécurité peut se produire, et un traitement de données en cours devra être terminé. Par conséquent, les clés mémorisées dans la zone de mémorisation de clés sécurisée 210 et dans la source de clés à l'exception du RNG sont de préférence effacées. L'homme du métier reconnaîtra que l'utilisation de données d'entrée et de sortie série complémentaires est un exemple de procédé pour garantir l'intégrité de données. D'autres procédés pour l'intégrité de données peuvent être utilisés pour générer des données d'intégrité série sur la base des données d'entrée et de sortie série, et la ligne de données pour les données d'entrée et de sortie série complémentaires peut être utilisée pour transférer ces données d'intégrité série. Des données de contrôle d'intégrité peuvent être récupérées dans ces données d'intégrité série dans le processeur cryptographique pour une vérification d'intégrité.
La figure 7A illustre un procédé 700 de traitement de données utilisant une clé à base d'adresse dans un microcontrôleur sécurisé selon divers modes de réalisation de l'invention. Les données et une adresse logique correspondante sont reçues à l'étape 702, et l'adresse logique est transformée en au moins une adresse physique à l'étape 703. L'adresse physique est directement comparée à une pluralité d'ensembles de configurations de zone associés à une pluralité de clés cryptographiques à l'étape 704. Chaque ensemble de configurations de zone est associé à une région de mémoire utilisée pour mémoriser des données traitées générées en utilisant une des clés cryptographiques. L'adresse physique peut être identifiée en tant qu'emplacement dans une plage d'adresses définies par des configurations de zone dans un ensemble de configurations de zone à l'étape 706. Etant donné qu'une clé est associée à l'ensemble de configurations de zone et à une région de mémoire associée, une clé cible est identifiée à l'étape 708. Dans certains modes de réalisation, l'ensemble de configurations de zone est d'abord associé à une ID de clé 1 à l'étape 7081, et l'ID de clé 1 est par la suite associée à une clé cible à l'étape 7082. Les données sont chiffrées en utilisant la clé cible, et les données chiffrées sont mémorisées à l'adresse physique à l'étape 710. Dans un certain mode de réalisation, l'adresse logique est directement utilisée à l'étape 704, excepté que les configurations de zone sont exprimées en adresses logiques au lieu d'adresses physiques. Cependant, dans certains modes de réalisation, étant donné qu'une adresse logique peut résulter en au moins deux adresses physiques provenant de deux procédés de traitement de données, un signal de contrôle de clé peut être utilisé pour limiter les régions de mémoire mémorisant des données traitées. La figure 7B illustre un procédé 750 de chargement d'une clé à partir de sources de clés en utilisant une interface de données série selon divers modes de réalisation de l'invention. Afin de charger une clé conformément à une ID de clé 2, des données de sortie série et des données de sortie série complémentaires sont générées dans un processeur cryptographique à l'étape 752 à partir d'une commande de demande de clé qui comprend des signaux de commande parallèles. Les données de sortie série sont converties en des signaux de commande parallèles comprenant l'ID de clé 2 à l'étape 756. La clé sélectionnée est sélectionnée conformément à l'ID de clé 2 à l'étape 758, et décalée en des données d'entrée série et des données d'entrée complémentaires à l'étape 760. Deux données d'entrée série sont renvoyées au processeur cryptographique, et utilisées pour récupérer la clé sélectionnée et vérifier l'intégrité des données à l'étape 764. Les étapes 756 à 760 sont exécutées dans des sources de clés qui sont à l'extérieur du processeur cryptographique. Dans certains modes de réalisation, une liaison sécurisée dédiée est utilisée pour transférer des clés et des demandes pour des clés.
L'étape 754 est exécutée entre les étapes 752 et 756 pour transmettre les données de sortie série (c'est-à-dire, une commande de demande de clé série) et une horloge du processeur cryptographique aux sources de clés par la liaison sécurisée dédiée. L'intégrité des données de sortie série peut être confirmée conformément aux données de sortie série complémentaires dans les sources de clés à l'étape 755. De même, l'étape 762 est exécutée entre les étapes 760 et 764 pour retransférer les données d'entrée série (c'est-à-dire, une clé sélectionnée dans un format de données série) et les données d'entrée série complémentaires au processeur cryptographique par la liaison sécurisée dédiée. Les étapes 755 à 762 sont exécutées dans des sources de clés qui sont à l'extérieur du processeur cryptographique. Dans divers modes de réalisation de la présente invention, des clés peuvent être mémorisées temporairement ou en permanence à la fois dans la zone de mémorisation de clés sécurisée 210 dans le processeur cryptographique 108 et dans les sources de clés 112 à l'extérieur du processeur 108. Les identifications (ID) de clé 1 et 2 sont utilisées pour identifier la clé dans ces deux mémoires. Bien que l'invention soit susceptible d'être diversement modifiée et de prendre d'autres foi mes, des exemples spécifiques de celle-ci ont été montrés sur les dessins et sont décrits ici en détail. On devrait comprendre, cependant, que l'invention ne doit pas être limitée aux formes particulières présentées, mais qu'au contraire, l'invention doit couvrir toutes les modifications, tous les équivalents et toutes les variantes tombant dans l'étendue des revendications jointes.

Claims (9)

  1. REVENDICATIONS1. Microcontrôleur sécurisé (120), comprenant un noyau d'unité centrale (CPU) (106) qui génère un mot de 5 données et une adresse logique ; une pluralité de sources de clés (112) qui fournissent une pluralité de clés ; et un processeur cryptographique (108), couplé entre le noyau d'unité centrale et la pluralité de sources de clés, le processeur 10 cryptographique mémorisant la pluralité de clés, mappant l'adresse logique vers au moins une adresse physique dans une mémoire, et traitant le mot de données sur la base d'au moins une clé cible sélectionnée parmi la pluralité de clés ; et une liaison sécurisée dédiée, couplée entre le processeur 15 cryptographique et la pluralité de sources de clés, la liaison sécurisée dédiée transportant une commande de demande de clé comprenant une ID de clé (2) provenant du processeur cryptographique, et obtenant au moins l'une de la pluralité de clés des sources de clés conformément â l'ID de clé (2). 20
  2. 2. Microcontrôleur sécurisé selon la revendication 1, dans lequel la liaison sécurisée dédiée (404) est mise en oeuvre en tant qu'interface de données série.
  3. 3. Microcontrôleur sécurisé selon la revendication 2, dans lequel l'interface de données série comprend cinq lignes. 25
  4. 4. Microcontrôleur sécurisé selon la revendication 2 ou 3, dans lequel l'interface série comprend : des données de sortie série qui délivrent l'ID de clé (2) provenant du processeur cryptographique ; des données d'entrée série qui renvoient ladite au moins une 30 source parmi la pluralité de sources de clés au processeur cryptographique ; des premières données d'intégrité série qui sont envoyées à la pluralité de sources de clés pour vérifier la validité de l'ID de clé (2) ; des deuxièmes données d'intégrité série qui sont envoyées au 35 processeur cryptographique pour vérifier l'intégrité de la clé cible ; etune horloge série qui est synchrone avec les données de sortie série, les données d'entrée série et les premières et deuxièmes données d'intégrité série.
  5. 5. Microcontrôleur sécurisé selon la revendication 4, dans lequel 5 les premières et deuxièmes données d'intégrité série sont complémentaires des données d'entrée et de sortie série, respectivement.
  6. 6. Microcontrôleur sécurisé selon la revendication 4 ou 5, dans lequel la détection d'une défaillance d'intégrité déclenche un effacement 10 des clés mémorisées dans une mémoire de clés sécurisée dans le processeur cryptographique.
  7. 7. Microcontrôleur sécurisé selon la revendication 4, 5 ou 6, dans lequel la détection d'une défaillance d'intégrité déclenche un effaceinent des clés mémorisées dans les sources de clés. 15
  8. 8. Procédé de gestion de clés en utilisant une liaison sécurisée dédiée dans un microcontrôleur sécurisé, comprenant les étapes consistant à : générer des données de sortie série en tant que signal de demande de clé par un processeur cryptographique, le signal de 20 demande de clé étant utilisé pour demander une clé parmi une pluralité de clés qui sont fournies par une pluralité de sources de clés ; générer des premières données d'intégrité série sur la base des données de sortie série ; fournir une horloge série qui est synchrone avec les données de 25 sortie série transmettre les données de sortie série, les premières données d'intégrité série et l'horloge série par l'intermédiaire de la liaison sécurisée dédiée à une pluralité de sources de clés ; vérifier la validité des données de sortie .série conformément aux 30 premières données d'intégrité série ; décaler les données de sortie série en des signaux de commande parallèles sous la commande de l'horloge série ; sélectionner une clé, parmi une pluralité de clés sous la commande des signaux de commande parallèles, la pluralité de clés 35 étant générées par la pluralité de sources de clés ; générer des deuxièmes données de contrôle d'intégrité à partir de la clé cible ;décaler la clé sélectionnée et les données de contrôle d'intégrité pour générer des données d'entrée série et des deuxièmes données d'intégrité série ; transmettre les données d'entrée série et les données d'intégrité 5 série au processeur cryptographique ; et décaler les données d'entrée série et les données d'intégrité série pour récupérer la clé cible et vérifier la validité de la clé cible.
  9. 9. Procédé selon la revendication 8, dans lequel les premières et deuxièmes données d'intégrité série sont inversées par rapport aux 10 données d'entrée et de sortie série, respectivement.
FR1358884A 2011-09-15 2013-09-16 Systemes et procedes de gestion de cles de chiffrement dans un microcontroleur securise Active FR2995707B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1358884A FR2995707B1 (fr) 2011-09-15 2013-09-16 Systemes et procedes de gestion de cles de chiffrement dans un microcontroleur securise

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1158222A FR2980285B1 (fr) 2011-09-15 2011-09-15 Systemes et procedes de gestion de cles cryptographiques dans un microcontroleur securise
FR1358884A FR2995707B1 (fr) 2011-09-15 2013-09-16 Systemes et procedes de gestion de cles de chiffrement dans un microcontroleur securise

Publications (2)

Publication Number Publication Date
FR2995707A1 true FR2995707A1 (fr) 2014-03-21
FR2995707B1 FR2995707B1 (fr) 2017-02-24

Family

ID=46229525

Family Applications (3)

Application Number Title Priority Date Filing Date
FR1158222A Active FR2980285B1 (fr) 2011-09-15 2011-09-15 Systemes et procedes de gestion de cles cryptographiques dans un microcontroleur securise
FR1253398A Withdrawn FR2980286A1 (fr) 2011-09-15 2012-04-13 Systemes et procedes de gestion de cles cryptographiques dans un microcontroleur securise
FR1358884A Active FR2995707B1 (fr) 2011-09-15 2013-09-16 Systemes et procedes de gestion de cles de chiffrement dans un microcontroleur securise

Family Applications Before (2)

Application Number Title Priority Date Filing Date
FR1158222A Active FR2980285B1 (fr) 2011-09-15 2011-09-15 Systemes et procedes de gestion de cles cryptographiques dans un microcontroleur securise
FR1253398A Withdrawn FR2980286A1 (fr) 2011-09-15 2012-04-13 Systemes et procedes de gestion de cles cryptographiques dans un microcontroleur securise

Country Status (2)

Country Link
US (2) US9021272B2 (fr)
FR (3) FR2980285B1 (fr)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8675868B1 (en) * 2008-07-01 2014-03-18 Maxim Integrated Products, Inc. Encrypting an address-dependent value along with code to prevent execution or use of moved code
US8943330B2 (en) * 2011-05-10 2015-01-27 Qualcomm Incorporated Apparatus and method for hardware-based secure data processing using buffer memory address range rules
US8874935B2 (en) 2011-08-30 2014-10-28 Microsoft Corporation Sector map-based rapid data encryption policy compliance
US10430608B2 (en) * 2013-06-14 2019-10-01 Salesforce.Com, Inc. Systems and methods of automated compliance with data privacy laws
US10615967B2 (en) * 2014-03-20 2020-04-07 Microsoft Technology Licensing, Llc Rapid data protection for storage devices
GB2524561A (en) 2014-03-27 2015-09-30 St Microelectronics Res & Dev Methods and apparatus for storing content
AT513782B1 (de) 2014-04-11 2018-08-15 Avl List Gmbh Vorrichtung und Verfahren zur Übermittlung von Daten
KR102208072B1 (ko) 2014-09-01 2021-01-27 삼성전자주식회사 데이터 처리 시스템
US9825945B2 (en) 2014-09-09 2017-11-21 Microsoft Technology Licensing, Llc Preserving data protection with policy
US9830479B2 (en) * 2014-09-16 2017-11-28 Nxp Usa, Inc. Key storage and revocation in a secure memory system
US9853812B2 (en) 2014-09-17 2017-12-26 Microsoft Technology Licensing, Llc Secure key management for roaming protected content
WO2016045096A1 (fr) * 2014-09-26 2016-03-31 华为技术有限公司 Procédé et appareil de migration de fichier et dispositif de stockage
US9900295B2 (en) 2014-11-05 2018-02-20 Microsoft Technology Licensing, Llc Roaming content wipe actions across devices
US9524249B2 (en) * 2014-12-23 2016-12-20 Intel Corporation Memory encryption engine integration
US9853820B2 (en) 2015-06-30 2017-12-26 Microsoft Technology Licensing, Llc Intelligent deletion of revoked data
US9900325B2 (en) 2015-10-09 2018-02-20 Microsoft Technology Licensing, Llc Passive encryption of organization data
US10776294B2 (en) * 2015-11-16 2020-09-15 Atmel Corporation System architecture with secure data exchange
EP3185464B1 (fr) 2015-12-21 2020-05-20 Hewlett-Packard Development Company, L.P. Arborescences d'informations pour génération de clé
CN106100829B (zh) * 2016-05-23 2020-05-19 深圳市硅格半导体有限公司 加密存储的方法及装置
US10536441B2 (en) * 2016-08-23 2020-01-14 Texas Instruments Incorporated Thread ownership of keys for hardware-accelerated cryptography
US20190004973A1 (en) * 2017-06-28 2019-01-03 Intel Corporation Multi-key cryptographic memory protection
CN107516047A (zh) * 2017-08-08 2017-12-26 杭州中天微系统有限公司 一种存储数据加解密装置及方法
US10872043B2 (en) * 2017-08-17 2020-12-22 Microchip Technology Incorporated Systems and methods for integrity checking of code or data in a mixed security system while preserving confidentiality
DE102018202357A1 (de) 2018-02-15 2019-08-22 Bundesdruckerei Gmbh Verfahren zum Verarbeiten eines kryptographischen Schlüssels und Prozessorchipkarte
IL258368B2 (en) 2018-03-26 2024-04-01 Kazuar Advanced Tech Ltd Secure computer system
US10691813B2 (en) * 2018-03-30 2020-06-23 Intel Corporation Techniques for enclave confidentiality management
GB201807257D0 (en) * 2018-05-02 2018-06-13 Nordic Semiconductor Asa Cryptographic key distribution
GB201809526D0 (en) * 2018-06-11 2018-07-25 Wibu Systems Ltd Key protection device
US11010067B2 (en) * 2018-12-28 2021-05-18 Intel Corporation Defense against speculative side-channel analysis of a computer system
US11030120B2 (en) * 2019-06-27 2021-06-08 Intel Corporation Host-convertible secure enclaves in memory that leverage multi-key total memory encryption with integrity
WO2021056069A1 (fr) * 2019-09-25 2021-04-01 Commonwealth Scientific And Industrial Research Organisation Services cryptographiques pour des applications de navigateur
US11436342B2 (en) 2019-12-26 2022-09-06 Intel Corporation TDX islands with self-contained scope enabling TDX KeyID scaling
US20220100871A1 (en) * 2020-09-26 2022-03-31 Intel Corporation Scalable multi-key memory encryption
US20220385451A1 (en) * 2021-05-26 2022-12-01 Micron Technology, Inc. Data invalidation for memory
KR20230056920A (ko) * 2021-10-21 2023-04-28 삼성전자주식회사 스토리지 장치의 구동 방법 및 이를 이용한 스토리지 시스템의 구동 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002077878A1 (fr) * 2001-03-26 2002-10-03 Galois Connections Inc Crypto-pointeurs pour stockage de donnees sur
US20060047972A1 (en) * 2004-08-27 2006-03-02 Microsoft Corporation System and method for applying security to memory reads and writes
US20070140477A1 (en) * 2005-12-16 2007-06-21 Lsi Logic Corporation Memory encryption for digital video
EP1978467A1 (fr) * 2007-04-05 2008-10-08 STMicroelectronics (Research & Development) Limited Circuit intégré et procédé pour l'exécution sécurisée de logiciels

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2689998B2 (ja) * 1990-08-22 1997-12-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 暗号動作を行う装置
US5333034A (en) * 1992-01-31 1994-07-26 Bremson Data Systems, Inc. System for selectively controlling the spectral make-up of visible light from a source thereof
US5224166A (en) * 1992-08-11 1993-06-29 International Business Machines Corporation System for seamless processing of encrypted and non-encrypted data and instructions
AU1265195A (en) * 1993-12-06 1995-06-27 Telequip Corporation Secure computer memory card
US6038400A (en) * 1995-09-27 2000-03-14 Linear Technology Corporation Self-configuring interface circuitry, including circuitry for identifying a protocol used to send signals to the interface circuitry, and circuitry for receiving the signals using the identified protocol
US5587957A (en) * 1995-09-29 1996-12-24 Intel Corporation Circuit for sharing a memory of a microcontroller with an external device
US7143289B2 (en) * 2000-10-30 2006-11-28 Geocodex Llc System and method for delivering encrypted information in a communication network using location identity and key tables
JP4734585B2 (ja) * 2001-09-28 2011-07-27 ハイ デンスィティ デバイスィズ アクシエセルスカプ 大容量記憶装置におけるデータの暗号化/復号化の方法及び装置
US7107459B2 (en) * 2002-01-16 2006-09-12 Sun Microsystems, Inc. Secure CPU and memory management unit with cryptographic extensions
DE102004014435A1 (de) * 2004-03-24 2005-11-17 Siemens Ag Anordnung mit einem integrierten Schaltkreis
US20070168292A1 (en) * 2004-12-21 2007-07-19 Fabrice Jogand-Coulomb Memory system with versatile content control
KR100664186B1 (ko) * 2004-12-22 2007-01-03 엘지전자 주식회사 이동통신 단말기의 키 제어 장치 및 방법
US8605224B2 (en) * 2008-02-27 2013-12-10 Silicon Laboratories Inc. Digital interface for tuner-demodulator communications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002077878A1 (fr) * 2001-03-26 2002-10-03 Galois Connections Inc Crypto-pointeurs pour stockage de donnees sur
US20060047972A1 (en) * 2004-08-27 2006-03-02 Microsoft Corporation System and method for applying security to memory reads and writes
US20070140477A1 (en) * 2005-12-16 2007-06-21 Lsi Logic Corporation Memory encryption for digital video
EP1978467A1 (fr) * 2007-04-05 2008-10-08 STMicroelectronics (Research & Development) Limited Circuit intégré et procédé pour l'exécution sécurisée de logiciels

Also Published As

Publication number Publication date
US20130238907A1 (en) 2013-09-12
FR2995707B1 (fr) 2017-02-24
US20160072628A1 (en) 2016-03-10
FR2980285B1 (fr) 2013-11-15
FR2980286A1 (fr) 2013-03-22
FR2980285A1 (fr) 2013-03-22
US9021272B2 (en) 2015-04-28
US9537656B2 (en) 2017-01-03

Similar Documents

Publication Publication Date Title
FR2995707A1 (fr) Systemes et procedes de gestion de cles de chiffrement dans un microcontroleur securise
CN112074836B (zh) 通过可信执行环境保护数据的设备和方法
US11831710B2 (en) Tracking and certification of digital media via distributed ledger
Dai et al. SBLWT: A secure blockchain lightweight wallet based on trustzone
US20190260716A1 (en) Managed securitized containers and container communications
US6378072B1 (en) Cryptographic system
US8127146B2 (en) Transparent trust validation of an unknown platform
US10650139B2 (en) Securing temporal digital communications via authentication and validation for wireless user and access devices with securitized containers
EP2759955A1 (fr) Sauvegarde et restauration sécurisé de stockage protégé
US20100031012A1 (en) Core initialization code validation
US20090013166A1 (en) Rom bios based trusted encrypted operating system
GB2517016A (en) Secure data storage
EP3320471B1 (fr) Systeme et procede d'authentification et de licence ip de modules hardware
US8577024B2 (en) Concealing plain text in scrambled blocks
TWI631462B (zh) 確保機板上匯流排交易安全的計算系統和計算設備實現的方法以及非暫時性的電腦可讀取媒體
US20070168669A1 (en) Anti-tamper system
FR2979443A1 (fr) Microcontroleur securise a base de mode
WO2019199813A2 (fr) Chaîne de blocs de haute intégrité gérée et communications de chaînes de blocs utilisant des conteneurs
Liu et al. $ LiveForen $: Ensuring Live Forensic Integrity in the Cloud
KR20220014315A (ko) 데이터 프로세싱 시스템 및 방법
US20070168680A1 (en) Anti-tamper system
EP2336931B1 (fr) Procédé de vérification de signature
US10623384B2 (en) Combined hidden dynamic random-access devices utilizing selectable keys and key locators for communicating randomized data together with sub-channels and coded encryption keys
US20210357514A1 (en) System and device for data management
FR3098613A1 (fr) Procede de gestion du fonctionnement d’au moins un logiciel applicatif chiffre et circuit integre correspondant

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11

PLFP Fee payment

Year of fee payment: 12

PLFP Fee payment

Year of fee payment: 13