什么是 AWS 数据库加密 SDK? - AWS 数据库加密 SDK

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

什么是 AWS 数据库加密 SDK?

我们的客户端加密库已重命名为 AWS 数据库加密 SDK。本开发人员指南仍提供有关 DynamoDB 加密客户端的信息。

AWS 数据库加密 SDK 是一组软件库,可让您在数据库设计中加入客户端加密。 AWS 数据库加密 SDK 提供记录级加密解决方案。您可以指定哪些字段经过加密,哪些字段包含在确保数据真实性的签名中。加密传输中敏感数据和静态敏感数据有助于确保您的明文数据不会提供给任何第三方,包括 AWS。 AWS 数据库加密 SDK 是根据 Apache 2.0 许可证免费提供的。

本开发人员指南提供了 AWS 数据库加密 SDK 的概念性概述,包括其架构简介它如何保护您的数据、它与服务器端加密有何不同之处,以及为应用程序选择关键组件以帮助您入门的指南。

AWS 数据库加密软件开发工具包支持具有属性级加密功能的 Amazon DynamoDB。适用于 DynamoDB 的 Java 客户端加密库中的版本 3.x 是对适用于 Java 的 DynamoDB 加密客户端的重大改写。它包含许多更新,例如新的结构化数据格式、改进的多租户支持、可搜索的加密以及对无缝架构更改的支持。

AWS 数据库加密 SDK 具有以下优点:

专门针对数据库应用程序而设计

您无需成为密码专家即可使用 AWS 数据库加密 SDK。实施包括旨在处理您的现有应用程序的帮助程序方法。

在创建和配置所需组件后,加密客户端在您将记录添加到数据库时以透明方式加密并签署这些记录,并且在检索记录时验证和解密它们。

包括安全加密和签名

D AWS atabase Encryption SDK 包含安全的实现,即使用唯一的数据加密密钥对每条记录中的字段值进行加密,然后对记录进行签名以防止未经授权的更改,例如添加或删除字段或交换加密值。

使用来自任何源的加密材料

AWS 数据库加密 SDK 使用密钥环生成、加密和解密保护您的记录的唯一数据加密密钥。密钥环决定加密该数据密钥的包装密钥

您可以使用来自任何来源的包装密钥,包括加密服务,例如 AWS Key Management Service(AWS KMS)或 AWS CloudHSM。 AWS 数据库加密 SDK 不需要 AWS 账户 任何 AWS 服务。

支持加密材料缓存

AWS KMS 分层密钥环是一种加密材料缓存解决方案,它使用 AWS KMS 保存在Amazon DynamoDB表中的受保护分支密钥,然后在本地缓存用于加密和解密操作的分支密钥材料,从而减少 AWS KMS 调用次数。它允许您在对称加密 KMS 密钥下保护您的加密材料,而无需在 AWS KMS 每次加密或解密记录时都调用。对于需要尽量减少调用的应用程序来说, AWS KMS 分层密钥环是一个不错的选择。 AWS KMS

可搜索的加密

您可以设计无需解密整个数据库即可搜索已加密记录的数据库。根据您的威胁模型和查询要求,您可以使用可搜索的加密对已加密数据库执行精确匹配搜索或更自定义的复杂查询。

支持多租户数据库架构

Dat AWS abase Encryption SDK 使您能够使用不同的加密材料隔离每个租户,从而保护存储在共享架构的数据库中的数据。如果您有多个用户在数据库中执行加密操作,请使用其中一个 AWS KMS 密钥环为每个用户提供一个用于其加密操作的不同密钥。有关更多信息,请参阅 使用多租户数据库

支持无缝架构更新

在配置 AWS 数据库加密 SDK 时,您需要提供加密操作,告诉客户端要加密和签名哪些字段,哪些字段需要签名(但不加密),以及要忽略哪些字段。使用 AWS 数据库加密 SDK 保护记录后,您仍然可以对数据模型进行更改。您可以在单个部署中更新您的加密操作,例如添加或移除已加密的字段。

在开源存储库中开发

AWS 数据库加密 SDK 是在上的开源存储库中开发的 GitHub。您可以使用这些存储库查看代码、阅读和提交问题,并且查找特定于您的实施的信息。

适用于 DynamoDB 的 AWS 数据库加密 SDK
  • 上的 aws-database-encryption-sdk-dynamodb 存储库 GitHub 支持版本 3。 适用于 Java 和.NET 的 DynamoDB AWS 数据库加密 SDK 的 x 及更高版本。

    版本 3。 适用于 DynamoDB 的 AWS 数据库加密 SDK 中的 x 是 Dafny 产品,Dafny 是一种验证感知语言,您可以使用它编写规范、实现规范的代码以及测试规范。结果为在确保功能正确性的框架中实施适用于 DynamoDB 的 AWS 数据库加密 SDK 功能的库。

支持和维护

AWS 数据库加密 SDK 使用与 AWS SDK 和工具相同的维护策略,包括版本控制和生命周期阶段。作为最佳实践,建议您使用适用于您的数据库实现的 AWS 数据库加密 SDK 的最新可用版本,并在新版本发布时进行升级。

有关更多信息,请参阅《AWS 软件开发工具包和工具参考指南》中的 AWS SDK 和工具维护政策

发送反馈

我们欢迎您提供反馈!如果您有任何疑问或意见或者要报告问题,请使用以下资源。

如果您在 AWS 数据库加密 SDK 中发现潜在的安全漏洞,请通知 AWS 安全部门。不要创建公开 GitHub 问题。

要提供对本文档的反馈,请使用任何页面上的反馈链接。