阅读:3509回复:11
透明加密:关于explorer与system的处理
先说explorer:
如果当做授权进程,它新建的文件都将是加密的(为了防止授权进程另存文件绕过加密)。那么当用户从U盘拷贝视频到电脑上时也加密了,而视频播放软件一般不是授权进程,这样就造成视频文件打不开了。 如果当做普通进程,那么当授权进程打开加密文件时(缓存中为明文),explorer拷贝此文件,就生成了未加密的文件副本。 再说system: 如果当做授权进程,普通进程刷新磁盘数据也会用到system发起的换页写irp,这样所有的文件都加密了。 如果当做普通进程,授权进程刷新磁盘数据也会用到system发起的换页写irp,这样所有的文件都不加密了。 我是把它们作为第三类进程处理,但总会有这样那样的问题,找不到平衡点。 不知道各位是如何处理这两个进程的? |
|
沙发#
发布于:2011-07-14 21:56
如果是sfilter架构,涉及清缓存,但是这个是坏文件和效率低的原因。
|
|
|
板凳#
发布于:2011-07-18 09:32
关注下,不知道有没有两全其美的办法
|
|
|
地板#
发布于:2011-07-21 09:05
谢谢二位的回答与关注。
在《寒江独钓》中,作者说system显然不是授权进程。 在shenhui的代码中,system与explorer都是授权进程。 所以这个问题还真是有待商榷的。 |
|
禁止发言
|
地下室#
发布于:2011-08-07 03:20
用户被禁言,该主题自动屏蔽! |
5楼#
发布于:2011-08-07 10:21
|
|
6楼#
发布于:2011-08-09 16:22
你的思路有问题,单缓冲透明加解密最主要就是清缓冲。
跟踪文件FileObject和FsContext,有进程打开文件时,如果是授权进程打开,而之前打开的是非授权进程,则清缓冲;如果是非授权进程打开,而之前打开的是授权进程,则清缓冲。判断之前是否是授权进程信息记录在你跟踪FsContext创建的结构中。 总之单缓冲在系统缓冲中只存在一个缓冲,要么是明文要么是密文,根本不需要考虑system,对于pagingio只需要根据你跟踪FsContext创建的结构中的标识来判断是否需要加解密即可,即明文缓冲需要加解密,其他直接pass。 而explore的问题肯定是你清缓冲不完整引起的。 |
|
7楼#
发布于:2011-08-11 10:57
6楼的bannerman 我正为此问题发愁 ,希望得到你的指点,谢谢 我的QQ:262772639
|
|
8楼#
发布于:2011-08-11 12:51
清缓存,文件会坏,文件一坏就完了,你开发的东西就成了文件破坏器
|
|
|
9楼#
发布于:2013-01-12 22:06
大家多多发表看法,表示关注!
|
|
10楼#
发布于:2013-05-21 10:09
太棒了啊 刚学习sfilter的框架 看了你们的学习不少啊
|
|
11楼#
发布于:2013-08-14 14:54
explorer进程不是那么好处理的,在某些极端条件,它会代替授权进程做一些事情,此时,它就必须按授权进程来处理了,而有的时候又不能这么处理
|
|