平震宇
(江苏信息职业技术学院计算机工程系,江苏无锡 214101)
网络可信平台的设计与实现
平震宇
(江苏信息职业技术学院计算机工程系,江苏无锡 214101)
介绍了网络可信平台的研究与实现,采用可信度量机制以保证网络计算终端的安全为基础,利用远程证明机制对网络接入终端的可信性验证,根据验证结果决定对整个网络计算环境的访问控制,利用传统网络安全技术和可信计算技术实现了全新的网络安全体系结构.
可信计算;可信认证;远程证明;网络安全
目前,大部分信息安全系统主要由防火墙、入侵监测等环节组成,其主要以共享信息资源为中心在外围对非法用户和越权访问者进行封堵,以防止外部攻击,而对访问者源端不加控制.此外,由于操作系统的不安全因素导致系统出现各种漏洞,同时,许多计算机应用程序都采用分布式结构,整个系统为保证系统功能能正确执行,客户端组件在其中扮演着重要的角色.因而无法从根本上解决安全问题.造成终端不可信的原因很大程度上是因为终端上运行了不可信的程序代码,如果能够识别出不可信的代码程序,那么就有可能建立起一个安全可信的终端运行环境[1].网络可信平台的核心思想是系统的启动从一个可信信任源开始,任何将要获得控制权的实体,都需要先通过完整性认证,从而通过构建一套安全机制,来消除或者最大程度的限制恶意代码的作用范围和作用程度[2,3].
本文介绍了网络可信平台的研究与实现,采用可信度量机制以保证网络计算终端的安全为基础,利用远程证明机制对网络接入终端的可信性验证,根据验证结果来确定对整个网络计算环境的访问控制,即利用传统网络安全技术和可信计算技术实现了全新的网络安全体系结构.
针对当前安全模型对可执行权限没有专门的定义和描述,设计出一种系统完整性度量模型,对客体的可执行权限严格的定义和描述,对被执行的客体实施完整性度量,确保其完整性不被破坏,防止恶意代码的执行,保护系统的完整性.
初始安全状态,即系统中不包含恶意代码,所有可执行代码的完整性都没有被破坏,那么在其他任意时刻,只要确保主体所执行的代码的完整性没有被破坏,即代码完整性特征值与预期完整性值相同,就可保证主体所执行的代码的安全,从而确保整个系统的完整性不被破坏.在系统运行时,仅当可执行程序是这个“白名单”的成员且保持完整性才被允许执行.通常情况下,可执行程序的运行还需要其他的相关客体,如需要装载的动态库、读取配置文件、安全策略文件.如果这些与可执行程序相关客体的完整性被破坏,就不可能保证主体所执行的代码的安全,更不可能确保整个系统的完整性不被破坏.如个人防火墙的安全策略文件被非法改变,由高安全性变为低安全性,这虽然也没有破坏被执行客体的完整性,但是却使个人防火墙保护终端的能力降低,给系统的安全性带来极大的隐患.基于上述思想,我们定义严格的安全公理.
定义1 si∈S,oi为一带有恶意代码的客体(oi∈O),if请求rq(si,oi,e)被允许,则系统被恶意代码入侵.
定义2 fr为定义在客体o上的函数,oi∈O, fr(o)={o和O执行相关其他客体的集合}.如,fr (o)由可执行的客体 o,及其 o执行时需要输入数据,如加载的动态库、配置文件、安全策略文件等客体组成.
安全公理 一个系统状态V为安全状态,iff b (S:e)⊆Op,且∀oi∈b(S:e),∀ok∈fr(oi),使得fc(ok)=unmodified.其中,b(s:x1,x2,…,xn)表示 b中主体S对其具有访问权限xi的所有客体的集合.态序列 Z是一个安全状态序列,iff对于每一个t∈T,z∈Z都是安全状态.
在模型中,我们对执行权限做了严格的定义和描述.首先,客体的执行权限必须由可信主体授权,即只有经过可信认证的客体才可能被允许执行.为了维护系统的完整性和一致性,在增加一个新的完整性保护的客体前,必须确保其完整性.因此,在安装新软件时,通常要求软件发布者对其发布软件的摘要进行数字签名.即在安装新软件时,由可信主体验证数字签名和软件的完整性后,才能将其加入到可信集合中.同时,在允许客体执行前,应进行严格的完整性度量,以确保客体以及与它相关的其他客体的完整性没有被破坏,客体才能被允许执行.完整性度量模型是对当前安全模型的补充,它与其他安全模型的结合,可为系统提供更加细致和完善的安全策略.
为构建可信网络连接,我们必须把信任延伸到网络中,而远程证明机制正是使信任能够在网络环境下传递的方法.远程证明的实质是一种基于二进制的完整性验证[1],该方式存在以下问题:①证明过程需要验证方知道各种平台可能配置的完整性数据,这些数据的获得与管理较困难,因而该方式仅适用于封闭的网络环境中;②平台配置值的完整性状态不能表达更多的平台安全信息;③配置信息暴露会导致平台更容易攻击.
基于属性的远程证明模型可以很好的解决上述问题[4].基于属性的远程证明过程包含3个参与方:访问请求者Challenger),不违反任何特定安全需要的实体——可信第三方(Trusted Third Parth,TTP),服务提供方.远程证明过程如图1所示.
图1 基于属性的远程证明过程
远程证明过程具体为:第一步,发送被验证平台的系统完整性报告给可信第三方;第二步,可信第三方根据这个完整性报告,并对照其拥有的属性安全策略,包括平台组件属性及完整性特征值、运行后平台属性以及基于平台属性的访问控制策略,形成一个授权书;第三步,可信第三方颁发证书给被验证平台;第四步,被验证平台向服务提供方证明自己的属性和权限,获得服务方资源.
这种基于属性的远程证明机制有以下优点:①便于完整性数据的有效管理,易实现复杂开发网络环境下的异构平台之间的验证;②根据访问控制策略生成证书方式灵活;③避免直接暴露平台配置给未知验证方;④用户可以控制那些属性用于平台验证.
在建立可信网络连接时,网络中的实体不仅要求鉴别身份,证明它们被授权允许访问网络,而且要求验证它们运行环境和程序是否可信.基于属性的远程证明机制借助可信第三方拥有的完整性数据和属性策略验证平台的属性,可以实现任意平台间的认证,使系统更适于开发的网络环境[3,4].
可信网络平台本质上就是采用可信度量机制以保证网络计算终端的安全为基础,利用远程证明机制对网络接入终端的可信性进行验证,根据验证结果决定对整个网络计算环境的访问控制.可信网络平台系统结构如图2所示. 3.1 初始配置阶段
图2 可信网络平台系统结构图
完整性度量方法所具有的一个重要特点是:检测结果依赖于检测依据,也就是预期完整性度量值.即只有首先确定度量依据,才能进行度量,度量依据的确定是度量方法的先决条件.保护存储能针对需要保护的敏感文件实施机密性与完整性双重保护,通过对其加密确保其机密性,利用一致性检查和禁止授权以外的其他程序或冒名的授权程序访问文件确保其完整性[3].在初始配置时,需要收集的信息包括:①系统和用户的身份信息(Identity Information);②系统完整信息(Integrity Information)包括系统配置信息,应用程序信息;③其他系统有效信息,包括注册表扫描信息,病毒软件扫描信息,端口扫描等信息.把所有终端信息生成摘要并使用TTP公钥加密后保存在TTP的已经建立好的PCR中.
3.2 可信第三方确认阶段
当访问请求者(Access Requestor,AR)需要通过策略实施点(Policy Enforcement Point)PEP进行网络访问时,策略实施点发送认证请求给访问请求者的可信认证服务.当可信认证服务收到认证请求后,需要寻找合法的TTP,进入到可信第三方确认阶段.
首先,可信认证服务客户端TASC产生一个160bit的随机数random,发送确认请求Chreq到TTP可信认证服务服务端TASS;其次,TTP将自己的特征信息,以及TASC发送过来的random使用自己的私钥AIK priv计算摘要Quote=sig{PCR,random}AIK-priv;再次,TTP发送回复信息到 TASC,ChRes (Quote);最后,TASC收到后,使用TTP证书中的公钥验证接收到PCR以及random时候正确.如果验证正确说明可信第三方平台是预期的合法平台,可以进行下面的认证阶段.
3.3 可信认证阶段
当访问请求者找到合法的TTP后,开始可信认证阶段.具体步骤如下:第一步,TASC要求完整性度量收集器(Integrity Measurement Collectors,IMC)根据策略实施点发送认证请求(即网络访问端口信息)查找网络访问者信息,计算访问者可执行程序、动态库、配置文件的Hash值,使用自己的私钥签名产生认证信息,AuthData=sig{(Exec,LIB,Config File) hash}USERpriv,将认证信息发送到TTP的TASS;第二步,TTP的TASS接受到信息后,由完整性度量鉴别器(Integrity Measurement Verifiers,IMV)对IMC信息进行分析,如果IMV需要更多的完整性信息,它将向TASC发送信息.如果IMV己经对IMC的完整性信息做出判断,它将结果通过发送给TTP的TASS;第三步,当TASS已经完成了和TASC之间的完整性检查握手后,它发送TASS动作建议给NAA.这里要注意的是,即使AR通过了TASS的完整性检查,如果它的某些安全属性不满足NAA的要求,NAA仍然可以拒绝AR的网络访问请求;第四步,NAA发送网络访问决策给PEP让其执行.NAA也必须向TASS说明它最后的网络访问决定,这个决定也将会发送给TASC.一般PEP还要向TTP说明其执行决策的情况.
当合法访问程序被病毒或木马感染后,签名值将发生改变,网络可信平台在比较签名值后,能在被病毒或木马感染的程序建立网络通讯之前中断通讯.基于此原理,即便是未知的病毒或木马都无法传播到核心数据服务网络.
3.4 系统实现与分析
本文在Xen隔离Compartment的平台上实现电子政务可信网络平台系统.系统中可信硬件层使用的是符合TPM规范的Nation SemiConductor TPM安全芯片.使用开源虚拟机控制器Xen实现虚拟机监控层,Xen Hypervisor实现各虚拟机的强隔离,可信第三方平台的TASS,NAA,IMV分别运行于虚拟机的操作系统内核中.终端IMC与TASC分别在windows与linux系统上实现.
电子政务公文传输系统运行环境由收发文终端以及应用服务器构成.收发文终端一般构成为:个人计算机、USBKEY驱动程序和TASC.应用服务器则由TASS,中心数据库服务器,身份认证服务器等构成.收发文终端的安全状况依赖于终端个人计算机的安全配置.USBKEY驱动程序和TASC,只是作为一般的应用程序装入操作系统.其安全性也依赖于个人计算机的安全性.一旦个人计算机的安全防御被攻破就暴露在不安全状态下,有可能被恶意木马或者病毒改写.应用服务器的状况也大致类似,并且公文传输的系统服务程序以及包含用户的各种信息的数据库的安全性也依赖于应用服务器计算机的安全配置.一旦服务器崩溃,不但正常的服务受影响,更有信息泄漏的危险.为解决上述安全隐患,电子政务可信网络平台系统具体方案实现如下:
在初始化阶段,对应用程序做完整性记录,进而在运行使用阶段,对应用程序做完整性检测,如果检测结果与记录不一致,则发出警报.对于终端方面,当接收到认证请求时,IMC模块度量可执行程序和相关的系统和动态链接程序,需要度量的部件是USBKEY驱动程序和安全中间件.安全启动在装载操作系统之前开始,包括度量操作系统的组件.内核组件装载执行之后,它们度量验证其他平台安全策略指定的组件.如果度量验证过程中任何时刻发现背离安全策略的情况,平台可以选择中止执行,或者选择继续启动到一个等待修正的状态,以便更新组件或者安全策略.USBKEY驱动程序在安装过程中作为操作系统的服务嵌入操作系统,对其实现的度量可以把它看作操作系统的某一个组件,在安全启动过程就实施度量.鉴于USBKEY驱动是基于系统标准接口开发的,未经授权的程序也有可能调用该驱动,进而取得数字证书等用户相关信息数据.为此,应用TPM的安全存储机制,对USBKEY中的证书等信息数据进行封装再存储,安全中间件调用驱动程序取得数据之后,经过TPM的解封装再使用,如此将大大增强系统身份认证的安全系数.中间经过TPM的可信保障,未授权的程序即使取得用户数据,也因为不能通过TPM的验证而得不到数据的解封装,从而无法使用.安全中间件主要负责向身份认证服务器发送身份认证请求,对其实现的度量可以在用户单点登陆时,作为装载的应用程序进行度量. TASS维护与各个AR的会话组件树.TASC与TASS进行通信认证时,TASS新建会话,首次证明时将计算整个会话组件树,用根节点扩展PCR,TPM签名生成证明凭证,当与AR关联组件发生更新时,组件管理器将触发TASS对会话树进行更新.TASS将收集的信息协同完整性度量鉴别器IMV完成检验工作后发送结果给NAA.最后,NAA告知执行机构.在实验中,系统进行组件证明的平均通信时间为1.315 s,更新证明平均时间为1.123 s.此也表明,系统能够满足终端的访问请求延时要求.
本文将传统的网络安全技术和可信计算技术有机结合,建立可信网络体系结构,从而构建可信应用环境.采用可信度量机制以保证网络计算终端的安全为基础,并利用远程证明机制对网络接入终端的可信性验证,从而为网络计算环境稳定、安全地运行提供可靠保证.
[1]王 飞,刘 毅.可信计算平台管理中心的设计与实现.微计算机信息,2007,24(3):91-93.
[2]Anderson R.Cryptography and Competition Policy Issues with“Trusted Computing[C]//Proc.22nd ACM Ann.Symp.Principles of Distributed Computing.New Y ork:ACM Press,2003.
[3]Marshall D A,Michael V J.Trusted systems concepts[J].Computer and Security,1995,103(14):45-56.
[4]沈昌祥.构造积极御综合防护体系[J].信息安全与保密, 2004,22(5):17-18.
[5]闵应骅.可信系统与网络[J].计算机工程与科学,2001,23 (5):21-28.
[6]Anderson RJ.Security engineering:A guide to building dependable distributed systems[M].New Y ork:Wiley Press,2001.
Design and Realization of Trusted Network Platform
PING Zhenyu
(Department of Computer Engineering,Jiangsu College of Information Technology,Wuxi 214101,China)
The research and implementation of trusted network platformwas introduced,which was based on the security of network calculating termination by reliability measuring system.Telnet was used to confirm the reliability that the system has to the network input termination.With the confirmed outcomes,access control for the whole calculating environment would be decided.The traditional network security technology and trusted computing technology were used to realize a brand-new network security system.
trusted computing;trusted certification;remote attestation;network security
TP309
:A
1004-5422(2010)02-0150-04
2010-01-26.
平震宇(1975—),男,讲师,从事计算机网络与数据库安全研究.