基于安全芯片的可信平台设计与实现.docx
- 文档编号:16358182
- 上传时间:2023-07-12
- 格式:DOCX
- 页数:10
- 大小:145.67KB
基于安全芯片的可信平台设计与实现.docx
《基于安全芯片的可信平台设计与实现.docx》由会员分享,可在线阅读,更多相关《基于安全芯片的可信平台设计与实现.docx(10页珍藏版)》请在冰点文库上搜索。
基于安全芯片的可信平台设计与实现
收稿日期:
2005-07-19;修返日期:
2005-09-15
(基于安全芯片的可信平台设计与实现
*
徐娜1,2
韦卫
1,3
(1.中国科学院计算技术研究所,北京100080;2.中国科学院研究生院,北京100049;3.联想研究院,北京
100085
摘要:
基于可信计算联盟的规范,设计并实现了一个能够进行系统完整性数据收集与度量的可信终端系统,在不明显降低系统效率的前提下,获得了更高的安全保障,为进一步建立可信网络环境提供了基础。
关键词:
可信计算;可信平台模块(TPM;完整性度量中图法分类号:
TP309文献标识码:
A文章编号:
1001-3695(200608-0117-03
DesignandImplementationofTrustedPlatformBasedonSecureChip
XUNa1,2,WEIWei1,3
(1.InstituteofComputingTechnology,ChineseAcademyofSciences,Beijing100080,China;2.GraduateSchool,ChineseAcademyofSciences,Beijing100049,China;3.LenovoResearch&DevelopmentCorp.,Beijing100085,China
Abstract:
Basedonthestandardsofthetrustedcomputinggroup,atrustedplatformhasbeendesignedandmiplemented,whichhastheabilitytocollectandattesttheintegritystatusofthesystem.Higherassuranceofsystemsecurityhasbeengainedwithoutdegradingtheperformancenotably,thusthebasisforbuildingthetrustednetworkenvironmenthasbeenprovided.Keywords:
TrustedComputing;TrustedPlatformModule(TPM;AttestationofIntegrity
1引言
Internet飞速发展,各行各业的信息化不断深入,电子商务、电子政务的应用日趋广泛,它的开放性与互联性带来的众多安全问题是始料未及的。
现有的应用模式中,服务器端作为安全的焦点采取了较为严密的安全措施,而对客户端却缺乏足够的重视,形成易被攻击者利用的弱点。
对于一些安全需求较高的应用,为了保证客户端安全,通常采用封闭平台,功能固定,使用嵌入式的硬件设备进行安全计算,如ATM机、POS机等。
这类系统的功能相对单一、具备专用性。
为了满足多样化的需求,开放性平台成了众多应用的首选,许多原来基于封闭性平台的应用目前也逐渐转向开放式平台,如视讯终端设备。
开放平台可以提供通用的平台环境,方便在上面运行众多的应用,满足不同需求,因此使用十分广泛。
但正是这样的灵活性,对恶意程序也敞开了门户,使系统的安全性大打折扣。
对于一个远程的访问者而言,它不能也不应该对与其通信的另一端作出任何安全性假设。
单纯依靠软件来构筑系统的安全性是远远不够的,这一点早已被业界所认知。
可信计算
[1]
的兴起正是以此为出发点,
它是一种软硬件相结合的技术,通过在平台内部引入可信硬件设备作为可信根,为建立安全可靠的终端环境提供有效途径。
从解决终端的安全问题入手,无疑为网络安全的发展提供了新思路。
基于上述描述,提出可信[2]的概念:
一个实体是可信的,是指它按预定目的总是实施可以预知的行为。
具备了可信属性的平台称之为可信平台,它旨在兼顾前述两种平台的优点,既提供应用的多样性,又保证系统的高安全性。
由此可见,可
信计算平台必将拥有广阔的发展前景。
2相关的技术和研究现状
AEGIS[3]是一个在FreeBSD系统上实现了从系统加电到应用程序层逐级安全验证的原型系统。
它将系统启动的过程分为五个级别,BIOS的核心代码构成了第零级别,这部分代码被安全存放并被无条件信任。
按照系统启动的流程,在将控制传递到下一个级别代码前,首先对代码进行完整性验证,验证通过才能将控制向下传递,依此类推。
若某一个环节的验证失败,则强制通过预先的备份数据进行恢复。
由于在启动中和启动后实施了严格的验证,系统可以在预先设定的状态中执行,有效杜绝了恶意程序对系统造成的破坏。
该系统的实现需要添加扩展的ROM,并且验证失败时恢复策略带有强制性。
作为一个原型系统,思想是值得借鉴的。
1999年由Compaq,HP,IBM,Intel和Microsoft牵头组成了TCPA联盟,专注于从计算平台体系结构上增强其安全性,2003年3月改组为TCG[1]。
TCG规范提倡采用一个单独的安全模块作为信任根,这是一个软硬件相结合的子系统。
该子系统被设计成能够度量、存储和报告系统可信赖属性的模块,是建立信任链的起始点。
TCG规范旨在提供开放的、平台无关的标准,从而被应用到不同的平台设备中。
TCG中的信任模型是以TPM(TrustedPlatformModule硬件模块为基础的,TCG只为系统引导阶段建立初始信任过程中参数的度量和报告制定了标准,但对于如何保证系统运行时的可信,把信任链从引导阶段延伸到操作系统的动态执行环境以及支持系统实时度量均#117#第8期徐娜等:
基于安全芯片的可信平台设计与实现
NGSCB[5]是微软新一代系统Longhorn中的技术,它基于TCG的标准。
区别在于:
TCG所提供的更侧重于硬件平台规范,是与厂商无关的;而NGSCB是微软专有的基于可信计算的平台规范,它的硬件基础依赖于TPM,提供基于可信根的完整的系统解决方案。
IBM基于TCG规范在Linux系统下实现了一个完整性度量的体系架构[4]。
通过修改Linux系统,在操作系统和上层应用加载运行前对其进行完整性验证,从而将TCG规范中的信任关系从BIOS层延伸到了应用程序层。
关于可信计算的各方面研究都在积极展开,作为信息安全领域一个新的主战场,独立研究并掌握可信计算的关键技术具有重要意义。
3安全终端的架构和实现
311前提与假定
平台中已嵌入符合TCG规范的TPM芯片,同时实现了支持其上层应用的TSS(TrustedSoftwareStack组件。
假定芯片提供的Sha1算法是安全的,能够抵抗软件攻击和一定的物理攻击。
这样,终端中的可信第三方就具备了/可信0的属性。
312基本架构描述
本文所设计与实现的安全终端基于TCG规范,借鉴AE-GIS系统中信任传递的思想,在现有Windows平台上初步完成了从系统加电启动到上层应用环境完整信任链的建立过程。
在这个过程中,以TPM硬件模块为核心的子系统作为安全终端内的可信第三方,实时地、客观地完成系统状态信息的收集和安全存储,使用这些状态信息既可以实现终端自身的度量,保证终端运行环境的安全可信;更进一步还可以为网络环境中实体之间的相互度量提供依据,保障可信网络环境的建立。
信任的建立包括完整性状态信息的收集,本地及远程的完整性度量。
整体结构如图1所示。
安全终端负责自身完整性信息的收集与度量,最终实现图1中网络环境下远程度量。
五个步骤简要描述如下:
(1客户端请求接入服务端某项服务,进行初始连接请求;
(2服务器端产生随机数值nonce,要求客户端提交收集的系统完整性值;
(3客户端通过完整性收集代理从安全存储和PCR中获取完整性值,连同nonce值一并进行签名;
(4客户端通过完整性度量代理将上步得到的数据发送到服务器端;
(5服务器端根据数据库对客户端进行完整性度量,同时根据验证结果判定其可信状态,并给予应答。
实现以上网络环境下的度量,首先要在客户端实现数据的收集与安全存储。
完整性数据的存储分为两部分,即度量列表和链接哈希值。
它们分别存放于安全存储和TPM内部的PCR寄存器中。
其中,安全存储通过磁盘上特殊的分区来实现,存放对受保护的操作系统和应用程序各个模块收集到的完整性度量值。
为了保护度量列表自身内容的完整性,还要存储它们的链接值。
这里使用的PCR(PlatformConfigurationRegister属于易失性存储,目前TPM支持16个,每次开机时均复位零。
伴随系统的启动和控制权的逐级传递,采用TPM提供的Sha1
度量各个模块保存完整性值,同时调用TPM内部命令Extend把度量结果写入相应PCR。
Extend操作把当前PCR值和新计算的值进行链接后再调用Sha1,用输出的值更新PCR,运算过程如下:
Sha1(Sha1(Sha1(0+m1+m2+mi。
这种方式可以实时准确地记录系统的状态信息,防止伪造度量列表项的数据。
各PCR的用途如图2所示。
上述描述的完整性数据的构成具备很好的灵活性和扩展性。
TCG规范中仅提供了PCR形式的度量数据的存储,如果只根据PCR值进行系统可信状态的判定,对于开放式的系统平台将很难具备可行性,因为操作系统本身的配置不是唯一性的,在其上运行的应用也灵活多样,加载的次序问题也不固定,因此不应该对各种组合形成的PCR值作简单的唯一性限定,这将丧失我们所希望保持的开放性平台的灵活性。
所以我们增加了度量列表的内容,对列表项对应的每个模块分别验证完整性,而PCR中的值用来保证列表本身的完整性不被破坏。
如此,既可避免严格限定又保证收集的数据的安全可信。
实现完整性数据收集需要在系统控制权传递的每个环节中插入度量点。
这些环节除了在TCG规范中详细描述的引导阶段外,我们需要重点实现的插入部分位于操作系统加载前和应用程序加载前。
对于前者,当引导模块获得控制权即将加载系统模块时,将切换到一个小的专用系统,该系统专门负责要加载的操作系统模块的完整性数据收集与验证。
执行完该过程后,控制权才返回引导模块,执行加载过程。
对于后者,处于操作系统运行中,需要截获可执行文件的运行行为,在运行前收集要执行文件的完整性数据。
两种情况插入的度量点,除了收集数据并存储外,均可结合终端安全存放的备份数据,执行自身度量,根据结果按照定制的策略进行相关恢复或更新操作。
完整的信任链建立过程如图3所示。
313系统实现
基于上述完整架构的描述,目前我们已在终端系统上实现
了完整性数据的收集、度量与恢复系统。
对于远程度量的实现还需要完成的只多了数据传输和交互部分,度量的过程与本地进行是完全类似的,因而不涉及核心内容,不再赘述。
#118#计算机应用研究2006年
根据系统配置,操作系统模块的加载顺序相对固定,除非系统重启,度量的过程只执行一次,因而操作方式相对简单,只
需依次度量各个模块并执行相应策略既可。
系统启动后,对于应用程序的度量相对比较复杂:
①运行具有随机特性;②同一程序的运行具有反复特性。
对于问题①,没有固定度量次序,需要准确获取度量时机,为了实现这一目的,利用文件过滤捕获对系统文件和可执行文件的读写操作;对于问题②,同一程序的反复度量,加上应用众多,势必影响系统运行效率,需要更高效的解决方式,采用标志位Dirty来提高效率。
当以写方式打开文件时将其置位,这样下次执行前检查后执行度量;否则可省略。
实现描述如图4
所示。
4安全性与效率分析与小结
由于不考虑物理方式对硬件的攻击,详细的度量数据列表
存于隐蔽的磁盘分区上,同时对度量列表各数据项以及链接哈希值的计算均在TPM芯片内部完成,并且链接哈希值存放在PCR中,保证了收集和度量数据的高可靠性。
芯片提供的Sha1算法本身可以保证不同模块对应度量表项的唯一性。
测试表明:
当被保护的系统模块和应用程序被窜改后,系统可以及时发现并请求执行策略,然后进行修复或更新;发现系统模块被删除后,会自动执行恢复;当发现不可信程序即将运行时,会请求用户选择策略然后按策略执行。
测试在配有安全芯片的Pentium42.0GHz机器上进行。
加载操作系统前,使用TPM芯片对不同大小操作系统受保护
模块进行度量所需的平均时间如表1所示。
表1度量系统模块的效率
平均度量数据大小200MB500MB1024MB平均度量时间
32s
87s
183s
系统启动之后,对应用程序的度量由于设置了标志位,效率比对系统的度量更高些,不会明显感到程序的启动速度降低。
测试结果显示,实现完整性数据的收集与度量所带来的效率损失基本呈线性增长,在原有系统上只需以较小的效率损失就可得到更高的安全性。
实现系统完整性状态的收集与度量是提高端点安全性的首要步骤,它更重要的意义在于为网络环境下众多的应用提供更加安全可信的环境,因此将度量机制同现有的各种安全协议进行有机结合和扩展是下一步的研究内容;同时现有的度量仍是基于单纯的哈希算法,它根本上仍是基于对二进制代码静态方式的度量来获得对程序运行行为的保证,缺乏足够的灵活性和表现能力。
如何实现动态的,在编程语言一级基于语义、类型等属性对程序的运行行为进行更为可靠的度量也是需要深入研究的内容。
参考文献:
[1]TrustedComputingGroup[EB/OL].http:
//www.trustedcomputing-group.org,2001.[2]
ISO/IEC.
InformationTechnology-OpenSystemsInterconnection-E-valuationCriteriaforInformationTechnology[S].StandardISO/IEC
15408,1999.[3]WAArbaugh,DJFarber,JMSmith.ASecureandReliableBoo-t
strapArchitecture[C].ProceedingsoftheIEEESymposiumonSecu-rityandPrivacy,1997.[4]
RSailer,XZhang,TJaeger,etal.DesignandImplementationofaTCG-basedIntegrityMeasurementArchitecture[C].The13thUsenixSecuritySymposium,2004.[5]MicrosoftNext-GenerationSecureComputingBase-Technical[EB/
OL].http:
//www.microsoft.com/technet/treeview/default.asp?
url=/technet/security/%news/NGSCB.asp,2003.[6]MAbad,iTWobber.ALogicalAccountofNGSCB[C].Madrid:
ProceedingsofFormalTechniquesforNetworkedandDistributedSys-temsFORTE2004,2004.1-12.
作者简介:
徐娜(1980-,女,硕士研究生,主要研究方向为信息安全;韦卫(1964-,男,高级工程师,硕士生导师,博士,主要研究方向为网络安
全和密码协议。
(上接第116页暴力攻击、猜测和重放攻击;只能单向验证客户
身份,无法解决服务器是否可信的问题等,严重地制约了网络应用的发展。
因此我们基于数字证书技术、公钥密码技术,设计了安全身份认证协议,很好地解决了上述安全问题,建立了一套通用的增强型身份认证系统,既可广泛适用于各类B/S和C/S网络应用,也可以很方便地用于升级原有系统使用的用户名和口令身份认证系统。
目前该身份认证系统在广东省社保、国税、工商等众多电子政务网上业务系统中得到成功应用,具有很好的实用价值。
参考文献:
[1]
ITU-TRecommendationX.509,InformationTechnology-OpenSystemsInterconnection,TheDirectory:
AuthenticationFramework[S].1997.[[计程与应用,2002,38(19:
156-158.[3]MichaelMyers,RichAnkney,AmbarishMalpan,ietal.X.509In-ternetPublicKeyInfrastructureOnlineCertificateStatusProtoco-lOC-SP[S].RFC2560,PKIXWorkingGroup,1999.[4]PKocher.OnCertificateRevocaitonandValidation[J].Financial
Cryptog2Raphy,1998,1465:
172-177.
[5]X.509InternetPublicKeyInfrastructureOn-lineCertificateStatus
Protocol2OCSP[S].RFC2560,1999.[6]HousleyR,etal.InternetX.509PublicKeyInfrastructure,Certif-i
cateandCRLProfile[S].RFC2459,1999.[7]BruceSchneier.应用密码学[M].吴世忠,等.北京:
机械工业出
版社,2000.10-158.
作者简介:
吕格莉(1973-,女,湖南长沙人,中南大学讲师,湖南大学在读硕士研究生,研究方向为密码学与信息安全;王东(1964-,男,湖南长沙人,;戴骥,,,经理;,女,#119#第8期徐娜等:
基于安全芯片的可信平台设计与实现
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 安全 芯片 可信 平台 设计 实现