(系统工程专业论文)文件保护系统中透明加解密技术的设计与实现.pdf_第1页
(系统工程专业论文)文件保护系统中透明加解密技术的设计与实现.pdf_第2页
(系统工程专业论文)文件保护系统中透明加解密技术的设计与实现.pdf_第3页
(系统工程专业论文)文件保护系统中透明加解密技术的设计与实现.pdf_第4页
(系统工程专业论文)文件保护系统中透明加解密技术的设计与实现.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

(系统工程专业论文)文件保护系统中透明加解密技术的设计与实现.pdf.pdf 免费下载

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

文档简介

摘要 文件保护系统中透明加解密技术的设计与实现 摘要 随着计算机与网络应用的普及,信息安全问题越来越引起人们的重 视。当前的信息安全问题,不仅仅来自于外界的攻击,而且来自于内部的 泄密与破坏。仅靠对管理制度进行完善难以从根本上杜绝内部安全问题的 发生,必须从技术上对内部数据文件进行保护,文件保护系统也由此而生。 加解密技术是实现文件保护系统的核心技术,各厂商实现方式不一。 本文首先分析对比了已有各类文件加解密技术的优缺点,分析了安全需 求,得出以文件系统过滤驱动为基础、结合u s bk e y 访问控制技术的内核 级文件透明加解密技术是当前实现文件保护系统的经济、高效方法。 本文从w i n d o w s 的体系结构入手,对与文件系统相关的主要系统组件 如i o 管理器、对象管理器等进行了简要分析,对过滤驱动工作原理及如 何实现透明加解密功能进行了论述,对密码学的相关知识进行了介绍。 在此研究的基础上,本文设计了一个基于w i n d o w s 文件系统过滤驱动 的文件保护系统,给出了系统整体框架,驱动层各功能模块实现流程以及 重要数据结构定义。对于关键性的透明加解密技术的实现,论文进行了较 详细的论述。通过对关键技术的分析,总结出优势和不足,并对日后改进 的方法进行了展望。 本文的创造性工作在于将基于u s bk e y 的访问控制技术和文件系统过 滤驱动进行了结合,给出了文件保护系统的角色划分和权限设置,以达到 北京化工大学硕士学位论文 管理上的安全。 最后,在所搭建的测试平台上,对系统进行了测试,测试结果表明, 系统在w i n d o w sn t5 系列平台上具有较好的工作性能,能够对内部数据 文件进行保护。 关键词:文件系统,过滤驱动,加解密,i r p a b s t ra c t t h ed e s i g na n di m p l e m e n to ft r a n s p a r e n t e n c r y p t i o na n dd e c r y p t i o nt e c h n o l o g y i nf i l ep r o t e c t i o ns y s t e m a b s t r a c t w i t ht h ep o p u l a r i t yo fc o m p u t e ra n dn e t w o r ka p p l i c a t i o n s ,i n f o r m a t i o n s e c u r i t yp r o b l e m sa r eb e c o m i n ga t t r a c t e di n c r e a s i n g l ya t t e n t i o n t h ec u r r e n t i n f o r m a t i o ns e c u r i t yi s s u e s ,n o to n l yf r o mo u t s i d ea t t a c k s ,b u ta l s of r o mt h e i n s i d es e c r e t sa n dd e s t r u c t i o n a l o n e l yt oi m p r o v et h em a n a g e m e n ti sd i f f i c u l t t of u n d a m e n t a l l yp u ta l le n dt oi n t e r n a ls e c u r i t yp r o b l e m s ,i ti sn e c e s s a r yt o u s es o m et e c h n i c a lm e t h o dt op r o t e c ti n t e r n a ld a t af i l e ,f i l ep r o t e c t i o ns y s t e m i se m e r g e d e n c r y p t i o na n dd e c r y p t i o nt e c h n o l o g yi s t h ec o r et e c h n o l o g yo ff i l e p r o t e c t i o ns y s t e m i n t h i s p a p e r ,c o m p a r i n g t h et h e a d v a n t a g e s a n d d i s a d v a n t a g e s o fd i f f e r e n t t y p e so ff i l ee n c r y p t i o nt e c h n o l o g y ,t h r o u g h a n a l y s i st h es e c u r i t yn e e d s ,c o m et ot h ek e m e ll a y e rt r a n s p a r e n te n c r y p t i o n t e c h n o l o g yt h a tb a s e do nf s f dc o m b i n e dw i t hu s bk e yi s t h em o s t e c o n o m i c l ya n de f f i c i e n t l ym e t h o dt oa c h i e v ef i l ep r o t e c t i o ns y s t e m t h e p a p e rb e g i n s f o r m a n a l y z i n g t h ew i n d o w sa r c h i t e c t u r e s t r u c t , 1 1 1 北京化工大学硕士学位论文 - _ - - - - - _ _ _ - _ - - - _ _ - - _ _ _ 7 ii i f e s p e c i a l l yt h em a i ns y s t e mc o m p o n e n t st h a tt h e 。f i l es y s t e m ;a s m e i a t e dw i t h , s u c ha sf om a n a g e r , o b j e c tm a n a g e r t h ep a p e ra n a l y z e st h ef i l es y s t e m a n df i l t e rd r i v e r t h ep a p e ra l s ot e l l su sh o wt oa c h i e v et r a n s p a r e n t e n c r y p t i o na n dd e c r y p t i o nf u n c t i o n sa n di n t r o d u c e sb a s i ck n o w l e d g eo f c r y p t o g r a p h y i nt h i ss t u d y ,t h i sp a p e rd e s i g n e daw i n d o w s b a s e df i l es y s t e mf i l t e rd r i v e r o ff i l ep r o t e c t i o ns y s t e m m e a n w h i l e ,w es t u d i e do u taf r a m ed i a g r a mw h i c h c o v e r e dw h o l ef u n c t i o n s y s t e m ,i n c l u d i n gk e m e ll a y e rf u n c t i o nm o d u l e s a r c h i e v ep r o c e s s e s ,a sw e l la st h ed e f i n i t i o no fi m p o r t a n td a t as t r u c t u r e s f o r t r a n s p a r e n te n c r y p t i o na n dd e c r y p t i o nk e yt e c h n o l o g yt oa c h i e v eam o r e d e t a i l e dp a p e ro nt h i s t h r o u g ha n a l y s i so f k e yt e c h n o l o g i e s ,s u m m e du pt h e a d v a n t a g e sa n dd i s a d v a n t a g e s ,a n dw a y st oi m p r o v ef u t u r ep r o s p e c t s t h em a i nw o r ko ft h et h e s i sa r eo u t l i n e da sf o l l o w s :b a s e do nt h e c o m b i n a t i o no fu s bk e ya c c e s sc o n t r o lt e c h n o l o g ya n df i l es y s t e mf i l t e r d r i v e r ,f i l ep r o t e c t i o ns y s t e mi sg i v e nt h er o l eo fd i v i s i o na n ds e tu p p e r m i s s i o n si no r d e rt oa c h i e v et h es a f e t ym a n a g e m e n t f i n a l l y ,i n t h et e s t p l a t f o r m ,t h ef i l ep r o t e c t e ds y s t e mt h a tt h i sp a p e r s t u d i e di st e s t e d t e s tr e s u l t ss h o wt h a tt h es y s t e mi nt h ew i n d o w sn t5 s e r i e sp l a t f o r mi sp e r f o r m a n c ew e l l t h es y s t e mi sa b l et op r o t e c ti n t e m a l d a t af i l e s k e yw o r d s :f i l e s y s t e m ,f i l t e rd r i v e r ,e n c r y p t i o n d e c r y p t i o n ,i r p i v 北京化工大学位论文原创性声明 本人郑重声明:+ 所呈交的学位论文,是本人在导师的指导下, 独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本 论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文 的研究做出重要贡献的个人和集体,均已在文中以明确方式标明a 本 人完全意识到本声明的法律结果由本人承担。 作者签名:日期:! z :至:苎 关于论文使用授权的说明 学位论文作者完全了解北京化工大学有关保留和使用学位论文 的规定,即:研究生在校攻读学位期间论文工作的知识产权单位属北 京化工大学。学校有权保留并向国家有关部门或机构送交论文的复印 件和磁盘,允许学位论文被查阅和借阅;学校可以公布学位论文的全 部或部分内容,可以允许采用影印、缩印或其它复制手段保存、汇编 学位论文。 保密论文注释:本学位论文属于保密范围,在上年解密后适用 本授权书。非保密论文注释:本学位论文不属于保密范围,适用本授 权书。 作者签名:垒垒拉作者签名:2 签型 导师签名:一一里盘 日期: 09 石j 1 1 课题背景及研究意义 第章绪论 计算机技术与网络技术的迅猛发展,使人类社会的日常生活得到了极大的改变, 工作效率得到了极大提高。信息化、数字化、网络化日渐融入到社会韵各个角落。诗! 算机已经成为人们生活、学习和工作中必不可少的一部分。随着信息技术的日益普及; 数据文件在计算机系统上的存储安全保护愈发显得重要起来。市场研究公司g a r t n e f 的研究报告表明,截至到2 0 0 9 年,在被调查的上万家企业中,遭受以窃取数据文件 为目的的攻击行为以每年2 0 0 , 4 的速度递增。如何保证数据文件的安全性,已经成了政 府、企业和个人在使用计算机与互联网的同时所关注的焦点【l 】 国际标准化组织( i s o ) 对计算机系统安全的定义是:为数据处理系统建立和采 用的技术和管理的安全保护,保护计算机硬件、软件和数据不因偶然和恶意的原因遭 到破坏、更改和泄露【2 】。由此可以看出,数据文件的安全,一般来说可以归结为以下 两个方面: 1 ) 数据文件传输安全,即网络上的数据安全,是指网络系统的硬件、软件及其 系统中的数据受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄露,系统 连续可靠正常地运行,网络服务不中断。广义来说,凡是涉及到网络上信息的保密性、 完整性、可用性、真实性和可控性的相关技术和理论都是数据文件传输安全所要研究 的领域。网络安全涉及的内容既有技术方面的问题,也有管理方面的问题,两方面相 互补充,缺不可。技术方面主要侧重于防范外部非法用户的攻击,管理方面则侧重 于内部人为因素的管理。如何更有效地保护重要的信息数据、提高计算机网络系统的 安全性已经成为所有计算机网络应用必须考虑和必须解决的一个重要问题。 2 ) 数据文件存储安全,即确保存储在计算机主机系统内的文件是安全的,禁止 未得到授权的用户访问、破坏和传播。它基于这样一种信任模型,即所有用户都是非 法的、不可信的,且都可以以各种手段对数据安全造成威胁,如内部人员通过内部网 络或字节登录访问主机,窃取主机上的文件资料。据联邦调查局( f b i ) 和计算机安 全机构( c s i ) 曾对4 8 4 家公司进行的网络安全调查结果显示:超过8 5 的安全威胁 来自公司内部,由于内部人员泄密所导致的资产损失高达6 0 0 0 多力美元,它是黑客 所造成损失的1 6 倍、病毒所造成损失的1 2 倍。 长期以来,人们多关注于基于网络传输安全的外部防范技术,而对基于主机系统 存储本身的数据保护较少关注。随着网络安全技术的发展,有关局域网与i n t e m e t 的 隔离,局域网的保护,数据在i n t e r n e t 的安全传播等技术已较为成熟,作为网际安全 解决方案的防火墙、虚拟专用网络v p n 、入侵检测系统i d s 、i p s 以及集诸多网络安 北京化工大学硕士学位论文 全产品于一身的统一安全威胁处理平台u t m 等网络安全产品日渐成熟,来自网络攻 击的成本和技术难度大大提高,威胁大大减弱。而来自政府、企业内部人员的,针对 主机系统的直接窃取行为成为更主要的威胁【3 1 。本文研究的透明加解密技术就是关于 增强计算机主机系统存储文件安全性的技术。 1 2 文件加解密技术概述 所谓文件加解密技术,即在用户在发出读写文件请求到磁盘物理存储数据之间的 通路某一点,实施技术设计者的处理方案,使之发出读请求时进行数据解密,发出写 请求时进行数据加密,以达到保护文件数据的目的【4 1 0 文件的加解密技术大致可分为五类,即用户态文件加密、硬件加密、专用文件系 统加密、系统调用层加密、文件系统过滤层加密 f l 。 1 2 1 用户态文件加密 用户态文件加密技术是最基本的文件加密技术,常见的是使用加密工具,如 w i n z i p 、w i n r a r 应用程序等,一切操作均发生在用户态,和底层操作系统无关。用 户使用加密工具设定自定的密钥对数据文件进行转换格式后加密,当访问文件时,加 密工具会先对数据文件进行解密,关闭文件时再对已修改或未经修改的文件再次加密 转换格式后存储。 这种加密方式实现起来比较容易,但由于其工作在用户态,各种用户进程及所有 内核进程均能访问其工作空间,如系统缓存中遗留的明文文件,加解密时产生的临时 文件等,因此在安全性上得不到保障。在实际应用的过程中,它改变了用户平时使用 文件的习惯,需要专门的阅读器,使用不方便。一旦用户忘记密钥,文件内容将无法 恢复,而密钥设定较为简单时,则加密文件被破解的几率又大大增加。使用键盘i o 监控工具、替换加密工具等方法,可以较容易的得到文件的访问权限,即使其采用带 有智能卡芯片的u s b t o k e n 等硬件设备加以辅助也无济于事。该技术无法防止内部用 户主动泄密。这类用户模式下进行的文件加密技术,被一些早期版本的文件保护系统 所采用,使用于安全性要求不高的场合。 1 2 2 硬件加密 硬件加密技术主要采用专用的硬件设备参与用户加解密,无需计算机c p u 的参 与,系统只需将数据发给硬件加密驱动,交由硬件处理,即可完成加解密过程。各种 2 加密存储器、加密卡等均属于硬件加密方法韵具体实现t 在四种加解密方法中,该方法加密速度最快,对c p u 影响最小( 完全不需要参 与) i 难以破解,但同时带来了高成本、灵活性差( 绕过软件系统,用户无法自定义 加密密钥和指定加密文件) 等缺点j 1 2 3 专用文件系统加密 专用文件系统加密技术是指开发特制文件系统以实现加密功能,它工作于操作系 统内核设备驱动层,可以f 实现透明的加解密操作。它常常以单独的磁盘分区的形式存 在,需要加密的文件存储在该分区内1 6 j 。 与硬件加密技术相比,专用文件系统加密技术纯软件实现,成本较低,灵活性方 面相当或稍好,但加密速度远有不如,对c p u 的消耗较大,开发费用较高。与其它 加密技术对比,专用加密文件系统的优势在于不需要对应用程序做任何监控和处理, 加解密效率影响几乎可以忽略不计。而数据一旦离开磁盘,如通过移动存储设备或者 网络传输,就会被自动加密,可以说在功能上满足了企业的要求。但是专用文件系统 也存在劣势,一个就是系统盘的系统文件和用户文件不会被加密,如果用户把文件存 放到系统目录,并对后缀名做修改,就很容易逃脱加密保护,另外一块就是针对网络 协议的传输和网络应用,也存在障碍,很容易通过i m 或类似于p d m 系统等将明文 传输出去,安全漏洞比较明显。 1 2 4 系统调用层加密 这种技术使用的即所谓的钩子( h o o k ) 技术,软件工作在用户态或内核态下,钩 取w m d o w s 文件操作相关服务:以达到使用户不改变使用习惯、透明保护文件的目的。 但钩子技术作为拦截正常的执行流程,并更改由操作系统的报告a p i 返回的信息的技 术,对w m d o w s 正常的工作流程造成了干扰,有时会造成操作系统的不稳定,且拦截 的操作信息不够全面。 1 2 5 文件系统过滤层加密 文件系统过滤层加密技术主要采用了文件系统过滤驱动技术,对普通文件系统的 功能进行了扩展,加密软件核心部分即过滤驱动部分位于操作系统内核,在i o 管理 器和底层文件系统之间实现加密功能。由于加密软件位于系统底层内核,得到操作系 统保护,不容易被攻击,安全性较好。加密方式灵活多变,可以实现用户不知情情况 下的透明加解密操作。同时,还可以实现对文件粒度和用户粒度的加密,所谓文件粒 3 北京化工大学硕士学位论文 度的加密,指用户可以选择指定要加密的文件,丽用户粒度的加密是指不同甩户可以 使用不同的密钥来加密文件。: 该技术处理速度虽较硬件加密稍低,且占用了一小部分c p u 资源,但使用灵活, 扩展性强,而且开发成本较低。与专用加密文件系统相比,文件加密技术主要存在效 率影响,另外视开发者水平高低不同,会对应用操作操作一些额外的影响,相对安全 较高,泄密漏洞较难发现,但是对终端的影响会较大。专用加密文件系统安全性较差, 但是对终端的影响很小;文件加密技术安全性较好,但是对终端的影响较大,需要有 实力的开发者才能更好的满足用户的要求。 在上述五种文件加密技术中,该技术可说是达到了性能、价格和安全性上的平衡。 本文所实现的具有透明加解密功能的文件保护系统就采用了文件系统层加密的技术。 1 3 国内外文件加解密技术现状 在国外,从w i n d o w s5 0 即w i n d o w s2 0 0 0 开始,微软推出加密文件系统( e f s ) , 它属于基于文件系统层加密的技术,与文件系统格式无关 7 1 。e f s 安全性依赖于密码 学支持。当第一次一个文件被加密时,e f s 为执行此次加密的用户帐户分配一对私钥 公钥,以便在文件加密过程中使用。用户可以通过w i n d o w se x p l o r e r 或名为c i p h e r 的命令行工具来加密文件。对于已被指定为加密目录的目录,w i n d o w s 自动加密其中 的文件,当一个文件被加密时,e f s 为该文件生成一个随机数,e f s 称其为该文件的 文件加密密钥( f e k ,f i l ee n c r y p t i o nk e y ) 。e f s 使用此f e k 来加密该文件的内容,它 使用的加密算法是d e s ( d a t ae n c r y p t i o ns t a n d a r d ) 算法的一个更强的变形在 w i n d o w s2 0 0 0 上是d e s x ,在w i n d o w sx p 及之后版本是d e s x 、3 d e s 或a e s ( a d v a n c e de n c r y p t i o ns t a n d a r d ) 。e f s 将该文件的f e k 与该文件存储在一起,但是 它通过r s a 公钥加密算法,利用该账户的e f s 公钥对f e k 进行了加密。当e f s 完成 了这些步骤以后,该文件是安全的:其他用户没有解密以后的文件f e k ,所以无法解 密文件的数据;他们没有该用户的私钥,所以也无法解密f e k 。因此可以说,e f s 是 基于用户帐户加密的加密技术。 e f s 由于是微软开发的技术,和w i n d o w s 操作系统兼容性最好,可为除w i n d o w s 系统文件外的所有文件提供基于内核的加密服务,安全性有了质的飞跃,但其存在不 少缺陷,如:与n t f s 文件系统紧密结合,无法支持f a t 3 2 甚或更低版本格式的文件 系统;沿用操作系统的访问控制模式,操作随意性较大。由于美国法律的限制,在准 许出口到美国以外其他国家和地区的w i n d o w s 版本上,e f s 驱动程序实现的d e s x 加密算法密钥长度仅为5 6 位。对于仅限于美国市场的w i n d o w s 版本,d e s x 加密算 法密钥长度为1 2 8 位,a e s 加密算法密钥长度为2 5 6 位。相比之下,我国所能使用 4 第一章绪论 w i n d o w s 敝本密钥长度较短,算法较旧,:且安全性较差,被破解的几率较大舻此外, 微软未公开该加密系统源代码,:第三方开发者不能对系统进行自定义升级。 由于国内对主机系统文件保护重视的较早,从2 0 0 0 年开始,各类采用文件加解 密技术的主机系统文件保护系统便层出不穷。早期多采用常规的用户态文件加密技 术,采用文件格式转换的方式进行加密。2 0 0 2 年及稍后的时间,采用应用层系统调用 加密即应用层钩子技术的较多。近年来,采用内核钩子和专用加密文件系统技术的产 品也日益增多,采用文件系统层加密的产品也开始出现。如深圳大成天下信息技术有 限公司的铁卷电子文档安全系统,中国软件通用产品研发中心的防水墙系统等均在不 同层次,不同程度上较好的实现了对主机文件的保护功能。 国内的研究者当前实现文件加密多采用内核a p ih o o k 技术的方式。本文在借鉴 前人研究成果的基础上,确定以文件系统过滤驱动为开发原理,结合u s bk e y 硬件 控制访问技术来实现文件的透明加解密,该系统弥补了e f s 的不足,不但可以对不同 的文件和目录实现加解密,而且不受文件格式的影响,对于移动存储介质不是单纯的 禁止其访问,而是通过对u s bk e y 持有者即用户的绑定来完成对它的控制,能够支 持授权进程和非授权进程的同时访问。本论文详细介绍了采用该技术的文件系统过滤 驱动程序的开发过程。 1 a 本文主要创新点及组织结构 透明加解密( 也称实时加解密,动态加解密等,有英文别称为e n c r y p to n - t h e - f l y ) , 是指数据在使用过程中自动对数据进行加密或解密操作,无需用户的干预,合法用户 在使用加密的文件前,也不需要进行解密操作即可使用。表面看来,访问加密的文件 和访问未加密的文件基本相同,对合法用户来说,这些加密文件是透明的,即好像没 有加密一样,但对于没有访问权限的用户,即使通过其它非常规手段得到了这些文件, 由于文件是加密的,因此也无法使用【3 】。由于动态加密技术不仅不改变用户的使用习 惯,而且无需用户太多的干预操作即可实现文档的安全,因而近年来得到了广泛的应 用。 本文的创新点主要在于将基于硬件设备u s bk e y 的访问控制技术、p k i 技术与文 件系统过滤驱动相结合,将受保护文件与用户绑定起来,以实现更安全的透明加解密 技术。系统通过合理的角色划分和权限设置,达到管理上的安全。 本文主要由以下内容组成:第2 章介绍了一些背景知识,包括w i n d o w s 内核组件 的基本知识和相关机制,w i n d o w s 文件系统和过滤驱动的基本知识以及密码学相关的 一些理论和专有名词;第3 章论述了文件保护系统的设计方案,给出了系统设计架构 和内核部分各模块的基本流程以及相关的一些数据结构;第4 章描述了文件保护系统 北京化工大学硕士学位论文 驱动层的实现细节,并给出了关键例程的部分代码;第5 章对关键的透明加解密技术 进行了论述i 第6 章给出了系统的测试结果并对其进行相应的分析:第7 章对全文进 行了总结和展望。 1 5 本章小结 本章首先给出了课题的背景及研究的意义。通过对当前常见的文件加解密技术的 分析,决定采用以文件系统过滤驱动为基础,结合u s bk e y 访问控制技术的内核级 透明加解密技术,最后给出了本论文的组织结构。 6 第二章背景知识 第二章背景知识 2 1w in d o w s 内核组件的基本知识 文件系统过滤驱动属于操作系统内核程序,它与操作系统内核模式组件密切相 关。理解w i n d o w s 系统的内核模式组件的工作原理,是开发内核模式驱动必备的 理论基础。本节论述了w i n d o w s 操作系统内核组件构成和工作原理。 2 1 1w i n d o w s 总体结构 w i n d o w s 操作系统的设计原理和方法逻辑来自伟大的u n i x 和o p e nv m s 操 作系统,还受到一些m s d o s 和o s 2 的影响,同样c m o 开发的m a c h 系统在 其中的影响也很明显。在w i n d o w sn t 的设计中,有很明显的从m a c h 系统中继 承过来的一些设计哲学,包括努力最小化内核的大小和实现一个c s 模式的操作 系统,在各模块之间用消息相互传递消息。而且设计者试图实现一个层次化的系 统,每一个组件和其他层的交互都是在一个定义良好的接口上进行的例。 如图2 一l 所示,即为简化的w i n d o w s 总体结构图。所谓简化,是指该图并没有 显示任何特定内容,如网络组件和各种类型设备驱动程序的层次等。 囤 内梭横式 图2 - 1 简化的w i n d o w s 总体结构 f i g 2 1s i m p l i f yt h eo v e r a l ls t r u c t u r eo f w i n d o w s 从图中可以看出,与大多数多用户操作系统类似,w i n d o w s 系统应用程序与操 作系统本身是隔离的操作系统内核代码运行在处理器的特权模式下( 内核模 式,k e r n e lm o d e ) ,可以访问系统数据和硬件;应用程序代码运行在处理器的非特 权模式下( 用户模式,u s e r m o d e ) ,只有有限的一组接口可以使用,对系统数据的 7 北京化工大学硕士学位论文 访问受到限制,并且无法直接访问硬件。 操作系统提供保护予系统,每个保护子系统拥有与其他子系统相隔离的内存, 驻留在自己的进程中。内存保护是由内核的虚拟内存管理器所提供支持的。予系 统提供定义良好的应用编程接口,从而用户模式的进程可以调用期望的功能。子 系统再用定义良好的系统服务调用与内核模式的操作系统组件通信。当用户模式 程序调用一个系统服务时,处理器捕获到该调用,然后将调用线程切换到内核模 式。当该系统服务完成时,操作系统将线程环境切换回用户模式,并允许调用者 继续执行。 与大多数u n i x 系统类似,w i n d o w s 是一个庞大而完整的操作系统:操作系统 的大部分代码与设备驱动程序共享同样的受保护的内核模式内存空间。这意味着, 操作系统的任一组件或者设备驱动程序都有可能破坏其他系统组件所使用的数 据。当然,操作系统的所有组件都是受保护的,不会被错误的应用程序破坏,因 为应用程序不能直接访问操作系统中特权部分的代码和数据。 在内核模式和用户模式中执行代码的区别是c p u 在不同的硬件特权级执行代 码。大多数c p u 架构有至少两个硬件特权级,如i n t e lx 8 6 系列c p u 有四个特权 级,从r i n g ( 到r i n 9 3 。c p u 的硬件特权级决定了代码能够执行的指令集。w i n d o w s n t 使用简化的两个硬件特权等级模式:内核模式( 处理器处于r 1 n g 0 特权级) 允许代码在处理器上做任何必要的事情,包括使系统崩溃或毁坏用户数据;用户 模式( 处理器处于r 1 n g 3 特权级) 进程则被严格的约束在一个被允许的操作范围 里。 2 1 2g in d o w s 内核组成 w i n d o w s 的内核模式组件包括以下部分,其核心结构和组件如图2 2 所示。 w i n d o w s 执行体( e x e c u t i v e ) 包含了基本的操作系统服务,比如内存管理、 进程和线程管理、安全性、l g o 、网络和跨进程通信。 w i n d o w s 内核( k e r n e l ) 是由一组低层次的操作系统功能所构成的,比如 线程调度( t h r e a ds c h e d u l i n g ) 、中断( i n t e r r u p t ) 和异常分发( e x c e p t i o n d i s p a t c h i n g ) ,以及多处理器同步,它也提供了一组例程和基本对象。执行 体的其余部分利用这些例程和对象实现更高层次的功能。 设备驱动程序( d e v i c ed r i v e r s ) 既包括硬件设备驱动程序,也包括文件系 统和网络驱动程序。其中硬件设备驱动程序将用户的i o 函数调用转换成 特定的硬件设备i o 请求。 硬件抽象层( h a l ,h a r d w a r ea b s t r a c t i o nl a y e r ) 是指一层特殊的代码,它 把内核、设备驱动程序和w i n d o w s 执行体的其余部分,跟与平台相关的硬 件差异( 比如不同处理器、。不同主板、不同显卡的差异奠隔离开来二 窗口和图形系统,c w 洫d o w i n ga n d 删b s y s t e m 囊j 实现了图形用户界面 ( g u i ) 函数,比如对窗口的处理、用户界面控件以及绘制等。 聂绕避覆 。 曩,菇,越甩器痔;环壤睾系统+ 壤件攘q 漶绫,陇瑷鲁,巾断、角精定时豢,融执,内存缓存缓期科斡 2 1 3w i n d o w s 执行体 图2 2w i n d o w s 系统核心结构和组件 f i g 2 - 2w i n d o w sa r c h i t e c t u r e w i n d o w s 执行体( e x e c u t i v e ) 是n t o s k r n l e x c 中的上层,它由不同模块或子系 统组成。每个模块或子系统都要负责一部分功能。通常所说的w i n d o w s 内核模式 代码实际上是指w i n d o w s 执行体中的模块。 执行体为子系统提供了大量的系统服务调用来访问它的服务。另外,执行体还 9 北京化工大学硕士学位论文 给那些期望那些期望扩展现有功能的开发者提供了广泛的支持,通常用于开发第 三方驱动程序、可安装文件系统驱动和其它中间层和过滤驱动等提供增值服务的 软件。 w i n d o w s 执行体包含了以下的主要组件。 配置管理器( c o n f i g u r a t i o nm a n a g e r ) 负责系统注册表的实现和管理。 进程管理器( p r o c e s sm a n a g e r ) 负责创建或终止进程和线程。针对进程和 线程的底层支持是在w i n d o w $ 的内核中实现的:而执行体则在这些底层对 象的基础上又加上了附加的语义和功能。 安全引用监视器( s e c u r i t yr e f e r e n c em a n a g e r 或称s r m ) 强制在本地计算 机上实行安全策略。它守护着操作系统的资源,执行对运行时对象的保护 和审计。 f o 管理器( y om a n a g e r ) 实现了与设备无关的i o 操作,负责将这些操 作分派到恰当的设备驱动程序以做进一步处理。 即插即用( p n p ) 管理器( p l u ga n dp l a ym a n a g e r ) 的任务是,为了支持一 个特定的设备,确定哪些驱动程序是必需的,同时它也负责加载这些驱动 程序。它在设备列举过程中,获取到每个设备的硬件资源需求。p i l p 管理 器根据每个设备的资源需求分配适当的硬件资源,比如i o 端口、i r q 、 d m a 通道和内存位置。当系统中的设备变化时,它也负责发送适当的事 件通知。 电源管理器( p o w e r m a n a g e r ) 负责协调电源事件,并且向设备驱动程序产 生电源管理i o 通知。 w d mw i n d o w s 管理规范例程( w d mw i n d o w sm a n a g e m e n ti n s t r u m e n t a t i o n r o u t i n e s ) 允许设备驱动程序可以发布有关性能和配置的信息,以及接收来 自用户模式w m i 服务的命令。 缓存管理器( c a c h em a n a g e r ) 提高了以文件为基础的i 0 操作的性能,其 做法是,让最近引用过的磁盘数据驻留在主内存中以便快速访问。 虚拟内存管理器( v i r t u a lm e r m o r y m a n a g e r ) 实现了虚拟内存。 逻辑预取器( 1 0 9 i c a lp r e f e t c h e r ) 加速系统和进程的启动过程。 对象管理器( o b j e c tm a n a g e r ) 创建、管理和删除w i n d o w s 执行体对象和抽 象数据类型,这些对象和数据往往代表了操作系统的资源,比如进程、线 程和各种同步对象。 下面将对上述组件中与文件系统过滤驱动关联较大的i 0 管理器、缓存管理器、 虚拟内存管理器、对象管理器进行较详细的介绍。 2 1 4i 0 管理器 1 0 第二牵背景知谖 i o 管理器监视着w i n d o w s 彭q 、子系统套下面是v o 管理器提供的一些功能的 列表: :i o 管理器定义和支持一个框架来使操作系统能够使用连接到系统的外部 设备。 w i n d o w sn t 可以使用的外部设备的类型和数量是没有限制的,因 为外部设备是不断在被设计可开发d ,因此i ,0 子系统对于个商业操作系 统如n t 这样的必须是定义良好的而且可扩展的,这样就能够轻易地适应 ,千变万化的设备,每个都有自己唯- - 的特征的设备。一 i o 管理器提供全面的系统服务让其他的不同子系统使用来执行实际的i o 或者向内核模式驱动请求其他的服务。 考虑一个用户进程初始化一个读请求,这个请求指向控制子系统如 w i n 3 2 子系统。注意w i n 3 2 子系统并不直接把读请求发送给文件系统驱 动或设备驱动,而是调用一个由i o 管理器提供的系统服务调用叫 n t r e a d f i l e 。n t r e a d f i l e 系统服务负责把请求发到适当的驱动然后把结果 输送给w i n 3 2 子系统。还要注意由用户进程提供的用于读操作的缓冲通 常不能直接被最后处理读请求的内核驱动使用。i o 管理器提供自动执行 必要的操作从而使内核驱动能够使用在内核中可访问的缓冲地址的支持。 i o 管理器定义了一个系统中执行的驱动都必须服从的单一l o 模式。 这个模式由对象和用来操纵对象的一组方法组成。内核驱动不需要关 心i o 请求发起者,因为他们以同样的方式回应所有的i o 请求。 这样的结果就是给i o 子系统提供一个兼容的接口,例如w i n 3 2 或者 p o s i x 子系统,这也保护了子系统不必关心发出的i o 请求的变化无常 的各种子系统。另外,因为每一个内核驱动必须服从单一i o 模式,内核 驱动可以使用彼此提供的服务,因为内核驱动并不关心t o 请求来自内核 模式还是用户模式。 最后,单一i o 模式能够实现i o 管理器支持的层次化的内核驱动。 每个驱动层中的内核驱动可以利用下面的驱动提供的服务来完成特定的 操作。接下来,下面的驱动可以完成接到的请求而不管请求来自用户进程 或者驱动层中的位于上面的驱动。 i o 管理器支持用连接到系统的外部设备实现可安装文件系统。 w i n d o w s 操作系统支持包括c d r o m 文件系统、基于记录的n t f s 文 件系统、f a t 文件系统、l a n 管理器文件系统重定向器、h p f s 文件系 统等。i o 管理器提供开发外部可安装文件系统即第三方作者实现的文件 系统的基础。 北京化工太学硕士学位论文 i 0 管理器支持动态可加载内核驱动程序。 i 0 管理器能被w i n d o w s 操作系统的其他组件使用设备羌关的服务,也可 以被第三方作者实现的内核驱动所利用。 如果一个内核驱动需要调用另一个内核驱动程序的分配例程,它可以 使用i o 管理器提供的i o c a l l d r i v e r 服务。类似的,如果一个内核驱动要 分配一个内存描述符列表( m d l ) 结构,可以使用i o a l l o c a t e m d l 例程。 与i o 管理器相关的开发设计中用到了下面的一些概念: l 、基于包的夥o f o 子系统所有的i o 请求都是以数据包的形式发出的,即i o 请求包( i r p ) 。 i r p 通常由i o 管理器在用户请求的时候构建然后传递给目标内核驱动程序。但是, 任何内核组件可以使用i o a l l o e a t e l r p0 创建一个i r p 然后使用i o c a l l d r i v e r ( ) 发送 给一个内核驱动。i 0 请求包是你能够用来向i o 子系统驱动请求服务的唯一方法。 通过严格的服从这个基于包的i o 模式,i o 管理器确保i 0 子系统的兼容和使层 次化的驱动模式建立起来。每个发送给内核驱动的i r p 表示那个驱动程序的一个 未决的i 0 请求。一个i r p 将持续存在直到i r p 接收者为这个特定的i r p 调用 i o c o m p l e t e r e q u e s t 服务例程为止。调用l o c o m p l e t e r e q u e s t 的结果是i 0 操作被标 记为完成,i o 管理器然后触发任何那些等待这个i o 请求完成的完成后的处理。 一个特定的i r p 只能被完成一次,也就是说,只有一个内核驱动能够为任何系统 中存在的i r p 调用i o c o m p l e t e r e q u e s t 。虽然基于包的i 0 是w i n d o w s 的基本规则, 但i o 管理器、n t 缓存管理器和各种各样的文件系统合作实现的叫做“快速i o 路径( f a s ti op a t h ) 的功能是这个规则的一个例外。i o 操作的快速i o 方法只对 文件系统驱动有效。n t 缓存管理器不再使用普通的i r p 方法,而是使用直接的文 件系统中的函数调用来实现这些操作。 2 、n t 对象模型 n ti o 管理器是遵循n t 执行体的对象管理器组件的n t 对象模型来定义和实 现的。 内核驱动程序、外部设备、控制器、适配器、中断和打开文件是实例在内存中 都是用能够被操作的对象来表示的。和这些对象关联的还有一套可以在对象上执 行的操作。例如,每个控制器在系统中用控制器对象表示,而每个打开文件的实 例用文件对象数据结构表示。控制器对象只能使用和这个对象相关的方法来访问。 相同的限制也应用于文件对象结构,还有所有其他由i o 管理器定义的对象类型。 w i n d o w sn t 平台内核驱动程序必须和i 0 子系统的其他部分一样遵循这个基 于对象的模式。所有的驱动程序必须初始化一个驱动程序对象结构来表示加载的 驱动程序自己。另外,如果驱动程序管理设备或者连接到系统的外部设备还必须 创建和初始化一个或者多个设备对象结构。 1 2 因为i o 管理器使用n t 对象模型,它可以使用安全孑系统韵服务来控制对象 的访阿;。彰l e i 管理器支持 静名对象

温馨提示

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

评论

0/150

提交评论