(计算机应用技术专业论文)基于可信计算的安全发布技术研究.pdf_第1页
(计算机应用技术专业论文)基于可信计算的安全发布技术研究.pdf_第2页
(计算机应用技术专业论文)基于可信计算的安全发布技术研究.pdf_第3页
(计算机应用技术专业论文)基于可信计算的安全发布技术研究.pdf_第4页
(计算机应用技术专业论文)基于可信计算的安全发布技术研究.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

(计算机应用技术专业论文)基于可信计算的安全发布技术研究.pdf.pdf 免费下载

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

文档简介

最后分析表明这种方案能够成功的在一个不可信的平台上实现安 全应用的发布。 关键字:s e l i n u x ;可信计算;t c m ;类型加强( t e ); 钩子函数 h o n es e c u i u t ya p p l i c a t i o ni s s u et e c h n o l o g y b a s eo nt r u s t e dc o n t u t i n g a b s t r a c t a f t e rr e s e a r c hh o wt ok e 印t h es e c u r i t yo fc l i e n tt e r m i n a la n dh o wt o m a k et h ea p p l i c a t i o ni s s u es e c u r i t y , t h i sp a p e rp r e s e n t sa ni d e at h a ti fo n e a p p l i c a t i o nw a n t e dt ob er u n n i n gw i t ht r u s t e dm u s th a v et h ef o l l o w i n gt w o c o n d i t i o n s f i r s t ,a p p l i c a t i o nb e f o r er u n n i n gi st r u s t e d , i tm e a n st h e i n s t a l l a t i o np a c k a g ea n dt h ee x e c u t a b l ef i l eo fa p p l i c a t i o nh a v en o tb e e n t a m p e r e d ;s e c o n d ,a p p l i c a t i o ni nt h er u n n i n gp r o c e s si st r u s t e d ,t h a ti st os a y t h a tt h ea p p l i c a t i o ni sr u n n i n gi nt h eo r i g i n a ls e q u e n c eo fi n s t r u c t i o n s t h i sp a p e rh a sm a d eu s eo ft w ok i n d so ft h el a t e s tt e c h n o l o g i e so f s t r e n g t h e ne n d p o i n ts e c u r i t y - 一t r u s t e dc o m p u t i n ga n ds e l i n u xt e c h n o l o g i e s t a k i n gi n t oa c c o u n ti t so w ns h o r t c o m i n g so ft r u s t e dc o m p u t i n gt e c h n o l o g y a n dt h es e l i n u xt e c h n o l o g y t h i sp a p e rp r e s e n t sa ni n n o v a t i v ei d e aw h i c h i n t e g r a t et r u s t e dc o m p u t i n ga n ds e l i n u xt w ot e c h n o l o g i e s ,u s i n g t r u s t e d c o m p u t i n gt oa s s u r et h et r u s t e do fs e l i n u xm o d u l ea n dt h ea p p l i c a t i o nw h i c h b e f o r et or u n ;t h e nu s es e l i n u xt e c h n o l o g yt ok e e pt h et r u s t e do fa p p l i c a t i o n i nt h er u n n i n gp r o c e s s a sac o m b i n a t i o no ft w ot e c h n o l o g i e s ,m o d i f i e dt h e i i i e x e c u t a b l ef i l e - w r i t e ns e l i n u xs e c u r i t ya t t r i b u t e si n t ot h es p e c i f i e da d d r e s s a n dm o d i f i e dt h ek e r n e l f u n c t i o nl o a d _ e l f _ b i n a r y ( ) t oa d dt h ec o d eo f i n s p e c t i n g t h e i n t e g r i t yo ft h e e x e c u t a b l ef i l ea n de x t r a c t i n g s e c u r i t y a t t r i b u t e so fs e l i n u x f i n a l l y , i ta n a l y s e sa n di n d i c a t e st h a tt h i ss c h e m ec a nm a k ea p p l i c a t i o n i s s u es e c u r i t yi na nn o tt r u s t e dc o m p u t e rp l a t f o r m k e y w o r d s :s e l i n u x ;t r u s t e dc o m p u t i n g ;t c m ;t y p ee n f o r c e ( t e ) ; h o o k s i v ; 逸 , ? ? 基匝位i 士鳇:啦童全坐山筮亟拉盔虹红 目录 摘要l a b s t r a ( 了i i l 目录1 r 1 绪论1 1 1 研究背景及意义1 1 2 国内外可信计算研究现状3 1 2 1 国外可信计算研究现状3 1 2 2 国内可信计算的研究和应用概况7 1 3 论文的研究目标与主要创新点8 1 4 本文方案与现有技术的比较9 1 5 本文组织结构9 2 可信计算技术10 2 1 可信计算发展史10 2 2 可信计算平台1l 2 2 1 可信的理解ll 2 2 2 可信任链原理11 2 2 3 可信计算平台的启动过程12 2 2 4 完整性的度量与存储13 2 3 可信计算平台结构15 2 3 1t p m 模块16 2 3 2c r t m 模块。l7 3 s e lin u x 技术19 3 1s e lin u x 发展史19 3 2s e lin u x 体系结构l9 3 2 1 安全服务器。20 3 2 2 客体管理器2l 3 3s eiin u x 安全性策略配置21 3 3 1 对数据的原始访问的限制22 3 3 2 内核完整性的保护22 3 3 3 系统文件完整性的保护23 3 3 4 对特权程序的限制23 3 3 5 对进程的隔离。24 3 3 6 系统管理员域的保护24 4 可信平台的整体设计26 4 1 可信平台的理论框架26 4 2 可信平台的具体实现方法28 4 2 1 可信应用运行前平台的可信性28 4 2 2 可信应用本身的可信性31 4 2 3 可信应用运行时的可信性32 4 2 4 ,j 、结35 v 5 关键技术及其实现36 5 1 可信链的建立36 5 2 分类与分组的实现37 5 3 文件系统的加解密与平台相关性39 5 4 进程隔离的实现39 5 5 进程内存保护40 5 6 设备驱动程序的控制41 6 应用实例研究43 6 1 策略模块的编写43 6 2 可信应刚的可执行文件修改47 7 安全性分析与前景48 7 1 安全性分析48 7 2 应用前景分析48 参考文献50 附录a 策略模块例子52 附录b 攻读硕士期间发表的论文55 附录c 攻读硕士期间参加的课题和项目55 独创性声明56 致谢57 v 1 1 绪论 1 1 研究背景及意义 随着计算机和网络技术的迅速发展与广泛应用,社会信息化程度不断提高,使 用计算机与网络进行信息存储,通信和处理成为人们生活和工作中不可缺少的组成 部分。同时网络与信息的安全问题也同渐凸现出来,如果计算机和网络的信息安全 受到危害,会给个人和社会造成重大损失,引起社会混乱。 在信息系统网络化进程中,我们首先意识到问题是如何保证网络边界和系统运 行的安全。所以传统的信息安全系统以共享信息资源为中心,对外围非法用户和越 权访问者进行封堵,以达到防止外部攻击的目的,如防火墙、入侵检测等。这几年 我们的工作大都集中在这里,而忽略了共享资源的访问者进行源头控制。随着恶意 用户的攻击手段越来越高明,防护者只能将防火墙越砌越高、入侵检测越做越复杂、 恶意代码库越做越大,从而导致误报率增多、安全投入不断增加、维护与管理更加 复杂以及信息系统的使用效率大大降低口1 。 通过多方面信息安全领域的实践,产生信息安全事故的主要原因总结为以下几 个方面:一是现在的个人计算机终端软、硬件结构简化,导致资源可任意滥用,尤 其是执行代码可被修改,恶意程序可被植入;二是病毒程序利用操作系统在执行代 码时不检查代码一致性的弱点,将病毒代码嵌入到执行代码中实现病毒传播;三是 黑客利用被攻击系统存在的漏洞窃取超级用户权限,植入攻击程序,肆意进行破坏; 四是对合法的用户没有进行严格的访问控制,侵入者可以进行越权访问,造成不安 全事故。 由此可见,信息系统的硬件结构安全和操作系统安全才是信息系统安全的基础。 众所周知,密码、网络安全等技术是信息系统安全的关键技术。所以必须从底层做 起,从整体上采取措旌才能比较有效地确保信息系统的安全。对于常见的微机终端, 必须从芯片、主板,b i o s 、操作系统、网络等方面综合采取措施,才能确保微机系 统的安全。由此技术思想催生的可信计算技术正越来越受到人们的关注,成为信息 安全新的热点研究方向。 。 1 可信计算平台,它采用的是以可信密码模块( 一种可插在主板上的智能芯片) 为可信根,从信任根开始到硬件平台、到操作系统、再到应用,一级认证一级,一级 信任一级,从而把这种信任扩展到整个计算机系统,建立计算机系统平台信任链,确 保系统平台可信。”。 但操作系统太复杂了,其本身是动态的,且其自己也可以修改自己,所以怎么 认证o s 就成了一个难题。现在不管是t c g 还是我们国家可信计算组织发布的标准中 都没有明确实现这方面的技术,所以现在的信任链只能从可信度量根开始到0 s 内核, 没法传到操作系统和应用软件。这样也就无法保证在0 s 上运行的应该程序和进程的 可信性了。 由上所述可知,可信计算技术因其强有力的终端安全保护手段和宽广的应用前 景受到信息安全技术领域的广泛关注,无论是从理论上还是应用上都进行了一定的 研究。同时还存在一些尚未解决的问题,如还没有现成的的理论来度量0 s 及如何进 一步将信任链传到我们需要重点保护的应用软件,除此之外即使信任链传到特定的 应用,它也只能保证应用在运行前没被窜改过,无法确保应用在运行过程中不会被 其它进程破坏或自己的误操作使其不能按预期的顺序执行。 同时随着s e l i n u x 与h i p s 等技术的逐步成熟,它们在保护操作系统安全方面和 防御未知攻击方面将会挥发越来越重要的作用。s e l i n u x 与普通l i n u x 的一个重要区 别在于,s e l i n u x 是基于强制存取控制方法,即m a c ,它透过强制性的安全策略,应 用程序或用户必须同时符合d a c 及对应s e l i n u x 的m a c 才能进行正常操作,否则都将遭 到拒绝或失败,而这些问题将不会影响其他正常运作的程序和应用,并保持它们的 安全系统结构。而普通l i n u x 是基于自主存取控制方法,且o d a c ,只要符合规定的权 限,如规定的所有者和文件属性等,就可存取资源。在这种安全机制下,一些通过 s e t u i d s e t g i d 的程序就产生了严重安全隐患,甚至一些错误的配置就可引发巨大的 漏洞,被轻易攻击h 1 。 s e l i n u x 还应用了类型加强( t e ) 和基于角色访问控制( r b a c ) 技术。t e 给每 个主体( 进程) 和系统中的客体定义了一个类型,这些类型定义在s e l i n u x 的安全策 略文件中,以安全标签形式存放在文件本身的扩展属性里。在s e l i n u x 中,访问主体 与客体之间通过指定a l l o w 规则( 主体的类型是源,客体的类型是目标) 进行访问授 权,访问被授予特定的客体类别,为每个客体类别设置细粒度的许可。类型强制的 2 一个关键优势是它可以指定某个程序运行在指定的域类型上,还可以指定哪些程序 可以访问哪些相关的客体。因此,它允许对特定进程进行访问控制以实现进程问的 通信隔离,内存保护等功能。 但是如果上述的s e l i n u x 技术没有与可信技术可机的结合起来,没有从信任根上 解决它们的服务对象( 进程) 是可信的。这样当它们启动的是经过蓄意窜改后进程 时,它们的那些所有安全措施就会显得无计可施。甚至于如果没有可信计算的保护, s e l i n u x 整个核心模块也可能被旁路或被恶意窜改。 本文就是以特定应用的安全发布为主要研究对象,从如何确保应用程序在运行 前的完整性,到在运行过程中保证该与其它应用进程进行隔离而不被进程破坏。并 在此基础上提出了一套可信计算平台框架,及在这框架上安全策略。以实现在一个 不可信的环境中为敏感的安全应用提供一个可信的安全计算平台,实现应用软件的 安全发布。 1 2 国内外可信计算研究现状 从国际上来看,可信计算技术的研究及其相关产业正在成为一个热门的研究领 域。1 9 9 9 年i e e e 的容错专家们将容错计算学术会议改名为可信计算( d e p e n d a b l e c o m p u t i n g ) 会议后,便致力于可信计算的研究。目前国际上占据可信计算技术领导 地位的仍然是国际计算机软硬件领域的i t 行业巨头。 1 2 1 国外可信计算研究现状 1 2 1 1 in t e i 的l t 技术 i n t e l 于2 0 0 3 年9 月1 7 日正式推出了支持p a l l a d i u m 的l a g r a n d e 技术,简 称l t 技术,是一个主要用于保护敏感信息的硬件架构。l t 技术与t c g 推出的p c 规 范所不同的是,它扩展了t c g 定义的可信计算的范围和功能。其核心机制是为了保 护计算机可能遭受的基于软硬件的攻击而在原来硬件的基础上增加一层可信机制。 l t 是一组强化的硬件部件,包括微处理器、芯片组、i o 设备及相应软件等。l t 技 术具有以下特性: 3 1 i 0 保护保护输入设备和输入的数据,同时,保护显存中的数据不能被访问 和修改。 2 执行保护在执行隔离模式下运行,任何其他程序都不能访问它的数据段和代 码段,该技术称为d o m a i ns e p a r a t i o n 。 3 认证机制l a g r a n d e 对当前环境的保护使用基于硬件的认证机制。 4 密封存储数据加密存储,只有在相似的存储环境下才能进行正确解密。 1 2 1 2 微软的n g s c b 2 0 0 0 年,微软提出“p a l l a d i u m ”计划,提出了今后十年可信计算( t r u s t w o r t h y c o m p u t i n g ) 战略的目标、措施和策略,该计划是在w i n d o w s 操作系统核心中增加新 的安全模块。同时在计算机硬件中增加安全芯片,以构建相对安全的计算机。2 0 0 3 年,微软将p a l l a d i u m 改为n g s c b ( n e x tg e n e r a t i o ns e c u r ec o m p u t i n gb a s e ) ,目 的是构造基于硬件的新一代安全计算平台璐3 。微软对可信计算更强调其数字产权管理 d r m ( d i g i t a lr i g h tm a n a g e m e n t ) ,目的在于保护自己的软件知识产权。n g s c b 技术 框架的基本结构可以划分为三层:最底层为安全硬件支持模块s s c ( s e c u r es u p p o r t c o m p o n e n t ) ,类似于t c g 的t p m 模块,提供必要的安全存储和密码支持等功能,微 软指出可使用t p m l 2 作为s s c ;中间层为n e x u s 它是n g s c b 的核心组件,运行在 操作系统内核,负责为上层应用提供对s s c 的访问和各种安全功能支持,包括密封 存储和验证;最上层为n c a ( n e x u sc o m p u t i n ga g e n t ) ,它是n e x u s 为应用程序提 供的一个用户态下的代理进程,应用程序通过该进程和n e x u s 交互,以获得所需的 安全服务。n g s c b 具有四个安全特性:( 1 ) 远程证明;( 2 ) 进程隔离;( 3 ) 封装 存储;( 4 ) 安全通路。 微软的高可信计算( t r u s t w o r t h yc o m p u t i n g ) 从实施、手段和目标三个角度对可 信计算进行了概要性的阐述,其目标与t c g 的功能定义一致,包括四个方面:可靠 性( r e l i a b i l i t y ) 、安全性( s e c u r i t y ) 、私密性( p r i v a c y ) 和商务完整性( b u s i n e s s i n t e g r i t y ) ,其中微软对于系统和数据的私密性非常重视,以至在白皮书的修订版 中专门提出了私密性这个目标。并于2 0 0 4 年5 月发布了“t h ep r i v a c ys o u r c e g u i d e 文档,该文档从技术、行业、政府、用户等各个角度阐述了如何实施私密 性。 4 微软的理念是可信计算平台的构建不仅是一个技术工程,也是一个社会工程, 可信服务在其中占有极其重要的位置。i b m 在2 0 0 2 年底发布了一款带有嵌入式安全 子系统e s s ( e m b e d d e ds e c u r i t ys u b s y s t e m ) 的笔记本电脑。e s s 依靠安全子系统保 存的密钥进行数据保护,只有身份通过认证,例如输入密码或通过认证设备的用户 才可以解密文件。 1 2 1 3t e r r a 结构 t e r r a 结构是一个基于v b l v l 的具有简单而又灵活性特点的模型n 7 1 8 3 。它允许开 发者根据具体需求定制操作系统一甚至是不需要操作系统,就像在一个封闭式专用 硬件平台上那样。对于其上的操作系统和应用程序来说,t e r r a 就是一个实在的硬件 平台。 t c g 对t e r r a 提供充分的硬件支持,t e r r a 可以使用现有t c g 提供的防篡改的硬 件设备t p m 和其它各种安全功能;可以利用t c g 提供的可信启动验证系统启动过程 以及可以利用t c g 提供的密封存储功能存储各可信操作系统的摘要值用于比对等。 图i - i 是t e r r a 的结构图。 e m a i l w 曲 a p p s c 0 1 1 1 1 1 1 0 d i t y o s s t t i h o m e c l i e n t c o m l t l o d i t y o s l t v m m l h a r d w a r ep i a t f o r ma t t e s t a t i o n d e v i c e s 图1 1tc r r a 的核心部件t v m m 结构 t e r r a 的核心是可信虚拟机监视器t v m m ( t r u s t e dv i r t u a lm a c h i n em o n it o r ) , 5 它在一个防篡改的高可靠性的通用平台上向用户提供多个互相隔离的虚拟机的底层 部件。t v m m 具有v m m 的功能隔离性、扩展性和兼容性此外它还具有另外三个附加的 对实现封闭式v m 很重要的安全功能: 1 具有安全根,平台所有者也不能破坏,以便t v m m 为封闭式提供的私密和独 立性。 2 提供用户和应用之间的可信路径。 3 t v m m 作为可信方可以对远端对象认证中运行软件。 通过t v m m ,达到了既支持面向封闭式专用计算环境的应用系统( 通过封闭式) , 又支持现有通用操作系统和应用( 通过开放式v m ) 的目标。 t v m m 负责保护封闭式的私密性和完整性,它通过硬件存储加密保护和内存保 护手段实现了封闭式和系统其它组件的隔离,它还允许采用类似t c g 规范中的远 程证明机制向远端认证自身完整性。可信通道通过给用户提供安全的、不可绕过和 不可更改的用户界面及明确的当前所使用的标识来实现,不过真正实现这个要求 需要显示设备在硬件和软件上的支持,目前在原型t e r r a 系统上并未实现。 t e r r a 还没有实现完整的可信度量体系,所以各个虚拟机需要实现属于本虚拟 机上的度量机制,而t v m m 只能算是一个软件安全根。同时t e r r a 中对驱动程序的保 护和隔离考虑得较少,因此应用必须完全信任设备驱动。另外,t e r r a 虚拟机之间缺 少i p c 机制,不利于做更多的扩展。更重要的是,目前t e r r a 的源码还不是公开的, 因此不是一个合适的研究平台。 和t e r r a 相比,x e nv m m 是由剑桥大学计算机实验室研发的一个开源系统,x e n 可以支持同时创建运行多个虚拟机,每一个虚拟机都是运行在同一个操作系统上的 实例。x e n 是一款半虚拟化的v m m ,这表明可能要有选择地修改操作系统,但是不需 要修改操作系统上运行的应用程序。 在x e n 系统中,主域与主域之间,主域与x e nh y p e r v i s o r 之间的接口也非常简 单,而且允许设备和操作系统对接口进行扩展,同时它的设备结构出于可靠性目的 使驱动程序被隔离在一个虚拟机中,低层接口具有扩展性而不必修改虚拟机或客户 操作系统。 x e n 具有成熟和稳定的特性,x e n 系统上可以很方便地实现模块化和功能扩展。 此外x e n 还具有灵活性,可以根据应用需要灵活配置主域的资源。客户操作系统作 6 为虚拟机结构中的模块,它的大小也可以根据需要进行裁减 如何构建终端安全体系结构是一个值得研究的热点。目前,i b m 、h p 、s o n y 、n e c 、 t o s h i b a 、d e l l 、g a t e w a y 等公司都研制出了自己的可信p c 机。i n f i n e o n 、b r o a d c o m 、 a t m e l 、n a t i o n a ls e m i c o n d u c t o r 等公司都研制出了自己的可信计算平台模块( t p m ) 芯片。可信计算的研究领域不断扩大,已从p c 迅速扩展到p d a 、服务器、手机等各 类终端信息平台。 。 1 2 2 国内可信计算的研究和应用概况 我国在可信计算的研究方面,起步较早,水平不低。产品开发方面,2 0 0 4 年6 月, 武汉瑞达公司推出了国内首款自主研发的具有t p m 功能的s o y l 4 嵌入密码型计算 机,并于同年1 0 月通过了国家密码管委会主持的技术鉴定。该可信安全计算机是基 于s s p 0 2 芯片,采用瑞达嵌入式安全模块e s m ,运用硬件的系统底层设计,结合瑞 达安全增强的l i n u x 操作系统,它极大提升了p c 机的安全性,主要安全功能包括平 台身份识别、平台完整性校验和芯片级的安全。 2 0 0 5 年4 月联想推出了“恒智”安全芯片,联想成为继a t l e m 之后全球第二个 符合t p m1 2 标准安全芯片的厂商。同年,兆日科技基于可信计算技术的p c 安全 芯片( t p m ) 安全产品也正式推出。这些产品也通过了国家密码管委会的鉴定。此后不 久,采用联想“恒智”安全芯片的联想开天m 4 0 0 s 以及采用兆日t p m 安全芯片( s s x 3 5 ) 的清华同方超翔$ 4 8 0 0 、长城世恒a 和世恒s 系列安全p c 产品纷纷面世。 产品应用方面,在某省涉密网的设计中已经采用了可信计算平台,另外在金融、 电信、军队、公安、电子政务领域也开始采用可信计算机来提高信息安全的整体水 平。 会议方面,2 0 0 4 年6 月在武汉召开了中国首届t c p 技术论坛,同年1 0 月在武 汉大学召开了第一届中国可信计算与信息安全学术会议。第二届,第三届中国可信 计算与信息安全学术会议分别于2 0 0 6 年1 0 月,2 0 0 8 年1 0 月2 5 日召开,第四届信 计算与信息安全学术会议也将于2 0 1 0 年5 月2 1 日召开。 7 标准研究方面,为推动可信计算标准工作,2 0 0 5 年1 月全国信息安全标准化技 术委员会在北京成立了t c 2 6 0 可信计算工作小组( w g l ) ,这体现了国家对可信计算标 准的高度重视。我国已经筹建了中国可信计算平台联盟( c t c p ) 的可信计算组织,该 组织制定的规范与t c g 的标准保持大部分兼容,只在涉及国家安全的极少部分有一 些不同。 另外,从国家层面来看,2 0 0 8 年出台的国家“十一五”规划和“8 6 3 ”计划 中,将把“可信计算 ,列入重点支持项目,并有较大规模的投入与扶植。经过近几 年的不断努力,我国的安全p c 产业链已初步形成,研究领域除可信终端外,还研究 可信网络、可信服务器、可信接入等领域。我国也跻身世界上少数几个自主研发出 可信p c 的国家之列。 1 3 论文的研究目标与主要创新点 由于操作系统是动态的,可以进行自我修改,所以如何有效认证0 s 就成了一个 难题。目前的可信计算的信任链只能从可信度量根开始到o s 内核结束,无法传输到 操作系统和应用软件。因此,在0 s 上运行的应该程序和进程的可信性也就不能有效 保证。为了克服这个困难,本文放弃了对整个o s 进行认证的想法而是只关心特定的 应用软件的执行顺序的可信链传递。同时,本文引入的s e l i n u x 技术它既具有l s m 的易用性和灵活性的特点,又可通过使用强制访问控制机制来对应用进行隔离及内 存保护,弥补了l s m 不能完成进程隔离这一缺陷。这两种技术相互补充相互促进,可 信计算可保证s e l i n u x 的服务对象( 进程) 及其自身模块的可信性,而s e l i n u x 可以 来保证进程在运行过程的可信性( 可信计算无法完成的) 。作为可信计算与s e l i n u x 结合点,对可执行文件的特定地址写入代表某一特定权限的安全属性值与经t p m 加 密密钥加密过的可执行文件的摘要值;同时修改内核l o a d _ e l f _ b i n a r y 函数,添加 验证可执行文件的完整性与抽取安全属性的代码块。这样不仅可以保证可执行程序 自身的完整性,还为应用进程指定了安全上下文。最后为了降低s e l i n u x 策略的复 杂性,我们提出了对应用分组,对客体( 如系统调用) 按对系统的入侵能力分类的 观点。 1 4 本文方案与现有技术的比较 i n t e l 的l t 技术,它从硬件的角度实现并扩展了t c g 定义的可信计算的范围 和功能。为了保护计算机免遭基于软硬件的攻击而在原来硬件的基础上增加一层可 信机制。它是保证一个平台可信的基础,但是如果没有可信操作系统保证的话,是 不可能确保整个平台是可信。 t e r r a 结构,它是在一个防篡改的高可靠性的通用平台上向用户提供多个互相 隔离的虚拟机,这种方法可以很好的隔离可信进程与其它进程问的交互。但的缺点 是还没有实现完整的可信度量体系,同时它的性能底也是一个不可忽略的问题。 微软的n g s c b ,它是一个从硬件到操作系统完整的平台。但是它的改动大,与现 有的平台不兼容。更重要的是,它涉及的技术都是保密的。 本文提出的方案它在改动最小的情况下完成了从c p u 的第一条指令地址 ( f f f f f f f o h ) 开始一直到启动安全应用在运行前都是可信,它避免了任何从底层被 旁路的可能。在进程运行期间采用s e l i n u x 模型,实现了进程问的隔离及内存保护。 它完全与现有平台兼容。 1 5 本文组织结构 本文第二章、第三章分别介绍了可信计算中的基础知识及s e l i n u x 的基础知识; 第四章重点介绍了可信平台的整体设计包括理论框架与平台的具体实现方法;第五 章则详细描述了本方案中涉及的几个关键技术及其实现;第六章从一个实际的用例 出发,给出具体策略的编写方法;第七章理论上详细分析本方案安全性及应用前景。 2 可信计算技术 2 1 可信计算发展史 上个世纪7 0 年代初,可信系统( t r u s t e ds y s t e m ) 的概念被首次提出,由此开始 了人们对可信系统的研究。到了8 0 年代中期,美国国防部制定了世界上第一个可 信计算机系统评价准则t c s e c ( t r u s t e dc o m p m e rs y s t e me v a l u a t i o nc r i t e r i a ) 。在 t c s e c 中第一次提出可信计算机和可信计算基t c b ( t r u s t e dc o m p u t i n gb a s e ) 的概 念,并把t c b 作为系统安全的基础。1 9 8 7 年7 月,针对网络、安全的系统和数据 库的具体情况又做出了3 个解释性文件,即可信网络解释、计算机安全系统解释和 可信数据库解释,形成了安全信息系统体系结构的最早原则。这些文件形成了彩虹 系列信息系统安全指导文件。彩虹系列的出现形成了可信计算的一次高潮。多年来 彩虹系列一直成为评价计算机系统安全的主要准则。但存在一定的局限性,如对信 息的完整性、真实性考虑较少。 1 9 9 1 年,西欧四国( 英、法、德、荷) 提出了信息技术安全评价准则( i t s e c ) , i t s e c 首次提出了信息安全的保密性、完整性、可用性概念,把可信计算机的概念 提高到可信信息技术的高度上来认识。1 9 9 3 年1 月,美国公布了融合欧洲的i t s e c 的可信计算机安全评价准则之联邦准则。i e e e 的容错专家们自1 9 9 9 年将容错计算 会议改名为可信计算会议( p l m c ) 后,便致力于可信计算的研究。他们的可信计算 更强调计算系统的可靠性和可用性,而且强调可信的可论证性。1 9 9 9 年l o 月由国 际几大i t 巨头c o m p a q 、h p 、i b m 、i n t e l 和微软牵头组织了可信计算平台联盟 t c p a ( t m s t e x lc o m p u t i n gp l a t f o r m a l l i a n c e ) ,成员达1 9 0 家,遍布全球各大洲主力厂 商。主要是为了解决pc 机结构上的不安全,从基础上提高其可信性。t c p a 定义 了具有安全存储和加密功能的可信平台模块( t p m ) ,并于2 0 0 1 年1 月发布了基于 硬件系统的“可信计算平台规范”( v 1 o ) 。2 0 0 3 年3 月t c p a 改名为t c g ( t r u s t e d c o m p u t i n gg r o u p ) ,同年1 0 月发布了t p m 主规范( v 1 2 ) 。其目的是在计算和通信系 统中广泛使用基于硬件安全模块支持下的可信计算平台,以提高整体的安全性。 2 2 可信计算平台 2 2 1 可信的理解 t c g 对“可信”的定义是:“一个实体在实现给定目标时,若其行为总是可预期 的,则该实体是可信的”。这个定义将可信计算和安全技术分开:可信强调行为结果 可预期性,但并不等同于行为是安全的,这是两个不同的概念。根据英特尔的信息 安全专家大卫格劳洛克( d a v i dg r a w r o c k ) 的说法,如果你知道电脑中有病毒,这些 病毒会在何时发作,清楚会产生怎样的后果,而且病毒也确实是这么运行的,那么 这台电脑就是可信的。i s o i e c1 5 4 0 8 标准将可信定义为:参与计算的组件,操作或 过程在任意的条件下是可预测的,并能够抵御病毒和物理干扰。t c g 认为如果从一 个初始的“信任根”出发,在平台计算环境的每一次控制权转换时,这种信任可以 以传递的方式保持下去信任链不被破坏,那么平台上的计算环境就始终是可信的。在 可信环境下的计算平台上的各种操作也是可信任的,不存在不被信任的实体,因为 恶意代码,计算机病毒是不被信任的,所以也就不可能被运行,平台本身的完整性得 到保证安全自然也得到了保证。 2 2 2 可信任链原理 可信计算平台的基本思路是基于可信任链的想法。可信任链是由一个可信任根 ( 节点o ) 出发,由这个可信任根来验证另一个节点l ,如果验证通过则节点1 也是可信 任的了;再由这个可信节点1 来验证另一个节点2 ,同样验证通过了节点2 也是可信 任的了;如此反复直至节点n 。使得可信任节点集合从最初的 节点o ) 逐步增长为 节 点0 ,节点n ) 。其中可信节点i ( i = 0 ,l ,n 1 ) 验证节点i + l 从而使原本不可信任节 点i + 1 也成为可信任节点的过程称为信任传递。如果用布尔变量z 表示节点i 的可信 状态,用布尔变量k + 。表示节点i 对节点i + 1 的验证结果,那么互可以表示为: 瓦2 t r u e t + j = z 吃l ( i o ) 不过,在可信计算平台中使用的更多是另外一种形式的可信任链:节点0 是可 信任根;节点i ( i = 0 ,l ,n 一1 ) 对节点i + 1 并不验证,只是把节点i + l 的情况t + 。记录到 一个安全的地方,接着就跳到i + 1 节点执行同样的操作;当跳到链尾n 的时候就得 到一个序列 厶,厶,lj ,并且这个序列是不可修改的。这样我们只需要检验 序列i ,厶,lj 就可以判断这个链是否是可信的。 2 2 3 可信计算平台的启动过程 在可信计算平台启动时,最先被运行的那部分代码度量下一个将要被运行的组 件代码得到一个摘要,接着把摘要以及代码的相应信息放到一个防篡改的硬件模块 中,然后把执行权传递给刚被度量过的组件。在接下去的启动链中,每一部分都必 须执行同样的操作。这样在整个启动过程中除了第一步以外,其他每一步的代码摘 要以及相应信息都被记录在防篡改的硬件模块中。而那最先被执行的那部分代码被 称为可信任度量根( c o r er o o to ft r u s tf o rm e a s u r e m e n t ,c r t m ) ,是被认为始终可信 的。它是可信计算平台初始化代码中的不变部分。 可信计算平台的启动过程可以描述如下( 如图2 1 所示) : 1 ) c r t m 度量o sk e r n e l 装载器并把控制权交给o sk e r n e l 装载器。 2 )由o sk e r n e l 装载器度量o sk e r n e l 并把控制权交给o sk e r n e l 。 3 ) 由o sk e r n e l 度量o s 并控制权交给o s 。 3 )由o s 来度量应用程序。 也就是说,在系统启动过程中,c r t m 将信任传递给o s 装载器,o s 装载器 将信任传递给o sk e r n e l ,o sk e r n e l 再把信任传递0 s ,最后0 s 将信任传递给应 用程序。另外,在度量过程中,各部分代码的散列值会被存储在t p m 的p c r ( p l a t f o r m c o n f i g u r a t i o nr e g i s t e r s ,平台配置寄存器) 中,而且在关机或重启之前p c r 的值不 能被重置或还原到前值的,只能被扩展。当远端或本地程序需要验证当前系统是否 处于预定义的可信状态时,这些p c r 的值就会被读取。置疑程序验证了可信计算芯 片对相关的p c r 值的签名之后,与预先存储的值相比,就可以知道该系统运行的程 序是否是预先规定的可信程序。 控 制 权 转 移 图2 一l 可信计算平台的启动过程 2 2 4 完整性的度量与存储 度 且 里 过 程 完整性度量与存储是指计算部件的度量值,记录该事件到事件日志,并把度量 值记入可t p m 内相应的平台配置寄存器( p c r ) 中 7 。依次度量两个部件的过程( 如 图2 - 2 ) 13 图2 2 完整性的度量与存储 完整性度量与存储应满足如下要求: 1 ) 计算度量值的过程应是执行杂凑运算的过程。 2 ) 杂凑运算输入的数据应为度量者指定的可以表征被度量者特性的数据。 3 ) 杂凑运算输出的杂凑值即为被度量者的完整性度量值。 4 ) 度量者应把度量值记入指定的p c r 中。记入的办法是:新p c r 值= 密码杂凑算 法( 原p c r 值if 度量值) 。 5 ) 应把度量过程信息记录到平台事件日志中。至少应记录:度量者信息、被度量者 信息、原p c r 值、度量值、新p c r 值、完成时间等。 6 ) 如果一个部件序列中的各部件完整性度量值存储在同一个p c r 中,则采用一种 专门的压缩存储方式,即从第一个部件开始,将该部件完整性度量值与目标p c r 的 l4 已有存储值拼接,进行杂凑运算,然后将所得结果再存储于该p c r 中,依次类推, 最后一个部件的完整性度量值存储操作完成

温馨提示

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

评论

0/150

提交评论