基于证书的服务组合动态访问控制策略

2017-03-01 04:26宋国新张小云
计算机应用与软件 2017年1期
关键词:访问控制控制策略组件

苏 雪 宋国新 张小云

1(武汉铁路职业技术学院 湖北 武汉 430205)2(华东理工大学计算机系 上海 200237)3(武汉邮电科学研究院 湖北 武汉 430074)

基于证书的服务组合动态访问控制策略

苏 雪1宋国新2张小云3

1(武汉铁路职业技术学院 湖北 武汉 430205)2(华东理工大学计算机系 上海 200237)3(武汉邮电科学研究院 湖北 武汉 430074)

Web服务的动态性为应用系统带来了新的安全威胁,然而传统的方法难以有效地保证服务的动态访问过程。使用Petri网作为Web服务组合过程的形式化描述工具,清晰地表达了Web服务组合中各组件之间的逻辑关系,并提出基于证书的Web服务组合的访问控制策略,从而满足动态选取可用Web服务的实际需求。利用Petri网的操作语义及相关理论分析该方法的正确性,并给出相应的实施算法。案例分析展示了该方法的可行性和有效性。

服务组合 Petri网 证书 安全 访问控制

0 引 言

随着软件规模和复杂性的迅速增长,构建可灵活配置软件系统的需求日益凸显,服务组合作为一种新型的分布式计算模型,近年来得到了业界和学术界的极大关注。服务组合是利用服务之间的相互通信和协作,把简单的Web服务组合成具有新功能的大粒度服务的过程[1]。许多Web服务应用如金融、在线交易或电子商务等都与安全有关,并且Web服务运行的网络环境是一个快速变化的动态环境,从而使得提供服务的系统受攻击的情况复杂,导致安全控制的难度增大[2]。如何根据系统的服务资源动态地构造出安全可靠的服务组合变得日益重要。

为了解决Web应用安全问题,文献[3]使用可信策略语言来创建组合的性质。但它所提出的方法对程序设计人员不直观。Skogsrud和Benatallah等人[4-5]提出对可信Web服务的协商机制进行建模。文献[6]中利用可信第三方,收集所有已注册Web服务的QoS数据,以保证其可靠性。这些方法的优点是考虑服务不同阶段的策略建模,可以提高服务策略实施的灵活性以及适应性。但其缺点在于:没有考虑服务非功能属性,随着服务规模的增大,服务组合的结果可能是用户无法接受的。文献[7]将QoS数据来源作为Web服务质量属性,但当所选择的服务具有时效性时不能保证服务的可组合性。基于Petri网的形式化方法可用于复杂系统的建模和验证[8]。文献[9]应用Petri网对Web服务进行分析研究,不过在方法验证过程中没有考虑服务的安全机制。文献[10]提出一套归一化的方法,将不同QoS属性的取值按照其权值统一为一个整体值,该方法没有涉及服务的访问控制过程。本文提出一种服务组合动态的访问控制策略及基于Petri网的服务组合访问网SCAN(Service Composition Access Net)的构造方法,利用 Petri网的可达状态及相关理论分析访问控制策略的正确性及有效性。实例仿真结果表明,本文所提出的方法能够有效地简化系统的建模,提高服务组合的质量。

1 服务组合访问控制策略

1.1 服务组合的访问控制需求分析

在本文中,我们将服务组合中的子功能称为组件。每个组件则由一系列相互关联的任务集构成。任务的访问条件规定了对敏感数据的访问限制。为了实施细粒度访问控制,本文对服务请求者和提供者划分了等级。

(1)C,S,T分别是有限的组件集、可用服务集和任务集;

(2)CW:C→S为组件拥有的可用服务集函数。其中CW(Ci)={Si,1,Si,2,…,Si,m}为组件Ci拥有的可用服务集合,Si,j表示组件Ci的可用服务集合中的第j个可用服务;

(3)CT:S→T*是可用服务的任务集函数。由于每个任务仅属于一个可用服务,为了区别任务所属的服务,规定Si,k·Ti,j为可用服务Si,k中的任务Ti,j;

(4)R=(RC,RT),其中RC:C×C→{>,+,‖},RT:T×T→{>,+,‖}为组件与任务之间的关系。其中>、+、‖分别代表顺序、选择和并行的关系。若R(Ci,Cj)=>,则称Ci为Cj的前向组件,Cj为Ci的后向组件。记集合Fork(Ci)={Cj|R(Cj,Ci)=>},Back(Ci)={Cj|R(Ci,Cj)=>};

(5)RT定义为服务的属性函数,记为RT(Si,j)=(PDi,j,TPi,j),其中PDi,j表示服务Si,j的提供商等级,TPi,j是服务Si,j中任务的访问条件。

1.2 服务组合的访问控制策略

本文基于上述服务组合访问控制需求,根据可用服务的执行流程和任务的访问条件研究服务组合的动态访问控制策略。设组件Ci的可用服务集为{S1,S2,…,Sn},不同服务的执行流程不尽相同,且任务的访问条件不同。

任务集合ET(Si,j)称为Si,j的一个完整任务集。即服务可以通过触发一个完整的任务集到达一个服务结束位置。由于可用服务从初始位置到结束位置可能存在多个路径,因此服务的完整任务集不唯一。记服务Si,j的所有完整任务集合为AET(Si,j)。

证书描述了特定时刻Web服务的运行环境参数信息,包含证书名称、编号和属性集等,为访问控制策略提供相应的参数值,进而确定服务申请者的访问权限。在服务组合过程中证书应该根据组件的执行动态调整。

定义2 一个证书CR是一个三元组(name,serial,attr),其中:

name是证书的名称,要求名称不能重复;

serial是该证书的编号,随着服务组合的执行,编号从1开始递增;

attr=(a1,a2,…,an)是证书的属性值,每个属性ai=(nameai,valueai),nameai、valueai分别描述了属性的名称和值。为了区别各个属性,本文假设a1是与服务请求者相关联的属性,a2,…,an则是与前向组件执行服务的提供者相关联。

服务组合的访问控制策略是通过设置证书包含的属性条件AC定义的。属性ai的函数AC(ai)是一个布尔表达式:nameaiopk,其中nameai是属性名称,op是一个比较操作符,k是一个整数。设CR=(name,serial,attr)是一个证书,AC是一个布尔表达式。称证书CR满足条件AC当且仅当∃ak∈attr,使得AC(ak)为真,记做CR◇AC。若证书CR满足条件集{AC1,AC2,…,ACn},则记做CR·{AC1,AC2,…,ACn}。

定义3 设服务Si,k是Ci的一个可用服务,CR为服务组合的一个证书,则任务Si,k·Ti,j的访问控制策略ACP(CR,Si,k·Ti,j)为:CR◇{AC1,AC2,…,ACn},其中{AC1,AC2,…,ACn}是任务Si,k·Ti,j的访问条件。

证书CR满足任务Si,k·Ti,j的访问控制策略是指在该证书下系统有权触发任务Si,k·Ti,j。服务是通过执行一组任务集来完成其功能,因此可以通过设置服务中各个任务的访问控制条件而实现对服务的访问控制。

依据任务的访问控制条件,可以给出服务组合的访问控制策略:

设AET(Si,j)是可用服务Si,j的所有完整任务集合,即执行AET(Si,j)中某个完整任务集可以完成服务Si,j的功能。CRf为服务组合的一个证书:

∃ATf∈AET(Si,j),∀Ti,j∈ATf,ACP(CRf,Si,k·Ti,j)为真,即证书CRf满足服务Si,k的某个完整任务集中所有任务的访问控制策略,则服务Si,k可以被证书CRf访问的,记做CRf◇Si,k,否则记做CRf◇Si,k。组件Ci可以被证书CR访问的可用服务集计为集合Access(CR,Ci)={Si,j|CR◇Si,j}。

2 服务组合访问控制模型

2.1 服务组合访问网定义

Petri网是一种具有丰富数学基础的形式化模型。广泛应用于描述和研究具有异步并发特征的分布式系统。下面根据服务组合访问控制需求,提出服务组合访问网,具体的Petri网相关概念见文献[8]。

定义4 三元组Σ=(N,IO,λ)称作基本服务网BN(BasicNet),其中:

(1)N=(P,T,F,D,AT,M0)是一个基本着色Petri网,其中P、T、F分别表示库所、变迁和弧的有限集,且两两不相交;D为非空有限的个体集;对于t∈T,AT(t)是变迁t必须满足的函数;M0是Σ的初始标识。

(2)IO⊂P是一类特殊的库所,称为Σ的接口,用虚线圆圈表示。

(3)λ:T→N*是变迁的优先级,默认为0,其中λi越小,变迁ti的优先级越高。

BN模型主要用于可用服务执行过程的建模。模型中的库所、接口和变迁分别描述可用服务的所处状态、输入输出参数和执行操作。对于任意x∈(P∪T),集合·x={y|y∈(P∪T)∧(y,x)∈F}和x·={y|y∈(P∪T)∧(y,x)∈F}分别对应于x的输入和输出。

定义5 六元组Ω={Σ,Γ,IT,IP,AT,AP}称作服务组合访问网SCAN,其中:

(1)Σ是一个BN模型,该模型描述了Ω的基本结构;

(2)Γ={Γi|i∈N*}是页的有限集,其中每个页面是一个BN或SCAN模型,页和页之间互不相交:设Γi对应的Petri网结构Ni=(Pi,Ti,Fi),则∀Γi,Γi∈Γ,有(Pi∪Ti∪Fi)∩(Pj∪Tj∪Fj)=Φ;

(3)IT是替代节点的集合,IP是端口节点的集合;

(4)AT是页的分配函数,AP是端口映射函数。

SCAN模型的标识、替换、可行替换的定义可以参考着色Petri网。标识M:P→fs主要描述了系统的资源分布。集合VP(M,t)为变迁t在标识M下的所有可行替换。设Ω为SCAN模型,M为Ω的一个标识,若VP(M,t)≠Φ,则称变迁t在标识M下有发生权,记做M[t>。集合ET(m)={t|M[t>}。对于变迁ti∈ET(m),若λi≤min(λj)其中tj∈ET(m),则称变迁ti在标识M下的触发是有效的。集合FT(m) 为标识M下所有可以有效触发的变迁。将标识M通过有效触发一个可行替换ti〈d1,d2,…,dn〉到达新标识M′的过程记为M[t1〈d1,d2,…,dn〉M′。集合MT(m)={ti|∀tj∈T,·ti∩·tj=Φ}。称集合H(m)={t〈d1,d2,…,dn〉|t∈MT(m),t〈d1,d2,…,dn〉∈VP(M,t)}为M的一个最大触发集。

∀ti〈d1,d2,…,dn〉∈H(m),∀pj∈·ti∪ti ·:M(Pj)=M(Pj)-AF(pj,ti)〈d1,d2,…,dn〉 +AF(ti,pj)〈d1,d2,…,dn〉集合R(m)为从M可达的所有标识集合,规定M∈R(m)。记集合δ(M,Mk)为从M到达Mk的所有触发序列集合。基于上述触发规则,从初始标识M0出发可以构造系统的可达图。

2.2 服务组合安全建模

证书和访问控制策略决定了系统可以访问的可用服务集。设服务组合的模型为Ψ,则系统证书计算和匹配服务的规则为:

(1) 初始证书CRI的属性为{aI},当前证书CRnow=CRI,还未执行的组件集合Cnot=C,新的证书的属性为{a1},服务组合执行的服务集IS=Φ,转入步骤(2)。

(2) 需要执行的组件Cnext={Ci|Ci∈Cnot∧(∀Cj∈Cnot,RC(Cj,Ci)≠>)},Cnot=Cnot-Cnext,转入步骤(3)。

(3) 若Cnext=Φ,则输出“执行成功”,否则执行步骤(4)-步骤(6)。

(4) 若∀Cj∈C,R(Cj,Ci)∉{+,‖},则执行Ci。Access(CRnow,Ci)≠Φ,并转步骤(6),否则组件Ci匹配服务失败,转步骤(7)。

(5) 若∃Cj∈C,R(Cj,Ci)={+,‖},则执行Cj。若Access(CRnow,Ci)∪Access(CRnow,Cj)≠Φ,则执行步骤(6),否则组件Ci匹配服务失败,转步骤(7)。

学生上课使用手机的外因 统计结果见表6。可得出学生上课使用手机的主要外因来源于教学模式过于陈旧,所占比例约为三成,最为突出;其次,教学方法所占比例为二成以上;教学内容枯燥与课堂管理宽松、缺乏互动交流均占一成以上。大学生主观能动性较强,对于不感兴趣的课通常会找事去做,如上课玩手机,也比较在意教师的教育教学水平。

(6) 匹配服务并更新证书,转入步骤(2)。

(7) 匹配失败时反馈给上一个组件,重新匹配:Cnext=Cnext∪{Cj|Cj∈C,R(Cj,Ci)=>},转步骤(2)。

图1 组件的SCAN模型

图2 基本关系的SCAN模型

(1) 根据可用服务的属性函数RT,构造服务、组件和基本关系的SCAN模型;

(2) 变迁tst和库所pst描述系统的开始操作和开始位置,设置初始标识M0(pst)=CR1,其中初始证书的属性为aI;

(3) 变迁ten和库所pen描述系统的结束操作和结束位置;

(4) 异常处理的建模,∀Ci∈C,若Fork(Ci)=Φ,则引入变迁teh,i将组件匹配失败输出到库所pcn,设置·teh,i=Pri,teh,i·=pcn。

3 访问控制策略实施与分析

3.1 访问控制策略的实施

由于组件调用的服务不同,同一个SCAN模型Ω会到达不同的标识。设M是Ω的一个标识:若ET(m)=Φ,则称M为Ω的终止标识,所有的终止标识记为集合ES(Ω);若M∈ES(Ω)∧M(pen)=Φ,则称S为的正常Ω终止标识,否则称S为异常终止标识。

本文中的终止标识指系统没有变迁可以触发的标识,正常终止标识指完成组合流程的标识,异常终止标识则指系统中某个组件匹配失败时组合流程到达的终止标识。所有正常终止标识记为集合ESn(Ω)。从SCAN模型的执行语义可知,异常终止标识是唯一的。从初始标识到正常终止标识的触发序列中所调用的服务称为可行组合方案。若存在一个可行组合方案,则服务组合需求是可组合的。从SCAN模型的角度,可行组合方案就是从初始标识到某个正常终止标识的服务集调用序列。

随着系统所包括的任务与服务的数目增多,SCAN模型的可达图规模会急剧增大。本文采用启发式搜索算法计算服务组合SCAN模型的可达路径。不过由于路径是在部分可达图中产生的,算法输出结果有可能不是最优的:

Step1 标记M(作用防止重复计算走过的路径,从而减少计算的工作量),转Step2。

Step2 若M(pen)=φ,则输出组合方案,否则转Step3。

Step3 判断S的所有子节点是否都被标记过:是则回退一步(即当前标识等于上一级标识,若已经回退到初始标识,则输出“模型是不可组合的”),并更新组合方案和转Step4;否则转Step4。

Step4 计算当前标识的下一个未被标记标识,若新的标识可能触发某个组件的匹配失败操作,则标记新的标识,并重新计算当前标识的下一个未被标记标识,否则转Step5。

Step5 更新可行组合方案,令当前标识等于新的标识,转Step1。

3.2 访问控制策略的正确性分析

动态访问控制策略的正确性主要表现在:(1)根据当前证书动态为组件选择可以访问的服务运行;(2)若后向组件匹配失败时,前向组件可以及时得到反馈和重新匹配。

CRnow◇Si,j∧(∀δk∈δ(M0,M),Ci·ts,j∉δk) 当且仅当Ci·ts,j∈FT(m)

证明 (因为∀δk∈δ(M0,M),Ci·ts,j∉δk,同时Ci·ps,j·=Ci·ts,j∧M0(Ci·ps,j)=φ,所以M(Ci·ps,j)=φ。

因为CRnow◇Si,j,所以Ci·ts,j的AT函数为真。

因为Ci·ts,jj的优先级为Ci·tfa且·Ci·ts,j={Ci·ps,j,Ci·pinI},所以根据触发条件可知Ci·ts,j∈FT(m),即可用服务Si,j可以被当前证书访问。

因为Ci·ts,j∈FT(m),所以Ci·ts,j的AT函数为真,且CRnow◇Si,j。

因为·Ci·ts,j={Ci·ps,j,Ci·pinI},所以M(Ci·ps,j)=φ。

因为Ci·ps,j·=Ci·ts,j∧M0(Ci·ps,j)=φ,所以∀δk∈δ(M0,M),Ci·ts,j∉δk。

综上所述,CRnow◇Si,j∧(∀δk∈δ(M0,M),Ci·ts,j∉δk) 当且仅当Ci·ts,j∈FT(m)。 得证。

定理1说明若服务Si,j可以标识M下的证书访问且还未被执行过则在M标识下服务可能匹配给组件。

证明 因为∀δk∈δ(M0,M),Ci·ts,j∉δk且Cj·ts·={Cj·pouO,Cj·pc},所以M(Cj·pc)≠Φ。

因为·tcf,i=Pfai,所以tcf,i∈FT(M1)。

因为R(Cj,Ci)=>,∀Ck∈C根据Cj与Ck的关系可分为3种情形:Cj和Ck没有直接关系,R(Cj,Ck)=‖或R(Cj,Ck)=+。

情形一:Cj和Ck没有直接关系,根据顺序关系的SCAN模型可知tcf,i·=Prj。

定理2说明当后向组件匹配失败时,前向组件可以及时得到反馈和重新匹配。

4 应用案例

本文用一个简化的物流服务系统来说明服务组合建模及访问控制策略实施方法,并通过仿真实验分析证书、策略对服务组合可行性的影响。服务系统系统的流程的执行流程如下:物流服务流程首先进行业务需求分析(C1),接着查询相关的货物运输公司(C2),然后根据装载配载优化(C3)的结果进行运输路线优化(C5)和供应链网络优化(C4)。最后,完成支付和发票管理(C6)后实施装运前的审计(C7)。该业务流程可表示为表达式C1>C2>((C3>C5)‖C4)>C6>C7,具体可用服务的提供商等级(PD)和访问条件(TP)如表1所示,其中将服务提供者划分为10级。

表1 可用服务及其属性

续表1

基于上述物流服务的需求,遵照服务组合的SCAN构建步骤,可以得到物流服务的SCAN模型Ω。图3描述了物流服务的SCAN模型Ω的执行过程。

图3 物流服务的SCAN模型

设某个用户等级为5的用户需要执行物流服务,计算模型Ω的状态空间,并分析模型存在下列可行组合方案:{S1,6,S2,2,S3,5,S4,5,S5,1,S6,2,S7,2}{S1,6,S2,2,S3,5,S4,5,S5,1,S6,4,S7,2}{S1,6,S2,2,S3,5,S4,5,S5,1,S6,4,S7,2}{S1,6,S2,2,S3,5,S4,5,S5,3,S6,4,S7,2}。

为了分析本文提出访问控制策略实施的可行性和有效性,下面从不同的方面对系统进行实验。实验的目的是分析用户等级对服务组合访问模型状态空间的影响,从另一角度,也说明了不同策略对服务组合可行性的影响。具体实验步骤如下:

(1) 首先随机生成10个用户(等级分别为1~10)和700个可用服务构成物流服务的基本服务资源,且每个服务都包含一些必需的属性。

(2) 其次将服务资源分为10组,一个物流服务对应一组实验,其中每个物流服务中组件都拥有10个可用服务,依次对每个物流服务做步骤(3)。

(3) 计算物流服务的可行组合方案数(结果如图4所示,其中横坐标为用户等级,纵坐标为可行组合方案数)和采用启发式搜索算法运行结束所经历的步骤(简称查找步骤数,具体结果如图5所示,其中横坐标为用户等级,纵坐标为查找步骤数)。

图4 物流服务的可行组合方案

图5 物流服务组合的查找次数

从实验结果分析可知:当用户等级较低时,容易出现物流服务不可组合的现象。如当用户等级为1~3时,仅仅存在一个物流服务在用户等级为3时是可组合的;随着用户等级的提高,可行组合方案数呈非递减的趋势;查找步骤数与用户等级没有直接关系。

分析其原因发现当查找步骤数主要与服务组合过程中选择可访问的服务相关;当服务是不可组合时,查找步骤数随着用户等级的提高呈非递减趋势,主要是因为在这种情况下,算法会遍历所有可访问的服务。

5 结 语

本文利用Petri网对服务组合访问控制的不同方面进行建模,描述了基于证书的服务组合的动态访问策略,并给出服务组合访问控制的实施和分析方法。本文使用的方法具有如下优势:(1) 使用Petri网这种形式化工具描述服务组合流程,形式化地描述能使服务组合访问控制过程推理简化,也为基于证书的服务组合策略的正确性分析奠定了基础;(2) 基于模型的状态空间提出了对服务组合访问控制进行分析的方法,进而减少分析的复杂度;(3) 阐述了服务的访问控制过程,分析了服务组合的可组合性的粒度,并给出动态服务组合访问控制策略和具体实施。

形式化的软件开发方法具有可靠性强、易理解、模块易控制以及更易于复用等特性。下一步的研究方向包括:面向方面的Petri网建模及其在服务软件设计领域的应用研究,以及相关支撑工具的开发。

[1] Papazoglou M P,Heuvel W J.Service oriented architectures:approaches,technologies and research issues[J].International Journal on Very Large Data Bases,2007,16(3):389-415.

[2] Fernandes D A B,Soares L F B,Gomes J V,et al.Security issues in cloud environments:a survey[J].International Journal of Information Security.2014,13(2):113-170.

[3] Nagarajan A,Varadharajan V,Hitchens M.Trust management and negotiation for attestation in trusted platforms using Web services[C]//Proceedings of the Eighth International Conference on Parallel and Distributed Computing,Applications and Technologies.Washington,USA:IEEE Computer Society,2007:453-460.

[4] Skogsrud H,Motahari N H R,Benatallah B,et al.Modeling trust negotiation for Web services[J].IEEE Internet Computer.2009,42(2):54-61.

[5] Skogsrud H,Benatallah B,Casati F.Model-driven trust negotiation for Web services[J].IEEE Internet Computing.2011,7(6):45-52.

[6] Manikrao U S,Prabhakar T V.Dynamic selection of Web services with recommendation system[C]//Proceedings of the International Conference on Next Generation Web Services Practices 2005.New York,NY,USA:ACM,2005:117.

[7] 李研,周明辉,李瑞超,等.一种考虑QoS 数据可信性的服务选择方法[J].软件学报,2008,19(10):2620-2627.

[8] Girault C,Valk R.Petri Nets for System Engineering:A Guide to Modeling,Verification,and Applications[M].Berlin:Springer-Verlag,2003.

[9] 范贵生,虞慧群,陈丽琼,等.基于Petri网的服务组合故障诊断与处理[J].软件学报,2010,21(2):231-247.

[10] Liu Y,Ngu A H H,Zeng L.QoS computation and policing in dynamic Web service selection[C]//Proceedings of the 13th International World Wide Web Conference on Alternate Track Papers & Posters.New York,USA:ACM,2005,66-73.

A DYNAMIC ACCESS CONTROL STRATEGY FOR SERVICE COMPOSITION BASED ON CERTIFICATE

Su Xue1Song Guoxin2Zhang Xiaoyun3

1(WuhanRailwayVocationalCollogeofTechnology,Wuhan430205,Hubei,China)2(DepartmentofComputerScience,EastChinaUniveristyofScienceandTechnology,Shanghai200237,China)3(WuhanInstituteofPostsandTelecommunicationSciences,Wuhan430074,Hubei,China)

The dynamics of Web services brings new security threats to application systems.However,the traditional security models are inadequate to guarantee security of dynamic service composition.Thus,a dynamic access control strategy for service composition based on certificate is proposed.Petri nets are used to define and model the different components of service composition precisely.What’s more,an access control strategy for service composition is proposed,which can dynamically select available services to meet the actual requirements.Theories of Petri nets are used to prove correctness of the access control strategy,and the enforcement algorithm is given.A case study shows feasibility and efficiency of the proposed method.

Service Composition Petri Net Certificate Security Access control

2015-10-10。国家科技重大专项项目(2010ZX03004-003-03)。苏雪,副教授,主研领域:软件工程,服务计算。宋国新,教授。张小云,高工。

TP393.4

A

10.3969/j.issn.1000-386x.2017.01.058

猜你喜欢
访问控制控制策略组件
一种跨策略域的林业资源访问控制模型设计
计及SOC恢复的互联电网火储联合AGC控制策略研究
无人机智能巡检在光伏电站组件诊断中的应用
基于递归模糊神经网络的风电平滑控制策略
新型碎边剪刀盘组件
U盾外壳组件注塑模具设计
现代企业会计的内部控制策略探讨
桥梁组件搭配分析
云计算访问控制技术研究综述
ONVIF的全新主张:一致性及最访问控制的Profile A