Importera HSM-skyddade nycklar till Managed HSM (BYOK)

Azure Key Vault Managed HSM stöder import av nycklar som genereras i din lokala maskinvarusäkerhetsmodul (HSM); nycklarna lämnar aldrig HSM-skyddsgränsen. Det här scenariot kallas ofta BYOK (Bring Your Own Key ). Med Managed HSM används Marvell LiquidSecurity HSM-adaptrar (FIPS 140-2 Level 3-verifierade) till att skydda dina nycklar.

Använd informationen i den här artikeln för att planera, generera och överföra dina egna HSM-skyddade nycklar som ska användas med Managed HSM.

Kommentar

Den här funktionen är inte tillgänglig för Microsoft Azure som drivs av 21Vianet. Den här importmetoden är endast tillgänglig för HSM:er som stöds.

Mer information och en självstudiekurs för att komma igång med managed HSM finns i Vad är Hanterad HSM?.

Översikt

Här är en översikt över processen. Specifika steg att slutföra beskrivs senare i artikeln.

  • I Hanterad HSM genererar du en nyckel (kallas nyckelutbytesnyckel (KEK)). KEK måste vara en RSA-HSM-nyckel som bara har nyckelåtgärden import .
  • Ladda ned den offentliga KEK-nyckeln som en .pem-fil.
  • Överför den offentliga KEK-nyckeln till en offlinedator som är ansluten till en lokal HSM.
  • På offlinedatorn använder du BYOK-verktyget som tillhandahålls av HSM-leverantören för att skapa en BYOK-fil.
  • Målnyckeln krypteras med en KEK som förblir krypterad tills den överförs till den hanterade HSM:en. Endast den krypterade versionen av nyckeln lämnar den lokala HSM:en.
  • En KEK som genereras i en hanterad HSM kan inte exporteras. HSM:er tillämpar regeln att det inte finns någon tydlig version av en KEK utanför en hanterad HSM.
  • KEK måste finnas i samma hanterade HSM där målnyckeln importeras.
  • När BYOK-filen laddas upp till Managed HSM använder en hanterad HSM den privata KEK-nyckeln för att dekryptera målnyckelmaterialet och importera det som en HSM-nyckel. Den här åtgärden sker helt i HSM. Målnyckeln finns alltid kvar i HSM-skyddsgränsen.

Förutsättningar

Om du vill använda Azure CLI-kommandona i den här artikeln måste du ha följande:

Azure Cloud Shell

Azure är värd för Azure Cloud Shell, en interaktiv gränssnittsmiljö som du kan använda via webbläsaren. Du kan använda antingen Bash eller PowerShell med Cloud Shell för att arbeta med Azure-tjänster. Du kan använda förinstallerade Cloud Shell-kommandon för att köra koden i den här artikeln, utan att behöva installera något i din lokala miljö.

Så här startar du Azure Cloud Shell:

Alternativ Exempel/länk
Välj Prova i det övre högra hörnet i en kod eller ett kommandoblock. Om du väljer Prova kopieras inte koden eller kommandot automatiskt till Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Gå till https://shell.azure.com eller Välj knappen Starta Cloud Shell för att öppna Cloud Shell i webbläsaren. Button to launch Azure Cloud Shell.
Välj knappen Cloud Shell på menyn längst upp till höger i Azure-portalen. Screenshot that shows the Cloud Shell button in the Azure portal

Så här använder du Azure Cloud Shell:

  1. Starta Cloud Shell.

  2. Välj knappen Kopiera i ett kodblock (eller kommandoblock) för att kopiera koden eller kommandot.

  3. Klistra in koden eller kommandot i Cloud Shell-sessionen genom att välja Ctrl+Skift+V i Windows och Linux, eller genom att välja Cmd+Shift+V på macOS.

  4. Välj Retur för att köra koden eller kommandot.

Om du vill logga in på Azure med hjälp av CLI skriver du:

az login

Mer information om inloggningsalternativ via CLI finns i logga in med Azure CLI

HSM:er som stöds

Leverantörsnamn Leverantörstyp HSM-modeller som stöds Mer information
Kryptomathic ISV (Enterprise Key Management System) Flera HSM-varumärken och modeller, inklusive
  • nChiffrera
  • Thales
  • Utimaco
Mer information finns på kryptomathisk webbplats
Anförtro Tillverkare
HSM som en tjänst
  • nShield familj av HSM:er
  • nShield som en tjänst
nChiffrera nytt BYOK-verktyg och dokumentation
Fortanix Tillverkare
HSM som en tjänst
  • Självförsvarande nyckelhanteringstjänst (KMS) (SDKMS)
  • Equinix SmartKey
Exportera SDKMS-nycklar till molnleverantörer för BYOK – Azure Key Vault
IBM Tillverkare IBM 476x, CryptoExpress IBM Enterprise Key Management Foundation
Marvell Tillverkare Alla LiquidSecurity HSM:er med
  • Version 2.0.4 eller senare av inbyggd programvara
  • Version 3.2 eller senare av inbyggd programvara
Marvell BYOK-verktyg och dokumentation
Securosys SA Tillverkare, HSM som en tjänst Primus HSM-familj, Securosys Clouds HSM Primus BYOK-verktyg och dokumentation
StorMagic ISV (Enterprise Key Management System) Flera HSM-varumärken och modeller, inklusive
  • Utimaco
  • Thales
  • nChiffrera
Mer information finns på StorMagic-webbplatsen
SvKMS och Azure Key Vault BYOK
Thales Tillverkare
  • Luna HSM 7-familj med inbyggd programvara version 7.3 eller senare
Luna BYOK-verktyg och dokumentation
Utimaco Tillverkare
HSM som en tjänst
u.trust Anchor, CryptoServer Utimaco BYOK-verktyg och integrationsguide

Nyckeltyper som stöds

Nyckelnamn Nyckeltyp Nyckelstorlek/kurva Ursprung beskrivning
Nyckelutbytesnyckel (KEK) RSA-HSM 2 048 bitar
3 072 bitar
4 096 bitar
Managed HSM Ett HSM-stödt RSA-nyckelpar som genererats i Managed HSM
Målnyckel
RSA-HSM 2 048 bitar
3 072 bitar
4 096 bitar
Leverantörs-HSM Nyckeln som ska överföras till Managed HSM
EC-HSM P-256
P-384
P-521
Leverantörs-HSM Nyckeln som ska överföras till Managed HSM
Symmetrisk nyckel (okt-hsm) 128-bitars
192-bitars
256-bitars
Leverantörs-HSM Nyckeln som ska överföras till Managed HSM

Generera och överföra din nyckel till Managed HSM

Så här genererar och överför du din nyckel till en hanterad HSM:

Steg 1: Generera en KEK

En KEK är en RSA-nyckel som genereras i en hanterad HSM. KEK används för att kryptera den nyckel som du vill importera (målnyckeln).

KEK:et måste vara:

  • En RSA-HSM-nyckel (2 048 bitar, 3 072 bitar eller 4 096 bitar)
  • Genereras i samma hanterade HSM där du tänker importera målnyckeln
  • Skapades med tillåtna nyckelåtgärder inställda på import

Kommentar

KEK måste ha "import" som den enda tillåtna nyckelåtgärden. "import" är ömsesidigt uteslutande med alla andra viktiga åtgärder.

Använd kommandot az keyvault key create för att skapa en KEK som har nyckelåtgärder inställda på import. Registrera nyckelidentifieraren (kid) som returneras från följande kommando. (Du använder värdet kid i steg 3.)

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

Steg 2: Ladda ned den offentliga KEK-nyckeln

Använd az keyvault key download för att ladda ned den offentliga KEK-nyckeln till en .pem-fil. Målnyckeln som du importerar krypteras med hjälp av den offentliga KEK-nyckeln.

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

Överför filen KEKforBYOK.publickey.pem till offlinedatorn. Du behöver den här filen i nästa steg.

Steg 3: Generera och förbereda nyckeln för överföring

I HSM-leverantörens dokumentation kan du ladda ned och installera BYOK-verktyget. Följ anvisningarna från HSM-leverantören för att generera en målnyckel och skapa sedan ett nyckelöverföringspaket (en BYOK-fil). BYOK-verktyget använder kid från steg 1 och filen KEKforBYOK.publickey.pem som du laddade ned i steg 2 för att generera en krypterad målnyckel i en BYOK-fil.

Överför BYOK-filen till den anslutna datorn.

Kommentar

Det går inte att importera RSA 1 024-bitarsnycklar. Import av EC-HSM P256K-nycklar stöds.

Känt problem: Import av en RSA 4K-målnyckel från Luna HSMs stöds endast med inbyggd programvara 7.4.0 eller senare.

Steg 4: Överför nyckeln till Hanterad HSM

Slutför nyckelimporten genom att överföra nyckelöverföringspaketet (en BYOK-fil) från den frånkopplade datorn till den Internetanslutna datorn. Använd kommandot az keyvault key import för att ladda upp BYOK-filen till Managed HSM.

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

Om uppladdningen lyckas visar Azure CLI egenskaperna för den importerade nyckeln.

Nästa steg

Nu kan du använda den här HSM-skyddade nyckeln i din hanterade HSM. Mer information finns i den här pris- och funktionsjämförelsen.