证明类型和方案

计算是我们日常生活的重要组成部分。 它为从智能手机到关键基础设施的一切提供支持。 越来越严格的监管环境、网络攻击的流行和攻击者日益成熟,使得难以信任我们依赖的计算技术的真实性和完整性。 证明是验证系统软件和硬件组件的技术。 这是建立并确保我们依赖的计算技术可信的关键过程。

在本文中,我们将了解什么是证明、Microsoft目前提供的证明类型,以及如何在Microsoft解决方案中使用这些类型的证明方案。

什么是证明?

在远程校验中,一个对等方(证明者)生产有关自身所提供的证据的可信信息,以使得远程对等方(信赖方)决定是否将该证明者视为可信对等方。 另一个重要方(验证方)执行远程认证程序。 简单来说,证明是证明计算机系统可信的一种方式。

为了了解什么是证明及其实际工作原理,本文将计算中的证明过程与实际示例与护照和背景检查进行比较。

本文中使用的定义和模型概述在 Internet 工程工作队(IETF)远程证明过程(RAT)体系结构文档中。 若要了解详细信息,请参阅 Internet 工程工作队:远程证明过程(RAT)体系结构

护照模型

本部分介绍了两种护照方案。

护照模型 - 移民柜台

  1. 公民想要护照用于前往其他国家/地区旅行。 公民向主办国/地区提交证据要求。

  2. 主办国/地区从个人那里收到政策符合性的证据,并验证提供的证据是否证明个人符合颁发护照的政策:

    • 出生证明有效,未更改。
    • 出生证书的颁发者受信任。
    • 个人不是受限列表的一部分。
  3. 如果主办国/地区决定证据符合其政策,则主办国/地区颁发公民护照。

  4. 公民前往外国,但首先必须将护照出示给外国/地区的边境巡逻人员进行评估。

  5. 外国/地区的边境巡逻人员在信任护照之前检查护照上的一系列规则:

    • 护照是真实的,没有改变。
    • 受信任的国家/地区生产了护照。
    • 护照未过期或吊销。
    • 护照符合签证政策或年龄要求。
  6. 外国/地区的边境巡逻人员批准护照,公民可以进入外国/地区。

显示将护照模型用于移民柜台的远程证明的示意图。

护照模型:计算

  1. 受信任执行环境 (TEE) 也称为验证者,需要从机密管理器(也称为信赖方)检索机密。 若要从机密管理器中检索机密,TEE 必须向机密经理证明它是可信和真实的。 TEE 将其证据提交到验证程序,以证明它是可信和真实的。 证据包括其已执行代码的哈希、其生成环境的哈希以及其制造商生成的证书。

  2. 验证程序是证明服务,评估 TEE 提供的证据是否满足以下受信任要求:

    • 证书有效且未更改。
    • 证书的颁发者受信任。
    • TEE 证据不在限制列表中。
  3. 如果验证程序确定证据符合定义的策略,验证程序将创建证明结果并将其提供给 TEE。

  4. TEE 希望与机密管理器交换机密。 首先,它必须将证明结果提交给机密管理器进行评估。

  5. 机密管理器在信任证明结果之前会检查一系列规则:

    • 证明结果真实,未更改。
    • 受信任的权威机构生成了证明结果。
    • 证明结果未过期或吊销。
    • 证明结果符合配置的管理员策略。
  6. 机密管理器批准证明结果,并与 TEE 交换机密。

显示用于计算的护照模型的远程证明示意图。

背景调查模型

本部分介绍了两种后台检查方案。

背景调查:学校验证

  1. 一个人正在与潜在的雇主进行背景调查,以获得工作。 该人从他们就读的学校向潜在雇主提交他们的教育背景。

  2. 雇主从该人员检索教育背景,并将此信息转发到要验证的相应学校。

  3. 学校评估该人员给出的教育背景是否满足学校记录。

  4. 学校颁发证明结果,验证该人的教育背景是否与其记录相匹配,并将其发送给雇主。

  5. 雇主(也称为信赖方)可能会在信任证明结果之前检查一系列有关证明结果的规则:

    • 证明结果真实,没有改变,来自学校。
    • 受信任的学校提供了认证结果。
  6. 雇主批准证明结果,并雇用该人员。

显示用于教育背景的背景调查模型的远程证明示意图。

背景调查:计算

  1. TEE 也称为验证者,需要从机密管理器(也称为信赖方)检索机密。 若要从机密管理器中检索机密,TEE 必须证明其可信性与真实性。 TEE将其证据发送给秘密经理,以证明它是可信和真实的。 证据包括其已执行代码的哈希、其生成环境的哈希以及其制造商生成的证书。

  2. 机密管理器从 TEE 检索证据,并将其转发给验证程序进行验证。

  3. 验证服务评估 TEE 提供的证据是否满足被信任的既定策略要求。

    • 证书有效且未更改。
    • 证书的颁发者受信任。
    • TEE 证据不在限制列表中。
  4. 验证程序为 TEE 创建证明结果,并将其发送到机密管理器。

  5. 机密管理器在信任证明结果之前会检查一系列规则:

    • 证明结果真实,未更改。
    • 受信任的权威机构生成了证明结果。
    • 证明结果未过期或吊销。
    • 证明结果符合配置的管理员策略。
  6. 机密管理器批准证明结果,并与 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 中运行,提供数据完整性、数据机密性和代码完整性等固有功能。 有关详细信息,请参见: