一对 Amazon Lambda 将对称加密和解密一小段应用程序数据。我想使用 Amazon KMS 来促进这一点,因为它解决了秘密存储和密钥轮换等问题。
这些操作旨在加密和解密数据密钥。他们在加密操作中使用 AWS KMS 客户主密钥 (CMK),并且不能接受超过 4 KB(4096 字节)的数据。尽管您可能会使用它们来加密少量数据,例如密码或 RSA 密钥,但它们并非旨在加密应用程序数据。
它继续推荐使用AWS Encryption SDK或Amazon S3 加密客户端来加密应用程序数据。
尽管AWS 加密 SDK 列出的优势显而易见,而且非常有吸引力,尤其是对于不是密码学家的开发人员而言,但为了这个问题,我们假设情况不利于这些替代方案。
如果我的应用程序数据确定永远不会超过 4k,为什么我不应该简单地使用 Amazon KMS 来加密和解密这些数据?
用例
我的团队正在实施一个新的身份验证层,以便在我们公司的服务和 API 中使用。我们正在实施 JWT 规范,但我们打算避开广泛记录的困扰 JWE / JWS 兼容令牌签名的加密不满,我们正在对称加密有效负载。因此,我们保留了非加密令牌验证操作(到期等)的标准库实现的优势,并且我们留下了加密“脚枪”。