APP下载

基于信息密级标识的多级域防护系统

2013-08-20林文美缪品章翁鲲鹏王美方演

网络安全技术与应用 2013年2期
关键词:密级管理器客户端

林文美 缪品章 翁鲲鹏 王美 方演

富春通信股份有限公司 福建 350405

0 引言

出于安全考虑,涉密网络一般按照不同密级划分安全域,域间用安全设备隔开,按照国家要求,严禁高密级信息向低密级域流动。要满足该要求,就要控制信息的知悉范围,对域内和域间信息的流通进行严密控制,不能单从形式来满足国家要求,诸如将安全域提升到同一等级。对信息秘密级别进行细分,关联角色权限,进行安全域管理与信息流向控制,实现细粒度访问控制,才是解决安全问题的关键。

《涉及国家秘密的信息系统分级保护要求》中提出了一个重要概念:密级标识。密级标识这一概念和要求的提出,无疑是我国信息安全保障的重大突破。但是目前还无完善的技术方案可以完美的实现基于信息密级标识的多级安全域防护,能在确保信息机密性的同时,又能不改变工作使用习惯、且不阻碍文件的正常传输。本文设计的基于信息密级标识的多级域防护系统,是利用Windows内核的驱动框架,通过嵌入在I/O管理器和文件系统驱动模块之间的文件过滤驱动模块向密级信息写入密级标识头,形成信息身份标识,结合管理中心分发密钥,构造信息控制引擎,完成对涉密信息的动态透明加/解密,实现细粒度访问控制,并将基于密级标识的信息控制引擎结合访问控制策略,实现对涉密信息在域内和域间流通过程的控制,杜绝高密级信息向低密级域流动。

1 系统模型与Windows内核驱动框架

1.1 系统框架模型

该系统采用C/S架构,通过安全通道连接,如图l所示。用户在进行注册时,管理中心根据最小化原则赋予对应权限,并通过弱密码检测杜绝弱口令事件发生。客户端通过页面重定向对内网用户进行强制登录认证。用户进行登录认证完毕,通过应用软件来打开一个文件时,信息控制引擎根据用户权限,结合管理中心实现动态加/解密,确保涉密信息只能被相应权限的合法用户所查阅以及防止高密级信息向低密级域流动。服务端主要是实现管理功能,其中扫描系统模块进行计算机、设备的扫描识别,绑定 IP/MAC,界面化展示整个区域网络架构、PC、服务器及相关设备,是整个域管理的基础,可以根据需要进行域级别划分,并将其形象化展示;同时还提供了日志审计功能,根据密级标识中的ID号,实现信息从生成-访问-流通-销毁这一系列过程的记录,对具有信息泄露威胁的行为进行报警;密钥管理模块完成密钥分发,结合客户端的信息控制引擎,实现动态加/解密。

图1 系统框架图

1.2 Windows内核驱动框架

Windows内核驱动框架,是信息控制引擎的基础,程序是通过虚拟地址对数据进行访问,并要求内存中的数据始终以未加密形式存在。虚拟地址与物理内存地址相映射是以固定长度的页面为单位,通过页面数据的读写把数据读到内存或把内存的数据写到物理磁盘上。该框架仅对(IRP->Flags)为IRP_NO_CACHE|IRP_PAGING_IO 的IRP请求进行处理,其中 IRP_NO_CACHE标记表示数据不能被缓存处理,IRP_PAGING_IO表示此IRP为页面数据读写。应用程序的一次正常情况下读请求的步骤如下:

(1) 应用程序通过系统内核所提供的函数接口把读请求发送给I/O管理器。

(2) I/O管理器构造该请求所对应的IRP并将其下发给文件系统驱动层。

(3) 文件系统驱动判断缓存管理器是否存在该数据。

(4) 若存在,则文件系统驱动通过函数接口告知 I/O管理器该请求可通过Fast I/O请求来获取,然后I/O管理器向文件系统驱动发送其构造的Fast I/O请求IRP,最后文件系统驱动通过Fast I/O分发例程获取缓存管理器中的数据并将其发送给I/O管理器。

(5) 若不存在,文件系统驱动将 IRP发送到磁盘驱动,磁盘驱动再把从物理磁盘中获取的数据发送给I/O管理器。

(6) 最终 I/O管理器将其得到的数据发送给应用程序,完成读操作。

2 信息控制引擎

该系统中的信息控制引擎,不仅是进行数据动态透明加/解密的核心,更是多级域信息流控制的基础。信息控制引擎,是利用微软内核操作系统的驱动框架,采用改进型文件系统过滤驱动技术,截获 IRP,对驱动层之间的传递数据进行相应操作,将密级标识附加于信息头部,打上身份标签,联合服务端的密钥管理系统,进行动态透明加/解密处理,实现细粒度的访问控制与信息流向控制。

2.1 密级标识

信息秘密级别的细分与用户角色权限的合理授予,是实现对涉密信息进行细粒度访问控制的基础,确保某权限用户只能访问与其权限对应的涉密文件,并杜绝高密级信息流向低密级域。为了精确的对文档的属性进行标识,信息控制引擎中的文件系统过滤驱动层,在创建文件时候,主动向文件系统驱动发送一次IRP写请求,将信息密级标识以头文件形式附加在文件的头部并写入磁盘,里面包含有ID号、文件真实长度、加密算法、创建者、最后修改者、权限信息、域标识,密级标识结构Security_identifier定义如下:

由于文件系统过滤驱动层往信息头部添加了信息标识,导致了信息长度发生了改变,假设信息的实际长度为L,附加信息块的长度M,写入磁盘的数据长度为L+M。系统运行时,在内核层创建并维护文件属性标识链表,并将其同步到管理中心。其中信息域安全级别标识与创建用户自身所在域相对应,信息秘密级别与创建者所拥有的的权限级别相对应。

2.2 涉密信息读操作与加密

当合法用户通过页面重定向进行强制登录认证后,打开涉密文件,应用程序将调用CreateFile函数向I/O管理器发送IRP_MJ_WRITE写请求,然后I/O管理器提取应用程序进程名称、数据开始地址、数据长度、数据存储路劲、待存储数据等构造写请求对应的IRP,并将该IRP发送到文件过滤驱动层,文件系统过滤驱动层收到IRP数据包后,并主动向文件系统驱动发送一次IRP写请求,请求在文件头加入固定长度(长度 M)的密级标识,同时在本地创建密集标识表,并更新至管理中心,完成定密,并根据密级标识中的加密算法完成加密,用户可以根据自身的需要,在策略配置时选择相应的加密算法。文件系统过滤驱动层将加密后的数据包转交到文件系统驱动,并最终将加密后带有密级标识的文件写入物理磁盘。具体过程如图2所示。

2.3 涉密信息读操作与解密

内网用户通过页面重定向,强制已注册用户进行登录认证,认证成功则安全连接管理中心,关联权限。当已认证用户要打开涉密文件时,应用程序调用系统内核组建提供的函数接口向I/O管理器发送RP_MJ_READ读请求,I/0管理器提取应用程序进程名称、数据开始地址、数据长度、数据存储路径等构造读请求对应的IRP,并将该IRP发送到文件过滤驱动层,等待待读数据。过滤驱动层向文件系统驱动发送IRP_QUERY_INFO,获取该文件的密级标识,包括信息ID、所需权限、加密算法,并计算出文件真实长度,既在读取时候要扣除文件头的密级标识长度,再将该信息 ID对比密级标识链表,如过链表中已有,则以正常方式打开文件,若无,则需要进行权限的对比,若文件密级高于该用户权限,则拒绝打开。若低于该用户权限,则将此文件更新到密级标识表以及同步到管理中心;过滤驱动层将 IRP发送给文件驱动层,文件系统驱动层接收到数据后,按正常操作,将信息从磁盘中读出。文件过滤驱动层接收到返回的数据后,将读取到的数据,按照密级标识里的加密算法解密,其中密钥分发由管理中心分发。然后将解密后的数据传给I/O管理器。I/O管理器将该数据传给应用程序接口,完成读请求。具体过程如图3所示。

图3 信息读操作与加密

图2 写操作与信息加密

2.4 多级域信息流控制

信息控制引擎作为文件读写与加解密的基础,联合信息流通访问控制策略,实现信息流向控制。这里分三个情况,包括域间流通、域内流通、通过物理接口流通,具体过程如下所述:

(1) 当信息在不同密级域进行流通时,服务端进行截获并提取信息密级标识,判断域管理模块中的域级别高低,如果是高密级域流向低密级域,则禁止流通并记录审计数据库,否则进行转发;

(2) 在同一安全域的不同用户间流通,服务端对比信息密级标识与接收方权限高低,若接收方权限高于信息密级标识所需权限则转发,否则拒绝传送;

(3) 通过U盘等外部接口,移走涉密信息,如果是在离开该系统的机子上运行,将由于没有管理中心分发的密钥而无法打开。如果是拷到别的域或者是拷到同一个域的机子,由于在解密过程中,会对域级别与信息密级标识进行判断,从而造成权限不够的用户浏览失败。

在整个流通过程中,审计模块会根据文件ID进行跟踪,当发生读、写、修改、流通等操作时候,写入管理中心审计数据库,对会产生信息泄露的操作进行报警。具体流程如图4所示。

图4 信息流控制

3 服务端与客户端的通信

系统的客户端与服务器间的通信是通过SSL安全机制来实现的。为了提升客户端与服务器的“握手”效率,该系统采用的是预设置的加密算法,既用户根据自身需求,通过设置模块进行通信加密算法的预设置。服务器与客户端在“握手”认证前,客户端首先要从服务器上下载用户证书,其结构包括用户ID、用户密码散列值、RSA公钥、证书类型等。

用户证书下载时,服务端与客户端的通信还是采用SSL安全机制,其中服务器与客户端的“握手”认证过程如下:

(1) 客户端发送连接请求,服务器接受请求后,创建随机密钥KEY1,并将其发送给客户端;

(2) 客户端使用步骤1中产生KEY1对用户密码进行散列计算,从而生成认证信息R1并创建随机密钥KEY2;

(3) 通过用户证书中的RSA公钥对R1、KEY2进行加密,然后与m_UID一起发送至服务端。

(4) 服务端对认证数据用RSA私钥进行解密,通过定义的m_UID定位用户账号信息,使用KEY1对其中的用户密钥进行散列计算生成R2,然后比较R2与客户端返回的R1,如果一致,则该网络信道是可信的。

(5) 最后通过 KEY2完成数据的加密通信。可信通道建立后,客户端可获取信息的加/解密密钥,并将其转换成中间结构,以密钥相关的随机数形式存放在内核中。另外,客户端用户对涉密文件的所有操均为生成记录并通过该安全信道上传到服务端,形成日志。

4 结论

该系统通过在微软原理驱动框架中添加文件系统过滤驱动层,实现密级标识的添加与过滤涉密信息的动态透明加解密,并以此为基础,配合访问策略,实现涉密信息流向控制,使得涉密信息均以密文形式存在,只能被其知悉范围内的合法用户所访问。对进行多级域划分的内网中的涉密信息,起到了很好的保护作用。

[1]杨瑞华,向导,余艳,张林,陈乐,孟庆惠,刘琴华.网络安全域划分与信息流向控制的探讨[J].学术交流.2010.

[2]郑磊,马兆丰,顾明.基于文件系统过滤驱动的安全增强型加密系统技术研究[J].小型微型计算机系统.2007.

[3]吴滨.密级标识技术在分级保护中的应用[J].技术应用.2006.

[4]Oney Walter.Programming the icrosoft windows driver model[M].Redmond,Wash.:Microsoft Press.2003.

[5]Mark E Russinovich,David A Solomon.Microsoft windows internals fourth edition[M].Redmond Wash:Microsoft Press.2005.

猜你喜欢

密级管理器客户端
启动Windows11任务管理器的几种方法
应急状态启动磁盘管理器
如何看待传统媒体新闻客户端的“断舍离”?
基于区块链技术的多密级数据安全存储系统设计
Windows文件缓冲处理技术概述
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
密级档案管理提升措施探析——以省属机关事业单位文书档案管理为例
文件密级标识全程管控系统的设计与实现