Provedor estático de materiais - AWS SDK de criptografia de banco de dados da

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 Static Materials Provider (Static CMP) é um provedor de materiais criptográficos (CMP) muito simples, destinado a testes, proof-of-concept demonstrações 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 Static CMP é um dos vários fornecedores de materiais criptográficos (CMPs) compatíveis com o DynamoDB Encryption Client. Para obter informações sobre o outro CMPs, consulteProvedor 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.