glu99
驱动牛犊
驱动牛犊
  • 注册日期2001-04-28
  • 最后登录2010-02-12
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:2489回复:16

如何让WORD或其他应用透明地读取一个加密文档?

楼主#
更多 发布于:2005-01-02 16:21
我有一种想法,就是想让WORD或其他WINDOWS应用透明地读取一个经过加密的文档, 当然解密密钥是知道的. 能否有一种办法在系统中加入一个加密/解密模块, 能够在密文文件与应用程序之间架设一座自动转换的桥梁, 使得应用在读密文文档时就好象读明文文件一样?
另外写入磁盘时也可以自动加密.
哪位大虾对此有经验? 能否给我指个方向?
多谢了.

最新喜欢:

cyliucyliu
glu
paladinii
驱动中牛
驱动中牛
  • 注册日期2003-10-28
  • 最后登录2012-03-09
  • 粉丝0
  • 关注0
  • 积分282分
  • 威望74点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-02-06 15:09
这个贴子不错。aasa2搞好了没有?可以把代码贴出来吗?大家一起研究。
Ideas for life!
joshua_yu
驱动小牛
驱动小牛
  • 注册日期2004-12-06
  • 最后登录2010-12-01
  • 粉丝0
  • 关注0
  • 积分428分
  • 威望54点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-02-03 10:29
我觉得楼上关于性能考虑的说法有一定的道理,但是首先我们如果希望得到的是文件安全性,那么必须牺牲一定的系统性能,而且一个系统当中也不一定有很多需要加密的文档资料,由于数量的限制,对性能的影响可以忽略不计。

另外,对于你举的例子,30M大小的文档并不一定同时加密,你可以根据需要将用户的数据分成一定大小(例如1K)进行分块加密,这样就不用解密的时候读取那么大的文件了;

还有完全可以采用流加密方式,我测试过,采用流加密可以随机读取文件的内容,不过即便不能随机读取,总还是可以按照上面的方法处理的。关于这个问题,欢迎大家参与讨论!
glu99
驱动牛犊
驱动牛犊
  • 注册日期2001-04-28
  • 最后登录2010-02-12
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-02-03 10:19
我感兴趣的也是网络环境里的应用, 否则WIN2000/XP的EFS能够应付了.
还有一个问题是, 能否在驱动程序中知道当前想读这个加密文件的那个应用程序是什么应用? 因为阅读器可能有很多种.
glu
pkica
驱动牛犊
驱动牛犊
  • 注册日期2004-04-07
  • 最后登录2005-02-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-02-03 10:16
内核文件加密应首先考虑性能问题,我们知道,对称加密算法都有一个初始化向量,除非是简单的块加密,否则,在同一加密过程中,每块加密的数据都和上一块相关,于是问题就出现了。许多应用在读取文件时,并不是都从开始位置读起,有可能直接从某个偏移位置直接读取数据,例如从一个30兆加密文件的第29兆位置开始读取最后1兆,我们也不得不解密前29兆数据才可能解密最后一兆数据,我想,大多数用户都不希望以如此低下的性能为代价换取加密安全性。
joshua_yu
驱动小牛
驱动小牛
  • 注册日期2004-12-06
  • 最后登录2010-12-01
  • 粉丝0
  • 关注0
  • 积分428分
  • 威望54点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-02-03 10:03
对于office文件的加密方法,我最近也在作,研究了一下以前的帖子,一般采用的方法都是先加密临时文件,然后在IRP_MJ_SET_INFOMATION改名时判断是否更名为我们监控的doc文档,然后执行静态加密。

不过我个人认为这样比较复杂,我目前利用filemon原型实现了基于目录的加密,也就是将某个目录中的所有文件进行加密,这样无论doc文档还是临时文档都加密,最终可以很好的加密doc文档。

不过需要做多一点的处理,例如需要额外判断目录中的文档类型,否则加密了某些系统文件就比较麻烦了 :)
meng20020311
驱动牛犊
驱动牛犊
  • 注册日期2005-01-04
  • 最后登录2005-02-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-02-02 16:15
顶,有人尝试过,还好,本地加密我试过,可以,但是网络没有试过。
aasa2
驱动中牛
驱动中牛
  • 注册日期2004-04-01
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分525分
  • 威望339点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2005-02-02 08:45
谁能给出office文件加密解密的解决办法,我愿意给100分。
技术交流:aasa2@21cn.com QQ群:10863699
michaelgz
论坛版主
论坛版主
  • 注册日期2005-01-26
  • 最后登录2012-10-22
  • 粉丝1
  • 关注1
  • 积分150分
  • 威望1524点
  • 贡献值1点
  • 好评度213点
  • 原创分0分
  • 专家分2分
8楼#
发布于:2005-02-02 05:47
I agree Encryption/Decryption FSFD is hard to develop. Microsoft's EFS is good but not good enough. You can try to copy an encrypted file to floppy disk.

The reason why it's hard to develop FSFD is because the whole windows kernel is a black box to us. Also encryption/decryption algorighm itself has some requirements which make FSFD even harder, such as block size and padding for block cypher.

My suggestion is don't touch it unless your boss will fire you if you don't do it. :)

[编辑 -  2/2/05 by  michaelgz]
paladinii
驱动中牛
驱动中牛
  • 注册日期2003-10-28
  • 最后登录2012-03-09
  • 粉丝0
  • 关注0
  • 积分282分
  • 威望74点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2005-02-01 14:06
是的,有同感。
Ideas for life!
aasa2
驱动中牛
驱动中牛
  • 注册日期2004-04-01
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分525分
  • 威望339点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2005-01-04 12:03
加密难,难加密。

有谁做好了,说一下体会呀!
技术交流:aasa2@21cn.com QQ群:10863699
fslife
驱动大牛
驱动大牛
  • 注册日期2004-06-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望49点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2005-01-04 11:33
文件加密可以分为内核级加密和应用级加密,内核级加密也就是通过文件过滤驱动在IRP层来动态实现,应用级加密则是对整个文件的静态加密。
现在常见的加密产品应该多是应用级的加密,支持密码和密钥文件,以及多种加密算法。我认为内核层的透明加密做的最好的应该是windows中自带的EFS了。基于文件过滤驱动实现的透明加密有很多的缺陷,无法识别文件是否加密,很难应用好的加密算法,office文件的加密问题,等等。
在交流中学习。。。
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
12楼#
发布于:2005-01-04 09:49
楼上的朋友可以谈谈你的体会?
问题的难点在哪里?
 
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
glu99
驱动牛犊
驱动牛犊
  • 注册日期2001-04-28
  • 最后登录2010-02-12
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2005-01-03 13:24
楼上的朋友可以谈谈你的体会?
问题的难点在哪里?
glu
aasa2
驱动中牛
驱动中牛
  • 注册日期2004-04-01
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分525分
  • 威望339点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2005-01-03 13:15
我也在搞,就是没有搞好
技术交流:aasa2@21cn.com QQ群:10863699
glu99
驱动牛犊
驱动牛犊
  • 注册日期2001-04-28
  • 最后登录2010-02-12
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2005-01-03 11:09
我的初步想法也是用文件系统过滤驱动解决,能否给出详细一点的介绍,如一些参考资料或样板代码什么的。
十分感谢!
glu
hellangel
驱动中牛
驱动中牛
  • 注册日期2004-02-16
  • 最后登录2016-04-19
  • 粉丝0
  • 关注0
  • 积分1002分
  • 威望236点
  • 贡献值0点
  • 好评度205点
  • 原创分1分
  • 专家分0分
16楼#
发布于:2005-01-02 17:42
写一个 filter file system driver
过滤irp_mj_read ,irp_mj_write
春眠不觉晓,处处闻啼鸟。 夜来风雨声,花落知多少?
游客

返回顶部