AWS Nitro Enclaves

创建额外的隔离,进一步保护 EC2 实例中高度敏感的数据

AWS Nitro Enclaves 使客户能够创建隔离的计算环境来进一步保护和安全地处理高度敏感的数据,例如其 Amazon EC2 实例中的个人身份信息 (PII)、医疗保健、金融和知识产权数据。Nitro Enclaves 使用为 EC2 实例提供 CPU 和内存隔离的相同 Nitro 管理程序技术。

Nitro Enclaves 可帮助客户减少他们用于处理最敏感数据的应用程序的攻击面。安全区域提供了隔离的、增强的且约束性很高的环境来托管安全关键应用程序。Nitro Enclaves 包含针对软件的密码证明,这样可确保仅运行授权代码以及与 AWS Key Management Service 的集成,从而确保只有您的 Enclaves 能访问敏感材料。

除了使用 Amazon EC2 实例和与 Nitro Enclaves 一起使用的任何其他亚马逊云科技服务的使用费用之外,使用 Amazon Nitro Enclaves 不会产生额外费用。

推出 Nitro Enclaves
AWS Nitro Enclaves 概览
使用 AWS 机密计算保护正在使用的敏感数据

优势

额外的隔离和安全

Enclaves 是完全独立的虚拟机,稳定且高度受限。它们没有持久性存储、交互式访问和外部联网。实例与 Enclave 之间通过安全的本地通道完成通信。即使您是实例上的根用户或管理员用户,也不能访问或通过 SSH 连接到 Enclave。

Nitro Enclaves 使用经过验证的 Nitro 管理程序隔离将 Enclave 的 CPU 和内存与父级实例上的用户、应用程序和库进一步隔离。这些功能可帮助您隔离安全区域和软件,并能显著减少攻击面。

密码证明

您可以通过证明来验证安全区域的身份,以及安全区域中是否只有授权代码在运行。证明过程通过 Nitro 管理程序完成。该管理程序将为安全区域生成一个签名的证明文档,以此向另一方或另一个服务证明其身份。证明文档包含安全区域的关键详细信息,例如安全区域的公钥、安全区域镜像和应用程序的哈希,以及其他信息。Nitro Enclaves 包含 AWS KMS 集成,其中 KMS 能够读取和验证从安全区域发来的证明文档。

灵活

Nitro Enclaves 非常灵活。您可以创建具有各种 CPU 内核和内存组合的安全区域。这确保您有足够的资源来运行已在现有 EC2 实例上运行的具有相同内存的应用程序或计算密集型应用程序。Nitro Enclaves 与处理器无关,可在由不同 CPU 供应商提供支持的实例中使用。它们还与任何编程语言或框架兼容。此外,由于 Nitro Enclaves 的很多组件是开源的,客户甚至可以自行检查并验证代码。

工作原理

Nitro Enclaves 的工作原理

图 1:Nitro Enclaves 的工作原理流程

图 2:Nitro Enclaves 使用在 EC2 实例中创建 CPU 和内存隔离的相同 Nitro 管理程序来创建安全区域与 EC2 实例之间的隔离。

图 3:通过对称为父实例的 EC2 实例的 CPU 和内存进行分区来创建安全区域。您可以创建具有各种 CPU 内核和内存组合的安全区域。以上示例将 m5.4xlarge 分割成父实例(14 vCPU、32 GiB 内存)和安全区域(2 vCPU、32 GiB 内存)。父实例与安全区域之间的通信通过称为 vsock 的安全本地连接完成。

使用案例

保护私有密钥

客户现在可以在安全区域中隔离和使用私有密钥(例如 SSL/TLS),同时阻止父实例上的用户、应用程序和库查看这些密钥。通常,这些私有密钥以纯文本形式存储在 EC2 实例中。

AWS Certificate Manager (ACM) for Nitro Enclaves 是一个安全区域应用程序,您可以通过该应用程序将公有和私有 SSL/TLS 证书与在带有 AWS Nitro Enclaves 的 Amazon EC2 实例上运行的 Web 应用程序和服务器结合使用。

令牌化

令牌化是一种将信用卡号或医疗保健数据等高度敏感数据转换为令牌的过程。借助 Nitro Enclaves,客户可以在安全区域内运行执行此转换的应用程序。加密的数据可以发送到安全区域,然后在那里解密并处理。在整个过程中,父 EC2 实例将无法查看或访问敏感数据。

多方计算

使用 Nitro Enclaves 的加密证明功能,客户可以设置多方计算,其中多个参与方可以加入和处理高度敏感的数据,而无需分别向每个参与方披露或共享实际数据。多方计算也可在同一组织内进行,以建立责任分离。

客户案例