文件过滤驱动开发

文件过滤驱动

一、文件透明加解密

关键字:透明、文件过滤驱动、加密标识,缓存

 

文件过滤驱动最重要的两点是搞定加密标识和缓存管理

1、透明概念:

透明指的是用户在操作的时候,虽然后台在自动的进行加解密,但是用户根本就不知道加密的存在,就像中间隔了一层透明的玻璃一样。

     透明的好处在于不改变用户的操作,一切都和加密之前一样,甚至在有些企业安装加密后都无需通知所有的员工,就像加密并不存在一样,只是加密文件到了企业安全环境的外部才会发现文件无法打开。

透明的程度也是加密软件一个很重要的方面,例如:正在编辑一个Word文件时,能否拷贝或者使用其他程序来读取这个文件,如果不能那么这里就不够透明,在一些PDM的文档管理软件中就是文件在一个应用程序打开状态时另一个应用程序进行检入。透明的程度越高,用户使用时就越是和未加密时一样,透明程序越低用户就会发现有越多的操作受到限制,和加密前有较大的差异。

2、加密类型:

加密类型

加密原理

举例

静态加密

把整个文件加密掉、或者把整个文件加密掉。

 

动态加密

文件整体是加密状态,需要解密时读取多少就解密多少,写入多少就加密多少,而不需要把整个文件都解密掉。

 

主动加密

 

由使用者自行要求文件变成加密状态称之为主动加密

主动加密的方式很多,例如用WinRar把文件压缩并定义一个口令,或者给Word、Excel文件一个打开或者修改的口令,这样其他人使用时必须由正确的口令才能打开,这是使用者主动进行的加密,如果使用者不进行加密则文件不会在加密状态。只针对某些文件夹加密的方式也可以理解为主动加密方式。主动加密主要应用于个人的文件保护。

被动加密

使用者并不知道或者并不想文件变成加密状态,系统自动将文件加密,称之为被动加密。

被动加密主要用于企业内部防止文件泄密,即使使用者不想文件被加密,系统还是会根据定义加密文件,这样文件被拷贝等各种方法脱离企业环境后,由于文件在加密状态而无法打开。被动加密具有另一个特性就是透明操作,即使用者并不需要进行加密和解密操作,一切都是后台自动完成,使用者可以不知道加密的存在。被动加密与作者的意愿无关,相关文件都会被加密,磁盘加密和文件透明加解密属于此类。

   

   

3、文件过滤驱动怎样加密:

文件过滤驱动是微软公开支持进行文件加密的技术手段,在驱动的层次定义中,微软定义了杀毒、压缩、加密等各种功能层次,加密的定义如下:
     Load Order Group:FSFilter Encryption ,Altitude Range:140000-149999

     由于文件过滤驱动处于驱动层面(不像API Hook处于应用层),可以控制系统的更多细节,和应用程序的关联度很小,可以兼容所有的应用程序,使用文件过滤驱动更利于进行动态加解密的处理。

     API Hook 主要是拦截打开和关闭的动作,在这2个动作里做文件的静态加解密处理;而文件过滤驱动主要拦截的读和写的动作,在这2个IRP请求中进行动态的加解密处理,处理的内容很精确(读多少解密多少、写多少加密多少),由于动态加解密实际上处理的大多数都是缓存,没有磁盘IO操作速度更快。当然文件过滤驱动中进行动态加解密的技术难度也要大得多。

 

     由于原有的Legacy Filter架构在很多杀毒等软件中使用,微软于近几年推出了MiniFilter架构,旨在减少各驱动间的冲突,提高工作效率,是微软大力推广的技术架构,可以在后续的各种新操作系统中使用而不用担心。MiniFilter具有兼容、高效、标准、稳定等各种优点。

4、文件加密标记:

加密标记是指如何判断一个文件是否加密的关键,也是在做动态透明加解密开发中最为重要的一环,加密标记的正确与否决定了文件是否会丢失、损坏,是必须要保证不能出任何问题的技术关键点。加密标记一般可存放在文件外部和文件内部,存放于文件内部时,又常分为存放在文件头上、文件尾上、压缩在文件内等三类技术方法,相关介绍如下:

<

序号

标记存储位置

类型

文件变长

方法

  • 1
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Windows驱动程序开发教程pdf是一份指导编写Windows设备驱动程序的教程文件,主要用于指导开发人员学习和掌握Windows驱动程序的开发技巧和方法。 首先,Windows驱动程序是用于操作和控制硬件设备的软件模块,它与硬件设备之间起到了桥梁的作用。开发Windows驱动程序需要掌握Windows内核编程和设备驱动开发的基本知识。 Windows驱动程序开发教程pdf中提供了详细的讲解和实例代码,帮助开发者了解驱动程序的基本框架和驱动模型。该教程从驱动程序的基本知识开始,介绍了Windows内核的架构和工作原理,以及设备对象、IRP和IO请求的处理方法。 此外,教程还介绍了驱动程序的安装和注册过程,以及与硬件设备交互的技术和方法,如内存映射、中断处理和DMA传输等。各章节之间有联系,循序渐进地引导读者完成一个完整的驱动程序开发项目。 该教程还提供了丰富的实例代码和调试技巧,帮助开发者快速上手和解决常见问题。除了基本的驱动程序开发技术外,还介绍了一些高级主题,如虚拟设备驱动程序和文件系统过滤驱动程序的开发。 总之,Windows驱动程序开发教程pdf是一份全面而详细的教程文件,适合有一定编程基础的开发人员学习和参考。通过学习该教程,开发者可以提升自己的驱动程序开发能力,为Windows系统编写高质量的设备驱动程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值