本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
静态材料提供程序
注意
我们的客户端加密库已重命名为 AWS 数据库加密 SDK。以下主题提供有关适用于 Java 的 DynamoDB 加密客户端版本 1.x—2.x 以及适用于 Python 的 DynamoDB 加密客户端版本 1.x—3.x 的信息。有关更多信息,请参阅适用于 DynamoDB 的 AWS 数据库加密 SDK 版本支持。
静态材料提供程序(静态 CMP)是非常简单的加密材料提供程序(CMP),计划用于测试、概念验证演示和传统兼容性。
要使用静态 CMP 加密表项目,请提供高级加密标准
由于静态 CMP 不会生成任何唯一加密材料,因此将使用同一加密密钥加密且通过同一签名密钥签名您处理的所有表项目。当使用同一密钥加密众多项目中的属性值或使用同一密钥或密钥对为所有项目签名时,将面临超出密钥加密限制的风险。
静态 CMP 是 DynamoDB 加密客户端支持的几个加密材料提供程序(CMP)之一。有关其他 CMP 的信息,请参阅加密材料提供程序。
有关示例代码,请参阅:
使用方法
要创建静态提供程序,请提供加密密钥或密钥对和签名密钥或密钥对。需要提供密钥材料才能加密和解密表项目。
工作原理
静态提供程序将提供的加密和签名密钥传递到项目加密程序,而后项目加密程序直接使用这些密钥为表项目加密和签名。除非为每个项目提供了不同的密钥,否则对所有项目使用相同的密钥。
获取加密材料
本部分详述了静态材料提供程序(静态 CMP)在收到加密材料请求时的输入、输出和处理。
获取解密材料
本部分详述了静态材料提供程序(静态 CMP)在收到解密材料请求时的输入、输出和处理。
尽管它获取加密材料和获取解密材料的方法不同,但此行为是相同的。
输入(来自应用程序)
-
加密密钥 – 这必须是对称密钥(如高级加密标准
(AES)密钥)。 -
签名密钥 – 这可以是对称密钥或非对称密钥对。
输入(来自项目加密程序)
-
DynamoDB 加密上下文(未使用)
输出(至项目加密程序)
-
作为输入传递的加密密钥。
-
作为输入传递的签名密钥。