集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1245|回复: 0

基于Windows微过滤驱动文件透明加解密研究

[复制链接]
zhiweiqiang33 发表于 2014-4-3 17:08:38 | 显示全部楼层 |阅读模式
1 网络信息安全的现状与研究趋势
    现今存在的一些信息安全保护方法有很多,如网络信息保险箱(瑞星网络保险箱、奇虎360网络保险箱等)、隐藏文件(隐身侠隐私隐藏文件夹加密软件)等对信息资源的保护方法。但这些方法都是基于Windows的应用层而开发的,不但需要用户对其基本操作和原理进行掌握,而且并不能安全可靠地保护被窃取走的资源。
    因此在驱动层对数据进行加/解密成为提高信息安全的一种重要手段,将数据以密文的形式存储在PC或者其他移动设备中,即使信息被非法窃取,盗窃者因没有密钥,最终得到的也只是无法辨认的乱码,从而真正达到了对信息资源进行保护的目的。
2 驱动层加密的优势
    驱动层透明加/解密技术是通过Windows提供的可安装文件系统IFS(Installable File System)开发接口写设计一个文件过滤驱动,通过此驱动实现透明加/解密功能。
    驱动层的透明加/解密技术由于与操作系统的文件系统结合紧密,加/解密效率更高,控制更加灵活,运行更加稳定。
    所谓透明,是因为对用户来说,是不可见的操作。当用户对指定的文件进行操作处理时,系统将按用户需要对未受保护的文件进行自动加密处理,对已受保护的文件进行自动解密处理。驱动层加/解密使得文件在硬盘上是以密文形式存在的,而在系统内存中是明文。但如果离开所设置好的系统环境,由于应用程序无法获得自动解密的驱动程序的服务而无法正常打开指定文件,从而起到保护文件内容的真正目的。
3 微过滤驱动
3.1 过滤驱动模型开发步骤
    微软提供的过滤驱动模型和现在的微过滤驱动模型开发过滤驱动都遵循以下几个基本步骤:
    (1)主要编写驱动程序中的派遣函数(dispatch functions),将驱动程序加载到目标设备对象上,拦截所能控制发往该对象的IRP。
    (2)创建发往管理目标设备对象的IRP。
    (3)建立完成派遣例程,从而被所加载的驱动程序来处理完成IRP时所调用。
    (4)在需要时将驱动程序从目标设备对象上卸载。
3.2 文件系统过滤驱动开发的推荐模型为mini-filter
    将基于过滤管理器模型开发称做微过滤驱动。
    每一个微过滤驱动必须有对应一个“层级”,用来决定微过滤驱动在加载时在I/O stack栈与其他微过滤驱动的相对位置的唯一标识,层级由微软分配指定和管理。
    所谓的“微过滤驱动”就是分层过滤驱动。
    分层驱动[1]是指多个驱动程序分别进行设备对象的创建,出现由高到低的设备对象栈,将功能复杂的驱动程序分解成多个功能简单且容易修改和维护的驱动程序。当IRP被传送到设备栈的顶部时,可以由顶层的设备对象直接处理IRP或传递至底层的设备对象进行处理。
    图1为分层驱动的基本模型。分层架构采用了化整为零的思想,既提高了驱动程序的稳定性,又能非常有效地避免驱动之间的冲突。同时还为开发人员在开发过程中发现问题提供了清晰的思路和方便的环境。

4 3DES加密算法
4.1 算法介绍
    3DES又称Triple DES[2],是DES加密算法的一种模式,使用3条56 bit的加密密钥对数据进行连续3次叠加加密。数据加密标准(DES)使用对称密钥加密法,使用56 bit加密密钥和密码块的方法,而在密码块的方法中,文本被分成64 bit大小的文本块然后再进行加密。比起原始的DES,3DES加密算法的安全强度更高。
 3DES加密算法是DES向AES加密算法进行过渡的一种加密算法(1999年,NIST将3-DES指定为过渡的加密标准),是DES算法的一种进化。以DES算法为基本模型,以组合分组的方法设计出分组加密算法,其原理如下:
 设Ek()和Dk()代表DES算法的加密和解密过程,K代表DES算法使用的密钥,P代表明文,C代表密文,这样:
    3DES加密过程为:C=Ek3(Dk2(Ek1(P)))
    3DES解密过程为:P=Dk1(EK2(Dk3(C)))
4.2 加密算法的发展趋势
4.2.1 对称加密算法
   对称加密算法[3]是应用较早的加密算法,技术成熟,在对称加密算法中,数据发信方将明文和加密密钥一起经过特殊加密算法处理后,使其变成密文发送给收信方;收信方收到密文后,读取原文,通过加密时使用的密钥及同一加密算法的逆算法[3]对密文进行解密。美国国家标准局倡导的AES算法即将作为新标准取代DES。利用AES算法进行驱动层的文件透明加/解密也是接下来工作中要做的。
4.2.2 AES算法简介
    AES的基本要求是,采用对称分组密码体制,密钥长度最少支持128 bit、192 bit、256 bit,分组长度128 bit,算法易于各种软件和硬件的实现。
4.2.3 DES算法的趋势
    在应用发面,尽管DES算法在安全强度上并不高,但由于快速DES芯片的大量产生,使得DES仍能继续使用。为提高安全强度,本设计采用了独立密钥的3DES,但无论是DES还是3DES都要被AES算法取缔。
4.3 驱动层加解密
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-12-24 07:00 , Processed in 0.060194 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表