Importar chaves protegidas por HSM para o Key Vault (BYOK)

Para garantia extra, ao usar o Azure Key Vault, você pode importar ou gerar uma chave em um HSM (módulo de segurança de hardware); a chave nunca sairá do limite do HSM. Esse cenário é, muitas vezes, conhecido como BYOK (Bring Your Own Key). O Key Vault usa HSMs validados pelo FIPS 140 para proteger suas chaves.

Use as informações deste artigo para ajudar você a planejar, gerar e transferir as próprias chaves protegidas por HSM a serem usadas com o Azure Key Vault.

Observação

Essa funcionalidade não está disponível para o Microsoft Azure operado pela 21Vianet.

Esse método de importação está disponível somente para HSMs compatíveis.

Para obter mais informações e obter um tutorial de introdução ao uso do Key Vault (incluindo como criar um cofre de chaves para chaves protegidas por HSM), confira O que é o Azure Key Vault?.

Visão geral

Eis uma visão geral do processo. As etapas específicas a serem concluídas serão descritas mais adiante neste artigo.

  • No Key Vault, gere uma chave (chamada de KEK [Chave de Troca de Chaves]). A KEK precisa ser uma chave RSA-HSM que tenha apenas a operação de chave import. Somente o Key Vault Premium e o HSM Gerenciado dão suporte a chaves RSA-HSM.
  • Baixe a chave pública KEK como um arquivo .pem.
  • Transfira a chave pública KEK para um computador offline que esteja conectado a um HSM local.
  • No computador offline, use a ferramenta BYOK disponibilizada pelo fornecedor do HSM para criar um arquivo BYOK.
  • A chave de destino é criptografada com uma KEK, que permanece criptografada até ser transferida para o HSM do Key Vault. Apenas a versão criptografada da chave sai do HSM local.
  • Uma KEK gerada em um HSM do Key Vault não é exportável. Os HSMs impõem a regra de que não existe nenhuma versão clara de uma KEK fora de um HSM do Key Vault.
  • A KEK precisa estar no mesmo cofre de chaves em que a chave de destino será importada.
  • Quando o arquivo BYOK é carregado para o Key Vault, um HSM do Key Vault usa a chave privada KEK para descriptografar o material de chave de destino e importá-lo como uma chave HSM. Essa operação ocorre inteiramente em um HSM do Key Vault. A chave de destino sempre permanece no limite de proteção do HSM.

Pré-requisitos

A seguinte tabela lista os pré-requisitos para o uso do BYOK no Azure Key Vault:

Requisito Mais informações
Uma assinatura do Azure Para criar um cofre de chaves no Azure Key Vault, você precisará ter uma assinatura do Azure. Inscreva-se em uma avaliação gratuita.
Um Key Vault Premium ou HSM Gerenciado para importar as chaves protegidas por HSM Para obter mais informações sobre as camadas de serviço e as funcionalidades do Azure Key Vault, confira Preços do Key Vault.
Um HSM da lista de HSMs compatíveis e uma ferramenta BYOK, além das instruções disponibilizadas pelo fornecedor do HSM Você precisará ter permissões em um HSM e conhecimento básico de como usá-lo. Confira HSMs compatíveis.
CLI do Azure versão 2.1.0 ou posterior Confira Instalar a CLI do Azure.

HSMs compatíveis

Nome do fornecedor Tipo de fornecedor Modelos de HSM compatíveis Mais informações
Cryptomathic ISV (Sistema de Gerenciamento de Chaves Empresariais) Várias marcas e modelos de HSM, incluindo
  • nCipher
  • Thales
  • Utimaco
Acesse o site da Cryptomathic para obter detalhes
Entrust Fabricante,
HSM como serviço
  • Família de HSMs nShield
  • nShield como serviço
Nova ferramenta BYOK nCipher e documentação
Fortanix Fabricante,
HSM como serviço
  • SDKMS (Serviço de Gerenciamento de Chaves de Proteção Automática)
  • Equinix SmartKey
Como exportar chaves SDKMS para provedores de nuvem para BYOK – Azure Key Vault
IBM Fabricante IBM 476x, CryptoExpress IBM Enterprise Key Management Foundation
Marvell Fabricante Todos os HSMs LiquidSecurity com
  • Firmware versão 2.0.4 ou posterior
  • Firmware versão 3.2 ou mais recente
Ferramenta BYOK Marvell e documentação
nCipher Fabricante,
HSM como serviço
  • Família de HSMs nShield
  • nShield como serviço
Nova ferramenta BYOK nCipher e documentação
Securosys SA Fabricante,
HSM como serviço
Família HSM Primus, Securosys Clouds HSM Ferramenta e documentação do Primus BYOK
StorMagic ISV (Sistema de Gerenciamento de Chaves Empresariais) Várias marcas e modelos de HSM, incluindo
  • Utimaco
  • Thales
  • nCipher
Confira o site da StorMagic para obter detalhes
SvKMS e Azure Key Vault BYOK
Thales Fabricante
  • Família HSM 7 da Luna com versão de firmware 7.3 ou mais recente
Ferramenta BYOK Luna e documentação
Utimaco Fabricante,
HSM como serviço
Âncora u.trust, CryptoServer Ferramenta BYOK e Guia de integração da Ultimaco

Tipos de chave com suporte

Nome da chave Tipo de chave Tamanho/curva da chave Origem Descrição
KEK (Chave de Troca de Chaves) RSA 2\.048 bits
3\.072 bits
4\.096 bits
HSM do Azure Key Vault Um par de chaves RSA compatível com HSM gerado no Azure Key Vault
Chave de destino
RSA 2\.048 bits
3\.072 bits
4\.096 bits
HSM do fornecedor A chave a ser transferida para o HSM do Azure Key Vault
EC P-256
P-384
P-521
HSM do fornecedor A chave a ser transferida para o HSM do Azure Key Vault

Gerar e transferir sua chave para o HSM do Key Vault Premium ou HSM Gerenciado

Para gerar e transferir sua chave para um Key Vault Premium ou HSM Gerenciado:

Gerar uma KEK

Uma KEK é uma chave RSA que é gerada em um Key Vault Premium ou HSM Gerenciado. A KEK é usada para criptografar a chave que você deseja importar (a chave de destino).

A KEK precisa ser:

  • Uma chave RSA-HSM (2.048 bits, 3.072 bits ou 4.096 bits)
  • Gerada no mesmo cofre de chaves em que você pretende importar a chave de destino
  • Criada com operações de chave permitidas definidas como import

Observação

A KEK precisa ter 'import' como a única operação de chave permitida. 'import' é mutuamente exclusiva em relação a todas as outras operações de chave.

Use o comando az keyvault key create para criar uma KEK que tenha operações de chave definidas como import. Registre o identificador de chave (kid) que é retornado do comando a seguir. (Você usará o valor kid na Etapa 3.)

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

Para o HSM gerenciado:

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

Baixar a chave pública KEK

Use az keyvault key download para baixar a chave pública KEK para um arquivo .pem. A chave de destino que você importa é criptografada com a chave pública KEK.

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

Para o HSM gerenciado:

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

Transfira o arquivo KEKforBYOK.publickey.pem para o computador offline. Você precisará dele na próxima etapa.

Gerar e preparar sua chave para transferência

Veja a documentação do fornecedor do HSM para baixar e instalar a ferramenta BYOK. Siga as instruções do fornecedor do HSM para gerar uma chave de destino e crie um pacote de transferência de chave (um arquivo BYOK). A ferramenta BYOK usará o kid da Etapa 1 e o arquivo KEKforBYOK.publickey.pem que você baixou na Etapa 2 para gerar uma chave de destino criptografada em um arquivo BYOK.

Transfira o arquivo BYOK para o computador conectado.

Observação

Não há suporte para a importação de chaves RSA de 1.024 bits. Há suporte para a importação da chave de curva elíptica com a curva P-256K.

Problema conhecido: Só há suporte para a importação de uma chave de destino RSA de 4 mil bits de HSMs do Luna no firmware 7.4.0 ou mais recente.

Transferir sua chave para o Azure Key Vault

Para concluir a importação da chave, transfira o pacote de transferência de chave (um arquivo BYOK) do computador desconectado para o computador conectado à Internet. Use o comando az keyvault key import para carregar o arquivo BYOK para o HSM do Key Vault.

Para importar uma chave RSA, use o comando a seguir. O parâmetro --kty é opcional e assume como padrão 'RSA-HSM'.

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

Para o HSM gerenciado

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

Para importar uma chave de curva elíptica, você precisa especificar o tipo de chave e o nome da curva.

az keyvault key import --vault-name ContosoKeyVaultHSM --name ContosoFirstHSMkey --kty EC-HSM --curve-name "P-256" --byok-file KeyTransferPackage-ContosoFirstHSMkey.byok

Para o HSM gerenciado

az keyvault key import --hsm-name ContosoKeyVaultHSM --name ContosoFirstHSMkey --byok-file --kty EC-HSM --curve-name "P-256" KeyTransferPackage-ContosoFirstHSMkey.byok

Se o upload for bem-sucedido, a CLI do Azure exibirá as propriedades da chave importada.

Próximas etapas

Agora você pode usar essa chave de HSM protegido no Cofre da Chave. Para obter mais informações, confira esta comparação de preços e recursos.