专利名称:一种文件的存储、读取方法、装置和存取系统的制作方法
技术领域:
本发明涉及通信技术领域,具体涉及一种文件的存储、读取方法、装置和存取系统。
背景技术:
文件系统过滤驱动是Windows (视窗)操作系统驱动模型所支持的一种技术,位 于文件系统驱动的上层,应用系统的下层,可以用于对文件系统文件进行加解密、病毒扫描 等。当前国内的绝大部分文档加密软件都是使用了文件系统过滤驱动来进行文档的透明加 解密的,通过文件系统过滤驱动的自动加解密,使得应用程序通过输入输出(10,也称1/0, Input/Output)管理器访问文件或通过文件映射的方式来访问文件的时候都可以读取到文 档的明文,而保存在磁盘的文件(即磁盘文件)是密文。 —般情况下,文档加密是需要一些权限控制的,即其不是针对所有进程和所有文 件的。例如,对于office word(微软的一种办公软件)文档,只有off ice的word编辑器 的进程才是合法进程,这一合法进程才能读取到明文,若使用其它软件的非法进程,比如文 件发送软件的进程读取文档的内容,那么只能读取到密文。对于一个文件,Windows操作系 统只会有一份文件缓存(File Cache),当合法进程打开加密文件后,文件系统过滤驱动就 会将该加密文件解密,并存放在File Cache中,此时File Cache中就会具有该加密文件的 明文,如果此时非法进程打开加密文件,就可以通过文件映射直接读取到File Cache中的 明文,导致泄密。 为了解决上述问题,现有的解决方案一般都是在合法进程打开了加密文件时,禁 止非法进程打开加密文件,或者在非法进程打开加密文件的时候,禁止合法进程打开加密 文件,即使得合法进程和非法进程不能同时访问一个加密文件。 在对现有技术的研究和实践过程中,本发明的发明人发现,由于合法进程和非法 进程不能同时访问一个加密文件,所以会造成用户使用的不方便。例如用户正在编辑一份 加密文档,这个时候希望先给别人发送一个中间版本,此时编辑程序为合法进程,文件发送 程序为非法进程,那么,就必须要先把编辑程序关闭后才能通过发送程序发送。
发明内容
本发明实施例提供一种文件的存储、读取方法、装置和存取系统,使得合法进程和 非法进程可以同时访问一个加密文件,而且,合法进程可以读取到明文,非法进行只能读取 到密文。 —种文件的读取方法,包括
接收读数据请求; 判断所述读数据请求是否为合法进程发出的; 如果所述读数据请求是合法进程发出的,将所述读数据请求重定向到网络磁盘, 所述网络磁盘为所述读数据请求指向的本地磁盘在网络中的映射磁盘;
从所述网络磁盘中读取待请求的文件的密文; 将所述待请求的文件的密文解密为待请求的文件的明文; 将所述待请求的文件的明文存放至所述网络磁盘所产生的文件缓存中,以供合法
进程读取。 —种文件的存储方法,包括
接收写数据请求; 判断所述读数据请求是否为合法进程发出的; 如果所述读数据请求是合法进程发出的,且确定需要写入的文件是经过本网络映 射的,对所述需要写入的文件进行加密,得到待请求的文件的密文; 将所述写数据请求重定向到网络磁盘,所述网络磁盘为所述写数据请求指向的本 地磁盘在网络中的映射磁盘; 将所述待请求的文件的密文写入所述网络磁盘。 —种读取装置,包括 接收单元,用于接收读数据请求; 判断单元,用于判断接收单元接收到的读数据请求是否为合法进程发出的;
重定向单元,用于在判断单元判断读数据请求是合法进程发出时,将所述读数据 请求重定向到网络磁盘,所述网络磁盘为所述读数据请求指向的本地磁盘在网络中的映射 磁盘; 第一读取单元,用于从重定向单元重定向的网络磁盘中读取待请求的文件的密 文; 解密单元,用于将第一读取单元读取到的待请求的文件的密文解密为待请求的文 件的明文; 第一存放单元,用于将解密单元解密后的待请求的文件的明文存放至所述网络磁
盘所产生的文件缓存中,以供合法进程读取。 —种存储装置,包括 接收单元,用于接收写数据请求; 判断单元,用于判断接收单元接收到的读数据请求是否为合法进程发出的;
加密单元,用于在判断单元判断读数据请求是合法进程发出,且确定需要写入的 文件是经过本网络映射时,对所述需要写入的文件进行加密,得到待请求的文件的密文;
重定向单元,用于将接收单元接收到的写数据请求重定向到网络磁盘,所述网络 磁盘为所述写数据请求指向的本地磁盘在网络中的映射磁盘; 写入单元,用于将加密单元加密得到的待请求的文件的密文写入重定向单元重定 向的网络磁盘。 —种存取系统,包括本发明实施例所提供的任一种存储装置、实施例所提供的任 一种读取装置和网络磁盘; 所述网络磁盘,用于接收存储装置重定向的写数据请求,从存储装置接收待请求 的文件的密文;或者接收读取装置重定向的读数据请求,发送待请求的文件的密文给读取装置。 本发明实施例利用网络磁盘,在系统中生成另一个File Cache,然后通过判断所接收到的读或写数据请求是合法进程发出的还是非法进程发出的,如果是合法进程发出 的,则利用网络磁盘所产生的File Cache对该请求进行处理,如果是非法进程发出的,则利 用本地磁盘所产生的File Cache对该请求进行处理,使得合法进程可以直接读取网络磁盘 产生的File Cache的明文内容,而非法进程只能读取本地磁盘产生的File Cache的密文 内容。由于合法进程和非法进程所读取的File Cache不同,所以可以同时访问一个文件,使 得文件读取更加方便;而且由于本地磁盘产生的File Cache中所存放的是文件密文,非法 进程通过本地磁盘产生的File Cache读取文件也只能读取密文,从而确保了文件的安全。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。 图1是本发明实施例一所提供的读取方法流程图;
图2是本发明实施例二所提供的存储方法流程图; 图3是本发明实施例中利用文件系统过滤驱动进行读取的方案所使用的架构示 意图; 图4是本发明实施例三所提供的读取方法流程图;
图5是本发明实施例三所提供的存储方法流程图;
图6是本发明实施例所提供的读取装置的结构示意图;
图7是本发明实施例所提供的存储装置的结构示意图;
图8是本发明实施例三所提供的存取系统的结构示意图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。 本发明实施例提供一种文件的存储、读取方法、装置和存取系统。以下分别进行详 细说明。 实施例一、 本实施例将从存储装置的角度进行描述,该存储装置安装在本机中。
如图1所示,该方法的具体流程可以如下
101、接收读数据请求。 102、判断接收到的读数据请求是否为合法进程发出的;如果该读数据请求是合法 进程发出的,则执行步骤104-107,否则,则执行步骤103 ; 例如,可以调用文件系统过滤驱动代码,利用文件系统过滤驱动代码来检测读数 据请求是否为合法进程发出的;若调用的文件系统过滤驱动代码检测出的读数据请求为合 法进程所发出,则执行步骤104-107,否则,若调用的文件系统过滤驱动代码检测出读数据请求为非法进程所发出,则可以执行步骤103。 104、将读数据请求重定向到网络磁盘,其中,该网络磁盘为读数据请求指向的本 地磁盘在网络中的映射磁盘。 105 、从网络磁盘中读取待请求的文件的密文。 106、将步骤105中读取到的待请求的文件的密文解密为待请求的文件的明文。
107、将步骤106中解密得到的待请求的文件的明文存放至网络磁盘所产生的 File Cache中,以供合法进程读取。 其中,网络磁盘至少为一个,用于映射本地磁盘,应用进程不能直接访问该网络磁 盘,网络磁盘的数量,以及本地磁盘具体需要映射到哪个网络磁盘可以根据用户的策略而 定。需说明的是,网络磁盘的实体就是本地磁盘,只是应用程序在读写网络磁盘数据的时 候,操作系统会认为这个磁盘处于网络上,而通过网络发送读写请求,本机的网卡发现网络 磁盘映射的就是本地磁盘,会再把读写请求再转回给本机。由于使用网络磁盘来映射本地 磁盘,所以每个文件都具有两份, 一份保存在本地磁盘,另一份保存在网络磁盘,虽然这两 个盘的文件都是指向同一个文件,但是因为是两个盘,所以操作系统会认为其为两个文件, 于是会产生两个File Cache。 一个File Cache是在本地磁盘产生的, 一个File Cache是 在网络磁盘产生的。 例如,步骤104 107,具体可以为将读数据请求重定向到网络磁盘,在接收网络 磁盘转发的读数据请求后,调用文件系统驱动代码,然后通过调用的文件系统驱动代码从 本地磁盘中读取待请求的文件的密文,将读取到的待请求的文件的密文发送给网络磁盘, 接收网络磁盘发送的待请求的文件的密文,利用文件系统过滤驱动代码对该待请求的文件 的密文进行解密,得到待请求的文件的明文,将待请求的文件的明文存放至网络磁盘所产 生的File Cache,以供合法进程读取。 其中,可以通过网络通信将读数据请求指向的本地磁盘中的待请求的文件的密文 发送至网络磁盘;例如,具体可以利用本机的网络通信,通过IO管理器来接收网络磁盘转 发的读数据请求,然后再利用本机的网络通信,通过IO管理器将待请求的文件的密文发送 给网络磁盘。 需说明的是,本发明实施例所说的合法进程和非法进程同时访问一个加密文件, 指的是合法进程在访问加密文件时,非法进程也可以访问该加密文件,或者,非法进程在访 问加密文件时,合法进程也可以访问该加密文件。
本实施例还可以包括以下步骤 103、按照接收到的读数据请求从该读数据请求指向的本地磁盘中读取待请求的 文件的密文,将读取到的待请求的文件的密文存放至该读数据请求指向的本地磁盘所产生 的File Cache中,以供非法进程读取。 具体的,可以调用文件系统驱动代码,然后通过调用的文件系统驱动代码读取待 请求的文件的密文。 由上可知,本发明实施例利用网络磁盘,在系统中生成了两个File Cache,当接收 到数据请求时,判断接收到的读数据请求是合法进程发出的还是非法进程发出的,如果是 合法进程发出的,则利用网络磁盘所产生的File Cache对该请求进行处理,如果是非法进 程发出的,则利用本地磁盘所产生的File Cache对该请求进行处理,使得合法进程可以直接读取网络磁盘产出的Fi 1 e Cache的明文内容,而非法进程只能读取本地磁盘产生的Fi 1 e Cache的密文内容,由于合法进程和非法进程所读取的File Cache不同,所以可以同时访 问一个文件,使得文件读取更加方便;而且由于本地磁盘产生的File Cache中所存放的是 文件密文,非法进程通过本地磁盘产生的File Cache读取文件也只能读取密文,从而确保 了文件的安全。
实施例二、 与实施一相应地,本发明实施例还提供一种文件的存储方法。以下将从存储装置 的角度对该方法进行描述,该存储装置可以安装在本机中,需说明的是,该存储装置与实施 例一中的读取装置可以为一个实体,也可以为不同的实体。 —种文件的存储方法,包括接收写数据请求,判断接收到的读数据请求是否为合 法进程发出的;如果该读数据请求是合法进程发出的,且确定需要写入的文件是经过本网 络映射的,对该需要写入的文件进行加密,得到待请求的文件的密文;将接收到的写数据请 求重定向到网络磁盘,其中,该网络磁盘为写数据请求指向的本地磁盘在网络中的映射磁 盘;将待请求的文件的密文写入网络磁盘。 其中,网络磁盘至少为一个,用于映射本地磁盘,应用进程不能直接访问该网络磁
盘。需说明的是,由于使用网络磁盘来映射本地磁盘,所以每个文件都具有两份,一份保存
在本地磁盘,另一份保存在网络磁盘。 如图2所示,该方法的具体流程可以如下 201、接收写数据请求。 202、判断该写数据请求是否为合法进程发出的,若该写数据请求为非法进程所发 出,则可以拒绝写数据请求,否则,若该写数据请求为合法进程所发出的,则执行步骤203 ;
例如,可以调用文件系统过滤驱动代码,若调用的文件系统过滤驱动代码检测出 写数据请求为非法进程所发出,则可以拒绝写数据请求,不进行写入操作;否则,若该写数 据请求为合法进程所发出的,则执行步骤203。 203、确定需要写入的文件是否是经过本网络映射,且确定该写数据请求是否为写
磁盘数据请求,若确定需要写入的文件是经过本网络映射,且该写数据请求为写磁盘数据
请求,则对该需要写入的文件进行加密,得到待请求的文件的密文,然后执行步骤203 ; 具体的,可以利用文件系统过滤驱动代码对该需要写入的文件进行加密,得到待
请求的文件的密文,然后执行步骤203;否则,若确定需要写入的文件是否不是经过本网络
映射或确定该写数据请求不是为写磁盘数据请求,则可以拒绝写数据请求。 204、将接收到的写数据请求重定向到网络磁盘,其中,该网络磁盘为该接收到的
写数据请求指向的本地磁盘在网络中的映射磁盘。 205、将步骤203中加密得到的待请求的文件的密文写入网络磁盘。 此后,还可以通过网络通信将网络磁盘中的待请求的文件的密文发送至写数据请
求指向的本地磁盘。 其中,可以利用本机的网络通信通过IO管理器来接收网络磁盘转发的写数据请 求。 由上可知,本发明实施例使用网络磁盘来映射本地磁盘,使得每个文件都具有两 份,一份保存在本地磁盘,另一份保存在网络磁盘,在需要写入数据时,判断接收到的写数据请求是合法进程发出的还是非法进程发出的,若是由非法进程发出的,则拒绝写入,若是 由合法进程发出的,且需要写入的文件是经过本网络映射的,且该写数据请求为写磁盘数 据请求,则利用网络磁盘对该写数据请求进行处理,对需要写入的文件进行加密后写入本 地磁盘,由于该文件是从网络磁盘写入的,而非法进程则是基于本地磁盘进行操作的,因此 二者不会造成冲突,使得合法进程和非法进程可以同时访问一个文件。
实施例三、 根据实施例一和二所描述的方法,以下将举例作详细说明。 首先,需要先将本地磁盘在本地系统映射到网络磁盘,并且禁止应用进程直接访 问网络磁盘。由于使用网络磁盘来映射本地磁盘,所以每个文件都具有两份, 一份保存在本 地磁盘,另一份保存在网络磁盘,虽然这两个盘的文件都是指向同一个文件,但是因为是两 个盘,所以操作系统会认为其为两个文件,于是会产生两个File Cache,即一个File Cache 是在本地磁盘产生的,一个在网络磁盘产生的。 当非法进程访问文件时,文件系统过滤驱动不对读写的内容进行解密或加密处 理,而当合法进程访问文件时,则将会这个写数据请求或读数据请求重定向到其对应的网 络磁盘,基于该网络磁盘对读写的内容进行解密或加密的处理。参见图3,图3为本发明实 施例利用文件系统过滤驱动进行读取的方案所使用的架构,以下将分别从加密和解密两方 面对本发明实施例所提供的方法进行说明。如下
( — )解密 如图4所示,具体流程可以如下 A301 、读取装置接收本机发出的读数据请求。 A302、读取装置调用文件系统驱动代码,然后通过调用的文件系统驱动代码根据 接收到的读数据请求读取相应的待请求的文件的密文。 此时,文件系统驱动代码所处理的磁盘文件还是密文。需说明的是,步骤A302也 可以在步骤A304之后执行。 A303、读取装置调用文件系统过滤驱动代码。 A304、读取装置利用调用的文件系统过滤驱动代码对接收到的读数据请求进行检
测,若检测出该读数据请求是由非法进程所发出的,则执行步骤A305,否则,若检测出该读
数据请求是由合法进程所发出的,则执行步骤A306。 需说明的是,该非法进程包括经过重定向的读数据请求。 A305、读取装置将在步骤A302中读取到的待请求的文件的密文直接存放至本地 磁盘所产生的File Cache,以供非法进程读取。 此时在本地磁盘所产生的File Cache中所存放的是密文,非法进程所能读到的也
只是密文,因此可以避免该磁盘文件会发生泄密。 A306、读取装置将该读数据请求重定向到网络磁盘; A307、网络磁盘接收到该读数据请求后,利用网络通信,转发该读数据请求给读取 装置中的IO管理器。 A308、读取装置中的IO管理器在接收网络磁盘转发的读数据请求后,通过网络通 信,将在步骤A302中读取到的待请求的文件的密文发送给网络磁盘。 A309、读取装置利用文件系统过滤驱动代码对网络磁盘中的待请求的文件的密文进行解密,得到待请求的文件的明文; A310、读取装置将待请求的文件的明文存放至网络磁盘所产生的FileCache,以供
合法进程读取。 此时在网络磁盘所产生的File Cache中的磁盘文件为明文,合法进程可以从该网 络磁盘所产生的File Cache中读取到该明文。 在该解密过程中,每一个步骤都可以包括相应的读数据响应,具体可参见现有技 术,在此不再赘述,通过该解密的过程可知,合法进程可以直接读取网络磁盘产生的File Cache的明文内容,而非法进程只能读取本地磁盘产生的FileCache的密文内容,由于合法 进程和非法进程所读取的File Cache不同,所以可以同时读取,而且由于本地磁盘产生的 File Cache中所存放的是密文,所以可以避免被非法进程读取后会造成泄密的问题。
(二)加密 如图5所示,具体流程可以如下 B301、存储装置接收本机发出的写数据请求。 B302、存储装置调用文件系统过滤驱动代码。 B303、存储装置利用调用的文件系统过滤驱动代码对接收到的写数据请求进行检 测,若检测出该写数据请求是由非法进程所发出的,则执行步骤B304,否则,若检测出该写 数据请求是由合法进程所发出的,则执行步骤B305。需说明的是,该非法进程包括经过重定 向的写数据请求。 B304、存储装置拒绝写数据请求,不进行写入操作。 B305、存储装置利用调用的文件系统过滤驱动代码检测需要写入的文件是否是经 过本网络映射的,若否,则执行步骤B304 ;若是,则执行步骤B306。 B306、存储装置利用调用的文件系统过滤驱动代码确定该写数据请求是写磁盘数 据请求还是写缓存数据请求,若为写缓存数据请求,则执行步骤B304 ;若为写磁盘数据请 求,则执行步骤B307。 B307、存储装置利用调用的文件系统过滤驱动代码对该需要写入的文件进行加
密,得到待请求的文件的密文,然后将写数据请求重定向到本网络的网络磁盘。 B308、网络磁盘收到该写数据请求后,利用网络通信把该写数据请求转发到本机
的10管理器,即,此时10管理器中的文件为密文。 B309、存储装置的I0管理器在接收网络磁盘转发的写数据请求后,将待请求的文 件的密文写入本地磁盘,即此时,本地磁盘中存放的文件为密文。 如上为与本发明实施例所提供的读取方法相对应的存储方法的过程,在该加密过 程中,每一个步骤都可以包括相应的写数据响应,具体可参见现有技术,在此不再赘述,由 于合法进程写入文件时是从网络磁盘写入的,而非法进程则是基于本地磁盘进行操作的, 因此二者不会造成冲突,所以该方案使得合法进程和非法进程可以同时访问一个文件。
由上可知,本发明实施例利用网络磁盘,在系统中生成另一个File Cache,然后通 过让文件系统过滤驱动代码对所接收到的读/写数据请求进行检测以判断该读/写数据 请求是合法进程发出的还是非法进程发出的,如果是合法进程发出的,则利用网络磁盘所 产生的File Cache对该请求进行处理,如果是非法进程发出的,则利用本地磁盘所产生的 File Cache对该请求进行处理,使得合法进程可以直接读取网络磁盘产出的File Cache的明文内容,而非法进程只能读取本地磁盘产生的File Cache的密文内容,由于合法进程和 非法进程所读取的File Cache不同,所以可以同时读取,使得文件读取更加方便;而且由 于本地磁盘产生的File Cache中所存放的是文件密文,非法进程通过本地磁盘产生的File Cache读取文件也只能读取密文,从而确保了文件的安全。
实施例四、 为了更好地实施以上方法,本发明实施例还相应地提供一种读取装置,如图6所 示,该读取装置包括接收单元401、判断单元402、重定向单元403、第一读取单元404、解密 单元405和第一存放单元406 ;
接收单元401,用于接收读数据请求; 判断单元402,用于判断接收单元401接收到的读数据请求是否为合法进程发出 的; 重定向单元403,用于在判断单元402判断读数据请求是合法进程发出时,将接收 到的读数据请求重定向到网络磁盘,其中,该网络磁盘为读数据请求指向的本地磁盘在网 络中的映射磁盘; 第一读取单元404,用于从重定向单元403重定向的网络磁盘中读取待请求的文
件的密文;例如,可以接收网络磁盘转发的读数据请求,在接收网络磁盘转发的读数据请求
后,调用文件系统驱动代码,通过调用的文件系统驱动代码从本地磁盘读取待请求的文件
的密文发送给网络磁盘,然后接收网络磁盘发送的待请求的文件的密文; 解密单元405,用于将第一读取单元404读取到的待请求的文件的密文解密为待
请求的文件的明文;比如,利用文件系统过滤驱动代码对该待请求的文件的密文进行解密,
得到待请求的文件的明文; 第一存放单元406,用于将解密单元405解密后的待请求的文件的明文存放至网 络磁盘所产生的File Cache中,以供合法进程读取。 如图6所示,该读取装置还可以包括第二读取单元407和第二存放单元408 ;
第二读取单元407,用于在判断单元402判断读数据请求是非法进程发出时,按照 接收到的读数据请求从该读数据请求指向的本地磁盘中读取待请求的文件的密文;比如, 可以调用文件系统驱动代码,然后通过调用的文件系统驱动代码读取待请求的文件的密 文; 第二存放单元408,用于将第二读取单元407读取到的待请求的文件的密文存放 至读数据请求指向的本地磁盘所产生的File Cache中,以供非法进程读取。
其中,具体可以利用本机的网络通信,通过IO管理器来接收网络磁盘转发的读数 据请求,然后再利用本机的网络通信,通过10管理器将待请求的文件的密文发送给网络磁 需说明的是,其中,网络磁盘至少为一个,用于映射本地磁盘,应用进程不能直接 访问该网络磁盘。 另外,还需说明的是,由于使用网络磁盘来映射本地磁盘,所以每个文件都具有两
份, 一份保存在本地磁盘,另一份保存在网络磁盘,虽然这两个盘的文件都是指向同一个文 件,但是因为是两个盘,所以操作系统会认为其为两个文件,于是会产生两个File Cache。 一个File Cache是在本地磁盘产生的, 一个在网络磁盘产生的。
以上各个单元的具体实施可参见前面实施例,在此不再赘述。 由上可知,本发明实施例利用网络磁盘,在系统中生成另一个File Cache,在接收 单元401接收到的读数据请求后,利用判断单元402判断该读数据请求是合法进程发出的 还是非法进程发出的,如果是合法进程发出的,则由重定向单元403、第一读取单元404、解 密单元405和第一存放单元406利用网络磁盘所产生的File Cache对该请求进行处理,如 果是非法进程发出的,则由第二读取单元407和第二存放单元408利用本地磁盘所产生的 File Cache对该请求进行处理,使得合法进程可以直接读取网络磁盘产出的File Cache的 明文内容,而非法进程只能读取本地磁盘产生的File Cache的密文内容,由于合法进程和 非法进程所读取的File Cache不同,所以可以同时读取,使得文件读取更加方便;而且由 于本地磁盘产生的File Cache中所存放的是文件密文,非法进程通过本地磁盘产生的File Cache读取文件也只能读取密文,从而确保了文件的安全。
实施例五、 相应地,本发明实施例还提供一种存储装置,如图7所示,该存储装置包括接收单 元501、判断单元502、加密单元503、重定向单元504和写入单元505 ;
接收单元501,用于接收写数据请求; 判断单元502,用于判断接收单元501接收到的读数据请求是否为合法进程发出 的;比如,可以调用文件系统过滤驱动代码,利用文件系统过滤驱动代码来检测出写数据请 求是否为合法进程所发出的; 加密单元503,用于在判断单元502判断读数据请求是合法进程发出时,确定需要 写入的文件是否是经过本网络映射,且确定该写数据请求是否为写磁盘数据请求,如果需 要写入的文件是经过本网络映射,且该写数据请求为写磁盘数据请求,则对该需要写入的 文件进行加密,得到待请求的文件的密文;比如,可以利用文件系统过滤驱动代码对该需要 写入的文件进行加密,得到待请求的文件的密文; 重定向单元504,用于将接收单元501接收到的写数据请求重定向到网络磁盘,其 中,该网络磁盘为写数据请求指向的本地磁盘在网络中的映射磁盘; 写入单元505,用于将加密单元503加密得到的待请求的文件的密文写入重定向 单元504重定向的网络磁盘。其中,还可以通过网络通信将网络磁盘中的待请求的文件的 密文发送至写数据请求指向的本地磁盘。
如图7所示,该存储装置还可以包括拒绝单元506 ; 拒绝单元506,用于在判断单元判断写数据请求是非法进程所发出,则拒绝该写数 据请求,不进行写入操作。 拒绝单元506,还用于在加密单元503确定需要写入的文件不是经过本网络映射, 或者确定该写数据请求不是写磁盘数据请求时,拒绝该写数据请求,不进行写入操作。
其中,网络磁盘至少为一个,用于映射本地磁盘,应用进程不能直接访问该网络磁 盘。由于使用网络磁盘来映射本地磁盘,所以每个文件都具有两份,一份保存在本地磁盘, 另一份保存在网络磁盘。 以上各个单元的具体实施可参见前面实施例,在此不再赘述。 需说明的是,该存储装置和实施例四所提供的读取装置可以为在同一实体中,也 可以在不同的实体中。
由上可知,本发明实施例使用网络磁盘来映射本地磁盘,使得每个文件都具有两 份, 一份保存在本地磁盘,另一份保存在网络磁盘,在需要写入数据时,由判断单元502判 断该写数据请求是合法进程发出的还是非法进程发出的,若是由非法进程发出的,则由拒 绝单元506拒绝写入,若是由合法进程发出的,且需要写入的文件是经过本网络映射的,且 该写数据请求为写磁盘数据请求,则由加密单元503、重定向单元504和写入单元505利用 网络磁盘对该写数据请求进行处理,对需要写入的文件进行加密后写入本地磁盘,由于该 文件是从网络磁盘写入的,而非法进程则是基于本地磁盘进行操作的,因此二者不会造成 冲突,使得合法进程和非法进程可以同时访问一个文件。
实施例六、 相应地,本发明实施例还提供一种存取系统,如图8所示,该存取系统包括本发明 实施例提供的任一种存储装置601、本发明实施例提供的任一种读取装置602和网络磁盘
603 ; 存储装置601,用于接收写数据请求,判断接收到读数据请求是否为合法进程发出 的,如果该读数据请求是合法进程发出的,且确定需要写入的文件是经过本网络映射的,且 确定该写数据请求为写磁盘数据请求时,对该需要写入的文件进行加密,得到待请求的文 件的密文,将该写数据请求重定向到网络磁盘603,其中,该网络磁盘603为该写数据请求 指向的本地磁盘在网络中的映射磁盘,将待请求的文件的密文写入网络磁盘;还可以通过 网络通信将网络磁盘中的待请求的文件的密文发送至写数据请求指向的本地磁盘。
读取装置602,用于接收读数据请求,判断该读数据请求是否为合法进程发出的, 如果该读数据请求是合法进程发出的,将该读数据请求重定向到网络磁盘603,其中,该网 络磁盘603为该读数据请求指向的本地磁盘在网络中的映射磁盘,从网络磁盘603中读取 待请求的文件的密文,将待请求的文件的密文解密为待请求的文件的明文,将解密得到的 待请求的文件的明文存放至网络磁盘603所产生的File Cache中,以供合法进程读取;
网络磁盘603,用于接收存储装置重定向的写数据请求,从存储装置接收待请求的 文件的密文;或者接收读取装置重定向的读数据请求,发送待请求的文件的密文给读取装 置。 其中,存储装置601和读取装置602可以为同一实体,也可以为不同的实体。
以上各个单元的具体实施具体可参见前面实施例,在此不再赘述。
需说明的是,在存取系统中,可以包括多个网络磁盘603,即,该网络磁盘603至少 有一个,可以用于映射本地磁盘,而且应用进程不能直接访问该网络磁盘。由于使用网络磁 盘603来映射本地磁盘,所以每个文件都具有两份, 一份保存在本地磁盘,另一份保存在网 络磁盘,虽然这两个盘的文件都是指向同一个文件,但是因为是两个盘,所以操作系统会认 为其为两个文件,于是会产生两个File Cache。 一个File Cache是在本地磁盘产生的,一 个在网络磁盘产生的。 由上可知,本发明实施例利用网络磁盘603,在系统中生成另一个FileCache,然 后通过对所接收到的读/写数据请求进行判断以确认该读/写数据请求是合法进程发出的 还是非法进程发出的,如果是合法进程发出的,则由存储装置601或读取装置602利用网络 磁盘所产生的File Cache对该请求进行处理,如果是非法进程发出的,则由存储装置601 或读取装置602利用本地磁盘所产生的File Cache对该请求进行处理,使得合法进程可以
13直接读取网络磁盘产出的File Cache的明文内容,而非法进程只能读取本地磁盘产生的 File Cache的密文内容,由于合法进程和非法进程所读取的File Cache不同,所以可以同 时读取,使得文件读取更加方便;而且由于本地磁盘产生的File Cache中所存放的是文件 密文,非法进程通过本地磁盘产生的File Cache读取文件也只能读取密文,从而确保了文 件的安全。 本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可 以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存 储介质可以包括只读存储器(ROM, Read Only Memory)、随机存取记忆体(RAM, Random Access Memory)、磁盘或光盘等。 以上对本发明实施例所提供的一种文件的存储、读取方法、装置和存取系统进行 了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例 的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员, 依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内 容不应理解为对本发明的限制。
1权利要求
一种文件的读取方法,其特征在于,包括接收读数据请求;判断所述读数据请求是否为合法进程发出的;如果所述读数据请求是合法进程发出的,将所述读数据请求重定向到网络磁盘,所述网络磁盘为所述读数据请求指向的本地磁盘在网络中的映射磁盘;从所述网络磁盘中读取待请求的文件的密文;将所述待请求的文件的密文解密为待请求的文件的明文;将所述待请求的文件的明文存放至所述网络磁盘所产生的文件缓存中,以供合法进程读取。
2. 根据权利要求1所述的方法,其特征在于,还包括如果所述读数据请求是非法进程发出的,按照所述读数据请求从所述读数据请求指向的本地磁盘中读取待请求的文件的密文;将所述待请求的文件的密文存放至所述读数据请求指向的本地磁盘所产生的文件缓存中,以供非法进程读取。
3. 根据权利要求1或2所述的方法,其特征在于,还包括通过网络通信将所述读数据请求指向的本地磁盘中的待请求的文件的密文发送至所述网络磁盘。
4. 一种文件的存储方法,其特征在于,包括接收写数据请求;判断所述读数据请求是否为合法进程发出的;如果所述读数据请求是合法进程发出的,且确定需要写入的文件是经过本网络映射的,对所述需要写入的文件进行加密,得到待请求的文件的密文;将所述写数据请求重定向到网络磁盘,所述网络磁盘为所述写数据请求指向的本地磁盘在网络中的映射磁盘;将所述待请求的文件的密文写入所述网络磁盘。
5. 根据权利要求4所述的方法,其特征在于,还包括如果所述写数据请求是非法进程所发出,则拒绝所述写数据请求。
6. 根据权利要求4或5所述的方法,其特征在于,还包括通过网络通信将所述网络磁盘中的待请求的文件的密文发送至所述写数据请求指向的本地磁盘。
7. —种读取装置,其特征在于,包括接收单元,用于接收读数据请求;判断单元,用于判断接收单元接收到的读数据请求是否为合法进程发出的;重定向单元,用于在判断单元判断读数据请求是合法进程发出时,将所述读数据请求重定向到网络磁盘,所述网络磁盘为所述读数据请求指向的本地磁盘在网络中的映射磁;第一读取单元,用于从重定向单元重定向的网络磁盘中读取待请求的文件的密文;解密单元,用于将第一读取单元读取到的待请求的文件的密文解密为待请求的文件的明文;第一缓存单元,用于将解密单元解密后的待请求的文件的明文存放至所述网络磁盘所产生的文件缓存中,以供合法进程读取。
8. 根据权利要求7所述的读取装置,其特征在于,还包括第二读取单元,用于在判断单元判断读数据请求是非法进程发出时,按照所述读数据请求从所述读数据请求指向的本地磁盘中读取待请求的文件的密文;第二缓存单元,用于将第二读取单元读取到的待请求的文件的密文存放至所述读数据请求指向的本地磁盘所产生的文件缓存中,以供非法进程读取。
9. 一种存储装置,其特征在于,包括接收单元,用于接收写数据请求;判断单元,用于判断接收单元接收到的读数据请求是否为合法进程发出的;加密单元,用于在判断单元判断读数据请求是合法进程发出,且确定需要写入的文件是经过本网络映射时,对所述需要写入的文件进行加密,得到待请求的文件的密文;重定向单元,用于将接收单元接收到的写数据请求重定向到网络磁盘,所述网络磁盘为所述写数据请求指向的本地磁盘在网络中的映射磁盘;写入单元,用于将加密单元加密得到的待请求的文件的密文写入接收重定向单元重定向的网络磁盘。
10. 根据权利要求9所述的存储装置,其特征在于,还包括拒绝单元,用于在判断单元判断写数据请求是非法进程所发出,则拒绝所述写数据请求。
11. 一种存取系统,其特征在于,包括网络磁盘、如权利要求7或8所述的读取装置以及如权利要求9或10所述的存储装置;所述网络磁盘,用于接收存储装置重定向的写数据请求,从存储装置接收待请求的文件的密文;或者接收读取装置重定向的读数据请求,发送待请求的文件的密文给读取装置。
全文摘要
本发明公开了一种文件的存储、读取方法、装置和存取系统。本发明实施例利用网络磁盘,在系统中生成另一个File Cache,然后判断所接收到的读/写数据请求是合法进程发出的还是非法进程发出的,若是合法进程发出的,则利用网络磁盘所产生的File Cache对该请求进行处理,若是非法进程发出的,则利用本地磁盘所产生的File Cache对该请求进行处理,使得合法进程和非法进程可以同时访问一个加密文件,而且,不会造成泄密。
文档编号G06F17/30GK101710345SQ20091025435
公开日2010年5月19日 申请日期2009年12月22日 优先权日2009年12月22日
发明者俞健, 李春茂, 谢永方, 陈良德 申请人:成都市华为赛门铁克科技有限公司