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á.
ECDHChaveiros Raw
Nossa biblioteca de criptografia do lado do cliente foi renomeada para Database Encryption. AWS SDK Este guia do desenvolvedor ainda fornece informações sobre o DynamoDB Encryption Client. |
Importante
O ECDH chaveiro Raw só está disponível na versão 1.5.0 da Material Providers Library.
O ECDH chaveiro Raw usa os pares de chaves públicas-privadas de curva elíptica que você fornece para derivar uma chave de empacotamento compartilhada entre duas partes. Primeiro, o chaveiro obtém um segredo compartilhado usando a chave privada do remetente, a chave pública do destinatário e o algoritmo de acordo de chave Elliptic Curve Diffie-Hellman (). ECDH Em seguida, o chaveiro usa o segredo compartilhado para derivar a chave de empacotamento compartilhada que protege suas chaves de criptografia de dados. A função de derivação de chave que a criptografia AWS de banco de dados SDK usa (KDF_CTR_HMAC_SHA384
) para derivar a chave de encapsulamento compartilhada está em conformidade com NISTas recomendações
A função de derivação de chave retorna 64 bytes de material de chaveamento. Para garantir que ambas as partes usem o material de codificação correto, a criptografia AWS de banco de dados SDK usa os primeiros 32 bytes como chave de compromisso e os últimos 32 bytes como chave de encapsulamento compartilhada. Na descriptografia, se o chaveiro não puder reproduzir a mesma chave de compromisso e chave de empacotamento compartilhada armazenadas no campo de descrição do material do registro criptografado, a operação falhará. Por exemplo, se você criptografar um registro com um chaveiro configurado com a chave privada de Alice e a chave pública de Bob, um chaveiro configurado com a chave privada de Bob e a chave pública de Alice reproduzirá a mesma chave de compromisso e chave de encapsulamento compartilhada e poderá descriptografar o registro. Se a chave pública de Bob for de um AWS KMS key par, Bob poderá criar um AWS KMS ECDHchaveiro para decifrar o registro.
O ECDH chaveiro Raw criptografa registros com uma chave simétrica usando -. AES GCM A chave de dados é então criptografada em envelope com a chave de empacotamento compartilhada derivada usando AES -. GCM Cada ECDH chaveiro Raw pode ter apenas uma chave de embrulho compartilhada, mas você pode incluir vários ECDH chaveiros Raw, sozinhos ou com outros chaveiros, em um chaveiro múltiplo.
Você é responsável por gerar, armazenar e proteger suas chaves privadas, preferencialmente em um módulo de segurança de hardware (HSM) ou sistema de gerenciamento de chaves. Os pares de chaves do remetente e do destinatário devem estar na mesma curva elíptica. A criptografia AWS de banco de dados SDK suporta as seguintes especificações de curva elíptica:
ECC_NIST_P256
ECC_NIST_P384
ECC_NIST_P512
Criando um ECDH chaveiro Raw
O ECDH chaveiro Raw suporta três esquemas de contrato principais: RawPrivateKeyToStaticPublicKey
EphemeralPrivateKeyToStaticPublicKey
, e. PublicKeyDiscovery
O esquema de contrato de chave selecionado determina quais operações criptográficas você pode realizar e como os materiais de chaveamento são montados.
RawPrivateKeyToStaticPublicKey
Use o esquema de contrato de RawPrivateKeyToStaticPublicKey
chave para configurar estaticamente a chave privada do remetente e a chave pública do destinatário no chaveiro. Esse esquema de contrato de chave pode criptografar e descriptografar registros.
Para inicializar um ECDH chaveiro Raw com o esquema de contrato de RawPrivateKeyToStaticPublicKey
chave, forneça os seguintes valores:
-
Chave privada do remetente
-
Chave pública do destinatário
Você pode especificar a chave pública de um par de chaves de acordo KMS de chave assimétrico ou a chave pública de um par de chaves gerado fora do. AWS
-
Especificação da curva
Identifica a especificação da curva elíptica nos pares de chaves especificados. Os pares de chaves do remetente e do destinatário devem ter a mesma especificação de curva.
Valores válidos:
ECC_NIST_P256
,ECC_NIS_P384
,ECC_NIST_P512
EphemeralPrivateKeyToStaticPublicKey
Os chaveiros configurados com o esquema de contrato de EphemeralPrivateKeyToStaticPublicKey
chaves criam um novo par de chaves localmente e derivam uma chave de empacotamento compartilhada exclusiva para cada chamada criptografada.
Esse esquema de contrato de chave só pode criptografar registros. Para descriptografar registros criptografados com o esquema de contrato de EphemeralPrivateKeyToStaticPublicKey
chave, você deve usar um esquema de contrato de chave de descoberta configurado com a mesma chave pública do destinatário. Para descriptografar, você pode usar um ECDH chaveiro bruto com o algoritmo de acordo de PublicKeyDiscoverychave ou, se a chave pública do destinatário for de um KMS par de chaves de acordo de chave assimétrico, você pode usar AWS KMS ECDH um chaveiro com o esquema de contrato de chave. KmsPublicKeyDiscovery
Para inicializar um ECDH chaveiro Raw com o esquema de contrato de EphemeralPrivateKeyToStaticPublicKey
chave, forneça os seguintes valores:
-
Chave pública do destinatário
Você pode especificar a chave pública de um par de chaves de acordo KMS de chave assimétrico ou a chave pública de um par de chaves gerado fora do. AWS
-
Especificação da curva
Identifica a especificação da curva elíptica na chave pública especificada.
Ao criptografar, o chaveiro cria um novo par de chaves na curva especificada e usa a nova chave privada e a chave pública especificada para derivar uma chave de empacotamento compartilhada.
Valores válidos:
ECC_NIST_P256
,ECC_NIS_P384
,ECC_NIST_P512
PublicKeyDiscovery
Ao descriptografar, é uma prática recomendada especificar as chaves de encapsulamento que a criptografia de AWS banco de dados pode usar. SDK Para seguir essa prática recomendada, use um ECDH chaveiro que especifique a chave privada do remetente e a chave pública do destinatário. No entanto, você também pode criar um chaveiro Raw ECDH Discovery, ou seja, um ECDH chaveiro Raw que pode descriptografar qualquer registro em que a chave pública da chave especificada corresponda à chave pública do destinatário armazenada no campo de descrição do material do registro criptografado. Esse esquema de contrato de chave só pode descriptografar registros.
Importante
Ao descriptografar registros usando o esquema de contrato de PublicKeyDiscovery
chave, você aceita todas as chaves públicas, independentemente de quem as possua.
Para inicializar um ECDH chaveiro Raw com o esquema de contrato de PublicKeyDiscovery
chave, forneça os seguintes valores:
-
Chave privada estática do destinatário
-
Especificação da curva
Identifica a especificação da curva elíptica na chave privada especificada. Os pares de chaves do remetente e do destinatário devem ter a mesma especificação de curva.
Valores válidos:
ECC_NIST_P256
,ECC_NIS_P384
,ECC_NIST_P512