数字城市服务自适应访问控制模型

2013-01-18 12:03丽,
电子设计工程 2013年2期
关键词:应用服务访问控制调用

赵 丽, 孙 彬

(1.新疆农业职业学院 信息技术分院,新疆 昌吉 831100;2.新疆昌吉卫生学校 新疆 昌吉 831100)

无线通信与信息化技术的广泛应用,改变着人们的生产和生活方式,将数字化贯穿于社会经济生活的各个方面,是大势所趋。特别近几年的两个热点问题物联网和云计算的提出,很大程度地推动了数字化生活的研究。数字城市是云计算和物联网的典型应用。结合两者的特点和优势,学术界和工业界对“数字城市”进行了大量的研究。数字城市是数字地球的单元节点,具有行政管理、资源共享、大众服务、监控监管、商业服务等多项功能。数字城市的信息服务平台使城市信息提供者、管理者以及用户之间可以实时地进行各种形式的信息交互,从而为用户提供公共信息、公众安全、交通控制、医疗、商业、教育、能源等多种类型的服务[1]。而这些服务在实现基于数字城市网络的用户访问的同时,重要的数据和系统结构也可能会暴露出来。因此,资源受到非法用户的访问和获取成为服务安全性的严重隐患之一。

1 自适应访问控制模型

在数字城市网络环境下,分布式应用、远程服务调用通过各种方式被提供,比如远程过程调用RPC、基于Java或SOAP的远程方法调用RMI,虽然名称有所不同,但是其基础机制都是一样的。通常由服务端定义功能,包括部署,参数,接口等,用户调用应用服务时根据服务端定义提供相应的参数数据,以应用服务要求的格式发往服务器,服务器处理用户数据,完成相关功能任务后,把结果发送回给用户。基于这种应用服务调用模式,设计访问控制模型如图1所示。

图1 细粒度自适应访问控制模型Fig.1 Adaptive fine-grained access control model

如图1所示,访问控制模型由细粒度访问控制和自适应安全功能调用两个部分组成,访问控制模块通过部署访问控制策略,限制一个用户能做什么,能调用什么样的服务,从而防止一些影响服务安全性的行为发生,对用户调用的应用服务进行细粒度自适应地访问控制。除了上述的细粒度访问控制模型,针对用户在访问应用服务时因为客户端软硬件因素或环境时空因素等造成的服务调用安全性能需求差异大地情况,该访问控制模型包括一种安全功能调用自适应匹配模块,根据用户调用服务功能时具体的地理位置、覆盖网络、访问时间以及使用的软硬件平台资源,为用户提供适当的安全策略和机制,保证用户获取服务时的质量。

细粒度访问控制模块有两个部分:访问控制点(Access Control Point, ACP),访问控制策略库(Access Control Policy Graph,ACPG)。当一个用户访问应用服务的时候,首先向访问控制点提供自身信息和上下文环境属性,比如身份、时间、位置等,访问控制点从访问控制策略库申请相关访问控制策略ACPG,使用一些访问控制算法判断该用户是否拥有访问该应用服务的权限。

当用户得到访问控制点的授权后,就可以调用申请的应用服务功能,然而由于数字城市网络环境下,用户申请同一个应用服务时通常处于一个动态的环境状态,拥有的软硬件资源、时空环境等往往有所不同,单一的服务安全功能调用模式不能适应用户多变的需求环境。自适应安全功能调用模块可以对动态环境下的安全功能调用机制进行最优化选择。根据用户拥有的软硬件资源和时空环境,自适应安全功能调用模块可以为用户提供合适的安全组件,保证调用服务的质量和安全。

自适应安全功能调用模块有3个部分:功能调用点(Function Invoke Point, FIP),功能资源池,安全功能组件库。功能调用点接受用户功能调用请求,向功能资源池调用自适应功能调用策略(Adaptive Function Invoke Graph, AFIG),同时向用户申请上下文环境属性元数据,最后根据AFIG判断是否需要调用安全组件库中的组件。

如图2所示,一次安全的访问过程可以表述如下:1)ACP接受用户访问请求;2)ACP向访问策略库申请 ACGP;3)ACP得到ACGP,基于用户提供的上下文环境属性信息采用相关算法实施ACGP,判断用户是否拥有相应的访问权限。

图2 访问控制过程Fig.2 Access control process

1)ACP把访问控制判断结果发送给用户和FIP;

2)如果用户获得访问权限,FIP向功能资源池查询服务安全调用需求;

3)FIP向用户申请上下文环境属性元数据,表示服务安全调用需求的上下文环境属性信息,如网络带宽,操作系统等;

4)用户向FIP发送上下文环境属性元数据;

5)FIP基于用户提供的元数据采用相关算法实施AFIG,判断此时用户调用服务需要哪些安全组件的支持;

6)如果用户客户端没有部署相关安全组件,FIP从安全组件库中申请获取相应安全组件;

7)FIP将获取到的安全组件传递给用户在客户端动态部署,随后用户即可安全访问服务。

2 自适应访问控制策略

为适应动态异构的数字城市环境,不能使用单一的静态访问控制策略,在设计细粒度访问控制模块时,引入一组通用上下文环境数据概念,描述与访问控制策略相关的所有属性参数,比如用户角色,调用位置,调用时间等。这样设计有两个优势,首先一个具体应用服务需要的任何上下文属性参数在访问控制模块中都有规定和部署,可以一次性满足数字城市网络中存在的大量异构网络环境和不同系统组织中各自不同的应用服务对于访问控制操作的参数需求;而且对于未来的访问控制需求来说通用上下文环境属性参数是可扩展的,很适应高速动态变化的数字城市网络信息系统。下面介绍访问控制策略定义和策略图定义。

2.1 访问控制策略定义

访问控制策略中的相关概念定义如下:

定义 1:CI(Context Index) 上下文环境属性标识,CI=(name,range,order),name 表示上下文环境属性的名字,range表示其取值范围,order表示其取值排列的具体方式。

例如,把用户的年龄作为一个上下文环境属性标识,name是用户的年龄,range是10岁到70岁,order是年龄的升序标识[10,11,12,…,68,69,70]。

定义2:CO (Context Object) 上下文环境属性对象,CO=(name,value),name 表示上下文环境属性的名字,value 表示其取值,必须在range范围之中。

CO是CI的一个实例对象,如果把CI表示为二位空间中的x轴,CO就是轴上的一个点。例如(用户年龄,20岁)

定 义 3:Function,F=(name, (inputi,i∈[1,n]), (coutputi,i∈[1,m]),comi,i∈[1,k]),name 表示功能的标识,说明应用服务的具体功能,input表示功能需要的输入参数,output表示功能产生的输出结果,com表示功能调用时需要动态部署的组件模块。

定义4:Service应用服务,一个应用服务就是一组相关的具体功能的集合。 Service=∪Fi,i∈[1,n]。

定义 5:CAS(Context Attribute Space)上下文环境属性空间,GAS=UCIi,i∈[1,n],对于每个功能 F,其需要的所有上下文环境属性是CAS的一个子空间,表示为CASSf⊆CAS。

定义 6:CON (Context Object Node) 上下文环境属性节点 ,CON 是 一 个 数 据 结 构 ,CON=struct{COi;Ptr(COj);Ptr(COk);…},COi是 CIi的一个实例,例如(用户年龄,20),Ptr(COj)表示指向实例COj的指针。每一个CON有零个、一个或者多个指向其他CO的指针,表示它们在访问控制策略中是有关联的,一起组成一个访问控制策略。

定义 7:CORN(Context Object Root Node)上下文环境属性根节点,CORN是一类特殊的CON,CON中的CO不被任何一个 CON指向的 CON就是 CORN。CORN={CON:Ø→CON}。

2.2 访问控制策略图

图3给出了访问控制策略中各个元素相互关联的方式,也就是访问控制策略图ACPG。一个CON是建立在一个CO上的,它拥有指向其他不同CI的实例CO的指针,对于一个访问控制策略来说,CON把不同CI的具体实例联系起来形成访问控制策略图。CORN是一类特殊的CON,它不被其他的CON指向。例如在图3中圆形表示CORN,矩形表示CON。通过上述定义,下面描述访问控制策略图ACPG的具体结构。图3是某个功能的访问控制策略图,图中总共有n+1个CI,表示这个功能在访问控制过程中最多会用到n+1种上下文环境属性。

图3 访问控制策略图ACPGFig.3 Access control policy Figure ACPG

将它们按照某种规则顺序表示,比如按照名称首字母升序表示。例如:有4种上下文环境属性,分别是Role、Time、Location 和 Speed, 则 CI0=Location,CI1=Role,CI2=Speed,CI3=Time。在上下文环境属性空间中,这种CI的有序排列方式可以帮助更加快速的定位寻找某一个具体CI。

在上下文环境属性空间中不仅仅有有序的CI,对应每一个 CI还有一些有序的 CO,例如 CO0-i、CO0-j、CO0-k就是 CI0的3个具体实例。从一个CORN开始,通过CON之间的指针达到Function的链接路径就是这个Function的一条访问路径。

定义8:AP访问路径,一条访问路径就是一组有序链接的CON,从一个CORN开始到Function结束。

由上述定义可知道,访问路径被定义为从一个CORN开始的CON链表。例如CO3-k→CO2-m→CO0-k就是一条访问路径,表示如果用户提供的上下文环境属性参数能够分别匹配CI3、CI2和 CI0的实例值 CO3-k、CO2-m和 CO0-k,这个用户就可以被授予这个功能的访问权限。

为了支持访问控制策略的可扩展性,设计一个抽象策略类,描述应用服务功能访问控制所需要的各种上下文环境属性标识。如下所示:

对于具体的访问控制需求,可以通过继承这个抽象类并扩展所需的CI来实例化一个具体的策略类。基于具体的策略类,系统可以建立访问控制策略图ACGP,系统管理员可以简单灵活地添加或更新访问控制策略,很好的适应动态异构的数字城市网络环境。

2.3 访问控制策略实施方法

结合以上访问控制策略定义及访问控制策略图结构,制定访问控制策略实施方法如下:

ACGP是预定义好的并存储在访问控制策略库中,通过应用一些相关的算法来实现访问控制策略的执行。首先,当ACP接受到用户上下文环境属性元数据并从访问控制策略库中申请到相关ACGP之后,通过算法MatchCON将元数据中的CO与策略中相应的CON或CORN匹配。具体算法如下:

算法 1:

输入参数:用户输入的上下文环境属性元数据中的各项CO;输出参数:策略图ACGP中与用户输入相匹配的CON或CORN;算法流程:对于用户输入的每一个CO,判断其是否与ACGP中的CON或CORN相匹配,如果和CON匹配,返回这个CON,如果和CORN匹配,返回这个CORN。

接下来ACP使用另一个算法FindAccessPath,用来检查MatchCON返回的CORN和CON中是否能构成一条访问路径。

算法 2:

输入参数:MatchCON返回的CORN和CON;输出参数:存在访问路径返回True,否则返回False;算法流程:对于每一个CORN,判断其Ptr指向的CON是否在输入的CON当中,如果在,判断这个CON的Ptr指向的CON是否在输入的CON中,直到最后一个 CON的Ptr指向Function,表示存在访问路径,否则不存在访问路径。

最后结合算法MatchCON和算法FindAccessPath构成算法GrantAccess,判断是否授予用户访问权限。

算法 3:

输入参数:用户输入的上下文环境属性元数据中的各项CO;输出参数:存在访问路径返回True,否则返回False;算法流程:根据用户输入的CO,使用算法MatchCON,将返回参数作为算法FindAccessPath的参数,如果返回True说明用户拥有该服务功能的访问权限,否则没有访问权限。

3 性能评估

结合以上研究内容,本文共提出了MatchCON、FindAccess Path及GrantAccess 3种算法,现对每种算法复杂度分析如下:

算法1:对于每一个输入的CO,MatchCON定位相关的CI,由于CI都事先存储好,所以计算复杂度是O(1)。然后在这个CI的有序取值空间中寻找是否存在输入CO的值,复杂度也是O(1)。如果这个CO有匹配的CORN或CON,则返回这个CORN或CON。如果CI总数为n,输入CO个数为i,算法总复杂度为 O(n)。

算法2:对于MatchCON算法找到的每一个CORN,FindAccessPath搜索从该CORN开始是否存在一条访问路径。如果存在一条访问路径,FindAccessPath返回真值,表示赋予用户访问权限,否则禁止用户访问相应服务功能。FindAccessPath的核心部分是HavePath,是通过递归调用自身用来检查从一个CON出发是否存在一条访问路径的代码。在讨论计算复杂度之前,确定一些关键参数,MatchCON算法返回的CORN个数为k,CON个数为j。由于每个用户对于一个CI只提供一个CO,所以k+j=n,n是CI的总数。确定CON.Ptr在不在 CON 集合{CON1,CON2,…CONj}中的复杂度为O(1)因为CON集合是有序序列。假设每一个CON有m个指针指向其他的CON,一条访问路径的高度是h,FindAccessPath在最好情况下的复杂度是O(n),最差情况下复杂度是 O(mn2)。

算法3:为了作比较,同时给出传统访问控制方法的复杂度,传统访问控制方法没有利用复杂的数据结构来组织上下文环境属性。Clause相当于本文提出方法中的概念访问路径AP,Context相当于CI。在访问控制判断授权过程中,传统算法对每个Clause的Context和用户提供的属性值进行匹配,当所有Context都匹配成功时,这个Clause为真,至少一个Clause为真时授权成功。在拥有相同参数的情况下,我们很清楚地知道总共存在O(kmh)条访问路径,当第一个Clause就为真时,算法复杂度是最好的O(n)。然而平均情况下复杂度是O(nkmh),比本文提出的算法GrantAccess在最差情况下的复杂度 O(mn2)还要差。

4 结束语

数字城市异构、跨域、动态变化的特征使得传统访问控制模型不适合数字城市网络环境,容易造成用户使用服务信息的泄露。为此,本文提出了细粒度自适应访问控制模型,针对数字城市服务具体应用特征,细化用户所处具体场景的上下文环境属性,为访问控制提供尽可能多的参考因素,提高访问控制的安全性能和控制能力;提出细粒度访问控制策略及算法,满足动态异构的数字城市网络环境下用户多变灵活的访问控制需求,打破传统网络环境下访问控制方式的策略局限性,为数字城市网络提供统一的访问控制方法,从而满足动态异构分布式环境下地访问控制需求,同时能动态地更改访问控制策略以满足不断变化或扩展的安全需求,为数字城市的规划和建设提供可靠的安全保障,同时为物联网和云计算技术的发展和实现起到了关键的推动作用。

[1]Csaba S,Karoly F,Zoltan H.Wireless community networks:motivations,design and business models[J].Mobile Networks and Applications,2008(4):121-125.

[2]LI Jun,ALAN H K.Access control for services oriented architecture[C]//Fairfax,Virginia, USA:Proceedings of the Fourth International Conference on Creating,Connecting and Co llaborating through Computing,2006.

[3]刘宏月,范九伦.访问控制技术研究进展[J].小型微型计算机系统,2004,25(1):56-59.LIU Hong-yue,FAN Jiu-lun.Access control technology research progress[J].Mini-Micro Systems,2004,25(1):56-59.

[4]Sandhu R.Lattice-based access control models[J].IEEE Computer,1993,26(11):9-19.

[5]Sandhu R,Coyne E,Feinistein H.Role-based access control models[J].IEEEComputer,1996,29(6):38-47.

[6]熊善清,张颖江.基于角色的访问控制模型分析及实现研究[J].武汉理工大学学报:信息与管理工程版,2006,28(2):29-35.XIONG Shan-qing,ZHANG Ying-jiang.Role-based access control model analysis and study[J].Wuhan University of Technology:Information and Management Engineering,2006,28 (2):29-35.

[7]王小明,付红,张立臣.基于属性的访问控制研究进展[J].电子学报,2010,38(7):1-8.WANG Xiao-ming,FU Hong,ZHANG Li-chen.Attributebased access control research progress[J].Journal of Electronic,2010,38(7):1-8.

[8]Yuan E,Tong J.Attribute based access control (ABAC) for web services[C]//Orlando,FL,USA:Proceedings of the IEEE International Conference on Web Services (ICWS 2005),2005.

[9]Thomas R K,Sandhu R S.Towards a task-based paradigm for flexible and adaptable access control in distributed applications[C]//Proceedings of the 1992-1993 ACM SIGSAC New Security Paradigms Workshops,1993:138-142.

[10]Thomas R K,Sandhu R S.Task-Based authentication controls(TABC):a family of models for activeand enterpriseoriented authentication management[C]//Vancouver,Canada:Proceedings of the IFIP WG11.3 Workshopon Database Security,1997.

[11]Park J,Sandhu R.The UCONABC Usage Control Model[J].ACM Transactions on Information and System Security,2004,7(1):128-174.

猜你喜欢
应用服务访问控制调用
全球卫星互联网应用服务及我国的发展策略
核电项目物项调用管理的应用研究
国家不动产统一登记信息平台构建与应用服务
LabWindows/CVI下基于ActiveX技术的Excel调用
ONVIF的全新主张:一致性及最访问控制的Profile A
基于系统调用的恶意软件检测技术研究
动态自适应访问控制模型
浅析云计算环境下等级保护访问控制测评技术
大数据平台访问控制方法的设计与实现
全国征集卫星应用服务解决方案