使用密钥环 - AWS Encryption SDK

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

使用密钥环

.NET 的 AWS Encryption SDK for C、 AWS Encryption SDK for JavaScript、、the 和 f AWS Encryption SDK or .NET 使用密钥环来执行信封加密。 AWS Encryption SDK for Java密钥环生成、加密和解密数据密钥。密钥环确定保护每条消息的唯一数据密钥的来源,以及加密该数据密钥的包装密钥。您在加密时指定一个密钥环,并在解密时指定相同或不同的密钥环。您可以使用开发工具包提供的密钥环,也可以编写您自己的兼容自定义密钥环。

您可以单独使用每个密钥环,也可以将多个密钥环合并为一个多重密钥环。虽然大多数密钥环可以生成、加密和解密数据密钥,但您也可以创建只执行一项特定操作的密钥环,例如只生成数据密钥的密钥环,并将此密钥环与其他密钥环结合使用。

我们建议您使用可保护包装密钥并在安全边界内执行加密操作的密钥环,例如密 AWS KMS 钥环,它使用永不保密 AWS Key Management Service() AWS KMS keys AWS KMS的密钥环。您也可以编写一个密钥环以使用硬件安全模块(HSM)中存储的包装密钥,或使用由其他主密钥服务保护的包装密钥。有关详细信息,请参阅 AWS Encryption SDK Specification 中的 Keyring Interface 主题。

密钥环在 AWS Encryption SDK for Java、 AWS Encryption SDK for Python和 AWS 加密 CLI 中扮演主密钥和主密钥提供者的角色。如果您使用 AWS Encryption SDK 的不同语言实施来加密和解密数据,请务必使用兼容密钥环和主密钥提供程序。有关更多信息,请参阅 密钥环兼容性

本主题说明如何使用的密钥环功能 AWS Encryption SDK 以及如何选择密钥环。有关创建和使用密钥环的示例,请参阅 CJavaScript主题。