计算是我们日常生活的重要组成部分。 它为从智能手机到关键基础设施的一切提供支持。 越来越严格的监管环境、网络攻击的流行和攻击者日益成熟,使得难以信任我们依赖的计算技术的真实性和完整性。 证明是验证系统软件和硬件组件的技术。 这是建立并确保我们依赖的计算技术可信的关键过程。
在本文中,我们将了解什么是证明、Microsoft目前提供的证明类型,以及如何在Microsoft解决方案中使用这些类型的证明方案。
什么是证明?
在远程校验中,一个对等方(证明者)生产有关自身所提供的证据的可信信息,以使得远程对等方(信赖方)决定是否将该证明者视为可信对等方。 另一个重要方(验证方)执行远程认证程序。 简单来说,证明是证明计算机系统可信的一种方式。
为了了解什么是证明及其实际工作原理,本文将计算中的证明过程与实际示例与护照和背景检查进行比较。
本文中使用的定义和模型概述在 Internet 工程工作队(IETF)远程证明过程(RAT)体系结构文档中。 若要了解详细信息,请参阅 Internet 工程工作队:远程证明过程(RAT)体系结构。
护照模型
本部分介绍了两种护照方案。
护照模型 - 移民柜台
公民想要护照用于前往其他国家/地区旅行。 公民向主办国/地区提交证据要求。
主办国/地区从个人那里收到政策符合性的证据,并验证提供的证据是否证明个人符合颁发护照的政策:
- 出生证明有效,未更改。
- 出生证书的颁发者受信任。
- 个人不是受限列表的一部分。
如果主办国/地区决定证据符合其政策,则主办国/地区颁发公民护照。
公民前往外国,但首先必须将护照出示给外国/地区的边境巡逻人员进行评估。
外国/地区的边境巡逻人员在信任护照之前检查护照上的一系列规则:
- 护照是真实的,没有改变。
- 受信任的国家/地区生产了护照。
- 护照未过期或吊销。
- 护照符合签证政策或年龄要求。
外国/地区的边境巡逻人员批准护照,公民可以进入外国/地区。
护照模型:计算
受信任执行环境 (TEE) 也称为验证者,需要从机密管理器(也称为信赖方)检索机密。 若要从机密管理器中检索机密,TEE 必须向机密经理证明它是可信和真实的。 TEE 将其证据提交到验证程序,以证明它是可信和真实的。 证据包括其已执行代码的哈希、其生成环境的哈希以及其制造商生成的证书。
验证程序是证明服务,评估 TEE 提供的证据是否满足以下受信任要求:
- 证书有效且未更改。
- 证书的颁发者受信任。
- TEE 证据不在限制列表中。
如果验证程序确定证据符合定义的策略,验证程序将创建证明结果并将其提供给 TEE。
TEE 希望与机密管理器交换机密。 首先,它必须将证明结果提交给机密管理器进行评估。
机密管理器在信任证明结果之前会检查一系列规则:
- 证明结果真实,未更改。
- 受信任的权威机构生成了证明结果。
- 证明结果未过期或吊销。
- 证明结果符合配置的管理员策略。
机密管理器批准证明结果,并与 TEE 交换机密。
背景调查模型
本部分介绍了两种后台检查方案。
背景调查:学校验证
一个人正在与潜在的雇主进行背景调查,以获得工作。 该人从他们就读的学校向潜在雇主提交他们的教育背景。
雇主从该人员检索教育背景,并将此信息转发到要验证的相应学校。
学校评估该人员给出的教育背景是否满足学校记录。
学校颁发证明结果,验证该人的教育背景是否与其记录相匹配,并将其发送给雇主。
雇主(也称为信赖方)可能会在信任证明结果之前检查一系列有关证明结果的规则:
- 证明结果真实,没有改变,来自学校。
- 受信任的学校提供了认证结果。
雇主批准证明结果,并雇用该人员。
背景调查:计算
TEE 也称为验证者,需要从机密管理器(也称为信赖方)检索机密。 若要从机密管理器中检索机密,TEE 必须证明其可信性与真实性。 TEE将其证据发送给秘密经理,以证明它是可信和真实的。 证据包括其已执行代码的哈希、其生成环境的哈希以及其制造商生成的证书。
机密管理器从 TEE 检索证据,并将其转发给验证程序进行验证。
验证服务评估 TEE 提供的证据是否满足被信任的既定策略要求。
- 证书有效且未更改。
- 证书的颁发者受信任。
- TEE 证据不在限制列表中。
验证程序为 TEE 创建证明结果,并将其发送到机密管理器。
机密管理器在信任证明结果之前会检查一系列规则:
- 证明结果真实,未更改。
- 受信任的权威机构生成了证明结果。
- 证明结果未过期或吊销。
- 证明结果符合配置的管理员策略。
机密管理器批准证明结果,并与 TEE 交换机密。
证明类型
证明服务以两种不同的方式使用。 每个方法都有自己的优势。
云提供商
Azure 证明是一种面向客户的服务和框架,用于证明如 Intel Software Guard Extensions (SGX) 飞地、基于虚拟化的安全性 (VBS) 飞地、受信任平台模块、受信任启动和机密虚拟机 (VM) 等 TEE。 使用云提供商的证明服务(如 Azure 证明)的好处包括:
- 它是免费的。
- 源代码可通过 Microsoft Code Center Premium 工具提供给政府客户。
- 它通过在 Intel SGX 加密区域中运行来保护数据。
- 在一个解决方案中证明多个 TEE。
- 它提供稳固的服务级别协议。
自行证明
可以通过使用云和硬件提供商提供的工具来创建自己的证明机制,以此来信任您的计算基础设施。 为Microsoft解决方案构建自己的证明过程可能需要使用受信任的硬件标识管理(THIM)。 此解决方案处理驻留在 Azure 中的所有 TEE 的证书缓存管理。 它提供受信任的计算基本信息,以强制实施证明解决方案的最低基线。 生成和使用自己的证明服务的好处包括:
- 完全控制证明流程,满足法规与合规性要求。
- 自定义与其他计算技术的集成。
Microsoft 证明方案
对于许多Microsoft证明方案,可以在云提供商和生成自己的证明服务之间进行选择。 以下部分介绍了 Azure 产品/服务和可用的证明方案。
具有应用程序 enclave 的 VM
具有应用程序飞地的 VM 由 Intel SGX 启用。 组织可以创建保护数据的 enclave,并在 CPU 处理数据时保持数据加密。 可以使用 Azure 证明和自己的方式对 Azure 中的 Intel SGX 飞地进行证明。 有关详细信息,请参见:
机密虚拟机
机密 VM 由 AMD SEV-SNP 启用。 组织可以在 VM 与基础主机管理代码(包括虚拟机监控程序)之间实现基于硬件的隔离。 可以使用 Azure 证明和自己的方式对 Azure 中的托管机密进行证明。 有关详细信息,请参见:
Azure 容器实例上的机密容器
Azure 容器实例上的机密容器 提供了一组特性和功能,用于进一步保护标准容器工作负载,以实现更高的数据安全性、数据隐私和运行时代码完整性目标。 机密容器在硬件支持的 TEE 中运行,提供数据完整性、数据机密性和代码完整性等固有功能。 有关详细信息,请参见: