一、引言
信息技术的高速发展,带来了信息产业的空前繁荣;但危害信息安全的事件也不断发生,信息安全形势日益严峻。
目前信息安全问题的技术原因主要包括:
■ 微机的安全结构过于简单。最初,微机被认为是个人使用的计算机,许多安全措施不再需要,为了降低成本,许多有效的安全措施被去掉。
■ 信息技术的发展使计算机变成网络中的一部份,突破了计算机机房的地理隔离,信息的I/O遍及整个网络世界,网络协议缺少安全设计,存在安全缺陷。网络协议的复杂性使得对其进行安全证明和验证十分困难。
■ 操作系统过于庞大,软件故障与安全缺陷不可避免。 硬件结构的安全和操作系统的安全是信息系统安全的基础,密码、网络安全等技术是关键技术。只有从信息系统的硬件和软件的底层采取安全措施,从整体上采取措施,才能有效地确保信息系统的安全。
对于最常用的微机,只有从芯片、主板等硬件和BIOS、操作系统等底层软件综合采取措施,才能有效地提高其安全性。正是基于这一思想催生了可信计算的迅速发展。 可信计算的基本思想是在计算机系统中首先建立一个信任根,再建立一条信任链,一级测量认证一级,一级信任一级,把信任关系扩大到整个计算机系统,从而确保计算机系统的可信。
在技术领域, 1983年美国国防部就制定了《可信计算机系统评价准则》。1999年TCPA组织成立,2003年改组为可信计算组织TCG。TCPA和TCG制定了关于可信计算平台、可信存储和可信网络连接等一系列技术规范。目前已有200多个企业加入了TCG,可信计算机已进入实际应用。
在理论领域, IEEE组织于2004年编辑出版了IEEE Transaction on Dependable and Secure Computing杂志,专门讨论可信计算。
二、可信计算的基本概念
1.可信的定义与属性
(1)可信的定义
目前,关于可信尚未形成统一的定义,主要有以下几种说法。
可信计算组织TCG用实体行为的预期性来定义可信:一个实体是可信的,如果它的行为总是以预期的方式,达到预期的目标。
ISO/IEC 15408 标准将可信定义为:参与计算的组件,操作或过程在任意的条件下是可预测的,并能够抵御病毒和物理干扰。
所谓可信是指计算机系统所提供的服务是可以论证其是可信赖的。这就是指从用户角度看,计算机系统所提供的服务是可信赖的,而且这种可信赖是可论证的。
我们给出自己的观点:可信≈安全+可靠。可信计算系统是能够提供系统的可靠性、可用性、信息和行为安全性的计算机系统。
(2)信任的属性
信任是一种二元关系。它可以是一对一、一对多(个体对群体)、多对一(群体对个体)或多对多(群体对群体)的。信任具有二重性。既具有主观性又具有客观性。信任不一定具有对称性。即A信任B不一定就有B信任A。信任可度量。也就是说信任的程度可划分等级。信任可传递,但不绝对,而且在传播过程中有损失。信任具有动态性。即信任与环境和时间因素相关。
(3)信任的获得方法
信任的获得方法主要有直接和间接两种方法。设A和B以前有过交往,则A对B的可信度可以通常考察B以往的表现来确定。我们称这种通过直接交往得到的信任值为直接信任值。设A和B以前没有任何交往,这种情况下,A可以去询问一个与B比较熟悉的实体C来获得B的信任值,并且要求实体C与B有过直接的交往经验。我们称之为间接信任值,或者说是C向A的推荐信任值。有时还可能出现多级推荐的情况,这时便产生了信任链。
2.信任的度量与模型
目前,关于信任的度量理论主要有基于概率统计的可信模型、基于模糊数学的可信模型、基于主观逻辑、证据理论的可信模型和基于软件行为学的可信模型等。我国学者用软件行为学来描述软件的可信性。其认为:主体的可信性是主体行为的一种统计特性,而且是指行为的历史记录反映主体行为是否违规、越权以及超过范围等方面的统计特性。主体的可信性可以定义为其行为的预期性,软件的行为可信性可以划分级别,可以传递,而且在传递过程中会有损失。
图1 可信计算机系统
3.信任根和信任链
信任根和信任链是可信计算平台的关键技术。一个可信计算机系统由可信根、可信硬件平台、可信操作系统和可信应用组成(如图1所示)。信任链是通过构建一个信任根,从信任根开始到硬件平台、到操作系统、再到应用,一级认证一级,一级信任一级。从而把这种信任扩展到整个计算机系统(如图2所示)。其中信任根的可信性由物理安全和管理安全确保。
图2 可信PC的信任链
4.可信测量、存储、报告机制
可信测量、存储、报告机制是可信计算的另一个关键技术。如图3所示,可信计算平台对请求访问的实体进行可信测量,并存储测量结果,实体询问时平台提供报告。
图3 可信测量、存储、报告机制
图4 TCG的TPM框图
5.可信计算平台
目前已实现的可信计算平台主要是可信PC。其主要特征是在主板上嵌有可信构建模块TBB。这个TBB就是可信PC平台的信任根。它包括用于可信测量的根核CRTM (Core Root of Trust for Measurement),可信平台模块TPM (Trusted Platform Module),以及它们同主板之间的联接。目前尚未见到可信服务器和可信PDA产品的报道。
6.可信平台模块TPM
可信平台模块TPM是一种SOC芯片,它是可信计算平台的信任根,其结构如图4所示。它由CPU、存储器、I/O、密码协处理器、随机数产生器和嵌入式操作系统等部件组成。完成可信度量的存储,可信度量的报告,密钥产生,加密、签名,数据安全存储等功能。TPM是信任根,其可信性由物理安全和管理安全确保。
7.可信支撑软件
TSS(TCG Software Stack)是可信计算平台上TPM的支撑软件,其结构如图5所示。TSS的作用主要是为应用软件提供兼容异构可信平台模块的开发坏境。
图5 TSS结构
8.可信网络连接TNC
TNC(Trusted Network Connect)的目的是确保网络访问者的完整性,其结构如图6所示。
TNC通过网络访问请求,搜集和验证请求者的完整性信息,依据一定的安全策略对这些信息进行评估,决定是否允许请求者与网络连接,从而确保网络连接的可信性。
图6 TNC的结构
三、可信计算研究的发展
1.可信计算初现
1983年美国国防部制定了世界上第一个《可信计算机系统评价准则》TCSEC(Trusted Computer System Evaluation Criteria)。在TCSEC中第一次提出可信计算机和可信计算基TCB(Trusted Computing Base)的概念,并把TCB作为系统安全的基础。作为补充又相继推出了可信数据库解释TDI(Trusted Database Interpretation)和可信网络解释TNI(Trusted Network Interpretation)。这些文件形成了彩虹系列信息系统安全指导文件。
彩虹系列的出现形成了可信计算的一次高潮。多年来彩虹系列一直成为评价计算机系统安全的主要准则。然而由于历史的原因,彩虹系列具有一定的局限性:
■ 主要强调了信息的秘密性,而对完整性、真实性考虑较少;
■ 强调了系统安全性的评价,却没有给出达到这种安全性的系统结构和技术路线。
2.可信计算高潮
1999年,IBM、HP、Intel、微软等著名IT企业发起成立了可信计算平台联盟TCPA(Trusted Computing Platform Alliance),2003年TCPA改组为可信计算组织TCG。TCPA和TCG的出现形成了可信计算的新高潮。该组织不仅考虑信息的秘密性,更强调信息的真实性和完整性,而且更加产业化和更具广泛性。
微软提出了名为Palladium,后改名为NGSCB的可信计算计划。微软将推出新一代操作系统VISTA,VISTA支持可信计算机制。Intel为支持微软的Palladium计划宣布LaGrande硬件技术,并计划推出相应的新一代处理器。
欧洲于2006年1月启动了名为“开放式可信计算(Open Trusted Computing)”的研究计划。
IEEE的容错专家们自1999年将容错计算会议改名为可信计算会议(PRDC)后,便致力于可信计算的研究。他们的可信计算更强调计算系统的可靠性和可用性,而且强调可信的可论证性。
3.可信计算在中国
2000年6月武汉瑞达公司和武汉大学合作,开始研制安全计算机,研究成果于2004年10月通过国家密码管理委员会主持的技术鉴定。它是国内第一款自主研制的可信计算平台,在系统结构和主要技术路线方面与TCG的规范是类似的,有些方面有所创新,有些方面也有差异。这一产品被国家科技部等四部委联合认定为“国家级重点新产品”,并获得2006年国家密码科技进步二等奖,已在我国电子政务、公安、银行、军队得到实际应用。 2004年6月在武汉召开中国首届TCP论坛。2004年10月在解放军密码管理委员会的支持下,在武汉大学召开了第一届中国可信计算与信息安全学术会议。
2005年联想集团的“恒智”芯片和可信计算机相继研制成功。同年,兆日公司的TPM芯片研制成功。这些产品都相继通过国家密码管理委员会的鉴定和认可。 此外,同方、方正、浪潮、天融信等公司也都加入了可信计算的行列。武汉大学、中科院软件所等高校和研究机构也都开展了可信计算的研究。
国家发改委、科技部、信息产业部、国家自然科学基金委等政府部门都积极支持可信计算的发展。
至此,中国的可信计算事业进入了蓬勃发展的阶段。
四、我国的一种可信计算平台
下面介绍的是武汉瑞达公司和武汉大学合作研制的我国第一款可信计算机。
1.系统结构
■ 主板上嵌入ESM模块(Embedded Security Module),并以ESM为信任根;
■ 智能卡子系统;
■ 安全增强的BIOS;
■ 安全增强的LINUX操作系统;
可信计算机的硬件系统结构如图7所示。
2.安全功能
■ 基于智能卡和口令相结合的用户身份认证;
■ 系统资源的完整性校验;
■ 安全增强的两级日志;
■ 可控制所有I/O口的开放与关断;
■ 数据的安全存储;
■ 数据加解密;
■ 数字签名与验证。
3.嵌入式安全模块
嵌入式安全模块ESM的结构如图8所示,其中J2810是我们自己研制的芯片。
■ ESM的一个重要特点是对CPU进行了安全设计:将CPU的工作状态划分为系统态和用户态。系统态下可调用用户态的指令,而用户态下只能使用用户态的指令,如果调用系统态的指令则产生硬件中断。
■ 采用SOSCA(Secure Open Smart Card Architecture)结构,从硬件上对存储器进行分区隔离保护。SOSCA技术本质上是一种存储器隔离保护技术,原来主要用于大型机。当发现指令越界时将自动产生硬件中断,阻止这种越界的行为发生,从而确保数据安全。
■ 嵌入式操作系统JetOS是ESM资源的管理者,是ESM和整个系统安全的关键之一。它由传输管理、文件管理、安全与容错管理、命令处理四个功能模块组成。
图8 ESM的结构图
五、可信计算研究的发展趋势
1.可信计算面临的挑战 目前可信计算已经成为信息安全领域的一个新潮流,但可信计算的发展尚存在一些问题。
(1)理论研究相对滞后
无论是美国还是中国,在可信计算领域都处于技术超前于理论,理论滞后于技术的状况。至今尚没有公认的可信计算理论模型。
可信测量是可信计算的基础。但是目前尚缺少软件的动态可信性的度量方法与理论。 信任链技术是可信计算平台的一项关键技术。然而信任链的理论尚需要进一步完善。
理论来源于实践,反过来又指导实践。没有理论指导的实践最终是不能持久的。目前可信计算的技术实践已经取得长足的发展,因此应当在可信计算的实践中丰富和发展可信计算的理论。
(2)部分关键技术尚待攻克
目前的可信计算机产品都没能完全实现可信计算中广泛认同的一些关键技术。如完整的信任链、动态可信测量、安全I/O等。目前的可信测量只是系统开机时的系统资源静态完整性测量,因此只能确保系统开机时的系统资源静态完整性,尚不能确保系统工作后的动态可信性。
(3)缺乏配套的可信软件系统
目前TCG给出了可信计算硬件平台的相关技术规范和可信网络连接的技术规范,但还没有关于可信操作系统、可信数据库、可信应用软件的技术规范。网络连接只是网络活动的第一步,连网的主要目的是数据交换和资源共享,这方面尚缺少可信技术规范。只有硬件平台的可信,没有操作系统、网络、数据库和应用的可信,整个系统还是不安全的。
(4)缺少安全机制与容错机制的结合
安全可靠是用户对可信计算的希望,因此必须坚持安全与容错相结合的技术路线。但是目前这方面的研究还十分缺乏。
(5)可信计算的应用需要开拓
可信计算的应用是可信计算发展的根本目的。目前可信PC机、TPM芯片都已经得到实际应用,但应用的规模和覆盖范围都还不够,有待大力拓展。
2.可信计算待研究的领域
现阶段的可信计算热潮是从可信PC平台开始的,但是它涉及的研究和应用领域却要广泛得多。其亟待研究的领域包括以下三方面。
(1)关键技术
■ 可信计算的系统结构,包括可信计算平台的硬件结构及可信计算平台的软件结构;
■ TPM的系统结构:TPM的硬件结构,TPM的物理安全,TPM的嵌入式软件;
■ 可信计算中的密码技术:公钥密码,传统密码,HASH函数,随机数产生;
■ 信任链技术:完整的信任链和信任的延伸;
■ 信任的度量:信任的动态测量、存储和报告机制,软件动态可信测量;
■ 可信软件:可信操作系统、可信编译、可信数据库、可信应用软件;
■ 可信网络:可信网络结构、可信网络协议、可信网络设备、可信网格。
(2)理论基础
■ 可信计算模型:可信计算的数学模型、可信计算的行为学模型;
■ 可信性的度量理论:信任的属性与度量、软件的动态可信性度量理论与模型;
■ 信任链理论:信任的传递理论、信任传递的损失度量;
■ 可信软件理论:软件可信性度量理论、可信软件工程 、可信程序设计方法学、软件行为学。
(3)可信计算的应用
可信计算技术的应用是可信计算发展的根本目的。可信计算技术与产品主要用于电子商务、电子政务、安全风险管理、数字版权管理、安全检测与应急响应等领域。
六、结论
目前可信计算已经成为世界信息安全领域的一个新潮流。可信计算技术是一种行之有效的信息安全技术。可信计算机与普通计算机相比,安全性大大提高,但可信计算机也不是百分之百安全。
我国在可信计算领域起步不晚,水平不低,成果可喜。我们应当抓住机遇发展我国的可信计算事业,建立我国的信息安全体系,确保我国的信息安全。