匡 宏, 赵恩来, 郝文宁, 黄 亚, 穆新国
(解放军理工大学工程兵工程学院,江苏南京210007)
网络信息安全问题已经越来越重要[1],其中权限管理[2-3]和访问控制[4-5]技术是实现信息系统安全的重要机制。权限管理和访问控制是信息安全保障机制的核心内容,它是实现数据保密性和完整性的主要手段,限制访问主体(如用户,进程,服务等)对访问客体(需要保护的资源)的访问限制,从而使计算机系统在合法范围内使用[6]。
访问控制是根据一定的策略,限制主体对客体的访问权限,目的是保证系统访问资源的安全性[7]。传统的自由访问控制方法(DAC)[8]和强制访问控制方法(MAC)[9]是由主体和访问权限直接发生关系,根据主体/客体的安全级别来决定对客体的访问权限。随着信息管理系统向着多用户、多应用发展,用户可访问的数据资源的结构日益复杂,规模日益增大,利用传统的访问控制方法来进行权限管理变得相当繁琐[10-11]。
本文结合具体研发的某部门权限管理及访问控制系统,采用PKI/PMI技术,设计和实现了满足某部门安全需求的权限管理及访问控制系统,很好的实现了用户和权限的分离,便于扩展和变通,支持岗位、权限多变的需求,易于实现复杂安全控制。
PKI(public key infrastructure,公钥基础设施)[12-15]是通过使用公开密钥技术和数字证书来确保系统信息安全并负责验证数字证书持有者身份的一种体系。PKI技术采用证书管理公钥,通过第三方的可信任机构认证中心CA(Certificate Authority),把用户的公钥和用户的其他标识信息(如名称、E-mail、身份证号等)捆绑在一起,在网上验证用户的身份。
授权管理基础设施 (privilege management infrastructure,PMI)[16]是国家信息安全基础设施的一个重要组成部分。PMI的目标是向用户和应用程序提供授权管理服务,提供用户身份到应用授权的映射功能,提供与实际应用处理模式相对应的、与具体应用系统开发和管理无关的授权机制,简化具体应用系统的开发与维护,减少管理成本和复杂性。
PMI提出了一个新的信息保护基础设施,它能够与PKI和目录服务紧密地集成,并系统地建立起对认可用户的特定授权,对权限管理进行了系统的定义和描述,完整地提供了授权服务所需过程。PKI和PMI的结合能为用户提供强大的服务功能。用户的信息合理地分成了两类:基本身份信息存放在属性证书中,易于改变的属性信息存放在属性证书中,这两类证书的发放权限可以由不同的部门来管理和执行。PKI证明用户是谁,为用户颁发公钥证书;PMI证明这个用户有什么权限、什么属性,为用户颁发属性证书。
省某某部门的权限管理及访问控制系统基于PKI/PMI技术来构建,实现了用户属性(即权限)的分级管理、访问控制的分级管理以及权限管理和应用访问控制的分离管理,确保谁的资源谁授权、谁的用户谁管理;确保用户权限管理独立于应用访问策略的设定及实施;实现了严格的两级访问控制机制,上级管理员可以授权下级管理员负责具体应用系统的管理,但各级管理员只能设定本级系统的访问控制策略,不能越权管理。系统建设还考虑了用户星型网络结构出现单点故障时可能引发的问题,采用镜像等技术措施确保广域网络的故障不影响本地用户对本地应用的访问,满足了系统的可用性要求。该系统的总体功能框架如图1所示。
图1 系统总体功能框架
详细分析系统的整个流程:以大单位访问控制建设为重点,以下详细列出某某小单位用户USER1访问某某小单位应用系统NJAPP1中的功能模块MODULE1的完整实现流程。
(1)系统准备
建立省CA、省RA、省AA、省ARA、省LDAP、小单位LDAP(注:小单位LDAP是省LDAP的镜像)。
(2)用户身份管理(注册用户)
在 PKI系统中注册 USER1,得到 USER1的 PKI证书USER1-Pcert。
(3)分级的用户属性管理
省AA管理员AA-Province-Manager负责本系统内所有属性类(地域,部门,职务,方向)的设置,并为属性类设定取值范围;AA-Province-Manager为省ARA管理员ARA-Province-Manager限定其可管理的用户集(即限于管理本省用户)以及限定其可为用户分配的属性集 (如不能注册出一个部长用户来);ARA-Province-Manager指定13个小单位 ARA管理员 ARACity-Manager(某某小单位ARA管理员为ARA-NJCity-Manager),赋予他们登录省ARA管理本局用户属性的权力,同时限定ARA-City-Manager可设置的属性集合 (如不能注册出一个部长用户来)。
ARA-NJCity-Manager登录到省ARA上为USER1分配属性,例如地域:某某小单位;部门:财务;职务:处长;方向:方向A,方向 B,方向C。
省AA签发USER1的唯一的属性证书USER1-Acert,并将其发布到省LDAP上。该证书包含USER1所有的属性信息。
各小单位LDAP与省LDAP同步。
(4)分级的访问控制策略制定
ARA-NJCity-Manager为某某小单位门户PORTAL-NJCity指定门户管理员ACL1-NJCity-Manager。
ACL1-NJCity-Manager设置某某小单位门户 PORTALNJCity的访问控制策略库 ACLPolicyDB-NJCity(例如资源:NJAPP1;属性集:部门=财务且地域是大单位;角色:合法用户)。在某某小单位门户 PORTAL-NJCity上添加应用系统NJAPP1,同时指定NJAPP1的ACL管理员为ACL2-NJAPP1-Manager。
ACL2-NJAPP1-Manager设置 NJAPP1的访问控制策略库ACLPolicyDB-NJAPP1(例如资源:MODULE1;属性集:部门是财务地域是大单位且方向包含方向A;角色:管理员)。
(5)身份验证和安全连接
代理服务器验证用户身份,建立安全客户端和应用的安全SSL连接,并将用户的访问请求提交给PORTAL-NJCity。
(6)分级的访问控制策略实施
PORTAL-NJCity收到用户的访问请求及属性Cookies,根据某某门户PORTAL-NJCity的访问控制策略库ACLPolicyDBNJCity得知USER1为合法用户,于是允许用户进入NJAPP1。于是USER1可以在门户主页上看到NJAPP1。
NJAPP1收到USER1的访问请求及属性Cookies后,根据NJAPP1的访问控制策略库 ACLPolicyDB-NJAPP1,得知USER1是MODULE1的管理员。
系统允许USER1进行MODULE1管理员的操作。
(7)流程结束
如图2所示,分级的用户属性管理子系统包括以下组件:
省属性证书签发中心AA:负责签发用户属性证书;
省属性管理中心ARA:为省一级用户属性分配点及小单位ARA管理员分配点;
目录服务系统:用于发布用户的PKI证书和属性证书,同时提供验证用户PKI证书和属性证书所需的信息。
图2 分级的权限管理子系统
分级的用户属性管理子系统包括以下管理员:
(1)AA管理员:负责签发用户属性证书;指定省级ARA管理员;设定省级ARA管理员可以分配的属性类及属性值全集;管理全系统内属性类和属性值(层层下发);
(2)省ARA管理员:负责管理大单位用户的属性,指定小单位ARA管理员,并限定小单位ARA管理员可分配的用户集和属性集;指定大单位门户ACL管理员;
(3)小单位ARA管理员:负责管理本小单位用户的属性;指定小单位门户的ACL管理员;
(4)目录服务系统管理员:发布证书。
如图3所示,分级的访问控制策略制定子系统包括以下组件:第一级ACL策略库:包括门户的访问控制策略表,提供第一级访问控制策略;第二级ACL策略库:包括各具体应用系统的访问控制策略表,提供第二级的访问控制策略。
图3 分级的访问控制策略制定子系统
分级的访问控制策略制定子系统包括以下管理员:
(1)大单位ARA管理员:负责分配大单位的门户管理员;超级管理员由ARA管理员担任或指定;
(2)小单位ARA管理员:负责分配各小单位的门户管理员;
(3)大单位及各小单位门户管理员:负责管理各自门户的访问控制策略,负责指定各具体应用系统管理员;负责添加应用;负责添加第一级访问控制的角色;
(4)各具体应用系统管理员:负责管理各自应用系统的访问控制策略;负责添加第二级访问控制的角色。
分级的访问控制策略实施子系统包括以下组件:
(1)代理服务器:为安全客户端和应用建立SSL安全连接,向应用提交安全客户端的访问请求;
(2)第一级ACL策略库:是第一级访问控制决策点,包括门户的访问控制策略,提供第一级访问控制决策;
(3)门户:是第一级访问控制实施点,它根据第一级ACL策略库提供的访问控制决策结果进行第一级的访问控制;
(4)第二级ACL策略库:是第二级访问控制决策点,包括各具体应用系统的访问控制策略,提供第二级访问控制决策;
(5)具体应用系统:是第二级访问控制实施点,它根据第二级ACL策略库中该应用系统的ACL策略表提供的访问控制决策结果进行第二级的访问控制。
本文以“分级的访问控制策略实施子系统”为例,分析系统的安全性能。分级的访问控制策略实施具体流程如图4所示。
图4 分级的访问控制策略实施的流程
(1)安全客户端请求访问代理服务器;
(2)代理服务器与用户进行身份认证;
(3)在安全客户端和代理服务器之间建立安全SSL连接;
(4)代理服务器获取用户的属性证书并验证其合法性;
(5)代理服务器将用户对应用系统的访问请求提交给门户;
(6)门户根据第一级ACL策略库提供的访问控制决策结果决定是否允许用户进入他想访问的应用系统;
(7)门户将用户对应用系统具体功能模块的访问请求提交给具体的应用系统;
(8)具体的应用系统根据第二级ACL策略库提供的访问控制决策结果决定是否允许用户访问他想访问的功能模块。
权限管理和访问控制是确保信息化时代复杂信息系统安全的重要基石。本文介绍了基于PKI/PMI技术的权限管理及访问控制系统的设计与实现,该系统具有权限分配灵活、便于使用、安全性高;权限的分级管理、访问控制的分级管理以及权限管理和应用访问控制的分离管理。实现了严格的两级访问控制机制,有效的防止了非法用户的访问,保护了信息和资源的安全。该系统已成功应用于某部门权限管理及访问控制系统的设计和开发实践,并能与其他应用系统很好的集成。如何将Acegi安全框架应用到本系统中,进一步提高信息系统的安全性,是作者研究的下一个方向。
[1]刘伟,刘嘉勇.一种基于扩展角色的访问控制模型和方法[J].信息与电子工程,2009,7(1):76-80.
[2]范明虎,樊红,伍孝金.ASP.net中基于RBAC的通用权限管理系统[J].计算机工程,2010,36(1):143-146.
[3]林尤舜,钟声.基于RBAC的权限管理系统的设计与实现[J].计算机应用,2009,29(3):59-61.
[4]杨天怡,董红林,黄勤.应用角色和任务访问控制的工作流动动态授权模型[J].计算机应用研究,2010,27(4):1511-1544.
[5]郭晓凯,卫文学,黄海明.基于角色的代理访问控制模型及其实现[J].山东科技大学学报自然科学版,2009,28(1):89-92.
[6]刘鹏远,李彤.基于角色的权限管理的总体解决方案[J].计算机工程与设计,2007,28(24):6033-6036.
[7]陈泉冰,王会进.一种改进的基于任务-角色的访问控制模型[J].暨南大学学报(自然科学版),2010,31(1):29-35.
[8]康丽珠,黄青松,刘利军.一种改进的基于角色的分级授权访问控制模型[J].昆明理工大学学报(理工版),2009,34(1):39-42.
[9]平震宇.扩展RBAC的安全约束实现强制访问控制[J].绵阳师范学院学报,2009,28(2):86-88.
[10]饶文碧,陈丹丹,王闯.基于RBAC的权限管理系统的设计与实现[J].计算机与数字工程,2008,36(5):100-103.
[11]覃章荣,王强,欧镔进,等.基于角色的权限管理方法的改进与应用[J].计算机工程与设计,2007,28(6):1282-1285.
[12]田仲富.公钥基础设施(PKI)安全性研究[J].中国安全科学学报,2009,19(2):116-120.
[13]田晓菲.基于PKI/PMI的工作流访问控制模型研究[D].成都:西南交通大学,2008:1-50.
[14]宁红宙,华刚,金端峰.公钥基础设施(PKI)应用中的信任问题与安全解决方案[J].中国安全科学学报,2007,17(10):140-144.
[15]谢慧,严承华,聂峰.一种分层PKI系统在园区网上的设计与实现[J].微计算机信息,2008,24(3):85-88.
[16]张基温,裴浩.基于PMI的安全匿名授权体系[J].计算机工程与设计,2007,28(3):547-550.