可信计算能力概述

本文为您介绍支持可信计算能力实例的工作原理以及可信计算技术的基本概念。

什么是可信计算能力

可信计算是用于实现云租户计算环境底层高等级安全的主要功能之一。通过虚拟化层面的可信能力vTPM作为可信根,构建涵盖系统启动和用户指定应用的信任链并实现远程证明机制,为用户提供了针对环境启动阶段和运行阶段的全方位可信保障。在系统和应用中加入可信验证,能够减少由于使用未知或遭到篡改的系统/软件遭到攻击的可能性。

支持可信计算能力的实例规格族

说明

g7t、c7t、r7t支持SGX机密计算,在ECS管理控制台创建这类实例时会自动安装阿里云SGX运行时。更多关于SGX机密计算的信息,请参见构建SGX机密计算环境

工作原理

可信计算技术为您的ECS实例提供可验证的完整性,以确保实例未受到启动级或内核级恶意软件或Rootkit的侵害。可信实例通过使用UEFI安全固件、虚拟可信平台模块(vTPM/vTCM)、远程证明服务,实现实例启动度量和完整性校验,从而保障实例的安全可信。

image

硬件TPM/TCM可信根

可信计算的核心是TPM/TCM安全芯片,ISO已经为TPM定义国际标准(ISO 11889),中国已经为TCM定义国密标准(GM/T 0012-2020)。以TPM/TCM芯片作为可信根的优势包括:

  • 安全固件使用TPM/TCM内部固件和逻辑电路来处理指令,不依赖于操作系统,不会受到外部软件漏洞的影响。

  • TPM/TCM芯片具有很好的物理防篡改性。

  • 可信实例引入可信安全芯片(TPM/TCM芯片),配套启动固件和系统软件,使得服务器具备信任链构建能力。

固件安全

针对服务器中的固件,阿里云实现了完整的固件安全更新能力。在更新固件时会进行固件签名验证,确保只更新经过合法授权的固件,从而阻止通过恶意固件对云基础设施的攻击。

虚拟可信平台模块vTPM/vTCM

vTPM/vTCM是一个虚拟化的可信平台模块,依托硬件TPM/TCM可信根实现从服务器硬件可信到实例可信的传递。vTPM/vTCM与可信计算规范(TPM 2.0/TCM 2.0)完全兼容,可信实例通过启用vTPM/vTCM模块,在ECS实例中构建虚拟可信根,并实现类似主机层的启动信任链和远程证明机制。创建实例时会创建完整性基准数据,该基准数据与后续实例启动的度量值进行比较,以确定该实例是否有任何更改,并将度量结果(即是否可信的状态)展示在云安全中心控制台。

UEFI安全固件

可信实例使用满足统一可扩展固件接口标准(UEFI)的可信引导固件进行系统引导。UEFI固件可以在引导操作系统启动的过程中,实现对系统固件、系统引导加载程序以及系统内核模块的完整性度量,以构建系统启动信任链。

启动度量

度量是逐级的,先启动的组件对后一级启动的组件进行度量,度量值验证成功则标志着可信链从前一级向后一级的成功传递。

在每台实例引导启动期间,对于从底层服务器硬件到GuestOS的启动链中的每个模块,在模块加载时可信组件会计算相关组件的哈希值,并将哈希值存储到可信根中,形成信任链。通过逐级度量并验证启动链中的各个模块,确保自上次引导启动以来系统没有发生过更改。安全增强型实例-启动度量

完整性校验

完整性校验用于帮助您了解实例的可信状态并作出决策。

首次启动实例时,可信组件会将第一组度量信息(哈希值)创建为完整性基准数据,并安全地存储此数据。此后,每一次实例启动时,都将再次执行这些度量及存储操作。可信组件与可信服务端进行远程证明,将度量信息上报至可信服务端。通过对比最新度量数据与基准数据,可以实现实例的完整性度量校验,以此来确定该实例是否运行在期望的可信状态。

完整性校验依赖于启动度量创建的度量信息,完整性校验将实例最近的启动度量信息与该实例的完整性基准进行比较。如果匹配则返回通过结果,代表可信;如果不匹配则返回失败结果,代表不可信。

  • 如果是预期失败(例如,ECS实例进行了系统更新),可以通过对可信事件进行白名单操作,更新实例完整性基准,后续完整性度量将会以最新的完整性基准作为对比标准。具体操作,请参见处理可信异常

  • 如果是非预期失败,则应该根据可信事件详情调查失败的原因,避免实例运行在非可信环境。