发明名称 一种文件保护方法及系统
摘要 本发明公开了一种文件保护方法和系统,属于信息安全领域。该方法包括:应用程序接收用户发出的打开受保护文件的指令,所述应用程序调用操作系统的上层接口,所述上层接口向文件系统发出打开所述受保护文件的指令,过滤驱动截获所述上层接口向文件系统发出打开所述受保护文件的指令,如果判断得到所述应用程序合法,则所述过滤驱动为所述受保护文件在虚拟磁盘中创建影子文件,并返回影子文件的句柄,通过该句柄对受保护文件进行读写操作,克服了传统技术中缓存中的明文受保护文件容易泄露的缺点。
申请公布号 CN101853363B 申请公布日期 2012.08.08
申请号 CN201010172056.7 申请日期 2010.05.07
申请人 飞天诚信科技股份有限公司 发明人 陆舟;于华章
分类号 G06F21/24(2006.01)I;G06F17/30(2006.01)I 主分类号 G06F21/24(2006.01)I
代理机构 代理人
主权项 一种文件保护方法,其特征在于,所述方法包括:应用程序接收用户发出的对受保护文件进行操作的指令,所述受保护文件为经过加密并以密文形式保存在磁盘中的文件,所述对受保护文件进行操作的指令包括打开、读、写、关闭所述受保护文件的指令;接收到所述打开所述受保护文件的指令之后,打开所述受保护文件的操作包括:所述应用程序调用操作系统的上层接口,所述上层接口向文件系统发出打开所述受保护文件的指令;过滤驱动截获所述上层接口向文件系统发出的打开所述受保护文件的指令,并判断所述应用程序是否为合法应用程序;如果合法,所述过滤驱动读取受保护文件的属性信息,向所述文件系统发出在虚拟磁盘中创建所述受保护文件的影子文件的指令,所述文件系统通过虚拟磁盘驱动在所述虚拟磁盘中创建所述影子文件,所述操作系统向所述应用程序返回所述影子文件的句柄,引用计数值增加一个步长;如果不合法,所述操作系统在磁盘上找到所述受保护文件,并为所述受保护文件分配缓存空间,进行读取;其中,在所述虚拟磁盘中创建影子文件包括:所述过滤驱动通过所述文件系统读取所述受保护文件的属性信息,在所述虚拟磁盘中创建所述影子文件,为所述影子文件随机命名,并写入所述受保护文件的属性信息,所述影子文件的数据为空;或,所述过滤驱动通过所述文件系统读取所述受保护文件,并使用与主机连接的加密锁中存储的密钥对所述受保护文件进行解密,得到明文,将明文放入所述虚拟磁盘中作为影子文件的数据,并为所述影子文件随机命名,作为所述影 子文件;接收到所述读所述受保护文件的指令之后,读所述受保护文件的操作包括:所述应用程序发出根据所述句柄对文件进行读的指令;当所述影子文件的数据为空时,所述过滤驱动截获所述应用程序发出的根据所述句柄对文件进行读的指令,从磁盘中读取所述受保护文件的预定部分或全部,使用与所述主机连接的加密锁内存储的密钥对所述受保护文件的预定部分或全部进行解密,得到所述受保护文件的预定部分的明文或全部明文,所述操作系统为所述影子文件分配缓存空间,并将所述预定部分的明文或全部明文放入所述操作系统为所述影子文件分配的缓存空间中,建立文件映射关系,所述应用程序完成对所述受保护文件的读操作;当所述影子文件中的数据为受保护文件的明文时,所述过滤驱动截获所述应用程序发出的根据所述句柄对文件进行读的指令,通过所述虚拟磁盘驱动在所述虚拟磁盘中读取所述影子文件,所述操作系统为所述影子文件分配缓存空间,并将所述虚拟磁盘中的明文放入所述操作系统为所述影子文件分配的缓存空间中,所述应用程序完成对所述受保护文件的读操作;接收到所述写所述受保护文件的指令之后,写所述受保护文件的操作包括:所述应用程序发出根据所述句柄对文件进行写操作的指令;所述应用程序在所述操作系统为所述影子文件分配的缓存中完成对所述明文的受保护文件的写操作,所述写操作包括对所述受保护文件的插入新数据、修改、替换、编辑;所述过滤驱动对所述修改后的受保护文件进行加密操作并保存;接收到所述关闭所述受保护文件的指令之后,关闭所述受保护文件的操作包括:所述过滤驱动逐一关闭打开的所述影子文件的句柄,将所述引用计数值递减,递减后检查所述引用计数值,当所述引用计数值为初值时,删除所述影子文件。
地址 100085 北京海淀区学清路9号汇智大厦B座17层