安全共享文件系统的研究与实现(可编辑) .doc

上传人:文库蛋蛋多 文档编号:2880909 上传时间:2023-03-01 格式:DOC 页数:42 大小:131.50KB
返回 下载 相关 举报
安全共享文件系统的研究与实现(可编辑) .doc_第1页
第1页 / 共42页
安全共享文件系统的研究与实现(可编辑) .doc_第2页
第2页 / 共42页
安全共享文件系统的研究与实现(可编辑) .doc_第3页
第3页 / 共42页
安全共享文件系统的研究与实现(可编辑) .doc_第4页
第4页 / 共42页
安全共享文件系统的研究与实现(可编辑) .doc_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《安全共享文件系统的研究与实现(可编辑) .doc》由会员分享,可在线阅读,更多相关《安全共享文件系统的研究与实现(可编辑) .doc(42页珍藏版)》请在三一办公上搜索。

1、安全共享文件系统的研究与实现 华东师范大学硕士学位论文安全共享文件系统的研究与实现姓名:王斌申请学位级别:硕士专业:计算机系统结构指导教师:张卫20071001学位论文独创性声明本人所呈交的学位论文是我在导师的指导下进行的研究工作及取得的研究成果。据我所知。除文中已经注明引用的内容外。本论文不包含其他个人已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。作者签名:至盔甚 日期:盘:吐学位论文授权使用声明本人完全了解华东师范大学有关保留、使用学位论文的规定.学校有权保留学位论文并向胃隶主管部门或其指定机构送交论文的电子版和纸质版。有权将学位论文用

2、于非赢利目的的少量复制并允许论文进入学校圈书馆被查阅。有权捋学位论文的内容编入有关数据库进行检素。有权将学位论文的标囊和擅要汇编出版。保密的学位论文在解密后适用本规定。导师签名:学位论文作者签名:丑扶张卫:垫:毕 ., , :垂这 :鲨:土. , ,“ , . :墓凼狃:生论文摘要随着计算机网络技术的发展,网络技术的应用也越来越多,基于网络的共享文件安全问题变得越来越重要。因此,针对网络中共享数据信息安全隐患而采取防范措旌具有重要的意义。安全文件共享系统是为了保障网络共享文件安全而设计的一种文件管理系统,旨在对共享文件的安全提供一种实用、可靠的管理手段。本文论述了该课题的意义和发展现状,对当前

3、存在的共享文件安全问题进行了探讨。在详尽的需求分析基础上,提出了解决共享文件系统安全性的方法,全程保护共享文件的存储、访问、传输、编辑等操作,设计了基于/模式的安全共享文件系统的总体架构,讨论了系统的设计思想,进行了模块划分和详细的模块设计。虚拟磁盘模块和文件过滤驱动模块构成了客户端文件安全存储的核心模块,是共享文件在客户端安全存储的关键技术。本文重点介绍了这两个模块的实现机制。虚拟磁盘模块设计的基本思路为:以镜像文件为基础加载虚拟磁盘,在虚拟磁盘驱动程序中设置专门的加解密程序负责写入文件前加密、读取文件后解密,从而实现了信息的安全存储。文件过滤驱动模块则实现了对虚拟磁盘的访问控制,通过在文件

4、系统之上附加一层文件过滤驱动程序拦截对虚拟磁盘设备的访问请求,从而达到防止虚拟磁盘的文件数据被非法进程访问的目的。关键字共享文件安全,虚拟磁盘,文件系统过滤驱动安全共享文件系统的研究与实现., . . .,. ., /, . . . : . / . .; ;: 安全共享文件系统的研究与实现第章引言随着计算机网络技术、信息技术的飞速发展,特别是的全球化,信息共享程度进一步提高。数字信息越来越深入地影响人类社会生活的各个方面,网络正成为人们工作、生活不可分割的一部分。政府部门和企业单位都逐渐依赖于网络,大量的技术和业务数据都存储在计算机和网络中。各种先进的网络及应用技术给人们带来工作和管理高效率的

5、同时,由于网络和计算机系统固有的特性,一方面大大提高了数据和设备的共享性,另一方便却易造成信息和数据被非法窃取、复制和篡改,给网络中数据安全的管理带来了极大的挑战【?。.研究背景.网络共享文件的安全问题网络技术的飞速发展推动了社会的发展,许多政府部门和企业单位都借助网络极大地提高了工作效率。文件数据以电子化形式存储在电脑里,并且在网络中共享,一方面方便了对信息的获取、共享和传播,但是另一方面也存在着极大的安全隐患。其中,这些安全隐患主要包括:网络接入容易,通常只要选用通用的信息设备即可连入网络;大多数信息使用明文传输,信息数据在网络传输过程中很容易被拦截、篡改;用户往往有权访问共享文件,从而有

6、机会修改、窃取共享文件;计算机外部设备使用不当容易造成数据泄露。这些都使得共享文件的安全问题变得越来越重要和突出,也使得在网络中进行共享文件的安全管理成为迫切的需求。网络中共享文件管理的一个重要方面就是保证共享文件的安全。网络中数据管理本身通常不是很严谨,共享文件一般只是采用简单的授权口令保护,对于防误操作、防盗窃和防破坏的保护也只采取了简单的措施。这样就使得在网络中非法取得授权和获得共享文件变得非常容易【。所以,保证共享文件的安全就是需要确保存储在网络中的共享信息、数据不受意外或者恶意的原因遭受破坏、更改、泄露,也就是需要保证共享文件的保密性、完整性、可用性和真实性。但由于使用共享文件的最终

7、目的是在网络中实现信息共享,故在保证安全的同时还要保证共享文件的可用性。安全共享文件系统的研究与实现.国内外现状目前,国内外保护文件信息的安全主要采用以下措施:采用防火墙及安全扫描工具,建立网络安全屏蔽。防火墙是一个部属在网络基础设施中的硬件或软件的解决方案,可以通过限制对某些特定的网络资源的访问,实施一个企业的安全策略。防火墙可以在网络和外部之间创建一个保护层。它具有内置的过滤器,所有由外网进入内网之前都必须经过它的过滤和检验。它是网络安全的第一道屏障。设置访问权限,进行访问控制。对不同的用户设置不同的访问权限,在访问之前对其身份进行合法性检查。对信息进行加密。采用加密算法对信息进行加密存储

8、或传输,使非法用户即使得到数据也难以破解,可以保证电子文件内容的非公开性。对信息进行签名。采用摘要算法计算信息的摘要,并使用私钥加密摘要,保证信息的完整性。但是,这些保护文件信息的安全措施都是基于用户层的文件控制技术和加密技术。应用层软件运行于用户空间中,各种用户进程和内核进程都可以访问它的中间处理数据,比如加、解密过程产生的临时文件或者系统缓存中存在的明文文件,因此,很容易被其他进程拦截,安全性得不到操作系统内核的保护,并且大部分软件不能很好地实现系统的自我保护从而可能被窃密分子通过某种手段恶意地破坏系统。所以这些安全措施并不能很好地保证文件信息的安全。目前对于共享文件安全技术有着很高的需求

9、,但是由于应用环境的复杂性及攻击手段的多样性使这一领域的产品很难达到很高的安全要求。没有一套安全性很高的保护措施,任何人都可能对共享文件有意或无意造成安全隐患,从而导致难以挽回的后果。所以确保网络共享文件的安全具有重要的现实意义。.论文的主要工作本文结合目前市场上文件安全产品的技术缺陷,如文件保护功能不完善,存在安全漏洞、系统自身的安全性不能得到很好的保障等,设计了在及以上操作系统版本环境下的安全共享文件系统,提出了一套较完善的安全解决方案,主要由以下五部分组成:?服务器端对文件的访问控制技术服务器端与客户端通信采用基于的服务器?客户交互协议块加密算法的改进的协议,为一网络数据传输采用基于安全

10、共享文件系统的研究与实现服务器.客户交互协议提供数据加密和认证服务客户端数据存储采用虚拟磁盘技术,同时使用文件过滤驱动技术对虚拟磁盘进行访问控制客户端使用全局钩子及自动化技术对共享文件加以控制该论文从保护共享文件信息,提高数据信息的保密性,降低破坏风险的角度出发,内容涉及计算机网络通信、网络安全、内核驱动程序开发等多个方面【。整个系统的特点是根据不同的用户赋予不同的访问权限,其中,访问权限包括用户在客户端对共享文件的新建、阅读、编辑、另存到本地、打印、删除等权限;从服务器上保存的文件到客户端打开的文件的全程加密,防止不良用户在传输过程或客户端恶意修改、窃取和篡改共享文件。该论文主要进行了以下三

11、方面的研究:基于/模式的系统总体设计总体设计包括系统的整体架构的设计、系统功能模块的划分及详细的模块设计。虚拟磁盘模块虚拟磁盘模块是安全共享文件系统客户端的存储模块,负责在客户端存储文件信息。一文件过滤驱动模块从内核模式的文件系统入手,以文件过滤驱动的形式实现了对虚拟磁盘的访问控制。.论文的内容安排本文首先论述了系统整体方案的选择和实现方法,对系统各功能模块进行了划分和设计。然后对虚拟磁盘模块和文件过滤驱动模块进行了详细的设计和实现,共分为六章:第一章:引言。介绍当前网络中共享文件管理的安全问题和国内外现状,说明了本系统的研发背景和本论文的组织安排。第二章:安全共享文件系统总体设计。介绍了系统

12、的总体架构和技术路线,并且对系统进行了模块划分和详细的模块设计。第三章:驱动介绍。介绍了驱动模型、文件系统驱动和过滤驱动。第四章:虚拟磁盘模块的设计和实现。详细介绍了虚拟磁盘的实现机制,并给出了对文件内容透明加解密功能的实现。第五章:文件过滤驱动模块的设计和实现。详细介绍了如何通过文件过滤驱安全共享文件系统的研究与实现动截获用户文件操作产生的请求来实现对虚拟磁盘的访问控制。最后对论文的主要研究工作进行了总结,概括了论文的工作。针对该系统存在的不足,指出了本论文研究需要进一步完善的地方。安全共享文件系统的研究与实现第章安全共享文件系统总体设计随着网络应用技术的发展,基于,客户机,服务器的系统设计

13、已经被广泛应用于各种软件系统的设计和开发中。它是软件系统体系结构,其基本思想是充分利用两端硬件环境的优势,把任务合理分配到客户机和服务器上以降低系统的通信开销,主要用于跨多机的应用程序。这种编程方式改变了传统的单机应用设计和系统实现方式。/系统一般分为两层结构:前端是客户机,即用户界面,结合了表示与业务逻辑,接受用户的请求,并向服务器提出请求;后端是服务器,接受客户机请求后,经过一些处理,将结果提交到客户机,客户机将数据呈现给用户。一般用“层结构”来描述应用在客户机和服务器的逻辑划分方式。/模式是一种先进的计算模式,在技术上很成熟,它的主要特点是交互性强、具有安全的存取模式、网络通信量低、响应

14、速度快、利于处理大量数据,有很强的实时处理能力。并且,由于/是配对的点对点结构模式,采用安全性较好的网络协议,安全性可以得到较好的保证。/结构通常面向相对固定的用户群,对信息安全的控制能力很强。由于对数据交换实时性要求较高,本系统也采用/结构来进行服务器和客户端的通信,在网络环境中可以有效地保证共享文件的安全。下面将介绍该系统的设计方案。系统结构设计网络范围内的文件共享可以有效地提高工作效率,是目前许多企业采用的管理文件的手段之一。这种利用计算机网络共享文件的方式在提高工作效率的同时又存在高风险。共享文件数据一旦被非法窃取、复制、使用或恶意破坏,将对企业造成不可估量的影响和损失。虽然目前已有很

15、多技术保障信息的安全性,如设置管理权限、身份认证、数字签名、设置密码等%但还是无法防止共享文件数据被非法窃取或恶意破坏。本系统就是力求解决共享文件数据的安全问题,保证共享文件不被窃取或篡改,同时还要确保不影响共享文件的使用性。为了对网络中的共享文件进行实时有效的管理,充分发挥软件的安全保护功能,根据网络应用状况和当前的技术水平,安全共享文件系统主要在以下几个方面满足相应的要求”:安全共享文件系统的研究与实现.实时性。网络环境中,客户端对服务器响应的实时性要求较高。.安全性。安全共享文件系统必须解决的关键问题就是如何全程保证共享文件数据的安全性,包括共享文件的存储、访问、传输、编辑等操作。.稳定

16、性。系统良好的稳定性是确保安全共享文件系统能够很好工作的前提,它应该对错误操作和异常有较强的容错能力。.扩展性。系统的可扩展性要好,功能设计模块化,有利于后期开发和维护。本系统基于操作系统,设计了一套比较完善的安全文件共享控制机制,通过控制用户对服务器共享文件的访问、控制用户在客户端对共享文件的操作、保障共享文件在服务器和客户端存储的安全及传输的安全等手段,达到保障共享文件安全的目的。本系统在服务器上对用户进行严格的权限控制,并且把文件数据加密保存在文件服务器中。当客户端请求访问共享文件时,服务器首先进行合法性验证,然后使用改进的协议加密传输文件数据到客户端。客户端把该文件加密保存在虚拟磁盘中

17、,使用文件过滤驱动技术对虚拟磁盘进行访问控制,只允许设置了访问权限的进程才能对虚拟磁盘中的数据进行读写操作。当用户请求打开文件时,客户端根据用户在服务器数据库中的文件访问权限使用自动化技术禁用该文件对应编辑器中某些菜单栏和工具栏按钮,然后调用编辑器打开文件,同时使用全局钩子控制编辑器的操作,防止用户对文件的非法操作。这样就大大增加了系统的安全性。客户端的文件加解密过程是在内核模式下实现的,读数据时解密,写数据时加密。这种在操作系统内核模式下的加、解密刈具有较高的效率和安全性,且对上层文件系统驱动程序和应用程序的正常使用没有任何影响。文件在虚拟磁盘中始终是以密文形式存在,并且只有合法进程才能对虚

18、拟磁盘中的文件进行操作,从而有效地保证了共享文件数据在客户端存储的安全性。.系统功能模块整个安全共享文件系统运行在网络环境中,由三个部分组成:服务器端子系统、客户端子系统和安全通信模块。服务器端子系统用于管理所有的用户信息及文件信息,并存储客户端用户对文件的操作信息。服务器端后台使用 数据库,记录相关的用户信息、文件信息以及权限控制信息,只有系统管理员才能对数据库中的用户信息进行操作。客户端子系统提供与服务器端子系统的友好交互,响应用户请求,为用户提供文件下载、修改、上传、删除和设置文件权限等功能,并根据用户权限对文件进行访问控制。安全通信模块则用于保证服务器和客户端之间数据传输的安全安全共享

19、文件系统的研究与实现性,它是基于,的通信协议,使用改进的协议对传输数据进行加密。图.展示了系统的总体架构。图. 安全共享文件系统的总体架构.服务器端子系统服务器端子系统安装有数据库,用于数据的存放和检索。该子系统主要分为三个模块:用户管理模块、文件管理模块和数据库模块。.用户管理模块用户管理模块主要用于管理用户、部门和组的信息,为管理员提供用户、部门和组的添加、修改、删除等功能。其中组相当于工作组,一个用户可以同时属于多个组,便于管理员管理。同时该模块还负责用户的权限控制管理,管理员可以设置用户是否有新建文件的权限。但是,管理员不能新建、修改、删除数据表中用户对文件的操作权限,只有该文件的创建

20、者才能进行相应的操作。.文件管理模块文件管理是指响应用户的操作请求,对数据库和保存在文件服务器上的文件进行相应的操作,然后把结果返回给用户,并且保存所有文件的备份,包括文件的旧版本。存储在文件服务器上的文件命名格式为:文件逻辑名版本号,同时在数据安全共享文件系统的研究与实现库的文件信息表中保存了文件的版本号。客户端用户请求操作服务器中的文件之前需要认证该用户的身份。该模块主要分为两部分:用户认证和文件操作。.用户认证流程如图.所示,用户登录客户端子系统之后,客户端将用户名和用户密码传给安全通信模块请求与服务器连接。服务器通过用户认证后,与客户端建立用户会话实例线程。服务器查看数据库的文件信息表

21、,找到该用户有权限进行操作的文件信息,将得到的信息返回客户端,客户端子系统将根据这些信息生成用户界面。图.用户认证流程图.文件操作流程如果用户需要操作某个文件,客户端子系统按文件序号向服务器端子系统提出操作请求,服务器检查其合法性后,调用文件管理模块处理该请求,然后把处理结果返回客户端,显示给用户。在客户端子系统中,用户对文件的操作类型分为:新建、阅读、编辑、另存到本地、打印、删除等。这些文件操作可以归纳为两种方式:文件下载和文件上安全共享文件系统的研究与实现传,所以文件操作流程分为两个子流程:文件下载子流程和文件上传子流程。文件下载子流程是指客户端子系统向服务器端子系统提交文件信息,包括文件

22、序号和版本号,服务器将文件服务器中相应的文件内容返回客户端子系统。服务器收到客户端提交的请求后,先进行合法性验证,如果通过验证,文件管理模块在数据库的文件信息表中查找该文件的物理存储路径,然后读出文件内容。如果客户端提交的文件信息中版本号不是文件信息表中保存的最新版本号,则表示请求旧版本文件,其默认的操作权限为阅读。最后,服务器调用安全通信模块把文件数据传递给客户端。文件上传子流程是指用户在客户端子系统修改文件后,需要通过安全通信模块将修改后的文件保存到文件服务器中。文件上传子流程分为两种情况:新建文件和保存修改的文件。对于前一种情况,文件管理模块需要在文件信息表中添加新项,并提示该文件的创建

23、者设置其他用户对该文件的操作权限;对于后一种情况,文件管理模块根据请求的文件信息在文件信息表中查找该文件的物理存储路径,将修改的文件作为最新版本保存到文件服务器的相应位置,并更新数据库中的文件版本号。图.文件操作流程图安全共享文件系统的研究与实现数据库模块使用 数据库,包括五张数据表:文件信息表、用户信息表、管理员信息表、组信息表、系统日志,并在此基础上扩展了三张数据表:用户所属组、用户权限表、组权限表。这些数据表中存储了用户和文件的相关信息,包括用户信息、用户创建的文件信息、用户权限信息以及文件在文件服务器的存储路径、文件版本及其他相关信息。.客户端子系统客户端予系统主要包括四个模块:用户交

24、互模块、虚拟磁盘模块、文件过滤驱动模块和钩子控制模块。客户端根据服务器数据库中的用户权限信息控制用户对共享文件的操作,并且提供一种安全保证措施,使得只有特定进程才能访问虚拟磁盘。其中,虚拟磁盘模块和文件过滤驱动模块由用户层的接口函数和内核层的驱动程序共同实现。客户端子系统系统架构如图.所示:图.客户端子系统系统架构.用户交互模块用户交互模块负责处理客户端子系统与服务器端子系统的数据交换以及业务逻辑等功能,包括响应用户请求,为用户提供文件的下载、修改、上传、删除和设置文件权限等功能。在客户端子系统中,用户对文件的操作类型分为:新建、阅读、编辑、另存安全共享文件系统的研究与实现到本地、打印、删除等

25、。根据文件是否保存到文件服务器中把这些操作类型分为破坏性和非破坏性的操作。其中,阅读、另存到本地、打印等操作属于非破坏性操作,因为它们不会破坏文件在文件服务器上的备份;而新建、编辑、删除等操作则属于破坏性操作。各种文件操作定义如下:.新建。上传一个本地文件到文件服务器中,并重新命名。.阅读。将文件服务器中的文件下载到本地,调用相应的浏览器打开,该文件保存在客户端子系统的虚拟磁盘中,用户没有权限访问这个磁盘。.编辑。修改文件,并把修改后的文件以新版本或全新的文件上传到文件服务器中。同样,修改后的文件保存在客户端子系统的虚拟磁盘中,用户没有权限访问该磁盘。.另存到本地。将文件服务器中文件的最新版本

26、保存到本地磁盘。注意,只能保存最新版本的文件,用户对旧版本文件只有阅读权限。.打印。打印文件服务器中的文件。.删除。删除文件服务器中的文件,并清除服务器数据库中的文件信息。虚拟磁盘模块负责保存从文件服务器下载的文件以及修改的文件。虚拟磁盘驱动程序位于文件系统驱动程序和磁盘驱动程序之间,它将本地磁盘中的一个镜像文件映射为虚拟磁盘,客户端从文件服务器下载的文件或修改后的文件都存储在虚拟磁盘,同时,使用加密函数对存储到虚拟磁盘中的文件进行加密,对从虚拟磁盘读取的文件进行解密。当客户端写入文件时,虚拟磁盘驱动程序把文件数据加密后存储在虚拟磁盘中。当客户端读取文件时,虚拟磁盘驱动程序把存储的密文进行解密

27、操作,将文件以明文形式提交给用户刮。这种在内核模式下进行的加解密过程为虚拟磁盘中的数据提供高效、透明的实时加、解密处理,简化了用户的操作。.文件过滤驱动模块文件过滤驱动模块是一种内核模式的驱动程序。它位于低级驱动程序之上,透明地截取发往低级驱动程序设备对象的请求,低级驱动程序的用户完全不知道它们的请求被过滤驱动程序截取处理了。文件过滤驱动程序【可以监视、拦截和修改流。它被挂接到文件系统设备之上,主要对?请求安全共享文件系统的研究与实现进行处理。当用户应用程序试图打开虚拟磁盘中的文件时,就会产生一个请求,文件过滤驱动模块根据发出请求的进程判断是否响应该请求,如果允许打开文件就把该请求传到低层的文

28、件系统驱动程序,否则直接返回错误信息,这样用户应用程序无法打开文件,也就无法读取该文件。由于文件过滤驱动程序是在操作系统内核之中,文件系统之上,得到内核模式的安全保护,不容易被其他进程拦截,为虚拟磁盘的访问控制提供了强有力的安全保证。钩子控制模块通过全局钩子技术对外接文档编辑器进程进行挂钩,从而实现对外接编辑器进程的监控,防止发生漏洞。在挂钩之前,必须将一个可以代替执行的函数的执行代码注入到目标进程,然后将目标进程对该的调用改为对注入到目标进程中自定义函数的调用。它的主要任务是:.拦截外接编辑器的 消息,不允许在一个进程中创建多个文档窗,一旦拦截到该消息,立刻给该窗口发送一个息关闭窗口。.根据

29、用户在服务器的文件访问权限监视剪贴板用于禁用复制粘贴和截屏功能,拦截鼠标右键消息。.安全通信模块安全通信模块用于保证服务器端子系统和客户端子系统之间传输数据的机密性、完整性、可用性“。其中,数据的机密性是指文件数据不泄漏给非法用户。完整性是指数据不被意外地或恶意地篡改,包括修改、删除、替换等。可用性是指数据在需要时可用和有用。服务器和客户端通信协议一般使用/体系结构。其中,是可靠的全双工的面向连接的数据传输协议,可以保证数据无差错传输,按发送顺序接受,并为数据的可靠性提供检验。由于安全共享文件系统对数据的可靠性、实时性要求较高,故本系统设计了基于协议的应用层协议:安全共享文件系统客户/务器交互

30、协议。在传输过程中,需要为客户一服务器交互协议提供数据加密、服务器认证、消息完整性以及可选的客户机认证,基于这些考虑,系统选用“协议来保证服务器和客户端之间的安全通信。位于应用层和传输层之间,指定了一种在应用程序协议例如、和/之间提供数据安全性分层的机制,为,模式的通信系统提供了一个框架。消安全共享文件系统的研究与实现协议分为两部分:握手协议和记录协议“。其中,握手协议用于应用协议传送数据前相互验证、协商加密算法和生成密钥等。记录协议则定义了传输的格式。由于的认证是基于证书的,而证书中许多信息,如使用期限、颁发机构以及证书链等机制比较复杂,在网络环境中并不实用。因此,在分析安全共享文件系统的特

31、点和安全威胁的基础上,设计了一个简洁的客户端认证方法,并且对协议加以改进,使其适应安全共享文件系统的需求。安全通信模块的协议层次如图.所示,从上到下依次为:应用层、客户.服务器交互层、加密层、层。当应用层有数据发送时,应用程序申请客户.服务器交互层的内存,填写的报文头部,并把应用数据拷贝到交互层的数据部分。然后交互层调用加密层对交互层进行加密,添加加密头部、消息认证码及填充数据等,最后使用把加密层数据发送出去。接受方收到报文后,由加密层将数据解密,再等待客户一服务器交互层接收数据。盛用擞嚣矗斑用缸据 瞪嚣要酶粥蝴灏黪鬃糕:譬墓豢譬;鬈壤鐾黧盥甩嬲碱湖;糕嚣眨鬈瀚图.安全通信模块的协议层次.客户

32、一服务帚交互协议安全共享文件系统的客户一服务器交互协议是为上层应用提供网络交互功能的协谢。其报文由头部和数据选项两部分组成,其中头部是每个报文必需的,数据选项根据需要添加到头部之后。报文头部是所有报文都需要的公共头部,其格式如图.所示。安全共享文件系统的研究与实现版本 赛壁 子类型 蝴选璜类型请隶,斑镎序号傺暂数据选璃长援爨戮嚣霹嚣哪一“氆垂,”“;潮蕊巍徽攮穗翟鞋麟穗焉;爱爰舞熏餮蠢:,蠢黧渊骥强薰图.报文格式各字段的定义如下:一请求/应答:指出报文是请求、应答或者纯数据。每次服务器和客户端的交互由一个请求和一个对应的应答组成。请求指明本次交互的目的,对方在收到一个请求后必须要给出对应的应答

33、,应答中包括对请求的答复,可以是返回请求需要的信息或者是一个错误信息。在应答报文中,类型字段与原请求字段必须相同,子类型可以不同。如果为纯数据,该报文不遵守上述规则,这时报文头部只有版本和请求应答字段,接收方接收到纯数据的报文后不需要做出任何应答。类型、子类型:一起指出请求/应答的类型。一数据选项类型:指出数据选项的类型,如果没有数据选项,该字段设置为。另外,一个报文最多只能有一类数据选项。一序号:用户每次登录后客户端和服务器端各自随机选择一个初始序号,序号由请求发起方填写,对方应答时在报文中填写原请求的序号。如果请求发起方收到的应答序号与原序号不同则丢弃该报文并进行错误处理。不管交互成功、失

34、败还是对方响应超时,每次交互后序号都要加。一数据选项长度:数据选项的长度,如果没有数据选项,该字段设置为。数据选项数据:报文数据部分。报文携带的数据选项根据请求/应答、类型和子类型三个字段决定。一个报文可以携带也可以不携带数据选项,但最多只能携带同一类数据选项,如果一个报文用同一类的多个数据选项时,选项个数由报文头部数据选项长度字段确定,这样定义的目的主要是简化报文设计和处理的复杂程度。由于篇幅的关系,本论文将不介绍具体的数据选项定义。下面将介绍客户艮务器交互协议的接口设计,分为两部分:服务器协议接口和客户端协议接口。.服务器协议接口接口功能:服务器收到客户端的报文后,首先由加密层将数据解密,

35、再等待客户一服务器交互层调用加密层接收函数接收数据。客户.服务器交互层对报文处理后调用数据库处理函数和文件处理函数获得要返回给客户端的数据并组织报安全共享文件系统的研究与实现文递交给加密层。在服务器端子系统中,由于请求都是由客户端发起的,所以服务器没有向上层提供接口。服务器端通过方式在客户.服务器交互层阻塞,等待客户端发起请求并对请求进行响应。接口定义:尽管客户.服务器交互层不向上提供接口,这里仍给出客户服务器交互层调用应用层的接口定义,例如,功能为“按文件获取用户权限信息”的接口定义如下:.,。.,其中,参数指出请求的操作是查询、更新还是删除,是应用程序提供的指向文件序号选项的内存指针,是文

36、件序号选项的个数,叫和是返回给应用程序的查询到的用户权限信息选项的内存指针和偏移,。即是用户权限信息选项的内存位置,如果查询出错,则指向原文件序号选项的内存指针和偏移,是返回给应用程序的用户权限信息选项个数的指针,接口函数返回值是错误信息,如果为则表示查询成功,否则是一个错误信息编号。客户服务器交互层处理好报文后,从报文中取出数据选项文件序号并将它交给该函数,并根据交互层头部的子类型字段决定进行何种请求并设置参数。如果为?,该函数将负责根据文件序号查询数据库获得相关的权限信息并组织成一个或多个用户权限信息选项,如果查询出错,则拷贝原文件序号选项,再将这些数据选项的内存地址返回给交互层,交互层将

37、获得的数据选项拷贝到报文中并添加头部再递交给加密层。最后,客户.服务器交互层还需要释放应用层递交下来的内存和自己申请的报文内存。.客户端协议接口接口功能:从客户端的角度看,交互协议向上层提供的接口是客户端访问服务器的功能接口。客户端应用程序通过调用客户.服务器交互层提供的接口来访问服务器,获取和更新服务器上的信息,而交互协议的命令交换、正确性检查和下层的加密等功能对于应用程序将是透明和不可见的。对于加密层来说,客户.安全共享文件系统的研究与实现服务器交互层通过调用加密层的接收和发送接口来收发解密后的数据。特别的,在接收时使用的方式,即在客户.服务器交互层阻塞。接口定义:客户.服务器交互层向上提

38、供的接口是以交互协议功能函数的形式来实现的。客户.服务器交互层将向应用程序提供一系列的接口函数,应用程序通过调用这些函数来从服务器获得信息或者更新服务器上的信息。例如,功能为“按文件获取用户权限信息”的接口函数定义如下:。,.“.,该接口函数的参数定义可参看服务器协议接口定义,客户端通过提供文件序号调用加密层发送函数发送查询该文件对应的用户权限信息的请求,等待服务器返回数据,然后调用加密层接受函数获得交互层的数据选项,返回服务器查询的与该文件相关的用户权限信息。查询过程中的报文组织、命令交互、错误处理都在接口函数中完成。.改进的协议.简洁的客户端认证机制由于的客户端认证机制并不完全适合安全共享

39、文件系统的需求,所以我们设计了一种基于用户登录信息和认证密钥管理的客户端认证机制。为了实现这种客户端认证机制,必须在用户注册为系统合法用户时,进行一系列的密钥管理过程。如图.所示,每一个合法的用户都会在安装客户端程序时获得一对密钥,即用户公钥和用户私钥,用户名和对应的用户公钥将被存放在服务器数据库的用户信息表中,私钥则以用户名和用户密码的散列值作为密钥进行加密后存放在客户端。客户端登录的过程主要分为两步:首先,客户端传送用户名给服务器,服务器在数据库中检验其用户名是否存在,并根据用户名读取该用户的公钥。然后客户端使用用户密码对私钥进行解密。认证过程采用非对称密钥算法,取代了的证书认证方法?。安

40、全共享文件系统的研究与实现融谴密锶生康器 甩;,用户公钥;娜户潮图.注册合法用户的密钥处理过程这种方案相当于提取了证书最重要的作用,即用户名与其公钥的关联。通过在数据库的用户信息表中加入相应用户信息,当用户登录时,服务器获取该用户的公钥,再通过非对称密钥方法对客户端进行认证。这种针对客户端的认证方法降低了认证和管理的复杂性,也避免了用户密码在网络上传输。.改进的握手协议握手协议用于通信双方建立安全传输通道,包含两个阶段”,第一个阶段用于建立私密性通信信道,第二个阶段用于客户认证。图 改进的握手协议流程图安全共享文件系统的研究与实现如图.所示,客户端和服务器开始通信时,先协商协议版本,选择密码算

41、法及可选的相互认证,使用公钥加密产生共享密钥。其过程如下:.客户端向服务器发送消息,服务器以消息应答。这对消息主要用来协商以下信息:协议版本号、会话、加密算法等。由于加密算法使用预先设定的块加密算法,故无需协商。双方还会交换字节的随机数,供认证过程使用。.服务器端对共享的两个字节随机数求和一散列,然后对这个散列值用自己的私钥加密,加密结果放在消息中发送给客户端。.服务器发送消息,表示握手的第一阶段已完成,等待客户的应答。.如果客户端接收到消息,使用持有的服务器公钥对它进行解密,再与自己计算出来的散列值比较,如果相同说明服务器身份合法,否则断开连接。对客户端的认证方法完全相同。.服务器发送消息应

42、答,表示握手过程结束。改进后的握手过程能够实现双方认证和会话密钥协商的功能,由于避免了证书认证,握手过程更加简洁,能够满足基于/模式的安全文件共享系统的安全性需求。.记录协议记录协议定义了数据在网络中传输的格式。握手过程完成后,服务器和客户端就正式进入安全通信阶段。为了防止数据被破坏者偷听或篡改,必须对数据进行加密和完整性检查。通信数据采用算法加密,加密密钥在握手过程中产生。加密是基于位块加密方式的,所以必须对数据进行分片,当一块数据小于位时,必须进行填充。数据完整性检查是对数据计算散列,即消息认证码,把计算的放在每一个记录的后面,接收方也对收到的数据计算散列,再与记录最后的进行比较,如果不相

43、同,则说明数据在传输过程中已经遭到篡改,如果相同,则说明数据是完整无损的。安全共享文件系统的研究与实现图. 的记录协议流程如图.所示,记录协议从应用层接收到数据后要经过分片、压缩和加密处理,最后通过传输层发送给接受方。应用数据的传输过程如下:.应用程序把应用层数据提交给本地的。.发送方的根据需要按如下步骤组织报文:分片。每个应用层的数据都被分解为字节或更小的数据块。压缩。压缩是可选的,压缩后数据块的长度不能超过个字节,即。加。对压缩数据计算消息认证码。加密。对压缩数据和进行加密。添加记录头。其中记录协议字段包括:主版本号、次版本号、压缩长度等信息。.把密文通过网络传给接受方。.接受方的采用如下

44、的方法进行验证:使用解密算法对密文解密,得到明文。对明文计算消息认证码。将计算得到的消息认证码与明文中的消息认证码比较,如果一致,则明文有效,接收方的把通过明文解压得到的应用数据上交给应用层。否则丢弃数据,并向发送方发出告警信息。安全共享文件系统的研究与实现以上对的握手协议和记录协议进行了分析和改进,实现了对数据传输的私密性和完整性的保护,解决了安全文件共享系统在数据传输过程中的一些安全漏洞。安全共享文件系统的研究与实现第章驱动介绍文件系统和过滤驱动都属于操作系统内核组件,它们与操作系统其他组件密切联系。理解操作系统如何工作,是开发内核模式驱动程序的基础。本章论述了 操作系统的系统结构及驱动模

45、型,在研究文件系统的基础上,对过滤驱动的作用和工作流程进行了探讨。. 系统结构操作系统架构采用分层结构【嘲,总体分为两层:底层是内核模式,上层是用户模式,如图.所示。用户援式内核模式图. 操作系统架构用户模式是操作系统受保护的子系统,每个子系统都存在于自己的进程空间中,虚拟内存管理器向其提供内存保护。子系统向用户模式进程提供定义好的应旧 ,用户模式进程可以通过用编程接:获得想要的服务。另一方面,子系统可以利用定义好的系统服务与操作系统内核部分进行通信。对用户程序来说,为自己提供执行环境的子系统就是操作系统的安全共享文件系统的研究与实现特征。在用户模式下运行的进程可以在操作系统提供的安全子系统上正常执行,而不用担心编程接口和操作系统内核等问题。内核模式与用户模式的区别在于执行代码的硬件优先级?。的硬件优先级决定了代码可执行的指令级。内核模式的进程可以完成某些受保护的操作,并且可以访问用户模式不能访问的系统结构体。使用一种简单的硬件优先级模型,只有两种优先级:内核模式和用户模式。对于系统结构集,内核模式相当于处理器在优先级执行,用户模式则对应优先级。内核模块包括以下部分.:.硬件抽象层。硬件抽象层直接面对和其他系统硬件,它屏蔽了不同平台硬件之间的差异,向操作系统上层提供统一的接口。操作系统内核组件及添加到

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号