AWS KMS 加密 - 数据大小限制
Posted
技术标签:
【中文标题】AWS KMS 加密 - 数据大小限制【英文标题】:AWS KMS Encryption - Limits of Data Size 【发布时间】:2019-02-17 06:41:52 【问题描述】:我正在尝试使用 AWS KMS 加密 SDK 加密大型 XML 负载。我遇到了这个link,它指出可以加密的数据字节数有限制
您最多可以加密 4 KB(4096 字节)的任意数据,例如 作为 RSA 密钥、数据库密码或其他敏感信息。
KMS 不支持对超过 4 KB 的数据进行加密吗?是否有解决方法来处理大小超过 4 KB 的数据?
【问题讨论】:
我不熟悉 API,但听起来它基本上是用于加密密钥或类似密钥的实体,如密码等。只有几行它说“另外,你不需要使用此操作来加密应用程序中的数据。您可以使用 GenerateDataKey 操作返回的明文和加密数据密钥" 感谢@JamesKPolk。我已经创建了密钥并随身携带了密钥。我不能用来加密大型 xml 有效负载吗? 您将使用 KMS 来管理(获取)您的加密密钥。然后,您编写自己的使用密钥的加密例程。 AES 加密示例无处不在。 AWS 也有加密 SDK:docs.aws.amazon.com/encryption-sdk/latest/developer-guide/… 感谢@JohnHanley 如果我使用 AWS 加密 SDK,我会受到 4KB 的限制,还是可以加密任何大小的数据? 任何尺寸。注意:加密很容易出错(例如变得更容易破解)。花一些时间了解如何正确进行加密或使用已发布的库为您完成。 【参考方案1】:您正在使用 CMK 加密/解密您的数据,这不是您应该使用它的目的。 CMK 仅限于加密最多 4k 的数据,因为它旨在创建和加密/解密数据密钥。创建此数据密钥后,您可以使用它来加密您的数据,而无需使用 AWS KMS。您可以将 OpenSSL 与数据密钥一起使用,并且此过程不依赖于 KMS。请记住,您必须非常小心地处理数据密钥,最佳做法是,一旦您使用它来加密数据,您必须使用 KMS 加密该数据密钥,然后将该加密密钥(作为元数据)与加密数据一起存储。解密数据的过程将从您使用 KMS 解密数据密钥开始,然后使用 OpenSSL 例如使用解密的数据密钥作为解密数据的密钥(XML Payload)。
【讨论】:
有任何参考或示例实现这一点吗?这就是我研究了很久的东西!以上是关于AWS KMS 加密 - 数据大小限制的主要内容,如果未能解决你的问题,请参考以下文章