Provedor estático de materiais - AWS Criptografia de banco SDK

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Provedor estático de materiais

nota

Nossa biblioteca de criptografia do lado do cliente foi renomeada como SDK de criptografia de banco de dados da AWS. O tópico a seguir fornece informações sobre as versões 1.x—2.x do DynamoDB Encryption Client para Java e versões 1.x—3x do DynamoDB Encryption Client para Python. Para obter mais informações, consulte SDK de criptografia de banco de dados da AWS para obter suporte à versão do DynamoDB.

O provedor estático de materiais (CMP estático) é um provedor de materiais de criptografia (CMP) muito simples destinado a testes, demonstrações de prova de conceito e compatibilidade antiga.

Para usar o CMP estático para criptografar um item de tabela, forneça uma chave de criptografia simétrica do Advanced Encryption Standard (AES) e uma chave de assinatura ou um par de chaves. Você deve fornecer as mesmas chaves para descriptografar o item criptografado. O CMP estático não realiza operações de criptografia. Em vez disso, ele transmite inalteradas as chaves de criptografia que você fornece ao criptografador do item. O criptografador do item criptografa os itens diretamente na chave de criptografia. Depois, ele usa a chave de assinatura diretamente para assiná-los.

Como o CMP estático não gera nenhum material exclusivo de criptografia, todos os itens da tabela que você processa são criptografados com a mesma chave de criptografia e assinados pela mesma chave de assinatura. Ao usar a mesma chave para criptografar os valores de atributos em diversos itens ou a mesma chave ou par de chaves para assinar todos os itens, você corre o risco de ultrapassar os limites de criptografia das chaves.

nota

O Provedor estático assimétrico na biblioteca Java não é um provedor estático. Ele apenas oferece construtores alternativos para o CMP encapsulado. Ele é seguro para fins de produção, mas você deve usar o CMP encapsulado diretamente sempre que possível.

O CMP estático é um dos vários provedores de materiais de criptografia (CMPs) com suporte do DynamoDB Encryption Client. Para obter informações sobre outros CMPs, consulte Provedor de materiais de criptografia.

Para ver um código de exemplo, consulte:

Como usar

Para criar um provedor estático, forneça uma chave de criptografia ou um par de chaves e uma chave de assinatura ou um par de chaves. É necessário fornecer material de chave para criptografar e descriptografar os itens de tabela.

Java
// To encrypt SecretKey cek = ...; // Encryption key SecretKey macKey = ...; // Signing key EncryptionMaterialsProvider provider = new SymmetricStaticProvider(cek, macKey); // To decrypt SecretKey cek = ...; // Encryption key SecretKey macKey = ...; // Verification key EncryptionMaterialsProvider provider = new SymmetricStaticProvider(cek, macKey);
Python
# You can provide encryption materials, decryption materials, or both encrypt_keys = EncryptionMaterials( encryption_key = ..., signing_key = ... ) decrypt_keys = DecryptionMaterials( decryption_key = ..., verification_key = ... ) static_cmp = StaticCryptographicMaterialsProvider( encryption_materials=encrypt_keys decryption_materials=decrypt_keys )

Como funciona

O provedor estático transmite as chaves de criptografia e assinatura que você fornece ao criptografador do item, onde elas são usadas diretamente para criptografar e assinar os itens da tabela. As mesmas chaves são usadas para todos os itens, a menos que você forneça chaves diferentes para cada um deles.

A entrada, o processamento e a saída do Provedor estático de materiais no DynamoDB Encryption Client.

Obter materiais de criptografia

Esta seção descreve em detalhes as entradas, as saídas e o processamento do provedor estático de materiais (CMP estático) quando ele recebe uma solicitação de materiais de criptografia.

Entrada (do aplicativo)

  • Chave de criptografia - deve ser uma chave simétrica, como uma chave do Advanced Encryption Standard (AES).

  • Chave de assinatura - Pode ser uma chave simétrica ou um par de chaves assimétrico.

Entrada (do criptografador de itens)

Saída (para o criptografador de itens)

  • A chave de criptografia transmitida como entrada.

  • A chave de assinatura transmitida como entrada.

  • Descrição real do material: a descrição solicitada do material, se houver, inalterada.

Obter materiais de descriptografia

Esta seção descreve em detalhes as entradas, as saídas e o processamento do provedor estático de materiais (CMP estático) quando ele recebe uma solicitação de materiais de descriptografia.

Embora ela inclua métodos separados para obter materiais de criptografia e de descriptografia, o comportamento é o mesmo.

Entrada (do aplicativo)

  • Chave de criptografia - deve ser uma chave simétrica, como uma chave do Advanced Encryption Standard (AES).

  • Chave de assinatura - Pode ser uma chave simétrica ou um par de chaves assimétrico.

Entrada (do criptografador de itens)

Saída (para o criptografador de itens)

  • A chave de criptografia transmitida como entrada.

  • A chave de assinatura transmitida como entrada.