本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
的加密最佳实践 AWS Encryption SDK
AWS Encryption SDK 是一个开源的客户端加密库。它使用行业标准和最佳实践来支持多种编程语言的实现和互操作性。 AWS Encryption SDK 使用安全、经过身份验证的对称密钥算法对数据进行加密,并提供符合加密最佳实践的默认实现。有关更多信息,请参阅 Supported algorithm suites in the AWS Encryption SDK。
的关键功能之一 AWS Encryption SDK 是支持对正在使用的数据进行加密。通过采用某种 encrypt-then-use方法,您可以在应用程序逻辑处理敏感数据之前对其进行加密。即使应用程序本身受到安全事件的影响,这也有助于保护数据免遭潜在的泄露或篡改。
考虑下面针对该服务的最佳实践:
-
遵守 AWS Encryption SDK最佳实践中的所有建议。
-
选择一个或多个包装密钥,帮助保护您的数据密钥。有关更多信息,请参阅 Select wrapping keys。
-
将
KeyId
参数传递给ReEncrypt操作以帮助防止使用不受信任的 KMS 密钥。有关更多信息,请参阅改进的客户端加密:显式 KeyIds 和密钥承诺(AWS 博客文章)。 -
使用 with 时 AWS Encryption SDK AWS KMS,请使用本地
KeyId
筛选。有关更多信息,请参阅改进的客户端加密:显式 KeyIds 和密钥承诺(AWS 博客文章)。 -
对于需要加密或解密的大量流量的应用程序,或者如果您的账户超出了 AWS KMS 请求配额,则可以使用的数据密钥缓存功能。 AWS Encryption SDK请注意以下数据密钥缓存的最佳实践:
-
配置缓存安全阈值限制每个缓存数据密钥的使用时间长度,以及每个数据密钥保护的数据量。有关配置这些阈值的建议,请参阅 Setting cache security thresholds。
-
将本地缓存限制为最少数量的数据密钥,以便在特定应用程序用例情况下实现性能改进。有关配置本地缓存限制的说明和示例,请参阅使用数据密钥缓存: Step-by-step。
有关更多信息,请参阅 AWS Encryption SDK:如何确定数据密钥缓存是否适合您的应用程序
(AWS 博客文章)。 -