Envelope AEAD maleabilidade
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
- Versões afetadas
- Todas as versões do Tink
- Tipos de chaves afetados
- Todos os tipos de chave AEAD do Envelope
Descrição
A criptografia de envelope usa um provedor de terceiros, como GCP ou AWS, para criptografar uma chave de criptografia de dados (DEK, na sigla em inglês).
É possível modificar algumas partes da DEK criptografada sem detecção
ao usar KmsEnvelopeAead
com AwsKmsAead
ou GcpKmsAead
como o provedor
remoto. Isso se deve à inclusão de metadados não autenticados (por exemplo, números de versão). Modificações nesses dados não autenticados não são detectadas pelo
provedor.
Isso viola a propriedade adaptável de ataque de texto criptografado escolhido
(IND-CCA-2) para essa interface, embora o texto criptografado ainda possa ser descriptografado para
a DEK correta. Ao usar essa interface, não presuma que cada DEK corresponda apenas a uma única DEK criptografada.
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-07-25 UTC.
[null,null,["Última atualização 2025-07-25 UTC."],[[["\u003cp\u003eAll versions of Tink and all Envelope AEAD key types are affected by a security vulnerability.\u003c/p\u003e\n"],["\u003cp\u003eThe vulnerability allows modification of unauthenticated metadata within encrypted data encryption keys when using KmsEnvelopeAead with AwsKmsAead or GcpKmsAead.\u003c/p\u003e\n"],["\u003cp\u003eWhile the ciphertext can still be decrypted, this vulnerability violates the adaptive chosen-ciphertext attack property (IND-CCA-2).\u003c/p\u003e\n"],["\u003cp\u003eDevelopers should be aware that a single data encryption key might correspond to multiple encrypted data encryption keys due to this issue.\u003c/p\u003e\n"]]],["Envelope encryption, using `KmsEnvelopeAead` with `AwsKmsAead` or `GcpKmsAead`, allows undetectable modifications to the encrypted data encryption key (DEK) due to unauthenticated metadata. All Tink versions and Envelope AEAD key types are affected. While decryption still yields the correct DEK, this violates the adaptive chosen-ciphertext attack property (IND-CCA-2). Each DEK may correspond to multiple encrypted DEKs; users shouldn't assume a one-to-one mapping.\n"],null,["# Envelope AEAD Malleability\n\nAffected Versions\n: All Tink versions\n\nAffected Key Types\n: All Envelope AEAD key types\n\nDescription\n-----------\n\n[Envelope encryption](/tink/client-side-encryption) uses a third-party provider\n(such as GCP or AWS) to encrypt a data encryption key (DEK).\n\nIt is possible to modify certain parts of the encrypted DEK without detection\nwhen using `KmsEnvelopeAead` with `AwsKmsAead` or `GcpKmsAead` as the remote\nprovider. This is due to the inclusion of unauthenticated metadata (for instance\nversion numbers). Modifications to this unauthenticated data are not detected by\nthe provider.\n\nNote that this violates the adaptive chosen-ciphertext attack property\n(IND-CCA-2) for this interface, although the ciphertext can still decrypt to\nthe correct DEK. When using this interface don't presume that each DEK only\ncorresponds to a single *encrypted DEK*."]]