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:
- En prenumeration till Microsoft Azure. Om du inte har ett konto kan du registrera dig för en kostnadsfri utvärderingsversion.
- Azure CLI version 2.12.0 eller senare. Kör
az --version
för att hitta versionen. Om du behöver installera eller uppgradera kan du läsa informationen i Installera Azure CLI. - En hanterad HSM med HSM-listan som stöds i din prenumeration. Se Snabbstart: Etablera och aktivera en hanterad HSM med Azure CLI för att etablera och aktivera en hanterad HSM.
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. | |
Gå till https://shell.azure.com eller Välj knappen Starta Cloud Shell för att öppna Cloud Shell i webbläsaren. | |
Välj knappen Cloud Shell på menyn längst upp till höger i Azure-portalen. |
Så här använder du Azure Cloud Shell:
Starta Cloud Shell.
Välj knappen Kopiera i ett kodblock (eller kommandoblock) för att kopiera koden eller kommandot.
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.
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
|
|
Anförtro | Tillverkare HSM som en tjänst |
|
nChiffrera nytt BYOK-verktyg och dokumentation |
Fortanix | Tillverkare HSM som en tjänst |
|
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
|
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
|
SvKMS och Azure Key Vault BYOK |
Thales | Tillverkare |
|
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
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.