[编者按]随着信息技术的发展和网络应用拓展,可信计算已经成为当前学术界和工业界的研究热点。本讲座将分3期对可信计算的内涵、关键技术和未来进行讨论:第1讲从可信计算的演进过程简单叙述可信计算技术发展历程、可信计算的定义和范畴、相关研究领域;第2讲从技术的角度探讨可信计算研究的系统架构、主要关键技术及其当前研究的热点问题;第3讲介绍可信计算的应用模式和未来。
中图分类号:TN91文献标志码:A 文章编号:1009-6868 (2012) 04-0059-04
随着信息技术的发展和网络应用的拓展,信息化系统已经成为现代社会的重要组成部分,并且越来越表现出人类社会所独有的特征。尤其是随着网络技术的发展,信息化系统架构已经从由点式孤立计算结点松散耦合的基础架构,演进成为具有分布式大规模协同特性的海量计算、动态可重构的移动计算以及无处不在的普适计算等多种组织形态。然而,从另一方面看,计算的多样化特征和复杂性的增强必然导致信息化系统的脆弱性增加、安全性与可靠性降低,这些在信息化早期阶段容易被忽略的非功能性问题已经成为当今阻碍信息化进一步飞跃式发展的重大障碍。
为此,学者们已经不满足于传统的“利用计算机系统模拟人类思维、解决科学问题”的计算模式,正试图利用人类社会进步的成功经验、将人类社会所独有的特征形式融入到信息化系统架构之中,并以此来进一步促进信息化应用的拓展和人类社会的进步。可信计算正是这样一种将人类社会的信任机制引入到信息化系统建设之中的技术,也是人类对计算模式探索的一种全新尝试。
1 可信计算的发展历史
在可信计算概念的形成和关键技术的演进过程中,容错计算、操作系统安全、信息安全、信息系统安全管理等领域知识的不断融入使得可信计算的含义不断扩展,由传统的侧重于硬件的可靠性、可用性、安全性等系统实现,演进到提出硬件平台可信、软件系统可信及其系统综合可信,再进一步拓展至适应网络安全需求的行为可信乃至基于信息化系统的透明可信服务的发展历程。
可信计算最初来自于容错计算领域,对其研究可以追溯到第一台计算机的研制。历史上第一台计算机由于工艺上的限制,导致组成计算机的组件可靠性不足以支撑计算机完成一个任务的计算时间,也即计算机系统的可靠运行时间低于一个任务的执行时间,“用不可靠性的部件来组成一个高可靠性的系统”就成为研制人员需要首先解决的问题。为此,人们利用“冗余设计”技术实现了这一设计目标,容错计算也由此成为计算机领域具有最悠久历史的学术研究方向之一。之后,随着硬件工艺的进步和技术的发展,容错计算的研究内容不断拓展,逐步涵盖了计算机系统可靠性、可用性、正确性、可测试性、鲁棒性等诸多非功能性属性。同时,随着软件规模和复杂性的增强以及软件危机的出现,容错计算的研究重心逐步扩展并提出以软件可靠性设计(主要涵盖软件避错设计、软件容错设计和软件改错设计)来改进软件开发过程、以可靠的人机接口技术以改进操作故障、引入人为恶意故障分析以解决安全问题等领域。1982年容错界首先提出“可信计算与容错”,以及可信计算的概念,在1992年随着《可信:基本概念和术语》一书的出版,可信计算被正式引入,并且可信涵盖的计算机系统属性也被分类,计算机系统的所有属性(包括可靠性、可用性、安全性、可维护性、可测试性、鲁棒性等)试图被统一在可信这一概念之下。然而,学术界随后的争论表明以可信性来统一全部的计算机属性集这一思路并未能成为计算机领域所有专家和学者的共识。
但是,以容错计算研究学者为核心的学术研究并没有停止继续探索,而是逐步将容错计算的核心研究扩展至以可信计算为核心的研究道路上:1999年IEEE太平洋沿岸容错系统会议更名为IEEE可信计算会议;2000年IEEE国际容错计算会议(FTCS)与国际信息处理联合会(IFIP)10.4工作组主持的关键应用可信计算工作会议合并,并更名为IEEE可信系统与网络国际会议(ICDSN);2000年美国卡内基梅隆大学与美国国家航空航天局(NASA)的Ames研究中心牵头成立了高可信计算联盟;2004年IEEE的可信与安全期刊创刊,并在创刊号中首次明确给出了可信和安全属性划分(如图1所示),指出可信包含的计算机属性主要有可用性、可靠性、平安性、完整性和可维护性,安全性包括的计算机属性主要有可用性、机密性和完整性。此后,虽然可信计算和安全计算两者之间存在领域和边界划分之争,但是这已不再是争论的重点,学术界更关注的是将容错技术、安全技术、管理技术等相关技术融合,探索以可信与安全为核心的信息系统安全保障新思路和新方法。
在以容错计算学术圈为主导、围绕着以可用性为核心进行可信计算研究的同时,从20世纪60年代起,由安全计算学术圈为主导的研究学者则沿着以安全性为核心的思路开始对另一种可信计算进行研究。其初衷是来自于“容错技术无法完全解决操作系统对于共享资源的安全访问问题”,其标志性研究成果包括:1969年第一次运用主体、客体和访问矩阵对访问控制问题进行了抽象;1972年提出了监控机、验证机制、安全核和安全建模等思想;1983年美国国防部国家计算机安全中心制订的《可信计算机系统评价准则TCSEC》,第一次提出了可信计算机和可信计算基的概念,并于1987年进一步对网络、系统和数据库提出了3个解释性文件,即可信网络解释(TNI)、计算机安全系统解释(CSSI)和可信数据库解释(TDI),形成了安全信息系统体系结构的最早原则。随着计算机系统自身的可靠性和可用性等非功能性属性日益受到重视,以安全为核心的学者开始将原来容错计算研究技术有意识地融入,安全和容错也逐步开始融合,这带来的直接成果是产业界开始重视并推动以安全和可靠为中心的可信计算机系统研发:1999年由Intel、Compaq、HP、IBM、Microsoft发起成立了可信计算平台联盟(TCPA),力图利用可信计算技术构建一个通用的终端硬件平台。为此,TCPA于2001年发布标准规范v1.1,试图统一和规范可信计算平台发展。2003年TCPA改组为可信计算组织(TCG),成员扩大为近200家,使得可信计算在产业界迅速普及[1-2]。
在中国,可信计算研究起步较早,主要是以中国计算机学会容错计算专业委员会为主、产业界积极参与而逐步发展起来的,并且无论在学术研究和产业发展方面都取得了较好的成果。关于可信计算研究的重要事件包括:早在20世纪90年代,中国的公司就开发了个人计算机安全防范系统,实现了可信防范,其功能和结构与TCG提出的可信计算平台近似;2000年,中国可信安全计算机研发工作已经启动;2002年,中国信息产业商会信息安全产业分会成立,该分会提出了可信网络体系结构框架(TCAF),该计划针对中国信息化体系结构设计核心可信平台,并给出了体系结构与标准方法的概念、模型、方法、定义、引用和分级;2004年,第一届中国可信计算与信息安全学术会议在湖北武汉召开,会议上具有自主知识产权的可信计算机产品开始面市;2005年,中国成立了国家安全标准委员会WG1可信计算工组小组,专门规划可信计算相关标准;2006年,国家密码管理局主持制订了《可信计算平台密码技术方案》和《可信计算密码支撑平台功能与接口规范》两个规范,标志中国开始规范可信技术;2007年,在中国信息安全标准委员会的主持下,相关专家制订了一系列的可信计算标准,包括芯片、主板、软件、网络连接、测评等标准;2007年,国家自然科学基金委启动了“可信软件重大研究计划”,标志着国家对可信软件研究的高度重视;2008年,中国可信计算联盟(CTCU)成立,成员包括国家级科研院所、计算机厂商、信息安全厂商和应用商,这标志着中国在可信计算研究方面正逐步由理论研究转化为产业、进入到实质性的实现阶段,并逐步开始应用到政府和军事等领域。
2 可信计算的定义和属性
由可信计算发展历史可知,容错计算领域和安全领域不同研究团体分别沿着不同的思路,最终形成了可信这样用以描述计算机系统可用性和安全性的一个整体性、包容性的系统概念。中文中广义的可信计算,在不同领域对应的英文有很多描述,典型的包括“Dependable Computing”(翻译为可信赖计算)、“Trusted Computing”(翻译为信任计算)、“Trustworthy Computing”(翻译为值得信赖的计算)等。在国际上,对于可信的定义也有很多种。
?可信计算组织用实体行为的预期性来定义可信:如果一个实体的行为是以预期的方式符合预期的目标,则该实体是可信的。
?ISO/IEC 15408标准定义可信为:一个可信实体(包括组件、操作或过程)的行为在任意操作条件下是可预测的,并能很好地抵御应用程序、病毒以及物理干扰造成的破坏。
?国际上容错学术界最初定义可信为:一种能够被证明是可信赖服务的能力,然而该定义依赖于对信赖的判定。因此,随后将系统可信定义为:该系统能够避免发生超出可接受服务失效的能力。
?中国沈昌祥院士定义可信为:一个实体在实现给定目标时其行为总是如同预期一样的结果,强调行为结果的可预测和可控制。
?还有一些学者的定义包括:可信≈安全+可靠,可信计算系统是能够提供系统可靠性、可用性、信息和行为安全性的计算机系统;可信性是考查行为预期性的满足,这种预期性满足是在多主体多行为范畴内,对行为性质、行为输入输出、行为过程、行为属性等方面符合必须遵守的要求、约定、规定、规则、法律的满足性认识与评价。
与上述定义相对应,与计算机系统可信相关的属性主要包括可靠性、可用性、平安性、完整性、可维护性、机密性等,并可以延伸至可生存性等相关属性,其含义分别如下:
?可靠性,正确服务的连续性
?可用性,正确服务的易获得性
?平安性,对用户和环境不会发生灾难性后果
?完整性,不会产生不正确的系统选择
?可维护性,可以修改和修复
?机密性,不会产生非授权的信息泄露
?可生存性,系统在规定的时间内完成任务的能力
可信计算的思想借鉴于人类社会的信任体系,为此可以归纳出信任的属性:
?信任是一种二元关系,逻辑上可以是一对一、一对多(个体对群体)、多对一(群体对个体)或多对多(群体对群体)
?信任具有二重性,既具有主观性又具有客观性
?信任不具有对称性,即A信任B,未必B信任A
?信任可度量,即信任可以划分等级
?信任可传递,但是在传播过程中可能有损失,传递路径越长,损失可能性越大
?信任具有动态性,即信任与环境(上下文)和时间等因素相关
可信计算正是基于信任的思想,以可信基为核心(该可信基不受不可信主体的干扰和篡改),通过信任的层层认证和扩展以实现信息系统的可信任性。
3 可信计算的研究领域
从广义上看,可信计算当前主要研究内容包括可信赖计算、安全计算和信任计算,它们分别针对不同的应用要求:
?可信赖计算主要针对元器件、系统和网络,对包括设计、制造、运行和维修在内的全过程中出现的各种故障进行故障检测、故障诊断、故障隔离与屏蔽、故障容忍、系统备份、系统应急维修、故障修复和动态重构等一系列工作,领域涵盖容错计算、可生存计算、系统灾备等,其核心在于提高系统的可靠性、可用性、生存能力和提供连续服务的能力。
?安全计算主要针对系统和网络运行过程中的人为恶意攻击,通过信息加密、身份认证、信息隐藏等技术手段防止信息的非授权泄露、保证系统的安全可控,领域涵盖信息安全、信息安全管理、系统检查与审计等,其核心在于保证信息机密性,提高系统安全性。
?信任计算则是近年提出的一种系统安全实现方法,源自早期的安全硬件设计,其基本思想为假定真实性可以用以度量并且不考虑度量中的损失,给出了一个可信在实体间传递的方法——在计算机系统中首先建立一个信任根,再建立一条信任链,一级度量认证一级,一级信任一级,并把信任关系扩大到整个计算机系统,从而确保计算机系统可信。由于该方法得到产业界的极力宣传和推广,因此,也有人将信任计算当作是可信计算。
事实上,可信赖计算、安全计算和信任计算在研究内容上有一定程度的交叉和混合,可信计算实际上是对三者研究的综合。
从狭义上看,中国也有不少文献将可信赖计算和信任计算笼统地称为可信计算。
3.1 可信赖计算
可信赖计算来自容错计算的拓展,因此其研究领域除了包括容错计算传统的系统故障模型、容错设计模型、系统架构模型和系统评价模型外,也逐步将系统可测试性模型、系统鲁棒性模型、拜占庭故障模型(人为恶意模型)、系统灾备模型等纳入到研究范围内,并进一步发展形成了可生存计算、可恢复计算等研究方向,从而使该研究变得丰富多彩。可信赖计算的主要研究内容为:
?系统故障模型研究主要研究计算机系统(进一步拓展至各种形式的网络系统)的故障类型、故障—错误—失效机理、故障传播与演进模式等,研究重点逐步从传统的硬件故障、软件差错等拓展至研究设计故障、灾难故障、操作故障、网络故障散播模型等内容。
?容错设计模型研究主要研究系统设计过程容错技术的综合运用,随着硬件工艺的发展,系统设计故障在系统总故障中占据了越来越重要的地位,容错设计模型则是综合运用避错技术、容错技术和改错技术来改进系统的开发过程,从而提高系统可靠性和可用性。
?系统架构模型研究主要研究计算机及其网络系统的动态运行机制,尤其是在错误发生后的系统动态重构技术,同时近年来随着移动网络、自组织网络、乃至物联网的兴起,容错技术被大量引入到这种动态变化率高的网络架构设计之中。
?系统评价模型研究主要研究引入冗余技术后的系统可信性评价,尤其是对软件可靠性模型、系统测试模型的研究较为深入。
?系统可测试性模型研究主要研究系统开发或设计过程的可测试性设计,即专门为测试而进行的系统级设计,由于系统复杂性程度越来越高,因此提高系统的可测试性、快速查找系统隐患就成为一项极具挑战性的任务。
?系统鲁棒性模型研究主要研究非正常系统输入情况下的系统反应,研究重点是高效率鲁棒性测试方法及其引申出的系统异常处理模型。
?拜占庭故障模型研究主要研究是将人为恶意故障引入到传统的故障模型之中,重点研究网络条件下具有恶意欺骗性质的拜占庭相关协议和实现策略。
?系统灾备模型研究主要研究灾难条件下的系统备份、应急和恢复的策略、方法等,尤其是在中国“数据大集中”信息化发展战略模式中并且信息脆弱性增强的现实条件下,灾备系统模型研究正日益受到关注。
3.2 安全计算
一般来说,人们认为安全计算是可信计算中的重要组成部分,认为其是可信计算中用于保护系统抵御恶意攻击的基础性内容。安全计算对于可信计算的主要贡献在于实现了以密码学为基础的信息安全保障。事实上,安全计算中的诸多技术(包括密码算法、身份识别技术、防病毒技术,甚至是数字水印技术、信息隐藏等专用领域相关技术)都可以用来提高信息系统的信任程度,能够为网络行为可信提供基础性依据和保障措施。
然而,也有一些学者认为可信计算应划归为信息安全的研究范畴,认为在信息安全所具有的4个侧面(设备安全、数据安全、内容安全与行为安全)中,可信计算可以归属于行为安全,是对计算机用户行为安全的一种描述。具体来说,行为安全包括行为的机密性、行为的完整性、行为的真实性等特征,而可信则是这些属性综合的主观反映。
无论上述何种观点,普遍的共识是可信计算和安全计算两者相互重叠和交叉,领域和范畴的界限在学术界和工业界都存在争议,难以明确划分归属。
3.3 信任计算
信任计算作为一种保障信息系统可用性和安全性的实现技术,其核心在于要对计算机及其网络系统的信任性进行判断,并以此作为判断行为安全的依据。因此,信任计算中需要确认的信任关系主要包括:
?计算机及其网络使用者的身份是可以信任的
?计算机及其网络的平台是可以信任的
?计算机及其网路运行环境是可以信任的
?平台内运行应用程序是可以信任的
?网络环境下平台间的互信可以被验证
基于上述信任关系的运用和验证,信任计算主要研究的内容包括可信计算架构、可信计算平台、可信计算支撑软件、可信计算应用软件、可信人员验证等。目前,全球的相关研究都还处于起步阶段,并且主要集中于以可信计算平台为主进行的研究。
在信任计算工程化和实用化研究过程中,TCG起到了很大的作用:它为信任计算设计了一个规范文档线路图,包括从硬件安全芯片到可信软件栈,从安全个人计算机客户端和服务器到可信网络连接及可信存储,从总体的体系结构到具体的操作接口,形成了一个统一的整体,其架构如图2所示。 (待续)
4 参考文献
[1] Avizienis a, Laprie j c, Randell b,et al. Basic Concepts and Taxonomy of Dependable and Secure Computing[J]. IEEE Transactions on Dependable and Secure Computing, 2004, 1(1): 11-33.
[2] SHEN Changxiang, ZHANG Huanguo, WANG Huaimin, et al. Research on Trusted Computing and its Development[J]. Science China:Information Sciences, 2010, 53(3): 405-433.
收稿日期:2012-05-19
作者简介
姚文斌,北京邮电大学计算机学院教授、博士生导师,主要研究方向为可信计算、信息安全、灾备技术等;已发表论文60余篇、申请国家发明专利20项、制订国家标准1项、通信行业标准3项。