Gerenciando a criptografia no Event Streams

Por padrão, os dados da carga útil da mensagem no IBM® Event Streams for IBM Cloud® são criptografados em repouso usando uma chave gerada aleatoriamente. Embora esse modelo de criptografia padrão forneça segurança em repouso, pode ser necessário um nível superior de controle. Para esses casos de uso, o site Event Streams oferece suporte à criptografia gerenciada pelo cliente com os seguintes serviços de gerenciamento de chaves IBM Cloud®:

  • IBM® Key Protect for IBM Cloud® (Bring Your Own Key - BYOK) ajuda você a fornecer chaves criptografadas para aplicativos em IBM Cloud serviços. Ao gerenciar o ciclo de vida das suas chaves, você se beneficia de saber que elas estão protegidas por módulos de segurança de hardware (HSMs) baseados em nuvem com certificação FIPS 140-2 Nível 3, que protegem contra o roubo de informações. Para obter mais informações sobre o uso do Key Protect, veja o tutorial Introdução.
  • O (Keep Your Own Key - KYOK) do Hyper Protect Crypto Services é um HSM dedicado de locatário único controlado por você. O serviço baseia-se no hardware certificado por FIPS 140-2 Nível 4, o mais alto oferecido por qualquer provedor em nuvem no setor. Observe que Hyper Protect Crypto Services está obsoleto.

IBM Cloud® está fazendo a transição dos serviços de gerenciamento de chaves dedicadas de Hyper Protect Crypto Services para IBM® Key Protect Dedicated. Migre as chaves raiz existentes do Hyper Protect Crypto Services (HPCS) para o IBM® Key Protect Dedicated (Single Tenant) antes do fim da vida útil do HPCS (EOL) em 20 de março de 2027 para garantir a disponibilidade contínua do serviço. Após essa data, todas as instâncias restantes serão encerradas. Para garantir a disponibilidade e o suporte contínuos do serviço, você deve migrar todas as chaves raiz HPCS existentes para IBM Key Protect Dedicated (Single Tenant) antes da data de EOL. Saiba como migrar suas chaves raiz.

Esses serviços permitem o uso de uma chave fornecida pelo cliente para controlar a criptografia. Ao desativar ou excluir essa chave, você pode impedir qualquer acesso posterior aos dados armazenados pelo serviço, pois não é mais possível descriptografá-los.

Considere o uso de chaves gerenciadas pelo cliente se você precisar dos seguintes recursos:

  • Criptografia de dados em repouso controlada por sua própria chave.
  • Controle explícito do ciclo de vida dos dados que são armazenados em repouso.

As chaves gerenciadas pelo cliente estão disponíveis no plano Corporativo e apenas em clusters que foram criados após o mês de outubro de 2019.

A exclusão da chave gerenciada pelo cliente é irrecuperável e resulta na perda de todos os dados armazenados em sua instância do Event Streams.

Criptografia em nível de mensagem para conformidade

Alguns padrões normativos, como o PCI DSS, exigem que os dados de mensagens confidenciais (como informações do titular do cartão) sejam criptografados durante todo o seu ciclo de vida - em repouso, em movimento e em uso.

Os sistemas de arquivos usados pelo Event Streams para armazenar dados de mensagens são criptografados, protegendo contra acesso não autorizado. No entanto, à medida que as mensagens passam pela camada de transporte, o site Event Streams precisa descriptografar esses sistemas de arquivos para processar as mensagens. Embora isso signifique que as cargas úteis das mensagens não sejam criptografadas de ponta a ponta, a criptografia em trânsito e em repouso garante uma proteção sólida durante todo o ciclo de vida da mensagem, de acordo com as práticas recomendadas do setor.

Para garantir que os dados confidenciais permaneçam ilegíveis para qualquer pessoa que não seja o destinatário pretendido, os clientes devem criptografar a própria mensagem no nível do aplicativo antes de enviá-la para Event Streams- uma prática conhecida como criptografia no nível da mensagem.

O que não é coberto pela criptografia gerenciada pelo cliente

Se o recurso de criptografia gerenciada pelo cliente for selecionado, saiba que somente os dados de carga útil da mensagem são cobertos por essa criptografia. O site Event Streams criptografa em repouso outros dados relacionados ao uso do serviço. No entanto, embora criptografados, os dados de carga útil que não sejam de mensagem não são criptografados com a criptografia gerenciada pelo cliente. Exemplos são os metadados do cliente, como nomes de tópicos, dados de configuração de tópicos, esquemas armazenados no registro de esquemas e metadados armazenados em relação à configuração da instância do Enterprise.

Portanto, não use informações confidenciais em tais metadados do cliente.

Como a criptografia gerenciada por clientes funciona

Event Streams usa um conceito chamado criptografia de envelope para implementar chaves gerenciadas pelo cliente.

A criptografia de envelope é a prática de criptografar uma chave de criptografia com outra chave de criptografia. A chave usada para criptografar os dados reais é conhecida como chave de criptografia de dados (DEK). A DEK em si nunca é armazenada, mas, em vez disso, é envolvida por uma segunda chave, conhecida como chave de criptografia de chave (KEK), para criar uma DEK envolvida.

Para decriptografar dados, a DEK agrupada deve primeiro ser desagrupada para obter a DEK. Esse processo é possível apenas acessando o KEK, que neste caso é a sua chave raiz que é armazenada em Key Protect ou Hyper Protect Crypto Services.

Você tem o KEK, que cria como uma chave raiz no serviço Hyper Protect Crypto Services ou Key Protect. O serviço Event Streams nunca vê a chave raiz (KEK). Seu armazenamento, gerenciamento e uso para agrupar e desagrupar o DEK é executado inteiramente dentro do serviço de gerenciamento de chave. Se você desativar ou excluir a chave, os dados não poderão mais ser decriptografados.

Ativando uma chave gerenciada pelo cliente para Event Streams

Conclua as etapas a seguir para provisionar sua instância do Event Streams para usar uma chave gerenciada pelo cliente:

  1. Prospeção uma instância de Key Protect ou Hyper Protect Crypto Services.
  2. Crie uma política de autorização para permitir que o serviço Event Streams acesse a instância do serviço de gerenciamento de chave como um Leitor. Para obter mais informações, consulte Uso de autorizações para conceder acesso entre serviços.
  3. Crie ou importe uma chave raiz para sua instância de serviço de gerenciamento de chave.
  4. Recupere o CRN (Cloud Resource Name) da chave usando a opção View CRN na GUI da instância do serviço de gerenciamento de chaves.
  5. Provisionar uma instância do Event Streams. Esse recurso é suportado somente no plano Enterprise.

Ao provisionar por meio do console do IBM Cloud®, selecione uma instância do serviço de gerenciamento de chave e, em seguida, uma chave raiz da instância.

Se estiver provisionando por meio da CLI, use o comando a seguir:

ibmcloud resource service-instance-create EVENT-STREAMS-INSTANCE-NAME messagehub ibm.message.hub.enterprise.3nodes.2tb REGION -p '{"kms_key_crn":"KMS_KEY_CRN"}'

Um cluster existente sem uma chave gerenciada pelo cliente não pode ser atualizado porque essa é uma operação destrutiva que resultará na perda de todas as definições de mensagens e tópicos. Você deve excluir e recriar sua instância com uma chave de criptografia.

Usando uma chave gerenciada por cliente

Depois de provisionar uma instância do Event Streams com uma chave gerenciada pelo cliente, ele opera com os seguintes recursos adicionais.

Impedindo o acesso aos dados

Para impedir temporariamente o acesso, desative sua chave raiz. Como consequência, Event Streams não pode mais acessar os dados porque ele não pode mais acessar a chave.

Para remover o acesso permanentemente, exclua a chave. No entanto, deve-se tomar extrema cautela, porque essa operação é não recuperável. Você perde o acesso a qualquer dado que esteja armazenado em sua instância Event Streams. Não é possível recuperar esses dados.

Em ambos os casos, a instância do Event Streams é encerrada e não mais aceita ou processa conexões. Um evento Activity Tracker é gerado para relatar a ação. Para obter mais informações, consulte Eventos do Activity Tracker.

A autorização deve ser mantida em vigor entre o site Event Streams e a instância do serviço de gerenciamento de chaves o tempo todo, mesmo após a exclusão da instância do serviço. O site Event Streams continuará precisando da política de serviço para serviço em vigor para cancelar o registro da chave. Para determinar quando é seguro remover a política de serviço para serviço, verifique os recursos associados na chave raiz do KMS. Se a chave raiz ainda estiver associada à instância Event Streams, deixe a política em vigor. Embora a remoção dessa autorização impeça o Event Streams de acessar seus dados no futuro, os dados já em uso continuam disponíveis por um período de tempo.

A instância do Event Streams é cobrada até que você a desprovisione usando o console ou a CLI do IBM Cloud. Esses encargos ainda são aplicados mesmo que você tenha optado por evitar o acesso aos seus dados.

Restaurando o acesso aos dados

O acesso pode ser restaurado somente se a chave não foi excluída. Para restaurar o acesso, reative a sua chave raiz. Depois de um curto período de inicialização, sua instância do Event Streams será reiniciada e começará a aceitar conexões novamente. Todos os dados são retidos, sujeitos aos limites de retenção normal configurados em sua instância.

Um evento rastreador de atividade é gerado para relatar a ação. Para obter mais informações, consulte Eventos do Activity Tracker.

Girando a chave

O Key Protect e o Hyper Protect Crypto Services suportam a rotação de chaves raiz, seja sob demanda ou de acordo com um planejamento. Ao girar a chave, Event Streams adota a nova chave reembalando o DEK conforme descrito anteriormente em como funciona a criptografia gerenciada pelo cliente.

Um evento rastreador de atividade é gerado para relatar a ação. Para obter mais informações, consulte Eventos do Activity Tracker.

Desativando a criptografia gerenciada por cliente

Depois que você ativar a criptografia gerenciada pelo cliente, não será possível desativá-la. Em vez disso, deve-se excluir a instância de serviço e criar uma nova instância.

Migrando de Hyper Protect Crypto Services (HPCS) para Key Protect Dedicated (KP-ST)

Durante a migração de Hyper Protect Crypto Services (HPCS) para Key Protect Dedicated (KP-ST), ocorre o seguinte:

  • Cada instância do KMS mantém suas próprias chaves raiz exclusivas. A migração envolve a reassociação do serviço com uma nova chave raiz dedicada IBM® Key Protect.
  • As chaves de criptografia de dados (DEKs) existentes são reembaladas com segurança.
  • Durante a transição, as políticas de acesso Hyper Protect Crypto Services to Service e Key Protect to Service devem permanecer em vigor.
  • Os dados criptografados não são criptografados novamente ou movidos.
  • A disponibilidade do serviço é mantida.

Pré-requisitos

Antes de iniciar a migração, verifique se você tem:

  • Uma instância Key Protect Dedicated (Single Tenant).
  • Uma chave raiz criada nessa instância Key Protect Dedicated (KP-ST).
  • Permissões para gerenciar chaves e políticas de acesso a serviços.

Etapas da migração

  1. Identifique a chave raiz Hyper Protect Crypto Services existente em uso. A chave deve existir em uma instância do Hyper Protect Crypto Services e o serviço já deve ter acesso a ela.
  2. Crie ou selecione uma chave raiz Key Protect Dedicated. A chave deve estar na instância apropriada do Key Protect Dedicated (Single Tenant) e acessível ao serviço.
  3. Crie uma intenção de migração vinculando as duas chaves. A intenção de migração mapeia a chave Hyper Protect Crypto Services atual (origem) para a nova chave Key Protect Dedicated (destino). Para obter mais informações sobre a migração para Key Protect, consulte Migração de Hyper Protect Crypto Services(HPCS)para Key Protect Dedicado.
  4. Aguarde de 1 a 2 dias úteis para que a migração seja executada. O site Event Streams reassociou e reencapsulou com segurança os DEKs, quando aplicável, sem recriptografar ou mover dados.
  5. Verificar a conclusão da migração. O serviço agora deve fazer referência à chave raiz do ST Key Protect. Key Protect A chave raiz do ST deve estar visível e ativa e a associação Hyper Protect Crypto Services deve ser removida.