可信计算中的可信量技术_第1页
可信计算中的可信量技术_第2页
可信计算中的可信量技术_第3页
可信计算中的可信量技术_第4页
可信计算中的可信量技术_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

可信计算中的可信量技术

1tpm安全性能在可靠的计算技术中,信任链的传输通过可靠性计量机制进行。在pc计算环境中,应用程序执行操作系统。要实现对应用程序的度量操作,必须确保应用程序运行时,操作系统已被纳入可信计算基中,即要求以TPM(TrustedPlatformModule)为信任根的初始可信计算基能够可信地度量PC操作系统。但是在目前的PC计算环境下,还没有度量操作系统和操作系统上应用程序的有效方法。文献按照用户和平台分离的思想,在TPM保证PC主机可信的基础上,提出了在可信平台使用U-Key增强用户端可信的方案,但其并没有解决复杂操作系统和应用无法度量的问题。本文将Java智能卡与PC计算机相结合,并在卡内设计出可信度量模块,不仅从底层验证了用户端身份可信,同时基于虚拟机的可信计算环境大大降低度量操作的复杂度,有效地解决在不可信操作系统中确保应用程序可信的技术难题。2基于web-tables的应用可信计算组(TCG)提出了在PC中基于硬件TPM的信任链传递机制,按照可信计算的思想,对于引入了Java智能卡的可信平台体系结构和引导过程如图2.1所示:PC主机端引导时,在GrubStage1.5与GrubStage2之间需加入与Java智能卡通信的Smart-CardRealModeDriver(智能卡底层驱动程序)用于用户端底层身份认证,并由GrubStage1.5对其进行完整性度量。用户端Java智能卡环境包括本地方法集、Java卡虚拟机(JCVM)、Java卡应用编程接口(JCAPI)、Java卡安全下载、身份认证和可信度量等模块、Java卡运行时环境(JCRE)以及下载到卡内的Applet应用程序。其中安全下载模块保证了从PC不可信环境到卡内的下载通道的可信,身份认证模块保证了用户身份的可信,可信度量模块保证了下载到卡内的Applet的完整性和内容的可信,下面主要介绍可信度量模块的设计。3java智能可靠模块方案的设计3.1btmm的使用与PC计算环境相比,基于Java智能卡平台的计算环境相对简单,因此本方案采用传统的字节码哈希值度量方法。根据Java智能卡计算平台的特点结合可信度量思想,卡内度量根RTM(RootofTrustedMeasurement)为Java卡上电后首先启动的BootLoader,卡内度量模块分为基础类库可信度量模块BTMM(BasicTrustedMeasurementModule)和Applet应用程序可信度量模块ATMM(AppletTrustedMeasurementModule),BTMM被固化于BootLoader中,从而确保了度量根的实体完整性。BTMM只用于每次Java智能卡加电时,对Java智能卡本地方法集、基本应用编程接口等进行完整性度量。本方案中JCAPI被保存于E2PROM中,而其它核心部件,如JCRE和JCVM等被保存于只读存储器ROM中,因而为JCAPI的升级和维护提供了灵活性;另一方面,位于E2PROM中的JCAPI字节码,可能会受到边通道分析等手段的攻击。因此,为确保Java智能卡计算平台的核心部件的实体完整性,应在设备加电时,从卡内度量根BootLoader开始对它们的字节码进行逐级度量。ATMM用于度量下载到Java卡内的Java智能卡Applet应用程序的字节码,以确保其在运行前的实体完整性。它将度量对象指定为Applet的方法组件,这是因为方法组件中包含着一个Applet需要执行的所有字节码指令,Applet的方法组件就相当于PC环境中应用程序进程在内存中展开的二进制代码,JCVM的解释器正是通过对方法组件中的字节码进行解析执行来驱动Applet应用程序的。在解释器解释执行这些字节码之前对它们进行度量,则可确保相应Applet应用程序的实体完整性和可信性。按照TCG可信计算机制,对于实体完整性的度量应发生于应用程序被启动前,即应采用动态度量时序。对于面向堆栈的、单进程Java智能卡计算平台而言,Applet应用程序想要运行,首先需要等待当前的Applet应用程序运行完毕,其次还需要被JCRE选中即执行Select方法时才行。一个Applet一旦被选中,将一直占用Java栈,直至Java栈为空,其间受防火墙机制的保护,并维持一个指定的Context上下文环境。只有Applet需要访问共享对象时,才会发生上下文切换现象。因此本方案设计的度量操作将在JCRE选择Applet时和JCRE访问共享对象而出现上下文切换时两种情况发生。3.2度量操作基本步骤为建立度量机制,JavaApplet应用程序提供方应该提供度量方案(包括下载包中Applet的基本度量信息)并被签名和下载到Java智能卡平台中。图3.1为一个基本的度量方案结构:当JCRE接收到Select命令选择指定的Applet时,需要按照度量方案中“本包度量域”中给出的度量方法(计算被度量对象的摘要值)对度量对象进行度量。由Select方法触发的度量操作基本步骤如下:(1)当JCRE选择指定的Applet时,将启动应用程序度量模块,度量模块将根据所选Applet对应的上下文查找与之关联的包注册表项,并从中获取对应于该包的度量方案;(2)按照度量方案中指定的度量方法依次对指定的对象进行度量,其中包括JavaApplet所属包和导入包(JCAPI除外)的方法组件,这些组件由各自所属包的AID号惟一标识;(3)将待度量包作为一个度量点,并依此执行度量值的扩展操作:其中mi表示待度量的第i个包,而MM()表示使用MM算法计算度量点的度量值,例如,MM可以是SHA1或SM3等;(4)比较Value’与度量方案中的可信期望值Value是否相同,以确定度量是否成功。当出现跨包访问对象而引发上下文切换时,度量操作的基本步骤如下:(1)首先度量要访问的服务器Applet的方法组件;(2)如果失败,整个度量操作将失败,如果成功则继续下面的操作;(3)根据客户端Applet的AID在度量方案的“外包度量域”中查找与之匹配的度量项;(4)若未找到,仍可继续执行访问操作,但需设置指定的可信评估状态字;若找到,如前所述,则应按照该项指定的度量方法对客户端Applet所属包的方法组件进行度量;如果与参考值匹配则成功,否则失败。3.3参数估计和度量事件Java智能卡BTMM和ATMM在度量时序和实现上略有不同,但采用的度量方法相同,即使用摘要算法计算指定Java包(基础类库包,或Applet应用程序包)中方法组件的摘要值。Java智能卡BTMM度量流程如图3.2所示:(1)Java智能卡上电后,即启动可信度量根BootLoader,执行BTMM;(2)BTMM获取系统基础类库所占的最大包号以及各应用基础包对应的可信期望值(保存于每个包的包注册表中);(3)依次获取每个系统基础类库的方法组件;(5)若度量值与可信期望值不相符,则记录异常信息,并直接退出;(6)若度量正确,开始初始化Java卡平台,继续向上层传递信任链,并进入JCRE。Java智能卡ATMM的启动分为两种情况,即当JCRE启动解释器执行Select方法时和JCVM获悉用户调用JCSystem.getShareableAppletInterfaceObject请求访问其他Applet提供的共享访问接口时,ATMM度量流程如图3.3所示。JCRE启动解释器执行Select方法时的度量事件包含以下步骤:(1)启动ATMM,获取待选择Applet所在包的方法组件物理地址;(2)通过该包的方法组件获取与该包相关的度量方案;(3)从度量方案中获取本次度量的度量点个数(一个度量点,对应于该包导入的一个外包,基础类库除外);(4)按顺序对第一个度量点进行度量;(5)对度量值进行迭代操作;(6)重复(4),(5)两步,对度量方案中给定的度量点一一进行度量;(7)完成所有度量点的度量操作后与可信期望值进行对比;(8)如果匹配,则执行被选择Applet的相应代码,否则写入异常信息,并向JCRE抛出异常。JCVM获悉用户的JCSystem.getShareableAppletInterfaceObject请求时的度量事件包含以下步骤:(1)启动ATMM,获取要访问的服务器Applet所在的包号;(2)按照上面介绍的方法对服务器Applet所在包的方法组件进行度量;(3)获取要访问服务器Applet所在包中度量方案内的外包度量域;(4)查找与客户端Applet相对应的度量项,如果不存在,记录该度量事件的信任度;(5)如果有与之匹配的度量方案,则按照该度量方案对客户端Applet度量;(6)如果对客户端Applet度量成功,则允许客户端的访问请求;(7)否则拒绝其访问请求,记录度量失败事件。4增强了不可信的可信在原有可信计算平台中引入具有可信度量模块的Java智能卡可信计算环境后,解决了信任链传递问题,提高了Java智能卡计算环境的安全性,主要表现在以下方面:(1)增加了Java智能卡用户身份验证,将用户与平台分离验证,增强了用户安全性;(2)在Java卡中引入度量机制后,保证了从底层BootLoader到上层Applet应用的代码实体完整性,使信任链得以传递,同时也增加针对Java语言类型系统攻击的难度;(3)在增加对字节码的度量后,获取共享接口对象的操作实际上已经不再是以前的单因子认证

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论