一种文件过滤的保护方法、驱动设备及客户端.pdf

上传人:Y0****01 文档编号:1040905 上传时间:2018-03-27 格式:PDF 页数:15 大小:582.69KB
返回 下载 相关 举报
摘要
申请专利号:

CN201010217563.8

申请日:

2010.07.01

公开号:

CN102314579A

公开日:

2012.01.11

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||著录事项变更IPC(主分类):G06F 21/24变更事项:申请人变更前:成都市华为赛门铁克科技有限公司变更后:华为数字技术(成都)有限公司变更事项:地址变更前:611731 四川省成都市高新区西部园区清水河片区变更后:611731 四川省成都市高新区西部园区清水河片区|||实质审查的生效IPC(主分类):G06F 21/24申请日:20100701|||公开

IPC分类号:

G06F21/24

主分类号:

G06F21/24

申请人:

成都市华为赛门铁克科技有限公司

发明人:

陈良德

地址:

611731 四川省成都市高新区西部园区清水河片区

优先权:

专利代理机构:

深圳市深佳知识产权代理事务所(普通合伙) 44285

代理人:

彭愿洁;李文红

PDF下载: PDF下载
内容摘要

本发明实施例涉及一种文件过滤的保护方法、驱动设备及客户端。所述方法包括:当接收到将打开的文件存储到存储介质的请求时,剪切所述文件中预设位置上的数据到所述文件的第一位置上;在所述预设位置上中添加加密标识,并对所述文件中除所述加密标识外的其他数据进行加密;将加密后的所述文件的第一位置上的数据转存到驱动内存中,并将所述文件中的加密标识以及所述文件的第一位置上的数据之外的数据存储到存储介质中。以实现文件过滤时的透明加解密的问题,提高了应用程序的识别效率。

权利要求书

1: 一种文件过滤的保护方法, 其特征在于, 包括 : 当接收到将打开的文件存储到存储介质的请求时, 将所述文件的预设位置上的数据剪 切到所述文件的第一位置上, 所述文件的第一位置是所述文件的空闲位置 ; 在所述文件的预设位置中添加加密标识, 并对所述文件中除所述加密标识外的其他数 据进行加密 ; 将加密后的所述文件的第一位置上的数据转存到驱动内存中, 并将所述文件中的加密 标识以及除所述文件的第一位置上的数据之外的加密后的数据存储到存储介质中。
2: 根据权利要求 1 所述的方法, 其特征在于, 所述方法之后, 还进一步包括 : 在接收到读取所述文件的请求时, 根据所述加密标识从存储介质中调出加密后的数 据, 并对所述从存储介质中调出的加密后的数据进行解密, 得到解密后的文件 ; 从所述驱动内存中获取所述文件的第一位置上的数据, 并对所述文件的第一位置上的 数据进行解密, 将解密后的所述文件的第一位置上的数据还原到所述解密后的文件的预设 位置中。
3: 根据权利要求 1 或 2 所述的方法, 其特征在于, 所述预设位置为 : 所述文件的初始地 址与末地址之间任意地址。
4: 一种驱动设备, 其特征在于, 包括 : 剪切单元, 用于在接收到将打开的文件存储到存储介质的请求时, 将所述文件的预设 位置上的数据剪切到所述文件的第一位置上, 所述文件的第一位置是所述文件的空闲位 置; 添加单元, 用于在所述文件的预设位置中添加加密标识 ; 加密单元, 用于在所述添加单元添加加密标识后, 对该文件中除所述加密标识外的其 他数据进行加密 ; 转存单元, 用于将加密后的所述文件的第一位置上的数据转存到驱动内存中, 并将所 述文件中添加单元添加的加密标识以及除所述文件的第一位置上的数据之外的加密后的 数据存储到存储介质中。
5: 根据权利要求 4 所述的装置, 其特征在于, 还包括 : 文件获取单元, 用于在转存单元将所述文件中除所述转存的数据外的其他数据存储到 存储介质后, 若接收到读取所述文件的请求时, 根据所述加密标识从存储介质中调出加密 后的数据 ; 解密单元, 用于对所述文件获取单元从存储介质中调出的加密后的数据进行解密, 得 到解密后的文件 ; 数据获取单元, 用于从所述驱动内存中获取所述文件的第一位置上的数据, 并对所述 文件的第一位置上的数据进行解密 ; 还原单元, 用于将所述数据获取单元解密的所述文件的第一位置上的数据还原到所述 解密单元解密后的文件的预设位置中。
6: 根据权利要求 4 或 5 所述的装置, 其特征在于, 所述驱动设备集成在客户端, 或独立 部署。
7: 一种客户端, 其特征在于, 包括 : 驱动设备和存储介质, 其中, 所述存储介质, 用于存储所述客户端的所有文件 ; 2 所述驱动设备, 用于在接收到将打开的文件存储到存储介质的请求时, 将所述文件的 预设位置上的数据剪切到所述文件的第一位置上, 所述文件的第一位置是所述文件的空闲 位置 ; 在所述文件的预设位置上中添加加密标识, 并对该文件中除所述加密标识外的其他 数据进行加密 ; 将加密后的所述文件的第一位置上的数据转存到驱动内存中, 并将所述文 件中的加密标识以及所述文件的第一位置上的数据之外的加密的数据存储到存储介质中。
8: 根据权利要求 7 所述的客户端, 其特征在于, 所述驱动设备包括 : 剪切单元, 用于在接收到将打开的文件存储到存储介质的请求时, 将所述文件的预设 位置上的数据剪切到所述文件的第一位置上 ; 添加单元, 用于在所述文件的预设位置上添加加密标识 ; 加密单元, 用于在所述添加单元添加加密标识后, 对该文件中除所述加密标识外的其 他数据进行加密 ; 转存单元, 用于将加密后的所述文件的第一位置上的数据转存到驱动内存中, 并将所 述文件中添加单元添加的加密标识以及所述文件的第一位置上的数据之外的加密后的数 据存储到存储介质中。
9: 根据权利要求 8 所述的客户端, 其特征在于, 所述驱动设备还包括 : 文件获取单元, 用于在转存单元将将所述文件中添加单元添加的加密标识以及所述文 件的第一位置上的数据之外的加密后的数据存储到存储介质后, 若接收到读取所述文件的 请求, 根据所述加密标识从存储介质中调出加密后的数据 ; 解密单元, 用于对所述文件获取单元获取的数据进行解密, 得到解密后的文件 ; 数据获取单元, 用于从所述驱动内存中获取所述文件的第一位置上的数据, 并对所述 文件的第一位置上的数据进行解密 ; 还原单元, 用于将所述数据获取单元解密的所述文件的第一位置上的数据还原到所述 解密单元解密后的文件的预设位置上中。

说明书


一种文件过滤的保护方法、 驱动设备及客户端

    技术领域 本发明涉及客户端的文件过滤技术, 特别涉及一种文件过滤的保护方法、 驱动设 备及客户端。
     背景技术 随着终端技术的发展, 透明加解密是文件加密系统的一个主要方向。透明加解密 是指, 一个文件虽然是加密的, 但是它的文件名、 后缀名都跟没加密前是一样的, 而且需要 处理这种文件的驱动程序也无需做任何改动。即文件的加密对于应用程序来说是透明的。
     要实现透明加解密, 一般需要在文件过滤驱动中对文件进行自动加解密。也就是 说, 驱动程序需要知道接收到的文件是否是加密的, 才能决定是否对这个文件进行加解密。 要做到这一点, 就需要在原文件添加一些特殊的数据, 用来标识该文件是否是加密文件, 但 是, 添加特殊的数据会改变文件的长度。而应用程序调用读取文件大小 {GetFileSize(*)} 函数返回的长度并不是文件的可读长度。所以, 驱动程序需要在调用 GetFileSize(*) 函数
     的时候, 返回 “磁盘中文件长度” 减去 “文件加密标识的长度” 。这样会带来非常多的问题。
     为了解决上述问题, 常用的方法包括三种 :
     第一种方案, 先压缩文件, 然后在压缩后多出来的空间中放加密标识 ; 比如, 一个 明文文件包括 2 个 512Bytes, 对明文文件的前一段 ( 如第 1 个 512Bytes) 进行压缩, 并将压 缩后的多出来的空间上添加加密标识。
     第二种方案 : 添加文件头, 即对明文文件添加文件头, 在文件头中添加加密标识 ; 并对该明文文件的数据进行急性加密 ; 比如, 一个明文文件包括 2 个 512Bytes, 在明文文件 ( 即 2 个 512Bytes) 前面添加文件头, 在文件头中添加加密标识, 但是, 取文件大小时, 需要 做特殊处理, 读文件时也需要作多次偏移, 容易出现乱码。
     第三种方案 : 添加文件尾, 即对明文文件添加文件尾, 在文件尾中添加加密标识 ; 并对该明文文件的数据进行急性加密 ; 其添加文件尾与添加文件头类似。
     在对现有技术的研究和实践过程中, 本发明的发明人发现, 在压缩文件的方案中, 对于已经压缩过的文件, 将有可能出现无法再压缩, 导致加密失败的情况。另外, 小于一定 大小的文件也无法通过压缩文件的方式加密。而添加文件头和文件尾的方案, 由于要处理 的场景非常多, 导致很容易出现乱码等问题。 因此, 目前在业界还没有较好的方案来解决上 述问题。 发明内容
     本发明实施例提供一种文件过滤的保护方法、 驱动设备及客户端, 以实现文件过 滤时的透明加解密的问题, 提高应用程序的识别效率。
     为解决上述技术问题, 本发明实施例提供一种文件过滤的保护方法, 所述方法包 括:
     当接收到将打开的文件存储到存储介质的请求时, 将所述文件中预设位置上的数据剪切到所述文件的第一位置上, 所述文件的第一位置是所述文件的空闲位置 ;
     在所述文件的预设位置上中添加加密标识, 并对所述文件中除所述加密标识外的 其他数据进行加密 ;
     将加密后的所述文件的第一位置上的数据转存到驱动内存中, 并将所述文件中的 加密标识以及所述文件的第一位置上的数据之外的加密后的数据存储到存储介质中。
     相应地, 本发明实施例提供一种驱动设备, 所述驱动设备包括 :
     剪切单元, 用于在接收到将打开的文件存储到存储介质的请求时, 将所述文件的 预设位置上的数据剪切到所述文件的第一位置上, 所述文件的第一位置是所述文件的空闲 位置 ;
     添加单元, 用于在所述文件的预设位置上中添加加密标识 ;
     加密单元, 用于在所述添加单元添加加密标识后, 对该文件中除所述加密标识外 的其他数据进行加密 ;
     转存单元, 用于将将加密后的所述文件的第一位置上的数据转存到驱动内存中, 并将所述文件中添加单元添加的加密标识以及所述文件的第一位置上的数据之外的加密 后的数据存储到存储介质中。
     相应地, 本发明实施例提供一种客户端, 所述客户端包括 : 驱动设备和存储介质, 其中,
     所述存储介质, 用于存储所述客户端的所有文件 ;
     所述驱动设备, 用于在接收到将打开的文件存储到存储介质的请求时, 将所述文 件的预设位置上的数据剪切到所述文件的第一位置上 ; 在所述预设位置上中添加加密标 识, 并对该文件中除所述加密标识外的其他数据进行加密 ; 将所述加密后的所述文件的第 一位置上的数据转存到驱动内存中, 并将所述文件中的加密标识以及所述文件的第一位置 上的数据之外的加密后的数据存储到存储介质中。
     由上述技术方案可知, 本发明实施例中, 当接收到将打开的文件存储到存储介质 的请求时, 将所述打开的文件的预设位置上的数据剪切到该文件的第一位置上, 并在剪切 数据的预设位置上添加加密标识, 以及对该文件中除所述加密标识外的其他数据进行加 密, 同时, 将所述剪切到所述文件的第一位置上的数据转存到驱动内存中, 并将所述文件中 的加密标识以及除所述文件的第一位置上的数据之外的加密后的数据存储到存储介质中。 也就是说, 虽然在打开的文件中预设位置上添加了加密标识, 而添加标识后文件的大小与 原文大小一样, 即将添加加密标识的预设位置上原来的数据剪切到驱动内存中, 即添加加 密标识后文件的大小与原文件大小一样, 这对应用程序来说是透明的, 也就是说, 应用程序 调用读取文件大小函数返回的长度就是该文件的可读长度, 驱动程序不需要再对该文件的 长度、 数据等进行处理。从而提高了应用程序的识别效率。 附图说明
     为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本 发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下, 还可 以根据这些附图获得其他的附图。图 1 为本发明实施例中提供的一种文件过滤的保护方法的流程图 ; 图 2 为本发明实施例中提供的一种文件过滤的保护方法的应用实例图 ; 图 3 为本发明实施例中提供的另一种文件过滤的保护方法的应用实例图 ; 图 4 为本发明实施例中提供的一种驱动设备的结构示意图 ; 图 5 为本发明实施例中提供的另一种驱动设备的结构示意图 ; 图 6 为本发明实施例中提供的一种客户端的结构示意图 ; 图 7 为本发明实施例提供的一种客户端的另一种结构示意图。具体实施方式
     下面我们将结合附图, 对本发明的实施方案进行详细描述。
     请参阅图 1, 为本发明实施例提供的一种文件过滤的保护方法的流程图, 所述方法 包括 :
     步骤 101 : 当接收到将打开的文件存储到存储介质的请求时, 将所述文件的预设 位置上的数据剪切到所述文件的第一位置上, 所述文件的第一位置是所述文件的空闲位 置; 其中, 该空闲位置可以是该文件的尾部。 这里所指的剪切可以是通常意义上的剪切, 也可以是将所述文件的预设位置上的 数据复制到所述文件的第一位置上后再将预设位置上的数据删除, 也可以是将所述文件的 预设位置上的数据复制到所述文件的第一位置, 待步骤 102 中在所述文件的预设位置中用 加密标识将原有的数据覆盖掉。
     其中, 所述预设位置为 : 所述文件的初始地址与末地址之间的任意位置, 且所述预 设位置的数据的长度是确定的, 比如, 5 个字节、 32 个字节等。
     所述存储介质可以是硬盘, 可以是闪存, 也可以是固态硬盘或者其他存储器。
     可选的, 所述打开的文件, 也就是说驱动能读取该文件的状态。但不限于此。
     步骤 102 : 在所述文件预设位置上中添加加密标识, 并对该文件中除所述加密标 识外的其他数据进行加密 ;
     步骤 103 : 将加密后的所述文件的第一位置上的数据转存到驱动内存中, 并将所 述文件中的加密标识以及除所述文件的第一位置上的数据之外的加密后的数据存储到存 储介质中。
     在该实施例中, 如果用户将打开的文件存储到存储介质时, 且需要加密存储, 即驱 动需要对该文件进行加密存储, 则驱动先提取所述文件中预设位置上的数据, 将所述提取 的预设位置上的数据转移到该文件的第一位置 ( 即空闲位置 ) 上, 并在转出数据的预设位 置上上添加加密标识, 以及对该文件中除所述加密标识外的其他数据进行加密, 同时, 将该 文件中转移到文件第一位置上的转移数据转存到驱动内存中, 并将该文件中添加的加密标 识以及除所述文件的第一位置上的数据之外的加密后的数据存储到存储介质中。也就是 说, 在本实施例中, 在打开的文件中预设位置上中添加了加密标识, 而添加标识后文件的大 小与原文大小一样, 即将添加加密标识的预设位置上中原来的数据转存到驱动内存中。即 由于文件的加密没有改变原文的大小, 这对应用程序来说是透明的, 也就是说, 应用程序调 用读取文件大小 {GetFileSize(*)} 函数返回的长度就是该文件的可读长度, 驱动程序不 需要再对该文件的长度、 数据等进行处理, 从而提高了应用程序的识别效率。当然, 本领域
     人员应该知道, 由于应用程序的不同, 读取函数也可能不是 {GetFileSize(*)}, 只要能读取 文件的大小即可。
     可选的, 所述方法还可以包括 :
     在接收到读取所述文件的请求时, 根据所述加密标识从存储介质中获取所述文 件, 并对所述文件进行解密, 得到解密后的文件 ;
     在读取所述文件时, 从所述驱动内存中获取所述文件的第一位置上的数据, 并对 所述文件的第一位置上的数据进行解密, 并将解密的所述文件的第一位置上数据还原到所 述解密后的文件的预设位置上中。
     可选的, 所述文件的预设位置上可以为 : 所述文件的初始地址与末地址之间任意 地址, 也就是说, 可以为文件中任何一个固定字节, 本实施例不做限制。 例如, 可以是起始地 址对应的固定字节等。
     在该实施例中, 在需要打开加密文件时, 先把加密文件的大小改变为原文的大小, 即先根据所述加密标识从存储介质中调出加密后的数据, 并对所述从存储介质中调出的加 密后的数据进行解密, 得到解密后的数据 ; 然后从驱动内存中获取所述文件的第一位置上 的数据, 并对所述文件的第一位置上的数据进行解密, 将解密的所述文件的第一位置上的 数据还原到所述解密后的文件的预设位置中。即在读取文件, 由于文件的加密没有改变原 文的大小, 这对应用程序来说是透明的, 提高了应用程序的识别效率。 还请参阅图 2, 为本发明实施例中提供的一种文件过滤的保护方法的应用实例图 ; 在该实施例中, 以在明文文件的前面添加加密标识为例, 但并不限此。如图所示, 对打开的 明文文件 .txt 在存储时进行加解密, 在该实施例,
     步骤 201 : 驱动接收到将打开的明文文件 .txt 存储到存储介质的请求 ; 图中的, 明 文文件用斜线表示。需要说明的是, .txt 文件格式仅是用于举例, 在其它实施例中也可以 是 .xls、 .doc 等多种文件格式。
     步骤 202 : 驱动将该明文文件的前面预设位置上的数据转移到该文件的尾部 ( 即 第一位置 ), 其中, 所述预设位置上如该明文文件中虚线所示的空间 ;
     步骤 203 : 驱动将该明文文件中前面空出来的地方 ( 即预设位置处 ) 添加加密标 识, 其加密标识如图中的 “......” 所示, 并对该明文文件中除该加密标识之外的其他数据 进行加密, 其加密后的明文文件用交叉线表示 ;
     步骤 204 : 驱动将加密后的该明文文件中尾部的存储的转移的数据剪切出来 ;
     步骤 205 : 驱动将剪切出来的数据存储到驱动内存中, 并将该明文文件中添加的 加密标识以及除所述文件的第一位置上的数据之外的加密后的数据存储到存储介质中 ;
     步骤 206 : 驱动在接收到读取所述明文文件的请求时, 根据所述加密标识从存储 介质中调出所述加密后的明文文件, 并对所述明文文件进行解密, 得到解密后的明文文件 ; 驱动在读取所述明文文件时, 从所述驱动内存中获取所述明文文件的预设位置上的数据, 并对该数据进行解密 ; 以及将所述解密后的数据还原到所述解密单元解密后的文件的预设 位置上中, 并返回所述还原后的明文文件。
     在本发明实施例中, 对需要加密的明文文件, 先将在明文文件的起始的预设位置 上中的数据存储在该明文文件的尾部的第一位置中, 在对该明文文件中的预设位置上中添 加加密标识, 之后, 对该明文文件中除了加密标识外的其他数据进行加密, 最后, 将加密后
     的明文文件中的尾部第一位置存储的数据转移到驱动内存中, 以便于在驱动读取该加密后 明文文件时, 先从驱动内存中获取该明文文件的尾部 ( 即第一位置 ) 存储的数据, 在将其还 原到原明文文件的预设位置上中, 以使该明文文件的实际长度与原文的长度一样, 这样, 就 不会导致实际文件的大小和应用程序所获取到文件的大小不一致的问题, 这种在对文件过 滤时对文件进行自动加解密的方式, 由于其加密前后文件的大小没有发生变化, 对于应用 程序来说, 在文件过滤时对文件进行自动加解密是透明的, 从而提高了应用程序的识别效 率。
     还请参阅图 3, 为本发明实施例中提供的另一种文件过滤的保护方法的应用实例 图。在该实施例中, 包括写请求和读请求, 当然, 在其他实施例, 也可以只包括写请求, 或者 读请求, 本实施例不做限制, 本实施例中的预设位置以固定字节为例, 其实现过程如图所示 包括 :
     步骤 301 : 应用层接收到用户要将明文文件存储到存储介质的请求时, 向驱动发 送写请求 ;
     其中, 所述写请求中可以包括将明文文件加密后存储在存储介质上, 但并不限于 此。 步骤 302 : 驱动将该明文文件的前面固定字节的数据转移到该文件的尾部 ( 即第 一位置, 该第一位置为空闲位置 ) ;
     本实施例以将该明文文件前面固定字节的数据转移到该文件的尾部为例, 但并不 限于此。
     步骤 303 : 驱动将该明文文件中前面空出来的地方 ( 即固定字节处 ) 添加加密标 识, 并对该明文文件中除该加密标识之外的其他数据进行加密 ;
     步骤 304 : 驱动将放在该明文文件尾部的转移后的数据剪切出来, 存储到驱动内 存中 ;
     步骤 305 : 驱动将该明文文件中的加密标识以及所述该文件的尾部的数据之外的 加密后的数据存储到存储介质中 ;
     步骤 306 : 驱动应用层反馈写响应 ;
     步骤 307 : 应用层向驱动发送读请求 ;
     其中, 所述读请求中包括读取存储介质中存储的文件。
     步骤 308 : 驱动在接收到所述读请求时, 根据所述加密标识从存储介质中调出所 述明文文件 ;
     步骤 309 : 驱动对所述从存储介质中调出的加密后的明文文件进行解密, 得到解 密后的明文文件 ;
     步骤 310 : 驱动在读取所述明文文件时, 从所述驱动内存中获取所述明文文件的 固定字节的数据 ; 并将所述获取的数据还原到解密后的明文文件的固定字节中 ;
     步骤 311 : 驱动向应用层发送读响应 ;
     步骤 312 : 应用层在接收到驱动发送读响应后, 打该明文文件, 并将该明文文件展 现给用户。
     在该实施例中, 在打开的明文文件中固定字节的数据转存到该名文件的空闲字节 中, 并在该固定字节中添加加密标识, 之后, 对该明文文件中除了该加密标识外的其他数据
     进行加密, 并将加密后的该明文文件中存储在空闲部分的数据转存到驱动内存中, 从而使 添加加密标识后该明文文件的大小与原明文文件的大小一样, 也就是说, 由于文件的加密 没有改变原文的大小, 这对应用程序来说是透明的, 也就是说, 应用程序调用读取文件大小 {GetFileSize(*)} 函数返回的长度就是该文件的可读长度, 驱动程序不需要再对该文件的 长度、 数据等进行处理, 从而提高了应用程序的识别效率。
     本发明实施例还提供一种驱动设备, 其结构示意图如图 4 所示, 所述驱动设备包 括: 剪切单元 41, 添加单元 42, 加密单元 43 和转存单元 44, 其中, 剪切单元 41, 用于在接收 到将打开的文件存储到存储介质的请求时, 将所述文件的预设位置上的数据剪切到所述文 件的第一位置上, 所述文件的第一位置是所述文件的空闲位置 ; 添加单元 42, 用于在所述 文件的预设位置上中添加加密标识 ; 加密单元 43, 用于在所述添加单元 42 添加加密标识 后, 对该文件中除所述加密标识外的其他数据进行加密 ; 转存单元 44, 用于将加密后的所 述文件的第一位置上的数据转存到驱动内存中, 并将所述文件中添加单元添加的加密标识 以及所述文件的第一位置上的数据之外的加密后的数据存储到存储介质中。
     所述驱动设备中各个单元的功能的实现过程详见上述方法中对应的实现过程, 具 体详见上述, 在此不再赘述。
     在该实施例中, 在打开的文件中预设位置上的数据转存到该名文件的第一位置 中, 并在该预设位置上中添加加密标识, 之后, 对该文件中除了该加密标识外的其他数据进 行加密, 并将加密后的该文件中第一位置的数据转存到驱动内存中, 从而使添加加密标识 后该文件的大小与原明文文件的大小一样, 提高了应用程序的识别效率。
     在图 4 的基础上, 所述驱动设备还可以包括 : 文件获取单元 51, 解密单元 52, 数据 获取单元 53 和还原单元 54, 其结构示意图详见图 5, 为本发明实施例提供的另一种驱动设 备的结构示意图, 如图所示, 文件获取单元 51, 用于在转存单元将所述文件中除所述转存的 数据外的其他数据存储到存储介质后, 若接收到读取所述文件的请求时, 根据所述加密标 识从存储介质中调出加密后的数据 ; 解密单元 52, 用于对所述文件获取单元从存储介质中 调出的加密后的数据进行解密, 得到解密后的文件 ; 数据获取单元 53, 用于在读取所述文 件时, 从所述驱动内存中获取所述文件的第一位置上的数据, 并对所述文件的第一位置上 的数据进行解密 ; 还原单元 54, 用于将所述数据获取单元解密的所述文件的第一位置上的 数据还原到所述解密单元解密后的文件的预设位置上中 ; 还可以返回所述还原后的文件。
     在本发明实施例中, 所述驱动设备可以集成在客户端, 也可以独立部署, 本实施例 不做限制。
     所述驱动设备中各个单元的功能的实现过程详见上述方法中对应的实现过程, 具 体详见上述, 在此不再赘述。
     在该实施例中, 在需要打开加密文件时, 先把加密文件的大小改变为原文的大小, 即先根据所述加密标识从存储介质中获取所述文件, 并对所述文件进行解密, 得到解密后 的文件 ; 然后从驱动内存中获取固定字节中原来的数据, 将该数据还原到解密后的文件中。 即在读取文件, 由于文件的加密没有改变原文的大小, 避免在驱动过滤文件时由于文件的 加密改变了原文大小所带来的问题, 从而提高了应用程序的识别效率。
     本发明实施例还提供一种客户端, 其一种结构示意图详见图 6, 所述客户端包括 : 驱动设备 61 和存储介质 62, 其中, 所述存储介质 62, 用于存储所述客户端的所有文件 ; 所述驱动设备 61, 用于在接收到将打开的文件存储到存储介质的请求时, 将所述文件的预设位 置上的数据剪切到所述文件的第一位置上, 所述文件的第一位置是所述文件的空闲位置 ; 在所述文件的预设位置上中添加加密标识, 并对该文件中除所述加密标识外的其他数据进 行加密 ; 将加密后的所述文件的第一位置上的数据转存到驱动内存中, 并将所述文件中的 加密标识以及所述文件的第一位置上的数据之外的加密后的数据存储到存储介质中。
     可选的, 所述驱动设备包括 : 剪切单元 611, 添加单元 612, 加密单元 613 和转存单 元 614, 其各个单元的功能和作用与图 4 中各个单元的功能和作用相同, 具体详见上述, 在 此不再赘述。
     可选的, 在图 6 的基础上, 所述驱动设备还可以包括 : 文件获取单元 615, 解密单元 616, 数据获取单元 617 和还原单元 618, 具体如图 7 所示, 为本发明实施例提供的客户端的 另一种结构示意图。其中, 各个单元的功能和作用与图 5 中各个单元的功能和作用相同, 具 体详见上述, 在此不再赘述。
     由此可知, 在本发明实施例中, 对需要加密的文件, 在存储时, 先对该文件添加了 加密标识, 再对该文件中除了加密标识外的其他数据进行加密, 并将加密后的以便于在对 该加密文件使用时, 其文件的实际长度与原文的长度一样, 就不会导致实际文件的大小和 应用程序所获取到文件不一致的问题, 对于应用程序来说, 在文件过滤时对文件进行自动 加解密是透明的。 本发明实施例主要是在文件中添加了部分文件数据 ( 比如加密标识 ), 但是在打 开文件时, 先把文件的大小改变回到原文大小, 这样就不会存在实际文件大小和应用程序 所获取到的文件大小不一致的问题。也就是说, 对需要加密的文件, 在存储时, 先对该明文 文件添加了加密标识 ( 本实施例以在明文明见的前面添加加密标识为例 ), 再对该文件中 除了加密标识外的其他数据进行加密, 然后, 将加密后的明文文件中的尾部转移后的数据 转移到驱动内存中, 以便于在读取该加密文件时, 再将其从驱动内存中还原到原明文文件 中, 以使该明文文件的实际长度与原文的长度一样, 就不会导致实际文件的大小和应用程 序所获取到文件的大小不一致的问题, 这种, 在对文件过滤时对文件进行自动加解密的方 式, 由于其加密前后文件的大小没有发生变化, 对于应用程序来说, 在文件过滤时对文件进 行自动加解密是透明的。从而提高了应用程序的识别效率。
     需要说明的是, 在本文中, 诸如第一和第二等之类的关系术语仅仅用来将一个实 体或者操作与另一个实体或操作区分开来, 而不一定要求或者暗示这些实体或操作之间存 在任何这种实际的关系或者顺序。而且, 术语 “包括” 、 “包含” 或者其任何其他变体意在涵 盖非排他性的包含, 从而使得包括一系列要素的过程、 方法、 物品或者设备不仅包括那些要 素, 而且还包括没有明确列出的其他要素, 或者是还包括为这种过程、 方法、 物品或者设备 所固有的要素。在没有更多限制的情况下, 由语句 “包括一个 ......” 限定的要素, 并不排 除在包括所述要素的过程、 方法、 物品或者设备中还存在另外的相同要素。
     通过以上的实施方式的描述, 本领域的技术人员可以清楚地了解到本发明可借助 软件加必需的通用硬件平台的方式来实现, 当然也可以通过硬件, 但很多情况下前者是更 佳的实施方式。基于这样的理解, 本发明的技术方案本质上或者说对现有技术做出贡献的 部分可以以软件产品的形式体现出来, 该计算机软件产品可以存储在存储介质中, 如 ROM/ RAM、 磁碟、 光盘等, 包括若干指令用以使得一台计算机设备 ( 可以是个人计算机, 服务器,
     或者网络设备等 ) 执行本发明各个实施例或者实施例的某些部分所述的方法。
     以上所述仅是本发明的优选实施方式, 应当指出, 对于本技术领域的普通技术人 员来说, 在不脱离本发明原理的前提下, 还可以作出若干改进和润饰, 这些改进和润饰也应 视为本发明的保护范围。

一种文件过滤的保护方法、驱动设备及客户端.pdf_第1页
第1页 / 共15页
一种文件过滤的保护方法、驱动设备及客户端.pdf_第2页
第2页 / 共15页
一种文件过滤的保护方法、驱动设备及客户端.pdf_第3页
第3页 / 共15页
点击查看更多>>
资源描述

《一种文件过滤的保护方法、驱动设备及客户端.pdf》由会员分享,可在线阅读,更多相关《一种文件过滤的保护方法、驱动设备及客户端.pdf(15页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN102314579A43申请公布日20120111CN102314579ACN102314579A21申请号201010217563822申请日20100701G06F21/2420060171申请人成都市华为赛门铁克科技有限公司地址611731四川省成都市高新区西部园区清水河片区72发明人陈良德74专利代理机构深圳市深佳知识产权代理事务所普通合伙44285代理人彭愿洁李文红54发明名称一种文件过滤的保护方法、驱动设备及客户端57摘要本发明实施例涉及一种文件过滤的保护方法、驱动设备及客户端。所述方法包括当接收到将打开的文件存储到存储介质的请求时,剪切所述文件中预设位置上的数据。

2、到所述文件的第一位置上;在所述预设位置上中添加加密标识,并对所述文件中除所述加密标识外的其他数据进行加密;将加密后的所述文件的第一位置上的数据转存到驱动内存中,并将所述文件中的加密标识以及所述文件的第一位置上的数据之外的数据存储到存储介质中。以实现文件过滤时的透明加解密的问题,提高了应用程序的识别效率。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书8页附图4页CN102314583A1/2页21一种文件过滤的保护方法,其特征在于,包括当接收到将打开的文件存储到存储介质的请求时,将所述文件的预设位置上的数据剪切到所述文件的第一位置上,所述文件的第一位置是所述文。

3、件的空闲位置;在所述文件的预设位置中添加加密标识,并对所述文件中除所述加密标识外的其他数据进行加密;将加密后的所述文件的第一位置上的数据转存到驱动内存中,并将所述文件中的加密标识以及除所述文件的第一位置上的数据之外的加密后的数据存储到存储介质中。2根据权利要求1所述的方法,其特征在于,所述方法之后,还进一步包括在接收到读取所述文件的请求时,根据所述加密标识从存储介质中调出加密后的数据,并对所述从存储介质中调出的加密后的数据进行解密,得到解密后的文件;从所述驱动内存中获取所述文件的第一位置上的数据,并对所述文件的第一位置上的数据进行解密,将解密后的所述文件的第一位置上的数据还原到所述解密后的文件。

4、的预设位置中。3根据权利要求1或2所述的方法,其特征在于,所述预设位置为所述文件的初始地址与末地址之间任意地址。4一种驱动设备,其特征在于,包括剪切单元,用于在接收到将打开的文件存储到存储介质的请求时,将所述文件的预设位置上的数据剪切到所述文件的第一位置上,所述文件的第一位置是所述文件的空闲位置;添加单元,用于在所述文件的预设位置中添加加密标识;加密单元,用于在所述添加单元添加加密标识后,对该文件中除所述加密标识外的其他数据进行加密;转存单元,用于将加密后的所述文件的第一位置上的数据转存到驱动内存中,并将所述文件中添加单元添加的加密标识以及除所述文件的第一位置上的数据之外的加密后的数据存储到存。

5、储介质中。5根据权利要求4所述的装置,其特征在于,还包括文件获取单元,用于在转存单元将所述文件中除所述转存的数据外的其他数据存储到存储介质后,若接收到读取所述文件的请求时,根据所述加密标识从存储介质中调出加密后的数据;解密单元,用于对所述文件获取单元从存储介质中调出的加密后的数据进行解密,得到解密后的文件;数据获取单元,用于从所述驱动内存中获取所述文件的第一位置上的数据,并对所述文件的第一位置上的数据进行解密;还原单元,用于将所述数据获取单元解密的所述文件的第一位置上的数据还原到所述解密单元解密后的文件的预设位置中。6根据权利要求4或5所述的装置,其特征在于,所述驱动设备集成在客户端,或独立部。

6、署。7一种客户端,其特征在于,包括驱动设备和存储介质,其中,所述存储介质,用于存储所述客户端的所有文件;权利要求书CN102314579ACN102314583A2/2页3所述驱动设备,用于在接收到将打开的文件存储到存储介质的请求时,将所述文件的预设位置上的数据剪切到所述文件的第一位置上,所述文件的第一位置是所述文件的空闲位置;在所述文件的预设位置上中添加加密标识,并对该文件中除所述加密标识外的其他数据进行加密;将加密后的所述文件的第一位置上的数据转存到驱动内存中,并将所述文件中的加密标识以及所述文件的第一位置上的数据之外的加密的数据存储到存储介质中。8根据权利要求7所述的客户端,其特征在于,。

7、所述驱动设备包括剪切单元,用于在接收到将打开的文件存储到存储介质的请求时,将所述文件的预设位置上的数据剪切到所述文件的第一位置上;添加单元,用于在所述文件的预设位置上添加加密标识;加密单元,用于在所述添加单元添加加密标识后,对该文件中除所述加密标识外的其他数据进行加密;转存单元,用于将加密后的所述文件的第一位置上的数据转存到驱动内存中,并将所述文件中添加单元添加的加密标识以及所述文件的第一位置上的数据之外的加密后的数据存储到存储介质中。9根据权利要求8所述的客户端,其特征在于,所述驱动设备还包括文件获取单元,用于在转存单元将将所述文件中添加单元添加的加密标识以及所述文件的第一位置上的数据之外的。

8、加密后的数据存储到存储介质后,若接收到读取所述文件的请求,根据所述加密标识从存储介质中调出加密后的数据;解密单元,用于对所述文件获取单元获取的数据进行解密,得到解密后的文件;数据获取单元,用于从所述驱动内存中获取所述文件的第一位置上的数据,并对所述文件的第一位置上的数据进行解密;还原单元,用于将所述数据获取单元解密的所述文件的第一位置上的数据还原到所述解密单元解密后的文件的预设位置上中。权利要求书CN102314579ACN102314583A1/8页4一种文件过滤的保护方法、驱动设备及客户端技术领域0001本发明涉及客户端的文件过滤技术,特别涉及一种文件过滤的保护方法、驱动设备及客户端。背景。

9、技术0002随着终端技术的发展,透明加解密是文件加密系统的一个主要方向。透明加解密是指,一个文件虽然是加密的,但是它的文件名、后缀名都跟没加密前是一样的,而且需要处理这种文件的驱动程序也无需做任何改动。即文件的加密对于应用程序来说是透明的。0003要实现透明加解密,一般需要在文件过滤驱动中对文件进行自动加解密。也就是说,驱动程序需要知道接收到的文件是否是加密的,才能决定是否对这个文件进行加解密。要做到这一点,就需要在原文件添加一些特殊的数据,用来标识该文件是否是加密文件,但是,添加特殊的数据会改变文件的长度。而应用程序调用读取文件大小GETFILESIZE函数返回的长度并不是文件的可读长度。所。

10、以,驱动程序需要在调用GETFILESIZE函数的时候,返回“磁盘中文件长度”减去“文件加密标识的长度”。这样会带来非常多的问题。0004为了解决上述问题,常用的方法包括三种0005第一种方案,先压缩文件,然后在压缩后多出来的空间中放加密标识;比如,一个明文文件包括2个512BYTES,对明文文件的前一段如第1个512BYTES进行压缩,并将压缩后的多出来的空间上添加加密标识。0006第二种方案添加文件头,即对明文文件添加文件头,在文件头中添加加密标识;并对该明文文件的数据进行急性加密;比如,一个明文文件包括2个512BYTES,在明文文件即2个512BYTES前面添加文件头,在文件头中添加加。

11、密标识,但是,取文件大小时,需要做特殊处理,读文件时也需要作多次偏移,容易出现乱码。0007第三种方案添加文件尾,即对明文文件添加文件尾,在文件尾中添加加密标识;并对该明文文件的数据进行急性加密;其添加文件尾与添加文件头类似。0008在对现有技术的研究和实践过程中,本发明的发明人发现,在压缩文件的方案中,对于已经压缩过的文件,将有可能出现无法再压缩,导致加密失败的情况。另外,小于一定大小的文件也无法通过压缩文件的方式加密。而添加文件头和文件尾的方案,由于要处理的场景非常多,导致很容易出现乱码等问题。因此,目前在业界还没有较好的方案来解决上述问题。发明内容0009本发明实施例提供一种文件过滤的保。

12、护方法、驱动设备及客户端,以实现文件过滤时的透明加解密的问题,提高应用程序的识别效率。0010为解决上述技术问题,本发明实施例提供一种文件过滤的保护方法,所述方法包括0011当接收到将打开的文件存储到存储介质的请求时,将所述文件中预设位置上的数说明书CN102314579ACN102314583A2/8页5据剪切到所述文件的第一位置上,所述文件的第一位置是所述文件的空闲位置;0012在所述文件的预设位置上中添加加密标识,并对所述文件中除所述加密标识外的其他数据进行加密;0013将加密后的所述文件的第一位置上的数据转存到驱动内存中,并将所述文件中的加密标识以及所述文件的第一位置上的数据之外的加密。

13、后的数据存储到存储介质中。0014相应地,本发明实施例提供一种驱动设备,所述驱动设备包括0015剪切单元,用于在接收到将打开的文件存储到存储介质的请求时,将所述文件的预设位置上的数据剪切到所述文件的第一位置上,所述文件的第一位置是所述文件的空闲位置;0016添加单元,用于在所述文件的预设位置上中添加加密标识;0017加密单元,用于在所述添加单元添加加密标识后,对该文件中除所述加密标识外的其他数据进行加密;0018转存单元,用于将将加密后的所述文件的第一位置上的数据转存到驱动内存中,并将所述文件中添加单元添加的加密标识以及所述文件的第一位置上的数据之外的加密后的数据存储到存储介质中。0019相应。

14、地,本发明实施例提供一种客户端,所述客户端包括驱动设备和存储介质,其中,0020所述存储介质,用于存储所述客户端的所有文件;0021所述驱动设备,用于在接收到将打开的文件存储到存储介质的请求时,将所述文件的预设位置上的数据剪切到所述文件的第一位置上;在所述预设位置上中添加加密标识,并对该文件中除所述加密标识外的其他数据进行加密;将所述加密后的所述文件的第一位置上的数据转存到驱动内存中,并将所述文件中的加密标识以及所述文件的第一位置上的数据之外的加密后的数据存储到存储介质中。0022由上述技术方案可知,本发明实施例中,当接收到将打开的文件存储到存储介质的请求时,将所述打开的文件的预设位置上的数据。

15、剪切到该文件的第一位置上,并在剪切数据的预设位置上添加加密标识,以及对该文件中除所述加密标识外的其他数据进行加密,同时,将所述剪切到所述文件的第一位置上的数据转存到驱动内存中,并将所述文件中的加密标识以及除所述文件的第一位置上的数据之外的加密后的数据存储到存储介质中。也就是说,虽然在打开的文件中预设位置上添加了加密标识,而添加标识后文件的大小与原文大小一样,即将添加加密标识的预设位置上原来的数据剪切到驱动内存中,即添加加密标识后文件的大小与原文件大小一样,这对应用程序来说是透明的,也就是说,应用程序调用读取文件大小函数返回的长度就是该文件的可读长度,驱动程序不需要再对该文件的长度、数据等进行处。

16、理。从而提高了应用程序的识别效率。附图说明0023为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。说明书CN102314579ACN102314583A3/8页60024图1为本发明实施例中提供的一种文件过滤的保护方法的流程图;0025图2为本发明实施例中提供的一种文件过滤的保护方法的应用实例图;0026图3为本发明实施例中提供的另一种文件过滤的保护方法的应用实例图;0027图4为本发明。

17、实施例中提供的一种驱动设备的结构示意图;0028图5为本发明实施例中提供的另一种驱动设备的结构示意图;0029图6为本发明实施例中提供的一种客户端的结构示意图;0030图7为本发明实施例提供的一种客户端的另一种结构示意图。具体实施方式0031下面我们将结合附图,对本发明的实施方案进行详细描述。0032请参阅图1,为本发明实施例提供的一种文件过滤的保护方法的流程图,所述方法包括0033步骤101当接收到将打开的文件存储到存储介质的请求时,将所述文件的预设位置上的数据剪切到所述文件的第一位置上,所述文件的第一位置是所述文件的空闲位置;其中,该空闲位置可以是该文件的尾部。0034这里所指的剪切可以是。

18、通常意义上的剪切,也可以是将所述文件的预设位置上的数据复制到所述文件的第一位置上后再将预设位置上的数据删除,也可以是将所述文件的预设位置上的数据复制到所述文件的第一位置,待步骤102中在所述文件的预设位置中用加密标识将原有的数据覆盖掉。0035其中,所述预设位置为所述文件的初始地址与末地址之间的任意位置,且所述预设位置的数据的长度是确定的,比如,5个字节、32个字节等。0036所述存储介质可以是硬盘,可以是闪存,也可以是固态硬盘或者其他存储器。0037可选的,所述打开的文件,也就是说驱动能读取该文件的状态。但不限于此。0038步骤102在所述文件预设位置上中添加加密标识,并对该文件中除所述加密。

19、标识外的其他数据进行加密;0039步骤103将加密后的所述文件的第一位置上的数据转存到驱动内存中,并将所述文件中的加密标识以及除所述文件的第一位置上的数据之外的加密后的数据存储到存储介质中。0040在该实施例中,如果用户将打开的文件存储到存储介质时,且需要加密存储,即驱动需要对该文件进行加密存储,则驱动先提取所述文件中预设位置上的数据,将所述提取的预设位置上的数据转移到该文件的第一位置即空闲位置上,并在转出数据的预设位置上上添加加密标识,以及对该文件中除所述加密标识外的其他数据进行加密,同时,将该文件中转移到文件第一位置上的转移数据转存到驱动内存中,并将该文件中添加的加密标识以及除所述文件的第。

20、一位置上的数据之外的加密后的数据存储到存储介质中。也就是说,在本实施例中,在打开的文件中预设位置上中添加了加密标识,而添加标识后文件的大小与原文大小一样,即将添加加密标识的预设位置上中原来的数据转存到驱动内存中。即由于文件的加密没有改变原文的大小,这对应用程序来说是透明的,也就是说,应用程序调用读取文件大小GETFILESIZE函数返回的长度就是该文件的可读长度,驱动程序不需要再对该文件的长度、数据等进行处理,从而提高了应用程序的识别效率。当然,本领域说明书CN102314579ACN102314583A4/8页7人员应该知道,由于应用程序的不同,读取函数也可能不是GETFILESIZE,只要。

21、能读取文件的大小即可。0041可选的,所述方法还可以包括0042在接收到读取所述文件的请求时,根据所述加密标识从存储介质中获取所述文件,并对所述文件进行解密,得到解密后的文件;0043在读取所述文件时,从所述驱动内存中获取所述文件的第一位置上的数据,并对所述文件的第一位置上的数据进行解密,并将解密的所述文件的第一位置上数据还原到所述解密后的文件的预设位置上中。0044可选的,所述文件的预设位置上可以为所述文件的初始地址与末地址之间任意地址,也就是说,可以为文件中任何一个固定字节,本实施例不做限制。例如,可以是起始地址对应的固定字节等。0045在该实施例中,在需要打开加密文件时,先把加密文件的大。

22、小改变为原文的大小,即先根据所述加密标识从存储介质中调出加密后的数据,并对所述从存储介质中调出的加密后的数据进行解密,得到解密后的数据;然后从驱动内存中获取所述文件的第一位置上的数据,并对所述文件的第一位置上的数据进行解密,将解密的所述文件的第一位置上的数据还原到所述解密后的文件的预设位置中。即在读取文件,由于文件的加密没有改变原文的大小,这对应用程序来说是透明的,提高了应用程序的识别效率。0046还请参阅图2,为本发明实施例中提供的一种文件过滤的保护方法的应用实例图;在该实施例中,以在明文文件的前面添加加密标识为例,但并不限此。如图所示,对打开的明文文件TXT在存储时进行加解密,在该实施例,。

23、0047步骤201驱动接收到将打开的明文文件TXT存储到存储介质的请求;图中的,明文文件用斜线表示。需要说明的是,TXT文件格式仅是用于举例,在其它实施例中也可以是XLS、DOC等多种文件格式。0048步骤202驱动将该明文文件的前面预设位置上的数据转移到该文件的尾部即第一位置,其中,所述预设位置上如该明文文件中虚线所示的空间;0049步骤203驱动将该明文文件中前面空出来的地方即预设位置处添加加密标识,其加密标识如图中的“”所示,并对该明文文件中除该加密标识之外的其他数据进行加密,其加密后的明文文件用交叉线表示;0050步骤204驱动将加密后的该明文文件中尾部的存储的转移的数据剪切出来;00。

24、51步骤205驱动将剪切出来的数据存储到驱动内存中,并将该明文文件中添加的加密标识以及除所述文件的第一位置上的数据之外的加密后的数据存储到存储介质中;0052步骤206驱动在接收到读取所述明文文件的请求时,根据所述加密标识从存储介质中调出所述加密后的明文文件,并对所述明文文件进行解密,得到解密后的明文文件;驱动在读取所述明文文件时,从所述驱动内存中获取所述明文文件的预设位置上的数据,并对该数据进行解密;以及将所述解密后的数据还原到所述解密单元解密后的文件的预设位置上中,并返回所述还原后的明文文件。0053在本发明实施例中,对需要加密的明文文件,先将在明文文件的起始的预设位置上中的数据存储在该明。

25、文文件的尾部的第一位置中,在对该明文文件中的预设位置上中添加加密标识,之后,对该明文文件中除了加密标识外的其他数据进行加密,最后,将加密后说明书CN102314579ACN102314583A5/8页8的明文文件中的尾部第一位置存储的数据转移到驱动内存中,以便于在驱动读取该加密后明文文件时,先从驱动内存中获取该明文文件的尾部即第一位置存储的数据,在将其还原到原明文文件的预设位置上中,以使该明文文件的实际长度与原文的长度一样,这样,就不会导致实际文件的大小和应用程序所获取到文件的大小不一致的问题,这种在对文件过滤时对文件进行自动加解密的方式,由于其加密前后文件的大小没有发生变化,对于应用程序来说。

26、,在文件过滤时对文件进行自动加解密是透明的,从而提高了应用程序的识别效率。0054还请参阅图3,为本发明实施例中提供的另一种文件过滤的保护方法的应用实例图。在该实施例中,包括写请求和读请求,当然,在其他实施例,也可以只包括写请求,或者读请求,本实施例不做限制,本实施例中的预设位置以固定字节为例,其实现过程如图所示包括0055步骤301应用层接收到用户要将明文文件存储到存储介质的请求时,向驱动发送写请求;0056其中,所述写请求中可以包括将明文文件加密后存储在存储介质上,但并不限于此。0057步骤302驱动将该明文文件的前面固定字节的数据转移到该文件的尾部即第一位置,该第一位置为空闲位置;005。

27、8本实施例以将该明文文件前面固定字节的数据转移到该文件的尾部为例,但并不限于此。0059步骤303驱动将该明文文件中前面空出来的地方即固定字节处添加加密标识,并对该明文文件中除该加密标识之外的其他数据进行加密;0060步骤304驱动将放在该明文文件尾部的转移后的数据剪切出来,存储到驱动内存中;0061步骤305驱动将该明文文件中的加密标识以及所述该文件的尾部的数据之外的加密后的数据存储到存储介质中;0062步骤306驱动应用层反馈写响应;0063步骤307应用层向驱动发送读请求;0064其中,所述读请求中包括读取存储介质中存储的文件。0065步骤308驱动在接收到所述读请求时,根据所述加密标识。

28、从存储介质中调出所述明文文件;0066步骤309驱动对所述从存储介质中调出的加密后的明文文件进行解密,得到解密后的明文文件;0067步骤310驱动在读取所述明文文件时,从所述驱动内存中获取所述明文文件的固定字节的数据;并将所述获取的数据还原到解密后的明文文件的固定字节中;0068步骤311驱动向应用层发送读响应;0069步骤312应用层在接收到驱动发送读响应后,打该明文文件,并将该明文文件展现给用户。0070在该实施例中,在打开的明文文件中固定字节的数据转存到该名文件的空闲字节中,并在该固定字节中添加加密标识,之后,对该明文文件中除了该加密标识外的其他数据说明书CN102314579ACN10。

29、2314583A6/8页9进行加密,并将加密后的该明文文件中存储在空闲部分的数据转存到驱动内存中,从而使添加加密标识后该明文文件的大小与原明文文件的大小一样,也就是说,由于文件的加密没有改变原文的大小,这对应用程序来说是透明的,也就是说,应用程序调用读取文件大小GETFILESIZE函数返回的长度就是该文件的可读长度,驱动程序不需要再对该文件的长度、数据等进行处理,从而提高了应用程序的识别效率。0071本发明实施例还提供一种驱动设备,其结构示意图如图4所示,所述驱动设备包括剪切单元41,添加单元42,加密单元43和转存单元44,其中,剪切单元41,用于在接收到将打开的文件存储到存储介质的请求时。

30、,将所述文件的预设位置上的数据剪切到所述文件的第一位置上,所述文件的第一位置是所述文件的空闲位置;添加单元42,用于在所述文件的预设位置上中添加加密标识;加密单元43,用于在所述添加单元42添加加密标识后,对该文件中除所述加密标识外的其他数据进行加密;转存单元44,用于将加密后的所述文件的第一位置上的数据转存到驱动内存中,并将所述文件中添加单元添加的加密标识以及所述文件的第一位置上的数据之外的加密后的数据存储到存储介质中。0072所述驱动设备中各个单元的功能的实现过程详见上述方法中对应的实现过程,具体详见上述,在此不再赘述。0073在该实施例中,在打开的文件中预设位置上的数据转存到该名文件的第。

31、一位置中,并在该预设位置上中添加加密标识,之后,对该文件中除了该加密标识外的其他数据进行加密,并将加密后的该文件中第一位置的数据转存到驱动内存中,从而使添加加密标识后该文件的大小与原明文文件的大小一样,提高了应用程序的识别效率。0074在图4的基础上,所述驱动设备还可以包括文件获取单元51,解密单元52,数据获取单元53和还原单元54,其结构示意图详见图5,为本发明实施例提供的另一种驱动设备的结构示意图,如图所示,文件获取单元51,用于在转存单元将所述文件中除所述转存的数据外的其他数据存储到存储介质后,若接收到读取所述文件的请求时,根据所述加密标识从存储介质中调出加密后的数据;解密单元52,用。

32、于对所述文件获取单元从存储介质中调出的加密后的数据进行解密,得到解密后的文件;数据获取单元53,用于在读取所述文件时,从所述驱动内存中获取所述文件的第一位置上的数据,并对所述文件的第一位置上的数据进行解密;还原单元54,用于将所述数据获取单元解密的所述文件的第一位置上的数据还原到所述解密单元解密后的文件的预设位置上中;还可以返回所述还原后的文件。0075在本发明实施例中,所述驱动设备可以集成在客户端,也可以独立部署,本实施例不做限制。0076所述驱动设备中各个单元的功能的实现过程详见上述方法中对应的实现过程,具体详见上述,在此不再赘述。0077在该实施例中,在需要打开加密文件时,先把加密文件的。

33、大小改变为原文的大小,即先根据所述加密标识从存储介质中获取所述文件,并对所述文件进行解密,得到解密后的文件;然后从驱动内存中获取固定字节中原来的数据,将该数据还原到解密后的文件中。即在读取文件,由于文件的加密没有改变原文的大小,避免在驱动过滤文件时由于文件的加密改变了原文大小所带来的问题,从而提高了应用程序的识别效率。0078本发明实施例还提供一种客户端,其一种结构示意图详见图6,所述客户端包括驱动设备61和存储介质62,其中,所述存储介质62,用于存储所述客户端的所有文件;所述说明书CN102314579ACN102314583A7/8页10驱动设备61,用于在接收到将打开的文件存储到存储介。

34、质的请求时,将所述文件的预设位置上的数据剪切到所述文件的第一位置上,所述文件的第一位置是所述文件的空闲位置;在所述文件的预设位置上中添加加密标识,并对该文件中除所述加密标识外的其他数据进行加密;将加密后的所述文件的第一位置上的数据转存到驱动内存中,并将所述文件中的加密标识以及所述文件的第一位置上的数据之外的加密后的数据存储到存储介质中。0079可选的,所述驱动设备包括剪切单元611,添加单元612,加密单元613和转存单元614,其各个单元的功能和作用与图4中各个单元的功能和作用相同,具体详见上述,在此不再赘述。0080可选的,在图6的基础上,所述驱动设备还可以包括文件获取单元615,解密单元。

35、616,数据获取单元617和还原单元618,具体如图7所示,为本发明实施例提供的客户端的另一种结构示意图。其中,各个单元的功能和作用与图5中各个单元的功能和作用相同,具体详见上述,在此不再赘述。0081由此可知,在本发明实施例中,对需要加密的文件,在存储时,先对该文件添加了加密标识,再对该文件中除了加密标识外的其他数据进行加密,并将加密后的以便于在对该加密文件使用时,其文件的实际长度与原文的长度一样,就不会导致实际文件的大小和应用程序所获取到文件不一致的问题,对于应用程序来说,在文件过滤时对文件进行自动加解密是透明的。0082本发明实施例主要是在文件中添加了部分文件数据比如加密标识,但是在打开。

36、文件时,先把文件的大小改变回到原文大小,这样就不会存在实际文件大小和应用程序所获取到的文件大小不一致的问题。也就是说,对需要加密的文件,在存储时,先对该明文文件添加了加密标识本实施例以在明文明见的前面添加加密标识为例,再对该文件中除了加密标识外的其他数据进行加密,然后,将加密后的明文文件中的尾部转移后的数据转移到驱动内存中,以便于在读取该加密文件时,再将其从驱动内存中还原到原明文文件中,以使该明文文件的实际长度与原文的长度一样,就不会导致实际文件的大小和应用程序所获取到文件的大小不一致的问题,这种,在对文件过滤时对文件进行自动加解密的方式,由于其加密前后文件的大小没有发生变化,对于应用程序来说。

37、,在文件过滤时对文件进行自动加解密是透明的。从而提高了应用程序的识别效率。0083需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外。

38、的相同要素。0084通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备可以是个人计算机,服务器,说明书CN102314579ACN102314583A8/8页11或者网络设备等执行本发明各个实施例或者实施例的某些部分所述的方法。0085以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。说明书CN102314579ACN102314583A1/4页12图1图2说明书附图CN102314579ACN102314583A2/4页13图3说明书附图CN102314579ACN102314583A3/4页14图4图5说明书附图CN102314579ACN102314583A4/4页15图6图7说明书附图CN102314579A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1