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 brutos do RSA
O token de autenticação bruto do RSA realiza a criptografia e a descriptografia assimétricas das chaves de dados na memória local com chaves de encapsulamento pública e privada fornecidas. Você precisa gerar, armazenar e proteger a chave privada, de preferência em um módulo de segurança de hardware (HSM) ou em um sistema de gerenciamento de chaves. A função de criptografia criptografa a chave de dados com chave pública do RSA. A função de descriptografia descriptografa a chave de dados usando a chave privada. Você pode selecionar entre os vários modos de padding do RSA
Um token de autenticação bruto do RSA que criptografa e descriptografa deve incluir uma chave pública e um par de chaves privadas assimétricas. No entanto, você pode criptografar dados com um token de autenticação bruto do RSA que tenha apenas uma chave pública e descriptografar dados com um token de autenticação bruto do RSA que tenha apenas uma chave privada. É possível incluir qualquer token de autenticação bruto do RSA em um multitoken de autenticação. Se você configurar um token de autenticação bruto do RSA com uma chave pública e privada, certifique-se de que eles façam parte do mesmo par de chaves. Algumas implementações de linguagem do AWS Encryption SDK não construirão um token de autenticação bruto do RSA com chaves de pares diferentes. Outras pessoas confiam em você para verificar se suas chaves são do mesmo par de chaves.
O chaveiro RSA bruto é equivalente e interopera com o JceMasterKey
nota
O token de autenticação bruto do RSA não oferece suporte a chaves assimétricas do KMS. Se você quiser usar chaves RSA KMS assimétricas, versão 4. x do AWS Encryption SDK para .NET e versão 3. x dos AWS KMS chaveiros de AWS Encryption SDK for Java suporte que usam criptografia simétrica (SYMMETRIC_DEFAULT
) ou RSA assimétrica. AWS KMS keys
Se você criptografar dados com um token de autenticação bruto do RSA que inclua a chave pública de uma chave do KMS RSA nem o AWS Encryption SDK nem o AWS KMS poderão descriptografá-los. Você não pode exportar a chave privada de uma chave do AWS KMS assimétrica para um token de autenticação bruto do RSA. A operação Decrypt do AWS KMS não pode descriptografar a mensagem criptografada retornada pelo AWS Encryption SDK.
Ao criar um token de autenticação bruto do RSA no AWS Encryption SDK for C, forneça o conteúdo do arquivo PEM que inclui cada chave como uma string C com terminação nula, não um caminho nem um nome de arquivo. Ao criar um chaveiro RSA bruto JavaScript, esteja ciente da possível incompatibilidade com outras implementações de linguagem.
Namespaces e nomes
Para identificar a chave RSA em um token de autenticação, o token de autenticação bruto do RSA usa um namespace de chave e um nome de chave fornecidos por você. Esses valores não são secretos. Eles aparecem em texto simples no cabeçalho da mensagem criptografada que a operação de criptografia retorna. Recomendamos usar um namespace de chave e um nome de chave que identifique o par de chaves RSA (ou a sua chave privada) no HSM ou no sistema de gerenciamento de chaves.
nota
O namespace da chave e o nome da chave são equivalentes aos campos ID do provedor (ou provedor) e ID da chave no JceMasterKey
e no RawMasterKey
.
O AWS Encryption SDK for C reserva o valor do namespace da chave aws-kms
para as chaves KMS. Não o use em um token de autenticação bruto do AES ou em um token de autenticação bruto do RSA com o AWS Encryption SDK for C.
Se você cria tokens de autenticação diferentes para criptografar e descriptografar determinada mensagem, o namespace e os valores do nome são cruciais. Se o namespace e o nome da chave no token de autenticação de descriptografia não corresponderem exatamente e com distinção entre maiúsculas e minúsculas ao namespace e ao nome da chave no token de autenticação de criptografia, o token de autenticação de descriptografia não será usado, mesmo que as chaves sejam do mesmo par de chaves.
O namespace da chave e o nome da chave do material da chave nos tokens de autenticação de criptografia e descriptografia devem ser os mesmos, independentemente de o token de autenticação conter a chave pública RSA, a chave privada RSA ou ambas as chaves no par de chaves. Por exemplo, imagine que você criptografe dados com um token de autenticação bruto do RSA para uma chave RSA pública com namespace HSM_01
e nome de chave RSA_2048_06
. Para descriptografar esses dados, construa um token de autenticação bruto do RSA com a chave privada (ou par de chaves) e o mesmo namespace e nome de chave.
Modo de preenchimento
Você deve especificar um modo de preenchimento para tokens de autenticação RSA brutos usados para criptografia e descriptografia, ou usar atributos de sua implementação de linguagem que o especifiquem para você.
O AWS Encryption SDK é compatível os modos de preenchimento a seguir, sujeitos às restrições de cada idioma. Recomendamos um modo de preenchimento OAEP
-
OAEP com SHA-1 e MGF1 com preenchimento SHA-1
-
OAEP com SHA-256 e MGF1 com preenchimento SHA-256
-
OAEP com SHA-384 e MGF1 com preenchimento SHA-384
-
OAEP com SHA-512 e MGF1 com preenchimento SHA-512
-
Preenchimento PKCS1 v1.5
Os exemplos a seguir mostram como criar um token de autenticação bruto do RSA com a chave pública e privada de um par de chaves RSA e o OAEP com SHA-256 e MGF1 com modo de preenchimento SHA-256. As variáveis RSAPublicKey
e RSAPrivateKey
representam o material principal fornecido por você.