增加文件头的文件透明加密方法

文档序号:6581272阅读:601来源:国知局
专利名称:增加文件头的文件透明加密方法
技术领域
本发明应用于数据加密领域,尤其是文件加密。使用加文件头的方法加密文件,可
以在不改变用户使用习惯的情况下,实现数据的加密和保护。本发明可以应用于主动的数 据安全保护和被动的数据安全保护。
背景技术
当今,对于计算机上系统的安全性的威胁是来自多方面的,黑客和木马给企业带
来的损失,难以估量。数据显示,我国每年因网络泄密导致的经济损失高达上百亿。 信息技术的不断发展,使网络资源的双刃剑日渐凸显。来自网络的安全威胁日益
严重,如网络数据窃贼、黑客侵袭、病毒发布,甚至系统内部泄密,已经使信息安全成为各行
业信息化建设中的首要问题。 据国家安全部门负责人透露,有63.6%的企业用户处于"高度风险"级别,因此,网 络安全技术作为一个独特的领域越来越受到各个行业的关注。 如果网络信息安全得不到有效保障,企业将面临网络无法正常使用、文件丢失或 损毁、生产及管理系统瘫痪、服务器及客户端硬件设施损坏、机密信息和知识产权被盗等多 方面的威胁,而这些,都会给企业带来直接的经济损失。 在信息安全领域中,加密敏感信息,必然成为数据存储一个不可或缺的必要环节。
现有的解决方法是,对文件手动加密,和针对特定进程,开发应用层的HOOK模块, 修改文件读写行为。手动加密方法的缺陷在于,如果员工忘记手动加密或者员工恶意不去 手动加密,就会带来泄密的风险。应用层HOOK模块缺陷在于,兼容性很差,无法支持许多程 序的加密。

发明内容
本发明的目的是提供一种加文件头方式,实现通用的文件透明加密方法。
本发明的技术方案是
1首先对整个系统初始化 设定进程匹配规则和文件匹配规则以及加密密钥; 使用应用层程序扫描全盘,在需要加密的文件前面增加一个固定大小的标志文件
头,并将文件头后的数据加密。
2正常工作时的工作流程 内核模块拦截文件操作,并识别是否是满足进程匹配规则和文件匹配规则的文 件,不是则不做任何处理;如果是则走下面的流程。 针对没有加密的文件,内核模块给文件补充一个文件头,并将文件头后的数据加 密; 针对加密文件,内核模块将与偏移量有关的10操作都偏移一个文件头大小处理;
针对加密文件,内核模块对写入磁盘的数据加密,对读入内存的数据解密。
由于使用内核驱动模块实现,可以通过修改匹配规则,对指定程序所访问的指定
后缀类型的文件进行加密,不需要员工手动加密,兼容性也比应用层HOOK要好。 由于使用的是加文件头的方式,加密标志可以稳定地被保存在文件内,不存在掉
电导致加密标志信息损坏的问题。 由于使用的是按照进程为识别规则的加密方式,不同的进程看到的数据映像是不 一样的。解密进程可以看到解密数据,但非解密进程看到是没有解密的数据。这种按照进 程的数据隔离方式,可以阻止黑客、木马等程序产生的数据泄漏。


图1 :系统初始化流程
图2 :系统正常运行时的流程
图3 :具体实施图示
具体实施例方式
基于文件头的文件透明加密的软硬件构成如下 PC机、加文件头的透明加密软件、windows系统。如图3所示,整个系统的运行过 程如下 步骤1 :使用"进程匹配文件匹配加密密钥设置工具"配置加密规则,什么进程操 作什么文件加密。 步骤2 :使用"进程匹配文件匹配加密密钥设置工具",使用前面的文件匹配规则, 遍历整个计算机,对需要加密的文件增加一个文件头,并对内容加密。
步骤3 :用户正常按照以前的方式使用计算机。当指定的进程打开一个加密文件
时,内核模块自动读取文件头,提取解密信息,匹配访问规则中的密钥信息,对读入内存的
数据解密,对写入磁盘的数据加密。当指定的进程打开一个未加密的文件或者是新建文件
(包含覆盖)时,内核模块自动将未加密的文件增加文件头,将内容加密;然后将写入磁盘
的数据加密,读入内存的数据解密。
下面就相关问题介绍如下 1文件头 文件头内存在一个标记,标记一个文件是否已经被加密,并保存一些附加的其他 信息;文件头内存在一个随机密钥,用于加密数据;用户密钥对文件头加密。
2文件识别 使用文件后缀,目录,或通配符的组合来实现。支持对单个文件的加密,也支持对 一个类型的文件加密,也支持对一个目录下的文件加密。
3进程识别 使用进程名识别或者进程全路径识别,或者可执行文件的特征码来识别。
4文件头解密 解密后,内部的标记与计算出的标记一致。
510请求的截获与处理 I/O请求的截获是在内核层实现的。对于I/O请求存在三种情况
第一种I/0请求(如查询文件属性)是不需要拦截的,对于这种IO请求,直接下 发就可以了。 第二种对于文件的CACHE方式读写的IRP(IO Request Packet),直接放过。
第三种对于文件的非CACHE方式读写的IRP (10 Request Packet),将读写偏转 一个文件头的位置,然后将写入数据加密,将读出的数据解密。
6文件的解密状态和加密状态的切换 当一个文件在内存中由解密变成加密,或者反过来的时候,需要使用清缓存 (CACHE)的方式,将内存中缓存的数据都刷新到磁盘上,销毁缓存。然后让系统重新构建缓 存。 7应用领域 Windows系统下的参考实现 本发明已经在WINDOWS XP系统上成功应用,其具体的系统组成如下Windows XPProfessional (sp3);本发明的用户界面程序和驱动程序。
流程说明如下 本发明在Windows下包含了用户级和内核级两层调用;
用户级调用的主要函数包括 SetPolicyToDriver :负责将进程匹配和文件匹配的规则下发到驱动内; ScanFileAndEncrypt::负责扫描整个硬盘,将需要加密的文件加文件头,并加密
文件数据。 操作流程如下
初始化 策略设置工具调用SetPolicyToDriver将策略设置到驱动; 策略设置工具调用ScanFileAndEncrypt扫描全盘,将该加密的文件加上文件头,
并把数据加密。 正常运行 用户按照以往的方式操作常用软件。
权利要求
增加文件头的文件透明加密方法,其特征是包含以下步骤初始化时,设置进程和文件的匹配规则;初始化时,扫描整个硬盘,按照文件匹配规则将需要加密的文件加密;正常运行时,内核模块在发现指定的进程访问一个文件但这个文件没有加密,自动增加一个文件头,并将文件头后的数据加密;正常运行时,内核模块发现指定的进程打开一个加密文件,使用标志校验文件头的合法性;正常运行时,内核模块对于加密文件,与偏移量有关的IO操作需要加一个偏移量;正常运行时,内核模块对于加密文件,读入内存的数据解密,写入磁盘的数据加密。
2. 根据权利1要求的增加文件头的方法,其特征在于第一次使用的时候,对用户指定的文件夹进行扫描加密所有需要加密的文件,需要加 文件头;在用户正常使用过程中,对于以前没有加密的文件,由驱动自动增加文件头; 对于已经加密的文件,内核模块使用文件头内的数据做合法性校验。
3. 根据权利1所述的IO操作偏移的方法,其特征在于对于写入磁盘的IO都需要偏移,偏移量为一个文件头大小; 对于不是写入磁盘的IO,则不需要偏移;对于应用程序需要看到的文件大小,需要减掉一个文件头大小。
4. 根据权利1所述的基于加密方法,其特征在于对于写入磁盘的数据,增加一个文件头位移后,将数据加密写入磁盘; 对于从磁盘读出的数据,增加一个文件位移后,将数据读出并解密。
5. 基于权利1所述的过滤文件的方法,其特征在于 使用通配符识别文件名。
6. 基于权利1所述的过滤进程的方法,其特征在于使用通配符匹配进程名或者使用进程的可执行程序文件的特征码来识别进程。
全文摘要
本发明涉及一种可以实现增加文件头的文件透明加密方法。方法含有如下步骤设置进程和文件的匹配规则;扫描整个硬盘,将需要加密的文件加密;内核模块在发现一个文件需要加密但没有加密时,自动增加一个文件头,并将文件头后的数据加密;对于指定的进程访问加密文件,与偏移量有关的IO都加一个偏移量,读入内存的数据解密,写入磁盘的数据加密。
文档编号G06F21/24GK101751536SQ20091018887
公开日2010年6月23日 申请日期2009年12月16日 优先权日2009年12月16日
发明者于泳涛, 卓勇, 胡跃 申请人:深圳市虹安信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1