论文部分内容阅读
作为信息存储的逻辑部件——文件,其安全性问题已成为当今信息科学领域最重要的课题之一。目前解决这一安全问题的方法是以现代密码学为基础的文件加密。文件加密按照其实现方式又分为静态文件加密和动态文件加密。静态加密是指在加密期间,待加密的数据处于未使用状态,这些数据一旦加密,在使用前,需首先通过解密得到明文,然后才能使用。而动态加密是指数据在使用过程中自动对数据进行加密或解密操作,无需用户的干预。表面看来,访问加密的文件和访问未加密的文件基本相同,对合法用户来说,这些加密文件是“透明的”,即好像没有加密一样,但对于没有访问权限的用户,即使通过其它非常规手段得到了这些文件,由于文件是加密的,因此也无法使用。过滤驱动是实现动态加解密的最佳手段。目前对于过滤驱动的开发都是基于旧的文件过滤驱动开发框架,其稳定性较差,复杂度高,开发出产品的实际使用效果不理想。而本课题使用的是微软最新的文件过滤驱动框架——微过滤器(Minifilter),它的产生就是为了简化过滤驱动开发,使用户能够开发出性能更好、更稳定的过滤驱动。其次,使用USBKEY来加固密钥的安全性,目前国内还很少有过滤驱动用到这种硬件产品。本课题的目的就是开发基于新一代过滤驱动框架的加解密安全文件内核,并使具有拥有USBKEY的保护。本论文首先介绍了Windows的体系结构并着重讨论了其内核模块与机理,然后详细分析了一个文件系统内核对一次文件访问的控制流程。接着,论文描述了驱动开发的关键概念,然后分析了传统过滤驱动开发方法及其弱点。由此引出了Minifilter过滤驱动框架,分析了其工作流程和性能优点,描述了新框架过滤驱动的开发步骤。最后详细介绍了在新框架下设计过滤驱动的思路和使用的关键技术,最终实现了一个基于Minifilter框架的文件加解密过滤驱动。