引言
近年来,信息技术迅猛发展,越来越多的信息和资料以数字形式存放在硬盘等数字存储设备中,并且随着信息共享技术的突破,通过移动存储设备、网络等介质交换数据越来越方便,但同时,核心数据的控制和管理也越来越难,如何保证核心数据不泄露逐渐成为了信息安全的热点问题。为此,很多单位采取了“完全封闭式的管理”、“堵塞或拆除计算机的USB接口,禁止上网”、“简易的身份认证”等各种方式防止核心数据泄露,但往往是顾此失彼,难以完全控制。如何建立完善的数据泄露防护体系、保护核心资源,已迫在眉睫。
数据加密作为数据保护的有效方式之一,越来越受到广泛认可,但传统的数据加密方式存在加密速度慢、密码易被破解、无法防止文档被复制等缺点,难以满足需要。近年来,随着对加密技术的深入研究,透明加密技术正逐渐得到广泛应用。
1 实现原理
透明加密技术是近年来发展较为迅速的一种文件加密技术。所谓透明加密是指对使用者来说,数据的加、解密是自动的,不会影响其正常的操作习惯。采用这种技术,当使用者保存数据时,系统将对数据自动进行加密,当使用者打开或编辑指定文件时,系统自动对已加密的文件进行解密,在硬盘上存储的是密文,在内存中存储的是明文,—旦离开使用环境,数据就无法得到自动解密的服务,从而达到保护数据内容的效果。
透明加密技术的产生是与windows操作系统的发展密不可分的。自windows NT问世以来,微软提出了系统分层的概念,将操作系统设计为双模式多层驱动式结构,典型的windows驱动程序层次结构如图1所示。
图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,进行加密处理,然后再交给下层驱动处理;读文件时,在上层过滤型驱动程序或下层过滤型驱动程序中可以首先获取读到的加密数据,进行解密后交给上层驱动或应用程序。编写具备加解密功能的过滤型驱动,是在内核模式下实现透明加解密的主要方式。
2 透明加密关键技术
2.1加密技术分析
个加密系统s可以用数学符号描述为S={P,C,K,E,D),其中:
P——明文空间,表示所有可能出现的明文集合;c——密文空间,表示所有可能出现的密文集合;K一密钥,是密码算法中的可变参数;E——加密算法,由一些公式、协议或程序构成;D——解密算法,它是E的逆运算。
当给定密钥K时,存在两种关系,c=EK(P),即对明文P加密后得到密文C;P=Dk(C)=Dk(Ek(P)),即对密文c解密后得明文P。因此,加密技术的关键在于密钥和算法的选择。在密码学中,根据密钥类型不同将密码算法分为两类:对称算法(传统密码算法)和非对称算法(公开密钥算法)。对称算法采用同一种密钥进行加解密运算,它的优点是运算速度快,缺点是算法的安全性依赖于密钥,且密钥难于管理,常见的对称算法有DEs、3DES、AES(见表1);非对称算法采用的是两种密钥,分别是加密密钥(公钥)和解密钥(私钥),通常情况下,公钥是公开的,私钥是保密的,其优点是密钥容易管理,缺点是运算速度慢,常见的非对称算法有RsA、DsA、Ecc(见表2)。
公开密钥密码与对称密码是两种不同的东西,它们解决不同的问题。一般情况下,对称算法和非对称算法会结合应用。在对文件进行加解密的过程中,由于运算数据量大,要求运算效率高,因此常采用对称算法,从性能和安全性综合考虑,优先选用AES算法;而非对称算法常被应用于对称算法密钥的管理,采用公钥对对称算法密钥进行加密,私钥进行解密,在性能要求不是很高的情况下,可以优先选用RsA算法。
表1对称加密算法的比较
表2 非对称加密算法的比较
2.2 HOOK技术分析
H00K是捕获应用程序消息处理的技术,俗称钩子技术。它允许应用程序安装一个子程序到其它的程序中,以监视指定窗口某种类型的消息。当消息到达后,先交给钩子程序处理,然后再交给原程序处理,如图2所示。
H00K技术主要包括用户模式下的API H00K技术和核心模式下的H00K技术两类。在用户模式下,应用程序进程通过windows API函数库,如Kernel32、user32、Gui32、Advapi.du等动态链接库提供的函数,形成其私有的导入地址表(Impon Address Table),并通过IAT访问系统核心。APIHOOK技术就是通过访问应用程序的私有地址,改变应用程序的IAT,即可过滤应用程序消息处理,完成加密和解密操作。在核心模式下,通常通过H00K系统服务描述表(System service Dispatch Table,SSDT)、中断描述表(InterruptDescription Table)和IRP(I/O Request Package)函数表来实现过滤操作。
图2 HOOK技术透明加密示意图
采用H00K技术进行透明加密的特点是实现简单,但缺点是可靠性差,速度比较慢,而且必须针对每种应用程序、甚至每个版本进行定制开发。
2.3驱动过滤技术
如图1所示,windows的内核驱动是分层的,每层驱动只有一个驱动对象,每个驱动对象可以包含多个设备对象,若干个设备对象(可以属于不同的驱动)依次绑定形成一个设备栈,最顶端的设备总是先接受到数据处理请求,处理完后依次向下传递。IRP(I/O Request Package,输入/输出请求包)是上下级设备问传递请求的重要数据结构。应用程序与底层驱动程序通信时,应用程序会发出I/O请求,操作系统将I/O请求转化为相应的IRP数据,各层驱动程序根据自己的功能分部对IRP数据进行处理2。如果在不影响上下层驱动接口的情况下,在windows系统内核中加入新的驱动层,将新的驱动层设备对象加入到设备栈的相应位置,就可以捕获IRP数据,进行加解密处理后再向下传递,就可达到数据透明加密的目的。
通过在不同驱动层加入过滤驱动,可以实现不同的透明加密技术。目前驱动过滤技术主要分为文件驱动过滤技术和内核级沙盒加密技术。
2.4文件驱动过滤技术
文件过滤驱动加密技术是在最高层驱动程序中加入过滤驱动,一般挂载在磁盘驱动之上,其主要目的是捕获windows系统对文件的种种操作行为,比如文件的创建、打开、读/写、改名,目录的创建、打开、枚举、改名、删除等。捕获对文件的操作,并对其进行过滤,能实现许多强大的功能,比如检查病毒、数据加密、数据备份、安全监控等。
文件过滤驱动加密技术运行在受windows保护的内核层,加、解密速度比H00K技术快,解决了H00K技术不能解决的问题,但稳定性一直不太理想,比如大文件破损、多进程软件同时操作某个文件时,一个进程加密,另一个进程不加密,交替访问文件,极容易造成异常等。
2.5内核级沙盒加密技术
沙盒的实质就是一个虚拟空间。用户首先创建一个虚拟空间,在使用过程中,所有格式的涉密数据、文件等都可以放人这个虚拟空间,存入的时候,自动加密,读取时自动解密。这个虚拟空间是透明的,使用者感觉不到它的存在。内核级纵深沙盒加密技术融合了磁盘过滤驱动技术,卷过滤驱动技术,文件过滤驱动技术,网络过滤驱动(NDIS/TDI)技术等一系列内核级驱动技术,从上到下,纵深防御加密,每层驱动只做自己最擅长的工作。
内核级沙盒加密技术的特点是,在使用前,要先初始化沙盒,创建成功之后,所有的文件,不论什么格式,都可以自动加、解密,所以无数据破损等问题。特点是加解密速度快,稳定,但技术相当复杂,研制难度较大。
3 透明加密技术的发展要求
透明加密技术作为一门新兴的技术,正不断被应用到各个领域,但随着信息技术的不断发展和应用需求的不断变化,对透明加密技术也提出了更高的要求。
1)透明加密效率必须不断提高
计算机处理能力不断提升,磁盘存储空间越来越大,单个文件大小也越来越大,像一些设计类图纸,单个文件大小可达几个G。如何提高透明加密效率成为了必须要考虑的问题之一。
2)应用系统支持要求越来越广
windows 64位、LINUX、UNIX等计算机操作系统不断普及,苹果OS、Android、塞班等手机操作系统得到广泛应用,应着重考虑透明加密技术在这些平台上的应用。
3)从单—加密向全方位发展.
透明加密技术在加密方面表现出了其良好的特性,但对于数据泄漏防护而言,单一加密是不能满足需求的,还应该从内部网络授权访问,文件防打印、拷贝,网络发送扩散控制,预防木马和病毒等方面进行全方位的考虑,探索透明加密技术在这些领域的应用。
4 结束语
目前,我国大多数非涉密信息系统中,使用windows操作系统的用户不在少数,而透明加密技术与windows操作系统结合较为紧密,因此,对透明加密技术的研究具有相当的实用价值。然而,目前业界对于透明加密技术的研究还有待于进一步加强,该加密技术的安全性、可靠性也有待于进一步得到学术和技术层面的全面论证。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:透明加密技术研究