Criptografia de envelope com chaves assimétricas vs KMS
On Fevereiro 18, 2021 by adminNa criptografia de envelope, uma chave secreta simétrica é usada para assinar os dados e, em seguida, outra chave é usada para criptografar o segredo para produzir uma chave secreta criptografada. As mensagens criptografadas são empacotadas com a chave secreta criptografada e enviadas ao cliente / consumidor, que então descriptografa a chave secreta criptografada para obter a chave secreta, que por sua vez é usada para descriptografar a mensagem
Existem 2 maneiras para implementá-lo:
- Criptografia assimétrica: O produtor criptografa a (s) chave (s) secreta (s) com a chave pública do consumidor. O consumidor usa uma chave privada para descriptografar o segredo criptografado
- KMS (como AWS KMS): a chave secreta é criptografada pelo KMS, e o cliente que precisa de acesso à chave secreta deve pedir ao KMS para descriptografá-lo
A vantagem da abordagem KMS é que o gerenciamento de chaves é centralizado e a revogação de permissões de um cliente pode ser feita removendo o cliente do KMS e girando a chave.
Existem boas razões para usar chaves assimétricas em vez de KMS?
Comentários
- Além do fato de que um KMS é um serviço separado para manter, gerenciar e se torna um único ponto de falha em um ambiente distribuído? A sua pergunta é uma " criptografia " pergunta ou uma " logística " pergunta?
Resposta
Se o KMS tiver a chave, eles poderão ler a mensagem. Se o KMS for violado, o invasor poderá ler todas as mensagens associadas a todas as chaves que ele roubou. Chaves assimétricas em que a chave privada é mantida apenas pelo destinatário permitem apenas que o destinatário leia a mensagem, então não há preocupação em espiar os sistemas KMS. Se a chave privada for roubada, é apenas para e-mails para o usuário que a usou , nem todos no sistema.
Resposta
Trata-se de onde você armazena o segredo e quem tem acesso a ele .
Primeiro, um esclarecimento: você está confuso. O KMS não usa criptografia assimétrica (também chamada de criptografia de chave pública). Ele usa criptografia de chave privada para habilitar a criptografia de envelope. São duas coisas diferentes.
Na criptografia assimétrica, o produtor da criptografia nunca precisa acessar o segredo, apenas precisa da chave pública. O produtor usa a chave pública para criptografar, o consumidor usa a chave privada correspondente para descriptografar. Para facilitar a rotação da chave, o produtor às vezes anexa a chave pública que foi usada para criptografar, de forma que o consumidor saiba qual chave privada usar para descriptografar. Não importa quantos dados são criptografados, não há dicas sobre a chave privada. O algoritmo de descriptografia geralmente exige mais computação do que a criptografia de chave privada.
Na criptografia de envelope, o produtor e o consumidor devem ser o mesmo (ou ambos têm acesso à chave mestra). Você usa uma chave mestra para gerar uma chave secundária chamada chave de dados. Em seguida, você criptografa a chave de dados usando a chave mestra e os próprios dados usando a chave de dados e, em seguida, anexa a chave de dados criptografada aos dados criptografados. Ao descriptografar, você usa a chave mestra para descriptografar a chave de dados anexada e, em seguida, usa a chave de dados descriptografada para descriptografar os dados.
A vantagem disso é que você pode armazenar sua chave mestra de maneira econômica. construiu Módulo de Segurança de Hardware e nunca o expôs a nada sem ter que passar todos os dados criptografados para o HSM. Você pode até gerar a chave dentro do HSM e não retirá-la para que não haja nenhuma chance de que ela tenha sido exposta a qualquer coisa externamente. O KMS fornece um HSM baseado em nuvem e é apoiado por HSMs físicos na Amazon.
Se você não se importa em manter sua chave mestra em um HSM, então você pode fazer o mesmo tipo de criptografia usando sua própria chave que você tenta manter segura colocando em um servidor de salto ou algo assim assim. Além disso, desde que você não criptografe mais de 250 milhões de TB, você pode pular o envelope.
Se você está procurando algum código de exemplo, pode pegar para implementar a criptografia AES simples ou encriptação de envelope você pode querer verificar nosso projeto de código aberto. Tem uma implementação para cada um que você pode aproveitar …
Deixe uma resposta