1、明加密技术是近年来针对企业文件保密需求应运而生的一种文件加密技术。应用透明加密 技术,用户打开或编辑未加密的指定后缀文件时会自动加密;打开加密了的指定后缀文件 时不需要输入密码会自动解密。因此,用户在环境内使用密文不影响原有的习惯,但文件 已经始终处于加密状况。一旦离开环境,文件将得不到解密服务,将无法打开,从而起到 保护电子文件知识产权的效果。本文将简要介绍目前市场上透明加密软件产品采用的透明 加密技术。 透明加密技术 透明加密技术是近年来针对企业文件保密需求应运而生的一种文件加密技术。所谓透 明,是指对使用者来说是未知的。当使用者在打开或编辑指定文件时,系统将自动对未加 密的文件进行加密,
2、对已加密的文件自动解密。文件在硬盘上是密文,在内存中是明文。 一旦离开使用环境,由于应用程序无法得到自动解密的服务而无法打开,从而起来保护文 件内容的效果。 透明加密有以下特点: 强制加密:安装系统后,所有指定类型文件都是强制加密的; 使用方便:不影响原有操作习惯,不需要限止端口; 于内无碍:内部交流时不需要作任何处理便能交流; 对外受阻:一旦文件离开使用环境,文件将自动失效,从而保护知识产权。 透明加密技术原理 透明加密技术是与 windows 紧密结合的一种技术,它工作于 windows 的底层。通过监 控应用程序对文件的操作,在打开文件时自动对密文进行解密,在写文件时自动将内存中 的明文
3、加密写入存储介质。从而保证存储介质上的文件始终处于加密状态。 监控 windows 打开(读) 、保存(写)可以在 windows 操作文件的几个层面上进行。 现有的 32 位 CPU 定义了 4 种(03)特权级别,或称环(ring) ,如图 1 所示。其中 0 级 为特权级,3 级是最低级(用户级) 。运行在 0 级的代码又称内核模式,3 级的为用户模式。 常用的应用程序都是运行在用户模式下,用户级程序无权直接访问内核级的对象,需要通 过 API 函数来访问内核级的代码,从而达到最终操作存储在各种介质上文件的目的。 图 1 为了实现透明加密的目的,透明加密技术必须在程序读写文件时改变程序的
4、读写方式。 使密文在读入内存时程序能够识别,而在保存时又要将明文转换成密文。Window 允许编 程者在内核级和用户级对文件的读写进行操作。内核级提供了虚拟驱动的方式,用户级提 供 Hook API 的方式。因此,透明加密技术也分为 API HOOK 广度和 VDM(Windows Driver Model)内核设备驱动方式两种技术。API HOOK 俗称钩子技术,VDM 俗称驱动技 术。 钩子透明加密技术简介 所有 Windosw 应用程序都是通过 windows API 函数对文件进行读写的。程序在打开或 新建一个文件时,一般要调用 windows 的 CreateFile 或 OpenF
5、ile、ReadFile 等 Windows API 函数;而在向磁盘写文件时要调用 WriteFile 函数。 同时 windows 提供了一种叫钩子(Hook )的消息处理机制,允许应用程序将自己安装 一个子程序到其它的程序中,以监视指定窗口某种类型的消息。当消息到达后,先处理安 装的子程序后再处理原程序。这就是钩子。 钩子透明加密技术就是将上述两种技术组合而成的。通过 windows 的钩子技术,监控 应用程序对文件的打开和保存,当打开文件时,先将密文转换后再让程序读入内存,保证 程序读到的是明文,而在保存时,又将内存中的明文加密后再写入到磁盘中。如图 2 所示。 图 2 钩子透明加密技
6、术与应用程序密切相关,它是通过监控应用程序的启动而启动的。一 旦应用程序名更改,则无法挂钩。同时,由于不同应用程序在读写文件时所用的方式方法 不尽相同,同一个软件不同的版本在处理数据时也有变化,钩子透明加密必须针对每种应 用程序、甚至每个版本进行开发。 目前不少应用程序为了限止黑客入侵设置了反钩子技术,这类程序在启动时,一旦发 现有钩子入侵,将会自动停止运行。 驱动透明加密技术简介 驱动加密技术基于 windows 的文件系统(过滤)驱动(IFS)技术,工作在 windows 的内核层。我们在安装计算机硬件时,经常要安装其驱动,如打印机、U 盘的驱动。文件 系统驱动就是把文件作为一种设备来处理
7、的一种虚拟驱动。当应用程序对某种后缀文件进 行操作时,文件驱动会监控到程序的操作,并改变其操作方式,从而达到透明加密的效果。 驱动加密技术与应用程序无关,他工作于 windows API 函数的下层。当 API 函数对指 定类型文件进行读操作时,系统自动将文件解密;当进入写操作时,自动将明文进行加密。 由于工作在受 windows 保护的内核层,运行速度更快,加解密操作更稳定。 但是,驱动加密要达到文件保密的目的,还必须与用户层的应用程序打交道。通知系 统哪些程序是合法的程序,哪些程序是非法的程序。 驱动透明加密工作在内核层。如图 3 所示。 图 3 驱动加密技术虽然有诸多的优点,但由于涉及到
8、 windows 底层的诸多处理,开发难度 很大。如果处理不好与其它驱动的冲突,应用程序白名单等问题,将难以成为一个好的透 明加密产品。因此,目前市面上也只有武汉风奥软件、北京亿赛通等少数几家公司有成熟 的产品。 钩子透明加密技术与驱动透明加密技术比较 两种加密技术由于工作在不同的层面,从应用效果、开发难度上各有特点。表 1 从几 个方面进行了简单比较。 综上所述,钩子透明加密技术开发容易,但存在技术缺陷,而且容易被反 Hook 所破 解。正如杀毒软件技术从 Hook 技术最终走向驱动技术一样,相信透明加密技术也终将归 于越来越成熟应用的驱动技术,为广大用户开发出稳定、可靠的透明加密产品来。