应用层透明加密与驱动层透明加密技术大比拚
《数据中国》第四期 来源:北京思智泰克

只要安装了透明加密软件,企业图纸,办公文档在企业内部即可自动加密,而且对用户完全透明,丝毫不改变用户的工作习惯。在没有授权的情况下,文件即使流传到企业外部,也无法正常应用。就像一个防盗门,装上就能用,而且很管用。”这是2006年透明加密在开辟市场时打出的宣传旗号。对于当时空白的市场来讲,这一旗号确实打动了不少企业。如今,经过三年多的岁月洗礼,透明加密技术也在不断进步。就目前市面上的透明加密技术来看,主要分为两大类:即应用层透明加密技术和驱动层透明加密技术。本文将重点对两种技术的优缺点进行剖析。

应用层透明加密技术

所有Windosw应用程序都是通过windows API函数对文件进行读写的。程序在打开或新建一个文件时,一般要调用windows的CreateFile或OpenFile、ReadFile等Windows API函数;而在向磁盘写文件时要调用WriteFile函数。

同时windows提供了一种叫钩子(Hook)的消息处理机制,允许应用程序将自己安装一个子程序到其它的程序中,以监视指定窗口某种类型的消息。当消息到达后,先处理安装的子程序后再处理原程序。这就是钩子。

应用层透明加密技术俗称钩子透明加密技术。这种技术就是将上述两种技术组合而成的。通过windows的钩子技术,监控应用程序对文件的打开和保存,当打开文件时,先将密文转换后再让程序读入内存,保证程序读到的是明文,而在保存时,又将内存中的明文加密后再写入到磁盘中。如图1所示。

图1

应用层透明加密技术与应用程序密切相关,它是通过监控应用程序的启动而启动的。一旦应用程序名更改,则无法挂钩。同时,由于不同应用程序在读写文件时所用的方式方法不尽相同,同一个软件不同的版本在处理数据时也有变化,钩子透明加密必须针对每种应用程序、甚至每个版本进行开发。

目前不少应用程序为了限止黑客入侵设置了反钩子技术,这类程序在启动时,一旦发现有钩子入侵,将会自动停止运行。

驱动层透明加密技术

驱动加密技术是基于windows的文件系统(过滤)驱动(IFS)技术,工作在windows的内核层。我们在安装计算机硬件时,经常要安装其驱动,如打印机、U盘的驱动。文件系统驱动就是把文件作为一种设备来处理的一种虚拟驱动。当应用程序对某种后缀文件进行操作时,文件驱动会监控到程序的操作,并改变其操作方式,从而达到透明加密的效果。

驱动加密技术与应用程序无关,他工作于windows API函数的下层。当API函数对指定类型文件进行读操作时,系统自动将文件解密;当进入写操作时,自动将明文进行加密。由于工作在受windows保护的内核层,运行速度更快,加解密操作更稳定。

但是,驱动加密要达到文件保密的目的,还必须与用户层的应用程序打交道。通知系统哪些程序是合法的程序,哪些程序是非法的程序。

驱动层透明加密技术工作在内核层。如图2所示。

图2

驱动加密技术虽然有诸多的优点,但由于涉及到windows底层的诸多处理,开发难度很大。如果处理不好与其它驱动的冲突,应用程序白名单等问题,将难以成为一个好的透明加密产品。因此,目前市面上也只有北京思智泰克、上海志想等少数几家公司有成熟的产品。

应用层透明加密技术与驱动层透明加密技术优缺点比较

两种加密技术由于工作在不同的层面,从应用效果、开发难度上各有特点。表1从几个方面进行了简单比较。

项目

 应用层透明加密

驱动层透明加密

工作层面

 用户层

 内核层

工作方式

Hook应用程序和文件类型

接受系统IRP进行处理

与应用程序关联性

直接与程序工作方式相关,对新应用程序加密或应用程序升级可能需要再开发。

与程序工作方式无关,但要监控应用程序名单。

加解密可靠性

应用层加解密,大文件容易死机。速度慢。

内核层加解密,受windows保护,稳定性较好、速度快。

网络操作能力

不受限止

需要专门处理

开发难度

HOOK技术,相对较容易。

驱动技术,开发难度较大。

综上所述,应用层透明加密技术开发容易,但存在技术缺陷,而且容易被反Hook所破解。正如杀毒软件技术从Hook技术最终走向驱动技术一样,相信透明加密技术也终将归于越来越成熟应用的驱动技术.

据了解,目前北京思智泰克自主研发的ERM系统就是驱动层透明加密技术应用的典范。思智ERM系统以先进的驱动层透明加密技术和细分的权限控制技术为依托,提供对数据本身的安全保护。结合思智 ERM 所采用的密钥转换、实时备份和防窃听技术,使数据信息在企业内部各个应用环节均得到安全的保护,防止泄密、窃密和破坏事件的发生。