一种基于多像文件的加密文件系统技术方案

技术编号:13180949 阅读:38 留言:0更新日期:2016-05-11 12:54
本发明专利技术涉及一种基于多像文件的加密文件系统,所述加密文件系统中的每个文件有多个文件映像:一个主像文件,多个A像文件以及一个B像文件;当一个非受信进程打开或创建一个主像文件时,文件打开或创建操作被重定向到一个对应A像文件,且不同非受信进程针对同一个主像文件重定向后的A像文件不相同;当一个受信进程打开或创建一个主像文件时,文件打开或创建操作被重定向到对应B像文件;加密文件系统将针对A像文件和B像文件的I/O操作转化为针对对应原文件的操作,并在操作过程中自动进行文件加密、解密处理;本发明专利技术不但避免了受信进程和非受信进程的缓存数据混合,而且避免非受信进程间由于数据存写操作而可能出现的明文数据泄露。

【技术实现步骤摘要】

本专利技术属于信息安全
,特别是一种基于多像文件的加密文件系统
技术介绍
透明文件加密系统能在不改变用户使用习惯的情况下自动实现文件的加密和解密,是保证数据安全的重要技术手段。在透明文件加密中,对加密文件进行文件I/O操作的程序进程分为受信进程和非受信进程,受信进程被允许获取加密文件的明文数据,而非受信进程则不被允许。在目前的计算机文件系统中,为了提高文件I/O操作的效率,文件I/O操作大多是采用缓存方式,即文件系统在计算机内存中缓存程序进程读取和/或存写的数据,且不同程序进程对同一个文件进行文件I/o操作时它们在内存中的数据缓存是共享的。带缓存的文件I/o给透明文件加密带来了额外的问题:当受信进程和非受信进程同时对一个加密文件进行文件I/o操作时,特别是交替进行文件数据读取、存写操作时,缓存中会交替出现明文数据和密文数据,这样会带来如下问题:一是非受信进程有可能读取到明文数据,造成数据泄密,二是导致程序进程不能正确处理数据,比如受信进程读取的是密文数据而无法正常处理。为了解决这一问题,人们常用的解决方案是:在受信进程和非受信进程交替对同一个文件进行文件I/o操作时,不断地刷写(flush)、清空(clear)缓存数据。这种方案的问题是:一是要频繁的刷写、清空缓存,导致出现所谓暴力刷缓存、清缓存的问题,二是在受信进程和非受信进程交替读取、存写数据时,要正确处理缓存刷写、清空是非常困难的。针对透明文件加密存在的以上问题,本专利技术的申请人在其专利申请“一种基于双像文件的加密文件系统”(专利申请号:201510690514.9)中提出了一种基于双像文件的解决方案,基于此方案,受信进程和非受信进程各自使用自己独立的缓存,从而在出现受信进程和非受信进程对同一个文件进行文件I/O操作的情况下能有效地避免频繁刷缓存、清缓存(仅在很少的情况下要进行清缓存)。但专利申请201510690514.9中的方案也存在如下问题:一个非受信进程存写的文件数据有可能是明文数据(比如,浏览器下载、保存一个未加密的Word文档),这样在多个非受信进程对正在存写的文件进行文件I/O操作有可能出现数据泄露。对此问题的一种解决方案是:由双像加密文件系统的文件驱动或额外引入的一个文件过滤器在发现非受信进程存写的文件数据是明文数据时立即对明文数据进行加密。但这种解决方案一是太麻烦,二是不能完全解决数据泄露问题,比如,当非受信进程是以内存映射方式打开或创建文件并存写明文数据时,双像加密文件系统的文件驱动或额外引入的文件过滤器发现内存中的缓存的数据是明文数据时候可能已经晚了,缓存中的明文数据可能已被其他非受信进程读取了(虽然这种机率非常小)。
技术实现思路
本专利技术的目的是提出一种基于多像文件的加密文件系统,以克服现有技术方案的不足。为了实现本专利技术的目的,本专利技术所提出的技术方案是:—种基于多像文件的加密文件系统,所述系统如下:所述加密文件系统中存储管理的每个文件是加密的文件;所述加密文件系统在计算机系统中对应(或装载mount为)一个文件盘或文件目录(即显示为一个文件盘或文件目录);所述加密文件系统中存储管理的每个文件在加密文件系统所对应的文件盘或文件目录中有多个文件映像:一个主像文件,多个A像文件以及一个B像文件,其中,主像文件是程序进程进行文件I/O操作直接针对的文件(除非重定向,程序进程不主动针对A像文件和B像文件直接进行文件I/O操作,用户也感受不到多个文件映像的存在);主像文件、A像文件和B像文件在加密文件系统中的对应文件(即加密文件)称为主像文件、A像文件和B像文件对应的原文件;主像文件、A像文件和B像文件与对应的原文件具有一样的文件名和文件类型(SP文件扩展名);所述加密文件系统中的一个(原)文件所对应的A像文件的个数没有限制(理论上可以有无穷多个);所述加密文件系统中存储管理的每个文件目录在加密文件系统所对应的文件盘或文件目录中同样有多个文件目录映像:一个主像文件目录,一个A像文件目录以及一个B像文件目录;主像文件目录、A像文件目录和B像文件目录在加密文件系统中的对应文件目录称为主像文件目录、A像文件目录和B像文件目录所对应的原文件目录(文件目录是实际上是一种特别的文件,可以不单独列出来处理,在此单独列出来处理提供更多的灵活性);对所述加密文件系统中的加密文件(即原文件)进行文件I/O操作的程序进程包括受信进程、非受信进程和操作系统辅助文件I/O操作的系统进程(如Windows System进程);所述受信进程是操作系统辅助文件I/O操作的系统进程以外的被允许获取加密文件的明文数据的程序进程;所述非受信进程是操作系统辅助文件I/O操作的系统进程以外的不被允许取加密文件的明文数据的程序进程;受信进程和非受信进程针对文件类型而设定(如Word程序的运行进程是Word文档的受信进程,而Internet Explorer的运行进程则是Word文档的非受信进程);操作系统辅助文件1/0操作的系统进程不属于任一种文件类型的受信进程和非受信进程;当操作系统辅助文件1/0操作的系统进程辅助一个非受信进程对一个对应文件类型(即非受信进程定义所针对的文件类型)的加密文件进行文件1/0操作时,操作系统辅助文件1/0操作的系统进程不被允许获取加密文件的明文数据;当操作系统辅助文件1/0操作的系统进程辅助一个受信进程对一个对应文件类型(即受信进程定义所针对的文件类型)的加密文件进行文件I/o操作时,操作系统辅助文件1/0操作的系统进程被允许获取加密文件的明文数据(操作系统辅助文件I/o操作的系统进程辅助一个程序进程所进行的文件I/o操作是被辅助的程序进程所进行的文件1/0操作的一部分);非受信进程仅被允许对对应文件类型(S卩非受信进程定义所针对的文件类型)的原文件所对应的A像文件进行文件1/0操作;受信进程仅被允许对对应文件类型(即受信进程定义所针对的文件类型)的原文件所对应的B像文件进行文件1/0操作(比如Word文档的受信进程,如Word程序进程,仅被允许对一个Word文档的B像文件进行文件1/0操作,而Word文档的非受信进程,Internet Explorer的程序进程,仅被允许对一个Word文档的A像文件进行文件1/0操作);操作系统辅助文件1/0操作的系统进程被允许对任一种文件类型的原文件的A像文件和B像文件进行文件1/0操作;当一个非受信进程对加密文件系统所对应的文件盘或文件目录中的一个对应文件类型(B卩非受信进程定义所针对的文件类型)的主像文件进行文件打开或创建操作时,所述加密文件系统将非受信进程的文件打开或创建操作重定向到主像文件所对应的原文件的一个A像文件(即转化为针对一个A像文件的文件打开或创建操作);不同非受信进程重针对同一个主像文件进行的文件打开或创建操作经重定向后的A像文件各不相同;当接收到一个非受信进程对一个对应文件类型的A像文件进行文件打开或创建操作的请求后,所述加密文件系统将针对A像文件的文件打开或创建操作转化成针对A像文件的对应原文件的文件打开或创建操作;当接收到一个程序进程(非受信进程或操作系统辅助文件I/O操作的系统进程)对一个已打开或创建的A像文件进行文件I/O操作的请求后,所述加密文件系统将本文档来自技高网
...

【技术保护点】
一种基于多像文件的加密文件系统,其特征是:所述加密文件系统中存储管理的每个文件是加密的文件;所述加密文件系统在计算机系统中对应一个文件盘或文件目录;所述加密文件系统中存储管理的每个文件在加密文件系统所对应的文件盘或文件目录中有多个文件映像:一个主像文件,多个A像文件以及一个B像文件,其中,主像文件是程序进程进行文件I/O操作直接针对的文件;主像文件、A像文件和B像文件在加密文件系统中的对应文件称为主像文件、A像文件和B像文件对应的原文件;主像文件、A像文件和B像文件与对应的原文件具有一样的文件名和文件类型;所述加密文件系统中的一个文件所对应的A像文件的个数没有限制;所述加密文件系统中存储管理的每个文件目录在加密文件系统所对应的文件盘或文件目录中同样有多个文件目录映像:一个主像文件目录,一个A像文件目录以及一个B像文件目录;主像文件目录、A像文件目录和B像文件目录在加密文件系统中的对应文件目录称为主像文件目录、A像文件目录和B像文件目录所对应的原文件目录;对所述加密文件系统中的加密文件进行文件I/O操作的程序进程包括受信进程、非受信进程和操作系统辅助文件I/O操作的系统进程;所述受信进程是操作系统辅助文件I/O操作的系统进程以外的被允许获取加密文件的明文数据的程序进程;所述非受信进程是操作系统辅助文件I/O操作的系统进程以外的不被允许取加密文件的明文数据的程序进程;受信进程和非受信进程针对文件类型而设定;操作系统辅助文件I/O操作的系统进程不属于任一种文件类型的受信进程和非受信进程;当操作系统辅助文件I/O操作的系统进程辅助一个非受信进程对一个对应文件类型的加密文件进行文件I/O操作时,操作系统辅助文件I/O操作的系统进程不被允许获取加密文件的明文数据;当操作系统辅助文件I/O操作的系统进程辅助一个受信进程对一个对应文件类型的加密文件进行文件I/O操作时,操作系统辅助文件I/O操作的系统进程被允许获取加密文件的明文数据;非受信进程仅被允许对对应文件类型的原文件所对应的A像文件进行文件I/O操作;受信进程仅被允许对对应文件类型的原文件所对应的B像文件进行文件I/O操作;操作系统辅助文件I/O操作的系统进程被允许对任一种文件类型的原文件的A像文件和B像文件进行文件I/O操作;当一个非受信进程对加密文件系统所对应的文件盘或文件目录中的一个对应文件类型的主像文件进行文件打开或创建操作时,所述加密文件系统将非受信进程的文件打开或创建操作重定向到主像文件所对应的原文件的一个A像文件;不同非受信进程重针对同一个主像文件进行的文件打开或创建操作经重定向后的A像文件各不相同;当接收到一个非受信进程对一个对应文件类型的A像文件进行文件打开或创建操作的请求后,所述加密文件系统将针对A像文件的文件打开或创建操作转化成针对A像文件的对应原文件的文件打开或创建操作;当接收到一个程序进程对一个已打开或创建的A像文件进行文件I/O操作的请求后,所述加密文件系统将针对A像文件的文件I/O操作转化成针对A像文件的对应原文件的文件I/O操作;特别地:当针对A像文件的文件I/O操作是数据存写操作时,若所述加密文件系统检查发现要存写的数据是明文数据,则所述加密文件系统先将明文数据加密后再存写到A像文件的对应原文件;当一个受信进程对加密文件系统所对应的文件盘或文件目录中的一个对应文件类型的主像文件进行文件打开或创建操作时,所述加密文件系统将受信进程的文件打开或创建操作重定向到主像文件所对应的原文件的B像文件;当接收到一个受信进程对一个对应文件类型的B像文件进行文件打开或创建操作的请求后,所述加密文件系统将针对B像文件的文件打开或创建操作转化成针对B像文件的对应原文件的文件打开或创建操作;当接收到一个程序进程对一个已打开或创建的B像文件进行文件I/O操作的请求后,所述加密文件系统将针对B像文件的文件I/O操作转化成针对B像文件的对应原文件的文件I/O操作;特别地:当针对B像文件的文件I/O操作是读取数据时,所述加密文件系统将从B像文件对应的原文件读取的加密数据解密成明文数据后再返回;当针对B像文件的文件I/O操作是存写数据时,所述加密文件系统将要存写的明文数据加密后再存写到B像文件对应的原文件;当一个程序进程对加密文件系统所对应的文件盘或文件目录中的一个主像文件目录进行文件目录打开或创建操作时,所述加密文件系统不将针对主像文件目录的打开或创建操作进行重定向,直接将程序进程针对主像文件目录的文件目录I/O操作转化成针对主像文件目录的对应原文件目录的文件目录I/O操作;或者,当一个程序进程对加密文件系统所对应的文件盘或文件目录中的一个主像文件目录进行文件目录打开或创建操作时,所述加密文件系统将程序进程打开或创建主像文件目录的操作重定向到要打开或创建的主像文件目录所对应的原文件目...

【技术特征摘要】

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

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

1