面向内部网络的电子文档保护系统
2010-06-12吴庆涛胡媛媛杨馨桐
吴庆涛 胡媛媛 杨馨桐
河南科技大学电子信息工程学院 河南 471003
0 引言
内部网络有利于资源的集成管理,成为企业日益依赖的信息基础设施。各种机密文件、工作报告、图纸、合同、配方、标书、源代码、客户档案、产品方案、设计思想、加工工艺、销售计划、财务报表等重要信息大量甚至完全以电子数据的形式存在于内部网络之中,信息的获取方法、存储形态、传输渠道和处理方式都发生了前所未有的变化,带来了泄密渠道增多、信息可控性减弱、保密监管难度增大等问题,泄密、窃密所造成的危害不断加大。内部网络中电子文档作为企业信息和知识产权的主要载体,其安全性问题日益引起人们的关注。
目前对电子文档的保护通常是通过制定各种管理规范、制度,例如实行分级管理,资源上传服务器统一控制,对于资源保护感觉强烈的单位甚至采取拆除光驱、软驱,封闭USB接口、串口、并口,在机箱上加锁、贴封条等物理手段,但是这些方法虽然阻止了用户将敏感信息带到企业应用环境之外,但也严重降低了系统的可用性和便利性。采用基于角色的访问控制(RBAC)可以防止非法的用户进行越权访问,但不能防止具有权限用户利用自己的权限把敏感信息带入工作环境之外。
来自国内外的调查结果显示,企业重要数据信息被窃所造成的原因主要来自病毒感染、网络黑客攻击、网络安全漏洞以及内部人员的有意行为,其中高达70%的信息泄密以及安全破坏问题发生于内部网络系统中。因此,如何保护内部网络电子文档的安全,防止重要机密信息从内部泄密和流失,对于企业的技术进步和可持续发展,保持企业在市场经济中的竞争优势和领先地位,显得尤为重要和迫切。
本文针对内部网络中信息泄密问题,设计并实现了一个电子文档保护系统,通过对电子文档的透明加解密来实现数据文件的主动安全防护。
1 文档透明加解密机制
1.1 文件系统过滤驱动原理
Windows NT 内核操作系统的驱动模型WDM采用模块化、分层次类型的驱动程序结构。在这种结构下,I/O管理器根据用户的文件操作请求构造IRP(I/O Request Package)发送到文件系统驱动程序,文件系统驱动程序把相应于文件系统的操作转换为相应于存储设备驱动程序的操作,并通过I/O管理器来调用存储设备驱动程序。
1.2 文件系统体系结构
基于文件系统过滤驱动原理,在设备驱动程序与文件系统驱动程序之间添加解密模块,利用此方法,设计了一个层叠的虚拟文件系统体系结构来解决数据的动态加解密问题,如图1所示。
图1 虚拟文件系统体系结构
该文件系统具有以下优点:
(1)各层之间相互独立,可实现较为完善的安全功能,层间没有相互制约。
(2)加解密层起到了中间人的角色,它可以为电子文档提供安全和透明的数据存储保护服务。
(3)加解密以模块化的方式嵌入到文件过滤驱动程序中,具有良好的可移植性和灵活性。
2 加解密实现
2.1 加解密模型
为了满足安全保护需求,同时保证应用程序的运行效率,根据用户对加密内容的要求,选用不同的加密算法,以达到用户的需要。文件加解密模型如图2所示。该模型由信息获取、算法选择和执行三个模块组成。
图2 透明加解密模型
信息获取模块是进行加密判断、缓存加密数据以及从元数据中提取加密类型,并在类型选择后将缓存的数据送往加密执行模块。
算法选择模块是执行加密类型的判断,并将选择的算法发往加密执行模块,以满足用户不同需求。
执行模块是整个加密子层的核心部分,它根据信息获取模块和算法选择模块传来的信息,执行加解密操作。
2.2 文件加解密实现
(1)数据结构
Typedef struct _PROCESS_AND_FILE_INFO
{
PFILE_OBJECT FileObject;
PVOID FsContext;
FILE_ENCRYPT_KEY FileEncryptKey;
}PROCESS_AND_FILE_INFO,*PPROCESS_AND_FILE_INFO;
FileObject:文件或文件夹对象
FsContext:指向文件对象的指针
FileEncryptKey:加密密钥结构体,包括加密长度,加密密钥,加密算法。
(2)加解密通信的结构体
Typedef struct _FILE_NAME_KEY_LIST{
WCHAR FileName[MAX_PATH];
HANDLE ProcessID;
FILE_ENCRYPT_KEY FileEncryptKey;
}FILE_NAME_KEY_LIST,*PFILE_NAME_KEY_LIST;
FileName[MAX_PATH]:需加密文档路径名。
ProcessID:进程ID号
(3)加解密处理流程
为了实现对文件的加密解密,需要拦截文件系统的操作。当需要访问文件时,解密数据内容,当存储文件时,加密其文件内容。加解密过程如图3所示。
图3 加解密处理流程
在文件数据写入磁盘的过程中,截获对文件的IRP_MJ_WRITE操作,在其派遣例程中对IRP携带的数据进行加密处理后再写入磁盘,完成透明的加密;在从磁盘读取文件数据的过程中,截获对文件的IRP_MJ_READ操作,在其派遣例程中对IRP携带的数据进行解密处理后再返回给上层,完成对数据的透明解密。加密后的文件在磁盘上始终以密文的形式存储,从而有效保证了数据的安全性。
文件的复制是按新建文件操作来对待,对文件的重命名操作只是修改内核数据库有关该敏感文件的加密属性信息来完成的。
2.3 测试与分析
该系统在Windows 2000、Windows XP 和Windows 2003操作系统下安装使用,系统界面如图4所示。
图4 系统界面
系统能够实现对TXT文本文档、Microsoft Office 软件、BMP、PDF等多种格式的文件实施透明加密解密。测试结果如图5所示。
图5 (a)TXT文本文档加密前后比较
图5 (b)Excel文件加密前后比较
电子文档的动态加解密采用过滤驱动的方式实现,由于驱动属于内核程序,受到操作系统的保护,因此程序的安全性及执行效率都较高。同时,由于驱动工作在系统底层,可以透明地完成数据的加解密操作,不会影响用户的正常操作。
3 结束语
本文设计并实现的面向内部网络的电子文档保护系统适用于Windows 2000及以上的操作系统,采用文件系统过滤驱动方法实现文件的透明加解密,测试分析表明:该系统在内部网络建立一个虚拟逻辑涉密网络,能够将内部网络中电子文档进行动态加解密,实现内部网络中电子数据安全保密存储,防止非法用户的越权访问以及内部用户有意无意的信息泄露。
[1]赵勇,刘吉强,韩臻,沈昌祥.信息泄露防御模型在企业内网安全中的应用[J].计算机研究与发展.2007.
[2]李晓飞.Windows环境下文件防扩散系统的设计与实现[D].大连理工大学硕士学位论文.2006.
[3]余庆祥,郑浩然.防止电子文档泄露的策略与机制[J].计算机应用与软件.2009.
[4]沈玮,王雷,陈佳捷.基于文件系统过滤驱动的加密系统设计与实现[J].计算机工程.2009.
[5]郑磊,马兆丰,顾明.基于文件系统过滤驱动的安全增强型加密系统技术研究[J].小型微型计算机系统.2007.
[6]瞿进,李清宝,白燕等.文件过滤驱动在网络安全终端中的应用[J].计算机应用.2007.