Гибкость конверта AEAD
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
- Затронутые версии
- Все версии Тинк
- Затронутые типы ключей
- Все типы ключей конверта AEAD
Описание
Для шифрования конверта используется сторонний поставщик (например, GCP или AWS) для шифрования ключа шифрования данных (DEK).
Определенные части зашифрованного DEK можно изменить без обнаружения при использовании KmsEnvelopeAead
с AwsKmsAead
или GcpKmsAead
в качестве удаленного поставщика. Это связано с включением неаутентифицированных метаданных (например, номеров версий). Изменения этих неаутентифицированных данных не обнаруживаются поставщиком.
Обратите внимание, что это нарушает свойство атаки с использованием адаптивного выбранного зашифрованного текста (IND-CCA-2) для этого интерфейса, хотя зашифрованный текст все равно можно расшифровать в правильный DEK. При использовании этого интерфейса не думайте, что каждый DEK соответствует только одному зашифрованному DEK .
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-25 UTC.
[null,null,["Последнее обновление: 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*."]]