Enveloppe AEAD Malleability
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
- Versions concernées
- Toutes les versions de Tink
- Types de clés concernés
- Tous les types de clés AEAD d'enveloppe
Description
Le chiffrement encapsulé utilise un fournisseur tiers (tel que GCP ou AWS) pour chiffrer une clé de chiffrement de données (DEK).
Il est possible de modifier certaines parties de la DEK chiffrée sans être détectée lorsque vous utilisez KmsEnvelopeAead
avec AwsKmsAead
ou GcpKmsAead
comme fournisseur distant. Cela est dû à l'inclusion de métadonnées non authentifiées (par exemple, les numéros de version). Les modifications apportées à ces données non authentifiées ne sont pas détectées par le fournisseur.
Notez que cela enfreint la propriété adaptative d'attaque par texte chiffré choisi (IND-CCA-2) pour cette interface, bien que le texte chiffré puisse toujours être déchiffré avec la DEK appropriée. Lorsque vous utilisez cette interface, ne partez pas du principe que chaque DEK ne correspond qu'à une seule DEK chiffrée.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/25 (UTC).
[null,null,["Dernière mise à jour le 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*."]]