Brevet FR3106909A1 — publié le 20210806

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 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é comprenant un 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 outre un 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 outre un 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. 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 (SK), 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é. 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é. Circuit intégré selon l’une quelconque des revendications 1 ou 2, dans lequel l’environnement matériel sécurisé (EMS) comprend en outre un 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. 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. 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. 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. 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). 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. 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é. 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. 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. 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. 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).