[发明专利]应用层文件透明加密中使用通用加密算法的方法无效

专利信息
申请号: 200910233699.5 申请日: 2009-10-28
公开(公告)号: CN102053996A 公开(公告)日: 2011-05-11
发明(设计)人: 邱文乔 申请(专利权)人: 无锡安腾软件开发有限公司
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 暂无信息 代理人: 暂无信息
地址: 214028 江苏省无*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 应用 文件 透明 加密 使用 通用 加密算法 方法
【说明书】:

所属技术领域

属于计算信息安全类的密码学、文件透明加密

背景技术

在文件透明加密技术中,分为基于应用层的透明加密和基于驱动层的透明加密。基于驱动层的透明加密技术,因为其读写文件都是的边界都是512的整数,并且其读写的大小也是512的整数倍,即使文件大小不足512个字节,也会自动补全。在这种情况下,驱动层的透明加密可以使用任何国际通用的算法和国内专用的算法。

但是应用层的文件读写机制与驱动层完全不同。其文件读写的边界是随机的,其文件读写的大小也是随机的。这就为如AES算法的使用带来了困难,因为AES要求从2的整数倍的位置开始处理。

所以通常的方式有两种:

1)不处理文件的读和写,转而处理文件的打开和关闭事件。即在文件打开前,将文件全部解密成明文。在文件关闭后再重新全部加密成密文。

2)使用自行设计的加密算法,进行按位(Bit)的加密。

这两种方案均存在的严重的问题,方案一存在着大量的磁盘I0,严重的影响了性能,并且因为要将文件解密至硬盘,形成的明文落地,导致安全性隐患。

方案二的问题则更明显,因为自行设计的按位运算的加密仅能实现一种最简单的加密,其安全性完全得不到保障。

发明内容

本发明实现了一种新的方式,即在应用层的读写过程中,通过预读(PReReadFile)和延迟写DelayWriteFile的技术,将边界随机、大小随机、位置不连续的数据转换为边界固定,大小可被512整除、位置连续的数据。

本发明的方案如下:

1)当读一个非加密时,不作处理,按Windows原有方式进行。

2)当写一个非加密文件时,不作处理,按Windows原有方式进行。

3)当读一个加密文件时,预读更多的数据,使其大小和边界为8的N倍。将数据进行解密后,再向Windows返回其需要的数据量。

4)当要写一个加密文件时,首先将其数据缓存起来,当最后需要关闭文件时,再将文件进行加密后提交给Windows。

附图说明

下面结合附图和实施例对发明专利进一步说明。图1为读取文件时的处理流程,图2为写入文件时的处理流程。

具体实施方式

以AutoCAD的数据读写为例:

1)当读一个非加密时,不作处理,按Windows原有方式进行。

2)当读一个加密文件时,如果读的边界正好是8的N次方,读的内容大小也为8的N次时,不需要PreReadFile。只需用相应的算法将这段内容在内存中进行解密,然后再提交给Windows进行处理即可。

3)当读一个加密文件时,如果读的边界正好是8的N次方,读的大小为非8的N次方时,则从边界处开始读,在尾部多读一部分数据,使其大小为8的N次方。在用相应的算法对此段内容进行解密后,将尾部多读的数据丢弃,然后再Windows提交其需要的数据。

4)当读一个加密文件时,如果读的边界为非8的N次方,读的大小也为非8的N次方时,则边界向前移至8的N次方处,然后开始读取数据,同时在其尾部多读一部分数据,使其大小为8的N次方。在用相应算法对其进行解密后,将头部及尾部多读的数据丢弃,然后再向Windows提交其需要的数据。

5)当写一个非加密文件时,不作处理,按Windows原有方式进行。

6)当写一个加密文件时,如果写的边界正好是8的N次方,写的大小也正好是8的N次方时,不需要进行DelayWriteFile,只需用相应的算法将这段内容在内存中进行加密,然后提交给Windows处理即可。

7)当写一个加密文件时,如果写的边界正好是8的N次方,而写的大小为非8的N次方时,将边界处开始的8的N次方的数据进行加密,提交给Windows系统,对于尾部剩下的一部分数据,标明原位置和大小,将其缓存起来。如果在后续的写过程中,有覆盖此数据动作,则缓存的数据丢弃。如果并未发生覆盖动作,则在文件关闭(CloseHandle)的时候,重新读取此数据周围的数据,然后完整一个8的N次方为边界,大小为8的数据,加密后,将相应的数据写入文件,同时丢弃在此过程中多读的数据。

8)当写一个加密文件时,如果写的边界为非8的N次方,写的大小亦为非8的N次方时,则以8的N次方为边界,加密大小为8的N次方的数据,然后将此部分数据提交给Windows系统。对于头部和尾部多出的一部分数据,标明原位置和大小,将其缓存起来,如果在后续的写的过程中,有覆盖些数据的动作,则缓存的数据丢弃。如果并未发生覆盖动作,则在关闭文件(CloseHandle)的时候,重新读取此数据周围的数据。然后完整一个8的N次方为边界,大小为8的数据,加密后,将相应的数据写入文件,同时丢弃在此过程中多读的数据。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡安腾软件开发有限公司,未经无锡安腾软件开发有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200910233699.5/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top