《电子技术应用》
您所在的位置:首页 > 模拟设计 > 设计应用 > 海洋环境云平台访问控制系统研究
海洋环境云平台访问控制系统研究
2015年微型机与应用第7期
周 秀,刘培顺,刘加标,秦 勃
(中国海洋大学 信息科学与工程学院,山东 青岛 266100)
摘要: 海洋环境云平台是一个多域多级别的云系统,包含的资源安全级别多,资源归属复杂,海洋云平台的用户来自于不同的研究机构,用户类型多。基于以上需求本文提出多级跨域角色访问控制模型,利用角色映射机制解决跨域跨级的访问控制问题。跨域角色访问控制模型不但能够保证不同域之间用户访问资源的控制,同时域内的角色映射可以将前端用户与服务端用户进行分离,不用为每一位前端用户在云平台上创建一个对应的用户,能够有效地降低平台用户的管理难度。本文搭建了海洋环境信息云平台访问控制系统,并对系统的安全性和效率进行了验证。
Abstract:
Key words :

  摘  要: 海洋环境云平台是一个多域多级别的云系统,包含的资源安全级别多,资源归属复杂,海洋云平台的用户来自于不同的研究机构,用户类型多。基于以上需求本文提出多级跨域角色访问控制模型,利用角色映射机制解决跨域跨级的访问控制问题。跨域角色访问控制模型不但能够保证不同域之间用户访问资源的控制,同时域内的角色映射可以将前端用户与服务端用户进行分离,不用为每一位前端用户在云平台上创建一个对应的用户,能够有效地降低平台用户的管理难度。本文搭建了海洋环境信息云平台访问控制系统,并对系统的安全性和效率进行了验证。

  关键词: 海洋环境信息云平台;角色映射;访问控制模型

0 引言

  海洋信息云计算服务平台是利用云计算技术解决海量海洋观测数据的有效利用问题而建设的一个云计算系统,系统基于Hadoop平台搭建。

  海洋环境云平台的数据安全级别多,既包括一般性的温度场、盐场观测数据,也包括关系到国家战略安全的敏感海洋观测数据;同时,受海洋观测的特殊条件限制,这些数据通常来自于不同的部门、不同观测站,涉及到不同部门的利益[1]。海洋云平台的用户来自于不同的研究机构,用户类型多,权限级别差别大。因此海洋环境云平台要保证多个域之间信息共享,同时也要维护不同域用户的权益。需要一个能够实现上述要求的云平台访问控制系统,并能够实现灵活的授权机制。

  对于如何改进传统的访问控制模型以便于应用到云平台环境下,国内外很多学者和机构都做了研究,例如:Shafiq.B研究了基于RBAC策略的多域安全互操作问题[2],提出一种通过域间角色映射将异构RBAC策略模型集成为一致全局策略的框架,但是该模型只关注了不同域之间异构角色的映射问题,而没有对角色的安全等级进行严格限制,未考虑安全级别等问题。Kapadia.A等在参考文献[3]中讨论了两个采用RBAC策略间实现安全互操作的问题,首次提出通过动态角色转换的方法快速建立域间访问控制策略关联实现跨域访问的思想,然而该模型仅关注了不同策略之间的安全互操作问题,对于不同域、不同安全级别的资源访问控制研究较少。马强[4]等提出了基于云计算基础设施服务的CIRBAC模型和CITE模型,用来实现基础设施服务的安全,但是该模型仅从基础设施访问安全入手,未考虑云端数据的安全访问控制。王小威[5]等提出了一种基于任务角色的云计算访问控制模型,该模型对不同访问主体采取不同访问控制策略,以提供分级的安全特性,但是该模型未能提供主体跨域访问客体的映射策略。

  上述关于传统访问控制模型在云平台上应用改进的研究都提出了一些创新性的策略和办法,但是都是应用于各自专项系统或者某种特定的环境下[7]。而海洋环境云平台的用户来自不同的部门,包括各地的数据采集员、高校的研究员、海洋研究所的专家等等,用户之间的级别有着复杂的层次关系。存储在海洋环境云平台的数据也不同于一般的云存储服务平台上的数据,不同的数据资源有不同的安全级别。因此,上述的各种改进模型不能够有效地解决多域多级别的主体访问客体权限转换等问题。

  海洋信息云计算服务平台是一个多级信息安全系统,数据资源划分为多个安全级别,同时,角色也具有复杂的层次关系。海洋环境云平台采用开源的Hadoop体系构建。Hadoop设计之初并没有考虑到平台的安全问题,并未给之前的版本加入严格的安全机制,Hadoop 2.0版本中权限控制使用的是操作系统上的ACL机制,用户连接到Hadoop集群时通常是使用当前Linux系统用户[8-9],也就是说,Hadoop用户权限取决于当前使用客户端的用户组信息。基于ACL的访问控制机制只能提供最基本的访问控制,海洋信息云计算服务平台这种混合云服务平台对于敏感信息控制的需求严格。为了解决该问题,本文提出基于角色映射的访问控制思想,结合现有的RBAC模型,给出了适用于海洋环境信息云平台的用户访问控制模型,即基于角色映射的多级访问控制模型D-RBAC,并进行了实验。

1 多级访问控制模型

  基于角色映射的访问控制的核心思想是运用目前已经比较成熟的基于角色的访问控制,映射到Hadoop平台用户,隔离用户对Hadoop平台的直接访问。云平台用户对于海洋信息资源的访问首先要通过云门户身份认证和访问控制模块,经过访问控制模块决策,并为其映射到一个对应权限的Hadoop平台用户权限,通过映射的Hadoop用户实现云平台资源的使用。海洋信息云服务系统访问控制模型如图1所示。

001.jpg

  首先,在Hadoop平台上创建多组固定权限的用户(这些用户是Linux的访问用户),并设置其分组。分组可以按行政单位的不同安全级别对应不同的用户组,例如可以设置为北海分局1~5级,南海分局1~5级,东海分局1~5级,国家海洋中心1~5级等分组,每个分组创建多个用户,承担不同的角色,比如:管理员、数据操作员、业务操作员、普通用户、客户等角色。这些用户设置完成后,就不能改变其权限。并且这些Hadoop角色对于WEB前端注册的用户是透明的。

  在海洋信息云服务平台的前端门户新注册的用户并没有直接访问Hadoop平台资源的权限。当用户提出服务请求或资源访问请求时,先经过云门户权限控制模块对其权限进行判断,然后经角色映射模块映射到对应权限的Hadoop角色用户。如图2所示。

002.jpg

  访问决策采用多级访问控制模型来实现海洋环境信息云计算系统的访问控制和授权管理。用户管理采用基于角色授权管理模型,通过建立分层的树形数据模型和访问控制规则模型,能够实现不同领域与不同职能的用户对不同类型与不同层次的信息资源的细粒度访问控制,在保证海洋环境信息安全与保密的同时,能够向各类用户提供高效的信息资源服务。下面给出D-RBAC形式化定义。

  1.1 D-RBAC模型

  D-RBAC模型类似于传统的基于角色的访问控制模型,由主体、域、角色、客体、权限五个部分组成,在传统基于角色的访问控制模型基础上引入了多域多级的概念,不同域中分别有不同级别的角色池,对应海洋环境云平台中的多个海洋专项研究系统中的不同用户信息,同时引入了域内角色映射机制和跨域访问的角色映射机制,其结构如3图所示。

003.jpg

  1.2 D-RBAC模型组件

  Useri,j、Domaini、Sessioni、Rolei,j、Oi、Ri分别是用户、域、会话、角色、客体和权限的集合。

  Useri,jLIF)`R{C)MA[~VU[2AMC(VT.jpgDomaini,用户与域之间是多对一的分配关系。一个用户只能包含在一个域内;

  Rolei,jLIF)`R{C)MA[~VU[2AMC(VT.jpgDomaini,角色与域之间也是多对一的分配关系。

  UAiLIF)`R{C)MA[~VU[2AMC(VT.jpgUseri,j×Rolei,j,域Di中用户与角色间是多对多的分配关系;

  PAiLIF)`R{C)MA[~VU[2AMC(VT.jpgRolei,j×Ri,域Di中角色与权限间为多对多的分配关系;

  SessioniLIF)`R{C)MA[~VU[2AMC(VT.jpgDiUseri,j×DjRolei,j,用户Useri,j发起的跨域会话,是多对一的分配关系;

  Authorization(),授权过程。

  RoleMapping(Di|Rolei,j,Dj|Rolei,j),角色映射过程。

  Assign(Role,R,O),允许将客体O的权限R授予角色Role。

  Rvoke(S,O,R),收回主体S对客体O的访问权限。

  onAccess(S,O,R),主体S访问客体O。

  Assign(S,Role)=>Authorization(),将角色Role授予主体S后才可以授权主体S访问客体。

  revoke(S,O,Role)=>!Authorization(),权限收回后,应该取消对主体S的授权。

  S.SSlev>O.OSlev&Authorization()=>onAccess(S,O,R),主体的安全等级大于客体的安全等级时才可以进行访问操作。

  onAccess(S,O,R)=>UpdateAttr(ATT(S))/UpdateAttr(ATT(O)),主体S访问客体O可能引起对主体S或客体O的属性更新。

  1.3 角色映射策略

  在本模型中,角色映射的策略有两种:一种是能够将映射得到的权限向下传递的可传递性角色映射策略,另一种是只能够建立确定的单项传递关系,不能够获得下级角色的访问权限的非传递性映射策略[10]。

  (1)可传递性映射策略

  可传递映射策略是将外域角色与本地角色建立了映射关系之后,不仅获得本地角色及其下级角色的访问权限,而且,外域中高于当前已经建立映射关系角色的安全等级的上级角色都可以通过本次映射获得本地的操作权限。

  (2)非传递性映射策略

  非传递性的角色映射能够有效地克服传递性映射策略带来的权限风险。当外域角色与本地角色建立映射关系之后,只有当前建立映射关系的角色能够获得本地角色及其下级角色的访问权限。原系统该角色的上级角色并不能通过该次映射获得本地角色的访问权限。因此能够有效地控制授权范围,显著地增强系统安全性。在对安全性要求较高的系统中,大部分都会采用非传递性的角色映射策略。

  1.4 模型域间映射策略

  在本地域和外域角色层次之间,通过使用可传递关联和非传递关联,可以创建一个组合偏序关系,并且定义一种安全策略。这些策略可以分成两类。

  (1)自动映射策略

  自动映射策略是大部分系统都会采用的最小权限映射关系,只能提供最小的本地角色权限集合,建立的都是非传递性的角色映射策略。意义是能够建立两个域之间的角色映射关系,形式化定义如下:

  DefaultRoleMapping(r,r′,Di,Dj:NAME){

  Rolei∈Di;Rolej,0∈Dj;

  r∈Rolei;r′=Rolej,0;

  AddNonTansitiveMapping(r,r′);}

  (2)手动映射策略

  当域1中角色想要访问域2中权限级别高于自身的客体时,需申请角色映射,管理员通过审查后,手动建立角色映射关系,并设置时效,时效结束将撤销该映射。形式化定义如下:

  ApplyRoleMapping(r,r′,Di,Dj:NAME){

  Rolei,m∈Di;Rolej,n∈Dj;

  r∈Rolei,m;r′=Rolej,n;i≠j;m≥n;

  AddNonTansitiveMapping(r,r′)∧

  AddNonTansitiveMapping(r,r′);

  timeout;

  DefaultTansitiveMapping(r,r′)∧

  DefaultNonTansitiveMapping(r,r′);}

  在本文的访问控制方案中,由于存放在海洋环境云平台的数据进行了分域、分级安全管理,当主体访问本域内的客体时,可直接进行权限验证。当客体与主体不同域时,需要进行跨域的角色映射。同时客体拥有者通过监控高安全级别的数据访问请求的方法来减少访问控制的管理工作,一些较低安全级别的数据访问可以通过自动的访问控制来实现。

2 服务访问流程

  系统初始化阶段首先在Hadoop系统上根据行政单位和安全级别建立Hadoop平台用户组(HGi)和用户集合(HUij∈HGi)。

  定义云服务器ID为CS,用户Ui访问客体Oj的过程如下:

  (1)Ui向CS发送访问请求Acc。

  (2)CS首先检查Ui是否是合法用户,若是合法用户则为其分配角色,然后检查客体Oj所在域是否与分配角色在同一域内。若在同一域内,检查角色权限列表,若拥有该客体的访问授权,则验证Ui,并返回授权证书或拒绝,转第(5)步;若客体Oj不在同一域内,则把Acc转发给D-RBAC角色映射机制,转第(3)步。

  (3)D-RBAC角色验证机制,首先检查客体Oj的安全级别,并根据安全级别确定角色映射策略,判断是否给Ui授权,若不授权,则向Ui发送reject;若授权,则转第(4)步。

  (4)Ui向D-RBAC角色映射组件申请进行映射,D-RBAC组件为Ui的角色映射到客体所在域内角色HUij。查角色权限列表,若拥有该客体的访问授权,则验证Ui,并返回授权证书或拒绝。

  (5)Ui通过云平台向客体Oj发起访问请求,云平台利用HUij通过Hadoop平台访问Oj。

  图4为一次访问授权过程的序列图表示。

004.jpg

3 实验分析

  3.1 安全性分析

  系统的数据库设计和主要的类设计如图5所示。

005.jpg

  在系统中分别建立云平台WEB用户user和Hadoop平台用户root。经测试user用户不能登录到Hadoop计算平台上,无法访问HDFS文件和提交job任务。建立角色映射关系后,user用户可以在Hadoop平台上提交job任务,访问HDFS文件。实验结果表明,系统原型满足策略的如下安全目标:

  (1)不同部门之间数据的强隔离性。在海洋云平台内的每一次数据访问,由于都需要比较主、客体的组织标签是否相同,严格限制了一个部门用户对其他部门用户数据访问的企图。

  (2)灵活的部门内部数据隔离。在海洋云平台内,每一个部门都可以由专门的管理员定义多层次的主体角色,满足了部门内部不同角色各自的访问控制安全需求。

  (3)部门之间数据的受控共享。在海洋云平台内的多个部门可以通过建立临时的角色映射来实现数据共享,并通过设置,严格限制高敏感数据共享。

  3.2 性能分析

006.jpg

  在未加入任何安全机制之前,基于HDFS的实验系统读写不同大小文件的时间开销如图6所示。可见,读写访问时间开销基本上是随着被访问文件数据块的增多而呈线性增长。

  相对原有读写访问时间(1 000~ 10 000 ms 级),在HDFS加入安全机制后带来的额外时间开销极小(0.1~10 ms级),几乎可以忽略不计,包括的主要开销为:

  控制策略的运算时间:由于权限表达式树在系统初始化的时候就已经建立好了,因此在运行过程中判断主体是否能访问客体的策略在决策上的性能损耗较小。

  角色映射时间:当用户访问HDFS文件时,初次访问需要根据权限进行角色映射,角色映射建立好以后,再次访问不需要再消耗时间。

  根据以上实验结果,访问控制安全机制的性能损耗对于HDFS原有访问时间而言确实是可以忽略不计。

4 结束语

  随着海洋信息数据的日益增多,以及云平台在海洋领域的应用的加深,如何加强平台的安全性,保证信息安全越来越重要。本文针对目前主流的开源云平台框架Hadoop中存在的安全问题进行了研究,将默认的ACL方式的简单用户访问控制机制进行了优化。这主要包括设置不同级别分组的用户信息,创新性地将角色映射机制映入到云平台访问控制模型中。并针对海洋环境云平台的信息级别多、用户分属不同域和经常需要跨域访问资源等问题,提出了一种基于RBAC模型的改进解决方案。实验表明本文的方法管理简单有效,能够解决多级多域的访问控制问题。

参考文献

  [1] 鹿守本.海洋管理通论[M].北京:海洋出版社,1997.

  [2] SHAFIQ B, JOSHI J B D, BERTINO E, et al. Secure interoperation in a multidomain environment employing RBAC policies[J]. Knowledge and Data Engineering, 2005, 17(11): 1557-1577.

  [3] KAPADIA A, AL-MUHTADI J, CAMPBELL R H, et al. IR AC 2000: secure interoperability using dynamic role translation[C]. Proceedings of 1st International Conference on Internet Computing, UIUCDCS-R-2000,2000:82-121.

  [4] 马强,艾中良.面向云计算环境的访问控制模型[J].计算机工程与设计,2012,33(12):47-50.

  [5] 王小威,赵一鸣.一种基于任务角色的云计算访问控制模型[J].计算机工程,2012,38(24):9-13.

  [6] 马媛.基于Hadoop的云计算平台安全机制研究[J].信息安全与通信保密,2012(6):89-91.

  [7] FERRAIOLO D, CUGINI J, KUHN D R. Role-based access control (RBAC): features and motivations[C]. Proceedings of 11th Annual Computer Security Application Conference, 1995:241-48.

  [8] 徐刚.云计算与云安全[J].信息安全与技术,2011(2):24-26.

  [9] 赵明斌.基于信任的云计算访问控制模型研究[D].福州:福建师范大学,2013:17-22.

  [10] 郭乐深,张乃靖,尚晋刚.云计算环境安全框架[J].信息网络安全,2009(7):62-64.


此内容为AET网站原创,未经授权禁止转载。