为了实现透明加密的目的,透明加密技术必须在程序读写文件时改变程序的读写方式。使密文在读入内存时程序能够识别,而在保存时又要将明文转换成密文。Window允许编程者在内核级和用户级对文件的读写进行操作。 内核级提供了虚拟驱动的方式, 用户级提供Hook API的方式。因此,透明加密技术也分为APIHOOK技术和VDM( Windows Driver Model)内核设备驱动方式两种技术。 APIHOOK俗称钩子技术, VDM俗称驱动技术。 4. 钩子透明加密技术简介:所有Windosw应用程序都是通过Windows API函数对文件进行读写的。 程序在打开或新建一个文件时, 一般要调用Windows的Create File、 Open File或Read File等Windows API函数;而在向磁盘写文件时要调用Write File函数。 同时Windows支持这样一种消息处理机制:允许应用程序将自己安装一个子程序到其它的程序中,以监视指定窗口某种类型的消息。 当消息到达后,先处理安装的子程序后再处理原程序。这就是钩子(Hook)技术。 钩子透明加密技术就是将上述两种技术组合而成的。通过Windows的钩子技术,监控应用程序对文件的打开和保存,当打开文件时,先将密文转换后再让程序读入内存, 保证程序读到的是明文, 而在保存时, 又将内存中的明文加密后再写入到磁盘。 钩子透明加密技术通过监控应用程序的读写操作,同时对文件进行自动加密与解密。由于不同应用程序在读写文件时所用的方式方法不尽相同,同一个软件不同的版本在处理数据时也有变化,钩子透明加密必须针对每种应用程序或程序的每个版本进行配置。 5. 驱动透明加密技术简介:驱动加密技术基于Windows的文件系统(过滤)驱动(IFS)技术,工作在Windows的内核层。我们在安装计算机硬件时,经常要安装其驱动,如打印机、 U盘的驱动。文件系统驱动就是把文件作为一种设备来处理的一种虚拟驱动。当应用程序对某种后缀文件进行操作时,文件驱动会监控到程序的操作,并改变其操作方式,从而达到透明加密的效果。驱动加密技术与应用程序无关,其工作于Windows API函数的下层。当API函数对指定类型文件进行读操作时,系统自动将文件解密; 当进入写操作时,自动将明文进行加密。由于工作在受Windows保护的内核层,运行速度更快,加解密操作更稳定。因与系统内核关联较密切,系统内核的任何变化(如系统更新、补丁安装后)均会对驱动透明加密造成影响,因此驱动透明加密必须对操作系统的每个SP版本进行开发。 驱动透明加密要达到文件保密的目的,还必须与用户层的应用程序打交道。通知系统哪些程序是合法的程序,哪些程序是非法的程序。其系统配置方面的易用性不如钩子透明加密。 驱动透明加密工作在内核层,但其无法进行灵活的权限控制应用,权限控制应用必须在应用层完成。 驱动加密技术虽然控制层次较深,但由于涉及到Windows底层的诸多处理,开发难度较大。如果处理不好与其它驱动的冲突,应用程序白名单等问题,将难以成为一个好的透明加密产品。 6. 两种加密技术的比较:两种加密技术由于工作在不同的层面,从应用效果、开发难度上各有特点。 钩子透明加密技术开发和应用难度较小,系统维护较容易,运行过程中即使出现Bug也不会影响整个操作系统运行;但其存在技术缺陷,可被反Hook技术所破解。 驱动透明加密技术开发难度较大,维护工作量也较大,因其工作于操作系统内核层,在运行过程中易影响整个客户端系统运行,且带来数据灾难。 如上所述, 任何一种单一技术要达到满足企业复杂需求均是不可能的。 同样, 钩子透明加密和驱动透明加密两种加密技术也各有优缺点,二者必然在发展的过程中走向融合,取长补短,为广大用户开发出稳定、可靠的透明加密产品来。 |
| ·上一条:聚焦自主可控 推动成果转化 —2017自主可控计算机大会成功召开 | ·下一条:加密软件功能介绍加密软件的功能 |