一种基于智能动态驱动层的透明加解密方法与流程

文档序号:11951618阅读:566来源:国知局
一种基于智能动态驱动层的透明加解密方法与流程

本发明涉及数据安全领域,特别是涉及一种基于智能动态驱动层的透明加解密方法。



背景技术:

当今,对于计算机上系统的安全性的威胁是来自多方面的,黑客和木马给企业带来的损失,难以估量。数据显示,我国每年因网络泄密导致的经济损失高达上百亿。

随着信息技术的不断发展,使网络资源的双刃剑日渐凸显。来自网络的安全威胁日益严重,如网络数据窃贼、黑客侵袭、病毒发布,甚至系统内部泄密,已经使信息安全成为各行业信息化建设中的首要问题。

据国家安全部门负责人透露,有63.6%的企业用户处于“高度风险”级别,因此,网络安全技术作为一个独特的领域越来越受到各个行业的关注。如果网络信息安全得不到有效保障,企业将面临网络无法正常使用、文件丢失或损毁、生产及管理系统瘫痪、服务器及客户端硬件设施损坏、机密信息和知识产权被盗等多方面的威胁,而这些,都会给企业带来直接的经济损失。

在信息安全领域中,加解密敏感信息,必然成为文件存储一个不可或缺的必要环节。目前市场上已经有很多透明加解密的安全产品实现了对数字内容的保护,但存在着各种各样的不足和缺陷:1、安全系数低;大数产品采用在操作系统用户态完成加解密操作,这种方式安全性低,会造成数字内容在使用过程中“明文落地”,即明文内容存储在磁盘上的情况,易造成机密信息的失密和泄露;2、速度慢;由于在操作系统用户态完成的加解密操作,其手工操作费时费力,需要用户精心处理,导致处理文件效率不够高,甚至对文件本身造成一定的影响。

有鉴于此,本发明人专门设计了一种基于智能动态驱动层的透明加解密方法,本案由此产生。



技术实现要素:

本发明的第一目的在于提供一种基于智能动态驱动层的透明加解密方法,以加强存储文件的安全性和提高加解密的操作效率。

本发明的第二目的在于提供一种基于智能动态驱动层的透明加解密方法,以确保文件本身不受加解密影响且正常运行。

为了实现上述目的,本发明采用的技术方案如下:

一种基于智能动态驱动层的透明加解密方法,包括以下步骤:

S01:利用驱动加密技术,通过过滤不同的IRP请求包,将IRP送到不同的处理逻辑;

S02:在不同的处理逻辑中按IRP请求结果,判定所产生的句柄是否需要进行加解密处理,并依据判断结果对不同的处理逻辑采取相应的处理措施。

所述过滤不同的IRP请求包,将IRP送到不同的处理逻辑具体包括:过滤IRP_MJ_OPEN、IRP_MJ_CREATE到文件读取逻辑,过滤IRP_MJ_CLOSE、IRP_MJ_CLEANUP到句柄消亡逻辑,过滤IRP_MJ_WRITE到文件写入逻辑,过滤IRP_MJ_FILE_SYSTEM_CONTROL到驱动控制逻辑以及过滤其他IRP请求到通过。

所述文件读取逻辑中具体包括以下步骤:

A01:获取句柄对应的节点;

A02:判断句柄是否需要进行加解密处理,若该句柄需要进行加解密处理,则按内存节点中该句柄对应的加解密参数进行解密处理,并将该判定结果记录在内存中,维护当前句柄列表。

所述文件写入逻辑具体包括以下步骤:

B21:获取句柄对应的节点;

B22:判断句柄是否需要进行加解密处理,若该句柄需要进行加解密处理,则按内存节点中该句柄对应的加解密参数进行加密处理;若该句柄无需进行加解密处理,则执行下一步骤;

B23:判断文件是否属于需要加密的文件,若该文件属于需要加密的文件,则将文件路径及本次操作的进程名均添加到日志列表,等待驱动控制逻辑的处理。

所述步骤B22中,若该句柄需要进行加解密处理,则判断文件写入的位置是否为文件的第一个512字节,若文件写入的位置为文件的第一个512字节,则对该512字节的内容进行压缩和加密,并在压缩密文前附加上加密标志和压缩内容长度,完成写入;若文件写入的位置不是文件的第一个512字节,则直接加密写入。

在所述驱动控制逻辑中,按传入缓冲区的内容区分不同的控制业务,若控制业务为待加密文件日志提取业务,从日志列表中获取请求数量的条数到传出缓冲区中。

基于智能动态驱动层的透明加解密方法还包括应用层加密模块,该应用层加密模块向驱动层获取需加密的文件日志,并判断对应的文件是否需要加密。

采用上述方案后,本发明具有以下几个优点:

一、本发明突破了现有加解密技术,结合计算机智能化原理,通过计算机底层操作系统实现了以智能化策略对计算机外围各种存储设备上的数据进行自动实时灵活的加密解密,达到了不用人为干涉而是根据各种安全管理策略,完全实现对信息数据的安全保管、安全使用,防止信息涉密,从而克服了过去安全类产品无法克服的问题;

二、本发明的加解密操作是完全动态的,无需依靠用户手动操作,不仅节省了用户时间,提高文件处理的效率,避免因用户误操作而造成无法挽回的后果发生,而且达到了保护文件的目的,显著地提高了安全系数;

三、本发明整个加解密操作完全是驱动级的,只要用户有改写磁盘的操作,那么预先选定的文件类型就会被自动加密或解密,用户感觉不到加解密过程的存在,不仅无需用户手动加密和解密的操作,而且该种加密方式不影响文件打开时间以及文件的大小,有效地确保文件正常运行。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明过滤IRP请求包流程示意图;

图2是本发明文件写入逻辑的处理流程示意图。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

如图1和图2所示,本发明提供一种基于智能动态驱动层的透明加解密方法,包括以下步骤:

S01:利用驱动加密技术,通过过滤不同的IRP请求包,将IRP送到不同的处理逻辑;

S02:在不同的处理逻辑中按IRP请求结果,判定所产生的句柄是否需要进行加解密处理,并依据判断结果对不同的处理逻辑采取相应的处理措施。

在本实施例中,驱动加密技术是基于windows的文件系统(过滤)驱动(IFS)技术,其工作在windows的内核层。我们在安装计算机硬件时,经常要安装其驱动,如打印机、U盘的驱动。文件系统驱动就是把文件作为一种设备来处理的一种虚拟驱动,当应用程序对某种后缀文件进行操作时,文件驱动会监控到程序的操作,并改变其操作方式,从而达到透明加密的效果。

驱动加密技术与应用程序无关,其工作于windows API函数的下层。当API函数对指定类型文件进行写操作时,系统自动将文件解密;当进入写操作时,自动将明文进行加密。由于其工作在受windows保护的内核层,运行速度更快,加解密操作更稳定。

驱动加密要达到文件保密的目的,还必须与用户层的应用程序交互,通知系统哪些程序是合法的程序,哪些程序是非法的程序。

驱动加密技术工作在内核层,随着Windows开机而运行,在运行过程中不会被恶意停止。驱动层加解密动作都是在文件打开的时候动态解密,文件保存的时候自动加密,不产生临时文件,安全性更好,效率更高。

每一个物理设备对应着多个驱动设备对象,而这些驱动设备对象是按分层结构堆叠的。每一层只能同上层和下层进行服务请求交互,这些服务请求信息被统一设计为IRP(I/O Request Package,即输入输出请求包)。每一个驱动设备对象处理IRP完一次,完成一次服务。这些设备对象根据目的的不同,被设计为不同的功能。

为了进一步提高存储文件的安全性,上述过滤不同的IRP请求包,将IRP送到不同的处理逻辑具体包括:过滤IRP_MJ_OPEN、IRP_MJ_CREATE到文件读取逻辑,过滤IRP_MJ_CLOSE、IRP_MJ_CLEANUP到句柄消亡逻辑,过滤IRP_MJ_WRITE到文件写入逻辑,过滤IRP_MJ_FILE_SYSTEM_CONTROL到驱动控制逻辑以及过滤其他IRP请求到通过。

其中,文件读取逻辑中具体包括以下步骤:

A01:获取句柄对应的节点;

A02:判断句柄是否需要进行加解密处理,若该句柄需要进行加解密处理,则按内存节点中该句柄对应的加解密参数进行解密处理,并将该判定结果记录在内存中,维护当前句柄列表。

其中,文件写入逻辑具体包括以下步骤:

B21:获取句柄对应的节点;

B22:判断句柄是否需要进行加解密处理,若该句柄需要进行加解密处理,则按内存节点中该句柄对应的加解密参数进行加密处理;若该句柄无需进行加解密处理,则执行下一步骤;

B23:判断文件是否属于需要加密的文件,若该文件属于需要加密的文件,则将文件路径及本次操作的进程名均添加到日志列表,等待驱动控制逻辑的处理。

为了进一步提高存储文件的安全性,此实施例的步骤B22中,若该句柄需要进行加解密处理,则判断文件写入的位置是否为文件的第一个512字节,若文件写入的位置为文件的第一个512字节,则对该512字节的内容进行压缩和加密,并在压缩密文前附加上加密标志和压缩内容长度,完成写入;若文件写入的位置不是文件的第一个512字节,则直接加密写入。

本发明借助压缩文件内容时产生的空隙在文件头添加加密标志,不改变原文件大小,以减少系统资源消耗,加强其稳定性。

在所述驱动控制逻辑中,按传入缓冲区的内容区分不同的控制业务,若控制业务为待加密文件日志提取业务,从日志列表中获取请求数量的条数到传出缓冲区中,通过缓冲区的引入,将被保护的文件放入缓冲区中,以便文件在真正发生写入的时候无需重新检索,有助于提高文件处理的效率。

进一步地,基于智能动态驱动层的透明加解密方法还包括应用层加密模块,该应用层加密模块向驱动层获取需加密的文件日志,并判断对应的文件是否需要加密,以加强存储文件的安全性。

在新建空文件时,本发明对该文件的后续编辑操作进行加密,若为打开文件,待软件关闭后再由应用层组件对文件进行一次完整加密,避免只加密文件中间一部分内容而难以辨别是否为加密文件的情况发生,以及避免只未完全加密而存在大量明文内容被泄密的情况发生。

当用户访问信息文件时,一旦发出写操作,信息文件会被自动加密并存储为密文,若发出读操作,信息文件将被自动解密以明文的形式打开。由于加解密过程是由读、写的I/O操作驱动的,对于用户而言是完全透明的,避免了因主动加密而可能引发的一系列安全隐患(如:作者忘记了加密信息文件,或者作者本身就是一个不安全因素)。

本发明适用于动态加解密的信息文件类型是可自由设定的,例如根据信息文件的密级划分为普通、保密和机密,对于普通文件可不进行加密,对于保密和机密级的信息文件必须加密,而且加密所采用的密钥的长度可根据密级的增高而变长。动态加解密的加解密策略在服务器侧由管理员统一设定,并自动下发到所有客户端,客户端则根据管理员设定的策略执行动态加解密,保护在客户端上的所有信息文件。同时,对于应用了相同动态加解密的客户端,在信息文件交流共享时,传递的虽然是密文,但对于使用者来说,可以当明文一般,无障碍的使用。

本发明具有以下几个优点:

一、本发明突破了现有加解密技术,结合计算机智能化原理,通过计算机底层操作系统实现了以智能化策略对计算机外围各种存储设备上的数据进行自动实时灵活的加密解密,达到了不用人为干涉而是根据各种安全管理策略,完全实现对信息数据的安全保管、安全使用,防止信息涉密,从而克服了过去安全类产品无法克服的问题;

二、本发明的加解密操作是完全动态的,无需依靠用户手动操作,不仅节省了用户时间,提高文件处理的效率,避免因用户误操作而造成无法挽回的后果发生,而且达到了保护文件的目的,显著地提高了安全系数;

三、本发明整个加解密操作完全是驱动级的,只要用户有改写磁盘的操作,那么预先选定的文件类型就会被自动加密或解密,用户感觉不到加解密过程的存在,不仅无需用户手动加密和解密的操作,而且该种加密方式不影响文件打开时间以及文件的大小,有效地确保文件正常运行。

上述说明示出并描述了本发明的优选实施例,如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1