项目名称: 基于PTM的可信虚拟平台

产品说明

信息技术正迎来它飞速发展的黄金时期。伴随着信息技术的蓬勃发展,人们的日常生活也变得与它息息相关。但是另一方面,危害信息安全的事件层出不穷。近年来,在网络技术的推动下,计算机的应用越来越普及而安全问题变得日益突出,网络安全威胁几乎涉及到每一个普通大众。普通用户的个人电脑往往成为黑客攻击的焦点,因为相比于加密的网络数据、保护强大的服务器,系统的最脆弱环节莫过于无保护的客户端,攻击者更容易得手。调查显示,2010年72.16%的被调查者发生过信息网络安全事件,60%的计算机被感染病毒,未修补安全补丁是网络安全事件的首要原因。

传统的计算机体系结构在安全方面过于简单,加之计算机软件的复杂性,这样的计算机结构是难以应对如此巨大的安全挑战的。为解决来自终端的安全隐患,人们开始考虑从计算机结构进行改变,通过硬件的支持保护系统安全。可信计算组织(Trusted Computing Group, TCG)定义了具有安全存储和加密功能的可信平台模块(Trusted Platform Module, TPM)并发布TPM主规范,旨在通过基于硬件安全模块支持下的可信计算平台提高信息系统整体的安全性。

但通过对相关研究工作的分析,我们认为现有的可信系统还存在以下几点不足:

  1. 系统信任模型的基础是计算平台而非用户本身,信任关系无法传递到现实世界中的用户。在用户看来,他没有理由去相信任何的计算设备,用户并不是系统的核心。
  2. 在远程证明中没有建立从用户到验证者的可信路径,用户无法获得真实的证明结果。计算设备上的恶意软件可以篡改远程证明的结果,而用户无法察觉。
  3. 对于可信系统应用,应用需求的软件TCB规模较大,实现的前提假设过强。用户在多个平台使用可信应用时将带来巨大开销。现有的可信系统通常是基于操作系统是值得信任的,即认为它完成了所有上层软件的度量工作。我们认为这样的假设是比较强的,在实际应用中操作系统并没有承担起这样的工作。另外,在用户同时使用多台设备时,可信应用不得不面对用户密钥、用户信息的迁移工作,这类工作是十分繁重的。
  4. 如果不能提供有效的备份机制,可信系统可能存在单点失败的问题。即主板上唯一的TPM失效将导致整个系统无法工作。

为了弥补现有系统可能存在的不足,我们借鉴可信计算引入TPM作为平台信任根的思想,引入硬件密码模块(如智能卡、USB Key等)作为用户信任根,提出了基于Java智能卡的便携式可信模块(Portable Trusted Module,PTM)的概念,研究基于PTM的可信虚拟平台,实现用户可控的可信计算系统,以弥补传统可信计算的不足。

PTM是一个由权威机构(如,政府、银行、证书管理机构等)颁发的个人安全设备,它与用户身份1:1绑定、与计算平台1:N绑定,提供可信服务所必须的基本功能。我们通过对PTM可信虚拟平台方案进行设计,为用户构建一个更加安全、可靠并且可以方便用户漫游的可信计算系统。PTM的应用模型如图1所示:

PTM应用模型
图1 PTM应用模型

本项目研究的主要内容包括:

  1. 设计并实现基于Java智能卡的便携式可信模块PTM的设备原型;
  2. 结合Linux PAM机制,实现基于PTM的身份认证,为Linux系统登录提供双因素控制(口令+PTM);
  3. 利用虚拟化平台技术,部署支持PTM的客户端Xen虚拟化平台;
  4. 在虚拟化平台下,通过结合TPM和PTM的可信度量方法构建完整的系统信任链;
  5. 基于TLS协议,利用PTM的可信执行环境,设计并实现用户可控的远程证明协议,为网络交易的安全执行提供可信信道。

本项目的特色如下:

  1. 引入PTM作为用户信任根,实现用户可控的身份认证及远程证明,将计算系统的可信有效传递到现实世界的终端用户。
  2. 结合PTM和Xen虚拟化技术,进一步提高了客户端计算环境的安全性和可定制性。
  3. 通过实现PTM与用户1:1绑定,与设备1:N绑定,为用户漫游提供了良好支持。

产品架构

基于PTM的可信虚拟平台主要包括五部分内容:PTM硬件设备、基于PTM的身份认证、基于Xen的客户端虚拟化以及虚拟化平台下基于PTM的可信度量和远程证明。

  • PTM硬件设备是可信系统的用户信任根,它提供了可信服务所必须的基础功能;
  • 基于PTM的身份认证结合了Linux PAM机制,它为用户登录系统提供双因素控制;
  • 基于Xen的客户端虚拟化将用户的工作平台引入虚拟域,通过虚拟机的强隔离机制增强了用户平台的安全性和可靠性;
  • 虚拟化平台下基于PTM的可信度量,通过结合TPM和PTM的可信度量方法构建了完整的系统信任链,为用户计算平台提供了完整性度量,从而将信任关系扩展至用户的计算平台;
  • 虚拟化平台下基于PTM的远程证明,通过引入TLS安全代理并将平台配置信息加入传统TLS安全信道协议,将信任关系延伸到整个系统并最终有效地传递到用户自身;

本系统通过设计五部分内容协同工作方案,从而构建出以用户为中心的可信虚拟平台。系统总体结构如图2所示:

基于PTM的可信虚拟平台体系结构
图2 基于PTM的可信虚拟平台体系结构

基于PTM的可信虚拟平台将面向客户端市场,为用户提供便捷、安全、可信的服务,但同时也为服务器市场提供了通过引入安全协处理器构建可信计算环境的思路。

系统实现方案

PTM设备

PTM是一个与用户身份相绑定的硬件密码设备(智能卡、USB Key等),作为系统用户信任根。

PTM为可信系统提供所必须的基本功能,称为PTM可信服务。PTM对外服务的接口是PTM的指令集,我们把指令集所提供的功能称为安全原语(Security Primitives) .安全原语通过PTM上的软件实现,分类结构如图3所示:

PTM安全原语组成
图3 PTM安全原语组成

除了提供可信系统的基础服务,PTM为可信应用提供可编程区域(Programmable Area) 。可信应用可以将其核心组件运行在PTM硬件的保护下,使应用程序的TCB更小且更强壮。在可编程区域与PTM基础可信服务间必须使用安全的隔离机制,使得应用程序即可与可信服务间安全通信又可防止应用程序获得过多的权限。图4体现了PTM设备的软件体系结构。

PTM软件体系结构
图4 PTM软件体系结构

基于PTM的身份认证

在PTM和Linux系统之间部署挑战—响应协议,设计并实现针对PTM的Linux PAM鉴别模块。通过Linux PAM机制,在登陆控制程序中引入对PTM的鉴别,从而实现对用户身份的认证。基于PTM的身份认证具有如下特点:

  • 用户只有持有PTM才能够成功登录系统,防止了非授权用户通过传统的口令入侵方式进入用户系统,体现出用户可控原则,提高了用户系统的安全性;
  • 通过使用口令认证、PTM认证的双重认证方式,为用户登录系统提供了双因素控制。

客户端虚拟化平台

将PTM可信计算系统引入虚拟域,将可信计算技术与虚拟化技术相结合,构成具有高度安全特性的PTM客户端虚拟化平台。本项目使用Xen作为基本的虚拟化平台,采用分离驱动结构来实现DomainU中对于PTM设备的访问。PTM客户端虚拟化平台结构如图5所示。

PTM客户端虚拟化平台结构
图5 PTM客户端虚拟化平台结构

可信度量-虚拟化平台信任链建立

可信度量的核心是信任链机制,即进行可信启动,在平台启动过程中建立一条从可信度量根到平台最上层应用的信任链。在本项目中,采用两阶段的度量方法,通过TPM和PTM的结合构建完整的系统信任链。:第一个阶段,使用TPM进行度量,在Domain0的PTM映射代理程序启动后将TPM内的度量结果映射到PTM中;第二阶段, DomainU、应用程序将度量结果扩展到PTM中。

基于PTM的信任链建立过程如图6所示:

基于PTM的信任链建立
图6 基于PTM的信任链建立

可信报告-基于PTM的远程证明

通过PTM设备和PTM客户端虚拟化平台,系统的信任关系将被延伸到用户的工作平台。接下来,我们通过设计基于PTM的远程证明方案将信任关系延伸到整个应用系统,并反馈到用户本身。基于PTM的远程证明具有如下特点:

  • 基于TLS安全信道协议设计远程证明协议,在可信应用建立安全信道的同时完成交互双方身份的认证与平台配置的认证;
  • 协议的关键步骤运行在PTM的可编程区域内,使协议安全运行在PTM硬件的保护下;
  • 只有在协议完成认证无误的前提下应用才能继续进行,用户可感知远程证明的结果;
  • 基于PTM自身特点,体现用户可控原则。

远程证明协议的基本流程如图7所示:

远程证明协议流程
图7 远程证明协议流程