Protegendo seus dados em Hyper Protect Virtual Servers para VPC
O site IBM Cloud Hyper Protect Virtual Servers para VPC está obsoleto. A partir de 28 de fevereiro de 2026, não será mais possível criar novas instâncias. As instâncias existentes terão suporte até 20 de fevereiro de 2027. Qualquer instância que ainda exista nessa data será excluída. Você pode reimplantar suas cargas de trabalho usando o IBM Confidential Computing Container Runtime(anteriormente conhecido como Hyper Protect Virtual Servers ) ou o IBM Confidential Computing Container Runtime para Red Hat Virtualization Solutions(anteriormente conhecido como Hyper Protect Container Runtime para Red Hat Virtualization Solutions). Para obter informações sobre migração de dados, consulte o Guia de migração. Para obter mais informações, consulte o anúncio de descontinuação do serviço.
O volume de dados que você anexa à sua instância do Hyper Protect Virtual Servers para VPC é protegido por uma senha de criptografia LUKS ( Linux Unified Key Setup). A senha é derivada das sementes fornecidas durante a implantação. Você pode adicionar um nível mais alto de proteção e controle de criptografia aos seus dados em repouso usando sua própria chave em Hyper Protect Crypto Services.
Como seu volume de dados é criptografado
Sem sua própria chave, o volume de dados que você conecta à sua instância é criptografado automaticamente com dois valores iniciais que são fornecidos nas seções workload- volumes e
env- volumes do contrato. Os valores iniciais são convertidos internamente para sequências UTF8 e, em seguida, concatenados O hash ( SHA256 ) da sequência concatenada é calculado como um resumo hexadecimal, que é
usado como senha LUKS para criptografar o volume de dados. Para obter mais informações, consulte Sobre o contrato.
Protegendo seus dados sensíveis com sua própria chave
A partir de ibm-hyper-protect-container-runtime-1-0-s390x-11, Hyper Protect Virtual Servers para integração do suporte VPC com o serviço de gerenciamento de chaves (KMS) Hyper Protect Crypto Services. Hyper Protect Crypto Services
gera um valor aleatório como a terceira semente e o envolve com a CRK (chave raiz do cliente). Para obter mais informações sobre CRK, consulte Chaves raiz.
O valor inicial agrupado é armazenado na partição de metadados do volume de dados. A passphrase do LUKS é gerada usando três valores iniciais-o valor inicial na partição de metadados (primeiro desagrupado) e os dois valores
iniciais do contrato.
Conhecimento prévio: A partir da versão da imagem ibm-hyper-protect-container-runtime-1-0-s390x-9 HPCR, para novas instâncias Hyper Protect Virtual Servers para VPC, o volume de dados é particionado em duas partes.
A primeira partição (100 MiB ) é reservada apenas para metadados internos ( não deve ser acessada por uma carga de trabalho). A segunda partição permanece como o volume de dados para a carga de trabalho. Apenas os novos volumes
são particionados
Atualmente, apenas o Hyper Protect Crypto Services é compatível como serviço de gerenciamento de chaves.
A tabela a seguir apresenta um resumo das sementes. O terceiro valor inicial é aquele fornecido por seu serviço de gerenciamento de chaves
| Valor semente | Provedor | De | Obrigatório ou opcional |
|---|---|---|---|
| seed1 | Pessoa do implementador | env- volumes seção do contrato |
Obrigatório |
| seed2 | Persona de carga de trabalho | workload- volumes seção do contrato |
Obrigatório |
| seed3 | Hyper Protect Crypto Services | Hyper Protect Crypto Services gera a terceira semente e a envolve com o CRK somente se kms os detalhes forem fornecidos no contrato. A criptografia do envelope é realizada por meio da chamada a uma API de encapsulamento. O
valor inicial agrupado é armazenado na partição de metadados do volume de dados. |
Opcional |
O daemon de chave será iniciado se o volume for protegido com proteção da instância do KMS É responsável por reagir às mudanças de status do CRK.
Sobre as chaves gerenciadas pelo cliente
Hyper Protect Virtual Servers para VPC, use criptografia de envelopeO processo de criptografar dados com uma chave de criptografia de dados e, em seguida, criptografar a chave com uma chave raiz que pode ser totalmente gerenciada. para implementar chaves gerenciadas pelo cliente. A criptografia de envelope consiste em criptografar (envolver) uma chave de criptografia com outra chave de criptografia. No nosso caso, a chave encapsulada é a terceira semente, e a chave usada para encapsular a semente é a CRK de Hyper Protect Crypto Services.
Você possui o CRK em Hyper Protect Crypto Services. Hyper Protect Virtual Servers para VPC nunca vê o CRK. Seu armazenamento, gerenciamento e uso para encriptar e descriptografar a semente são realizados inteiramente dentro do serviço de gerenciamento de chaves.
Hyper Protect Crypto Services é respaldado por hardware certificado pela norma FIPS 140-2 Nível 4, que é o nível mais alto oferecido por qualquer provedor de nuvem do setor. Para obter mais informações, consulte Introdução ao Hyper Protect Crypto Services.
Habilitando chaves gerenciadas pelo cliente para o Hyper Protect Virtual Servers para VPC
A possibilidade de ativar o recurso depende do histórico da instância do Hyper Protect Virtual Servers para VPC (layout da partição e criptografia LUKS) e das informações do contrato. Consulte a tabela a seguir para possíveis cenários e resultados.
Se você não souber o que os kms detalhes no contrato significam, consulte as instruções em Etapas A tabela mostra o comportamento de um servidor virtual durante a inicialização,
o número de volumes conectados ao servidor virtual e a entrada especificada no arquivo de contrato.
| Número de partições no volume de dados | Partição de metadados | Contrato | Se a partição / segunda partição é criptografada por LUKS | Comportamento de Hyper Protect Virtual Servers para VPC |
|---|---|---|---|---|
| 0 | N/A | Tem detalhes de kms |
Não LUKS criptografado | A instância cria duas partições no volume de dados, chama Hyper Protect Crypto Services para gerar uma terceira semente e envolvê-la com o CRK. O valor inicial agrupado é armazenado na partição de metadados. Em seguida, a instância gera uma senha LUKS com a semente (desembrulhada primeiro) e as duas sementes do contrato para criptografar a segunda partição. |
| 0 | N/A | Tem detalhes de kms |
LUKS criptografado | A instância é encerrada É necessário remover os detalhes kms no contrato. |
| 1 | N/A | Não suportada. A instância é encerrada | ||
| 2 | Nenhum valor inicial criptografado | Tem detalhes kms (uma entrada) |
Não LUKS criptografado | A instância chama Hyper Protect Crypto Services para gerar uma terceira semente e envolvê-la com o CRK. O valor inicial agrupado é armazenado na partição de metadados. Em seguida, a instância gera uma senha LUKS com a semente (desembrulhada primeiro) e as duas sementes do contrato para criptografar a segunda partição. |
| 2 | Nenhum valor inicial criptografado | Tem detalhes kms (uma entrada) |
LUKS criptografado | Um fluxo semelhante ao anterior para recriptografar a segunda partição. A passphrase antiga do LUKS é substituída As duas sementes de env e workload devem ser as mesmas de antes, ou a recriptografia falhará e a instância será desligada. Forneça os valores iniciais corretos e tente novamente |
| 2 | Nenhum valor inicial criptografado | Possui detalhes de kms (diversas entradas) |
Não LUKS criptografado | Fluxo semelhante ao dos cenários anteriores para agrupar o terceiro valor inicial e criptografar a segunda partição Somente a configuração na primeira entrada é usada para agrupar o terceiro valor inicial |
| 2 | Tem um valor inicial criptografado | Tem detalhes kms (uma entrada) |
Não LUKS criptografado | É possível que você tenha usado o volume em provisionamentos anteriores, mas a criptografia não foi bem-sucedida. Ou você forneceu o volume com duas partições e criou manualmente um valor aleatório como a terceira semente, o envolveu e o armazenou na partição de metadados. Em qualquer caso, a instância verifica se o particionamento está correto. Se não, a instância será encerrada.. Se a partição estiver correta, a instância chama Hyper Protect Crypto Services para descompactar a semente criptografada, gera uma senha LUKS com a semente e as duas sementes do contrato para criptografar a segunda partição. |
| 2 | Tem um valor inicial criptografado | Tem detalhes kms (uma entrada) |
LUKS criptografado | A instância chama Hyper Protect Crypto Services para desempacotar a semente criptografada e abre a camada LUKS na partição de dados. |
| 2 | Tem um valor inicial criptografado | Possui detalhes de kms (diversas entradas) |
A instância chama Hyper Protect Crypto Services para desempacotar a semente criptografada com a primeira kms entrada. Se ele falhar, ele usará a próxima entrada. Quando é bem-sucedido, ele usa a primeira configuração para
reagrupar o valor inicial. Se todas as entradas não funcionarem, a instância será encerrada.. |
|
| 2 | Tem um valor inicial criptografado | Nenhum detalhe kms |
A instância é encerrada É necessário fornecer detalhes do kms no contrato.. |
Verifique os registros em IBM Cloud Logs se sua instância for desligada.
Etapas
-
Forneça uma instância do Hyper Protect Crypto Services e crie uma chave raiz. Para obter mais informações, consulte Criando chaves raiz..
Para aumentar a segurança, recomenda-se usar terminais privados virtuais com o Hyper Protect Crypto Services.
-
Ao preparar o contrato, adicione
kmsdetalhes na seçãoenv``volumes- e, em seguida, use o contrato para criar uma Hyper Protect Virtual Servers e para a instância VPC. Consulte o seguinte exemplo:env: | logging: logRouter: hostname: 34be57c7-6ff2-4685-8839-903921e90ab9.ingress.jp-tok.logs.cloud.ibm.com iamApiKey: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" volumes: test: kms: - apiKey: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" crn: "crn:v1:bluemix:public:hs-crypto:us-south:a/xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx:key:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx" type: "public" - apiKey: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" crn: "crn:v1:bluemix:public:hs-crypto:us-south:a/xxxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx:key:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx" type: "private" seed:"workload_phrase1" kmsTimeout: 10 apiKey: "L4SsSE32xxxxxjAgfHCVkdW8xl_CiqMn4Lpc1dzTD" signingKey: "xxxxxxxxx" workload: | volumes: test: mount: "/mnt/data" seed: "workload_phrase2" filesystem: "ext4"
Para evitar o mau uso dos detalhes do KMS por um invasor, é altamente recomendado que o implementador (que fornece a seção env ) criptografe e assine o contrato. Para obter mais informações
sobre criptografia, consulte Criptografia do contrato. Para a assinatura, inclua uma chave de assinatura pública (campo signingKey ) em sua seção env e assine o contrato inteiro incluindo uma seção envWorkloadSignature no contrato. O objetivo da assinatura é garantir que as seções workload``env e sejam sempre utilizadas em conjunto e não sejam adulteradas por
terceiros. Para obter mais informações, consulte Assinatura do contrato..
-
kmsNo campo
kms, sempre coloque a configuração do KMS que você deseja usar como a primeira entrada As entradas a seguir são configurações mais antigas do KMS (usadas para decriptografar o valor inicial agrupado antes da migração para a configuração atual). Um máximo de cinco entradas é suportado Para obter mais informações sobre como alterar as configurações do KMS, consulte Alteração para uma instância ou chave raiz diferente do Serviço de Chaves do Microsoft(Hyper Protect Crypto Services).Se os detalhes
kmsdo contrato não forem válidos, a instância será encerrada imediatamente. -
kmsTimeoutÉ possível especificar
kmsTimeout(entre 0 e 1000 minutos) no contrato Se não especificado, o valor de tempo limite padrão será 10 minutos. Este valor determina por quanto tempo a instância tenta descompactar a semente durante a inicialização ou reinicialização inicial. Quando esse tempo limite é decorrido, as mensagens são registradas e a instância é encerrada -
typeUse esse campo para especificar as instâncias como "privadas" quando estiverem em uma rede privada e "públicas" quando estiverem na rede pública. Esta entrada é usada para dar suporte à mudança para uma instância diferente do Hyper Protect Crypto Services ou CRK.
Se o seu volume for novo, a instância cria duas partições no volume de dados, chama Hyper Protect Crypto Services para gerar uma terceira semente e envolvê-la com o CRK. O valor inicial agrupado é armazenado na partição de metadados. Em seguida, a instância gera uma senha LUKS com a semente (desembrulhada primeiro) e as duas sementes do contrato para criptografar a segunda partição.
Também é possível optar por manualmente criar duas partições em um volume, criar um valor aleatório como o terceiro valor inicial, agrupá-lo e armazená-lo na partição de metadados:
-
Crie duas partições no dispositivo de bloco usando o utilitário do Linux
parted.- A primeira partição é identificada como
metadatae tem comprimento 100 MiB. A partição de metadados é reservada apenas para metadados internos e não deve ser acessada por uma carga de trabalho. Crie um sistema de arquivos ( ext4 ) e crie um arquivo com o nome keyfile. - a segunda partição é rotulada como
datae preenche todo o espaço em disco.
- A primeira partição é identificada como
-
Use a API KMS do Hyper Protect Crypto Services Envolva uma chave para gerar um texto simples aleatório que esteja enraizado em um HSM e envolva-o sem passar o valor.
-
Copie o texto cifrado do objeto de resposta para o arquivo de chave.
-
Prepare o contrato com as informações do KMS e crie uma instância do tipo “ Hyper Protect Virtual Servers ” para VPC com o volume particionado manualmente que contém uma semente encapsulada.
Quando a instância está em execução, o daemon principal entra em contato periodicamente com a instância Hyper Protect Crypto Services. O mesmo tempo limite kmsTimeout aplica-se. Se a instância Hyper Protect Crypto Services não
puder ser acessada, o estado do CRK não for Active ou os parâmetros de acesso (kms detalhes) não corresponderem mais, o daemon acionará uma reinicialização.
Verifique os registros em Log Analysis se sua instância for desligada.
Como trabalhar com chaves gerenciadas pelo cliente para o serviço “ Hyper Protect Virtual Servers ” para VPC
Girando a chave raiz
Se o CRK for girado manualmente ou automaticamente com base em uma política de rotação de chaves, o daemon de chaves detectará a rotação de chaves e reagrupará o valor inicial
Mudança para uma instância diferente do Hyper Protect Crypto Services ou chave raiz
Se você deseja usar uma instância diferente do Hyper Protect Crypto Services ou um ID de chave raiz diferente, coloque a nova configuração do KMS como a primeira entrada no contrato e recrie a instância do Hyper Protect Virtual Servers. Mantenha a configuração KMS antiga (que está sendo usada atualmente) no contrato. Durante a instanciação, o Hyper Protect Virtual Servers para VPC desempacota a semente criptografada com a configuração antiga e usa a nova configuração para reempacotar a semente. Um máximo de cinco entradas é suportado no contrato
Depois que a mudança for concluída, as entradas antigas poderão ser removidas da próxima interação
Desativando a chave raiz
Se desativar a chave raiz, o estado da chave se tornará Suspenso. O daemon principal do Hyper Protect Virtual Servers para VPC verifica periodicamente
o estado do CRK. Se o estado não estiver ativo, o servidor virtual será reiniciado. Durante a reinicialização, o Key Daemon continua verificando o estado por meio de sondagem e, quando o tempo necessário excede kmsTimeout,
o servidor virtual é desligado. É necessário ativar a chave raiz para trazer a chave de volta para Active.
Certifique-se de que a sua CRK não esteja expirada Caso contrário, seu estado passa a ser Desativado, e o servidor virtual é reiniciado e, eventualmente, desligado. Para obter mais informações sobre as chaves de estado, consulte “Monitoramento do ciclo de vida das chaves de criptografia ”.