APP下载

智慧社区中的跨域访问控制模型研究

2016-12-09苏玮尹晓

智能建筑与智慧城市 2016年11期
关键词:指派跨域访问控制

苏玮,尹晓

SU Wei, YIN Xiao

(山东财经大学管理科学与工程学院)

(School of Management Science and Engineering, Shandong University of Finance and Economics)

智慧社区中的跨域访问控制模型研究

苏玮,尹晓

SU Wei, YIN Xiao

(山东财经大学管理科学与工程学院)

(School of Management Science and Engineering, Shandong University of Finance and Economics)

智慧社区是智慧城市的基本构成单元之一,其以基于信息的居家服务为核心,涵盖了生活服务、行政管理、信息资源共享、商业交易等多项功能,构成一个跨域的异构网络系统。对于智慧社区而言,跨域访问控制机制是保证其各项功能正常进行的基础,而目前所广泛采用的基于角色的跨域访问控制中存在着隐蔽提升等安全问题,且灵活性不高。为提高智慧社区跨域访问控制的安全性与灵活性,提出了基础角色映射概念,并建立基于基础角色的跨域访问控制模型。该模型中跨域访问用户通过基础角色映射获得基础访问权限,在此基础上可通过申请附加角色获得基础权限之外的访问资源。模型通过基础角色映射有效地提高了跨域访问效率,降低了隐蔽提升的可能性,利用附加角色申请确保授权的动态性,从而在保证安全性和效率的同时又使其具有了一定的灵活性。

智慧社区;跨域访问控制;基础角色映射;附加角色

1 引言

智慧社区是智慧城市的重要构成部分,其以基于信息的居家服务为核心,涵盖了生活服务、行政管理、信息资源共享、商业交易等多项功能,构成一个多功能的复合系统。其功能多样,且参与方众多,如何确保数据资源的安全访问是智慧社区建设中亟待解决的问题。而智慧社区用户类型多,服务类型多,安全机制不一致,使得智慧社区形成一个异构多域的网络架构,对访问控制提出了更高的要求。此外,智慧社区中服务复杂多样,服务粒度差异大,用户的服务请求与社区服务的粒度往往不一致,也给访问控制增加了难度。因此,如何为如此复杂的应用构建访问控制机制是当前智慧社区研究的热点之一,其核心是如何建立异构多域环境中的访问控制模型。

在访问控制领域继MAC与DAC访问控制模型之后,基于角色的访问控制RBAC模型[1]成为主流,1996年Ferraiolo DF与 Sandhu R提出了RBAC96模型[2],成为RBAC的经典模型。在该模型中给出了用户、角色、权限等各要素的定义,并明确了将权限授权给角色,而用户通过角色指派获得权限的基本角色授权模式。在跨域访问控制领域,目前则以2000年Kapadia等人提出的IRBAC模型为基础[3]。在IRABC中,不同资源域都有自己的角色集合,不同域中的角色建立相互的映射关系,当用户跨域访问时,依据角色映射关系,用户完成跨域的角色转换,获得新资源域中的角色指派,从而获得跨域资源访问的权限。IRABC在两个域间的跨域访问中有良好的使用效果,但由于IRBAC是为两个域角色建立的映射关系,对于多于两个域间的访问控制,

IRBAC的管理复杂性上升明显,稳定性也没有很好的保证,且因为角色映射表的固定性,其灵活性受限。针对IRBAC模型中存在的问题,国内外的研究人员提出了众多的改进模型。Hu JW等人提出,在域间角色映射的基础上增加了外域角色与本域权限之间的映射,以提高跨域访问的灵活性和稳定性,但大大增加了访问控制的复杂性和系统开销[4]。而Cai WH等人则引入角色委托授权,允许已授权用户将自己所拥有的权限委托给其他人,并通过权限标识位控制委托授权的深度[5]。刘伟等人的研究中引入委托角色的概念,实现了跨域的细粒度访问控制[6]。付常胜等人基于协商机制建立不同域间的角色映射关系,减轻了集中控制角色映射中心控制的负载,并提高了灵活性[7]。但协商机制下,当问授权需要反复协商,时间开销大大增加了。袁家斌等人提出的面向移动终端的云计算跨域访问委托模型[8],利用角色委托提高访问控制的灵活性。熊厚仁等人提出了基于双层角色和组织的访问控制模型[9],将角色分为只能角色和任务角色,降低了角色冗余。而对于基于角色的访问粒度问题,赵卫东[10]等人则提出了基于角色的细粒度访问控制模型。

本文基于RBAC访问控制模型,提出了一种智慧社区中基于角色的细粒度跨域访问控制模型。针对用户在跨域访问过程中固定角色映射关系灵活性不高,而协商角色映射关系建立时间消耗过大等问题,模型首先在智慧社区的各个资源域中将用户权限与服务进行细粒度划分,形成原子权限与原子服务,在智慧社区的各个资源域中建立跨域访问的基础角色映射表。当发生跨域访问时,用户首先根据所访问域的基础角色映射表获得所要访问域的基础角色指派,在跨域访问过程中,若还需要其他的资源请求,再根据具体操作的资源需求,根据原子服务与访问域角色的映射关系,申请附加角色,完成跨域访问操作。模型通过基础角色映射有效地提高了跨域访问效率,降低了隐蔽提升的可能性,利用附加角色申请确保授权的动态性,从而保证智慧社区跨域访问控制的效率和灵活性。

2 基础角色映射

为提高智慧社区中跨域访问控制的效率,在访问控制模型中设置了基础角色映射表,同时,为减少在角色映射中的域穿梭渗透和隐蔽提升问题,对智慧社区各资源域的域内基础角色指派及跨域的基础角色映射做了限制。

为更好地描述基础角色映射,首先对涉及到的几个基本概念进行定义。

定义1: 资源域:资源域是在智慧社区中独立的资源拥有和控制单元,对本域中的资源具有所有权和控制权。记资源域集合为Dome,dome为其中任一资源域,记为dome∈Dome。

定义2: 原子授权:在智慧社区各资源域中不可再分的最小资源访问授权,每个原子授权之间不存在重叠。记资源域domei中的原子授权集合为pi,p为其中任一原子授权,记为p∈pi,p=(rs,op),其中rs是授权中允许访问的资源,op是授权中允许对资源rs进行的操作。

2.1 基础角色

基础角色是智慧社区中各资源域拥有者根据本域内的资源和访问操作,所给出的角色的集合,基础角色在本域中建立角色-权限映射关系,其权限集合中均为原子权限,基础角色之间的权限是互斥的,从而保证满足访问控制中的最小授权原则[11]。智慧社区中资源域的拥有者为本域内的用户指派基础角色,用户可同时拥有多个基础角色。模型在本域用户每次返回资源域时检查其角色指派,若发现其角色指派不是原始基础角色,则恢复为原始角色指派,通过该规则可有效降低隐蔽提升的可能性。

定义3: 基础角色:在智慧社区各资源域中的角色集合,记智慧社区中资源域domei的基础角色集合为BaseRolei,baserole为其中任一基础角色,记为baserole∈BaseRolei。

定义4: 基础角色权限指派:智慧社区中各资源域的拥有者为资源域中的基础角色指派权限,记为RPA,智慧社区资源域domei中基础角色的角色权限映射关系记为RPA=BaseRolei×Pi,(baserole,p)∈RPA表示在智慧社区资源domei域中存在将p权限指派给基础角色baserole。

2.2 基础角色映射

为实现跨域访问,在智慧社区的不同资源域之间建立基础角色的角色映射表,各资源域在本地保存外域到本域的基础角色映射表,用于完成跨域访问时的基础角色映射。

定义5:基础角色映射表:智慧社区中各资源域中域外基本角色到本域基本角色之间的转换表,记为RPA,对于智慧社区任一资源域domei,存在RPA=BaseRolei×BaseRolej,其中BaseRolei是资源域domei中的基础角色集合,BaseRolej是智慧社区中资源域domei之外的任一资源域domej的基础角色,即资源域domei的外域基础角色集合。若baserolei为智慧社区资源域domei中的任一基础角色,baserolej为外域domej中的任一基础角色,若存在(baserolei, baserolej)∈RPA,则表示在智慧社区资源域domei中存在外域基础角色baserolej到本域基础角色baserolei的映射关系。

3 智慧社区中基于基础角色的跨域访问控制模型

基于基础角色理论,我们提出了一个智慧社区中基于基础角色的跨域访问控制模型,在智慧社区的资源域中发生跨域访问时,被访问资源域的管理者首先检查访问者是否具有本域中的基础角色指派,若没有则根据本域中基础角色映射表对照用户在原所在域中的角色,为访问用户指派访问域中的基础角色,若还需要访问域中的其他资源,访问域的管理者再根据具体操作的资源需求,对照本域内原子服务与访问域角色的基础角色权限映射关系,通过协商确定访问者的附加角色,以完成跨域访问操作。

智慧社区中基于基础角色的跨域访问控制步骤为:

1) 智慧社区中各资源域建立域间的基础角色映射表;

2) 智慧社区中用户进行跨域访问时,被访问域管理者首先检查访问者是否拥有本域内的基础角色指派,若有则指派该基础角色,跳转第四步;

3) 被访问域管理者根据访问者在智慧社区其他域中的域外角色,对照本域的基础角色映射表,完成基础角色映射,为访问者指派基础角色;

4) 若所指派角色权限满足本次访问请求,则跳转第5步;

5) 指派角色权限不满足本次访问的资源操作请求,对照本域的基础角色权限映射表,由被访问资源域管理者决定是否为访问者指派新的附加角色;

6) 完成跨域访问。

进行跨域访问控制一个很大的问题是存在域穿梭渗透和隐蔽提升的可能性,域穿梭渗透指访问者通过穿越多个资源域,在不同资源域中进行角色映射,从而获得原本不被资源域允许的角色指派,而隐蔽提升则是指在访问者的跨域访问中获得比初始角色更多的访问权限。在智慧社区基于基础角色的访问控制模型中,通过检查访问者是否拥有本域内的基础角色指派,很好地解决了隐蔽提升问题,使得访问者不可能通过跨域穿梭获得比原本域内基础角色指派更多的权限。

图1 智慧社区基于基础角色的访问控制模型

根据前面章节给出的各实体定义,我们给出智慧社区基于基础角色跨域访问控制模型如图1所示。

dome1和dome2是智慧社区中的两个独立的资源域,当dome2中的域内User用户想要访问dome1中的资源时引发跨域访问控制。其中资源域、基础角色集合、原子权限集合、基础角色映射表的定义前面已经给出,下面将给出模型中其他各对象的定义。

定义6:域内用户:智慧社区任一资源域内原本用户称为域内用户,记为User,一个资源域内所有域内用户的集合记为,User , user∈User。

定义7:用户基础角色指派:为智慧社区中任一资源域dome域内用户指派资源域基础角色称为用户基础角色指派,记为URA,URA=User×BaseRole,User与BaseRole为智慧社区中任一资源域的域内用户集合和基础角色集合,user为User内任一域内用户,baserole为BaseRole内任一基础角色,若存在(user,baserole)∈URA,则表示在智慧社区资源域dome内存在基础角色baserole到域内用户user的指派。

定义7 会话: 会话记为session,是智慧社区中用户一次访问请求,会话开始用户被指派角色,会话结束角色指派收回。会话集合Session是智慧社区资源域中当前所有会话的集合,session∈Session。一次会话可以是域内资源访问请求也可以是跨域资源访问请求。

定义8:跨域用户角色指派:为智慧社区资源域domei的域内用户指派另一资源域domej中的基础角色称为跨域角色指派,记为CDURA。CDURA=Useri×BaseRolej,Useri为资源域domei资源域的域内角色集合,BaseRolej为资源域domej的基础角色集合,user为Useri内任一用户,baserole为BaseRolej内任一基础角色,若存在(user,baserole)∈CDURA,则表示在智慧社区中存在资源域domej内的基础角色baserole到资源域domei的域内用户user的跨域角色指派。

4 智慧社区跨域访问控制的约束条件及跨域角色指派策略

4.1 约束条件

为保证智慧社区中跨域访问控制,特别是跨域角色指派的正常进行,提高访问控制的有效性,需对前文提出的智慧社区基于基础角色跨域访问控制模型设定约束规则。

为确保智慧社区同一资源域中的不同基础角色之间的访问权限是互斥的,在智慧社区任一资源域中的基础角色的权映射关系都满足以下约束:智慧社区同一资源域内不允许将同一访问授权指派给不同的两个基础角色。(见约束1)

为提高智慧社区跨域访问控制的安全性,智慧社区中任一资源域的基础角色映射表应满足以下约束条件:智慧社区任一资源域的基础角色映射表中同一域外基础角色不可同时映射为两个及以上的本域基础角色。(见约束2)

4.2 跨域角色指派策略

当智慧社区任意资源域domei的域内用户向智慧社区另一资源域domej发起资源访问请求时,引发跨域角色指派,被访问资源域domej的管理者首先根据用户在原资源域domei中的角色指派baserole,对照domej中的基础角色映射表RRA,为请求用户指派domej内的基础角色;对照用户访问请求,根据本地用户权限映射关系RPA,判断基础角色指派是否满足访问权限要求,若不满足则触发协商;资源域domej管理者根据用户请求和本地安全策略,对照本域内的角色权限映射关系,决定是否为用户指派附加角色,指派哪个附加角色,并将角色指派结果告知访问请求用户,用户接受则完成指派,进行访问控制,用户不接受则再次进行协商。

5 智慧社区跨域角色指派算法

智慧社区跨域访问控制模型中跨域角色指派是核心,其实现的复杂性也直接影响智慧社区访问控制的效率。下面将给出智慧社区跨域角色指派算法,并分析其复杂度。算法用于被访问资源域管理者完成跨域角色指派,在算法的实现过程中,使用矩阵存储本地资源域的基础角色映射表。算法中user(D’,R’)表示域外用户user在其原始域D’中的角色指派为R’,request(p)表示外用户在本域中请求访问的资源为p。

6 总结及未来研究方向

本文针对智慧社区中的跨域访问控制问题,提出了一种智慧社区中基于基础角色的跨域访问控制模型,引入跨域基础角色映射的概念。当智慧社区各资源域管理者首先为其本域用户指派本域内的基础角色,发生跨域访问时,被访问资源域管理者首先根据基础角色映射表为用户指派所要访问域的基础角色,在跨域访问过程中,若访问者还存在其他的资源请求,再根据具体操作的资源需求,由被访问资源域管理者根据原子服务与访问域角色的映射关系,指派附加角色,完成跨域访问操作。模型利用基础角色映射表避免的在跨域访问过程中的反复协商、检查等过程,有效地提高了跨域访问效率,同时,利用附加角色申请确保授权的动态性,从而保证智慧社区跨域访问控制的效率和灵活性。模型中资源域管理者又可通过对本域用户的基础角色检查,有效降低隐蔽提升的可能性。

模型中还有需进一步完善之处,下一步的工作主要在于智慧社区跨域访问控制中本地安全策略的制定和智慧社区

资源与之间协商机制的进一步完善。

算法1 智慧社区中跨域角色指派算法

[1]Ferraiolo D, Kuhn DR. Role based access control[C]. Proceedings of the 15th annual conference on national computer security. NIST, Gaithersburg, MD, 1992, 554-563.

[2]Ferraiolo DF, Sandhu R, Gavrila S, Kuhn DR, Chandramouli R. Proposed NIST standard for role-based access control[J]. ACM Trans. on Information and System Security, 2001,4(3):224-274.

[3]Kapadia A, Al-Muhtadi J, Campbell R, Mickunas D. IRBAC 2000: Secure interoperability using dynamic role translation[R]. Technical Report,

UIUCDCS-R-2000-2162, Urbana: University of Illinois, 2000.

[4]Hu JW, Li RX, Lu ZD. Establishing RBAC-based secure interoperability in decentralized multi-domain environments[J]. Berlin, Heidelberg: Springer-Verlag, 2007, 4817-4963.

[5]Cai WH. Wei G. Xiao S. Fine-Grained role delegation model based on mapping mechanism[J]. ACTA Electronica Sinica, 2010, 38(8):1753-1758.

[6]刘伟,蔡嘉勇,贺也平.协同环境下基于角色的细粒度委托限制框架[J].通信学报,2008,29(1):83-91.

[7]付长胜,肖侬,赵英杰,陈涛.基于协商的跨社区访问的动态角色转换[J].软件学报,2008, 19(10),2754-2761.

[8]袁家斌,魏利利,曾青华.面向移动终端的云计算跨域访问委托模型[J].软件学报,2013,24(3):564-574.

[9]熊厚仁,陈性元,张斌,杜学绘.基于双层角色和组织的可扩展访问控制模型[J].电子与信息学报,2015,37(7):1612-1619.

[10]赵卫东,毕晓清,卢新明.基于角色的细粒度访问控制模型的设计与实现[J].计算机工程与设计,2013,2(34),474-479.

[11]苏玮.基于角色的迁移工作流访问控制模型研究[D].济南:山东大学,2012.

[12]林智鑫.跨域访问控制研究[D].武汉:武汉理工大学,2008.

[13]冯朝胜,秦志光,袁丁,卿昱.云计算环境下访问控制关键技术[J].电子学报, 2015,2(43):312-319.

The Research on Cross-Domain Access Control in the Smart Community

Smart community is the basic unit of smart city, its core is home service based on information. The smart community is a crossdomain heterogeneous network, including living service, administration, information resource sharing, commercial transaction, and so on. For smart community, cross-domain access control is the basic to ensure the smart community’s normal operation. At present, the rolebased access control is widely used, but there are hidden promotion and other problem in it. To promote the smart community’s safety and flexibility, the conception of basic role mapping is proposed; and the cross-domain access control model based on the basic role is constructed. In this model, the cross-domain user gets basic access permissions by basic role mapping, and then gets other permissions by get additional role. The model improves cross-domain access efficiency and reduces the possibility of implicit promotion by basic role mapping, and ensures the authorization’s dynamics by additional role. Thus this model gets higher safety, efficiency and flexibility.

smart community; cross-domain access control; basic role mapping; additional role

山东省住房与城乡建设软科学研究项目(RK015)

猜你喜欢

指派跨域访问控制
一种跨策略域的林业资源访问控制模型设计
基于多标签协同学习的跨域行人重识别
为群众办实事,崂山区打出“跨域通办”组合拳
混合跨域神经网络的草图检索算法
航站楼旅客行李提取转盘的指派优化分析
G-SRv6 Policy在跨域端到端组网中的应用
特殊指派问题之求解算法对比分析
云计算访问控制技术研究综述
ONVIF的全新主张:一致性及最访问控制的Profile A
汉语分裂句的焦点及其指派规律