FR3106909A1 - Circuit intégré configuré pour réaliser des opérations de chiffrement symétrique avec protection de clé secrète - Google Patents

Circuit intégré configuré pour réaliser des opérations de chiffrement symétrique avec protection de clé secrète Download PDF

Info

Publication number
FR3106909A1
FR3106909A1 FR2000994A FR2000994A FR3106909A1 FR 3106909 A1 FR3106909 A1 FR 3106909A1 FR 2000994 A FR2000994 A FR 2000994A FR 2000994 A FR2000994 A FR 2000994A FR 3106909 A1 FR3106909 A1 FR 3106909A1
Authority
FR
France
Prior art keywords
secret key
key
encrypted
hardware environment
binary data
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
FR2000994A
Other languages
English (en)
Other versions
FR3106909B1 (fr
Inventor
Gilles Pelissier
Nicolas Anquet
Delphine Le-Goascoz
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.)
STMicroelectronics Grenoble 2 SAS
STMicroelectronics Alps SAS
Original Assignee
STMicroelectronics Grenoble 2 SAS
STMicroelectronics Alps 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 STMicroelectronics Grenoble 2 SAS, STMicroelectronics Alps SAS filed Critical STMicroelectronics Grenoble 2 SAS
Priority to FR2000994A priority Critical patent/FR3106909B1/fr
Priority to US17/161,544 priority patent/US11698993B2/en
Priority to CN202110128884.9A priority patent/CN113204800A/zh
Publication of FR3106909A1 publication Critical patent/FR3106909A1/fr
Application granted granted Critical
Publication of FR3106909B1 publication Critical patent/FR3106909B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/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/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • 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/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2113Multi-level security, e.g. mandatory access control

Landscapes

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

Abstract

L’invention concerne un circuit intégré comprenant un environnement matériel sécurisé (EMS) dans lequel est enregistré une clé matérielle unique (HUK), ledit environnement matériel sécurisé (EMS) comprenant un premier circuit logique (GEN1) configuré pour générer une clé dérivée unique (HIK) à partir de ladite clé matérielle unique (HUK) et d’au moins une information (INF) relative à un contexte d’exécution et/ou à un usage d’une clé secrète, et dans lequel l’environnement matériel sécurisé (EMS) comprend en outre un premier dispositif de chiffrement (CH1) configuré pour réaliser une opération de chiffrement symétrique de ladite clé secrète (SK) en utilisant ladite clé dérivée unique (HIK) et délivrer une clé secrète chiffrée (E_SK) résultant de cette opération en dehors de l’environnement matériel sécurisé. Figure pour l’abrégé : Figure 2

Description

CIRCUIT INTÉGRÉ CONFIGURÉ POUR RÉALISER DES OPÉRATIONS DE CHIFFREMENT SYMÉTRIQUE AVEC PROTECTION DE CLÉ SECRÈTE
Des modes de réalisation et de mise en œuvre de l’invention concernent les circuits intégrés configurés pour réaliser des opérations de chiffrement symétrique.
Le chiffrement symétrique permet d’utiliser une unique clé partagée pour chiffrer puis déchiffrer des données binaires. Afin de garder les données binaires secrètes, il convient de veiller à maintenir secrète la clé partagée.
Il convient donc d’élaborer des solutions permettant une gestion sécurisée des clés. Une solution connue consiste à réaliser cette gestion par des logiciels fiables dans un environnement sécurisé. Cette solution présente l’inconvénient d’être complexe. En particulier, il est difficile de protéger les clés gérées par le logiciel contre certaines attaques. En outre, la gestion des clés par logiciel peut être critique dans les applications en temps réel. En effet, la gestion des clés par logiciel peut nécessiter une utilisation importante des ressources disponibles et de ce fait impacter le fonctionnement des applications en temps réel, notamment leur temps d’exécution.
Il existe donc un besoin de proposer une solution permettant une gestion sécurisée des clés qui ne présente pas les inconvénients susmentionnés.
Selon un premier aspect, il est proposé un circuit intégré comprenantun environnement matériel sécurisé dans lequel est enregistrée une clé matérielle unique, ledit environnement matériel sécurisé comprenant un premier circuit logique configuré pour générer une clé dérivée unique à partir de ladite clé matérielle unique et d’au moins une information relative à un contexte d’exécution et/ou à un usage d’une clé secrète,
et dans lequel l’environnement matériel sécurisé comprend en outreun premier dispositif de chiffrement configuré pour réaliser une opération de chiffrement symétrique de ladite clé secrète en utilisant ladite clé dérivée unique et délivrer une clé secrète chiffrée résultant de cette opération.
L’environnement matériel sécurisé est un «hardware» sécurisé.
La clé matérielle unique est associée à un unique circuit intégré.
Le premier circuit logique permet ainsi de générer une clé dérivée unique selon un usage et/ou un contexte d’exécution donné pour un circuit intégré donné. Le premier circuit logique permet donc de générer une clé dérivée unique différente pour chaque contexte d’exécution et chaque usage pour un circuit intégré donné.
La clé matérielle unique ainsi que la clé dérivée unique ne sont pas accessibles en dehors de l’environnement matériel sécurisé.
La clé dérivée unique est utilisée pour chiffrer des clés secrètes.
La clé secrète chiffrée peut être enregistrée dans un registre de sortie. Cette clé secrète chiffrée peut alors être récupérée par un logiciel depuis le registre de sortie. Le logiciel peut ensuite manipuler cette clé secrète chiffrée en dehors de l’environnement matériel sécurisé mais ne peut pas manipuler directement la clé secrète non chiffrée. La clé secrète non chiffrée ne peut être lue par le logiciel.
Ainsi, un tel circuit intégré permet d’obtenir un stockage sécurisé des clés secrètes, en stockant uniquement les clés secrètes une fois chiffrées en utilisant la clé dérivée unique.
En outre, le chiffrement des clés secrètes dépend de la clé matérielle unique, inconnue en dehors de l’environnement matériel sécurisé, et d’un usage et/ou d’un contexte d’exécution de la clé secrète. Un tel chiffrement est donc robuste.
Un tel circuit électronique permet d’éviter l’utilisation d’un logiciel dédié pour la gestion des clés. En effet, la gestion des clés est obtenue par un renforcement matériel de l’environnement matériel sécurisé. Un tel circuit électronique permet ainsi d’assurer une meilleure gestion sécurisée des clés.
Dans un mode de réalisation avantageux, l’environnement matériel sécurisé comprend en outre un deuxième dispositif de chiffrement configuré pour réaliser une opération de chiffrement symétrique de données binaires en utilisant la clé secrète et pour délivrer des données binaires chiffrées résultant de cette opération.
Les données binaires chiffrées peuvent ensuite être manipulées en dehors de l’environnement matériel sécurisé par un logiciel.
Dans un mode de réalisation avantageux, l’environnement matériel sécurisé comprend en outreun premier dispositif de déchiffrement configuré pour réaliser une opération de déchiffrement d’une clé secrète chiffrée en utilisant ladite clé dérivée unique et délivrer une clé secrète résultant de cette opération en dehors de l’environnement matériel sécurisé.
La clé secrète chiffrée peut être une clé ayant été précédemment chiffrée par le premier dispositif de chiffrement. La clé secrète délivrée par le premier dispositif de déchiffrement est alors identique à la clé secrète à partir de laquelle la clé secrète chiffrée a été délivrée par le premier dispositif de chiffrement.
Comme la clé secrète est déchiffrée dans l’environnement matériel sécurisé, la clé secrète n’est pas accessible par un logiciel.
De préférence, le deuxième dispositif de chiffrement est également configuré pour réaliser une opération de chiffrement des données binaires non chiffrées en utilisant la clé secrète délivrée par le premier dispositif de déchiffrement et délivrer des données binaires chiffrées résultant de cette opération.
Avantageusement, l’environnement matériel sécurisé comprend en outre un registre, dit registre à clés, configuré pour enregistrer chaque clé secrète générée par le premier dispositif de déchiffrement et pour pouvoir transmettre chaque clé secrète enregistrée au deuxième dispositif de chiffrement pour chiffrer des données binaires non chiffrées.
Dans un mode de réalisation avantageux, l’environnement matériel sécurisé comprend en outre un deuxième dispositif de déchiffrement configuré pour réaliser une opération de déchiffrement de données binaires chiffrées en utilisant la clé secrète délivrée par le premier dispositif de déchiffrement et délivrer des données binaires non chiffrées résultant de cette opération en dehors de l’environnement matériel sécurisé.
Dans un mode de réalisation avantageux, l’environnement matériel sécurisé comprend en outre un registre, dit registre à clés, configuré pour enregistrer chaque clé secrète générée par le premier dispositif de déchiffrement et pour pouvoir transmettre chaque clé secrète enregistrée au deuxième dispositif de déchiffrement pour déchiffrer des données binaires chiffrées.
Selon un autre aspect, il est proposé un système sur puce comprenant un circuit intégré tel que décrit précédemment et configuré pour exécuter des logiciels selon des contextes d’exécution présentant différents niveaux de sécurité et/ou de confidentialité. Le circuit intégré est configuré pour autoriser une utilisation de la clé secrète selon ces contextes d’exécution si une protection de la clé secrète est levée par un logiciel après que la clé secrète soit enregistrée dans le registre à clés et si la clé n’est pas exclusive à un seul contexte d’exécution.
Un tel système permet l’utilisation des clés secrètes entre des logiciels de contextes d’exécution différents tout en assurant une protection des clés secrètes. En particulier, les clés secrètes peuvent être utilisées mais restent inconnues par les logiciels.
Dans un mode de réalisation avantageux, le circuit intégré est configuré pour effacer une clé secrète du registre à clés soit lorsqu’un nouveau contexte d’exécution est détecté lorsque la clé secrète est protégée soit lorsque la clé secrète est exclusive à un contexte d’exécution donné et qu’un nouveau contexte d’exécution est détecté.
Le circuit intégré est donc configuré pour détecter un mauvais usage des clés secrètes, c’est-à-dire une modification d’un contexte d’exécution lorsque ce dernier n’est pas autorisé.
En outre, le circuit intégré est configuré pour effacer une clé secrète lorsque celle-ci est compromise, c’est-à-dire dès qu’une mauvaise utilisation de la clé est détectée.
Un tel circuit intégré permet d’isoler des clés secrètes par contexte d’exécution et de permettre leur utilisation dans d’autres contexte d’exécution que si cette utilisation est autorisée.
Selon un autre aspect, il est proposé un procédé de chiffrement d’une clé secrète dans un environnement matériel sécurisé, le procédé comprenant:
- une génération d’une clé dérivée unique à partir d’une clé matérielle unique enregistrée dans ledit environnement matériel sécurisé et d’au moins une information relative à un contexte d’exécution et/ou à un usage de la clé secrète,
- un chiffrement symétrique de la clé secrète en utilisant la clé dérivée unique générée.
Selon un autre aspect, il est proposé un procédé de chiffrement de données binaires dans un environnement matériel sécurisé, le procédé comprenant:
- un chiffrement symétrique des données binaires en utilisant une clé secrète de façon à obtenir des données binaires chiffrées,
- un chiffrement symétrique de la clé secrète selon un procédé de chiffrement tel que décrit précédemment.
Selon un autre aspect, il est proposé un procédé de déchiffrement dans un environnement matériel sécurisé d’une clé secrète chiffrée, le procédé comprenant:
- une génération d’une clé dérivée unique à partir d’une clé matérielle unique enregistrée dans ledit environnement matériel sécurisé et d’au moins une information relative à un contexte d’exécution et/ou à un usage de ladite clé secrète,
- un déchiffrement de la clé secrète chiffrée en utilisant la clé dérivée unique générée.
Selon un autre aspect, il est proposé un procédé de déchiffrement dans un environnement matériel sécurisé de données binaires chiffrées à l’aide d’une clé secrète chiffrée, le procédé comprenant:
- un déchiffrement de ladite clé secrète chiffrée selon un procédé de déchiffrement tel que décrit précédemment de façon à obtenir une clé secrète adaptée pour déchiffrer lesdites données binaires chiffrées, puis
- un déchiffrement des données binaires chiffrées en utilisant ladite clé secrète.
D'autres avantages et caractéristiques de l’invention apparaîtront à l’examen de la description détaillée de modes de mise en œuvre et de réalisation, nullement limitatifs, et des dessins annexés sur lesquels:
illustrent schématiquement des modes de réalisation et de mise en œuvre de l’invention.
Un circuit intégré selon un mode de réalisation comprend un environnement matériel sécurisé EMS comprenant un premier circuit logique GEN1 représenté à la figure 1, un système de chiffrement SCH représenté à la figure 2 et un système de déchiffrement SDCH représenté à la figure 4.
Le premier circuit logique est utilisé pour générer une clé dérivée unique HIK.
Le système de chiffrement SCH est utilisé pour chiffrer des données binaires DAT en utilisant une clé secrète SK, et pour chiffrer cette clé secrète SK en utilisant une clé dérivée unique HIK générée par le premier circuit logique.
Le système de déchiffrement SDCH est utilisé pour déchiffrer une clé secrète chiffrée E_SK en utilisant une clé dérivée unique HIK générée par le premier circuit logique, et pour déchiffrer des données binaires chiffrées E_DAT en utilisant la clé secrète déchiffrée SK. Le système de chiffrement SCH et le système de déchiffrement SDCH peuvent être combinés de façon à mutualiser certains éléments de ces deux systèmes.
Le premier circuit logique GEN1 est configuré pour générer une clé dérivée unique HIK à partir d’une clé matérielle unique HUK et d’au moins une information INF relative à un contexte d’exécution et/ou à un usage lié à une clé secrète à chiffrer.
La clé matérielle unique HUK est enregistrée dans l’environnement matériel sécurisé EMS. Cette clé matérielle unique HUK est associée au circuit intégré. La clé matérielle unique HUK n’est pas connue en dehors de l’environnement matériel sécurisé EMS et ne peut être utilisée en dehors de cet environnement. La clé matérielle unique HUK peut être obtenue par une fonction physique inclonable (connue également sous l’acronyme «PUF» de l’anglais «Physical Unclonable Function»).
En particulier, les informations INF peuvent notamment concerner un contexte d’exécution de la clé secrète à chiffrer (contexte d’exécution sécurisé/non sécurisé, contexte d’exécution privilégié/non privilégié), un usage de cette clé secrète (par exemple une durée d’utilisation, un type de partage) et un usage d’un logiciel devant utiliser cette clé secrète. Ce dernier usage peut être obtenu par la «racine de confiance» (connue sous l’expression anglo-saxonne «Root of trust»).
Ainsi, le premier circuit logique GEN1 comprend une première entrée configurée pour recevoir ladite clé matérielle unique HUK.
Le premier circuit logique GEN1 comprend également une deuxième entrée configurée pour recevoir ladite au moins une information INF relative à un contexte d’exécution et/ou à un usage lié à une clé secrète à chiffrer.
Le premier circuit logique GEN1 permet ainsi de générer une clé dérivée unique HIK selon un usage et/ou un contexte d’exécution donné pour un circuit intégré donné. Le premier circuit logique GEN1 permet donc de générer une clé dérivée unique HIK différente pour chaque contexte d’exécution et chaque usage pour un circuit intégré donné.
La clé dérivée unique HIK n’est pas accessible en dehors de l’environnement matériel sécurisé EMS. Ainsi, un logiciel ne peut lire la clé dérivée unique HIK mais peut l’utiliser dans l’environnement matériel sécurisé EMS.
Le système de chiffrement SCH comprend en outre un premier dispositif de chiffrement CH1 configuré pour réaliser une opération de chiffrement symétrique de clé secrète SK.
En particulier, au moins une clé secrète SK est fournie une seule fois pendant la durée de vie du circuit intégré et est effacée après son utilisation. En particulier, la clé secrète SK peut être une clé connue seulement par un fabricant du circuit intégré, notamment un fabricant d’équipement d’origine. Ce fabricant peut alors chiffrer la clé secrète SK en utilisant le premier dispositif de chiffrement CH1.
En variante, la clé secrète SK peut être créée à partir d’un générateur de nombres aléatoires.
L’opération de chiffrement symétrique des clés secrètes SK est effectuée en utilisant une clé dérivée unique HIK générée par le premier circuit logique GEN1. En particulier, les clés secrètes SK peuvent être chiffrées en utilisant une norme de chiffrement avancé, connue sous l’acronyme AES de l’anglais «Advanced Encryption Standard», notamment selon le mode ECB (de l’anglais «Electronic Code Book»).
Le chiffrement d’une clé secrète SK étant réalisé en utilisant la clé dérivée unique HIK, le chiffrement de la clé secrète SK dépend donc indirectement de la clé matérielle unique HUK et d’un usage et/ou d’un contexte d’exécution lié à cette clé secrète. Un tel chiffrement est donc robuste.
À la fin de l’opération de chiffrement, le premier dispositif de chiffrement CH1 est configuré pour délivrer une clé secrète chiffrée E_SK résultant de cette opération.
La clé secrète chiffrée E_SK peut être enregistrée dans un premier registre de sortie DOUT1 en dehors de l’environnement matériel sécurisé EMS. Cette clé secrète chiffrée peut alors être récupérée par un logiciel depuis le registre de sortie. Le logiciel peut ensuite manipuler cette clé secrète chiffrée en dehors de l’environnement matériel sécurisé mais ne peut pas manipuler directement la clé secrète SK non chiffrée. La clé secrète SK non chiffrée ne peut être lue par le logiciel.
Le premier registre de sortie DOUT1 ne stocke donc pas les clés secrètes SK non chiffrées mais seulement celles chiffrées. Le stockage des clés secrètes SK est ainsi sécurisé.
Un tel circuit électronique permet d’éviter l’utilisation d’un logiciel dédié pour la gestion des clés. Un tel circuit électronique permet ainsi d’assurer une meilleure gestion sécurisée des clés.
Par ailleurs, le circuit intégré comprend également un premier registre d’entrée DIN1 en dehors de l’environnement matériel sécurisé EMS. Des données binaires à chiffrer peuvent être enregistrées dans ce premier registre d’entrée.
Le système de chiffrement SCH comprend en outre un deuxième dispositif de chiffrement CH2. Ce deuxième dispositif de chiffrement CH2 est configuré pour réaliser une opération de chiffrement symétrique des données binaires DAT issues du premier registre d’entrée DIN1. En particulier, le deuxième dispositif de chiffrement CH2 est configuré pour chiffrer les données binaires DAT en utilisant une clé secrète SK.
Le deuxième circuit binaire délivre donc des données binaires chiffrées E_DAT résultant de cette opération de chiffrement symétrique.
Le circuit intégré comprend un deuxième registre de sortie DOUT2 en dehors de l’environnement matériel sécurisé EMS. Les données binaires chiffrées E_DAT peuvent être enregistrées dans ce deuxième registre de sortie DOUT2. Les données binaires chiffrées E_DAT peuvent ensuite être manipulées en dehors de l’environnement matériel sécurisé par un logiciel en accédant au deuxième registre de sortie DOUT2.
Un procédé de chiffrement d’une clé secrète SK est représenté à la figure 3. À l’étape 20, une clé secrète SK est fournie au système de chiffrement pendant une phase d’approvisionnement de clé (de l’anglais «key provisioning»). En parallèle, à l’étape 21, une clé dérivée unique HIK est générée par le premier circuit logique GEN1 en utilisant la clé matérielle unique HUK et des informations INF relatives à un usage et/ou à un contexte d’exécution de la clé secrète SK. À l’étape 22, la clé secrète SK générée à l’étape 20 est chiffrée par le premier dispositif de chiffrement CH1 par une opération de chiffrement symétrique en utilisant la clé dérivée unique HIK générée à l’étape 21. À l’étape 23, la clé secrète chiffrée E_SK est enregistrée dans le premier registre de sortie DOUT1. Une fois chiffrée par le système SCH, la clé SK peut être effacée.
En parallèle du procédé de chiffrement de la clé secrète SK, il est possible de mettre en œuvre un procédé de chiffrement de données binaires DAT également représenté à la figure 3. À l’étape 24, les données binaires DAT sont extraites du premier registre d’entrée DIN1. À l’étape 25, les données binaires DAT sont chiffrées par le deuxième dispositif de chiffrement CH2 par une opération de chiffrement symétrique en utilisant la clé secrète SK générées à l’étape 20. À l’étape 26, les données binaires chiffrées E_DAT sont enregistrées dans le deuxième registre de sortie DOUT2.
Le circuit intégré comprend également un deuxième registre d’entrée DIN2 en dehors de l’environnement matériel sécurisé EMS. Des clés secrètes chiffrées E_SK peuvent être enregistrées dans ce deuxième registre d’entrée DIN2. En particulier, les clés secrètes chiffrées E_SK sont des clés secrètes SK ayant précédemment été chiffrées par le premier dispositif de chiffrement CH1. Ces clés secrètes chiffrées E_SK peuvent avoir été entre-temps manipulées en dehors de l’environnement matériel sécurisé par un logiciel.
Le système de déchiffrement SDCH comprend un premier dispositif de déchiffrement DCH1. Ce premier dispositif de déchiffrement DCH1 est configuré pour déchiffrer des clés secrètes chiffrées E_SK issues du deuxième registre d’entrée DIN2. En particulier, le premier dispositif de déchiffrement DCH1 est configuré pour réaliser une opération de déchiffrement en utilisant une clé dérivée unique HIK générée par le premier circuit logique GEN1.
Plus particulièrement, les clés secrètes chiffrées E_SK peuvent être déchiffrées en utilisant un déchiffrement AES, notamment selon le mode ECB.
Le premier dispositif de déchiffrement DCH1 est donc configuré pour délivrer une clé secrète SK identique à la clé secrète SK à partir de laquelle la clé secrète chiffrée E_SK enregistrée dans le deuxième dispositif d’entrée a été générée. Il est donc également important d’utiliser pour le déchiffrement de la clé secrète chiffrée E_SK une clé dérivée unique HIK identique à celle utilisée pour le chiffrement de la clé secrète SK. En particulier, la clé secrète chiffrée E_SK ne peut être déchiffrée par un circuit intégré différent de celui utilisé pour le chiffrement de la clé secrète SK.
La clé secrète SK déchiffrée n’est pas accessible en dehors de l’environnement matériel sécurisé EMS.
Le premier dispositif de déchiffrement DCH1 et le premier dispositif de chiffrement CH1 du système de chiffrement peuvent être formés par un même dispositif lorsque le système de chiffrement SCH et le système de déchiffrement SDCH sont combinés. Ce dispositif est alors adapté pour chiffrer des clés SK et déchiffrer des clés chiffrée E_SK.
Le système de déchiffrement SDCH comprend également un registre, dit registre à clés, SK_REG dans lequel sont enregistrées les clés secrètes SK déchiffrées par le premier dispositif de déchiffrement DCH1.
Le circuit intégré comprend également un troisième registre d’entrée DIN3 en dehors de l’environnement matériel sécurisé EMS. Des données binaires chiffrées E_DAT peuvent être enregistrées dans ce troisième registre d’entrée DIN3. En particulier, les données binaires chiffrées E_DAT sont des données binaires DAT ayant précédemment été chiffrées par le deuxième dispositif de chiffrement CH2. Ces données binaires chiffrées E_DAT peuvent avoir été entre-temps manipulées en dehors de l’environnement matériel sécurisé par un logiciel.
Le système de déchiffrement SDCH comprend en outre un deuxième dispositif de déchiffrement DCH2. Ce deuxième dispositif de déchiffrement DCH2 est configuré pour déchiffrer des données binaires chiffrées E_DAT issues du troisième registre d’entrée DIN3. En particulier, le deuxième dispositif de déchiffrement DCH2 est configuré pour réaliser une opération de déchiffrement en utilisant une clé secrète SK déchiffrée par le premier dispositif de déchiffrement DCH1 et enregistrée dans le registre à clés SK_REG.
Le deuxième dispositif de déchiffrement DCH2 est donc configuré pour délivrer des données binaires DAT déchiffrées identiques à celles à partir desquelles les données binaires chiffrées E_DAT enregistrées dans le troisième registre d’entrée DIN3 ont été chiffrées. En outre, les données binaires chiffrées E_DAT ne peuvent être déchiffrées par un circuit intégré différent de celui utilisé pour le chiffrement des données binaires DAT. En effet, ces données binaires DAT ont été chiffrées en utilisant la clé secrète SK. Cette clé secrète SK a ensuite été chiffrée pour obtenir la clé secrète chiffrée E_SK. Pour déchiffrer la clé secrète chiffrée E_SK, il est nécessaire d’utiliser la même clé HIK que celle utilisée pour le chiffrement de la clé secrète SK. Or, la clé HIK dépend notamment de la clé matérielle unique HUK associée au circuit intégré. Ainsi, le circuit intégré peut être utilisé comme système d’anti-clonage pour éviter que des données binaires chiffrées E_DAT puissent être déchiffrées par un autre circuit intégré.
Le circuit intégré comprend également un troisième registre de sortie DOUT3 en dehors de l’environnement matériel sécurisé EMS. Les données binaires DAT déchiffrées délivrées par le deuxième dispositif de déchiffrement DCH2 peuvent être enregistrées dans ce troisième registre de sortie DOUT3 de façon à pouvoir être utilisées par un logiciel.
Le deuxième dispositif de déchiffrement DCH2 et le deuxième dispositif de chiffrement CH2 du système de chiffrement SCH peuvent être formés par un même dispositif lorsque le système de chiffrement SCH et le système de déchiffrement SDCH sont combinés. Ce dispositif est alors adapté pour chiffrer des données binaires DAT et déchiffrer des données binaires chiffrées E_DAT.
Un procédé de déchiffrement d’une clé secrète chiffrée E_SK est représenté à la figure 5. À l’étape 27, une clé secrète chiffrée E_SK est extraite du deuxième registre d’entrée DIN2. À l’étape 28, une clé dérivée unique HIK est générée par le premier circuit logique GEN1 en utilisant la clé matérielle unique HUK et des informations INF relatives à un usage et/ou à un contexte d’exécution de la clé secrète. À l’étape 29, la clé secrète chiffrée E_SK extraite à l’étape 27 est déchiffrée par le premier dispositif de déchiffrement DCH1 par une opération de déchiffrement en utilisant la clé dérivée unique HIK générée à l’étape 28. À l’étape 30, la clé secrète SK déchiffrée est enregistrée dans le registre à clés SK_REG.
Ensuite, il est possible de mettre en œuvre un procédé de déchiffrement de données binaires chiffrées E_DAT également représenté à la figure 5. À l’étape 31, les données binaires chiffrées E_DAT sont extraites du troisième registre d’entrée DIN3. À l’étape 32, les données binaires chiffrées E_DAT sont déchiffrées par le deuxième dispositif de déchiffrement DCH2 en utilisant la clé secrète SK enregistrée dans le registre à clés SK_REG à l’étape 30. À l’étape 33, les données binaires DAT déchiffrées sont enregistrées dans le troisième registre de sortie DOUT3.
Similairement, il est possible de mettre en œuvre un procédé de chiffrement de données binaires DAT en utilisant une clé secrète SK déchiffrée à partir d’une clé secrète chiffrée E_SK selon un procédé de déchiffrement tel que décrit précédemment. Les données binaires sont alors chiffrées par le dispositif de chiffrement CH2, qui peut également être le dispositif de déchiffrement DCH2 lorsque le système de chiffrement SCH et le système de déchiffrement SDCH sont combinés.
Un circuit intégré tel que décrit précédemment peut être utilisé dans un système sur puce configuré pour exécuter des logiciels selon des contextes d’exécution présentant différents niveaux de sécurité et/ou de confidentialité.
Le circuit intégré est alors configuré pour autoriser une utilisation de la clé secrète SK selon ces contextes d’exécution si une protection de la clé secrète SK est levée par un logiciel après que la clé secrète SK soit enregistrée dans le registre à clés SK_REG et si la clé n’est pas exclusive à un seul contexte d’exécution. Le circuit intégré permet donc pour un logiciel donné de gérer un nombre illimité de clés secrètes SK inconnues et utilisables par des logiciels ayant des contextes d’exécution différents.
En outre, le circuit intégré est également configuré pour effacer une clé secrète SK du registre à clés SK_REG soit lorsqu’un nouveau contexte d’exécution est détecté lorsque la clé secrète SK est protégée soit lorsque la clé secrète SK est exclusive à un contexte d’exécution donné et qu’un nouveau contexte d’exécution est détecté.
Le circuit intégré est donc configuré pour détecter un mauvais usage des clés secrètes, c’est-à-dire une modification d’un contexte d’exécution lorsque ce dernier n’est pas autorisé.
Un tel système permet l’utilisation des clés secrètes SK entre des logiciels de contextes d’exécution différents à partir d’une gestion des clés dans un environnement matériel sécurisé EMS permettant d’assurer une protection des clés secrètes SK. Une telle gestion des clés permet l’utilisation des clés secrètes SK pour différents contextes d’exécution. En particulier, les clés secrètes SK peuvent être utilisées mais restent inconnues par les logiciels.
Plus particulièrement, un tel système permet d’isoler des clés secrètes SK par contexte d’exécution et de permettre leur utilisation dans d’autres contexte d’exécution que si cette utilisation est autorisée.
En outre, le circuit intégré est configuré pour effacer une clé secrète SK lorsque celle-ci est compromise, c’est-à-dire dès qu’une mauvaise utilisation de la clé est détectée.

Claims (13)

  1. Circuit intégré comprenantun environnement matériel sécurisé (EMS) dans lequel est enregistré une clé matérielle unique (HUK), ledit environnement matériel sécurisé (EMS) comprenant un premier circuit logique (GEN1) configuré pour générer une clé dérivée unique (HIK) à partir de ladite clé matérielle unique (HUK) et d’au moins une information (INF) relative à un contexte d’exécution et/ou à un usage d’une clé secrète (SK),
    et dans lequel l’environnement matériel sécurisé (EMS) comprend en outreun premier dispositif de chiffrement (CH1) configuré pour réaliser une opération de chiffrement symétrique de ladite clé secrète (SK) en utilisant ladite clé dérivée unique (HIK) et délivrer une clé secrète chiffrée (E_SK) résultant de cette opération en dehors de l’environnement matériel sécurisé.
  2. Circuit intégré selon la revendication 1, dans lequel l’environnement matériel sécurisé (EMS) comprend en outre un deuxième dispositif de chiffrement (CH2) configuré pour réaliser une opération de chiffrement symétrique de données binaires (DAT) en utilisant la clé secrète (SK) et délivrer des données binaires chiffrées (E_DAT) résultant de cette opération en dehors de l’environnement matériel sécurisé.
  3. Circuit intégré selon l’une quelconque des revendications 1 ou 2, dans lequel l’environnement matériel sécurisé (EMS) comprend en outreun premier dispositif de déchiffrement (DCH1) configuré pour réaliser une opération de déchiffrement d’une clé secrète chiffrée (E_SK) en utilisant ladite clé dérivée unique (HIK) et délivrer une clé secrète (SK) résultant de cette opération.
  4. Circuit intégré selon la revendication 3, dans lequel le deuxième dispositif de chiffrement est également configuré pour réaliser une opération de chiffrement des données binaires non chiffrées en utilisant la clé secrète (SK) délivrée par le premier dispositif de déchiffrement (DCH1) et délivrer des données binaires chiffrées (DAT) résultant de cette opération.
  5. Circuit intégré selon la revendication 4, dans lequel l’environnement matériel sécurisé (EMS) comprend en outre un registre, dit registre à clés, configuré pour enregistrer chaque clé secrète (SK) générée par le premier dispositif de déchiffrement (DCH1) et pour pouvoir transmettre chaque clé secrète (SK) enregistrée au deuxième dispositif de chiffrement pour chiffrer des données binaires non chiffrées.
  6. Circuit intégré selon la revendication 3, dans lequel l’environnement matériel sécurisé (EMS) comprend en outre un deuxième dispositif de déchiffrement (DCH2) configuré pour réaliser une opération de déchiffrement de données binaires chiffrées (E_DAT) en utilisant la clé secrète (SK) délivrée par le premier dispositif de déchiffrement (DCH1) et délivrer des données binaires non chiffrées (DAT) résultant de cette opération.
  7. Circuit intégré selon la revendication 6, dans lequel l’environnement matériel sécurisé (EMS) comprend en outre un registre à clés (SK_REG) configuré pour enregistrer chaque clé secrète (SK) générée par le premier dispositif de déchiffrement (DCH1) et pour pouvoir transmettre chaque clé secrète (SK) enregistrée au deuxième dispositif de déchiffrement (DCH2) pour déchiffrer des données binaires chiffrées (E_DAT).
  8. Système sur puce comprenant un circuit intégré selon l’une quelconque des revendications 5 ou 7 et étant configuré pour exécuter des logiciels selon des contextes d’exécution présentant différents niveaux de sécurité et/ou de confidentialité,
    et dans lequel le circuit intégré est configuré pour autoriser une utilisation de la clé secrète (SK) selon ces contextes d’exécution si une protection de la clé secrète (SK) est levée par un logiciel après que la clé secrète (SK) soit enregistrée dans le registre à clés (SK_REG) et si la clé n’est pas exclusive à un seul contexte d’exécution.
  9. Système sur puce selon la revendication 8 dans lequel le circuit intégré est configuré pour effacer une clé secrète (SK) du registre à clés (SK_REG) soit lorsqu’un nouveau contexte d’exécution est détecté lorsque la clé secrète (SK) est protégée soit lorsque la clé secrète (SK) est exclusive à un contexte d’exécution donné et qu’un nouveau contexte d’exécution est détecté.
  10. Procédé de chiffrement d’une clé secrète (SK) dans un environnement matériel sécurisé (EMS) comprenant:
    - une génération d’une clé dérivée unique (HIK) à partir d’une clé matérielle unique (HUK) enregistrée dans ledit environnement matériel sécurisé (EMS) et d’au moins une information (INF) relative à un contexte d’exécution et/ou à un usage de la clé secrète,
    - un chiffrement symétrique de la clé secrète (SK) en utilisant la clé dérivée unique (HIK) générée.
  11. Procédé de déchiffrement dans un environnement matériel sécurisé (EMS) d’une clé secrète chiffrée (E_SK) comprenant:
    - une génération d’une clé dérivée unique (HIK) à partir d’une clé matérielle unique (HUK) enregistrée dans ledit environnement matériel sécurisé (EMS) et d’au moins une information (INF) relative à un contexte d’exécution et/ou à un usage de la clé secrète,
    - un déchiffrement de la clé secrète chiffrée (E_SK) en utilisant la clé dérivée unique (HIK) générée.
  12. Procédé de chiffrement de données binaires (DAT) dans un environnement matériel sécurisé (EMS), le procédé comprenant:
    - un chiffrement symétrique des données binaires (DAT) en utilisant une clé secrète (SK) de façon à obtenir des données binaires chiffrées (E_DAT),
    - un chiffrement symétrique de la clé secrète (SK) selon un procédé de chiffrement selon la revendication 10.
  13. Procédé de déchiffrement dans un environnement matériel sécurisé (EMS) de données binaires chiffrées (E_DAT) à l’aide d’une clé secrète chiffrée (E_SK), le procédé comprenant:
    - un déchiffrement de ladite clé secrète chiffrée (E_SK) selon un procédé de déchiffrement selon la revendication 11 de façon à obtenir une clé secrète (SK) adaptée pour déchiffrer lesdites données binaires chiffrées (E_DAT), puis
    - un déchiffrement des données binaires chiffrées (E_DAT) en utilisant ladite clé secrète (SK).
FR2000994A 2020-01-31 2020-01-31 Circuit intégré configuré pour réaliser des opérations de chiffrement symétrique avec protection de clé secrète Active FR3106909B1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR2000994A FR3106909B1 (fr) 2020-01-31 2020-01-31 Circuit intégré configuré pour réaliser des opérations de chiffrement symétrique avec protection de clé secrète
US17/161,544 US11698993B2 (en) 2020-01-31 2021-01-28 Integrated circuit configured to perform symmetric encryption operations with secret key protection
CN202110128884.9A CN113204800A (zh) 2020-01-31 2021-01-29 配置为利用秘密密钥保护进行对称加密操作的集成电路

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2000994 2020-01-31
FR2000994A FR3106909B1 (fr) 2020-01-31 2020-01-31 Circuit intégré configuré pour réaliser des opérations de chiffrement symétrique avec protection de clé secrète

Publications (2)

Publication Number Publication Date
FR3106909A1 true FR3106909A1 (fr) 2021-08-06
FR3106909B1 FR3106909B1 (fr) 2022-02-18

Family

ID=70738678

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2000994A Active FR3106909B1 (fr) 2020-01-31 2020-01-31 Circuit intégré configuré pour réaliser des opérations de chiffrement symétrique avec protection de clé secrète

Country Status (3)

Country Link
US (1) US11698993B2 (fr)
CN (1) CN113204800A (fr)
FR (1) FR3106909B1 (fr)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011149983A2 (fr) * 2010-05-27 2011-12-01 Cisco Technology, Inc. Procédé et appareil pour l'exécution sécurisée dans les environnements infonuagiques de l'infrastructure as a service
US20140037093A1 (en) * 2012-08-06 2014-02-06 Samsung Electronics Co., Ltd. Method of managing key for secure storage of data and apparatus therefor
WO2015038690A1 (fr) * 2013-09-13 2015-03-19 Microsoft Corporation Infrastructure de gestion de clés
US20170093567A1 (en) * 2015-09-29 2017-03-30 Vinodh Gopal Hardware enforced one-way cryptography

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001287164B2 (en) 2000-08-04 2008-06-26 First Data Corporation Method and system for using electronic communications for an electronic contact
EP1401144B1 (fr) 2002-09-17 2005-01-19 Siemens Aktiengesellschaft Procédé de certification de clé et de validation de signatures
AU2002341532A1 (en) 2002-09-24 2004-04-23 Laboratories For Information Technology A method of generating private keys
KR100985236B1 (ko) 2002-11-25 2010-10-04 파나소닉 주식회사 움직임 보상 방법, 화상 부호화 방법 및 화상 복호화 방법
US20050132201A1 (en) 2003-09-24 2005-06-16 Pitman Andrew J. Server-based digital signature
US7490239B2 (en) 2005-01-07 2009-02-10 First Data Corporation Facilitating digital signature based on ephemeral private key
US7693277B2 (en) 2005-01-07 2010-04-06 First Data Corporation Generating digital signatures using ephemeral cryptographic key
DE602006005220D1 (de) 2006-03-06 2009-04-02 St Microelectronics Res & Dev Schaltungssicherheit
WO2011068996A1 (fr) * 2009-12-04 2011-06-09 Cryptography Research, Inc. Chiffrement et déchiffrement vérifiables résistant aux fuites
US9069634B2 (en) 2012-03-09 2015-06-30 Blackberry Limited Signature representation of data with aliasing across synonyms
US9537657B1 (en) 2014-05-29 2017-01-03 Amazon Technologies, Inc. Multipart authenticated encryption
US9430619B2 (en) * 2014-09-10 2016-08-30 Microsoft Technology Licensing, Llc Media decoding control with hardware-protected digital rights management
US9806887B1 (en) 2014-09-23 2017-10-31 Amazon Technologies, Inc. Authenticating nonces prior to encrypting and decrypting cryptographic keys
US9798677B2 (en) * 2014-10-23 2017-10-24 Microsoft Technology Licensing, Llc Hybrid cryptographic key derivation
US9729319B2 (en) * 2014-12-15 2017-08-08 Nxp Usa, Inc. Key management for on-the-fly hardware decryption within integrated circuits
US9735962B1 (en) * 2015-09-30 2017-08-15 EMC IP Holding Company LLC Three layer key wrapping for securing encryption keys in a data storage system
US20170126414A1 (en) * 2015-10-28 2017-05-04 Texas Instruments Incorporated Database-less authentication with physically unclonable functions
EP3321892A1 (fr) * 2016-11-10 2018-05-16 Gemalto Sa Clé physique de fourniture de données àun dispositif de communication lui permettant d'accéder à une ressource de véhicule
US10474831B1 (en) * 2016-11-28 2019-11-12 Amazon Technologies, Inc. Large network attached storage encryption
EP3720039A1 (fr) * 2019-04-05 2020-10-07 Siemens Aktiengesellschaft Procédé de configuration d'un module de sécurité au moyen d'au moins une clé dérivée
US20210124818A1 (en) * 2019-10-23 2021-04-29 Qualcomm Incorporated Hardware-based throttling of user access

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011149983A2 (fr) * 2010-05-27 2011-12-01 Cisco Technology, Inc. Procédé et appareil pour l'exécution sécurisée dans les environnements infonuagiques de l'infrastructure as a service
US20140037093A1 (en) * 2012-08-06 2014-02-06 Samsung Electronics Co., Ltd. Method of managing key for secure storage of data and apparatus therefor
WO2015038690A1 (fr) * 2013-09-13 2015-03-19 Microsoft Corporation Infrastructure de gestion de clés
US20170093567A1 (en) * 2015-09-29 2017-03-30 Vinodh Gopal Hardware enforced one-way cryptography

Also Published As

Publication number Publication date
FR3106909B1 (fr) 2022-02-18
US11698993B2 (en) 2023-07-11
US20210240863A1 (en) 2021-08-05
CN113204800A (zh) 2021-08-03

Similar Documents

Publication Publication Date Title
EP0914640B1 (fr) Procede de stockage et d'exploitation d'une information sensible dans un module de securite, et module de securite associe
EP3055965B1 (fr) Procede et dispositif d'authentification et d'execution securisee de programmes
EP1766588A2 (fr) Composant pour module de sécurité
EP3264305A1 (fr) Procede de transaction securisee a partir d'un terminal non securise
EP3320471B1 (fr) Systeme et procede d'authentification et de licence ip de modules hardware
EP2659360B1 (fr) Procede de chargement d'un code d'au moins un module logiciel
EP1388067B1 (fr) Composant electronique securise
US10686764B2 (en) Executable coded cipher keys
EP0720098B1 (fr) Dispositif de sécurisation de systèmes d'information organisés autour de microprocesseurs
EP2107808A1 (fr) Module de sécurité (SM) pour unité de traitement de données audio/vidéo
FR2979443A1 (fr) Microcontroleur securise a base de mode
EP2284748B1 (fr) Procédé de contremesure pour protéger des données mémorisées
EP2336931B1 (fr) Procédé de vérification de signature
EP1742407B1 (fr) Protection d'une quantité numérique contenue dans un circuit intégré comportant une interface JTAG
FR3106910A1 (fr) Circuit intégré configuré pour réaliser des opérations de chiffrement symétrique sans transmission de clé secrète
EP1355446A1 (fr) Chiffrement du contenu d'une mémoire externe à un processeur
FR3106909A1 (fr) Circuit intégré configuré pour réaliser des opérations de chiffrement symétrique avec protection de clé secrète
EP3136283B1 (fr) Dispositif et procédé sécurisation de commandes échangées entre un terminal et circuit intégré
EP2153575B1 (fr) Obtention de valeurs dérivées dépendant d'une valeur maîtresse secrète
EP3214565B1 (fr) Procédé de modulation d'accès à une ressource, dispositif et programme correspondant
EP3547602A1 (fr) Procédé de mise en oeuvre d'une fonction cryptographique pour une clé secrète
FR2985337A1 (fr) Procede de calcul cryptographique resilient aux attaques par injection de fautes, produit programme d'ordinateur et composant electronique correspondant.
EP4068681A1 (fr) Procédé et dispositif pour le déchiffrement sécurisé de données chiffrées
FR3112643A1 (fr) Dispositif, méthode et programme pour une communication sécurisée entre boîtes blanches
FR3141584A1 (fr) Elément sécurisé, terminal hôte associé, procédé de génération de certificat dans un élément sécurisé et programme d’ordinateur associé

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20210806

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5