IO数据的读写方法和装置制造方法及图纸

技术编号:16456970 阅读:47 留言:0更新日期:2017-10-25 21:11
本发明专利技术实施例提供了一种IO数据的读写方法和装置。所述IO数据的读写方法,包括:当应用程序调用Win32 API应用程序编程接口进行写文件时,Win32 API将写入请求发送给文件过滤驱动模块,所述写入请求携带有待写入文件的标识;所述文件过滤驱动模块根据所述应用程序和所述待写入文件的标识以及第一预制规则,判断所述待写入文件是否需要加密,生成判断结果;当所述判断结果为:待写入文件需要加密时,将所述待写入文件的写入请求重定向到微重定向器MiniRDR驱动模块;所述MiniRDR驱动模块根据所述待写入文件的标识,创建所述待写入文件的FCB文件控制块或FileObject文件对象;加密模块对所述待写入文件的数据流进行加密;文件IO模块将加密后的所述待写入文件的数据流写入磁盘或网络。

Method and device for reading and writing IO data

The embodiment of the invention provides a read-write method and device for IO data. Write a method, the IO data read includes: when the application calls the Win32 API application programming interface to write the file, Win32 API will write requests to the file filter driver module, the write request carried to be written to the file identifier; the file filter driver module according to the application and the file to be written to the identification and judgment of the first prefabricated rules, whether the documents need to be written to generate encryption, the judgment result; when the judgment result is to be written to the file encryption required, writes the file to be written to redirect the request to the micro redirector MiniRDR driver module; the MiniRDR driver modules. Write the file according to the identifier, creating the file to be written to the FCB file or FileObject file control block object; encryption module to be written to the file for the data The file IO module writes the encrypted data stream of the file to be written to disk or network.

【技术实现步骤摘要】
IO数据的读写方法和装置
本专利技术涉及计算机存储领域,尤其涉及一种IO数据的读写方法和装置。
技术介绍
透明加密技术是近年来针企对业文件的保密需求应运而生的一种文件加密技术。所谓透明,是指对使用者来说是未知的。当使用者在打开或编辑指定文件时,系统将自动对未加密的文件进行加密,对已加密的文件自动解密。文件在硬盘上是密文,在内存中是明文。一旦离开使用环境,由于应用程序无法得到自动解密的服务而无法打开,从而起来保护文件内容的效果。传统的透明加密方法是使用文件过滤驱动技术,当文件被写入的时候加密,读取的时候解密。然而,由于Windows文件系统本身的封闭性(不开源),而对于文件系统驱动内部管理的缓存不可控,从而会有很大概率导致文件损坏(文件的部分内容加密)。随着技术进步,市面上出现一种叫double-layered透明加密技术,所谓double-layered是指双层加密,一层是文件过滤驱动,另外一层是自己实现一个小型文件系统,由过滤驱动根据规则区分文件是否加密。加密的文件的fcb/fileobject(文件控制块,或文件对象)由自己实现的小型文件系统创建,因此同一文件的两种状态由不同的文件系统驱动实现,不会导致以上由于cache引起的文件损坏问题。但是该技术的缺点也是显而易见的就是实现一个文件系统的工作量巨大(超过5人年),而且不能兼容所有主流Windows操作系统。也就是说,目前文件级透明加密的实现主要采用双层过滤的方式,实现方式十分繁琐,并产生问题很多,可靠性较低。
技术实现思路
本专利技术的实施例提供了一种IO数据的读写方法和装置,本专利技术能够简化了Windows下文件系统透明加密的实现复杂度。为了实现上述目的,本专利技术采取了如下技术方案。一种IO数据的读写方法,所述方法包括:当应用程序调用Win32API应用程序编程接口进行写文件时,Win32API将写入请求发送给文件过滤驱动模块,所述写入请求携带有待写入文件的标识;所述文件过滤驱动模块根据所述应用程序和所述待写入文件的标识以及第一预制规则,判断所述待写入文件是否需要加密,生成判断结果;当所述判断结果为:所述待写入文件需要加密时,将所述待写入文件的写入请求重定向到微重定向器MiniRDR驱动模块;所述MiniRDR驱动模块根据所述待写入文件的标识,创建所述待写入文件的FCB文件控制块或FileObject文件对象;加密模块根据所述待写入文件的FCB或FileObject,对所述待写入文件的数据流进行加密;文件IO模块根据所述待写入文件的FCB或FileObject,将加密后的所述待写入文件的数据流写入磁盘或网络。一种IO数据的读写装置,包括:发送模块,当应用程序调用Win32API应用程序编程接口进行写文件时,Win32API将写入请求发送给文件过滤驱动模块,所述写入请求携带有待写入文件的标识;文件过滤驱动模块,根据所述应用程序和所述待写入文件的标识以及第一预制规则,判断所述待写入文件是否需要加密,生成判断结果;重定向模块,当所述判断结果为:所述待写入文件需要加密时,将所述待写入文件的写入请求重定向到微重定向器MiniRDR驱动模块;MiniRDR驱动模块,根据所述待写入文件的标识,创建所述待写入文件的FCB文件控制块或FileObject文件对象;加密模块,根据所述待写入文件的FCB或FileObject,对所述待写入文件的数据流进行加密;文件IO模块,根据所述待写入文件的FCB或FileObject,将加密后的所述待写入文件的数据流写入磁盘或网络。由上述本专利技术的实施例提供的技术方案可以看出,本专利技术实施例中,上述实施例中,本专利技术能够自动创建密文对应的fcb/fileobject,简化了Windows下文件系统透明加密的实现复杂度。本专利技术附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种IO数据的读写方法的处理流程图;图2为本专利技术实施例提供的一种IO数据的读写方法的后续处理流程图;图3为本专利技术应用场景中写文件的处理流程图;图4为本专利技术应用场景中读文件的处理流程图;图5为本专利技术实施例提供的一种IO数据的读写装置的连接示意图。具体实施方式下面详细描述本专利技术的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本专利技术,而不能解释为对本专利技术的限制。如图1所示,为本专利技术所述的一种IO数据的读写方法,所述方法包括:步骤11,当应用程序调用Win32API应用程序编程接口进行写文件时,Win32API将写入请求发送给文件过滤驱动模块,所述写入请求携带有待写入文件的标识,所述待写入文件的标识可以为文件ID或文件路径,当然,本领域技术人员明白,标识不限于此。步骤12,所述文件过滤驱动模块根据所述应用程序和所述待写入文件的标识以及第一预制规则,判断所述待写入文件是否需要加密,生成判断结果;其中,第一预制规则可以为:当指定一些应用程序,并且根据待写入文件的ID判断文件为预定文件类型时,则对待写入文件进行加密。可以根据实际需要设定。第一预制规则和第二预制规则可以相同或者不同。当所述判断结果为:所述待写入文件需要加密时,执行步骤13;当所述判断结果为:所述待写入文件不需要加密时,执行步骤17;步骤13,当所述判断结果为:所述待写入文件需要加密时,将所述待写入文件的写入请求重定向到微重定向器MiniRDR驱动模块;步骤14,所述MiniRDR驱动模块根据所述待写入文件的标识,创建所述待写入文件的FCB文件控制块或FileObject文件对象;步骤15,加密模块根据所述待写入文件的FCB或FileObject,对所述待写入文件的数据流进行加密;步骤16,文件IO模块根据所述待写入文件的FCB或FileObject,将加密后的所述待写入文件的数据流写入磁盘或网络。上述实施例中,本专利技术能够自动创建密文对应的fcb/fileobject,简化了Windows下文件系统透明加密的复杂度。步骤13之前,所述方法还包括:步骤130,判断所述应用程序是否为受信应用程序;如果为是,则执行步骤13。可选的,所述方法还包括:步骤17,当所述判断结果为:所述待写入文件不需要加密时,将所述待写入文件的写入请求发送给所述文件过滤驱动模块的下层系统的文件系统,以将所述待写入文件的数据流写入磁盘或网络。其中,步骤15中的所述文件IO模块根据所述待写入文件的FCB或FileObject,将加密后的所述待写入文件的数据流写入网络的步骤包括:将加密后的所述待写入文件的数据流发送给所述网络中的服务器,使得所述服务器将加密后的所述待写入文件数据流写入所述服务器上的存储空间。如图2所示,所述方法还包括:步骤21,当应用程序调用Win32API进行读文件时,Win32API将读取请求发送给文本文档来自技高网...
IO数据的读写方法和装置

【技术保护点】
一种IO数据的读写方法,其特征在于,所述方法包括:当应用程序调用Win32API应用程序编程接口进行写文件时,Win32API将写入请求发送给文件过滤驱动模块,所述写入请求携带有待写入文件的标识;所述文件过滤驱动模块根据所述应用程序和所述待写入文件的标识以及第一预制规则,判断所述待写入文件是否需要加密,生成判断结果;当所述判断结果为:所述待写入文件需要加密时,将所述待写入文件的写入请求重定向到微重定向器MiniRDR驱动模块;所述MiniRDR驱动模块根据所述待写入文件的标识,创建所述待写入文件的FCB文件控制块或FileObject文件对象;加密模块根据所述待写入文件的FCB或FileObject,对所述待写入文件的数据流进行加密;文件IO模块根据所述待写入文件的FCB或FileObject,将加密后的所述待写入文件的数据流写入磁盘或网络。

【技术特征摘要】
1.一种IO数据的读写方法,其特征在于,所述方法包括:当应用程序调用Win32API应用程序编程接口进行写文件时,Win32API将写入请求发送给文件过滤驱动模块,所述写入请求携带有待写入文件的标识;所述文件过滤驱动模块根据所述应用程序和所述待写入文件的标识以及第一预制规则,判断所述待写入文件是否需要加密,生成判断结果;当所述判断结果为:所述待写入文件需要加密时,将所述待写入文件的写入请求重定向到微重定向器MiniRDR驱动模块;所述MiniRDR驱动模块根据所述待写入文件的标识,创建所述待写入文件的FCB文件控制块或FileObject文件对象;加密模块根据所述待写入文件的FCB或FileObject,对所述待写入文件的数据流进行加密;文件IO模块根据所述待写入文件的FCB或FileObject,将加密后的所述待写入文件的数据流写入磁盘或网络。2.根据权利要求1所述的方法,其特征在于,所述将所述待写入文件的写入请求重定向到微重定向器MiniRDR驱动模块的步骤之前,所述方法还包括:判断所述应用程序是否为受信应用程序;如果为是,则执行下一步骤。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述判断结果为:所述待写入文件不需要加密时,将所述待写入文件的写入请求发送给所述文件过滤驱动模块的下层系统的文件系统,以将所述待写入文件的数据流写入磁盘或网络。4.根据权利要求1所述的方法,其特征在于,所述文件IO模块根据所述待写入文件的FCB或FileObject,将加密后的所述待写入文件的数据流写入网络的步骤包括:将加密后的所述待写入文件的数据流发送给所述网络中的服务器,使得所述服务器将加密后的所述待写入文件数据流写入所述服务器上的存储空间。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:当应用程序调用Win32API进行读文件时,Win32API将读取请求发送给文件过滤驱动,所述读取请求携带待读取文件的标识;所述文件过滤驱动模块根据所述应用程序和所述待读取文件的标识以及第二预制规则,判断所述待读取文件是否为已加密文件,生成判断结果;当所述判断结果为:所述待读取文件为已加密文件时,将所述待读取文件的读取请求重定向到微重定向器MiniRDR...

【专利技术属性】
技术研发人员:张胜玉游峰
申请(专利权)人:北京华云网际科技有限公司
类型:发明
国别省市:北京,11

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

1