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á.
Tokens de autenticação do AWS KMS ECDH
Importante
O AWS KMS ECDH chaveiro só está disponível na versão 4. x do AWS Encryption SDK formulário. NETe a versão 3. x do AWS Encryption SDK for Java. O AWS KMS ECDH chaveiro foi introduzido na versão 1.5.0 da Material Providers Library.
Um AWS KMS ECDH chaveiro usa um acordo de chave assimétrica AWS KMS keyspara derivar uma chave de embalagem simétrica compartilhada entre duas partes. Primeiro, o chaveiro usa o algoritmo de acordo de chave Elliptic Curve Diffie-Hellman (ECDH) para derivar um segredo compartilhado da chave privada no par de chaves do remetente e da chave pública do destinatário. KMS 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 o AWS Encryption SDK usa (KDF_CTR_HMAC_SHA384
) para derivar a chave de empacotamento 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, AWS Encryption SDK usam os primeiros 32 bytes como chave de compromisso e os últimos 32 bytes como chave de empacotamento compartilhada. Na descriptografia, se o chaveiro não puder reproduzir a mesma chave de compromisso e chave de encapsulamento compartilhada armazenadas no texto cifrado do cabeçalho da mensagem, a operação falhará. Por exemplo, se você criptografar dados 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 empacotamento compartilhada e poderá descriptografar os dados. Se a chave pública de Bob não for de um par de KMS chaves, Bob poderá criar um ECDHchaveiro Raw para decifrar os dados.
O AWS KMS ECDH chaveiro criptografa os dados 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 AWS KMS ECDH chaveiro pode ter apenas uma chave de embrulho compartilhada, mas você pode incluir vários AWS KMS ECDH chaveiros, sozinhos ou com outros chaveiros, em um chaveiro múltiplo.
Tópicos
Permissões necessárias para tokens de autenticação do AWS KMS ECDH
AWS Encryption SDK Não requer uma AWS conta e não depende de nenhum AWS serviço. No entanto, para usar um AWS KMS ECDH chaveiro, você precisa de uma AWS conta e das seguintes permissões mínimas AWS KMS keys no seu chaveiro. As permissões variam de acordo com o esquema de contrato de chaves que você usa.
-
Para criptografar e descriptografar dados usando o esquema de contrato de
KmsPrivateKeyToStaticPublicKey
chave, você precisa de kms: GetPublicKey e kms: no par de chaves assimétricas do DeriveSharedSecret remetente. KMS Se você fornecer diretamente a chave pública DER codificada pelo remetente ao instanciar seu chaveiro, precisará apenas da DeriveSharedSecret permissão kms: no par de chaves assimétricas do remetente. KMS -
Para descriptografar dados usando o esquema de contrato de
KmsPublicKeyDiscovery
chaves, você precisa das GetPublicKey permissões kms: DeriveSharedSecret e kms: no par de chaves assimétricas especificado. KMS
Criação de um token de autenticação do AWS KMS ECDH
Para criar um AWS KMS ECDH chaveiro que criptografe e descriptografe dados, você deve usar o esquema do contrato de chaves. KmsPrivateKeyToStaticPublicKey
Para inicializar um AWS KMS ECDH chaveiro com o esquema de contrato de KmsPrivateKeyToStaticPublicKey
chave, forneça os seguintes valores:
-
ID do remetente AWS KMS key
Deve identificar um ECC par de chaves assimétrico NIST de curva elíptica () recomendado com um KMS valor de.
KeyUsage
KEY_AGREEMENT
A chave privada do remetente é usada para derivar o segredo compartilhado. -
(Opcional) Chave pública do remetente
A AWS KMS GetPublicKeyoperação retorna a chave pública de um par de KMS chaves assimétricas no formato codificado necessárioDER.
Para reduzir o número de AWS KMS chamadas que seu chaveiro faz, você pode fornecer diretamente a chave pública do remetente. Se nenhum valor for fornecido para a chave pública do remetente, o chaveiro liga AWS KMS para recuperar a chave pública do remetente.
-
Chave pública do destinatário
A AWS KMS GetPublicKeyoperação retorna a chave pública de um par de KMS chaves assimétricas no formato codificado necessárioDER.
-
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
-
(Opcional) Uma lista de Tokens de Concessão
Se você controlar o acesso à KMS chave em seu AWS KMS ECDH chaveiro com concessões, deverá fornecer todos os tokens de concessão necessários ao inicializar o chaveiro.
Criando um chaveiro AWS KMS ECDH Discovery
Ao descriptografar, é uma prática recomendada especificar as chaves que eles podem usar. AWS Encryption SDK
Para seguir essa prática recomendada, use um AWS KMS ECDH chaveiro com o esquema de contrato de KmsPrivateKeyToStaticPublicKey
chaves. No entanto, você também pode criar um chaveiro de AWS KMS ECDH descoberta, ou seja, um AWS KMS ECDH chaveiro que possa descriptografar qualquer mensagem em que a chave pública do par KMS de chaves especificado corresponda à chave pública do destinatário armazenada no texto cifrado da mensagem.
Importante
Ao descriptografar mensagens usando o esquema de contrato de KmsPublicKeyDiscovery
chave, você aceita todas as chaves públicas, independentemente de quem as possua.
Para inicializar um AWS KMS ECDH chaveiro com o esquema de contrato de KmsPublicKeyDiscovery
chave, forneça os seguintes valores:
-
AWS KMS key ID do destinatário
Deve identificar um ECC par de chaves assimétrico NIST de curva elíptica () recomendado com um KMS valor de.
KeyUsage
KEY_AGREEMENT
-
Especificação da curva
Identifica a especificação da curva elíptica no par KMS de chaves do destinatário.
Valores válidos:
ECC_NIST_P256
,ECC_NIS_P384
,ECC_NIST_P512
-
(Opcional) Uma lista de Tokens de Concessão
Se você controlar o acesso à KMS chave em seu AWS KMS ECDH chaveiro com concessões, deverá fornecer todos os tokens de concessão necessários ao inicializar o chaveiro.