(计算机系统结构专业论文)安全共享文件系统的研究与实现.pdf_第1页
(计算机系统结构专业论文)安全共享文件系统的研究与实现.pdf_第2页
(计算机系统结构专业论文)安全共享文件系统的研究与实现.pdf_第3页
(计算机系统结构专业论文)安全共享文件系统的研究与实现.pdf_第4页
(计算机系统结构专业论文)安全共享文件系统的研究与实现.pdf_第5页
已阅读5页,还剩64页未读 继续免费阅读

(计算机系统结构专业论文)安全共享文件系统的研究与实现.pdf.pdf 免费下载

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

文档简介

学位论文独创性声明 本人所呈交的学位论文是我在导师的指导下进行的研究工作及取得 的研究成果。据我所知。除文中已经注明引用的内容外。本论文不包 含其他个人已经发表或撰写过的研究成果。对本文的研究做出重要贡 献的个人和集体,均已在文中作了明确说明并表示谢意。 作者签名:至盔甚日期:盘 j ! :吐 学位论文授权使用声明 本人完全了解华东师范大学有关保留、使用学位论文的规定学校有 权保留学位论文并向胃隶主管部门或其指定机构送交论文的电子版 和纸质版。有权将学位论文用于非赢利目的的少量复制并允许论文进 入学校圈书馆被查阅。有权捋学位论文的内容编入有关数据库进行检 素。有权将学位论文的标囊和擅要汇编出版。保密的学位论文在解密 后适用本规定。 学位论文作者签名:丑扶导师签名: e l t l l :垫? j ! :毕 张卫 o r i g i n a l i t yn o t i c e i np r e s e n t i n gt h i st h e s i si np a r t i a lf u l f i l l m e n to ft h er e q u i r e m e n t sf o r t h em a s t e r sd e g r e ea te a s tc h i n an o r m a lu n i v e r s i t y , 1w a r r a n tt h a tt h i s t h e s i si s o r i g i n a la n da yo ft h et e c h n i q u e sp r e s e n t e di nt h et h e s i sh a v e b e e nf i g u r e do u rb ym e a n yo ft h er e f e r e n c e st ot h ec o p y r i g h t ,t r a d e m a r k , p a t e n t ,s t a t u t o r yr i g h t ,o rp r o p r i e t yr i g h to fo t h e r sh a v eb e e ne x p l i c i t l y a c k n o w l e d g e da n di n c l u d e di nt h er e f e r e n c e ss e c t i o na tt h ee n do ft h e t h e s i s s i g n a t u r e :垂这d a t e :鲨2 :! ! :土 c o p y r i g h t n o t i c e ih e r e i na g r e et h a tt h el i b r a r yo fe c n us h a l lm a k ei t sc o p i e sf r e e l y a v a i l a b l e f o ri n s p e c t i o n if u r t h e ra g r e et h a te x t e n s i v ec o p y i n go ft h e t h e s i si sa l l o w a b l eo n l yf o rs c h o l a r l yp u r p o s e s ,i np a r t i c u l a r , s t o r i n gt h e c o n t e n to ft h i st h e s i si m or e l e v a n td a t a b a s e s ,a sw e l la sc o m p i l i n ga n d p u b l i s h i n gt h et i t l ea n da b s t r a c to f t h i st h e s i s ,c o n s i s t e n tw i t h “f a i ru s e a s p r e s c r i b e di nt h ec o p y r i g h tl a wo ft h ep e o p l e sr e p u b l i co fc h i n a s i g n a t u r e :墓凼d a t e - 狃:! ! :生 论文摘要 随着计算机网络技术的发展,网络技术的应用也越来越多,基于网络的共享 文件安全问题变得越来越重要。因此,针对网络中共享数据信息安全隐患而采取 防范措旌具有重要的意义。安全文件共享系统是为了保障网络共享文件安全而设 计的一种文件管理系统,旨在对共享文件的安全提供一种实用、可靠的管理手段。 本文论述了该课题的意义和发展现状,对当前存在的共享文件安全问题进行 了探讨。在详尽的需求分析基础上,提出了解决共享文件系统安全性的方法,全 程保护共享文件的存储、访问、传输、编辑等操作,设计了基于c s 模式的安 全共享文件系统的总体架构,讨论了系统的设计思想,进行了模块划分和详细的 模块设计。 虚拟磁盘模块和文件过滤驱动模块构成了客户端文件安全存储的核心模块, 是共享文件在客户端安全存储的关键技术。本文重点介绍了这两个模块的实现机 制。虚拟磁盘模块设计的基本思路为:以镜像文件为基础加载虚拟磁盘,在虚拟 磁盘驱动程序中设置专门的加解密程序负责写入文件前加密、读取文件后解密, 从而实现了信息的安全存储。文件过滤驱动模块则实现了对虚拟磁盘的访问控 制,通过在w i n d o w s 文件系统之上附加一层文件过滤驱动程序拦截对虚拟磁盘 设备的访问请求,从而达到防止虚拟磁盘的文件数据被非法进程访问的目的。 关键字t 共享文件安全,虚拟磁盘,文件系统过滤驱动 安全共享文件系统的研究与实现 a b s t r a c t w i t ht h ed e v e l o p m e n to fc o m p u t e rn e t w o r kt e c h n o l o g y , m o r ea n dm o r e a p p l i c a t i o n sh a v eb e e na p p l i e dt on e t w o r k a sar e s u l t t h es e c u r i t yo fs h a r i n g f i l e sb a s e do nn e t w o r kb e c o m e sm o r ea n d m o r ei m p o r t a n t t h e r e f o r e ,i ti sv e r y m e a n i n g f u lt ot a k ea c t i o nt op r o t e c tt h ed a t ai n f o r m a t i o ns h a r e di nt h en e t w o r k f r o mb e i n gd a m a g e do rs t o l e n t h es e c u r ef i l es h a r i n gs y s t e mi se s t a b l i s h e dt o p r o t e c tt h es h a r i n gf i l ei n f o r m a t i o ni nn e t w o r ka n dp r o v i d ea ne f f e c t i v ea n d r e l i a b l em a n a g e m e n tp l a nf o rs h a n n gf i l es e c u d t yo ni n t e m e t t h et h e s i sp r e s e n t st h em e a n i n ga n dd e v e l o p m e n ts i t u a t i o no ft h et o p i c a n dd i s c u s s e st h ep r o b l e mo ft h ee x i s t i n gs h a d n gf i l es e c u d t y b a s e do nt h e d e t a i l e ds y s t e mr e q u i r e m e n ta n a l y s i s ,w ep r o p o s ea ne f f i d e n tw a yt os o l v et h e p r o b l e m o fs h a d n gf i l es y s t e ms e c u r i t y t h i sw a yc o u l dp r o v i d et h es h a r i n gf i l e s w i t ht h es e c u r i t yo fs t o r a g e ,b e i n ga c c e s s e d ,t r a n s m i s s i o na n db e i n ge d i t e d m o r e o v e ew ed e s i g naf r a m e w o r ko ft h es e c u r ef i l es h a r i n gs y s t e mb a s e do n t h ef o u n d a t i o no fc sp a t t e r na n dd i s c u s st h ei d e ao fs y s t e m a t i cd e s i g n ,w i t h m o d u l ed i v i d e da n dd e s i g n e di nd e t a i l s t h ek e r n e lo ff i l es t o r a g e ss e c u n t yi nc l i e n tw h i c hi st h ec o r em o d u l eo f s t o r a g e ss e c u r i t yi sc o m p o s e do fv i r t u a ld i s km o d u l ea n df i l e f i l t e rd d v e r m o d u l e t h et h e s i s p u t s as t r o n g e m p h a s i s o n d e s c r i p t i o n o ft h e i m p l e m e n t a t i o nm e c h a n i s mo ft h et w om o d u l e s t h eu l t i m a t eo ft h ev i r t u a ld i s k m o d u l ei sa sf o l l o w s :m o u n ta ni m a g ef i l ea sav i r t u a ld i s k t h ev i r t u a ld i s k d d v e ra c c e s s e se - f i l e so nt h ev i r t u a ld i s k as p e c i a lc o d e d e c o d ep r o c e d u r ei n t h ev i r t u a ld i s kd r i v e ri su s e dt oe n c r y p tf i l e sb e f o r ew d t i n ga n dd e c r y p tf i l e s a f t e rr e a d i n g t h u st h es e c u r es t o r a g eo ft h ei n f o r m a t i o ni sr e a l i z e df i l ef i l t e r d n v e rm o d u l ep r e v e n t sa c c e s s i n gf i l e si nt h ev i r t u a ld i s kb yi l l e g a lp r o c e s s t h r o u g ha f i l ef i l t e rd r i v e ra t t a c h e do nt h ef i l es y s t e mo ft h ew i n d o w so sw h i c h c a nh e a do f fr e q u e s t so fa c c e s s i n gt h ev i r t u a ld i s kd e v i c e k e yw o r d s :s h a d n gf i l es e c u d t y ;v i r t u a ld i s k ;f i l es y s t e mf i l t e rd n v e r 2 安全共享文件系统的研究与实现 第1 章引言 随着计算机网络技术、信息技术的飞速发展,特别是i n t e r n e t 的全球化,信 息共享程度进一步提高。数字信息越来越深入地影响人类社会生活的各个方面, 网络正成为人们工作、生活不可分割的一部分。政府部门和企业单位都逐渐依赖 于网络,大量的技术和业务数据都存储在计算机和网络中。各种先进的网络及应 用技术给人们带来工作和管理高效率的同时,由于网络和计算机系统固有的特 性,一方面大大提高了数据和设备的共享性,另一方便却易造成信息和数据被非 法窃取、复制和篡改,给网络中数据安全的管理带来了极大的挑战【j 。 1 1 研究背景 1 1 1 网络共享文件的安全问题 网络技术的飞速发展推动了社会的发展,许多政府部门和企业单位都借助网 络极大地提高了工作效率。文件数据以电子化形式存储在电脑里,并且在网络中 共享,一方面方便了对信息的获取、共享和传播,但是另一方面也存在着极大的 安全隐患1 。其中,这些安全隐患主要包括:网络接入容易,通常只要选用通用 的信息设备即可连入网络;大多数信息使用明文传输,信息数据在网络传输过程 中很容易被拦截、篡改;用户往往有权访问共享文件,从而有机会修改、窃取共 享文件;计算机外部设备使用不当容易造成数据泄露。这些都使得共享文件的安 全问题变得越来越重要和突出,也使得在网络中进行共享文件的安全管理成为迫 切的需求。 网络中共享文件管理的一个重要方面就是保证共享文件的安全。网络中数据 管理本身通常不是很严谨,共享文件一般只是采用简单的授权口令保护,对于防 误操作、防盗窃和防破坏的保护也只采取了简单的措施。这样就使得在网络中非 法取得授权和获得共享文件变得非常容易【4 j 。所以,保证共享文件的安全就是需 要确保存储在网络中的共享信息、数据不受意外或者恶意的原因遭受破坏、更改、 泄露,也就是需要保证共享文件的保密性、完整性、可用性和真实性。但由于使 用共享文件的最终目的是在网络中实现信息共享,故在保证安全的同时还要保证 共享文件的可用性。 4 安全共享文件系统的研究与实现 1 1 2 国内外现状 目前,国内外保护文件信息的安全主要采用以下措施h : - 采用防火墙及安全扫描工具,建立网络安全屏蔽。防火墙是一个部属在 网络基础设施中的硬件或软件的解决方案,可以通过限制对某些特定的 网络资源的访问,实施一个企业的安全策略。防火墙可以在网络和外部 之间创建一个保护层。它具有内置的过滤器,所有由外网进入内网之前 都必须经过它的过滤和检验。它是网络安全的第一道屏障。 _ 设置访问权限,进行访问控制。对不同的用户设置不同的访问权限,在 访问之前对其身份进行合法性检查。 - 对信息进行加密。采用加密算法对信息进行加密存储或传输,使非法用 户即使得到数据也难以破解,可以保证电子文件内容的非公开性。 - 对信息进行签名。采用摘要算法计算信息的摘要,并使用私钥加密摘要, 保证信息的完整性。 但是,这些保护文件信息的安全措施都是基于用户层的文件控制技术和加密 技术。应用层软件运行于用户空间中,各种用户进程和内核进程都可以访问它的 中间处理数据,比如加、解密过程产生的临时文件或者系统缓存中存在的明文文 件,因此,很容易被其他进程拦截,安全性得不到操作系统内核的保护,并且大 部分软件不能很好地实现系统的自我保护从而可能被窃密分子通过某种手段恶 意地破坏系统。所以这些安全措施并不能很好地保证文件信息的安全。 目前对于共享文件安全技术有着很高的需求,但是由于应用环境的复杂性及 攻击手段的多样性使这一领域的产品很难达到很高的安全要求。没有一套安全性 很高的保护措施,任何人都可能对共享文件有意或无意造成安全隐患,从而导致 难以挽回的后果。所以确保网络共享文件的安全具有重要的现实意义。 1 2 论文的主要工作 本文结合目前市场上文件安全产品的技术缺陷p j ,如文件保护功能不完善, 存在安全漏洞、系统自身的安全性不能得到很好的保障等,设计了在w i n 2 0 0 0 及以上操作系统版本环境下的安全共享文件系统,提出了一套较完善的安全解决 方案,主要由以下五部分组成: 服务器端对文件的访问控制技术 - 服务器端与客户端通信采用基于t c p 的服务器客户交互协议 一网络数据传输采用基于a e s2 5 6 b i t s 块加密算法的改进的s s l 协议,为 5 安全共享文件系统的研究与实现 服务器客户交互协议提供数据加密和认证服务 _ 客户端数据存储采用虚拟磁盘技术,同时使用文件过滤驱动技术对虚拟 磁盘进行访问控制 _ 客户端使用全局钩子及自动化技术对共享文件加以控制 该论文从保护共享文件信息,提高数据信息的保密性,降低破坏风险的角度 出发,内容涉及计算机网络通信、网络安全、内核驱动程序开发等多个方面【b j 。 整个系统的特点是根据不同的用户赋予不同的访问权限,其中,访问权限包括用 户在客户端对共享文件的新建、阅读、编辑、另存到本地、打印、删除等权限; 从服务器上保存的文件到客户端打开的文件的全程加密,防止不良用户在传输过 程或客户端恶意修改、窃取和篡改共享文件。 该论文主要进行了以下三方面的研究: _ 基于c s 模式的系统总体设计 总体设计包括系统的整体架构的设计、系统功能模块的划分及详细的模 块设计。 _ 虚拟磁盘模块 虚拟磁盘模块是安全共享文件系统客户端的存储模块,负责在客户端存 储文件信息。 一文件过滤驱动模块 从内核模式的文件系统入手,以文件过滤驱动的形式实现了对虚拟磁盘 的访问控制。 1 3 论文的内容安排 本文首先论述了系统整体方案的选择和实现方法,对系统各功能模块进行了 划分和设计。然后对虚拟磁盘模块和文件过滤驱动模块进行了详细的设计和实 现,共分为六章: 第一章:引言。介绍当前网络中共享文件管理的安全问题和国内外现状,说 明了本系统的研发背景和本论文的组织安排。 第二章:安全共享文件系统总体设计。介绍了系统的总体架构和技术路线, 并且对系统进行了模块划分和详细的模块设计。 第三章:w i n d o w s 驱动介绍。介绍了w i n d o w s 驱动模型、文件系统驱动和 过滤驱动。 第四章:虚拟磁盘模块的设计和实现。详细介绍了虚拟磁盘的实现机制,并 给出了对文件内容透明加解密功能的实现。 第五章:文件过滤驱动模块的设计和实现。详细介绍了如何通过文件过滤驱 6 安全共享文件系统的研究与实现 动截获用户文件操作产生的i r p 请求来实现对虚拟磁盘的访问控制。 最后对论文的主要研究工作进行了总结,概括了论文的工作。针对该系统存 在的不足,指出了本论文研究需要进一步完善的地方。 7 安全共享文件系统的研究与实现 第2 章安全共享文件系统总体设计 随着网络应用技术的发展,基于c i s ( c l i e n t s e r v e r ,客户机,服务器) u 1 的系 统设计已经被广泛应用于各种软件系统的设计和开发中。它是软件系统体系结 构,其基本思想是充分利用两端硬件环境的优势,把任务合理分配到客户机和服 务器上以降低系统的通信开销,主要用于跨多机的应用程序。这种编程方式改变 了传统的单机应用设计和系统实现方式。c s 系统一般分为两层结构:前端是客 户机,即用户界面,结合了表示与业务逻辑,接受用户的请求,并向服务器提出 请求;后端是服务器,接受客户机请求后,经过一些处理,将结果提交到客户机, 客户机将数据呈现给用户。一般用“n 层结构”来描述应用在客户机和服务器的 逻辑划分方式。 c s 模式是一种先进的计算模式,在技术上很成熟,它的主要特点是交互性 强、具有安全的存取模式、网络通信量低、响应速度快、利于处理大量数据,有 很强的实时处理能力。并且,由于c s 是配对的点对点结构模式,采用安全性 较好的网络协议,安全性可以得到较好的保证。c s 结构通常面向相对固定的用 户群,对信息安全的控制能力很强。 由于对数据交换实时性要求较高,本系统也采用c s 结构来进行服务器和客 户端的通信,在网络环境中可以有效地保证共享文件的安全。下面将介绍该系统 的设计方案。 2 。1 系统结构设计 网络范围内的文件共享可以有效地提高工作效率,是目前许多企业采用的管 理文件的手段之一。这种利用计算机网络共享文件的方式在提高工作效率的同时 又存在高风险。共享文件数据一旦被非法窃取、复制、使用或恶意破坏,将对企 业造成不可估量的影响和损失h 。 虽然目前已有很多技术保障信息的安全性,如设置管理权限、身份认证、数 字签名、设置密码等但还是无法防止共享文件数据被非法窃取或恶意破坏。 本系统就是力求解决共享文件数据的安全问题,保证共享文件不被窃取或篡改, 同时还要确保不影响共享文件的使用性。 为了对网络中的共享文件进行实时有效的管理,充分发挥软件的安全保护功 能,根据网络应用状况和当前的技术水平,安全共享文件系统主要在以下几个方 面满足相应的要求”: 8 安全共享文件系统的研究与实现 1 实时性。网络环境中,客户端对服务器响应的实时性要求较高。 2 安全性。安全共享文件系统必须解决的关键问题就是如何全程保证共享 文件数据的安全性,包括共享文件的存储、访问、传输、编辑等操作。 3 稳定性。系统良好的稳定性是确保安全共享文件系统能够很好工作的前 提,它应该对错误操作和异常有较强的容错能力。 4 扩展性。系统的可扩展性要好,功能设计模块化,有利于后期开发和维 护。 本系统基于w i n d o w s 操作系统,设计了一套比较完善的安全文件共享控制 机制,通过控制用户对服务器共享文件的访问、控制用户在客户端对共享文件的 操作、保障共享文件在服务器和客户端存储的安全及传输的安全等手段,达到保 障共享文件安全的目的。本系统在服务器上对用户进行严格的权限控制,并且把 文件数据加密保存在文件服务器中。当客户端请求访问共享文件时,服务器首先 进行合法性验证,然后使用改进的s s l 协议加密传输文件数据到客户端。客户 端把该文件加密保存在虚拟磁盘中,使用文件过滤驱动技术对虚拟磁盘进行访问 控制,只允许设置了访问权限的进程才能对虚拟磁盘中的数据进行读写操作。当 用户请求打开文件时,客户端根据用户在服务器数据库中的文件访问权限使用 o l e 自动化技术禁用该文件对应编辑器中某些菜单栏和工具栏按钮,然后调用 编辑器打开文件,同时使用全局钩子控制编辑器的操作,防止用户对文件的非法 操作。这样就大大增加了系统的安全性。 客户端的文件加解密过程是在内核模式下实现的,读数据时解密,写数据时 加密。这种在操作系统内核模式下的加、解密刈具有较高的效率和安全性,且 对上层文件系统驱动程序和应用程序的正常使用没有任何影响。文件在虚拟磁盘 中始终是以密文形式存在,并且只有合法进程才能对虚拟磁盘中的文件进行操 作,从而有效地保证了共享文件数据在客户端存储的安全性。 2 2 系统功能模块 整个安全共享文件系统运行在网络环境中,由三个部分组成:服务器端子系 统、客户端子系统和安全通信模块。 服务器端子系统用于管理所有的用户信息及文件信息,并存储客户端用户对 文件的操作信息。服务器端后台使用s q ls e r v e r 数据库,记录相关的用户信息、 文件信息以及权限控制信息,只有系统管理员才能对数据库中的用户信息进行操 作。客户端子系统提供与服务器端子系统的友好交互,响应用户请求,为用户提 供文件下载、修改、上传、删除和设置文件权限等功能,并根据用户权限对文件 进行访问控制。安全通信模块则用于保证服务器和客户端之间数据传输的安全 9 安全共享文件系统的研究与实现 性,它是基于t c p ,l p 的通信协议,使用改进的s s l 协议对传输数据进行加密。 图2 1 展示了系统的总体架构。 图2 1安全共享文件系统的总体架构 2 2 1 服务器端子系统 服务器端子系统安装有s q ls e r v e r 数据库,用于数据的存放和检索。该子 系统主要分为三个模块:用户管理模块、文件管理模块和数据库模块。 2 2 1 1 用户管理模块 用户管理模块主要用于管理用户、部门和组的信息,为管理员提供用户、部 门和组的添加、修改、删除等功能。其中组相当于工作组,一个用户可以同时属 于多个组,便于管理员管理。同时该模块还负责用户的权限控制管理,管理员可 以设置用户是否有新建文件的权限。但是,管理员不能新建、修改、删除数据表 中用户对文件的操作权限,只有该文件的创建者才能进行相应的操作。 2 2 1 2 文件管理模块 文件管理是指响应用户的操作请求,对数据库和保存在文件服务器上的文件 进行相应的操作,然后把结果返回给用户,并且保存所有文件的备份,包括文件 的旧版本。 存储在文件服务器上的文件命名格式为:文件逻辑名+ 版本号,同时在数据 1 0 安全共享文件系统的研究与实现 库的文件信息表中保存了文件的版本号。客户端用户请求操作服务器中的文件之 前需要认证该用户的身份。该模块主要分为两部分:用户认证和文件操作。 1 用户认证流程 如图2 2 所示,用户登录客户端子系统之后,客户端将用户名和用户密码传 给安全通信模块请求与服务器连接。服务器通过用户认证后,与客户端建立用户 会话实例线程。服务器查看数据库的文件信息表,找到该用户有权限进行操作的 文件信息,将得到的信息返回客户端,客户端子系统将根据这些信息生成用户界 面。 图2 2 用户认证流程图 2 文件操作流程 如果用户需要操作某个文件,客户端子系统按文件序号向服务器端子系统提 出操作请求,服务器检查其合法性后,调用文件管理模块处理该请求,然后把处 理结果返回客户端,显示给用户。 在客户端子系统中,用户对文件的操作类型分为:新建、阅读、编辑、另存 到本地、打印、删除等。这些文件操作可以归纳为两种方式:文件下载和文件上 1 1 安全共享文件系统的研究与实现 传,所以文件操作流程分为两个子流程:文件下载子流程和文件上传子流程。 文件下载子流程是指客户端子系统向服务器端子系统提交文件信息,包括文 件序号和版本号,服务器将文件服务器中相应的文件内容返回客户端子系统。服 务器收到客户端提交的请求后,先进行合法性验证,如果通过验证,文件管理模 块在数据库的文件信息表中查找该文件的物理存储路径,然后读出文件内容。如 果客户端提交的文件信息中版本号不是文件信息表中保存的最新版本号,则表示 请求旧版本文件,其默认的操作权限为阅读。最后,服务器调用安全通信模块把 文件数据传递给客户端。 文件上传子流程是指用户在客户端子系统修改文件后,需要通过安全通信模 块将修改后的文件保存到文件服务器中。文件上传子流程分为两种情况:新建文 件和保存修改的文件。对于前一种情况,文件管理模块需要在文件信息表中添加 新项,并提示该文件的创建者设置其他用户对该文件的操作权限;对于后一种情 况,文件管理模块根据请求的文件信息在文件信息表中查找该文件的物理存储路 径,将修改的文件作为最新版本保存到文件服务器的相应位置,并更新数据库中 的文件版本号。 图2 3 文件操作流程图 安全共享文件系统的研究与实现 数据库模块使用s q ls e r v e r 数据库,包括五张数据表:文件信息表、用户 信息表、管理员信息表、组信息表、系统日志,并在此基础上扩展了三张数据表: 用户所属组、用户权限表、组权限表。这些数据表中存储了用户和文件的相关信 息,包括用户信息、用户创建的文件信息、用户权限信息以及文件在文件服务器 的存储路径、文件版本及其他相关信息。 2 2 2 客户端子系统 客户端予系统主要包括四个模块:用户交互模块、虚拟磁盘模块、文件过滤 驱动模块和钩子控制模块。客户端根据服务器数据库中的用户权限信息控制用户 对共享文件的操作,并且提供一种安全保证措施,使得只有特定进程才能访问虚 拟磁盘。其中,虚拟磁盘模块和文件过滤驱动模块由用户层的接口函数和内核层 的驱动程序共同实现。客户端子系统系统架构如图2 4 所示: 图2 4 客户端子系统系统架构 2 2 2 1 用户交互模块 用户交互模块负责处理客户端子系统与服务器端子系统的数据交换以及业 务逻辑等功能,包括响应用户请求,为用户提供文件的下载、修改、上传、删除 和设置文件权限等功能。 在客户端子系统中,用户对文件的操作类型分为:新建、阅读、编辑、另存 安全共享文件系统的研究与实现 到本地、打印、删除等。根据文件是否保存到文件服务器中把这些操作类型分为 破坏性和非破坏性的操作。其中,阅读、另存到本地、打印等操作属于非破坏性 操作,因为它们不会破坏文件在文件服务器上的备份;而新建、编辑、删除等操 作则属于破坏性操作。 各种文件操作定义如下: 1 新建。上传一个本地文件到文件服务器中,并重新命名。 2 阅读。将文件服务器中的文件下载到本地,调用相应的浏览器打开,该 文件保存在客户端子系统的虚拟磁盘中,用户没有权限访问这个磁盘。 3 编辑。修改文件,并把修改后的文件以新版本或全新的文件上传到文件 服务器中。同样,修改后的文件保存在客户端子系统的虚拟磁盘中,用 户没有权限访问该磁盘。 4 另存到本地。将文件服务器中文件的最新版本保存到本地磁盘。注意, 只能保存最新版本的文件,用户对旧版本文件只有阅读权限。 5 打印。打印文件服务器中的文件。 6 删除。删除文件服务器中的文件,并清除服务器数据库中的文件信息。 虚拟磁盘模块负责保存从文件服务器下载的文件以及修改的文件。虚拟磁盘 驱动程序位于文件系统驱动程序和磁盘驱动程序之间,它将本地磁盘中的一个镜 像文件映射为虚拟磁盘,客户端从文件服务器下载的文件或修改后的文件都存储 在虚拟磁盘,同时,使用加密函数对存储到虚拟磁盘中的文件进行加密,对从虚 拟磁盘读取的文件进行解密。当客户端写入文件时,虚拟磁盘驱动程序把文件数 据加密后存储在虚拟磁盘中。当客户端读取文件时,虚拟磁盘驱动程序把存储的 密文进行解密操作,将文件以明文形式提交给用户p 刮。这种在内核模式下进行 的加解密过程为虚拟磁盘中的数据提供高效、透明的实时加、解密处理,简化了 用户的操作。 2 2 2 3 文件过滤驱动模块 文件过滤驱动模块是一种内核模式的驱动程序。它位于低级驱动程序之上, 透明地截取发往低级驱动程序设备对象的请求,低级驱动程序的用户完全不知道 它们的请求被过滤驱动程序截取处理了。文件过滤驱动程序【3 8 1 可以监视、拦截 和修改i r p 流。它被挂接到文件系统设备之上,主要对j r p m j c r e a t e 请求 1 4 安全共享文件系统的研究与实现 进行处理。当用户应用程序试图打开虚拟磁盘中的文件时,就会产生一个 i r pm jc r e a t e 请求,文件过滤驱动模块根据发出请求的进程i d 判断是否响 应该请求,如果允许打开文件就把该请求传到低层的文件系统驱动程序,否则直 接返回错误信息,这样用户应用程序无法打开文件,也就无法读取该文件。由于 文件过滤驱动程序是在操作系统内核之中,文件系统之上,得到内核模式的安全 保护,不容易被其他进程拦截,为虚拟磁盘的访问控制提供了强有力的安全保证。 钩子控制模块通过全局钩子技术对外接文档编辑器进程进行a p i 挂钩,从而 实现对外接编辑器进程的监控,防止发生漏洞。在挂钩a p t 之前,必须将一个可 以代替a p i 执行的函数的执行代码注入到目标进程,然后将目标进程对该a p i 的调用改为对注入到目标进程中自定义函数的调用。它的主要任务是: 1 拦截外接编辑器的w mc r e a t e 消息,不允许在一个进程中创建多个 文档窗1 3 ,一旦拦截到该消息,立刻给该窗口发送一个w m 消_close 息关闭窗口。 2 根据用户在服务器的文件访问权限监视剪贴板( 用于禁用复制粘贴和截 屏功能) ,拦截鼠标右键消息。 2 2 3 安全通信模块 安全通信模块用于保证服务器端子系统和客户端子系统之间传输数据的机 密性、完整性、可用性“j 。其中,数据的机密性是指文件数据不泄漏给非法用 户。完整性是指数据不被意外地或恶意地篡改,包括修改、删除、替换等。可用 性是指数据在需要时可用和有用。 服务器和客户端通信协议一般使用t c p i p 体系结构。其中,t c p l l q 是可靠 的全双工的面向连接的数据传输协议,可以保证数据无差错传输,按发送顺序接 受,并为数据的可靠性提供检验。由于安全共享文件系统对数据的可靠性、实时 性要求较高,故本系统设计了基于t c p 协议的应用层协议:安全共享文件系统 客户- j r 务器交互协议。 在传输过程中,需要为客户一服务器交互协议提供数据加密、服务器认证、 消息完整性以及可选的客户机认证,基于这些考虑,系统选用s s l ( s e c u r e s o c k e tl a y e r ) “1 协议来保证服务器和客户端之间的安全通信。s s l 位于应用 层和传输层之间,指定了一种在应用程序协议( 例如h t t p 、t e l n e t 、f t p ) 和t c p i p 之间提供数据安全性分层的机制,为c ,s 模式的通信系统提供了一个框架。s s l 1 5 安全共享文件系统的研究与实现 协议分为两部分:s s l 握手协议和s s l 记录协议“。其中,s s l 握手协议用于 应用协议传送数据前相互验证、协商加密算法和生成密钥等。s s l 记录协议则 定义了传输的格式。由于s s l 的认证是基于证书的,而证书中许多信息,如使 用期限、颁发机构以及证书链等机制比较复杂,在网络环境中并不实用。因此, 在分析安全共享文件系统的特点和安全威胁的基础上,设计了一个简洁的客户端 认证方法,并且对s s l 协议加以改进,使其适应安全共享文件系统的需求。 安全通信模块的协议层次如图2 5 所示,从上到下依次为:应用层、客户 服务器交互层、加密层、s o c k e t 层。当应用层有数据发送时,应用程序申请客 户服务器交互层p d u 的内存,填写p d u 的报文头部,并把应用数据拷贝到交 互层p u d 的数据部分。然后交互层调用加密层对交互层p d u 进行加密,添加 加密头部、消息认证码m a c 及填充数据等,最后使用s o c k e t 把加密层数据发 送出去。接受方收到报文后,由加密层将数据解密,再等待客户一服务器交互层 接收数据。 。 盛用擞嚣 l 矗 瞪嚣要 斑用缸据 i 灏黪鬃糕i :譬墓豢譬; 酶粥蝴 鬈壤鐾黧 j l v l 碱湖;糕嚣 盥甩嬲 眨鬈瀚i 图2 5 安全通信模块的协议层次 2 2 3 1 客户一服务帚交互协议 8 e n db u f f 安全共享文件系统的客户一服务器交互协议是为上层应用提供网络交互功 能的协谢3 1 。其报文由头部和数据选项两部分组成,其中头部是每个报文必需 的,数据选项根据需要添加到头部之后。 报文头部是所有报文都需要的公共头部,其格式如图2 6 所示。 1 6 安全共享文件系统的研究与实现 版本 i 请隶,斑镎 赛壁子类型蝴选璜类型 序号 傺暂 数据选璃长援 l 爨戮嚣霹嚣哪j 一“t “氆垂,1 1 ”“t | | | | ;i i 潮蕊i i 巍徽攮穗翟鞋麟穗焉i ;i i i * 爱爰舞= 熏i i 餮蠢:l ,蠢黧i = i i 渊t 骥强i 薰 图2 6 报文格式 各字段的定义如下: 一请求应答:指出报文是请求、应答或者纯数据。每次服务器和客户端的 交互由一个请求和一个对应的应答组成。请求指明本次交互的目的,对方 在收到一个请求后必须要给出对应的应答,应答中包括对请求的答复,可 以是返回请求需要的信息或者是一个错误信息。在应答报文中,类型字段 与原请求字段必须相同,子类型可以不同。如果为纯数据,该报文不遵守 上述规则,这时报文头部只有版本和请求应答字段,接收方接收到纯数据 的报文后不需要做出任何应答。 - 类型、子类型:一起指出请求应答的类型。 一数据选项类型:指出数据选项的类型,如果没有数据选项,该字段设置为 0 。另外,一个报文最多只能有一类数据选项。 一序号:用户每次登录后客户端和服务器端各自随机选择一个初始序号,序 号由请求发起方填写,对方应答时在报文中填写原请求的序号。如果请求 发起方收到的应答序号与原序号不同则丢弃该报文并进行错误处理。不管 交互成功、失败还是对方响应超时,每次交互后序号都要加1 。 一数据选项长度:数据选项的长度,如果没有数据选项,该字段设置为0 。 数据选项数据:报文数据部分。 报文携带的数据选项根据请求应答、类型和子类型三个字段决定。一个报文 可以携带也可以不携带数据选项,但最多只能携带同一类数据选项,如果一个报 文用同一类的多个数据选项时,选项个数由报文头部数据选项长度字段确定,这 样定义的目的主要是简化报文设计和处理的复杂程度。由于篇幅的关系,本论文 将不介绍具体的数据选项定义。 下面将介绍客户- - j j 艮务器交互协议的接口设计,分为两部分:服务器协议接 口和客户端协议接口。 1 服务器协议接口 接口功能:服务器收到客户端的报文后,首先由加密层将数据解密,再等待 客户一服务器交互层调用加密层接收函数接收数据。客户服务器交互层对报文处 理后调用数据库处理函数和文件处理函数获得要返回给客户端的数据并组织报 1 7 安全共享文件系统的研究与实现 文递交给加密层。在服务器端子系统中,由于请求都是由客户端发起的,所以服 务器没有向上层提供接口。服务器端通过s e l e c t 方式在客户服务器交互层阻塞, 等待客户端发起请求并对请求进行响应。 接口定义:尽管客户服务器交互层不向上提供接口,这里仍给出客户- 服务 器交互层调用应用层的接口定义,例如,功能为“按文件获取用户权限信息”的 接口定义如下: i n th a n d i e u s e r p r i v j r e q ( i n tr e q t y p e , b y t e 。o p d a t a l n p u t i n to p n u m l n p u t , b y t e * * o p d a t a o u t p u t , i n to f f s e t , i n t + o p n u m o u t p u t ) 其中,参数r e q t y p e 指出请求的操作是查询、更新还是删除,o p d a t a l n p u t 是应用程序提供的指向文件序号选项的内存指针,o p n u m l n p u t 是文件序号选项 的个数,o p d a t a o u p 叫和o f f s e t 是返回给应用程序的查询到的用户权限信息选 项的内存指针和偏移,。o p d a t a o u t p u t + o f f s e t 即是用户权限信息选项的内存位 置,如果查询出错,则指向原文件序号选项的内存指针和偏移,o p n u m o u t p u t 是返回给应用程序的用户权限信息选项个数的指针,接口函数返回值是错误信 息,如果为1 则表示查询成功,否则是一个错误信息编号。 客户- 服务器交互层处理好报文后,从报文中取出数据选项( 文件序号) 并将 它交给该函数,并根据交互层头部的子类型字段决定进行何种请求并设置 r e q t y p e 参数。如果r e q t y p e 为r e q _ u s e r p r i v i l b y f i l e ,该函数将负责 根据文件序号查询数据库获得相关的权限信息并组织成一个或多个用户权限信 息选项,如果查询出错,则拷贝原文件序号选项,再将这些数据选项的内存地址 返回给交互层,交互层将获得的数据选项拷贝到报文中并添加头部再递交给加密 层。最后,客户服务器交互层还需要释放应用层递交下来的内存和自己申请的 报文内存。 2 客户端协议接口 接口功能:从客户端的角度看,交互协议向上层提供的接口是客户端访问服 务器的功能接口。客户端应用程序通过调用客户服务器交互层提供的接口来访 问服务器,获取和更新服务器上的信息,而交互协议的命令交换、正确性检查和 下层的加密等功能对于应用程序将是透明和不可见的。对于加密层来说,客户 安全共享文件系统的研究与实现 服务器交互层通过调用加密层的接收和发送接口来收发解密后的数据。特别的, 在接收时使用s e l e c t 的方式,即在客户服务器交互层阻塞。 接口定义:客户服务器交互层向上提供的接口是以交互协议功能函数的形式 来实现的。客户服务器交互层将向应用程序提供一系列的接口函数,应用程序 通过调用这些函数来从服务器获得信息或者更新服务器上的信息。例如,功能为 “按文件获取用户权限信息”的接口函数定义如下: i n tg e t u s e r p r i v i j b y f e ( o p f i l e l d 。o p d a t a l n p u t , i n to p n u m l n p u t b y t e “o p d a t a o u t p u t i n t * o f f s e t , i n t * o p n u m o u t p u t ) 该接口函数的参数定义可参看服务器协议接口定义,客户端通过提供文件序 号调用加密层发送函数发送查询该文件对应的用户权限信息的请求,等待服务器 返回数据,然后调用加密层接受函数获得交互层的数据选项,返回服务器查询的 与该文件相关的用户权限信息。查询过程中的报文组织、命令交互、错误处理都 在接口函数中完成。 2 2 3 2 改进的s s l 协议 1 简洁的客户端认证机制 由于s s l 的客户端认证机制并不完全适合

温馨提示

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

评论

0/150

提交评论