基于时间和环境约束的四层访问控制模型研究

2018-02-27 03:06李怀明宋方方王连庆
计算机应用与软件 2018年1期
关键词:访问控制时态约束

李怀明 宋方方 王连庆

(大连理工大学管理科学与工程学院 辽宁 大连 116024)

0 引 言

随着信息化、网络化的飞速发展,移动计算在电子政务等大型信息系统中的应用日益普及[1]。在移动计算为电子政务提供方便快捷的同时,也使得信息资源的安全访问问题日趋突出。因此,新环境下如何安全有效地进行授权成为建设复杂政务系统的关键问题。

目前解决复杂政务系统中授权管理问题的思路是构建访问控制模型,而且大多是以RBAC模型为基础的扩展模型[2]。单纯的RBAC模型已经不能适应这种新型网络环境的要求,为了保证信息访问的合法性、安全性以及可控性,国内外研究学者在细粒度约束层面提出了许多扩展模型。Joshi等[3]提出了通用的时态访问控制模型RTRBAC,但是该模型只是具备了时态因素,并没有考虑到角色分配时的时态因素。Govington等[4]通过引入环境角色提出GRBAC模型,要求分配的权限要与环境角色集合相关联。Ray等[5]提出了基于位置的访问控制模型,讨论了系统组件与位置的关系。GEO-RBAC模型[6]对主客体位置以及地理边界建模,主要用于移动协作系统。穆玲玲等[7]提出了基于权限属性的UCONABC访问控制模型,给出了多权限系统授权的实现方法。沈海波等[8]通过构造Pop权能令牌,提出了受限环境下基于权能的访问控制安全构架,并给出了客户端到资源服务器的认证方案。熊厚仁等[9]将RBAC与ABAC相结合,融合两个模型的优势提出了混合扩展访问控制模型HARBAC。董理君等[10]提出了一种基于环境安全的角色访问控制模型ESRBAC,给出了环境安全等级,只有当角色的环境安全等级达到规定级别时角色才有效。针对复杂政务系统的动态授权方面,彭友等[11-13]从系统权限的可控性和资源的安全性等方面的考虑,在RBAC模型的基础上增加了时空约束、资源约束和事件互斥约束,用于解决授权问题。文献[14]结合可信计算给出了根据用户行为可信度的动态授权方法。李凤华等[15]提出了基于行为的访问控制模型ABAC,并引入管理行为给出了模型的管理模型,ABAC模型更适用于解决网络环境下支持移动计算的信息系统中的访问控制问题,但是该模型忽略了复杂的组织机构,因此不能很好应对复杂的政务系统的用户行为管理。丁峰等[16]提出了基于组织的访问控制系统授权验证单层关系模型,用于对ORBAC模型授权情况进行许可验证,但没有考虑动态的用户行为。使用控制模型UCON(usage control)[17]是目前较为流行的访问控制模型,该模型包括了除授权过程中必备的基本元素以外,还新增了义务和条件两个元素。虽然UCON模型在分布式、跨域环境下具有明显的优势,但是该模型的授权管理较为复杂,将使用控制模型应用于更高复杂度的政务系统,其访问控制能力还有待研究。

分析现有的研究成果发现,基于组织的四层访问控制模型(OB4LAC)[13]更加适合解决复杂政府系统授权管理问题,但是该模型存在不能动态授权等不足。因此,以OB4LAC模型为基础,引入行为的思想,增加时间和环境约束,提出了基于时间和环境约束的四层访问控制模型TE-OB4LAC,以求解决复杂政务系统中用户在不同时间不同环境下的授权管理问题。

1 TE-OB4LAC模型构建

1.1 问题的提出

基于组织的四层访问控制模型(OB4LAC)的核心是将政府中代表权能的组织引入到该模型中来,由于组织机构是基本不变的,只需将人员重新分配岗位,而岗位对应的角色不会轻易改变,从而实现了复杂政务系统中高效便捷灵活的授权管理。OB4LAC模型结构图如图1所示。

图1 OB4LAC结构图

目前,OB4LAC模型已经在很多大型复杂电子政务系统中得到应用,并取得了良好的应用效果。但是在移动计算推动电子政务发展的同时,OB4LAC模型也出现了不足之处。在移动计算环境中,岗位和角色访问系统时的位置信息、平台信息、网络逻辑位置、网络物理位置等环境信息会影响其访问系统的权限。例如办事处某岗位的办公许可时间为每周一的上午9点到上午11点,且要求在政府内网环境下访问,那么隶属于该岗位的人员只能在这个时间和环境约束范围内对某些资源进行相关操作,一旦超出该时间和环境约束,系统就会做出相应的控制。

因此,为了在不失访问的灵活性的同时,又保证系统的安全性,有必要将时态和“环境”概念引入到访问控制模型机制中。

1.2 模型的概述

TE-OB4LAC模型是OB4LAC模型的扩展,目的是实现用户的访问权限会随着自身的时态和环境信息动态地调整。TE-OB4LAC模型的核心是在岗位层和角色层添加时间约束和环境约束,在用户请求访问时,系统可以根据岗位和角色的时态和环境来动态为用户分配权限。TE-OB4LAC模型的结构图如图2所示。

图2 TE-OB4LAC结构图

1.3 模型的形式化描述

TE-OB4LAC模型的元素包括了OB4LAC模型的基本元素,具体如下:

用户集USR={u1,u2,…,um}。

岗位集POS={pos1,pos2,…,posn}。

角色集ROL={rol1,rol2,…,rolt}。

会话集SESS={s1,s2,…,sp}。

操作集OPE={op1,op2,…,opk}。

对象集OBJ={ob1,ob2,…,obl}。

信息对象类型集Obt={obt1,obt2,…,obtl}。

权限集PER=2OPE×Obt。

UP⊆USR×POS表示多对多的用户岗位分配关系。

RP⊆ROL×POS表示多对多的角色岗位分配关系。

ROP⊆ROL×PER表示多对多的角色权限分配关系。

除了基本元素以外,TE-OB4LAC模型增加了新的元素:时态、环境、岗位行为、角色行为。涉及到的相关概念定义如下:

定义1时态 时态T是用户访问系统获取权限时与时间相关的约束的集合。记T={TR,P,D},TR、P和D的定义如下。

定义1.1时间区间tr={ (ti,tj)|ti,tj∈Time,i

定义1.2生命周期时间 周期的表示如下:给定公历C1,C2,…,Cn,Cd,时间周期P定义为:

式中:O1=all,Oi∈2N∪{all},Ci⊆Ci-1,i=2,3,…,n,Cd⊆Cn,且x∈IN。

O1=all表示所有时间区间,Ci指时间区间的子集,x指时间区间的长度,Cd指时间区间的长度单位。

例如,allyear+{3,6}·months▷2·months表示的是从每年的3月和6月开始,分别持续2个月,即表示3月、4月和6月、7月。TE-OB4LAC模型中时间区间和周期时间约束是根据组织中实际业务的时间要求而制定的。

定义1.3激活状态的最大时限D表示岗位或者角色激活状态可持续的最长时间,D的取值必须小于在时间区间tr的时间差,即D≤(tj-ti)。当岗位或者角色激活时间超过D,则系统需要根据情况非关联性地撤销岗位或者角色的分配,例如系统可通过界面置灰或者警告框来提醒用户需要重新激活岗位或者角色。

定义2环境 环境是指用户访问系统时的外部客观信息。采用文献[15]中定义的环境E={EH,ES,EL,EN,EC},用来表示环境约束集合。其中EH,ES分别指的是用户的硬件平台和软件平台,EL指的是用户的场所物理位置,EN指的是用户请求访问系统时的网络位置,包括网络物理位置和网络逻辑位置,EC指的是用户使用的密码系统。

定义3岗位行为 岗位行为表示用户u在启动会话s激活角色时的岗位、时态和环境信息,记岗位行为为Ap。

Ap={(P,e,t)|P⊆POS,e⊆E,t⊆T}

定义4角色行为 角色行为表示角色r获取权限时的角色、时态和环境信息,记角色行为为Ar。

Ar={(R,e,t)|R⊆ROL,e⊆E,t⊆T}

定义5行为状态 岗位行为和角色行为都包含三种状态,分别是可用Enable状态、不可用Disable状态和激活Active状态。岗位行为和角色行为受到时态和环境的双重影响,只要其中一个要素发生了变化,行为的状态就可能发生改变。Enable状态指的是岗位或者角色当前的时态和环境满足时态和环境约束,可用为其分配角色和权限。Disable状态与Enable状态相反,表示目前的岗位和角色不可以使用。而Active状态表示的是岗位或者角色处于激活状态,Active状态只能从Enable状态转化而来。

行为的状态之间的转化关系如图3所示。

图3 行为状态转换图

2 访问控制策略和机理

2.1 行为状态的判定

在TE-OB4LAC模型中,只有岗位状态处于Enable状态,才可以为其分配状态为Enable的角色。所以,岗位行为状态的判定是角色行为状态判定的前提。

行为状态判定涉及到的函数包括verity_t()和verity_e()。下面给出岗位行为判定的函数形式化表示,角色行为状态判定与此类似,不再赘述。

2.1.1 时间约束上的判断

设verity_t(req_t,pos,T_pos)为时态检验函数,req_t为当前请求的时态,pos为当前岗位,T_pos为当前岗位的时态约束集合。函数返回值为result,为布尔类型。

其判定规则为:若请求的时态状态req_t满足时态状态T_pos的要求则返回True, 否则返回False。

verify_t(req_t,pos,T_pos,out:result:BOOLEAN)

ifpos∈POS∧T_pos∈T

result=(t1≤req_t≤t2|t1,t2∈T_pos)

elseresult=False

req_tu为用户u所处的时刻,可通过函数currenttime取得一个不可伪造、不可更改,具有可鉴别性的时间标记。T_pos(pos)=={tr,p,d}为岗位pos的时间约束,当verify_t(req_tu,T_pos(pos))=True,表示岗位行为在时间约束上处于Enable状态,可以为岗位分配角色;否则为Disable状态。

2.1.2 环境约束上的判断

设verity_e(req_e,pos,E_pos)为环境检验函数,它与时态检验函数类似,req_e表示当前请求的环境状态,E_pos为当前岗位的环境约束集合。

verify_e(req_e,pos,E_pos,out:result:BOOLEAN)

ifpos∈POS∧E_pos∈E

result=(req_e∈E_pos)

elseresult=False

当verify_e(req_eu,E_pos(pos))=True,表示岗位行为在环境约束上处于Enable状态,可以为岗位分配角色;否则为Disable状态。

只有当岗位在时间约束和环境约束上均为Enable状态,则岗位行为为Enable状态,否则为Disable状态。

2.2 授权方案的设计

在TE-OB4LAC模型中,时间约束和环境约束会影响用户的最终权限。授权过程主要包括两个阶段:第一阶段是为岗位行为分配角色,然后进行角色裁剪,获得最终角色。第二阶段是判断角色是否存在权限冲突,进行权限裁剪后,获得最终权限。

角色裁剪指的是岗位行为处于可用状态时,计算出与岗位相关联的角色RP。如果岗位行为不能满足的角色的时间或环境约束的要求,则该角色被裁剪,其余的角色状态标记为可用,并记为Ra1(pos,t,e),在Ra1(pos,t,e)中,如果角色之间不能遵循职责分离SoD(Separation of Duty)原则,则按照等级优先策略,保留优先级高的角色。获得的最终角色记为Ra2(pos,t,e)。

权限裁剪是指在Ra2(pos,t,e)中,计算Ra2(pos,t,e)所有的权限ROP,如果当前时间或环境不能满足权限的要求,则该权限被裁剪,其余权限记为Pa1(pos,t,e)。然后判断权限之间是否存在冲突,如果存在冲突,则按照安全策略,保留不对客体原状态做修改的权限。获得的最终权限记为Pa2(pos,t,e),即岗位在时间t和环境e下获得的最终权限。

下面给出详细的授权流程,描述如下:

Step1用户通过身份认证进入系统,发出会话请求。

Step2判断岗位行为的状态。若岗位行为为enable状态,则继续执行,否则会话结束。

Step3在岗位行为可用的状态下,获得与岗位相关联的角色RP及角色对应的时间和环境约束。

Step3.1判断角色的许可状态,判断是否需要角色裁剪,获得初步可激活的角色集Ra1(pos,t,e)。

Step3.2判断Ra1(pos,t,e)是否遵循职责分离原则,如果是,则获得最终角色集Ra2(pos,t,e),转向Step4;如果否,则执行等级优先策略,获得最终角色集Ra2(pos,t,e)。

Step4根据Ra2(pos,t,e)计算所有权限ROP,根据当前岗位行为判断是否需要权限裁剪,获得初步权限集Pa1(pos,t,e)。

Step5判断Pa1(pos,t,e)是否存在权限冲突,如果存在,则执行安全策略,获得最终权限集Pa2(pos,t,e),如果不存在,则Pa1(pos,t,e)就是当前岗位行为最终的权限集。

如果用户的行为发生了变化时,但岗位行为仍然是可用状态,那么此时对应的权限也可能发生变化,具体分两种情况处理:

(1) 用户对应的角色没有发生变化,则不需要重新对用户进行授权,只要根据当前获得的时间和环境信息,进行权限裁剪即可。

(2) 用户对应的角色发生变化,则需要重新为岗位行为授权,依次进行角色裁剪和权限裁剪,进而得到最终的权限。

3 TE-OB4LAC模型在电子政务系统中的应用

3.1 授权系统的总体结构

基于TE-OB4LAC模型的授权系统的总体设计结构主要包括授权服务群、系统管理功能群和行为处理服务器三部分,系统结构图如图4所示。

图4 基于时间和环境约束的访问控制系统结构图

3.1.1 授权服务器群

(1) 访问请求管理服务器,该服务器负责使应用系统与访问控制系统建立联系,解析合法用户提出的有效的访问请求,然后将这些解析好的信息传递到授权决策管理服务器中。

(2) 授权决策管理服务器,处于访问控制系统的核心地位,通过接收解析好的信息,并根据用户的岗位角色指派信息、权限信息、时间和环境约束以及冲突解决情况等决定用户是否有权限访问所请求的资源,根据授权方案做出授权决策。

(3) 冲突管理服务器是授权决策服务器的支撑,当系统的行为引发冲突时,该服务器决定授权的策略。

3.1.2 管理功能群

(1) 组织管理。主要负责用户管理、岗位管理和用户岗位指派关系。

(2) 角色管理。负责管理以及维护与角色相关的信息。

(3) 会话管理。负责监督管理用户会话。如果发现用户有恶意操作行为,立即终止会话,阻止信息资源被非法操作。

(4) 权限管理。负责对角色到权限之间多对多指派关系进行管理,该模块可由信息部门负责管理和维护。

(5) 时间规则管理。负责对系统的各种时间约束进行管理和维护。

(6) 环境规则管理。负责对系统的各种环境约束进行管理和维护。

3.1.3 行为处理服务器

行为处理服务器包括时间服务器和环境服务器,负责认证并抽取用户请求系统时的时态和环境信息,并与授权服务器群协作完成授权。下面简要介绍时间服务器和环境服务器。

时间服务器采用时间戳机构TSA(Time Stamp Authority)[18]为用户提供时间戳服务,如图5所示。

图5 时间戳申请与验证

环境服务器负责抽取并检验用户请求的硬件、软件、网络位置、场所物理位置和密码系统等信息。这里着重介绍环境服务器中网络探测器抽取网络位置的过程,网络位置包括网络逻辑位置和网络物理位置。如图6所示。

图6 获取网络位置流程图

3.2 模型的实际应用效果

TE-OB4LAC模型已经在实际中得到应用,并取得了较好的应用效果。当用户请求访问系统时,系统会读取用户的时态和环境信息,并根据授权方案为用户授予相应的权限,达到了移动计算环境下系统动态授权的目标。系统的界面如图7所示,被分配厅主任岗位的用户访问系统,行为服务器获取用户的时态和环境信息,与授权服务器建立连接,共同完成当前用户的授权管理。授权完成界面如图8所示。

图7 行为服务器界面

图8 授权列表界面

4 结 语

TE-OB4LAC模型通过对OB4LAC模型进行改进,弥补了原模型在实际应用中出现的不足之处。根据模型的实际应用效果,与原系统进行对比,TE-OB4LAC模型体现了如下优势:

(1) 由静态授权到动态授权的转变。新系统改变了原系统永久授权的模式,在时间和环境约束下,为岗位行为和角色行为进行授权,从而实现对用户权限的动态控制。

(2) 推动移动计算下电子政务的发展。合理地设置约束使系统既具备了访问的灵活性,又防止了严重的信息安全问题,系统的安全性进一步提高。

实例验证了TE-OB4LAC模型的有效性和科学性,本研究为解决移动计算下复杂政务系统授权问题提出了一种解决方法,但还不够完善。下一步的研究工作主要包括模型中的时间和环境约束判断的效率、鉴别用户行为的可信度以及在政务云环境下TE-OB4LAC模型的改进研究。

[1] 李凤华,苏铓,史国振,等.访问控制模型研究进展及发展趋势[J].电子学报,2012,40(4):805-813.

[2] 王于丁,杨家海,徐聪,等.云计算访问控制技术研究综述[J].软件学报,2015,26(5):1129-1150.

[3] Joshi J,Bertino E,Latif U,et al.A generalized temporal role-based access control model[J].IEEE Transactions on Knowledge and Data Engineering,2005,17(1):4-23.

[4] Covington M,Long W,Srinivasan S.Securing context-aware applications using environment roles[C]//Proceedings of the 6th ACM Symposium on Access Control Models and Tech-nologies.Chantilly,Virginia,USA:ACM Press,2001:10-20.

[5] Ray I,Kumar M,Yu L.LRBAC:a location-aware role-based access control model[C]//Proceedings of the Second International Conference on Information Systems Security (ICISS2006).Kolkata,India:Springer-Verlag,2006:147-161.

[6] Damiani M L,Bertino E,Catania B.GEO-RBAC:A spatially aware RBAC[J].ACM Transactions on Information and System Security,2007,10(1):1-42.

[7] 穆玲玲,高燕燕.基于权限属性的UCON_(ABC)访问控制模型[J].计算机应用与软件,2015,32(6):296-299.

[8] 沈海波,陈强,陈勇昌.受限环境下基于权能的访问控制研究[J].计算机应用研究,2016,33(5):1-5.

[9] 熊厚仁,陈性元,费晓飞,等.基于属性和RBAC的混合扩展访问控制模型[J].计算机应用研究,2016,33(7):2162-2169.

[10] 董理君,余胜生,杜敏,等.一种基于环境安全的角色访问控制模型研究[J].计算机科学,2009,36(1):51-59.

[11] 彭友,鞠航,王延章.复杂时空约束条件下基于角色的转授权模型研究[J].大连理工大学学报,2013,53(3):462-468.

[12] 彭友,李怀明,王延章.电子政务系统中基于组织的访问控制方法和模型[J].系统管理学报,2014,23(4):481-488.

[13] 李怀明.电子政务系统中基于组织的访问控制模型研究[D].大连:大连理工大学,2009.

[14] Li Huaiming,Tian Ke.Research of Reliability-Based Four Levels Access Control Model[C]//Proceedings of 2009 IEEE International Conference on Network Infrastructure and Digital Content.Beijing University of Posts and Telecommunications,2009.

[15] 李凤华,王巍,马建峰,等.基于行为的访问控制模型及其行为管理[J].电子学报,2008,36(10):1882-1890.

[16] 丁锋,陈雪龙,王延章,等.基于组织的访问控制系统授权验证单层关系模型[J].大连理工大学学报,2011,51(1):132-136.

[17] Park J,Sandhu R.Towards usage control models:beyond traditional access control[C]//ACM Symposium on Access Control MODELS and Technologies.DBLP,2002:57-64.

[18] RFC3161.Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP)[S].2001.

猜你喜欢
访问控制时态约束
一种跨策略域的林业资源访问控制模型设计
超高清的完成时态即将到来 探讨8K超高清系统构建难点
内外网隔离中ACL技术的运用
云计算访问控制技术的运用及论述
马和骑师
云计算访问控制技术研究综述
适当放手能让孩子更好地自我约束
现在进行时
易混时态辨析
CAE软件操作小百科(11)