Importer des clés protégées par HSM dans un HSM managé (BYOK)

Le module HSM managé Azure Key Vault prend en charge l’importation de clés générées dans votre module de sécurité matérielle (HSM) local. Les clés ne sortent jamais des limites de protection du module HSM. Il est souvent fait référence à ce scénario sous le terme BYOK (Bring Your Own Key, ou apportez votre propre clé). Un HSM managé utilise les adaptateurs HSM Marvell LiquidSecurity (FIPS 140-2 niveau 3 validé) pour protéger vos clés.

Les informations de cet article vous aident à planifier, à générer puis à transférer vos propres clés protégées par HSM à utiliser avec un HSM managé.

Notes

Cette fonctionnalité n’est pas disponible pour Microsoft Azure géré par 21Vianet. Cette méthode d’importation n’est disponible que pour les HSM pris en charge.

Pour plus d’informations et pour obtenir un didacticiel sur la prise en main de HSM géré, consultez Qu’est-ce que HSM managé ?.

Vue d’ensemble

Voici une vue d’ensemble du processus. Les étapes spécifiques à effectuer sont décrites plus loin dans cet article.

  • Dans un HSM managé, générez une clé (Key Exchange Key, KEK). Cette KEK doit être une clé RSA-HSM qui n’a que l’opération de clé import.
  • Téléchargez la clé publique KEK en tant que fichier. pem.
  • Transférez la clé publique KEK sur un ordinateur hors connexion connecté à un HSM local.
  • Sur l’ordinateur hors connexion, utilisez l’outil BYOK fourni par votre fournisseur de HSM pour créer un fichier BYOK.
  • La clé cible est chiffrée à l’aide d’une clé KEK qui reste chiffrée jusqu’à ce qu’elle soit transférée vers le HSM managé. Seule la version chiffrée de la clé quitte le HSM local.
  • Une clé KEK générée à l’intérieur d’un HSM managé n’est pas exportable. Les HSM appliquent la règle en vertu de laquelle aucune version claire d’une clé KEK n’existe en dehors d’un HSM managé.
  • La clé KEK doit se trouver dans le HSM managé dans lequel la clé cible doit être importée.
  • Lors du chargement du fichier BYOK sur le HSM managé, un HSM managé utilise la clé KEK privée pour déchiffrer le matériel de la clé cible et l’importer comme clé HSM. Cette opération se produit entièrement à l’intérieur du HSM. La clé cible reste toujours dans la limite de protection du HSM.

Prérequis

Pour utiliser les commandes Azure CLI de cet article, vous devez disposer des éléments suivants :

Azure Cloud Shell

Azure héberge Azure Cloud Shell, un environnement d’interpréteur de commandes interactif que vous pouvez utiliser dans votre navigateur. Vous pouvez utiliser Bash ou PowerShell avec Cloud Shell pour utiliser les services Azure. Vous pouvez utiliser les commandes préinstallées Cloud Shell pour exécuter le code de cet article sans avoir à installer quoi que ce soit dans votre environnement local.

Pour démarrer Azure Cloud Shell :

Option Exemple/Lien
Sélectionnez Essayer dans le coin supérieur droite d’un bloc de codes ou de commandes. La sélection de Essayer ne copie pas automatiquement le code ni la commande dans Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Accédez à https://shell.azure.com ou sélectionnez le bouton Lancer Cloud Shell pour ouvrir Cloud Shell dans votre navigateur. Button to launch Azure Cloud Shell.
Sélectionnez le bouton Cloud Shell dans la barre de menus en haut à droite du portail Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Pour utiliser Azure Cloud Shell :

  1. Démarrez Cloud Shell.

  2. Sélectionnez le bouton Copier sur un bloc de codes (ou un bloc de commandes) pour copier le code ou la commande.

  3. Collez le code ou la commande dans la session Cloud Shell en sélectionnant Ctrl+Maj+V sur Windows et Linux ou en sélectionnant Cmd+Maj+V sur macOS.

  4. Sélectionnez Entrée pour exécuter le code ou la commande.

Pour vous connecter à Azure à l’aide de l’interface CLI, saisissez :

az login

Pour plus d’informations sur les options de connexion par le biais de l’interface CLI, consultez Se connecter avec Azure CLI

Modules HSM pris en charge

Nom du fournisseur Type de fournisseur Modèles HSM pris en charge Informations complémentaires
Cryptomathic ISV (système de gestion de clés sécurisé) Plusieurs marques et modèles de modules HSM, dont
  • nCipher
  • Thales
  • Utimaco
Pour plus d'informations, consultez le site de Cryptomathic
Entrust Fabricant,
HSM en tant que service
  • Famille nShield de modules HSM
  • nShield en tant que service
Outil et documentation BYOK nCipher (nouvelle méthode)
Fortanix Fabricant,
HSM en tant que service
  • SDKMS (Self-Defending Key Management Service)
  • Equinix SmartKey
Exportation de clés SDKMS vers des fournisseurs cloud pour BYOK - Azure Key Vault
IBM Fabricant IBM 476x, CryptoExpress IBM Enterprise Key Management Foundation
Marvell Fabricant Tous les modules HSM LiquidSecurity avec
  • Version 2.0.4 ou ultérieure du microprogramme
  • Version 3.2 ou ultérieure du microprogramme
Outil et documentation BYOK Marvell
Securosys SA Fabricant, HSM en tant que service Famille HSM de Primus, HSM Clouds de Securosys Outil et documentation BYOK Primus
StorMagic ISV (système de gestion de clés sécurisé) Plusieurs marques et modèles de modules HSM, dont
  • Utimaco
  • Thales
  • nCipher
Pour plus d’informations, consultez le site StorMagic
SvKMS et BYOK d’Azure Key Vault
Thales Fabricant
  • Famille Luna HSM 7 avec microprogramme version 7.3 ou ultérieure
Outil BYOK Luna et documentation
Utimaco Fabricant,
HSM en tant que service
u.trust Anchor, CryptoServer Guide d’intégration et outil BYOK Utimaco

Types de clés pris en charge

Nom de clé Type de clé Taille de clé/Courbe Origine Description
Key Exchange Key (KEK) RSA-HSM 2 048 bits
3 072 bits
4 096 bits
HSM managé Paire de clés RSA-HSM générée dans un HSM managé
Clé cible
RSA-HSM 2 048 bits
3 072 bits
4 096 bits
HSM du fournisseur La clé à transférer au HSM géré
EC-HSM P-256
P-384
P-521
HSM du fournisseur La clé à transférer au HSM géré
Clé symétrique (oct-hsm) 128 bits
192 bits
256 bits
HSM du fournisseur La clé à transférer au HSM géré

Générer et transférer votre clé vers le HSM managé

Pour générer et transférer votre clé vers un HSM managé :

Étape 1 : Générer une clé KEK

Une KEK est une clé RSA générée dans un HSM managé. La KEK est utilisée pour chiffrer la clé que vous souhaitez importer (clé cible).

La clé KEK doit être :

  • une clé RSA-HSM (2 048 bits, 3 072 bits ou 4 096 bits)
  • Générée dans le HSM managé dans lequel vous envisagez d’importer la clé cible
  • Créée avec les opérations de clé autorisées définies sur import

Notes

La clé KEK doit avoir « Importer » comme seule opération de clé autorisée. « Importer » est incompatible avec toutes les autres opérations de clé.

Pour créer une clé KEK avec les opérations de clé définies sur import, utilisez la commande az keyvault key create. Enregistrez l’identificateur de clé (kid) qui est retourné par la commande suivante. (Vous allez utiliser la valeur kid à l’étape 3.)

az keyvault key create --kty RSA-HSM --size 4096 --name KEKforBYOK --ops import --hsm-name ContosoKeyVaultHSM

Étape 2 : Télécharger la clé publique KEK

Utilisez la commande az keyvault key download pour télécharger la clé publique KEK dans un fichier .pem. La clé cible que vous importez est chiffrée à l’aide de la clé publique KEK.

az keyvault key download --name KEKforBYOK --hsm-name ContosoKeyVaultHSM --file KEKforBYOK.publickey.pem

Transférez le fichier KEKforBYOK.publickey.pem sur votre ordiateur hors connexion. Vous en aurez besoin dans la prochaine étape.

Étape 3 : Générer votre clé et la préparer pour le transfert

Reportez-vous à la documentation de votre fournisseur de HSM pour télécharger et installer l’outil BYOK. Suivez les instructions de votre fournisseur de HSM pour générer une clé cible, puis créez un package de transfert de clé (fichier BYOK). L’outil BYOK utilise le kid de l’étape 1 et le fichier KEKforBYOK.publickey.pem que vous avez téléchargé à l’étape 2 pour générer une clé cible chiffrée dans un fichier BYOK.

Transférez le fichier BYOK sur votre ordinateur connecté.

Notes

L’importation de clés RSA 1 024 bits n’est pas prise en charge. L’importation de clés EC-HSM P256K est prise en charge.

Problème connu : L’importation d’une clé cible RSA 4K à partir de modules HSM Luna est uniquement prise en charge avec le microprogramme 7.4.0 ou une version ultérieure.

Étape 4 : Transférer votre clé vers le HSM géré

Pour terminer l’importation de la clé, transférez le package de transfert de clé (fichier BYOK) de votre ordinateur déconnecté vers l’ordinateur connecté à Internet. Pour charger le fichier BYOK dans le HSM managé, utilisez la commande az keyvault key import.

az keyvault key import --hsm-name ContosoKeyVaultHSM --name ContosoFirstHSMkey --byok-file KeyTransferPackage-ContosoFirstHSMkey.byok

Si le chargement réussit, Azure CLI affiche les propriétés de la clé importée.

Étapes suivantes

Vous pouvez maintenant utiliser cette clé protégée HSM dans votre HSM managé. Pour plus d’informations, voir cette comparaison de prix et de fonctionnalité.