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数据的读写方法和装置,本专利技术能够简化了Win ...
【技术保护点】
一种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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。