可信计算的研究与发展
沈昌祥1 张焕国2王怀民3王戟3赵波2严飞2余发江2张立强2徐明迪2
1-北京工业大学北京
2-武汉大学计算机学院空天信息安全与可信计算教育部重点实验室武汉430072
3-国防科技大学计算机学院长沙430074
摘要
可信计算是一种信息系统安全新技术它已经成为国际信息安全领域的一个新热潮并且取得了令人鼓舞的成绩。我国在可信计算领域起步不晚、水平不低、成果可喜。我国已经站在国际可信计算的前列。本文综合论述近年来可信计算理论与技术的一些新发展特别是介绍我国可信计算的一些新发展并对目前可信计算领域存在的一些问题和今后发展提出了自己的看法和观点。
关键词 信息安全可信计算可信计算平台可信软件可信网络连接
一、引言
1. 1信息时代需要信息安全
二十一世纪是信息的时代。一方面信息技术和产业高速发展呈现出空前繁荣的景象。另一方面危害信息安全的事件不断发生形势是严峻的。信息安全事关国家安全、事关社会稳定。因此必须采取措施确保我国的信息安全。
信息系统安全主要包括以下四个侧面设备安全数据安全内容安全行为安全[1,2,3]。
信息系统的硬件系统的安全和操作系统的安全是信息系统安全的基础密码、 网络安全等技术是关键技术。只有从信息系统的硬件和软件的底层作起从整体上采取措施才能比较有效地确保信息系统的安全。
人们已经认识到大多数安全隐患来自于微机终端因此必须提高微机的安全性。这样绝大多数不安全因素将从终端源头被控制。对于广泛使用的微机只有从芯片、主板、 BIOS、操作系统作起综合采取措施才能提高微机的安全性。正是这一技术思想推动了可信计算的产生和发展。
1.2信任是人类社会和网络空间安全交互的基础
通信、计算机和消费电子Communications,Computers,Consumer electronics的结合促进了Internet、信息高速公路或全球信息基础设施GII的出现和应用构成了人类生存的信息环境 即网络空间(Cyberspace)。
我们应当清楚人类社会中的安全可信与网络空间中的安全可信是休戚相关的。对于人类生存来说只有同时解决了人类社会和网络空间的安全可信才能保证人类社会的安全、
国家自然科学基金项目 60673071 60970115、 国家973项目(2007CB311100) 国家863计划项目2006AA01 Z442 2007AA01 Z411 2009AA01 Z437资助
沈昌祥院士北京工业大学研究领域信息安全可信计算。张焕国教授博士生导师武汉大学研究领域信息安全可信计算容错计算。王怀民教授博士生导师 国防科技大学研究领域可信软件。王戟教授博士生导师 国防科技大学研究领域可信软件。赵波副教授武汉大学研究领域可信计算。严非、余发江、张立强博士讲师武汉大学研究领域可信计算。徐明迪博士研究生研究领域可信计算。
本文的可信软件部分由王怀民和王戟撰写其余部分由张焕国、赵波、严飞、余发江、张立强、徐明迪撰写 由沈昌祥定稿。
通信联系人张焕国 liss@whu edu cn
1
和谐、繁荣和进步。
在人类社会中信任是人们相互合作和交往的基础。如果我们确定对方不可信就不会与其合作和交往。
在网络空间中由于Internet是一个开放的网络它允许两个网络实体未经过任何事先的安排或资格审查就可以进行交互。这就导致我们在进行交互时有可能对对方实体一无所知对方实体可能是通过这次交互来破坏我们数据的恶意程序也可能是一个已经被黑客控制了的计算平台还可能是企图诈取我们钱财的人或者组织等等。如果我们无法判断对方实体是否可信就贸然交互很可能造成巨大的损失。为了解决这个问题应当提供一种方法使用户能够判断与其交互的实体是否可信确保在网络空间中交互的安全。因此信任也是网络空间中安全交互的基础。
既然信任是网络空间中安全交互的基础 因此网络空间的信息处理和交互应当是可信的。为此应当采取措施确保网络空间的可信性这就是可信计算的基本出发点。
1.3可信计算的概况
可信计算是一种信息系统安全新技术它包括可信硬件可信软件可信网络可信计算应用等诸多方面。
1.3.1国外的可信计算
1983年美国国防部制定了世界上第一个《可信计算机系统评价准则》 TCSEC TrustedComputer System Evaluation Criteria [4] 。在TCSEC中第一次提出可信计算机TrustedComputer和可信计算基TCBTrusted Computing Base的概念并把TCB作为系统安全的基础。之后美国国防部又相继推出了可信网络解释TNI Trusted Network Interpretation [5]和可信数据库解释TDI Trusted Database Interpretation [6]。从而形成了最早的一套可信计算技术文件。
1999年 IBM、HP、 Intel、微软等著名IT企业发起成立了可信计算平台联盟TCPATrusted Computing Platform Alliance 。 TCPA的成立标志着可信计算高级阶段的形成。2003年TCPA改组为可信计算组织TCG[7] 标志着可信计算技术和应用领域的进一步扩大。TCPA和TCG的出现形成了可信计算的新高潮。 TCG是一个非盈利组织 旨在研究制定可信计算的工业标准。 目前TCG已经制定了一系列的可信计算技术规范[8]。如可信PC、可信平台模块TPM 、可信软件栈TSS 、可信网络连接TNC 、可信手机模块等规范而且不断地对这些技术规范进行修改完善和版本升级。
欧洲于2006年1月启动了名为―开放式可信计算Open Trusted Computing ‖的可信计算研究计划[9] 有几十个科研机构和工业组织参加研究分为10个工作组分别进行总体管理、需求定义与规范、底层接口、操作系统内核、安全服务管理、 目标验证与评估、嵌入式控制、应用、实际系统发行、发布与标准化等工作。该计划基于可信计算平台的统一安全体系结构在异构平台上已经实现了安全个人电子交易、家庭协同计算以及虚拟数据中心等多个应用。
目前可信计算已经成为许多国际学术会议的重要议题。国外许多芯片厂商推出了自己的可信平台模块TPM芯片几乎所有的品牌笔记本电脑和台式PC机都配备了TPM芯片。据说HP公司推出了可信服务器。 日本研制出可信PDA。微软推出了支持可信计算的Vista操作系统。多家网络技术企业的产品支持TNC体系结构。可信计算产品已经走向应用。
2
1.3.2中国可信计算大事记
2000年6月武汉瑞达公司和武汉大学合作开始研制安全计算机。 2003年研制出我国第一款可信计算平台模块TPMJ2810芯片和可信计算平台。 2003年7月15日通过国家密码管理局主持的安全审查。 2004年10月通过国家密码管理局主持的技术鉴定鉴定认为这是我国第一款自主研制的可信计算平台[10,11]。 2006年获国家―密码科技进步二等奖‖。这一新产品被国家科技部等四部委联合认定为―国家级重点新产品‖并在我国政府、公安、银行、企业得到实际应用。
2004年6月由瑞达公司和武汉大学联合在武汉大学召开中国首届可信计算平台TCP论坛。 同年10月在武汉大学召开了―第一届中国可信计算与信息安全学术会议‖。
2005年联想公司的TPM芯片恒智芯片和可信计算机相继研制成功。 同年兆日公司的TPM芯片也研制成功。这些产品也都通过了国家密码管理局的认证。
2006年我国进入制定可信计算规范和标准的阶段在国家密码管理局的主持下制定了《可信计算平台密码技术方案》和《可信计算密码支撑平台功能与接口规范》两个规范[12]。
2007年在国家信息安全标准委员会的主持下我国开始制定一系列的可信计算标准包括芯片、主板、软件、可信网络连接等标准。 国家自然科学基金委启动了―可信软件重大研究计划‖[13]。深圳中兴集成电路公司的―可信计算机密码模块安全芯片‖和联想公司的―可信计算密码支撑平台‖通过国家密码管理局的认证。
2008年中国可信计算联盟CTCU成立。北京兆日公司的―可信计算机密码模块安全芯片‖和―可信计算密码支撑平台‖、深圳中兴集成电路公司的―可信计算密码支撑平台‖通过国家密码管理局的认证。在国家―863‖计划项目的支持下武汉大学研制出我国第一款―可信PDA‖和第一个―可信计算平台测评系统‖。
2009年瑞达公司的―可信计算机密码模块安全芯片‖通过国家密码管理局的认证基于这一新芯片的可信计算机也推出上市。
至此我国的可信计算事业进入了蓬勃发展的阶段。我国的可信计算技术与产品得到了国际同行的高度评价我国已经站在国际可信计算领域的前列。
二、可信计算的基本思想
可信计算是一种信息系统安全新技术。可信计算的思想源于人类社会是把人类社会成功的管理经验用于计算机信息系统和网络空间以确保计算机信息系统和网络空间的安全可信。
1、可信计算的目标
TCG认为可信计算的总体目标是提高计算机系统的安全性。现阶段的主要目标是确保系统数据的完整性数据的安全存储平台可信性的远程证明。
可信计算技产品主要用于安全风险控制使发生安全事件时的损失降至最小安全检测与应急响应及时发现攻击并采取相应措施电子商务减少电子交易的风险数字版权管理阻止数字媒体的非法复制与传播等等。
2、可信计算的基本思想
可信计算的基本思想是
①首先在计算机系统中建立一个信任根。
信任根的可信性由物理安全、技术安全与管理安全共同确保。
②再建立一条信任链。从信任根开始到硬件平台、到操作系统、再到应用一级测量认证一级一级信任一级把这种信任扩展到整个计算机系统从而确保整个计算机系统的可信。 TCG的信任链如图1所示。
3
图1 TCG的信任链
三、可信计算的研究与发展
本节是本文的重点将系统地介绍近年来可信计算理论、可信平台模块、可信计算平台、可信计算平台测评、可信软件、可信网络连接和远程证明等方面的研究与发展。
3.1可信计算的理论研究
3.1.1可信的定义与属性
①可信的定义
可信计算的首要问题是要回答什么是可信。 目前关于可信尚未形成统一的定义不同的专家和不同的组织机构有不同的解释。主要有以下几种说法。
1990年 国际标准化组织与国际电子技术委员会ISO/IEC International Organization forStandardization/International Electrotechnical Commission在其发布的目录服务系列标准中基于行为预期性定义了可信性如果第二个实体完全按照第一个实体的预期行动时则第一个实体认为第二个实体是可信的[14] 。
1999年国际标准化组织与国际电子技术委员会在ISO/IEC 15408标准中定义可信为参与计算的组件操作或过程在任意的条件下是可预测的并能够抵御病毒和一定程度的物理干扰[15] 。
2002年 TCG用实体行为的预期性来定义可信一个实体是可信的如果它的行为总是以预期的方式朝着预期的目标[16]。这一定义的优点是抓住了实体的行为特征符合哲学上实践是检验真理的唯一标准的基本原则。
IEEE Computer Society Technical Committee on Dependable Computing认为所谓可信是指计算机系统所提供的服务是可以论证其是可信赖的。这就是指不仅计算机系统所提供的服务是可信赖的而且这种可信赖还是可论证的。而这里的可信赖主要是指系统的可靠性和可用性。
我们也给出了自己的观点[1,2,3] 可信计算系统是能够提供系统的可靠性、可用性、信息和行为安全性的计算机系统。可信包括许多方面如正确性可靠性安全性可用性效
4
率等等。但是系统的安全性和可靠性是现阶段可信最主要的两个方面。因此可通俗地简称为可信≈可靠+安全。
IEEE编辑出版了专门的可信计算汇刊 IEEE Transactions on Dependable and SecureComputing.可见它与我们的观点是接近的。
由以上几种不同的定义我们可以看出一个共同点就是强调实体行为的预期性强调系统的安全与可靠。当前系统的安全性与可靠性是用户最关心的两个问题因而也就必然成为可信的主要内涵。
②信任的属性
信任是一种二元关系。它可以是一对一、一对多个体对群体、多对一群体对
个体或多对多群体对群体的。
信任具有二重性。既具有主观性又具有客观性。
信任不一定具有对称性。即A信任B不一定就有B信任A。
信任可度量。也就是说信任有程度之分可以划分等级。
信任可传递但不绝对在传播过程中可能有损失而且传递的路径越长损失可能
越大。
信任具有动态性。即信任与环境上下文和时间因素相关。
③信任的获得方法
信任的获得方法主要有直接和间接两种方法。设A和B以前有过交往则A对B的可信度可以通常考察B以往的表现来确定。我们称这种通过直接交往得到的信任值为直接信任值。设A和B以前没有任何交往这种情况下 A可以去询问一个与B比较熟悉的实体C来获得B的信任值并且要求实体C与B有过直接的交往经验。我们称之为间接信任值或者说是C向A的推荐信任值。有时还可能出现多级推荐的情况这时便产生了信任链。
3.1.2信任度量模型
TCG的信任度量采用了一种链式的信任度量模型简称为信任链如图1所示。从BIOSBoot BlockBIOSOSLoaderOS构成了一个串行链其中BIOS Boot Block是可信测量根。采用了一种迭代计算Hash值的方式 即将现值与新值相连再计算Hash值并被作为新的完整性度量值存储到平台配置寄存器PCR中。
New PCRi=HASHOld PCRi‖New Value 其中符号‖表示连接。
这种链式信任度量模型的最大优点是实现了可信计算的基本思想从信任根开始到硬件平台、到操作系统、再到应用一级测量认证一级一级信任一级把这种信任扩展到整个计算机系统从而确保整个计算机系统的可信。其次这种链式信任度量模型与现有计算机有较好的兼容性而且实现简单。
但是这种链式信任度量模型具有如下的缺点
①信任链较长。根据信任理论可知信任传递的路径越长信任的损失就可能越大。
②由于信任度量值的计算采用了一种迭代计算Hash值的方式这就使得在信任链中
加入或删除一个部件信任链中的软件部件更新如BIOS升级 OS打补丁等
PCR的值都得重新计算很麻烦。
③另外在实现技术上可信测量根RTM在图1中是BIOS Boot Block是一个软件
模块将它存储在TPM之外容易受到恶意攻击。
我们提出了一种带数据恢复功能的星型信任度量模型[17] 其结构如图2所示。它将RTM置入TPM内部而且在信任度量过程中增加了数据恢复功能事先将被度量的部件进行备份在度量中若发现其完整性被破坏则进行恢复并将信任度量延伸到应用。 由于这种信任度量模型可以同时提高系统的安全性和可靠性因此提高了系统的可信性比较好地体现了我们关于可信≈可靠+安全的学术观点。
5
与TCG的链式信任度量模型相比具有如下优点
①RTM被TPM保护安全性更高。
②具有数据恢功能安全性和可靠性更高。
③RTM到任何一个被测量部件都是一级测量没有多级信任传递信任损失少。
其缺点是 RTM由TPM执行所有测量都由RTM进行所以TPM负担重。
3.1.3可信度量理论与技术
1、 TCG在信任链中采用的是度量数据完整性的静态度量
在可信计算的信任链中理应度量可信性。但是 由于可信性目前尚不易直接度量于是TCG在信任链中采用的是度量数据完整性而且是通过检验数据Hash值的方法来度量数据的完整性。但是我们认为可信≈可靠+安全完整性不等于可信性完整性只是可信性中的一个侧面。因此 TCG的信任链测量是有局限性的。另外 TCG还把信任值二值化只考虑了可信和不可信两种极端状况而且认为在传递过程中没有信任损失。这显然是一种理想化的处理方法。
由于TCG在信任链中采用的是度量数据完整性 因此它能确保数据的完整性确保信任链范围内的部件BIOS、 OSLoader、 OS等的数据完整性。但是完整性只能说明这些软件部件没有被修改并不能说明这些软件中没有安全缺陷更不能确保这些软件在运行时的安全性。基于数据完整性的度量是一种静态度量除此之外我们还需要基于软件行为的动态度量。
2、一种基于软件行为的动态完整性度量方法
我们提出了一种基于软件行为的动态完整性度量模型[18,19,20]。分析可执行文件或源代码的API函数调用关系得到软件的预期行为建立软件预期行为描述集并发布然后对软件进程的实际API函数调用行为进行监控如果在软件执行过程中软件行为符合软件预期行为描述集中的相关规则软件行为认证码则认为软件是可信的。否则说明软件不可信此时应该对该软件进行控制。图3给出了这种动态完整性度量模型。在实验系统中我们把静态度量与动态度量相结合得到很好的效果。当然动态度量也增加了一定的成本开销。目前这种基于软件行为动态完整性度量方法的研究还是初步的还有许多问题值得进一步深入研究。
最后强调指出虽然TCG在信任链中采用的是度量数据完整性存在上述的一些不足之处。但是这足以确保系统资源的数据完整性足以抵抗大量的计算机病毒等恶意软件的攻击在很大程度上提高了计算机的安全性 因此是具有重要作用和积极意义的。
6
图2带恢复功能的星型信度量模型
图3 一种基于软件行为的动态完整性度量模型
3、系统数据完整性的多次度量
信任链是可信计算的关键技术通过信任链的作用来确保系统数据的完整性从而提高
7
系统的可信性。但是早期的信任链只是在平台启动时才进行一次完整性校验。这对于频繁开机和关机的PC机来说是基本可以的。但是对于服务器这种一旦开机后就长时间不关机的计算平台来说就远远不够的。用户很难相信开机时几分钟的数据完整性校验能够确保服务器几年的数据完整性。因此需要能够反复进行系统完整性校验的信任链机制。
在工业界 Intel、AMD等CPU厂商都致力于通过改进CPU的体系结构来增强计算平台的安全性。最著名的是Intel的LaGrande计划错误未找到引用源。 [21] 和AMD的Pre sidio计划错误未找到引用源。 [22] 。它们都是通过修改CPU和芯片组来增强平台的安全性。在这些技术的支持下可以实现信任链的多次完整性校验 因而非常适合服务器的采用。
LaGrande计划的体系结构包含了很多安全特性如它具有可信执行TXT(Truste deXecution Technology)特性的CPU和TCG可信平台模块TPM。为了实现能够反复进行系统完整性进行校验 Intel的CPU中增加了一条新指令SENTER。这条指令能够创建可控的和可认证的执行环境。该环境不受系统中任何组件的影响因此可以确保执行这条指令所加载的程序的执行不会被篡改。
L a Grande的体系结构的保护目标主要包括
保护执行在CPU芯片中提供一个安全的区域来运行一些敏感的应用程序 以使
得用户即使处于可能被攻击的环境中时仍然能够相信这个区域的安全性。
密封存储采用密码保护用户的数据使用户即使处于可能被攻击的环境中时仍
能够相信数据的机密性和完整性。
远程证明提供一种机制使用户能够相信一个远程平台是可信的。
I/O保护对平台的I/O进行保护使用户和应用程序之间的交互路径是可信路径。
2005年AMD宣布了包含虚拟机和安全扩展的下一代CPU规范。在其扩展指令中有一条SKINIT指令用以支持反复进行系统完整性校验。 SKINIT指令对CPU进行初始化为程序建立一个安全执行环境。在这个环境里屏蔽了所有中断关闭了虚拟内存禁止DMA除了正在执行的这条指令的处理器外其它的处理器都不工作。用于加载虚拟机管理器VMM的程序被封装到一个安全的加载程序块中。在CPU执行安全加载程序前这个程序要被度量其度量值被写进特定PCR中。这个PCR只能通过特殊的LPC总线周期才能读取而软件是无法模拟这个LPC总线周期的这就保证了只有CPU能够读取这个特定的PCR。这个特定PCR的值就是信任根的度量值。为了防止SKINIT指令被攻击前面所述的所有步骤和条件都是以原子形式来执行的。
有了Intel和AMD的上述技术支持 TCG提出了动态度量根DRTM的概念。DRTM是与静态度量根SRTM相对的之所以称之为动态是因为它是以CPU为其信任根其信任度量不必仅在平台启动的时候进行可以在平台启动以后的任何时刻进行。
基于Xen的可信虚拟机在DRTM下的信任链构建过程如图4所示其信任链为CPU→可信代码→Xen Hypervisor→Domain0vTPM Manager、Domain Builder→Guest OS→GuestApplication。与SRTM下的信任链相比较可以发现信任链缩短了并且绕过了BIOS和BootLoader 因此在SRTM下的针对BIO S和BootLoader的攻击也就失效了。
8
度量 存储
图4基于Xen的可信虚拟平台信任链
3.2可信平台模块
可信平台模块TPM是可信计算平台的信任根是可信计算的关键技术之一。 TCG定义可信计算平台的信任根包括三个根它们是可信测量根RTM、可信存储根RTS和可信报告根RTR。其中可信测量根RTM是一个软件模块可信存储根RTS由可信平台模块TPM芯片和存储根密钥SRK组成可信报告根RTR由可信平台模块TPM芯片和根密钥EK组成。
近年来 国内外在可信平台模块TPM方面都有许多重要的研究和发展。
3.2.1 TCG TPM的研究与发展
1、 TPM的优缺点
TCG的TPM设计在总体上是很成功的。它体现了TCG以硬件芯片增强计算平台安全的基本思想为可信计算平台提供了信任根。 TPM以密码技术支持了TCG的可信度量、存储、报告功能为用户提供确保平台系统资源完整性、数据安全存储和平台远程证明。但是TCG的TPM设计明显存在一些不足。其原因可能是主要考虑了低成本以及希望回避对称密码在产品出口方面的政策障碍。
①TPM被设计成一种被动部件缺少对平台安全的主动控制作用。
②采用LPC总线与系统连接不适合大数据量的通信。
③缺少芯片本身物理安全方面的设计。
④可信测量根RTM是一个软件模块它存储在TPM之外容易受到恶意攻击。如果
将RTM放入TPM之内会更安全些。
⑤在密码配置方面也存在一些不足[23,24] 密钥种类繁多、授权协议复杂存在TPM
密钥内外部不同步问题缺少对称密码。从技术角度而言公钥密码和对称密码各
9
sharktech怎么样?sharktech鲨鱼机房(Sharktech)我们也叫它SK机房,是一家成立于2003年的老牌国外主机商,提供的产品包括独立服务器租用、VPS主机等,自营机房在美国洛杉矶、丹佛、芝加哥和荷兰阿姆斯特丹等,主打高防产品,独立服务器免费提供60Gbps/48Mpps攻击防御。机房提供1-10Gbps带宽不限流量服务器,最低丹佛/荷兰机房每月49美元起,洛杉矶机房最低59美元...
Bluehost怎么样,Bluehost好不好,Bluehost成立十八周年全场虚拟主机优惠促销活动开始,购买12个月赠送主流域名和SSL证书,Bluehost是老牌虚拟主机商家了,有需要虚拟主机的朋友赶紧入手吧,活动时间:美国MST时间7月6日中午12:00到8月13日晚上11:59。Bluehost成立于2003年,主营WordPress托管、虚拟主机、VPS主机、专用服务器业务。Blueho...
不知道大家是否注意到sharktech的所有服务器的带宽价格全部跳楼跳水,降幅简直不忍直视了,还没有见过这么便宜的独立服务器。根据不同的机房,价格也是不一样的。大带宽、不限流量比较适合建站、数据备份、做下载、做流媒体、做CDN等多种业务。 官方网站:https://www.sharktech.net 付款方式:比特币、信用卡、PayPal、支付宝、西联汇款 以最贵的洛杉矶机器为例,配置表如...