一种基于用户空间文件系统的文件加密系统技术方案

技术编号:13273202 阅读:125 留言:0更新日期:2016-05-18 23:18
本发明专利技术涉及一种基于用户空间文件系统的加密文件系统,包括用户空间文件系统和文件重定向过滤器驱动;文件重定向过滤器驱动将程序进程针对安全文件盘或目录中一个文件的打开或创建操作重定向到用户空间文件系统中的一个虚拟文件;用户空间文件系统的FUSE用户空间进程将针对虚拟文件的文件I/O操作转化成针对重定向前的文件的文件I/O操作,并在文件I/O操作处理过程中根据程序进程是受信还是非受信进程自动进行文件加密和解密处理;用户空间文件系统的FUSE文件驱动不为被打开或创建的虚拟文件创建数据缓存,并将针对虚拟文件的所有I/O操作以非缓存方式处理;发明专利技术避免了缓存冗余、数据同步问题,简化了文件加密系统的实施。

【技术实现步骤摘要】

本专利技术属于信息安全
,特别是一种基于用户空间文件系统的文件加密系统
技术介绍
透明文件加密系统能在不改变用户使用习惯的情况下自动实现文件的加密和解密,是保证数据安全的重要技术手段。在透明文件加密中,对加密文件进行文件I/O操作的程序进程分为受信进程和非受信进程,受信进程被允许获取加密文件的明文数据,而非受信进程则不被允许。在目前的计算机文件系统中,为了提高文件I/O操作的效率,文件I/O操作大多是采用缓存方式,即文件系统在计算机内存中缓存程序进程读取和/或存写的数据,且不同程序进程对同一个文件进行文件I/o操作时它们在内存中的数据缓存是共享的。带缓存的文件I/o给透明文件加密带来了额外的问题:当受信进程和非受信进程同时对一个加密文件进行文件I/o操作时,特别是交替进行文件数据读取、存写操作时,缓存中会交替出现明文数据和密文数据,这样会带来如下问题:一是非受信进程有可能读取到明文数据,造成数据泄密,二是导致程序进程不能正确处理数据,比如受信进程读取的是密文数据而无法正常处理。为了解决这一问题,人们常用的解决方案是:在受信进程和非受信进程交替对同一个文件进行文件I/o操作时,不断地刷写(flush)、清空(clear)缓存数据。这种方案的问题是:一是要频繁的刷写、清空缓存,导致出现所谓暴力刷缓存、清缓存的问题,二是在受信进程和非受信进程交替读取、存写数据时,要正确处理缓存刷写、清空是非常困难的。针对透明文件加密存在的以上问题,本专利技术的申请人在其专利申请“一种基于桥文件系统的文件加密系统”(申请号:201510614005.8)中提出了一种以用户空间文件系统作为受信进程进行文件I/O操作的桥梁的透明文件加密方案,但此方案也存在如下不足:首先,存在冗余数据缓存及缓存数据不一致的问题,当一个受信进程以缓存文件I/o的方式打开或创建计算机文件系统中的一个安全文件盘或安全文件目录中的一个文件时,会存在两个数据缓存:一是受信进程在用户空间文件系统中打开或创建的文件的数据缓存,二是FUSE用户空间程序的程序进程在计算机文件系统中打开或创建的、受信进程在安全文件盘或安全文件目录中原本要打开或创建的文件的数据缓存;这种冗余的数据缓存不仅占用了较多的内存资源,特别是内核内存资源,而且会出现缓存数据不一致的情况:若非受信进程与受信进程打开或创建计算机文件系统中的一个安全文件盘或安全文件目录中的同一个文件,而非受信进程进行了数据存写操作,则非受信进程在计算机文件系统中打开或创建的文件的数据缓存与受信进程在用户空间文件系统打开或创建的文件的数据缓存中的数据会出现不一致的情况;其次,当一个非受信进程对全文件盘或安全文件目录中的一个文件进行数据存写操作时,文件加密过滤器驱动要判断存写的文件数据是明文还是密文,若是明文则要将数据加密后再进行存写,而在内核层进行这种判断和数据加密也是比较麻烦的,特别地,当一个非受信进程以内存映射方式打开或创建文件并存写明文数据时,文件加密过滤器驱动要及时进行加密处理更加困难;再有,当一个程序进程打开或创建安全文件盘或安全文件目录中的一个加密文件时,文件加密过滤器驱动要判断打开或创建文件的程序进程是受信进程还是非受信进程,并据此进行文件打开或创建操作重定向处理,而在内核层进行这种判断通常是比较麻烦的。另外,本专利技术的申请人在专利申请“一种基于多像文件的加密文件系统”(申请号:201510917010.6)的实施案例二中也描述了一种借助用户空间文件系统对安全文件盘或安全文件目录中的文件自动进行加密、解密的方案,这个方案存在的问题是:—是,要在用户空间文件系统构建一个多像文件系统,这比较麻烦;二是,存在冗余数据缓存,当受信进程和非受信进程打开或创建计算机文件系统中一个安全文件盘或安全文件目录中的同一个文件时,对同一个文件会存在多个数据缓存:文件在用户空间文件系统中被打开或创建的每个A像文件和B像文件都有自己的数据缓存,FUSE用户空间进程在计算机文件系统中打开或换件文件有数据缓存,进一步地,若A像文件有多个,则多个A像文件有多个数据缓存,这么多的数据缓存会造成内存资源的浪费,特别是内核内存资源的浪费;三是,要进行缓存数据同步,由于存在多个数据缓存,因此在出现文件信息修改和/或数据存写操作时,需要进行缓存数据的同步操作;四是,当一个程序进程打开或创建安全文件盘或安全文件目录中的一个加密文件时,文件重定向过滤器驱动要判断打开或创建文件的程序进程是受信进程还是非受信进程,并据此进行文件重定向处理,而在内核层进行这种判断通常是比较麻烦的。但是,我们可以注意到如下事实:一是,当将用户空间文件系统作为文件加密、解密的桥梁或工具时,在用户空间文件系统的文件数据缓存其实是没必要的,因为,程序进程要打开或创建的文件在计算机文件系统中已有数据缓存,二是,若在用户空间文件系统进行受信进程和非受信进程判别以及数据加密、解密处理,相应的技术实施将变得简单得多,本专利技术正是基于这两个事实。
技术实现思路
本专利技术的目的是提出一种基于用户空间文件系统的文件加密系统,以克服现有技术方案的不足。为了实现本专利技术的目的,本专利技术所提出的技术方案是:一种基于用户空间文件系统的文件加密系统,具体如下。所述文件加密系统是一个对用户计算机文件系统中的安全文件盘(磁盘逻辑分区)或安全文件目录中的文件自动进行加密和解密处理的系统;所述安全文件盘或安全文件目录是用户计算机文件系统中的一个文件盘或文件目录,存放在此文件盘或文件目录中的文件被所述文件加密系统加密成为加密文件;对所述安全文件盘或安全文件目录中的加密文件进行文件I/o操作的程序进程包括受信进程、非受信进程以及操作系统辅助文件I/O操作的系统进程(如Windows System进程);所述受信进程是操作系统辅助文件I/O操作的系统进程以外的被允许获取加密文件的明文数据的程序进程;所述非受信进程是操作系统辅助文件I/O操作的系统进程以外的不被允许取加密文件的明文数据的程序进程;受信进程和非受信进程针对文件类型而设定(如Word程序的运行进程是Word文档的受信进程,而Internet Explorer的运行进程则不是);操作系统辅助文件I/O操作的系统进程不属于任一种文件类型的受信进程和非受信进程;当操作系统辅助文件I/O操作的系统进程辅助一个非受信进程对一个加密文件进行文件I/O操作时,操作系统辅助文件I/O操作的系统进程不被允许获取加密文件的明文数据;当操作系统辅助文件I/O操作的系统进程辅助一个受信进程对一个加密文件进行文件I/O操作时,操作系统辅助文件I/O操作的系统进程被允许获取加密文件的明文数据(操作系统辅助文件I/o操作的系统进程辅助一个程序进程所进行的文件I/o操作是被辅助的程序进程所进行的文件I/O操作的人一部分);对所述安全文件盘(磁盘逻辑分区)或安全文件目录中的文件自动进行加密和解密处理的所述文件加密系统又包括用户空间文件系统和文件重定向过滤器驱动,其中:用户空间文件系统:一个采用用户空间文件系统(UserSpace File System,FUSE)技术开发、用于对安全文件盘或安全文件目录中的文件进行加密和解密处理的系统;所述用户空间文件系统在用户计算机系统中本文档来自技高网
...
一种基于用户空间文件系统的文件加密系统

【技术保护点】
一种基于用户空间文件系统的文件加密系统,其特征是:所述文件加密系统是一个对用户计算机文件系统中的安全文件盘或安全文件目录中的文件自动进行加密和解密处理的系统;所述安全文件盘或安全文件目录是用户计算机文件系统中的一个文件盘或文件目录,存放在此文件盘或文件目录中的文件被所述文件加密系统加密成为加密文件;对所述安全文件盘或安全文件目录中的加密文件进行文件I/O操作的程序进程包括受信进程、非受信进程以及操作系统辅助文件I/O操作的系统进程;所述受信进程是操作系统辅助文件I/O操作的系统进程以外的被允许获取加密文件的明文数据的程序进程;所述非受信进程是操作系统辅助文件I/O操作的系统进程以外的不被允许取加密文件的明文数据的程序进程;受信进程和非受信进程针对文件类型而设定;操作系统辅助文件I/O操作的系统进程不属于任一种文件类型的受信进程和非受信进程;当操作系统辅助文件I/O操作的系统进程辅助一个非受信进程对一个加密文件进行文件I/O操作时,操作系统辅助文件I/O操作的系统进程不被允许获取加密文件的明文数据;当操作系统辅助文件I/O操作的系统进程辅助一个受信进程对一个加密文件进行文件I/O操作时,操作系统辅助文件I/O操作的系统进程被允许获取加密文件的明文数据;对所述安全文件盘或安全文件目录中的文件自动进行加密和解密处理的所述文件加密系统又包括用户空间文件系统和文件重定向过滤器驱动,其中:用户空间文件系统:一个采用用户空间文件系统技术开发、用于对安全文件盘或安全文件目录中的文件进行加密和解密处理的系统;所述用户空间文件系统在用户计算机系统中对应一个文件盘或文件目录,即表现为一个文件盘或文件目录;所述用户空间文件系统对应的文件盘或文件目录称为虚拟文件盘或虚拟文件目录;所述虚拟文件盘或虚拟文件目录中的文件称为虚拟文件;所述用户空间文件系统又包括FUSE文件驱动、FUSE用户空间程序,其中,FUSE文件驱动是所述用户空间文件系统的文件驱动,FUSE用户空间程序是用户空间文件系统中对文件I/O操作请求进行处理的用户空间程序;FUSE用户空间程序的程序进程称为FUSE用户空间进程;当一个程序进程请求以缓存I/O方式打开或创建虚拟文件盘或虚拟文件目录中的一个虚拟文件时,所述用户空间文件系统的FUSE文件驱动不为打开或创建的虚拟文件在内存中创建数据缓存,即:即便程序进程请求以缓存I/O方式打开或创建虚拟文件,FUSE文件驱动也不为打开或创建的虚拟文件创建数据缓存;对于程序进程针对被打开或创建的虚拟文件进行的所有文件I/O操作,所述用户空间文件系统的FUSE文件驱动按非缓存I/O的方式进行响应处理,即:FUSE文件驱动将针对虚拟文件的所有文件I/O操作请求,包括数据读取和存写、文件信息设置和查询,都提交到FUSE用户空间进程进行处理;文件重定向过滤器驱动:一个拦截文件I/O操作请求并进行文件I/O操作重定向处理的文件过滤器驱动类型的驱动;当一个程序进程针对安全文件盘或安全文件目录中的一个文件进行文件打开或创建操作时,所述文件重定向过滤器驱动将文件打开或创建操作重定向到用户空间文件系统所对应的虚拟文件盘或虚拟文件目录中的一个虚拟文件;重定向后的虚拟文件的文件路径中包含有重定向前程序进程要打开或创建的文件的文件路径信息;重定向前的文件同重定向后的虚拟文件之间存在一一对应的关系;重定向前的文件称为重定向后的虚拟文件的对应原文件;程序进程在所述安全文件盘或安全文件目录中要打开或创建、并被重定向的文件包括普通文件和文件目录,而文件目录又包括安全文件盘或安全文件目录自身及安全文件盘或安全文件目录的下级文件目录;当接收到一个程序进程针对虚拟文件盘或虚拟文件目录中的一个虚拟文件进行文件打开或创建的操作请求后,所述用户空间文件系统的FUSE用户空间进程从程序进程请求打开或创建的虚拟文件的文件路径中获得重定向前的原文件的文件路径,然后按请求中给出的文件打开或创建方式打开或创建虚拟文件对应的重定向前的原文件,之后将针对虚拟文件的文件I/O操作转化为针对重定向前的原文件的文件I/O操作;特别地:当所述用户空间文件系统的FUSE用户空间进程打开或创建安全文件盘或安全文件目录中的原文件时,若检查发现打开或创建的原文件是非加密的文件,则将非加密的原文件加密成加密的文件;当一个程序进程对一个受信进程打开或创建的虚拟文件进行数据读取操作时,所述用户空间文件系统的FUSE用户空间进程将从虚拟文件的对应原文件读取的加密数据解密后再返回;当一个程序进程对一个受信进程打开或创建的虚拟文件进行数据存写操作时,所述用户空间文件系统的FUSE用户空间进程将要存写的明文数据加密后再存写到虚拟文件的对应原文件;当一个程序进程对一个非受信进程打开或创建的文件进行数据读取操作时,所述用户空间文件系统的FUSE...

【技术特征摘要】

【专利技术属性】
技术研发人员:龙毅宏
申请(专利权)人:武汉理工大学
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1