阿里云提供的安全增强型实例规格族g6t和c6t,依托TPM/TCM芯片,从底层服务器硬件到GuestOS的启动链均进行度量和验证,实现可信启动。本文介绍该实例的工作原理和可信计算技术的基本概念。

安全增强型实例的工作原理

可信计算是用于实现云租户计算环境底层高等级安全的主要功能之一。通过在硬件平台引入可信平台模块TPM(Trusted Platform Module)/可信密码模块TCM(Trusted Cryptography Module),构建涵盖系统启动和用户指定应用的信任链并实现远程证明机制,为用户提供了针对环境启动阶段和运行阶段的全方位可信保障。在系统和应用中加入可信验证,能够减少由于使用未知或遭到篡改的系统/软件遭到攻击的可能性。

安全增强型实例规格族g6t和c6t使用了可信计算技术,为您的ECS实例提供可验证的完整性,以确保实例未受到启动级或内核级恶意软件或Rootkit的侵害。g6t和c6t基于硬件TPM/TCM可信根,通过使用UEFI安全固件、虚拟可信平台模块(vTPM/vTCM) 、远程证明服务,实现实例启动度量和完整性校验,从而保障实例的安全可信。详细的实例规格参数,请参见安全增强通用型实例规格族g6t安全增强计算型实例规格族c6t。创建安全增强型实例的具体步骤,请参见创建安全增强型实例

安全增强型实例的架构图如下所示。安全增强型实例架构图

硬件TPM/TCM可信根

可信计算的核心是TPM/TCM安全芯片,ISO已经为TPM定义国际标准(ISO 11889),中国已经为TCM定义国密标准(GM/T 0012-2020)。以TPM/TCM芯片作为可信根TCB(Trusted Computing Base)的优势包括:
  • 安全固件使用TPM/TCM内部固件和逻辑电路来处理指令,不依赖于操作系统,不会受到外部软件漏洞的影响。
  • TPM/TCM芯片具有很好的物理防篡改性。
  • 安全增强型实例引入可信安全芯片(TPM/TCM芯片),配套启动固件和系统软件,使得服务器具备信任链构建能力。

虚拟可信平台模块vTPM/vTCM

在服务器硬件可信的基础上,阿里云还为ECS实例提供虚拟可信根(vTPM/vTCM),将信任体系扩展至ECS虚拟化层面,构建了基于硬件和虚拟信任根的完善安全体系。

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

UEFI安全固件

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

启动度量

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

在实例启动期间,可信固件在加载组件时会计算该组件的哈希值,然后将该哈希值与所有已加载组件的哈希值进行连接并重新计算哈希值,逐级传递形成可信链。安全增强型实例-启动度量

完整性校验

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

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

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

返回失败结果时,如果是预期失败(例如,ECS实例进行了系统更新),可以通过对可信事件加白名单操作,更新实例完整性基准,后续完整性度量将会以最新的完整性基准作为对比标准。具体操作,请参见处理可信异常。如果是非预期失败,则应该根据可信事件详情调查失败的原因,避免实例运行在非可信环境。