已阅读5页,还剩58页未读, 继续免费阅读
(计算机软件与理论专业论文)可信平台中基于属性的远程证明系统.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
i 摘 要 随着互联网的高速发展和计算机的高度普及,网络环境下的资源共享与协作计 算在生产生活中发挥着越来越重要的作用。在协作之前需要确信远程平台硬件和软 件配置的真实可信性,以确保远程主机的行为在期望的范围内。然而,现在采用的 基于密码和 pki 技术的访问控制和身份验证等安全机制没有考虑上述目标;而 tcg 组织定义的简单远程证明机制虽然尝试解决此类问题,但是以度量值为基础,存在 管理和版本强行控制的缺陷,不易实际应用。 针对上述问题,可信平台中基于属性的远程证明系统 pras(property- based remote attestation system on trusted platform)将属性与策略机制引入到远程证明中。 对于远程主机,用户不仅关心是否具有某种硬件或者软件配置和度量值,更在乎能 否提供某种与安全相关的属性。为了证实属性的合法性,pras 系统还引入了属性证 书、属性权威中心和平台身份权威中心。属性证书用于标识合法的属性集合;平台 身份权威中心负责签发平台身份证书;属性权威中心负责签发平台或者应用程序的 属性证书。为了及时检测平台或者应用程序的改动(合法的或者非法的),pras 系统 采用信号异步处理技术设计了属性集的动态监听机制,以保证签发的属性证书反映 平台或者应用程序的最新状态。签发的属性证书采用可信平台的 seal/unseal加密机 制与平台状态绑定在一起,以保证其安全性。用户在证明平台或者应用程序的可信 性之前,以可信判定策略的形式定义对目标的安全需求,然后依据自定义的策略评 定属性证书的可信性,从而确认被证明目标的可信性。此外,pras 系统以可信平台 模块 tpm 芯片为基础设计数据传输协议,增强了数据在网络环境下传输的安全性。 基于 linux 操作系统的可信平台,采取 c、java、jsp 等编程语言实现了 pras 系统,并且对系统进行了测试。测试结果表明,pras 系统能够检测网格服务非法篡 改、合法升级/回滚以及可信评定策略在证明中发挥作用。pras 系统在检测网格服 务被篡改、升级/回滚的准确率为 0.970.99,客户端的平均服务时间趋近于 14.8s。 压力测试表明,pras 服务端每秒能够处理的最大请求数为 1618,具有较强的处理 能力。 关键字:可信平台 远程证明 属性集 属性证书 可信评定 ii abstract with the rapid development of internet and highly popularity of computer, resources sharing and collaborative computing in network environment play an increasingly important role in human activity. before collaboration, it is necessary to determine the authenticity and creditability of hardware and software configuration of the remote platforms, to ensure that the remote hosts behaviour will be in the context of expectations. widely used access control and authentication technologies based on cryptography and pki don t consider this goal. simple remote attestation mechanism defined by tcg attempt to solve this problem, while it proves to have defects in management and version control because it is based on measurement values, which brings on the difficulty in practical applications. to address the issues above, property and policy are introduced into remote attestation in pras (property- based remote attestation system on trusted platform). concern of users on the remote host is not only what hardware or software configuration and measurement value it has, more importantly, what security- related property it can provide. to confirm the legitimacy of properties, property certificate, property authority and platform authority are also introduced into pras. property certificate represents the legitimate attribute set. both property authority and platform authority are established on trusted platform; the former is responsible for issuing property certificate, and the latter for issuing identity certificate of platforms or application. in order to timely detect changes of platforms or applications, pras designs the dynamic wiretapping mechanism for collecting property sets using asynchronous signal processing technology, which makes the property certificate reflect the latest state of certain platform or application. the signed property certificates are bound with the platforms state using seal/unseal encryption mechanism of trusted platform to ensure their safety. before attesting credibility of remote platforms or application, users should define their security requirements for the attested objectives in the form of credibility assessing policy. sine then, pras client will analyse the credibility of property certificate according to the policy defined previously. in addition, data transfer protocol is designed base on tpm (trusted platform module) in pras, to enhance data security when transferring in network environment. iii based on the linux operating system, pras is implemented using the programming languages such c, java, jsp. also, the system performance is tested. test results show that pras proves to play a functional role in detecting illegal tamper and legal upgrading of applications and other changes. the pras client s total spending time are close 14.8s, which users can bear. pressure test shows that pras server has strong handling ability, with the largest handling number between 16 and 18 each second. the exact rate of pras in detecting tamper, upgrading and rolling back of applications is between 0.97 and 0.99, which meets the users requirements well. key words: trusted platform, remote attestation, property set, property certificate, credibility assess ii 独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除文中已经标明引用的内容外, 本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。 对 本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。本 人完全意识到本声明的法律结果由本人承担。 学位论文作者签名: 日期: 年 月 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即: 学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允 许论文被查阅和借阅。本人授权华中科技大学可以将本学位论文的全部 或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复 制手段保存和汇编本学位论文。 本论文属于 (请在以上方框内打“” ) 学位论文作者签名: 指导教师签名: 日期: 年 月 日 日期: 年 月 日 保密,在 年解密后适用本授权书。 不保密。 1 1 绪论 1.1 问题提出 在过去的 20 多年间涌现出了大量的分布式计算技术, 如中间件技术、 网格技术、 移动 agent 技术、p2p 技术以及最近推出的 web service 技术等。在信息社会里,它 们在个人生活、企业生产、政府职能和科学研究等方方面面发挥着不可替代的作用。 越来越多的分布式系统利用计算机网络将地理上广泛分布的计算终端如 pda、pc、 笔记本和工作站等连接成为完成共同目标的服务系统,以实现资源共享、协作计算 等。 异构主体的共享与协作必须建立在互相信任的基础之上,即共享与协作不会导 致资源的非法使用或敏感信息的泄漏等安全威胁。 现有的信任机制大部分是基于 pki 技术,每一个主机或者用户拥有一个非对称密钥对并被证书权威中心签发一个证书 来证明密钥的合法性。在协作的过程中通过验证证书来认证身份,建立起信任关系 后根据本地策略实现资源的访问控制。大量的实际应用表明,基于 pki 的信任机制 缺乏这样一种能力:身份验证后不能确保资源拥有主机和资源访问者所在主机的硬 件、操作系统、软件等是真实可信的,也就是说主机节点依然处在一种非预期的状 态内1。正如 jiang 等在文章中指出2,当用户连接到了一个拥有合法证书的服务器 时,在验证了服务器的证书后他判定与服务器所发生的事务是安全可信的。而实际 上用户并不能确认服务器的应用程序或操作系统是否被非法入侵,因此不能确保事 务处理过程中密码等敏感信息不被非法入侵者窃取而带来损失。在对等网络的资源 共享应用中,由于每个节点的安全措施不同导致安全状态不同,当用户从众多对等 节点下载数据前,需要判断对等节点平台的安全可信性,从而有选择的从可信节点 下载数据;在安全专用网中,当网络中的一个主机申请加入这个专用网时,在验证 了它的身份后还应该判定主机上的操作系统和软件是可以信赖的,这样可以有效阻 止病毒和木马在专用网内的转播。 基于软件的安全机制由于软件的易篡改、易入侵等,与以硬件为基础的安全措 施相比有其先天的弱点3- 5,这点在实际应用中已经证明;可信计算组织的规范简单 描述了基于二进制的简单远程证明机制,但在安全与管理等方面存在诸多缺陷,与 2 实际应用的要求还相差甚远。因此,如何有效的远程证明一个主机的硬件、操作系 统、应用软件等的真实可信性是一个亟待解决的问题。 1.2 可信计算概述 随着互联网的发展,个人计算机越来越多的应用到社会政治、经济、教育和军 事等领域。而 symantec 公司的一份研究报告指出全球恶意攻击急速增长6,而且从 最初的截获网络连接转而到攻击中心服务器,现在更多的是攻击脆弱的计算平台7。 现在计算平台的脆弱性是因为以下两点造成的:个人计算机最初设计的目标是为了 开放与灵活;基于软件的安全解决方案有固有的缺陷。可信计算(trusted computing) 技术就是从这两个方面解决开放的、分布式计算环境下的安全问题8。 现有计算平台是开放平台,它具有广泛的灵活性,但其硬件和第三方不能建立 起信任,这就是现有计算平台安全缺陷的根本所在。一些部分和机构追求高安全性 开发了封闭平台,这种平台使用专有的设备、运行专有的程序,用户只能通过专有 的接口通讯,通过密钥验证远程对方,通常只针对特定应用。封闭平台的好处是安 全性较高,但其缺点也显而易见,不能被广泛使用。可信计算在这两者的提出了可 信平台(trusted platform)。 可信平台兼有开放平台和封闭平台的特点:许多不同的应用程序可以在一个平 台上运行,具有良好定义和构建的软件。而且可信平台最大程度地和现有平台保持 兼容,不改变现有平台的体系结构,只附加一个成本很低的芯片可信平台模块 tpm(trusted platform module),解决现有平台固有的安全缺陷。 1.2.1 可信计算历史 开放平台的安全问题很早就被安全专家所研究9, 人们在实践中逐步认识到基于 软件的安全解决方案存在固有的两个安全缺陷5:首先,大型软件在实施上不可避免 的存在 bug,会遭受潜在的攻击;其次,没有方法可以区分软件是否受到攻击。针对 这些问题,许多信息安全专家得出结论:某些安全问题如果不从计算机启动时就提 供硬件保护,是不能得到解决的10,11。可信平台模块 tpm 就是这样一种能够从计算 机启动时给平台提供保护的设备。 1999 年以前,人们就研制了许多安全协处理器12(如 ibm 475813)用于解决计算 3 平台的安全性,但是没有统一的计算平台安全解决方案。1999 年由 intel、ibm、hp、 microsoft 等共同发起成立了 tcpa(trusted computing platform alliance)组织, 该组织 致力解决计算平台的安全性问题:一是提高平台的安全性;二是建立一种平台可信 的机制。这种概念导致可信平台(trusted platform)和可信平台模块(trusted platform module)的产生。在 2003 年,tcpa 组织更名为 tcg(trusted computing group),其 任务是通过各个平台、软件和技术厂商的合作,开发基于可信平台的通用平台和操 作系统,以满足用户对平台的安全需求14。 1.2.2 可信平台 根据 tcg 组织关于可信(trust)的定义,可信平台是一种总是能够以一定的方式 按照预定目的而做出行为的平台15。因此用户不必盲目的做出决定,而是可以通过 询问平台信任根发起平台状态挑战,要求平台提供可信的证据。 一个可信平台上至少要有一个信任源作为整个平台可信的基础,可信平台在主 板上嵌入可信平台模块 tpm 和信任度量核心根 crtm(core root of trust for measurement)作为整个平台的可信根16,17。tpm 是一种安全芯片,关于它功能和特 点在下一节详细介绍。crtm 是系统启动是运行的第一段代码,理论在位于 tpm 内 部以保证其安全,但是实际的计算机系统中通常将它固化在 bios 中。 可信软件栈 tss(trusted software stack)18是可信平台的重要组成,它负责管理 底层 tpm 资源并为上层应用程序提供调用接口函数。具有代表性的软件栈有 ibm 开发的 trousers19和 daonity项目组开发的 daonity- tss20。 可信平台具有如下的特点: 1. 可信启动:可信平台启动时平台的各个模块之间存在严格的度量、检测与认 证21。从 tpm 和 crtm 开始,依次验证 bios、硬件配置、操作系统加载模块、操 作系统、应用程序等,从而保证平台的各个模块没有被篡改。系统启动完成时构建 了一条以 tpm 和 crtm 为根的信任链。 2. 数据保护功能:可信平台给密钥等敏感信息提供基于硬件的保护。tpm 初始 化时生成 srk(storage root key)密钥, srk 密钥具有不能被移出本地 tpm 芯片的特 点,从而保证了它的安全性22。以 srk 为父密钥加密位于 tpm 外部的密钥,被加 密的密钥可以用来加密密钥等敏感信息,如此循环下去,构成了一个以 tpm 为根的 加密树。 加密树中的密钥使用前需要层层解密, 由于 srk 的安全性, 从而保证了 tpm 4 外部被加密数据的安全性。 3. 完整性度量:完整性度量模块计算目标模块的度量值并安全存储23。完整性 度量按目标对象分为平台相关度量和应用程序相关度量,前者的度量值代表了平台 目前所处的状态,后者的度量值代表着应用程序的状态。平台的启动需要完整性度 量过程,应用程序的加载也需要完整性度量。 4. 完整性报告:将目标对象的完整性值发送给用户,供用户判断目标对象的真 实可信性。外来用户在使用平台或者应用程序之前,可以依靠完整性度量与完整性 报告机制确信平台或应用程序的可信性,从而避免敏感信息的泄漏等危害24。 可信平台因为它的这些安全特性,在未来可以有效地应用于风险管理、资产管 理、电子商务、数字版权管理、政府职能与军事等领域,而当前正在开展利用可信 平台增强对等计算25,26、网格计算27- 29、操作系统安全30等安全的研究。 1.2.3 可信平台模块 tpm 从概念上讲,tpm 芯片对可信平台而言,是可信度量根、可信报告根和可信存 储根,这些可信根用来建立平台的可信性和保证平台安全机制的实现31。可信平台 模块式可信计算的基石。 tpm 实际上是一个含有密码运算部件和存储部件的系统级芯片32,它是平台重 要的防篡改组件,是可信平台的核心安全控制和运算部件。总体来讲, tpm 的体系 结构中包括的部件如图 1.1 所示。 图 1.1 tpm 的体系结构图 5 密码协处理器:负责 rsa运算的实现,它内含一个执行运算的 rsa引擎,提 供对内对外的数字签名功能,内部存储和传输数据的加密解密功能,以及密钥的产 生、安全存储和使用等管理功能。 密钥生成器负责生成对称密码的密钥和非对称密码运算的密钥对,tpm 可以无 限制地生成密钥。对于 rsa算法而言,它要完成大素数的测试,密钥生成过程会使 用到随机数发生器随机产生的数据。 hmac 引擎通过确认报文数据是否正确的方式为 tpm 提供信息,它可以发现 数据或者命令发生错误或者被篡改的情况。 随机数发生器负责产生各种运算所需要的随机数,它通过一个内部的状态机和 单向散列函数将一个不可预测的输入变成 32 字节长度的随机数, 其输入数据源可以 是噪音、时钟等,该数据源对外不可见。随机数发生器在系统掉电时产生 reset 操作。 sha- 1 引擎负责完成一种基本的 hash 运算,其 hash 接口对外暴露,可以 被调用,它的输出是 160 位二进制位。 非挥发性存储器用于存放一些永久性的数据,如 ek 密钥、srk 密钥等。 挥发性存储器存储的数据在系统断电和重起时会丢失掉,通常是指平台配置寄 存器 pcr(platform configuration register)。 1.3 国内外研究现状 证明远程平台中软件硬件真实可信性是许多不同类型的实际应用都需要面对的 问题,例如分布式计算领域、移动计算领域或者嵌入式系统应用等33- 35。如何证明 平台以及应用程序的真实可信性由于平台的差异、系统类型的差异会导致解决的难 点不同,解决的机制也不同。tcg 组织定义的简单远程证明机制试图利用可信计算 技术为解决此类问题提供新途径,但基于可信计算技术的简单远程证明机制存在诸 多缺点,难于实际应用,在 2.1 节中将详细分析简单远程证明机制的不足。本节将介 绍国内外其它几个有代表性解决方案。 1.3.1 bind 分布式系统的安全依然是一个挑战,增强分布式系统的一个难题是远程平台可 6 能被入侵并运行恶意代码。 elaine shi等人提出了 bind(binding instructions and data) 技术来解决此类问题36。 elaine shi等人认为软件版本与配置等多样性导致软件改变,使得基于整个软件 内容的 hash值的验证很难实际应用。由此,他们提出了“关键代码”和“注释机制” 的概念。 “关键代码”是指软件程序中产生重要输出数据的代码。 “注释机制”是指 在关键代码的开始和结束分别打上可识别的标记,表示关键的代码返回。bind技术 的验证对象由整个软件内容变为了“关键代码” 。 bnid 融合了 tcg 技术与微处理器技术,它将“关键代码”产生的数据与该段 “关键代码”联系起来,可以识别某个输出数据是由哪个“关键代码”产生的。当 程序执行到某段“关键代码”开头标记时,开始证明服务:系统的控制权由应用程 序到安全内核,再到底层 tpm 芯片,验证关键代码的完整性,并建立一个沙盒子作 为关键代码的运行环境;关键代码运行至尾部标记,将产生的数据打上关键代码的 完整性植标记。 elaine shi等将分布式系统的抽象为“关键代码”之间的数据交互。在分布式系 统的抽象模型中,存在的潜在威胁是: “关键代码”被恶意篡改、数据滥用、数据篡 改等。而 bind 可以检测到被入侵的关键代码即非法关键代码,合法的关键代码可 以拒绝接受非法的关键代码产生的数据从而消除了危害在分布式系统中的传播,只 是需要加入简单的失败- 停止处理机制。 bind机制是细粒度的代码证明技术有益的尝试,但是存在如下的不足: 1. 关键代码的标记本身就是一个难题。为了在程序执行到关键代码时就调用代 码证明服务,这需要改变现有的程序编写习惯; 2. 将关键代码的数据输出与代码绑定起来本身也需要开销,特别是对于数据吞 吐量比较大的分布式系统来说,关键代码很多,bind机制会很大程度上影响系统的 性能。 1.3.2 ima 为了建立一个可信的平台并让外来用户在需要使用平台或者与平台交互时可以 判断平台或者平台之上的应用程序的真实性,reiner sailer等人提出了 ima(integrity measurement architecture based on tcg)的思想23。 ima 以 tcg技术为基础,从度量机制(measurement mechanism)、完整性挑战机 7 制(integrity challenge mechanism)、 完整性确认机制等(integrity validation mechanism) 三个方面分析了其基本思想。 度量机制认为所有的程序在在运行之前都要进行完整性度量。ima 实现了由 bios 至 grub、os,然后到应用程序的安全启动,各个组件的度量值按照度量的顺 序组成了一个度量值列表 ml(measurements list)。组件繁多导致 ml很大,所以 ml 不是存储在 tpm 内部而是经 tpm 保护存储。对庞大的操作系统,ima 提出在加载 系统的关键库、关键可执行程序如脚本、关键配置文件等时分别对家在对象进行度 量。 完整性挑战机制分析了可信平台如何将 ml发送给用户。 ml是当前平台组件和 应用程序的度量值(hash 值),反应了特定平台、特定应用程序的状态。ima 通过用 平台身份密钥 aik(attestation identity key)对 pcr 签名操作, 这样 ml与平台绑定起 来而且 ml以加密的形式传输给调整者。 完整性确认机制阐述了用户怎么样由接受到的数据判断平台的状态。用户本身 保存着平台组件参考度量值的 ml,通过调用 tpm 与 tss 功能,验证参考 ml与运 行时加密的 ml 来判定平台状态:如果验证失败,说明平台或者应用程序被非法篡 改了;否则,被验证对象是可信的。 ima 第一次在具体实现了基于 tcg技术的平台可信启动, 构建了一个可以判定 状态的可信平台。但是它在完整性机制方面有其自身的缺陷: 1. 目标对象是在加载时度量而不是运行时度量。加载时间与运行时间有时间间 隔,在这个时间间隙内组件可能被入侵者非法篡改,因而加载时度量值不能准确的 代表程序运行的度量值; 2. ima 以 hash值表示被验证目标的状态, 用户本身需要保存一份正确 ml的拷 贝。现在的操作系统与应用程序变得越庞大、版本升级、配置改动等频繁,基于 ml 的验证很难实现。 1.3.3 swatt 在未来会有越来越多的嵌入式智能设备在人们生活的各个方面扮演着重要的角 色,被攻击者入侵后篡改了的设备如果不经安全技术检测就使用,会导致敏感信息 的泄漏而带来损失。arvind sechadri等人提出了 swatt(software- based attestation for embedded devices)机制37,用来验证嵌入式设备内部代码、数据、配置等的安全 8 性。考虑到用基于硬件的安全技术解决嵌入式设备的安全问题会带来成本的大幅提 高,不利于设备的广泛应用, swatt 采取了基于软件的安全技术。而软件安全模 块无法证明自身的安全性,swatt将验证软件部署在嵌入式设备的外部,在嵌入式 设备内部增加证明处理模块。验证软件所在的设备保存有嵌入式设备内存空间的拷 贝值。当验证软件需要证实设备的真实可信性时,验证软件与证明处理模块按照设 计的协议通信:证明处理模块收集嵌入式设备的内存空间的代码等数据,之后发送 给验证软件,验证软件比较动态计算值与拷贝值来判断嵌入式设备的真实可信性。 swatt是证明技术在嵌入式设备上的一个应用,在一定程度上解决了嵌入式设 备的代码、数据、配置等的安全性证明问题,但是也有其自身的缺陷: 1. 验证软件的可信性:软件本身容易被入侵,验证软件即使部署在较封闭的平 台,也不能保证没有被篡改,那么不能保证其证明结果的真实性; 2. 成本问题:验证软件需要部署在其他平台带来成本增加; 3. 通用性问题:swatt需要先存储整个内容空间的拷贝,嵌入式设备的内存具 有空间小、数据稳定的特点,而计算机系统内存空间大,而且软件更新越来越频繁 导致数据易变化。在这样的平台上,预先保存一份设备内存拷贝是不现实的,但是 swatt可以有效地应有于汽车 gps、无线传感器等嵌入式设备38。 1.4 课题背景与研究内容 本课题受国家自然科学基金重大研究计划项目网络计算环境综合试验平台 (no. 90412010)子项“网络计算应用支撑中间件/网络计算安全支撑环境” ,以及 hp 中国实验室项目 daonity支持。本研究的目的在于用可信计算技术增强网格计算 的安全,为网格计算提供可信平台,增加网格服务可信度量、可信证明等机制,服 务于中国教育科研领域的工作者。 根据课题研究目标和要求,分析了目前分布式计算特别是网格计算中面临的安 全问题,并研究了相关的理论。课题组研制开发了可信计算技术增强的网格平台 daonityii,包括可信度量和基于属性的远程证明两个分系统,具体包括人机接口、 平台与服务参考度量、平台与服务运行时度量、可信证明、策略库管理等组件。整 个系统平台很好地满足课题研究目标要求,并达到所要求的主要技术指标,提高了 网格平台与服务安全性,没有影响网格服务原有的使用流程,没有过大的增加由于 9 安全机制的引入导致的开销。可信网格平台 daonityii 也是国内也是国外第一个将可 信计算技术应用于网格中间件的平台,对于拓展可信计算技术的应用领域与应用手 段、增强网格安全、可信证明等方面都有着一定的理论探索与重要的实际应用意义。 针对可信增强的网格平台 daonityii 的总要求,可信平台中基于属性的远程证明 机制的研究内容包括: 1. 可信技术增强的数据传输机制、平台身份证书签发机制等; 2. 平台与应用程序的属性收集、属性证书申请、以及证书的安全存取等; 3. 以 tpm 为可信根的属性权威中心的构建、 依据策略的属性可信度评定、 证书 签发等; 4. 大文件在可信平台中的安全存储机制; 5. 可信判定策略预定义、属性证书可信评定等。 1.5 本文组织结构 本文内容安排如下: 第 1 章首先概述可信计算相关知识,包括产生原因、发展历史、可信平台与可 信平台模块 tpm;接着介绍与证明技术相关的国内外研究现状;然后说明本课题的 背景、目标以及研究内容;最后说明介绍文章组织结构。 第 2 章首先分析 tcg规范定义的简单远程证明协议,包括原理与存在的不足; 然后论述可信平台中基于属性的远程证明系统 pras 的设计思想,重点分析属性、 策略机制如何引入到远程证明中;接着阐述远程证明系统的体系结构和功能模块; 最后给出系统的工作流程。 第 3 章对 pras 系统的主要实现技术和实现方法进行论述,包括:可信技术增 强的数据传输、平台身份证书生成协议、属性证书的申请与安全存储、属性权威中 心的构建与证书签发、可信判定策略预定义与可信评定等。 第 4 章进行系统的测试与分析。首先介绍测试环境和评估标准;然后介绍网格 服务在被篡改、升级、用户安全需求策略定义策略不同等多种情况下的可信证明情 况;最后从 pras 系统远程证明的准确率、客户端的平均等待时间和服务端的可承 载压力等方面测试并分析系统的性能。 第 5 章对所做的主要工作进行总结,并对下一步需解决的问题进行说明。 最后是致谢和参考文献。 10 2 基于属性的远程证明系统 pras 的设计 本章探讨基于属性的远程证明系统的设计思想与模块化结构。首先分析 tcg规 范定义的简单远程证明协议原理与不足;然后论述基于属性的远程证明系统 pras 的设计思想,重点分析属性、策略机制如何引入到远程证明中;接着阐述远程证明 系统的体系结构和功能模块;最后介绍系统的工作流程。 2.1 tcg 定义的简单远程证明机制分析 越来越多的与互联网相关的应用需要用户借助远程主机运行的特定服务程序来 完成,如网上银行等。用户通过网络与远程主机的服务程序交互之前,如果无法确 信远程主机和服务程序没有被非法入侵,那么可能因为使用了该服务而造成损失。 可信计算技术的出现是为了保证终端设备的安全。如 1.2 节所述,利用 tpm 芯 片和 tss 软件栈,可以构建一个通用的可信平台。以 tpm 作为可信度量根、可信存 储根和可信报告根,可信平台具有这种潜能:可以向外来用户证实本平台所处的状 态,包括硬件配置和软件的状态,以让外来用户判断本平台是否出于一个安全的状 态。tcg组织其规范将这种潜能定义为远程证明(remote attestation),并描述了一个 简单的远程证明机制31。 2.1.1 简单远程证明机制的原理 简单远程证明过程的完成要经历两个阶段:可信度量与可信报告。可信度量是 平台组件完整性度量值的计算与存储,可信报告是将平台组件的度量值报告给外来 用户,然后用户通过验证度量值来判断平台和应用程序是否被篡改。 1. 可信度量 可信度量是可信平台的重要功能之一,在系统模块或者应用程序运行前,度量 模块可以计算加载对象的 hash值作为它的完整性状态值。 可信平台在启动时以 tpm 和 crtm(core root of trust for measurement)为信任根,由下向上层层度量 bios、 操 作系统加载模块、操作系统、应用程序等,构建了一条信任链。组件度量的结果写 入到平台配置寄存器pcr(platform configuration register)中去。 pcr寄存器位于tpm 内部,目前 pcr 寄存器有 16 个单元,每个单元 20 个字节。考虑到 pcr 存储空间有 11 限,多个组件的度量值可以写入的 pcr 的同一个单元中去。当要把数据 data 写入到 pcr 的第 i个单元时,其内部操作为: pcri= hash( pcri | data) 也就是说,往 pcri写数据 data 之后 pcri的值与其原有的值密切相关。这样的 话,可以按照一定的顺序把特定组件集合的度量值写入到同一个寄存器单元 pcri中 去。组件度量值的写入顺序改变或者任何组建度量值的改变都会导致 pcri值的最终 不同。 pcr 的值只有两种情况下可以改变:系统重启时 pcr 清零;特定授权下的 tss 操作函数。所以可以认为平台或者应用程序的度量值保存在 pcr 中是安全的,不会 被外来用户非法改变。 2. 可信报告 在可信报告中, 需要使用平台身份密钥aik(attestation identity key)和aik 证书。 aik 证书由可信第三方签发,用于证明可信平台的合法性;aik 密钥由平台所有者 拥有,密钥由 tpm 保护,不能移出本平台。在可信报告中,被证明的可信平台用自 身的aik 密钥对对应的pcr值进行数字签名, 并将签名值和证书等信息发送给用户。 假设参与可信报告的两个平台都含有 tpm 和 aik 证书,协议流程如图 2.1 所示。 图 2.1 可信报告流程图 步骤 1:用户 b 向平台 a 发起证明请求; 步骤 2:平台 a 与 b 交换 aik 证书,进行平台身份认证; 12 步骤 3:平台 a 用自身的 aik 密钥的私钥部分对对应的 pcr 值进行数字签名; 步骤 4:平台 a 将签名结果发送给平台 b; 步骤 5:平台 b 从本地获取被证明目标组件的参考度量值、平台 a 的 aik 证书 的公钥,验证接受到的签名值。由验证结果判断被验证组件是否篡改从而判定是否 值得信赖。 2.1.2 简单远程证明机制的缺点 tcg 定义的简单远程证明机制以软件度量值作为平台和组件的状态标志,通过 验证动态度量值和预获取的参考独立值来判定平台和组件的可信性。它存在以下的 缺点: 1. 平台和软件复杂性与易变性带来管理上的困难。现在软件越做越复杂,软件 的升级或回滚变得越来越频繁。系统配置的改动与软件版本不同都会导致度量值的 不同,如果用户没有及时获取新版本软件的参考度量值,合法升级的软件会被证明 是非法篡改了。此缺陷决定了以度量值为基础的远程证明难在实际中应用。 2. 将 aik 对度量值的数字签名发送给外来用户会带来安全问题。数字签名含有 了 pcr 寄存器的信息,也含有了 aik 密钥的私钥信息。对非法入侵者来说,pcr 值 是反映平台内部状态的数据,aik 私钥也是敏感数据。入侵者可能从接收到的数字 签名中获取有关这些敏感信息的线索用于非法攻击。 3. 版本强行控制。当被证明平台上的软件版本与用户要求的不符合时,用户可 以认为被挑战平台是不合法的。这种特性如果被应用于平台或者软件厂商,他们就 可以为了自己的利益强行对软件类型或者版本提出要求,比如强迫用户付费升级等。 2.2 基于属性的远程证明系统 pras 的设计思想 如 2.1 节所述,tcg 定义的简单远程证明机制是基于度量值的,度量值在系统 实现中通常是软件计算或者硬件计算的 hash值,平台关键配置或者软件的微小改变 都会造成 hash值的不同。这给证明平台或者软件的可信性带来很大困难。再者,用 户需要证明平台或者软件的可信性时,关注的不是被证明平台或软件是否具有某个 度量值,而是它能够提供何种属性。不同的用户对提供同样属性的平台的信任结果 可能,这是因为用户对平台的安全需求可能不同。可信平台中基于属性的远程证明 13 系统 pras(property- based remote attestation system on trusted platform)由此想法诞 生,属性与可信判定策略的思想引入到远程证明机制中。 2.2.1 属性与属性证书 为了分析将属性在远程证明中所发挥的作用,先定义如下缩写: 目标对象未来行为 b(behavior):关注其行为方式是否在用户的期望内,受入侵 的对象会做出期望之外的行为; 目标对象状态 s(state):当前平台或者应用程序所处的状态,受入侵的目标处于 非法状态; 平台度量值 m(measurement):度量算法对平台关键模块、配置、软件等计算出 来的 hash值; 目标对象属性 p(property):目标对象当前状态所具有的属性; 可信性 c(credit):对目标对象的当前状态可信与否的判定。 tcg定义的简单远程证明机制与基于属性的远程证明机制分别有如图 2.2 和 2.3 所示的关系图。在图 2.2 中,状态 si与度量值 mj一一对应,不同的状态具有不同的 度量值,也就会得出不同的可信性判定。在图 2.3 中,目标所处的不同状态可能具有 相同的属性,因此目标的不同状态可能具有相同的可信性 c。 bsimj c 图 2.2 简单远程证明机制逻辑关系图 b si pjc si+n . 图 2.3 基于属性的远程证明机制逻辑关系图 接着提出“兼容”的概念:如果 pi和 pj说是兼容的,那么它们满足用户的安全 需求,具有相同的可信性;如果 si和 sj说是兼容的,那么所提供的属性也是兼容的。 只要平台或者应用程序的状态 s 所提供的属性 p 满足用户的安全需求,那么就可以 认为平台或者应用程序处于合法的状态,它们未来的行为方式在用户预期的范围内, 是可信的。 14 在不同的应用场合下,属性可以包含不同的内容。在 pras 系统中,属性必须 反应平台或者应用程序的状态。属性可以包含多个子项,例如软件类型、软件所有 者角色、软件度量值等等。 当被证明对象声称自己具有某种属性时,用户不一定相信。必须有一个第三方 权威机构证实这种属性的合法性,也就是说第三方权威机构给属性签发一个对应的 属性证书。至此,在 pras 系统中引入属性证书与属性权威中心的思想,用以证实 属性的合法性。 当被证明平台的相关功能模块获取了被证明对象的属性后,属性权威中心给签 发在证实了该对象确实具有此种属性后,给其签发一个属性证书。而当用户需要证 明平台或应用程序时,获取的时目标对象的属性证书。用户分析属性证书提供的属 性是否满足他的安全需求判定被证明平台或应用程序的合法性。 在特权管理基础设施pmi(privilege management infrastructure)中也有属性权威中 心和属性证书的概念。pmi 中的属性证书是一种轻量级的数字证书,这种数字证书 利用属性来定义证书持有者的角色、权限等,从而在访问控制系统中可以根据访问 者持有的属性证书来授予它对应的资源访问权限39- 41。pmi 给出了 x.509 属性证书 的具体定义,包括版本号、特权所有者、颁发者、签名算法、有效期、属性集、签 名等项。 pras 系统中属性证书的用途与 pmi 完全不同: pras 中属性证书用来反映属性 证书所有者(平台或者应用程序)当前所处的状态, 通过分析属性证书所具有的属性是 否满足用户的安全需求来判定用户是否认为证书所有者是可信的。 pras 系统中的属 性证书的定义格式可以与 pmi 中证书格式类似, 但子项定义不同, 用途也不同。 pras 系统的属性权威中心部署在可信平台中,以 tpm 可信基为信任根来签发证书,这也 是与传统的属性权威中心的一个区别。 至此,可以看出属性和属性证书引入远程证明机制中的好处: 1. 平台或者软件升级了导致度量值不同,但是用户关于的平台或者软件提供的 属性是否满足他的安全需求; 2. 被证明目标发送给用户的是属性证书,属性证书不包含 pcr 值、aik 密钥等 敏感信息,不会给入侵者提供攻击线索; 3. 消除了版本强行控制。不同厂商提供的平台或者软件只要被证明具有满足安 全需求的属性,都是可信的。 15 2.2.2 可信判定策略 可信判定策略描述了用户对平台或者应用程序的安全需求。在接受到被证明目 标的属性证书后,用户根据预定义的可信判定策略评定属性证书的可信性,从而确 定被证明对象的可信性。 可信判定策略应具有如下的特点: 1. 与属性证书相对应:属性证书由多个子项组成,分别描述了证书所有对象在 多个方面的特性。可信判定策略也应由多个子项组成,分别描述对属性证书子项的 安全需求; 2. 可拓展性:在具体的应用环境下,安全需求不同,可信判定策略的全集可能 会增加或者缩小,或者可能成员也会更改; 3. 自定义性:用户可以根据预先协商的可信判定策略规范格式(描述了策略的子 项),自己定义策略子项的值。如果用户定义的策略文件子项不同,依据自定义的策 略分析属性证书的结果可能不同,那么被证明对象的可信性可能会比一样。 可信评定策略以文件方式存放
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大型企业危机处理承诺书(5篇)
- 记叙文一棵树作文800字(6篇)
- 财务报表及报表工具全面解析
- 枣庄从业资格证考试题及答案解析
- 人才招聘面试评估表能力素质考察版
- 跌倒坠床护理题库及答案解析
- 2025年服装行业时尚消费与环保理念融合研究报告及未来发展趋势预测
- 2025年人工智能行业人工智能发展态势研究报告及未来发展趋势预测
- 会计从业资格证考试上海及答案解析
- 业务流程审批流程的标准模板
- 上海中心J酒店设计概念方案
- 防范电信网络诈骗宣传课件
- 朝花夕拾课件《父亲的病》
- 生产工艺基础知识培训课件
- 生产包装专业知识培训课件
- 2026国家能源集团新能源院校园招聘备考考试题库附答案解析
- 2025版《煤矿安全规程》权威逐条解读第五编职业病危害防治
- AI智能家庭(AI2H)研究报告
- 收费站拆除施工方案
- 2025年海事两员从业资格考试(散装液体危险货物申报人员)在线题库及答案
- 课题专家咨询方案
评论
0/150
提交评论