具有审计功能的加密文件系统设计与实现研究
发布时间:2014-09-12 09:49
【摘要】 随着计算机技术的发展,人们存储各种信息的方式由纸质文档逐步转化为电子文档。将资料存储在计算机中节省了空间,并且使得人们对信息的查找、阅读更加方便快捷,但于此同时也带来了严重的信息安全问题。如果保存在便携式设备如笔记本电脑中的资料受到非法获取或破坏,则会给其所有者带来巨大的损失。所以,如何保证文件数据的安全,以及如何尽量降低文件丢失后所造成的损失也成为了一个重要的研究课题。对文件系统进行加密,可以保证文件数据的安全;对文件的操作痕迹进行记录,并提供装载资料的设备丢失后挂失的功能,可以降低文件丢失造成的损失。本文论述了一个具有审计和加密功能的文件系统的设计与实现。这个文件系统是基于互联网的,通过一个统一的服务器记录用户的个人信息,并根据用户在客户端输入的用户名密码进行身份认证,从而控制用户对客户端文件系统的访问。客户端文件系统中需要被保护的文件内容都经过不同文件密钥的加密,文件密钥则统一存放在服务器中,用户访问加密文件前需经过身份认证以获取相应文件密钥来解密文件。访问文件时将根据文件内容得到的摘要送与服务器端验证,从而保证文件完整性。服务器日志将记录所有用户对文件的操作,假如设备被遗失,用户可以登录至服务器进行挂失,服务器会停止该账户进行的一切活动,同时用户可以通过日志发现那些文件信息遭到泄露,从而采取一定的补救措施。采用FUSE框架和Blowfish加密算法作为基础,本文实现了一个Linux下的用户空间文件系统,避免了修改内核,使系统更加稳定。同时,FUSE框架使得用户透明的访问文件,完全感觉不到加密文件系统的存在,具有较强的易用性。最后本文对文件系统进行了功能和性能测试,结果证明文件系统符合本文提出的设计要求,在完成功能的同时保证了性能。
【关键词】 文件系统; 加密; FUSE; Blowfish; 审计;
第一章 绪论
1.1 课题研究背景
随着科学技术的迅猛发展,信息量早已呈现爆炸性增长的趋势。而近年来便携式设备如笔记本电脑、PDA、智能手机等,也由于其便于携带的特点受到人们的青睐,越来越多的人将文件资料存放于其中。但是如果这些存放有重要敏感信息的便携式设备被遗失或盗窃,导致这些信息被他人获取或恶意地加以利用,将会给信息的所有者或机构造成不可估量的损失。这一现状也给信息安全带来了新的挑战。 操作系统本身的权限认证系统[1]对提高安全性具有一定的帮助,它主要通过为不同用户分配不同的 ID 以及域或组,来实现每个用户对不同文件具有不同的访问权限,这样就可以在一定程度上防止资料被他人窃取。但是,仅仅依靠操作系统的防护还是远远不够的,现在,入侵者可以通过 U 盘、光盘等引导工具来启动自己的操作系统,从而绕过用户原有的操作系统的安全认证机制,避开权限检查,操作不属于自己的文件。目前,解决这一问题的主要方法就是采用数据加密技术。 经过加密的数据在磁盘上以密文方式存储,而解密所需的密钥是保密的,这样即使入侵者成功绕过用户操作系统的安全机制,或者直接盗取用户的便携设备,在不知道密钥的情况下也无法获取经过加密的文件内容。简而言之,数据加密技术相当于在用户设备中的文件内容上加入了一道屏障,而这道屏障需要由用户掌握的密钥才能打开。
........
1.2 对现有加密文件系统的分析
CFS 被设计为客户端/服务器模式,基于 NFS。客户端即个人计算机或便携设备。用户将需要加密的文件存储于客户端的文件系统中,并给每个需要加密的目录一个对应的加密密钥。现在已有的加密文件系统主要有 CFS、TCFS、Cryptfs、EFS、EncFS 和 KeyPad 等。下面将对它们做详细介绍。CFS CFS(Cryptographic File System)由 AT&T 实验室的 Matt Blaze 开发,应用于 UNIX操作系统中,是比较早的加密文件系统。 CFS 再使用这些密钥分别将这些目录进行加密,最终存储在磁盘上的是经过加密的文件内容,明文信息不会再磁盘中存储或在网络上传输。用户通过 CFS 提供的类 Unix 的文件系统接口对文件进行操作,其中对文件的加密和解密操作全部无须用户干预。 CFS 在用户空间提供了一个虚拟的文件系统,一般挂载至/crypt 目录,用户将需要加密的文件存储到该目录中,然后再通过该目录访问文件。这个目录中的文件名以及文件内容都是经过文件密钥加密后存储在磁盘上的,所以明文的文件名和文件内容不会在磁盘存放或在网络传输。同时,该文件系统的管理功能如备份、恢复和日志等于普通文件系统一样,可以无需密钥,直接在加密的目录或文件上进行,而无需更改文件存储介质。 CFS 并没有保护数据完整性验证以及密钥发布的机制。
.......
第二章 系统相关核心技术
2.1 课题的目标
本课题的研究目标是设计一个具有审计功能的加密文件系统,它包括一个 Linux 操作系统中的安全、高效、易用、具有可移植性的加密文件系统,以及一个安全、稳定、高效的服务器认证和审计系统。根据上一章对现有加密文件系统的研究,我们分析了它们各自的优缺点,由此也可总结出具有审计功能的加密文件系统需要具有如下的特性: 1)安全性。这里所指的安全性包括 2 个方面:客户端文件系统的安全性和服务器的安全性。文件系统的安全性首先是通过一套密钥体系建立的,所有文件通过不同的文件密钥加密,而文件密钥的获取则需通过身份认证,从而保证了文件密钥的保密性;其次,用户又可以在丢失了便携式设备之后对自身账户进行挂失处理,冻结该账户的一切操作权限,从而阻止可能发生的安全隐患,同时又可根据记录在服务器中的操作日志了解到敏感资料的泄露程度,并据此做出妥善的处理。服务器的安全首先可以通过严密的身份认证体系得到一定的保证,其次可通过各种防火墙、权限设置或完善的备份策略等来实现,由于不是课题的重点,故不再赘述。 2)易用性。用户对文件进行读写操作时都伴随着对文件的加密解密过程,假如密钥的寻找、加密、解密等过程都由用户手动操作,将会使系统变得相当繁琐。所以我们需将这一切的过程由加密文件系统代劳,并且将原有的 Linux 操作接口暴露给用户,使用户完全感觉不到底层加密文件系统的存在。另外,还需保证用户不必费力保存自己的各种密钥,防止增加丢失的风险。
.......
2.2 数据加密
数据加密技术[14]可分为对称加密技术与非对称加密技术两种。对称加密算法又称为单密钥加密算法,其加密和解密过程使用同一密钥。该算法的优点是速度快,效率高,缺点是密钥很难秘密分配,管理相对复杂。非对称加密算法又称为公钥加密算法,其加密和解密所使用的是不同密钥,而且解密密钥基本不能通过加密密钥推导出来。该算法的优点是加密密钥公开,私钥不必相互传递,缺点是计算复杂,速度较慢。 目前,许多加密文件系统都需用户使用智能卡来保存自己的私钥。可是针对体积较小便携设备如 PDA 或智能手机来说,使用智能卡相对较为繁琐,而且很容易与这些设备同时遗失,补办与更换也相对困难。所以我们活用对称加密算法,使用户不再为如何安全保存自己的私钥而烦恼,保证了系统的易用性,同时由于对称加密效率较高,也保证了系统的高效性。对称加密算法有很多种,下面我们分析几个常用的算法: DES(Data Encryption Standard)又被称为美国数据加密标准,其密钥长度为 56 位,加密内容按 64 位进行分组。由于 DES 算法产生很早,对其进行的研究也很多,所以其安全性逐渐降低,在 20 世纪 90 年代,DES 已经被认为是不安全的。
........
第三章 具有审计功能的加密文件系统的设计 ............ 16
3.1 系统设计原则........... 16
3.2 系统架构 ............ 16
3.3 用户认证模块.......... 16
第四章 具有审计功能的加密文件系统的实现 .......... 32
4.1 加密算法实现............. 32
4.2 密钥缓存 ........... 36
4.3 密钥交换协议实现 ......... 37
第五章 系统测试与分析 ........ 47
5.1 测试环境 .......... 47
5.2 测试目的和方法 ........ 47
5.3 测试结果与分析 ........... 47
第五章 系统测试与分析
5.1 测试环境
为了验证本文所提出的具有审计功能的加密文件系统的设计方案及其实现方法,本文进行了一系列功能和性能上的测试。本章测试的主要目的是验证本文提出的具有审计功能的加密文件系统的设计方案及其实现方法的可行性,并且会测试系统的基本功能及其在测试环境下的运行情况。 本章首先会进行功能测试,具体方法为在命令行模式下对文件系统进行挂载和卸载,并使用文件系统的各种功能,如创建文件、读文件、写文件和删除文件等,同时观察其日志记录。最后会对系统做性能测试,并分析其结果和原因。本章进行了创建文件、读文件、写文件、删除文件、用户挂失以及查看日志等一系列的测试,充分地验证了本系统设计和实现的可行性。然后进行了性能测试,证明了系统在实现了的功能的同时,也保证了较高的性能。
.........
结论与展望
本文论述了一个具有审计功能的加密文件系统的设计与实现。在本课题的研究过程中,不仅借鉴了目前存在的几种主流加密文件系统的思想,并且针对它们的不足进行了改进。在认真研究了各种加密算法以及 FUSE 文件系统框架的基础上,完成了系统的设计,并成功地实现了原型。本文实现的具有审计功能的加密文件系统具有以下优点: 1)保证了文件系统中数据的安全与完整性。 首先,文件系统具有一套完善的密钥体系,所有文件都有不同的文件加密密钥,用户需要通过身份认证才能获取文件密钥,进而对文件进行操作;其次,当用户对文件进行操作时,系统会通过完整性验证来检查文件是否被非法篡改;最后,客户端与服务器端之间传输的数据包括文件加密密钥全部经过临时密钥加密,可以有效地防止第三方的窃取。 2)系统简单易用。 用户对文件进行的各种操作如:读、写文件、新建、删除文件等,都需要进行如获取文件密钥、加密解密、记录日志等操作,而这些过程都由加密文件系统代劳,使用户完全感觉不到底层加密文件系统的存在,直接通过原有的 Linux 操作接口即可操作加密过的文件。并且用户只需记住自己的口令即可使用文件系统,无需任何其它额外设备或密钥的支持。
........
参考文献:
本文编号:8826
【关键词】 文件系统; 加密; FUSE; Blowfish; 审计;
第一章 绪论
1.1 课题研究背景
随着科学技术的迅猛发展,信息量早已呈现爆炸性增长的趋势。而近年来便携式设备如笔记本电脑、PDA、智能手机等,也由于其便于携带的特点受到人们的青睐,越来越多的人将文件资料存放于其中。但是如果这些存放有重要敏感信息的便携式设备被遗失或盗窃,导致这些信息被他人获取或恶意地加以利用,将会给信息的所有者或机构造成不可估量的损失。这一现状也给信息安全带来了新的挑战。 操作系统本身的权限认证系统[1]对提高安全性具有一定的帮助,它主要通过为不同用户分配不同的 ID 以及域或组,来实现每个用户对不同文件具有不同的访问权限,这样就可以在一定程度上防止资料被他人窃取。但是,仅仅依靠操作系统的防护还是远远不够的,现在,入侵者可以通过 U 盘、光盘等引导工具来启动自己的操作系统,从而绕过用户原有的操作系统的安全认证机制,避开权限检查,操作不属于自己的文件。目前,解决这一问题的主要方法就是采用数据加密技术。 经过加密的数据在磁盘上以密文方式存储,而解密所需的密钥是保密的,这样即使入侵者成功绕过用户操作系统的安全机制,或者直接盗取用户的便携设备,在不知道密钥的情况下也无法获取经过加密的文件内容。简而言之,数据加密技术相当于在用户设备中的文件内容上加入了一道屏障,而这道屏障需要由用户掌握的密钥才能打开。
........
1.2 对现有加密文件系统的分析
CFS 被设计为客户端/服务器模式,基于 NFS。客户端即个人计算机或便携设备。用户将需要加密的文件存储于客户端的文件系统中,并给每个需要加密的目录一个对应的加密密钥。现在已有的加密文件系统主要有 CFS、TCFS、Cryptfs、EFS、EncFS 和 KeyPad 等。下面将对它们做详细介绍。CFS CFS(Cryptographic File System)由 AT&T 实验室的 Matt Blaze 开发,应用于 UNIX操作系统中,是比较早的加密文件系统。 CFS 再使用这些密钥分别将这些目录进行加密,最终存储在磁盘上的是经过加密的文件内容,明文信息不会再磁盘中存储或在网络上传输。用户通过 CFS 提供的类 Unix 的文件系统接口对文件进行操作,其中对文件的加密和解密操作全部无须用户干预。 CFS 在用户空间提供了一个虚拟的文件系统,一般挂载至/crypt 目录,用户将需要加密的文件存储到该目录中,然后再通过该目录访问文件。这个目录中的文件名以及文件内容都是经过文件密钥加密后存储在磁盘上的,所以明文的文件名和文件内容不会在磁盘存放或在网络传输。同时,该文件系统的管理功能如备份、恢复和日志等于普通文件系统一样,可以无需密钥,直接在加密的目录或文件上进行,而无需更改文件存储介质。 CFS 并没有保护数据完整性验证以及密钥发布的机制。
.......
第二章 系统相关核心技术
2.1 课题的目标
本课题的研究目标是设计一个具有审计功能的加密文件系统,它包括一个 Linux 操作系统中的安全、高效、易用、具有可移植性的加密文件系统,以及一个安全、稳定、高效的服务器认证和审计系统。根据上一章对现有加密文件系统的研究,我们分析了它们各自的优缺点,由此也可总结出具有审计功能的加密文件系统需要具有如下的特性: 1)安全性。这里所指的安全性包括 2 个方面:客户端文件系统的安全性和服务器的安全性。文件系统的安全性首先是通过一套密钥体系建立的,所有文件通过不同的文件密钥加密,而文件密钥的获取则需通过身份认证,从而保证了文件密钥的保密性;其次,用户又可以在丢失了便携式设备之后对自身账户进行挂失处理,冻结该账户的一切操作权限,从而阻止可能发生的安全隐患,同时又可根据记录在服务器中的操作日志了解到敏感资料的泄露程度,并据此做出妥善的处理。服务器的安全首先可以通过严密的身份认证体系得到一定的保证,其次可通过各种防火墙、权限设置或完善的备份策略等来实现,由于不是课题的重点,故不再赘述。 2)易用性。用户对文件进行读写操作时都伴随着对文件的加密解密过程,假如密钥的寻找、加密、解密等过程都由用户手动操作,将会使系统变得相当繁琐。所以我们需将这一切的过程由加密文件系统代劳,并且将原有的 Linux 操作接口暴露给用户,使用户完全感觉不到底层加密文件系统的存在。另外,还需保证用户不必费力保存自己的各种密钥,防止增加丢失的风险。
.......
2.2 数据加密
数据加密技术[14]可分为对称加密技术与非对称加密技术两种。对称加密算法又称为单密钥加密算法,其加密和解密过程使用同一密钥。该算法的优点是速度快,效率高,缺点是密钥很难秘密分配,管理相对复杂。非对称加密算法又称为公钥加密算法,其加密和解密所使用的是不同密钥,而且解密密钥基本不能通过加密密钥推导出来。该算法的优点是加密密钥公开,私钥不必相互传递,缺点是计算复杂,速度较慢。 目前,许多加密文件系统都需用户使用智能卡来保存自己的私钥。可是针对体积较小便携设备如 PDA 或智能手机来说,使用智能卡相对较为繁琐,而且很容易与这些设备同时遗失,补办与更换也相对困难。所以我们活用对称加密算法,使用户不再为如何安全保存自己的私钥而烦恼,保证了系统的易用性,同时由于对称加密效率较高,也保证了系统的高效性。对称加密算法有很多种,下面我们分析几个常用的算法: DES(Data Encryption Standard)又被称为美国数据加密标准,其密钥长度为 56 位,加密内容按 64 位进行分组。由于 DES 算法产生很早,对其进行的研究也很多,所以其安全性逐渐降低,在 20 世纪 90 年代,DES 已经被认为是不安全的。
........
第三章 具有审计功能的加密文件系统的设计 ............ 16
3.1 系统设计原则........... 16
3.2 系统架构 ............ 16
3.3 用户认证模块.......... 16
第四章 具有审计功能的加密文件系统的实现 .......... 32
4.1 加密算法实现............. 32
4.2 密钥缓存 ........... 36
4.3 密钥交换协议实现 ......... 37
第五章 系统测试与分析 ........ 47
5.1 测试环境 .......... 47
5.2 测试目的和方法 ........ 47
5.3 测试结果与分析 ........... 47
第五章 系统测试与分析
5.1 测试环境
为了验证本文所提出的具有审计功能的加密文件系统的设计方案及其实现方法,本文进行了一系列功能和性能上的测试。本章测试的主要目的是验证本文提出的具有审计功能的加密文件系统的设计方案及其实现方法的可行性,并且会测试系统的基本功能及其在测试环境下的运行情况。 本章首先会进行功能测试,具体方法为在命令行模式下对文件系统进行挂载和卸载,并使用文件系统的各种功能,如创建文件、读文件、写文件和删除文件等,同时观察其日志记录。最后会对系统做性能测试,并分析其结果和原因。本章进行了创建文件、读文件、写文件、删除文件、用户挂失以及查看日志等一系列的测试,充分地验证了本系统设计和实现的可行性。然后进行了性能测试,证明了系统在实现了的功能的同时,也保证了较高的性能。
.........
结论与展望
本文论述了一个具有审计功能的加密文件系统的设计与实现。在本课题的研究过程中,不仅借鉴了目前存在的几种主流加密文件系统的思想,并且针对它们的不足进行了改进。在认真研究了各种加密算法以及 FUSE 文件系统框架的基础上,完成了系统的设计,并成功地实现了原型。本文实现的具有审计功能的加密文件系统具有以下优点: 1)保证了文件系统中数据的安全与完整性。 首先,文件系统具有一套完善的密钥体系,所有文件都有不同的文件加密密钥,用户需要通过身份认证才能获取文件密钥,进而对文件进行操作;其次,当用户对文件进行操作时,系统会通过完整性验证来检查文件是否被非法篡改;最后,客户端与服务器端之间传输的数据包括文件加密密钥全部经过临时密钥加密,可以有效地防止第三方的窃取。 2)系统简单易用。 用户对文件进行的各种操作如:读、写文件、新建、删除文件等,都需要进行如获取文件密钥、加密解密、记录日志等操作,而这些过程都由加密文件系统代劳,使用户完全感觉不到底层加密文件系统的存在,直接通过原有的 Linux 操作接口即可操作加密过的文件。并且用户只需记住自己的口令即可使用文件系统,无需任何其它额外设备或密钥的支持。
........
参考文献:
- [1] 闫雪虎,宋晨. GOST和BLOWFISH两种分组密码算法的重构[J]. 通信技术. 2009(12)
- [2] 范恩魁,陈亚军. 基于Linux操作系统的系统调用分析[J]. 重庆科技学院学报(自然科学版). 2008(06)
- [3] 钟黔川,朱清新. Blowfish密码系统分析[J]. 计算机应用. 2007(12)
- [4] 张荣亮,余敏,余文斌. Linux文件系统内核机制分析与研究[J]. 计算机与现代化. 2007(12)
- [5] 李清俊,甘萌. 基于虚拟磁盘的文件加密方法[J]. 计算机工程与设计. 2006(15)
- [6] 胡萍,陈志鹏. 基于线程池的高性能服务器软件的设计和实现[J]. 计算机技术与发展. 2006(08)
- [7] 王华,马亮,顾明. 线程池技术研究与应用[J]. 计算机应用研究. 2005(11)
- [8] 黄革新. Windows加密文件系统核心技术分析[J]. 电脑与信息技术. 2005(04)
- [9] 魏达,刘衍珩,李晓东. 基于Diffie-Hellman密钥交换的Web安全传输[J]. 吉林大学学报(信息科学版). 2005(03)
- [10] 张文. 动态口令身份认证系统的设计与实现[J]. 微计算机信息. 2005(03)
本文编号:8826
本文链接:https://www.wllwen.com/shoufeilunwen/shuoshibiyelunwen/8826.html