首页> 中文学位 >Linux系统中透明加密文件系统的设计与实现
【6h】

Linux系统中透明加密文件系统的设计与实现

代理获取

目录

文摘

英文文摘

第一章绪论

1.1密码学基本概念

1.1.1密码学基本概念和对称密码模型

1.1.2分组密码及其数学模型

1.2存储系统的加密方式

1.2.1文件加密方式

1.2.2存储介质加密方式

1.2.3加密文件系统

1.3加密文件系统

1.3.1加密文件系统的含义

1.3.2应用场合

1.4论文组织结构

第二章背景知识

2.1 Linux文件系统

2.1.1文件系统的定义

2.1.2文件系统的分类

2.1.3 Linux的虚拟文件系统

2.2堆栈式文件系统(Stackable File System)

2.2.1介绍

2.2.2数据结构的设计

2.3开发工具FiST及基于FiST的项目

2.3.1 Wrapfs

2.3.2 FiST

2.3.3基于FiST的unionfs

2.4加密文件系统的相关项目

2.4.1 Windows Server 2003操作系统中的加密文件系统

2.4.2 Red Flag Secure OS 4.0中的高强度加密文件系统

2.4.3 Linux操作系统中的CFS[11][121

2.4.4 Linux操作系统中的TCFS[141

第三章系统设计

3.1设计规划

3.2设计准则

3.3典型加密算法的比较与选取

3.3.1 DES和使用三个密钥的三重DES

3.3.2IDEA

3.3.3 RC5算法

3.3.4 Blowfish

3.4设计要求和设计要点

3.4.1设计要求

3.4.2设计要点

3.5不足之处

第四章系统实现

4.1 FiST的工作流程和BEFS的input文件

4.1.1 FiST的工作流程

4.1.2 FiST的inputfile

4.1.3 BEFSinputfile中的C Declarations部分

4.1.4 BEFSinputfile中的FiST Declarations部分

4.1.5 BEFSinput文件的Rules部分

4.1.6 BEFSinput文件的Additional C Code部分

4.2 Blowfish算法加密原理及模式选取

4.2.1 BlowFish算法说明

4.2.2 P盒和S盒的产生

4.2.3加密和解密

4.2.4加密模式的选取

4.3读文件

4.4写文件

4.5追加文件

4.6文件名的加密

4.7文件名和目录的读取

4.8多用户的密钥管理

4.9 UML及模块调试

第五章性能评测

5.1测试环境

5.2专项测试

5.2.1读文件

5.2.2写文件

5.2.3列举目录内容

5.2.4专项测试结论

5.3综合测试

第六章总结与展望

6.1总结

6.2展望

参考文献

附录A BEFS原型系统的加载命令

A.1 BEFS加载命令

A.2 BEFS卸载命令

致谢

展开▼

摘要

Linux系统中传统的文件加密方法是利用“crypt”命令或者依赖加密应用程序,这两种方法使用起来都非常麻烦,且保密性也非常低。我们通过将加密技术和文件系统紧密结合,设计出一个加密文件系统(EFS-EncryptionFileSystem),使其能自动地对系统中的文件或目录进行加密和解密。这种加密和解密过程对用户是透明的,加密文件的合法访问者能够方便地读取文件内容,而不具备访问权限的用户将无法读取文件内容,从而提高文件系统的安全性,帮助用户保护敏感数据。在使用EFS加密文件之后,只有掌握密钥的授权用户才可以打开和使用加密过的文件。这在便携式PC、便携式存储设备或网络传输中尤为有用,因为即使他人窃取了便携设备或截获了网络中的文件,也无法打开加密过的文件。因此,EFS可以解决未经授权的访问和因便携式设备的失窃或网络传输中的明文数据被截获而引发的泄密等问题。 如以传统的开发方式在Linux系统中实现一个具有特殊功能的文件系统,一些程序员常常选择一个已有的文件系统作为起点,通过修改它的源代码和底层设备的驱动程序来加入需要的功能,这种开发方式具有开发周期长、调试困难和可移植性差等弊端。另外一些程序员可能选择开发用户模式的文件系统,这种文件系统存在于用户空间,便于开发和移植。但是,它的最大问题是效率较低,在一些特定的环境下,这些效率的损失是不可容忍的。堆栈式文件系统就是为解决这些问题而提出的一个方法,它把要开发的文件系统插入到VFS(VirtualFileSystem)和现有文件系统之间,而基本不涉及底层的文件系统,这就降低了文件系统的开发难度,增强了文件系统的可移植性。同时,堆栈式文件系统是以内核可加载模块的形式实现,又提高了文件系统的效率。 本论文讨论了在Linux2.4内核下的BEFS(BlowfishEncryptionFileSystem)的设计思想、实现要点及性能测试等主题。首先,明确了密码学基本概念,阐述了加密文件系统和堆栈式文件系统等内涵;其次,介绍了FiST(FileSystemTranslator)文件系统开发工具及其使用方法;第三,比较了几种常用的对称加密算法,并从中选取了安全、快速的Blowfish算法作为BEFS的加密算法;第四,深入阐述了BEFS的设计思想、实现要点和实现细节等内容;最后,本论文对实现的BEFS和其它相关文件系统进行了性能对比及测试。 本论文通过分析BEFS的设计思路和实现手段,介绍了一种用堆栈式文件系统开发加密文件系统的新方法,希望对Linux文件系统的研究和开发人员,具有一定的参考价值,能起到一个抛砖引玉的作用。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号