当前,核心数据的保护和管理面临越来越大的安全风险,在windows操作系统被广泛使用的网络环境下,透明加密技术作为一种与windows操作系统关系密切的数据保护技术,具有一定的实用价值。文章对透明加密技术进行了分析,介绍了常见的几种透明加密关键技术,简要分析了其实现原理,提出了透明加密技术的发展要求。最后,文章提出的透明加密技术研究还有待于进一步深入,其安全性和可靠性也有待于进一步论证。

  引言

  近年来,信息技术迅猛发展,越来越多的信息和资料以数字形式存放在硬盘等数字存储设备中,并且随着信息共享技术的突破,通过移动存储设备、网络等介质交换数据越来越方便,但同时,核心数据的控制和管理也越来越难,如何保证核心数据不泄露逐渐成为了信息安全的热点问题。为此,很多单位采取了“完全封闭式的管理”、“堵塞或拆除计算机的USB接口,禁止上网”、“简易的身份认证”等各种方式防止核心数据泄露,但往往是顾此失彼,难以完全控制。如何建立完善的数据泄露防护体系、保护核心资源,已迫在眉睫。

  数据加密作为数据保护的有效方式之一,越来越受到广泛认可,但传统的数据加密方式存在加密速度慢、密码易被破解、无法防止文档被复制等缺点,难以满足需要。近年来,随着对加密技术的深入研究,透明加密技术正逐渐得到广泛应用。

  1 实现原理

  透明加密技术是近年来发展较为迅速的一种文件加密技术。所谓透明加密是指对使用者来说,数据的加、解密是自动的,不会影响其正常的操作习惯。采用这种技术,当使用者保存数据时,系统将对数据自动进行加密,当使用者打开或编辑指定文件时,系统自动对已加密的文件进行解密,在硬盘上存储的是密文,在内存中存储的是明文,—旦离开使用环境,数据就无法得到自动解密的服务,从而达到保护数据内容的效果。

  透明加密技术的产生是与windows操作系统的发展密不可分的。自windows NT问世以来,微软提出了系统分层的概念,将操作系统设计为双模式多层驱动式结构,典型的windows驱动程序层次结构如图1所示。

130110927316177926_new.jpg (464×280)

图1 Windows驱动程序层次结构图

  两个模式主要指用户模式和内核模式。通常情况下,应用程序运行在用户模式下,只能访问自己私有的内存空间,无法直接访问硬件,它对文件的操作只能通过调用windows API函数进行,这为在用户模式下进行透明加解密提供了时机。如在写文件时,首先对文件数据进行加密,再调用win32 API函数进行写操作;在读文件时,先调用windows API函数读出加密的数据,再自动进行解密。在调用windows API函数时截获消息并对数据进行加解密处理,是在用户模式下实现透明加解密的主要方式。

  在核心模式下,应用程序对windows API函数的调用,最终将转化为不同的操作指令传递给I/O管理器,I/O管理器将不同的操作请求转化为IRP(I/O Request Package,输入/输出请求包),分发给各层驱动依次处理。windows将驱动分成了以下三种。总线型驱动程序主要用于管理一个逻辑的或物理的总线,比如PCI、USB等;功能型驱动程序用于管理某一特定类型的设备,主要用于将一个设备的操作接口导出给操作系统;过滤型驱动程序位于功能型驱动程序的上层或下层,可增加或者改变一个设备或另一个驱动程序的行为。具备不同功能的各种驱动,分层合作,各司其职。过滤型驱动的出现,为在核心模式下实现数据透明加解密提供了手段。如写文件时,在上层过滤型驱动程序或下层过滤型驱动程序中可以首先截获IRP,进行加密处理,然后再交给下层驱动处理;读文件时,在上层过滤型驱动程序或下层过滤型驱动程序中可以首先获取读到的加密数据,进行解密后交给上层驱动或应用程序。编写具备加解密功能的过滤型驱动,是在内核模式下实现透明加解密的主要方式。

 

责任编辑:admin