Linux系统中加密文件系统的设计与实现.DOCVIP

Linux系统中加密文件系统的设计与实现.DOC

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux系统中加密文件系统的设计与实现

附注两个国外开源项目,可使用其修改,但都有问题: 1、PrivExec: Private Execution as an Operating System Service /privexec/ 这个是实时加密,但是访问结束后内容消失,不存在磁盘上。 2、cryptmount /projects/cryptmount/ 这个基本实现了大部分功能,但是没有实时性加解密,一旦挂载文件系统,内容就被解密,会被其他用户明文访问。 相关资料 研究内容: 分析已有的加密文件系统技术,提出一种适用于Linux系统的透明加解密的方法,通过应用Linux虚拟文件系统架构和堆栈式文件系统技术,使加解密模块作为一个组件存在于虚拟文件系统和底层具体文件系统之间,加解密过程对应用程序透明。该方法应支持主流加密算法,保证系统仍具有较高的性能与可移植性。在保证数据的安全性的同时,又兼顾工作效率。 由于系统环境的不同,Linux系统下文件透明加解密不需要通过文件系统过滤驱动来实现,我们可以在开源的条件下,使用堆栈式文件系统技术,直接在Linux的内核中实现一个加密文件系统,从而实现透明加解密。 Linux系统中的用户不必知道数据在文件系统中如何存储、可以不依赖具体的文件系统类型而进行文件访问,这就要求操作系统要对文件系统做较高级别的抽象。虚拟文件系统(Virtual File System)[]有时也称为虚拟文件系统切换(Virtual File System Switch),简称VFS,它是Linux的一个内核子系统。VFS为用户空间的应用程序提供了一个统一的、抽象的、虚拟的文件系统界面,这个抽象的界面主要由一组标准的、抽象的文件操作构成,以系统调用的形式提供给用户程序。这样,用户程序就可以把所有的文件都看作一致的、抽象的VFS文件,通过系统调用对文件进行操作,而无需关心该文件是属于哪一种类型的文件系统以及该文件系统是如何设计和实现的。我们可以将VFS看作是处理通用任务的软件层,当VFS接收到用户的系统调用时,经过一定处理,便将调用传递给下面的具体软件层,即各种不同类型的文件系统。因此要实现透明加解密,只需要在VFS的框架下,开发一个具有加密解密功能的文件系统即可。 文件系统是在计算机上命名、存储和安排文件的方法。加密文件系统(EFS~Encryption File System)[]技术允许加密文件和文件夹,限制对文件的访问,从而提高文件系统的安全性,帮助保护敏感数据。在使用EFS加密文件后,只有掌握密钥的授权用户才可以打开和使用加密过的文件。这在云环境下尤为有用,因为即使服务提供商窃取了设备中的文件,也无法打开加密过的文件。 一般意义上的加密文件系统是使用核心的文件加密技术在存储介质上存储加密文件,或者说EFS是对存储在磁盘上的数据进行加密操作,是一种安全的信息加密服务。它可以防止那些未经允许而对敏感数据进行物理访问的入侵行为。用户就像使用其它文件一样使用加密文件,用户对加密文件的操作是透明的。当加密用户访问文件和文件夹时,系统自动解密文件和文件夹;当保存文件时,文件被自动加密。未获得加密文件访问权限的用户试图对加密文件进行打开、复制、移动、重命名等操作都将会收到“拒绝访问”的消息。加密文件系统对普通文件系统的功能进行了扩展,在文件系统中实现加密功能,它和使用存储介质加密方式一样,能够提供对用户透明的文件加密功能。在各种加密方式中,加密文件系统在性能和安全性上得到了最好的平衡。相对于存储介质加密方式,它的主要特点是可以支持文件粒度的加密。也就是说,用户可以选择对哪些文件加密,对哪些文件不加密。而且不同的用户使用各自的加密密钥对文件加密,因此便于云环境下多个用户共享文件。可见,加密文件系统是对存储系统加密的最优方式。 Linux系统中加密文件系统的设计与实现 在Linux系统下,文件透明加解密不需要通过文件系统过滤驱动来实现,我们可以在开源的条件下,利用堆栈式文件系统技术,实现一个加密文件系统,加载在Linux的虚拟文件系统(VFS)和实际文件系统(如ext3)之间,从而实现透明加解密。 用传统的Linux文件系统开发方法来实现加密文件系统,第一种方案是选择一个已有的文件系统作为起点,通过修改它的源代码和底层的设备驱动程序,把需要的功能加进去,这种开发方式带来很多问题。首先,必须花费一些甚至是很多时间来理解现有文件系统的源代码;其次,修改现有文件系统的开发方式,由于使用了当前操作系统特有的代码,牺牲了文件系统的可移植性;再者,将所需功能的代码混入到原有文件系统代码中,给本就复杂的内核态文件系统的调试工作带来了更多不便。另一种方案则是选择开发用户模式的文件系统,由于这种文件系统存在于用户空间,便于开发和移植。但是,它的最大问题是效率较低,在一些特定的环境下,

文档评论(0)

wumanduo11 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档