一种层次信任的RBAC扩展模型

2014-09-15 04:29卢清平苏守宝郁书好
关键词:断言门户访问控制

卢清平,苏守宝,2,郁书好,3,4

(1.皖西学院信息工程学院,安徽 六安237012;2.金陵科技学院信息技术学院,江苏 南京 211169;3.合肥工业大学计算机与信息学院,安徽 合肥 230009;4.合肥工业大学计算机网络研究所,安徽 合肥 230009)

随着互联网应用的普及,安全可靠的数据业务处理及大型企业门户服务平台建设中对权限管理和数据访问控制的安全性变得更复杂,尤其对跨域用户的认证和集中授权的研究具有十分重要的意义和实用价值.访问控制是保证企业门户及信息系统安全的一项重要措施,常用的访问控制技术包括自主访问控制(DAC)、强制访问控制(MAC)、基于任务的访问控制(TBAC)和基于角色的访问控制(RBAC)等,角色是一组访问权限的抽象,RBAC已发展成为NIST和ANSI标准规范[1].研究者针对现有模型在解决用户统一认证与集中授权中的不足,不断提出改进的方法,如基于信任授权的模糊访问控制模型、动态网格环境中不同的域之间的信任关系及其访问控制方法等[2-4].文献[5]结合PKI和PMI的层次结构,设计采用PKI的CA认证机构PMI的SOA授权管理中心的交叉证书的方式完成用户对跨域系统的安全访问控制方法.针对现有RBAC委托模型在支持细粒度和权限传播可控性上存在的不足,文献[6-7]提出一种信任度的灵活角色映射机制的授权方法、授权信任约束的细粒度访问控制模型等.由于分布式系统中服务实体身份难以确定、接入平台复杂且网络环境动态多变,文献[8-9]引入“绑定上下文”约束,对用户身份、接入平台及用户行为进行多维度量,根据网络环境和用户状态的动态多变性,实现动态角色授权控制.文献[10-11]研究了一种轻量级认证密钥协商协议(EC-SAKA)的基于用户行为的信任评估模型,可用于智能环境、普适计算中用户隐私保护并确保通信实体之间的信任.文献[12]利用语义Web技术来描述云资源的访问控制授权模式、层次化RBAC(hRBAC)、条件RBAC(cRBAC)和分层对象(HO),以及在云中的资源保护访问规则的逻辑形式主义与多租户性质.文献[13]通过优化所有通信实体间信任配置,用推荐令牌来建立跨组织应用程序间的协调联合.文献[14]可信网络连接(TNC)中用户访问层面、系统访问层面和网络态势感知层面访问控制总体架构TNACA.根据请求者的行为及其平台计算环境特征评估其信任级别的方法,文献[15]研究了可信网络连接架构中具有反馈功能的动态访问授权模型等,以不断改善互联网应用系统的用户授权管理和安全性能.

一个完善的企业门户访问权限管理体系应有以下特性[1]:(1)权限管理模块具有相对的独立性、非植入性,与应用系统模块松散耦合;(2)能够实现可变粒度的信任认证,可提供多层次、多粒度的、来自平台内外部不同等级的安全认证服务,可满足来自不同应用系统的多种认证需求;(3)权限管理系统应具有一定的可伸缩性,通过配置集成和配置扩展,实现权限系统与其他应用系统的集成应用,扩展权限管理系统的应用范围,增加系统的可扩展和可重用性能.目前在权限访问管理方面常用的技术规范或协议主要有Kerberos和SAML.基于SAML标准的动态权限管理项目为大型企业门户环境中的异构应用间互相认证提供了服务基础[3].针对以上情况,本文结合SAML对NIST-RBAC的统一模型进行改进,提出以SAML标准实现可移植的信任角色授权的访问控制扩展模型(ExRBAC),利用SAML的可信凭证扩展用户和角色之间的层次,增加角色的信任层次以加强粒度控制,同时设置分层预处理,用于降低处理权限判决点时的复杂性,简化权限分配.信任管理可具体扩展到应用服务所在域或应用服务后台资源本身,用户通过其认证可信度获取相应的应用系统角色,结合分层的角色权限管理机制实现访问认证粒度的动态性和可变性,最后给出了扩展模型授权流程以及在企业门户服务平台eXo Platform上的应用实例.

1 基于SAML的非植入式信任授权

1.1 SAML的组成

SAML的身份信任环境主要包括Service Provider服务提供者、Identity Provider认证提供者和Subject用户主体等.

(1)Service Provider服务提供者,即信任需求方.可以是 WEB系统或在线内容,即需要通过SAML认证才能访问的受保护的资源,由其决定允许何种请求.

(2)Identity Provider认证提供者,即认证提供方.负责提供SAML安全信息,为Service Provider提供身份认证.

(3)Subject用户主体,是与身份信息相关的访问用户.

通常在一个SAML的身份信任环境下会有许多Subject和数个Service Provider,也可能存在多个Identity Provider.在SAML中,定义了3类安全断言声明来携带信任信息.断言声明中包含头信息、主体名称和若干个语句,在断言的头信息包含有Identity Provider的来源和发行有效期等其他信息,Service Provider或信任方通过断言了解访问请求的身份信息、请求用户的主体信息、提供安全信息的Identity Provider方的可信任性.

1.2 SAML的协议扩展

为了方便Service Provider与Identity Provider进行交换消息,SAML提供了相应的机制使得认证和授权信息可以在不同的安全服务域之间进行交换,可以实现不同安全服务系统间的互相操作性.SAML将传输的安全信息定义为断言声明,用XML语言来描述,以请求/问答的形式在信任环境中的多个Service Provider之间传递.

SAML的3类声明中包括描述认证对象的相关信息的描述认证方式、认证时间、请求来源等内容.对于SAML标准尚未涉及的需求,SAML也支持协议扩展机制,允许开发者对其中的一些元素进行扩展和选择,通过定义传输、认证、安全技术为开发者提供与平台无关的安全服务框架,极大地增加了SAML的灵活性和应用范围.

1.3 SAML信息交换流程

SAML提供了2种应用模式将安全信息通过Identity Provider传送到Service Provider(Artifact Bindings模式和Post Bindings模式).其中Artifact Bindings模式的信息传递流程如图1所示.其中:

(1)Subject向Identity Provider发送认证请求,请求安全信任凭证;

(2)Identity Provider对Subject进行认证,生成认证声明,建立对应的Artifact,将其返回给Subject;

(3)Subject重定向到Service Provider,提交获得的Artifact凭证以及服务请求;

(4)Service Provider通过 Artifact凭证,产生SAML请求,查询Identity Provider,要求凭证断言;

(5)凭证是Identity Provider产生的,Identity Provider根据对应关系回应SAML断言给Service Provider;

(6)Service Provider信任Identity Provider的SAML断言,根据断言声明判断用户身份,决定是否为Subject提供服务.

图1 Artifact Bindings的信息传递流程

1.4 基于SAML的非植入式信任授权

具有门户认证身份的用户信息可以实现不同域的信任,考虑到集成环境中的各类应用应该有各自的身份信任机制,需要在更高层次上通过SAML来建立统一的身份信任,以便屏蔽各应用间的差异.SAML是OASIS制定的适用于在复杂的环境下交换用户的身份识别信息的标记语言.SAML1.1标准的主要内容是安全信息交换.SAML2.0则引入了支持身份联盟的一些重要功能,可不受系统架构和域的限制来交换安全断言,门户系统以及类似的大型企业集成环境中异域结构的系统可以统一到SAML的标准框架中,实现松散耦合的非植入式信任授权.SAML目前定义了3类安全断言声明信息:认证声明用于认证身份信息;属性声明定义安全属性信息;授权声明则定义了对相应资源的授权.这3类声明均可以嵌入到SAML的一组XML格式的请求——应答消息中进行传递.

2 层次信任的RBAC扩展模型

基于角色的访问控制(Role-Based Access Control,RBAC)是门户系统中常用的访问控制策略.安全管理人员根据授权需要定义各种角色,并为角色设置合适的访问权限,用户则被指派为不同的角色,通过角色获得相应的服务访问权限.这样,门户系统的访问控制过程就分成2个部分,即访问权限与角色相关联,角色再与用户关联,从而实现了用户与访问权限的逻辑分离,减小了门户系统中授权管理的复杂性,降低了管理开销.

随着门户系统中集成的应用服务不断扩展,用户对不同应用服务的更细粒度的访问需求日益加深,传统的RBAC系统中个体差异很难实现,RBAC相对静态的权限管理思想并不能满足门户中需要根据用户特征的动态改变而动态地改变用户角色的需要.

2.1 NIST-RBAC访问控制模型

NIST-RBAC模型的基本结构如图2所示.

组成模型的各元素含义描述如下:

(1)U,R,P 分别表示用户集、角色集、权限集3个最基本的要素;

(2)S表示会话的集合,在实际的系统运行中,用户可以选择确定某次会话需要使用的角色集合;

(3)URA(URA⊆U×R)表示用户与角色的多对多的分配关系;

图2 NIST-RBAC模型基本结构图

(4)PRA(PRA⊆P×R)表示权限与角色的多对多的分配关系;

(5)RH(角色层次)(RH⊆R×R),是角色集R上的一个偏序关系,用来描述模型中的角色继承关系;例如,有(r1,r2)∈RH,则表示角色r2是角色r1的父角色,角色r2继承角色r1的所有权限.

2.2 层次信任的扩展模型(ExRBAC)

NIST-RBAC模型中的用户和角色的关系是静态指定的,不能适应门户系统中动态匹配需要.在实际应用中,利用SAML的信任断言机制对NIST-RBAC模型中的角色层次关系进行扩展.通过在角色集R,设定其中有一些角色是信任管理角色,其他角色可以通过指派该信任而来,访问角色所在域,并拥有角色在应用域中被分配的权限.需要说明的是,用户关联了信任角色后,是在角色的创建域有角色被分配的权限,而不是在被信任域拥有角色被分配的权限;另外,被信任用户被委派的信任角色,在被信任域不能再进行权限的分配,用户登录角色的创建域后拥有的权限只是角色在其创建域被分配的权限.改进后的模型中的角色层次关系是基于管理范围这个概念和反对称二叉关系trust-authority∈R×R.trust-authority关系又为信任-授权关系.

如果(a,r)∈trust-authority,则a是一个信任管理角色并且a控制r.

定义T(a)={r∈R|(a,r)∈trust-authority},

T(a)表示角色a所直接控制的信任角色集.在改进后的模型中,由R和trust-authority关系定义了一个扩展层次,表示为〈R,≤〉.

假定给定一个角色a∈R,在模型中定义:

设X是偏序集,Y⊆X,那么↑Y={x∈X|存在y∈Y使得x≤y},↓Y={x∈X|存在y∈Y 使得y≤x},X\Y表示在集合X 中去掉集合Y中元素后所得到的集合.其中↑r,↑T(a)和↓T(a)由〈R,≤〉中求得.S(a)是a的管理范围,S+(a)是a的信任管理范围.如果r∈S(a),则说a是r的一个信任管理角色.当角色层次关系发生变化时,每个管理角色的管理范围会随着trust-authority关系的变化而随之变化.管理角色范围可以随着角色层次关系的变化而动态改变的,可以直接地或是作为层次操作的结果间接地修改RBAC关系,加入信任属性后的扩展RBAC模型如图3所示.基本元素和指派关系同NIST-RBAC模型,设计中加入了独立于角色或角色层次的用户库单元和权限库单元.用户库单元包含事先定义好的用户,权限库单元包含事先定义好的权限.

图3 扩展RBAC模型

3 信任角色的扩展模型实例

3.1 ExRBAC实例

在此实例中选用ObjectWeb发布的eXo Platform V2门户作为动态身份控制系统的构建平台,此门户中集成了若干用户信息应用类系统,包括几个用户业务系统.基于SAML的信任角色扩展模型实例如图4所示.

其动态身份访问控制流程描述如下:

(1)用户向门户提供一个身份验证信息,一个包含访问信息的目标文档或一个SAML断言;

(2)门户将其交给SAML访问控制决策器,决策生成器依据策略库中提供的信息生成此用户的访问控制决议;

(3)用户的访问控制决议由SAML访问控制决策器中的策略执行机构完成执行,并根据执行结果缓存目标文档或更新SAML安全断言;

(4)此次访问决议执行结果生成可信的SAML安全断言返回给用户,用户再次访问时,可检查此断言是否存在,若存在则提供给请求者,以提高访问效率.

图4 基于SAML的信任角色扩展模型实例

3.2 信任证书实体设计及描述

信任证书中存放用户标志Uid,角色Role,以及可以访问的应用服务Server.证书实体具有下列属性.

{uid;{server;userRole;trusttype;trustvalue};validate;},其中:

(1)uid是一个用户区别于其他用户的唯一标志.和SAML实体中的uid一致.

(2)server中存放应用服务URL地址.

(3)userRole中存放具有server权限的角色名,可以是多个值.

(4)trusttype和trustvalue存放该用户以角色userRole使用server的信任约束,和用户实体中的trusttype和trustvalue相对应.每一个server都对应一个userRole和trusttype及trustvalue.

(5)validdate中存放该证书的有效期.

一个用户的信任证书如表1所示.这个证书是uid=zhangling的用户的全域信任证书.它表示该用户可以以角色Role1访问serverA中信任类型为初级,信任值为tv1的服务资源,可以以角色Role2和Role3访问serverB的公开服务资源.Zhangling可以使用这张证书的有效期到2013年3月6日.

在实际的应用实现中,定义一个CreateCertificate类来生成用户对应用服务的信任证书:

class CreateCertificate{

Public Role trustRole(String uid){……}//查找uid用户的信任属性信息,如果匹配成功,写入用户实体中,返回角色对象

Public List inheritRole(User userinfo){……}//在信任角色中查找被继承的信任角色,返回角色列表

Public List findSever(List roleinfo){……}//查询权限库,返回应用服务地址列表

Public void writeCertificate(String uid,List serverinfo,List roleinfo,User userinfo){……}

//将获得的信息写入信任证书库中

表1 信任证书实体示例

4 结束语

本文提出以SAML标准实现可移植的信任,在门户环境和类似大型集成应用场景中建立的一种标准的、与协议无关的非植入式权限管理模型,结合SAML交换认证和授权凭证提出一种层次信任的RBAC扩展模型,具有能够提供非植入式信任授权功能.用户通过其认证可信度获取相应的应用系统角色,结合分层的角色权限管理机制实现访问认证粒度的动态性和可变性.本文给出了模型授权流程以及在企业门户服务平台eXo Platform上的应用实例,设计了改进后的访问控制的实现,以后将进一步研究扩展模型的多粒度、多租户访问控制模型及其实现技术等.

[1]BISKUP J,HIELSCHER J,WORTMANN S.A trust-and property-based access control model[J].Electronic Notes in Theoretical Computer Science,2008,197(2):169-177.

[2]付争方,王小明,窦文阳,等.基于信任授权的模糊访问控制模型[J].微电子学与计算机,2007,24(9):29-32.

[3]马晓宁,冯志勇,徐超.WEB服务中基于信任的访问控制[J].计算机工程,2010,36(3):10-13.

[4]MARTINO AS,PERRAMON X.A model for securing e-banking authentication process:antiphishing approach[C].Proc IEEE Congress on Services,2011:251-254.

[5]李源.基于SAML和PMI的认证授权机制的研究与应用[D].长沙:湖南大学,2010.

[6]蔡伟鸿,韦岗,肖水.基于映射机制的细粒度 RBAC委托授权模型[J].电子学报,2010,38(8):1753-758.

[7]夏启寿,殷晓玲,王汝传.RBAC中基于信任的细粒度访问控制研究[J].计算机工程与应用,2012,48(12):75-79.

[8]曹春,马晓星,吕建.SCOAC:一个面向服务计算的访问控制模型[J].计算机学报,2006,29(7):1209-1206.

[9]刘飞,常朝稳.基于多维度量和上下文的访问控制模型[J].计算机工程,2011,37(24):129-131.

[10]HUSSEINI AE,MHAMED A,HASSAN BEL.A novel trust-based authentication scheme for low-resource devices in smart environments[J].Procedia Computer Science,2011,5:362-369.

[11]LUO J Z,NI X D,YONG J M.A trust degree based access control in grid environments[J].Information Sciences,2009,179(15):2618-628.

[12]BERNABE J B,PEREZ J M,CALERO J M,et al.Semantic-aware multi-tenancy authorization system for cloud architectures,Future Generation Computer Systems[EB].[2012-05-11].http://dx.doi.org/10.1016/j.future.

[13]NOUREDDINE M,BASHROUSH R.An authentication model towards cloud federation in the enterprise[J].Journal of Systems and Software,2013,86(9):2269-275.

[14]吴琨.可信网络访问控制关键技术研究[D].北京:北京邮电大学,2012.

[15]邹冰玉,张焕国,郭曦,等.可信网络连接中一种基于可信度的细粒度授权模型[J].武汉大学学报:理学版,2011,56(2):147-150.

猜你喜欢
断言门户访问控制
von Neumann 代数上保持混合三重η-*-积的非线性映射
C3-和C4-临界连通图的结构
关隘:要道门户
西域门户——两关遗址
Top Republic of Korea's animal rights group slammed for destroying dogs
基于内外网门户系统的研究
ONVIF的全新主张:一致性及最访问控制的Profile A
动态自适应访问控制模型
浅析云计算环境下等级保护访问控制测评技术
大数据平台访问控制方法的设计与实现