
董攀 等:基于 TEE 的主动可信 TPM/TCM 设计与实现
1393
communication. This study propos es the design and implementation of TZTCM (TrustZone-based trusted cryptography module), which is
a TPM/TCM scheme based on ARM TrustZone. TZTCM adopts several key mechanisms to overcome the three challenges. Firstly, the
non-uniform core assigned and asynchronous (NUCAA) system architecture is designed to enable the independen t and active operation of
TZTCM. Secondly, the secure storage mechanism based on physical unclonable functions (PUF) is designed to guarantee the privacy of
data in TZTCM. Thirdly, the secure commun ication mechanism based on universally unique i dentifi er (UUID) is designed to prevent the
channel (between host and TZTCM) from malicious activities. Therefore, TZTCM provides a prototype system of the next-generation
TPM/TCM. It is shown that TZTCM has the identical security as a hardware TPM/TCM chip via theoretical analysis. An instance of
TZTCM is implemented on an ARM development board (Hikey-board 620), and the runtime test shows that TZTCM can achieve higher
performance for cipher computing than traditional TPMs. Compared to current TPMs/TCMs, TZTCM has obvious advantages in many
aspects: active safeguard capability, only software/ firmware required, easy update, and low power consumption.
Key words: TPM; TCM; active trust; TrustZone; TEE
在以传统 TPM/TCM( 国外使用 TPM 标准,即 trusted platform module;国内采用 TCM 标准,即 trusted
cryptography module)为根基建立的可信 2. 0 架构
[1]
中,可信基础部件被设计为在硬件隔离的环境中以被动方式
工作,供主机 CPU 进行服务调用.这种方式在安全上不完备,存在以下弊端:难以保证加载时(特别是加电时)的软
件完整性;软件更新困难;无法保证在运行态的完整性.针对这些弊端,我国已在可信计算技术 3.0 阶段提出“主
动防御体系”思想,目标是确保全程可测可控、不被干扰,即防御与运算并行的“主动免疫计算模式”
[1]
.然而受架
构所限,传统的 TPM/TCM 构建技术不具备对主机系统进行主动访问和监控的能力
[2]
,甚至难以掌控系统上电
时的代码可信性.此外,传统 TPM/TCM 还在应用中表现出多方面问题,由于采用廉价芯片导致性能普遍偏低,物
理芯片在成本、功耗、散热等多方面不利因素较多,芯片封装不易升级维护.随着技术的快速发展,这些问题变
得越来越突出,迫切需要在 TPM 的结构实现方面予以创新.TEE 扩展技术提供了这种可能,例如 ARM 处理器中
的 TrustZone 技术以及 Intel 处理器中的 SGX(software guard extensions)技术,都能为计算平台提供一个隔离于
平台其他软硬件资源的运行时环境.其中,TrustZone 技术被设计为在系统加电后优先获得控制权,并拥有比主
机更高的访问和控制权限,因此更为贴合 TPM/TCM 的功能和安全性需求.
如图 1 所示,TPM/TCM 的各项服务机制可以映射到 TrustZone-TEE 的基本结构中.在 TEE 中封装虚拟 TPM/
TCM 核心服务,包括密码算法引擎、命令执行引擎以及安全持久存储等.在主机中利用标准 TEE Client API 封
装由 TDDL 层所调用的 TPM/TCM 命令,对 TSS 的 TDDL 以上层次保持透明.将 TPM/TCM 命令被封装为标准
TEE 通信协议,通过 SMC 服务接口调用核心 TPM/T CM 服务.例如,Raj 等人基于这种思想提出了基于 TrustZone
的固件化 TP
M 实现方法
[3]
,验证了通过 TrustZone 实现低成本 TPM 的可行性.
主动可信能力被定义
[1]
为:“ 可信节点通过底层的监控点,以主动监控的方式监视系统的行为,并通过信息
系统整体的策略管控,构建可信计算体系,为应用创建一个安全保障环境,确保应用按照预期执行,免于黑客、病
毒等威胁”.TrustZone 虽然提供高于主机系统的访问权限,但要实现主动可信能力还面临诸多难点,本文总结为
3 项挑战.
• 一是 TPM/TCM 与主机的“协同结构”问题.TEE 的设计思想是与主机分时共享 CPU,隔离使用存储和
IO.受主从式架构设计的制约,已有的 TrustZone 基础服务大多是以被动执行的思想设计,如要提供主
动运行和资源访问能力,则需要设计较为复杂的主机-TEE 切换机制,并且要避免 TEE 过久“占领”CPU,
防止主机系统的中断等机制受到超时等因素的影响.
• 二是 TrustZone 的安全持久存储机制能力不足,借用 REE(rich execution environment)存储或者单独提
供安全态的存储接口,无法阻止恶意删除或者使用物理手段探测私密数据.
• 三是通信安全问题.传统 TPM 上已经存在多种链路攻击手段,例如 re se t 攻击和中间人攻击
[4]
,可能对
TPM/TCM 安全性产生致命影响.基于 TrustZone 中的虚拟 TPM/TCM 尽管不依赖物理总线通信,但是
信道安全问题依然存在,恶意软件可以通过提权攻击等方式直接干涉主机与 TEE 环境的底层通信,对
虚拟 TPM/TCM 的通信安全构成威胁.
此外,为了提供实时主动的可信服务,TPM/TCM 必须要有足够强大的计算能力,以实现高效的动态度量.
评论