针对网络应用的安全需求,先后出现了多种访问控制模型,如基于角色的访问控制模型RBAC(role-based access control) [1-3] 、基于任务的访问控制模型TBAC(traskbased access control) [4-5] 、与时空相关的访问控制模型 [6-7] 、面向分布式的访问控制模型 [8-9] 等。虽然部分已有模型涉及了与访问控制相关的时态因素和位置因素,但缺乏了对多级安全信息系统中位置、软硬件平台、时态等环境因素的综合考虑。文献[10]针对角色、环境和时态对权限分配的影响给出了环境状态、时态状态以及行为的概念,提出了基于行为的访问控制模型ABAC(action-based access control)。文献[11]在此基础上,通过引入受限的时态状态和环境状态,给出了管理行为的定义和ABAC管理模型的结构。文献[12]给出了Web环境下基于行为的访问控制安全体系结构,在此体系结构中,行为服务器管理行为信息,域服务器决定请求资源的安全序列,以及资源服务器响应用户的请求,其中资源服务器存储的资源使用了不同的安全序列。文献[13]基于ABAC模型,给出了协作信息系统访问控制的流程;提出了包含用户请求、用户身份、口令、角色、时态状态、环境状态、生命期等安全属性的安全关联及其产生方法;给出了一种安全认证协议,用来实现用户与行为服务器、资源管理服务器之间交换与ABAC模型相关的安全属性,并使用UC模型证明该协议的安全性。
多级安全信息系统是指允许存储具有不同敏感等级信息的系统,允许具有不同安全标识和授权的用户按照“知其所需”的原则处理系统信息的系统,阻止没有安全标识、没有授权或者没有获取信息需求的用户访问信息的系统 [14] 。然而,环境状态则是影响多级安全信息系统中访问控制策略的重要因素,虽然文献[13]给出了协作信息系统访问控制流程,但没有具体描述环境服务器的实现方法。针对环境状态E在多级安全信息系统中的重要性,本文在协作信息系统访问控制流程基础上提出了ABAC的多级安全信息系统访问控制机制,通过环境服务器中的网络位置探测器获得网络位置信息,通过时间戳服务器获取时态状态。本文具体介绍网络位置探测器。
环境状态E可以表示为[EN|EL|EH|ES] [10-11] ,其中EN表示事件发生的网络逻辑位置信息,包括MAC地址和IP地址;EL表示事件发生的网络物理位置信息;EH表示事件发生时用户使用的硬件信息;ES表示事件发生时用户的软件信息。本文对用户的网络逻辑位置与网络物理位置进行了探测,通过网络位置探测器来获得网络位置。
网络位置探测器的作用是为环境服务器提供登录到多级安全信息系统的主机的网络物理位置信息和网络逻辑位置信息,包含了网络物理位置探测器和网络逻辑位置探测器两个部分,网络物理位置探测器是用来获取目的主机的网络物理位置,即主机所在的具体地点,网络逻辑位置探测器是用来获取目的主机的网络逻辑位置,即主机的MAC地址与IP地址。网络位置探测器的部署如图1所示,下面具体介绍两个模块的实现框架。
网络逻辑位置探测器是基于动态主机配置协议DHCP(dynamic host configuration protocol)和WinPcap(windows packet capture) [15] 实现的。
在多级安全信息系统中,DHCP服务器用来为内部网络主机分配动态的IP地址。为了便于管理,本文在信息系统中只设计了一个提供DHCP服务的服务器,也就是环境服务器。当主机登录后,向服务器发送请求,该主机只会收到来自环境服务器的响应,每当环境服务器向主机发送一个DHCPACK报文,就表示一台主机登录到多级安全信息系统中。同时,需要获取的网络逻辑位置信息也记录在DHCPACK报文的yiaddr字段和chaddr字段中。yiaddr字段表示服务器分配给客户端的IP地址,当DHCP服务器响主机的DHCP请求时,将分配给该主机的IP地址填入此字段;chaddr字段记录主机的MAC地址,当主机发出DHCP请求报文时,将MAC地址填入此字段,DHCP服务器使用此字段来唯一标识一台主机。DHCP消息类型则记录于option字段中,当code=53,length=1,value=5时,此字段表示DHCP报文类型为DHCPACK。
网络逻辑位置探测器获取网络逻辑位置的过程包括内核部分和用户数据分析部分,其中内核部分负责从网络中捕获和过滤数据;用户分析部分负责协议分析、数据处理、抽取网络信息,2.1节中介绍网络逻辑位置探测器的实现方法。
网络逻辑位置探测器检测到有主机登录到多级安全信息系统后,获取到该主机的网络逻辑位置信息,并将网络逻辑位置信息发送给网络物理位置探测器,作为网络物理位置探测器抽取该主机网络物理位置信息的依据。
在环境服务器上的DHCP服务为主机提供IP地址的过程中,DHCP包经由的交换机学习了该主机的MAC地址,将其记录到地址转发表中(端口号-MAC地址)。本文使用地址转发表中交换机端口号与MAC地址的对应关系来探测主机与环境服务器之间的链路关系,根据位置信息表来确定主机的物理位置,此方法的核心在于获取交换机地址转发表的方法。
图1 基于ABAC的多级安全信息系统访问控制机制
在日常生活中,网管人员通常使用远程登录交换机,使用交换机控制台命令查询的方法来获取交换机的地址转发表。这种方法相对简单,只需几条命令即可获得所需信息,但不同品牌的交换机的命令是不同的,同一品牌的不同型号的交换机的命令也是不同的,没有统一的标准,所以这种方法只限于特定的网络,既不具备可扩展性,也不具备通用性。网络物理位置探测器则采用了基于简单网络管理协议SNMP(simple network management protocol)的网络管理方法来获取交换机的地址转发表。其中,管理信息库MIB(management information base)包含所有可被查询和修改的参数。本文中涉及的MIB对象包括RFC1493 Bridge MIB描述的地址转发表dotldTpFdbTable、RFC2674 QBridge MIB描述的地址转发表dotlqTpFdbTable,以及RFC 1213 MIB-2IP功能组描述的路由表IpRouteTable。2.2节中详细介绍网络逻辑位置探测器的实现方法。
网络逻辑位置探测器用于获取多级安全信息系统中主机的网络逻辑位置信息,是基于环境服务器的DHCP服务实现的。当一台主机登录到多级安全信息系统中,DHCP服务为该主机动态分配IP地址,在确认阶段,DHCP服务向该主机发送DHCPACK数据包,该数据包中包含所提供的IP地址以及该主机的MAC地址,也就是我们所需要的网络逻辑位置信息。网络逻辑位置探测器使用WinPcap捕获DHCPACK数据包,分析数据,读取yiaddr字段和chaddr字段,即网络逻辑位置信息。网络逻辑位置探测器依据主机IP地址查询数据库中的Vlan信息表获取该主机的Vlan信息。网络位置探测器使用MySQL数据库管理Vlan信息表,表的结构如表1所示,该表记录了多级安全信息系统的Vlan信息,Vlan的IP地址的范围与DHCP服务的IP作用域对应。实现网络逻辑位置探测器的具体流程如图2所示。
网络物理位置探测器用于获取多级安全信息系统中主机的网络物理位置信息,是基于SNMP协议实现的。网络物理位置探测器收到网络逻辑位置探测器发送的网络逻辑位置信息后,根据网络逻辑位置信息中的MAC地址探测主机的网络物理位置。网络物理位置探测器向交换机发送SNMP报文,依据地址转发表和路由表获取与目的主机连接的交换机的端口号,查找数据库中的位置信息表便得到目的主机的物理地址。网络位置探测器使用MySQL数据库管理位置信息表,表的结构如表2所示,该表记录了多级安全信息系统中设备的位置信息。实现网络物理位置探测器的具体流程如图3所示。
图2 网络逻辑位置探测器实现流程
表1 Vlan信息表
本文在环境服务器上设计并实现了网络位置探测器,示例测试的网络拓扑结构如图4所示,其中,交换机Switch1型号为H3C S5500 EI,交换机Switch2型号为华为Quidway S2000系列。环境服务器的操作系统为Windows Server 2003,配置DHCP服务,创建了3个IP作用域,分别为3个Vlan分配IP地址,IP地址范围为“172.16.66.226~172.16.66.236”,“172.16.66.100~172.16.66.116”,“172.16.66.131~172.16.66.140”,子网掩码为255.255.255.224,并将多级安全信息系统中的客户端电脑设置为自动获取IP地址的方式。
图3 网络物理位置探测器流程
表2 位置信息
(续表)
由于在IP地址动态获取过程中采用广播方式发送报文,因此DHCP只适用于DHCP客户端和服务器处于同一个子网内的情况。对于图4的网络环境下,需要Switch1上配置DHCP中继服务,并配置Vlan接口1对应DHCP服务器IP作用域1,Vlan接口2对应IP作用域2,Vlan接口3对应IP作用域3。由于网络物理位置探测器是基于SNMP协议实现的,Switch1和Switch2均开启了SNMP服务。
图4 网络拓扑
当有主机接入时,如PC1接入网络,网络逻辑位置探测器获得网络逻辑位置信息后,将其发送给网络物理位置探测器,网络物理探测器读取Switch2的地址转发表,此地址转发表中没有目的主机PC1的MAC地址,网络物理位置探测器则读取Switch2的路由表,得到下一个目的交换机的IP为172.16.66.98,即Switch1。网络物理位置探测器读取Switch1的地址转发表,PC1的MAC地址对应的端口为1,根据Switch1的IP地址与端口号查找物理位置表,得到PC1的物理位置为“教学楼101”。同样,当PC2登录网络时,也可得到PC2的网络位置信息。
当PC3登录网络时,网络位置探测器的网络逻辑位置探测器捕获DHCPACK包,分析数据包,记录PC3的网络信息,显示PC3的IP地址,MAC地址和Vlan信息,并将PC3的网络逻辑位置信息发送给网络物理位置探测器,网络物理位置探测器读取Switch2的地址转发表,PC3的MAC地址对应的端口为7,根据Switch2的IP地址与端口号查找物理位置表,得到PC3的物理位置为“图书馆203”。图5为PC1、PC2和PC3接入到多级安全信息系统后的,网络位置探测器获得的PC1、PC2和PC3的网络位置信息。
图5 演示界面
基于行为的访问控制模型ABAC的行为包含了角色、环境状态和时态状态,行为的状态随着角色、环境状态和时态状态的不同而动态变化。环境状态的获取是基于行为图5演示界面的访问控制模型应用的前提,为了实现ABAC模型,本文给出了在多级安全信息系统中ABAC的位置探测器的设计框架,提出了依赖DHCP协议提取网络逻辑位置的方法,以及基于SNMP、MIB提取网络物理地址的方法,最后以示例的形式描述了位置探测器的实现方法。
[1]Ferraiolo D F,Sandhu R,Gavria S,et al.Proposed NIST standard for role-based access control[J].ACM Transactions on Information and System Security,2001,4⑶:224-274.
[2]Bammigatti PH.Generic WA-RBAC:role based access controlmodel for web applications[C].Proceedings of the 9th International Conference on Information Technology.Bhubaneswar,India:IEEE Computer Society,2006:237-240.
[3]Takabi H,AminiM,Jalili R.Enhacing role-based access controlmodel through fuzzy recations[C].Proceedings of the Third International Symposium on Information Assurance and Security.Manchester,UK:IEEE Computer Society,2007:131-136.
[4]DENG Ji-Bo,HONG Fan.Task-based access control model[J].Journal of Software,2003,14(1):76-82(in Chinese).[邓集波,洪帆.基于任务的访问控制模型[J].软件学报,2003,14(1):76-82.]
[5]ZHANG Dong-wen,PEIXing,QIU Ji-Qing,et al.A delegation model for time constraints-based TRBAC[C].Proceedings of the Eighth International Conference on Machine Learning and Cybernetics.Baoding,China:IEEE Press,2009:2027-2032.
[6]Ardagna C,Cremonini M,Damiani E,et al.Supporting Location based conditions in access control policies[C].Proceedings of the ACM Symposium on Information,Computer and Communications Security.Taipei,Taiwan:ACM Press,2006:212-222.
[7]DamianiM,Bertino E,Catania B.GEO-RBAC:a spatially aware RBAC[J].ACM Transactions on Information and System Security,2007,10(1):1-42.
[8]LIU Song-yun,HUANG He-jiao.Role-based access control for distributed cooperation environment[C].Proceedings of Interna-tional Conference on Computationlai Intelligence and Securiity.Beijing,China:IEEE Computer Society,2009:455-459.
[9]WU Xian,QIAN Pei-de.Research on policy domain access controlmodel in distributed systems[C].Proceedings of Nine International Conference on E-Business and Information System Security.Wuhan,China:IEEE Press,2009:1-6.
[10]LIFenghua,WANGWei,MA Jianfengm,et al.Action-based access controlmodel[J].Chinese Journal of Electronics,2008,17(3):396-401.
[11]LIFeng-hua,WANGWei,MA Jian-feng,et al.Aion-based access controlmodel and administration of action[J].Acta Electronia Sinica,2008,36(10):1881-1890(in Chinese).[李凤华,王巍,马建峰,等.基于行为的访问控制模型及其行为管理[J].电子学报,2008,36(10):1881-1890.]
[12]LIFenghua,WANGWei MA Jianfeng,et al.Action-based access control for web services[J].Journal of Information Assurance and Security,2010,5(3):162-170.
[13]LIFeng-hua,WANGWei,MA Jian-feng,etal.Access controlmodel and its application for collaborative information systems[J].Journal on Communications,2008,29(9):116-123(in Chinese).[李凤华,王巍,马建峰,等.协作信息系统的访问控制模型及其应用[J].通信学报,2008,29(9):116-123.]
[14]Tan ZY,Liu D,Lin J.Availability analysismethod ofmultilevel securitymodelswith credibility characteristics[C].Proceeding of International Conference on Networks Security,Wireless Communications and Trusted Computing,2009:175-178.
[15]WinPcap Documentation[DB/OL].http://www.winpcap.org/docs/dois_412/html/main html,2010.