文章快速检索     高级检索
  浙江大学学报(工学版)  2017, Vol. 51 Issue (12): 2332-2340  DOI:10.3785/j.issn.1008-973X.2017.12.004
0

引用本文 [复制中英文]

刘敖迪, 王娜, 刘明聪. 基于策略属性协商的云间组合服务访问控制机制[J]. 浙江大学学报(工学版), 2017, 51(12): 2332-2340.
dx.doi.org/10.3785/j.issn.1008-973X.2017.12.004
[复制中文]
LIU Ao-di, WANG Na, LIU Ming-cong. Access control mechanism for cloud composite service with policy attribute negotiation[J]. Journal of Zhejiang University(Engineering Science), 2017, 51(12): 2332-2340.
dx.doi.org/10.3785/j.issn.1008-973X.2017.12.004
[复制英文]

基金项目

国家“863”高技术研究发展计划资助项目(2015AA011705);国家重点研发计划资助项目(2016YFB0501901,2015AA016006),国家自然科学基金资助项目(61502531);河南省自然科学基金资助项目(162300410334)

作者简介

作者简介:刘敖迪(1992-), 男, 博士生, 从事云计算安全、网络信息安全研究.
orcid.org/0000-0002-9644-3812.
Email: ladyexue@163.com

通信联系人

王娜, 女, 副教授.
orcid.org/0000-0003-2916-4087.
Email: twftina_w@126.com

文章历史

收稿日期:2016-10-13
基于策略属性协商的云间组合服务访问控制机制
刘敖迪, 王娜, 刘明聪     
信息工程大学, 数学工程与先进计算国家重点实验室, 河南 郑州 450001
摘要: 提出一种基于策略属性协商的云间组合服务访问控制机制.使用属性来表达服务组件之间的授权关系,能够满足云环境下动态、弹性、点对点的交互特点,该机制使用策略属性协商来实现访问控制的交互,减少了服务内安全信息的披露,有效地保护了用户隐私,实现了云组合服务内不同服务组件的策略对外一致性的访问控制表现.设计一种基于历史信息的策略协商算法,通过同步高频协商策略、存储历史协商信息、计算属性披露开销,来优化协商流程,提高交互效率.仿真实验验证了该机制的可行性及其运行效率.
关键词: 访问控制    策略协商    云服务    服务组合    基于属性的访问控制(ABAC)    
Access control mechanism for cloud composite service with policy attribute negotiation
LIU Ao-di , WANG Na , LIU Ming-cong     
Information Engineering University, State Key Laboratory of Mathematical Engineering and Advanced Computing, Zhengzhou 450001, China
Abstract: APoAN (access control mechanism based on policy attribute negotiation) was proposed for cloud composite servic. In APoAN, an authorization relation between service components was described at the attribute level that can meet the dynamic, flexible, point-to-point interaction characterisics in cloud environment. The mechanism used policy attribute negotiation to achieve interactive process of access control, which reduced the disclosure of security information within the service and effectively protected the user's privacy. The mechanism can ensure the consistent presentation of different service components policies in global composite service. A policy negotiation algorithm was designed based on historical information. The negotiation process was optimized and the efficiency of negotiation was improved by synchronizing high frequency negotiation policy, storing history information of negotiation and calculating the cost of attributes disclosure. Finally, the simulation results show the feasibility and efficiency of the proposed mechanism.
Key words: access control    policy negotiation    cloud service    service composition    attribute based access control (ABAC)    

作为云计算[1]的主要服务形式, 云服务[2]得到了非常广泛的应用.单一的云服务只能提供有限的功能, 通过云组合服务[3]实现不同云服务功能的集成, 能够灵活、有效地满足不同的应用需求.但是, 由此也带来了很多新的安全问题.通常情况下, 云服务组件来源于不同的安全域, 云间组合服务却需要对外提供一致的访问控制, 且服务组件间的访问控制要满足动态、弹性和点对点的云服务交互特点, 还要尽量减少服务组件内敏感策略信息的披露, 保护隐私信息, 以降低安全风险.这些新需求对实现云间组合服务访问控制机制提出了新的挑战.

目前云间访问控制问题主要采用角色映射[4-6]的方法来解决.该方法的基本原理是基于角色的访问控制(role-based policies access control, RBAC)模型, 利用角色与权限的对应关系, 通过在不同云间角色的映射, 实现对跨云资源的访问与调用, 但是该方法并不能解决云间组合服务的访问控制问题.

针对Web组合服务的访问控制问题, Satoh等[7]在划分组合服务策略安全的基础上, 提出了安全策略的组合规则, 从自上到下与自下到上2个层次实现了全局访问控制策略的一致性表现, 前提是不同服务之间需要具有一致的策略逻辑表达形式.Boella等[8-9]基于知识分享的博弈理论, 针对不同服务组件agent间的授权策略认知进行博弈计算, 根据博弈计算得到的结果来确定不同服务中策略执行的优先级来实现访问控制策略的集成.林莉等[10-12]提出采用策略合成代数实现策略的合成, 通过合成策略实现全局访问控制, 但在合成过程中, 需要披露所有的访问控制策略.Chou等[13]通过将访问控制策略嵌入到服务组合算法中, 实现了在保障服务可用性的前提下, 尽可能地保障系统安全, 但在每次服务组合关系调整后都要相应进行访问控制结构的调整, 使得成本提高、灵活性受限.

云服务不等同于Web服务[14].相比于Web服务, 云服务分别包括IaaS、PaaS和SaaS多个层次的服务, 具有更加复杂的用户群体、按需灵活的付费模式、数量巨大的服务规模以及弹性动态的应用方式.而且, 云间组合服务跨越了多个安全域, 需要对各个安全域的敏感策略信息进行隐私保护.因此, 相比Web组合服务, 云间组合服务的访问控制机制需要在灵活性和安全性上满足更高的要求.

鉴于信任协商机制[15-19]可有效解决基于隐私保护的跨域资源访问控制问题, 本文引入信任协商的思想, 提出一种基于策略属性协商的云间组合服务访问控制机制(access control mechanism based on policy attribute negotiation, APoAN).该机制在将多种组合关系统一抽象表达成时序控制关系的基础上, 按照服务组件的调用时序依次开展点对点的策略属性协商, 并通过在服务组件间按序传递上轮协商结果, 来维持信任关系, 实现组合服务对外一致的访问控制.本文还提出一种基于历史信息的点到点的协商算法, 有效提高了协商效率, 满足云间组合服务访问控制的需要.协商过程去中心化, 服务组件间点对点的协商能够适应云环境下组合服务动态、灵活的特点, 且协商过程逐步按需披露属性避免了策略隐私不必要的暴露.

1 术语与符号定义

本文研究采用基于属性的访问控制(attribute based access control, ABAC)模型[20-21].该模型可满足云服务动态、细粒度的访问控制需求, 且兼容其他访问控制模型(如:DAC、MAC、RBAC等).

定义1  属性元:实体属性的基本单元, 记为attr.根据是否向外披露, 可分为公开属性元、加锁属性元、锁死属性元.其中公开属性元为没有限制、可直接公开披露的属性, 记为attr_t;加锁属性元为需要进行属性协商, 根据协商策略来进行披露的属性, 记为attr_l;锁死属性元为内部不能对外披露的隐私属性, 记为attr_e.分别用ATTR_T、ATTR_L、ATTR_E表示attr_t、attr_l、attr_e的集合.

定义2  属性集:某实体属性的集合, 记为

ATTR_SET={attr|ATTR_T∪ATTR_L∪ATTR_E}.

定义3  访问请求:用户U对资源R的访问请求, 记为

requestUR={ATTR_SETU, actionR}.

其中, ATTR_ SETU表示请求用户U的属性集, actionR表示对资源R的操作.

定义4  访问控制策略:资源访问控制规则的集合, 体现了一种授权行为, 规定了访问受保护资源所要具有的属性集合, 记为

POLICY:{R, actionR}←Θ{ATTR_ SETU}.

其中, Θ{ATTR_ SETU}表示由属性集合ATTR_ SETU中某些属性元通过合取、析取等逻辑关系构成的逻辑表达式.当用户U属性满足逻辑表达式Θ{ATTR_SETU}时, 即当Θ{ATTR_SETU}为真时, 能够对资源R进行actionR操作.

定义5  协商策略:规定了属性披露的条件, 是对策略属性协商过程进行控制的规则, 记为

NEO_POLICY: attr_l←Θ{ATTR_SET}.

Θ{ATTR_SET}值为真时, 对属性元attr_l进行披露.

协商策略是进行协商交互的核心, 决定了协商双方能够披露的属性集合.协商策略要满足如下要求:

1) 协商策略必须是完备的, 即基于协商原则, 理论上能够成功的协商实际上也都能够协商成功;

2) 协商策略能够中止无法达成一致的协商;

3) 协商策略要尽量减少披露与协商无关的属性信息;

4) 协商策略要具有可行性, 即协商过程的通信、计算开销在合理的范围内.

定义6  解锁操作:根据相关的协商策略对加锁属性元进行披露的操作, 记为UNLOCK(attr_lJ, NEO_POLICY|R), 表示实体I对实体J关于资源R的请求, 当根据协商策略进行协商推理判断其符合协商策略NEO_POLICY时, 对实体J的加锁属性attr_lJ进行解锁处理, 解锁后该属性可向协商方I进行披露.

2 云间组合服务策略属性协商原理 2.1 服务组合关系

服务组合主要存在4种组合关系, 如图 1所示.服务组件是按照组合关系进行顺序执行的.

图 1 云间服务组合关系 Fig. 1 Relationship of cross-cloud service composition

1) 时序控制关系:表示组合服务内部各组件服务必须按照时序关系顺序调用执行, 如图 1(a)所示.

2) 并发控制关系:表示组合服务内部各组件服务能够并行、同步执行, 相互之间不存在直接的依赖关系, 如图 1(b)所示.

3) 选择控制关系:根据组合服务的选择约束条件, 执行相对应的组件服务.若所有条件都未满足, 则执行默认的组件服务, 如图 1(c)所示.

4) 循环控制关系:当循环执行约束条件满足时执行循环体内部包含的各组件服务;当循环执行条件不满足时, 执行相对应的组件服务, 如图 1(d)所示.

对于选择控制关系与循环控制关系, 可以把约束条件当作一类服务组件, 称为约束服务组件;对于并发控制关系, 可以将并发服务组件当作一类服务组件, 称为并发服务组件.这样可以将4种组合关系都抽象成时序控制关系, 称为抽象时序控制关系.组合服务按照服务处理流程, 时序调用不同的服务组件.按时序关系分别称依次执行的2个服务组件为前序服务组件和后序服务组件.

2.2 策略协商原理

假设某云组合服务按照抽象时序控制关系可表示成{S1, S2, …, Sn}, 所提出的APoAN机制策略协商原理如下:

1) 协商开始.

当用户S0调用组合服务或组合服务内部服务组件Si(1≤in)发起对资源R的访问请求requestS0R或requestSiR时, 开始协商.其中, 发起资源请求的用户So或组件Si统称为协商发起方, 表示为St(0≤tn).

2) 协商过程.

若后序服务组件St+1拥有对资源R的访问控制策略, 则协商发起方St与服务组件St+1之间开始点对点的策略属性协商, 若协商成功, 则生成本轮协商结果:

NR1={subATTR_SETt, subATTR_SETt+1},

其中, subATTR_SETt和subATTR_SETt+1分别表示StSt+1在本轮协商中涉及到的属性集合, 包括公开属性和协商过程中解锁的属性.

若后序服务组件Sj+1(tkn)拥有对资源R的访问控制策略, 则前序服务组件Sj携带上轮协商结果NRj-t与后序服务组件Sj+1开始点对点的策略协商, 其中,

NRj-t={subATTR_SETt, subATTR_SETt+1, …, subATTR_SETj}.

后序服务组件Sj+1类型分为以下3种情况.

① 后序服务组件Sj+1是正常服务组件, 则将上轮协商结果NRj-t作为前序服务组件Sj的属性, 在SjSj+1之间开始点对点的策略属性协商, 若协商成功, 则生成本轮协商结果:

NRj-t+1={subATTR_SETt, subATTR_SETt+1, …, subATTR_SETj, subATTR_SETj+1};

②后序服务组件Sj+1是约束服务组件, 则将上轮协商结果NRj-t与约束条件进行约束计算, 由约束条件对后序的服务组件进行选择, 生成本轮协商结果:

NRj-t+1={subATTR_SETt, subATTR_SETt+1, …, subATTR_SETj, subATTR_SETj+1},

其中, subATTR_SETj+1为空, NRj-t+1=NRj-t

③后序服务组件Sj+1是并行服务组件, 则将上轮协商结果NRj-t分别与并行的服务组件进行协商, 当协商都为成功时, 本轮的协商结果为成功, 生成本轮协商结果:

NRj-t+1={subATTR_SETt, subATTR_SETt+1, …, subATTR_SETj, subATTR_SETj+1},

其中, subATTR_SETj+1包括公开属性和与所有并行服务组件协商过程中解锁的属性;

若后序服务组件Sk+1(tkn)不拥有对资源R的访问控制策略, 则前序服务组件Sk与后序服务组件Sk+1不开展协商, 但依然生成本轮协商结果NRk-t+1, 且NRk-t+1=NRk-t.若k=t, 则NR1={subATTR_SETt}.

本轮协商完成后将本轮协商结果向后序服务组件传递, 重复协商过程, 直至满足协商结束的条件.

3) 协商结束.

若本轮协商失败, 则终止协商, 拒绝协商发起方St对资源R的访问;若后序服务组件是资源R的最终拥有者, 且本轮协商成功, 则完成协商过程, 允许协商发起方St对资源R的访问.

APoAN机制策略协商流程如图 2所示.

图 2 APoAN机制策略协商流程 Fig. 2 Policy negotiation process in ApoAN mechanism
3 基于历史信息的策略协商方法

在APoAN的策略协商过程中, 虽然前序服务组件会携带上轮协商结果开始与后序服务组件的协商过程, 但是通过将该协商结果视为前序服务组件的属性, 仍然可以采用点到点的策略协商方法.要求该协商方法必须高效, 以满足动态云间组合服务的实时访问控制要求.基于此, 本文提出一种基于历史信息的高效的点到点策略协商方法.

3.1 协商方法

目前已有的协商机制只从协商方法上开展研究, 忽略了历史信息的使用, 历史信息不仅包含了历史协商结果, 也反映了属性之间的相关性.在协商过程中使用历史信息能够有效地提升协商效率.本文的整个协商过程从3个角度使用历史信息.

1) 协商策略的披露模式.

协商策略的披露模式一般包括完全披露和交互披露.其中完全披露是指在协商开始之前, 双方将各自的全部协商策略暴露给对方, 这样模式的优点是, 一次交互即可完成协商过程, 协商效率最高, 缺点是需要暴露协商双方全部的协商策略, 容易产生安全威胁;交互披露, 即协商双方在每一次协商过程中, 根据协商方已被解锁属性及己方的协商策略推导出能够被安全解锁的属性, 优点是无需对己方的协商策略进行披露, 但是交互所占通信开销过大.

采用部分披露的模式.即, 计算之前协商过程中每个协商策略的使用频率, 在本轮协商开始之前, 即预协商阶段, 将高频策略提前披露给对方.

2) 属性协商披露路径的选择.

协商策略可以表示成析取范式表达的形式, 当其中一个合取子句结果为真, 协商策略表达式即为真.一个子句就可以当作是一个协商披露路径, 因此, 可能存在多个协商路径需要进行选择.通过预估属性能够被披露的可能性, 并且结合属性披露开销的权重, 对目标资源的访问控制策略的各个属性披露路径进行权重值的计算, 优先选择权重值低的路径进行协商, 减少隐私暴露开销的同时, 能够有效提高协商的成功率.

3) 避免已成功协商属性的重复协商.

将每个成功协商的属性以属性标签的形式放入服务组件的历史协商记录中, 标签中存放该属性成功协商的有效期, 在有效期内的交互过程中, 无需对该属性重复协商.

基于上述讨论, 所提出的基于历史信息的策略协商方法分为预协商阶段与正式协商阶段.在预协商阶段中, 根据协商的历史记录将交互频率较高的协商策略同步给协商方, 协商双方结合己方协商策略和对方的公开属性进行预协商推理, 得出可额外解锁的属性.在正式协商阶段, 通过交互披露的模式对其他未解锁属性进行协商, 并且采用逐步正向协商来披露公开属性的方式, 不同于一次性全部对公开属性信息进行披露, 而是根据之前的历史协商信息, 按着属性披露的权重值分步、分阶段进行属性披露, 以此减少无关属性披露的同时降低了属性披露开销成本.协商过程与协商策略关系如图 3所示.

图 3 协商过程与协商策略关系 Fig. 3 Relationship between negotiation stage and policies
3.2 属性协商披露路径选择方法

在双方服务主体进行属性协商过程中, 暴露的属性协商序列, 能够用多叉树的形式进行表示, 称为属性协商树, 属性协商树由属性节点与析取节点组成.在属性协商树中不同分支即代表了不同的属性披露路径.如图 4所示抽象描绘了表 1中的策略属性协商过程, 圆形节点表示实体的属性节点, 方形节点表示析取节点(T代表默认的公开属性、L代表锁死的永远不会被披露的内部属性).

图 4 基于访问控制策略和协商策略的属性协商树 Fig. 4 Attribute negotiation tree based on access control policy and negotiation policy
表 1 协商策略集 Table 1 Negotiation policy set

通过基于历史信息对协商属性的披露开销权重进行评估, 来选取属性协商披露路径.能够实现在协商过程中, 减少协商的次数和属性信息暴露的开销, 提高协商的有效性与安全性.

属性披露开销权重通过披露该属性的协商策略进行计算, 协商策略都能够表示成析取范式的形式, 能够被分解成多个合取表达式, 只要能够满足一个合取表达式, 即满足策略要求, 对属性进行披露.结合每个属性披露所需属性的权重, 得到

$ W\left( n \right) = c\sum\limits_{t \in {B_n}} {\frac{1}{{{N_t}}}} \sum\limits_{m \in t} {W\left( m \right) + \left( {1 - c} \right)I\left( n \right)} . $ (1)

其中, W(n)代表披露属性n的隐私开销, Bn为属性n协商策略分解得到的合取表达式集, t为一个具体的合取表达式中涉及的属性集, mt中的具体属性元, Ntt的数量, c为调整参数(0<c<1.0), I(n)为属性n的初始权重.

当协商过程中, 遇到多个属性协商披露路径需要进行选择时, 假设当前协商路径的析取表达式集合为Sn, EOLD(m)为属性m过去历史协商成功的期望, ENEW表示上次属性协商是否成功, 即成功为1,失败为-1, EATTR(m)表示属性m被成功协商的期望, W(m)为属性m的披露开销, αβ为调整参数, EROUTE为所要选择的协商入口, 计算公式如下:

$ {E_{{\rm{ATTR}}}}\left( m \right) = \left( {1 - \alpha } \right){E_{{\rm{OLD}}}}\left( m \right) + \alpha {E_{{\rm{NEW}}}}, $ (2)
$ {E_{{\rm{ROUTE}}}} = \mathop {{\rm{max}}}\limits_{t \in {S_n}} \left\{ {\sum\limits_{m \in t} {\left( {{E_{{\rm{ATTR}}}} - \beta W\left( m \right)} \right)} } \right\}. $ (3)

式中:0<α<1.0, α越趋近于0, 则每次对协商入口进行选择时受本次协商的影响越小, 受样本影响越大, 更新慢;α越趋近于1.0, 则每次对协商入口进行选择时受本次协商的影响越大, 受样本影响越小, 更新快.

在协商过程中, 每当遇到路径选择问题时, 都通过这种方式进行计算, 选取EROUTE作为协商路径, 进行协商交互.

3.3 策略属性协商算法

协商是通过协商双方不断进行属性披露来实现, 实际的协商过程可以抽象为如图 4所示的属性协商树.但是, 从协商者的角度看, 协商双方都无法获取完整的属性协商树, 这样也就实现了对安全隐私信息的保护.基于历史信息的策略属性协商算法, 根据协商历史计算协商路径入口, 通过维护历史上已成功协商的属性集, 减少协商次数.最后, 通过协商交互披露属性信息, 进行策略属性协商, 结合协商策略与访问控制策略, 实现对目标资源的访问控制.本文所提出的基于历史信息的策略属性协商算法伪代码如下.

Input: ResourceRequest, NegotiationPolicySet, PolicySet

Output: negotiation result

Msg = Receive_msg();

ExpPolSet = GetPolicyExp(); //得到访问策略属性入口

Switch(Mst.type)

case NegotiationInfo:

//判断是否为已协商的属性、是否为可披露的T属性

if(NegNodeSet out of HistoryPulishNode and AttNode is null)

send NegotiationSuccessInfo

//判断是否存在锁死属性

else if(AttNodeSet is null && NegNodeSet include lock_node)

send ChangeRouteInfo

else

{

Reduce(AttNodeT, AttNodeSet)

Add(NewUnlockSet, AttNodeT)

ExpNegSet = GetNegotiationExp()//得到协商策略属性入口

ExpBetSet = GetBetterRoute()//综合协商期望与隐私权重得到协商策略属性入口

Send (NewUnlockSet, ExpBetSet)

}

case ChangeRouteInfo://变更协商路径

ExpBetSet = GetOtherBetterRoute()

Send (NegotiationInfo, ExpBetSet)

case NegotiationSuccessInfo:

negotiation success

negotiation end

default:

negotiation failure

negotiation end

3.4 协商交互过程实例

实例策略集如表 1所示, 图 5显示了表 1中对资源的协商请求过程.由图 4可知, 存在多条能够成功协商的路径.从节点R开始进行遍历交互, 能够实现对属性披露的协商, 但由于先验的属性节点可能是无法解锁的属性, 披露开销为∞;因此, 需要进行算法回溯, 选取其他路径进行协商, 可能产生大量没有必要的协商开支, 浪费系统的计算资源, 延长响应时延.通过基于历史信息的协商机制, 能够在有效提高协商交互的同时, 减少属性隐私的披露成本.在多方协商过程中, 当服务I与服务J协商过程后, 其协商过程中被披露的属性, 可以直接用于与服务K进行的协商, 无需重复进行, 这也是维持信任链传递的一部分.

图 5 服务组件间的协商交互过程 Fig. 5 Negotiation interactive process among servicecomponents

以表 2中的协商策略为例协商交互图如图 5所示.R←(J1J2)∨(J3J5)∨J6可以分解成J1J2J3J5J6三条属性协商披露路径.由表 1策略集可得初次隐私开销W(J1)=∞、W(J2)=1、W(J3)=2、W(J5)=0、W(J6)=2、I=3、α=0.3、β=0.06, 初次交互期望EATTR=0.根据4.2节方法计算得出J3J5为优先协商披露路径:

$ W\left( {{J_1} \wedge {J_2}} \right) = \frac{1}{2} \times \frac{1}{2}\left( {\infty + 1} \right) + \left( {1 - \frac{1}{2}} \right) \times 3 = \infty, $ (4)
$ W\left( {{J_3} \wedge {J_5}} \right) = \frac{1}{2} \times \frac{1}{2}\left( {2 + 0} \right) + \left( {1 - \frac{1}{2}{\rm{ }}} \right) \times 3 = 2, $ (5)
$ W\left( {{J_6}} \right) = \frac{1}{2} \times 2 + \left( {1 - \frac{1}{2}} \right) \times 3 = 2.5, $ (6)
$ {E_{{\rm{ROUTE}}}} = {J_3} \wedge {J_5}. $ (7)

图 5(a)与路径J3J5相对应, 表示了初次协商的流程.图 5(b)描述了服务I与服务J协商成功后与后续服务K协商交互的流程.

3.5 安全性分析

协商策略与访问控制策略是保障策略属性协商安全性的核心, 策略通过属性的析取与合取关系式来进行表达, 通过属性的交互披露实现了访问控制的协商访问, 协商过程能够抽象地表示成如图 4属性协商树的形式, 即在属性协商树中进行搜索直至找到一条完整的成功协商路径时协商成功, 协商者能够对相应资源进行操作.当协商者通过协商策略得到的属性无法满足访问控制策略对属性的要求时, 协商中止, 协商方就无法对相应的资源进行操作.因此, APoAN机制能够有效地实现对组合服务内资源的保护.

4 实验与分析

为了验证基于策略属性协商的访问控制机制的可行性和有效性, 本文基于XACML提供的标准策略一致性测试包中的属性集和策略集、在TrustBuilder平台扩展所实现的平台上构建仿真实验环境, 模拟了云组合服务的策略属性协商交互过程, 设计实现了3个不同的实验, 用来分析本文所提方法在支持面向云间服务组合访问控制方面的可行性和协商历史规模对协商效率影响的效果.由于本文所提出的云间服务组合的访问控制方法的目的是通过策略的属性协商, 使得云间组合服务能够实现正常的服务功能、完成各服务组件间资源信息的交互.因此在具体的实验过程中, 通过属性协商时延来判断方法的可行性与有效性.同时, 通过对比传统的正向协商、逆向协商以及本文所研究的基于历史信息修正的协商算法的协商时延, 判断在保证隐私属性不对外披露的前提下, 本文方法能否实现高效的策略协商.另外, 通过实验的方式, 测试调整参数αβ对协商效率的影响.

4.1 实验1:不同协商方式成功率及效率的对比

选取传统的正向协商a、逆向协商b、策略合成代数d以及本文基于历史信息c的4种协商方案, 分别计算4种协商方案的成功率以及各自协商所需时间.为证明实验的可靠性和合理性, 选取5组包含不同数量非公开属性的属性集, 标号n分别为1~5, 属性集的规模分别为100、200、500、1000、2 000, 采用相同的属性协商策略集分别进行200次协商实验, 记录平均的协商成功率r和协商时间开销t.最终的实验结果如图 67所示.

图 6 不同策略属性集协商成功率对比 Fig. 6 Comparison of success rate for different policy attribute sets
图 7 不同策略属性集时间开销对比 Fig. 7 Comparison of time cost for different policyattribute sets

图 67可知, 正向、逆向、策略合成代数、基于历史信息4种协商方案, 在低属性规模下, 都具有较高的协商成功率及较低的时间开销, 但随着属性规模的增长, 协商成功率有所下降, 正向协商和策略合成代数方案成功率下降最为明显, 基于历史的协商方案在低属性规模情况下, 协商成功率略低于正向协商与逆向协商、高于策略合成代数的协商成功率, 但随着属性规模的增长, 能够达到与正向协商相近似的成功率.由于逆向协商需要披露协商方全部的属性信息, 通过基于历史的协商方法, 在保证协商成功率的同时, 提高了组合服务对隐私安全信息的保护能力.从时间开销上看, 基于历史的协商与逆向协商时间开销相近, 小于正向协商的时间开销.

4.2 实验2:历史信息规模对协商的影响

本实验主要验证协商历史信息规模m对基于历史信息的协商方案协商效率的影响, 测试不同协商历史规模下协商完成所用时间开销t.

图 8可以看到, 随着协商历史规模的提高, 协商的时延开销显著下降, 当达到1 500次左右的协商规模后, 时延开销趋于稳定.这说明协商的时延开销不会随着协商历史规模的不断提高而一直下降, 因为对于一个特定的协商过程, 协商历史能够做到的仅仅是优化协商过程, 减少协商的轮次, 不会对协商成败产生影响, 当协商历史达到一定规模时, 即使该协商已趋于最优, 协商过程也需要必备的最少的时延开销, 这与图 8的实验结果相符合.

图 8 协商历史规模对协商时间开销的影响 Fig. 8 Influence of negotiation historical scale on time cost
4.3 实验3:历史信息规模对协商的影响

本实验用于验证调整参数αβ对协商效率的影响, 在参数范围内, 通过改变参数大小, 测试协商完成所用时间开销t.

图 9可知, 参数αβ对协商效率具有显著影响, 其中参数α用于修正历史信息的更新频率, 参数β用于修正属性披露权重对协商路径选择的影响.当α>0.3, β<0.06时, 协商所需时延最大, 证明历史信息对协商时延具有较大影响, 随着α的减小, 在α=0.3时协商时延达到最小点, 但随着β的增加, 协商时延也在增加, 当β<0.06后, 协商时延趋于稳定, β越大, 隐私权重所占比例越高, 隐私属性保护的效果也就越好.因此在β=0.06, 能够直到较好的影响, α=0.3、β=0.06为参数设定的最优值.

图 9 调整参数αβ对协商时延的影响 Fig. 9 Influence of adjustment parameters α and β for negotiation time cost

通过上述实验结果可知,基于历史信息的策略属性协商方法能够适用于云间组合服务的应用场景, 具有可行性和有效性, 但面临在没有足够历史协商数据的情况下如何保证较高的协商效率的问题, 这将在后续的研究中予以解决.

5 结语

本文提出了一种新的基于策略属性协商的访问控制机制APoAN, 确定了协商的目标以及一般流程, 实现了对不同云内服务策略属性信息安全的保护, 使得云组合服务能够实现对外一致的访问控制.通过基于历史信息的协商算法优化了协商过程, 提高了协商效率, 能够满足云环境对访问控制动态、灵活的需求, 为云间组合服务的安全提供保护.由于本研究主要针对跨云组合服务的访问控制情景, 下一步将对云内组合服务的访问控制机制进行研究; 同时, 整合云间与云内组合服务的访问控制机制, 提出一体化的解决方案也有待研究.

参考文献
[1] ARMBRUST M, FOX A, GRIFFITH R, et al. A view of cloud computing[J]. Communications of the ACM, 2010, 53(4): 50–58. DOI:10.1145/1721654
[2] DIKAIAKOS M D, KATSAROS D, MEHRA P, et al. Cloud computing:distributed internet computing for IT and scientific research[J]. IEEE Internet Computing, 2009, 13(5): 10–13. DOI:10.1109/MIC.2009.103
[3] JULA A, SUNDARARAJAN E, OTHMAN Z. Cloud computing service composition:a systematic literature review[J]. Expert Systems with Applications, 2014, 41(8): 3809–3824. DOI:10.1016/j.eswa.2013.12.017
[4] PAN L, LIU N, ZI X. Visualization framework forinter-domain access control policy integration[J]. Wireless Communication Over Zigbee for Automotive Inclination Measurement China Communications, 2013, 10(3): 67–75.
[5] ALMUTAIRI A, SARFRAZ M I, BASALAMAH S, et al. A distributed access control architecture for cloud computing[J]. IEEE Software, 2012, 29(2): 36–44. DOI:10.1109/MS.2011.153
[6] LI B, TIAN M, ZHANG Y, et al. Strategy of domain and cross-domain access control based on trust in cloud computing environment[J]. Lecture Notes in Electrical Engineering, 2014, 277: 791–798. DOI:10.1007/978-3-319-01766-2
[7] SATOH F, TOKUDA T. Security policy composition for composite web services[J]. IEEE Transactions on Services Computing, 2010, 4(4): 314–327.
[8] BOELLA G, VAN D T L. Security policies for sharing knowledge in virtual communities[J]. IEEE Transactions on Systems, Man and Cybernetics, Part A:Systems and Humans, 2006, 36(3): 439–450. DOI:10.1109/TSMCA.2006.871793
[9] BOELLA G, VAN D T L. A game theoretic approach to contracts in multiagent systems[J]. IEEE Transactions on Systems Man and Cybernetics, Part C:Applications and Reviews, 2015, 36(1): 68–79.
[10] 林莉, 怀进鹏, 李先贤. 基于属性的访问控制策略合成代数[J]. 软件学报, 2009, 20(2): 403–414.
LIN Li, HUAI Jin-ping, LI Xian-xian. Attribute-based access control policies composition algebra[J]. Journal of Software, 2009, 20(2): 403–414.
[11] SRIVATSA M, IYENGAR A, MIKALSEN T, et al. An access control system for web service compositions[C]//IEEE International Conference on Web Services. Salt Lake City:IEEE, 2007:1-8. http://ieeexplore.ieee.org/xpls/icp.jsp?arnumber=4279576
[12] BRUNS G, DANTAS D S, HUTH M. A simple and expressive semantic framework for policy composition in access control[C]//ACM Workshop on Formal Methods in Security Engineering. New York:ACM, 2007:12-21. http://dl.acm.org/citation.cfm?id=1314439
[13] CHOU C, JHU J Y. Access control policy embedded composition algorithm for web services[C]//International Conference on Advanced Information Management and Service. Seoul:IEEE, 2010:54-59. http://ieeexplore.ieee.org/document/5713420/
[14] SUN L, DONG H, HUSSAIN F, et al. Cloud service selection:state-of-the-art and future research directions[J]. Journal of Network and Computer Applications, 2014, 45(10): 134–150.
[15] CHEN H, CHEN Q, WANG C. A CPN-based trust negotiation model on service level agreement in cloud environment[J]. International Journal of Grid and Distributed Computing, 2015, 8(2): 247–258. DOI:10.14257/ijgdc
[16] WANG C, CHEN Q, CHEN H, et al. An SLA-oriented multiparty trust negotiation model based on HCPN in cloud environment[J]. International Journal of u-and e-Service, Science and Technology, 2015, 8(7): 321–336. DOI:10.14257/ijunesst
[17] 马小信, 曾国荪. 一种基于模糊策略的自动信任协商方案[J]. 计算机科学, 2015, 42(12): 220–223.
MA Xiao-xin, ZENG Guo-sun. Scheme of automated trust negotiation based on fuzzy logic[J]. Computer Science, 2015, 42(12): 220–223.
[18] LU H, LIU B. DFANS:A highly efficient strategy for automated trust negotiation[J]. Computers andSecurity, 2009, 28(7): 557–565. DOI:10.1016/j.cose.2009.03.004
[19] SQUICCIARINI A, BERINO E, FERRARI E, et al. PP-trust-X:a system for privacy preserving trust negotiations[J]. ACM Transactions on Information andSystem Security, 2007, 10(3): 12. DOI:10.1145/1266977
[20] JIN X, KRISHNAN R, SANDHU R. An unifiedattribute-based access control model covering DAC, MAC and RBAC[C]//IFIP Annual Conference onData and Applications Security and Privacy. Paris:Springer, 2012:41-55. https://link.springer.com/chapter/10.1007%2F978-3-642-31540-4_4
[21] 王小明, 付红, 张立臣. 基于属性的访问控制研究进展[J]. 电子学报, 2010, 38(7): 1660–1667.
WANG Xiao-ming, FU Hong, ZHANG Li-cen. Research progress on attribute-based access control[J]. Acta Electronica Sinica, 2010, 38(7): 1660–1667.