APP下载

基于信任和属性的云服务访问控制模型研究

2019-07-12马丁义郭银章

太原科技大学学报 2019年4期
关键词:计算环境信任度租户

马丁义,郭银章

(太原科技大学 计算机科学与技术学院,太原 030024)

云计算[1]是一种可以对共享可配置计算资源进行方便、按需网络访问的模式,其本质是将云资源提供者所提供的软硬件资源虚拟化为资源池,然后由云基础服务提供者布置在云端,以服务的形式提供给云资源请求者,是一种弹性可伸缩、按需付费使用的新型服务模态。云计算的数据资源和计算资源可被迅速的调配、部署和回收,弹性的进行扩展和缩减,以提供按需分配和有偿使用。云计算具有按需计算、多平台访问、资源聚集、弹性扩张以及服务可度量五个特点。其服务模式包括基于按需计算的软件既服务(SaaS,Software as a Service)、基于弹性计算的平台既服务(PaaS,Platform as a Service)以及基于效用计算的基础设施既服务(IaaS,Infrastructure as a Service)三种模式。

在云计算环境中,用户对放置在云端的数据和计算失去控制,用户数据的机密性、完整性和可用性无法保证,其计算任务是否能够正确执行无法确定,出现了用户和云平台之间缺乏信任的问题。因此,云计算环境中的对计算资源与数据资源的访问控制的重要性凸显了出来。

访问控制通过将适当的权限授予适当的主体,使主体对资源进行合法的访问。其中一个关键点要求权限授予的刚刚好,即主体通过授予的权限刚好可以合法的完成任务,不多也不少。目前大部分云平台服务提供商都以基于角色的访问控制[2](RBAC,Role Based Access Control)方法对云中资源进行访问控制。虽然能够实现对数据的基本访问控制,但角色是静态的,用户一旦获取角色便拥有了对资源的操作权限,当用户进行恶意操作时,并不能及时对用户的权限进行回收以阻止恶意访问,难以适应云计算环境的动态性;此外,并不能对用户的行为进行记录。即使用户进行了恶意操作,也不会对用户以后的访问产生任何影响,缺乏相应的惩戒措施,使非法访问的成本过低,导致用户可以随意进行非法访问而不用承担任何责任。

当前阶段,云计算环境中的访问控制都是以传统的访问控制模型为基础,对其进行改进,使之尽可能的适应云计算所带来的改变。例如,文献[3]中提出的基于行为的访问控制模型,其考虑到在RBAC模型中,同一个角色在不同环境和时态下所获取的权限应该是不同的,因此将环境状态和时间状态两个因素与角色相结合,提出了行为(Action)的概念,将RBAC中权限到角色的映射转化为权限到行为的映射,对访问控制的粒度进行了细化。文献[4]针对云计算环境提出一种动态自适应访问控制模型,对文献[3]中基于行为的访问控制进行了扩展,引入了“资源生命周期管理器”和“访问行为历史管理器”两个概念,以资源生命周期为节点进行访问控制。文献[5]提出一种基于用户行为信任的云安全访问控制模型,引入“用户行为检测中心”“用户行为信任管理中心”“认证和授权中心”三大工作中心,通过实施检测云中海量用户的访问行为,获取用户行为证据,综合评估用户行为信任度,通过用户的信任度实施访问控制。

以上研究多数是对RBAC模型的扩展,但RBAC中角色的静态特性已经难以满足云计算环境动态复杂性的要求。因此,本文基于当前研究现状,结合云计算环境的特点,对基于属性的访问控制模型在云计算环境中的应用进行研究和扩展,引入服务的概念,将访问控制的客体服务化,同时加入访问行为历史管理功能,将用户的访问行为历史进行记录,并以一种属性的形式参与到访问控制过程中。

1 基于信任度量的云计算服务化访问控制模型

传统的访问控制技术大致可分为三类:自主访问控制(DAC,Discretionary Access Control)、强制访问控制(MAC,Mandatory Access Control)、基于角色的访问控制(RBAC,Role-based access control).这三类访问控制技术在传统的计算环境中基本能够实现对资源的有效保护。传统的访问控制模型对权限的分配是静态的,并不会及时的对权限进行回收。

针对当前云计算环境动态化的特性,将基于属性的访问控制模型进行拓展,提出基于信任度量和属性约束的云计算服务化访问控制模型,如图1.

定义1:面向云服务的动态访问控制模型DACC(Dynamic Access Control Model in Cloud Service)可以用一个七元组来表示:

DACC=(SAP,PEP,PIP,PDP,PAP,BAP,CAP)

图1 基于信任度量和属性约束的云计算服务化访问控制模型
Fig.1 Model of access control based on trust and attribute

其中:SAP(service administration point)为服务管理点,包含两个职能:服务的创建与回收以及服务的状态迁移;PEP(policy execution point)为策略执行点,用于接收SAP发来的基础服务服务请求,并根据基础服务请求从PIP中获取所需的属性信息建立基于属性的基础服务请求发送至PDP进行判定;PIP(policy information point)为策略信息点,用于存放和管理用户和服务的属性信息;PDP(policy decision point)为策略决策点,负责接收由PEP发来的请求,根据从PAP中获取策略对请求进行判定;PAP(policy administration point)为策略管理点,用于存放和管理访问控制策略信息;BAP(behavior administration point)为行为管理点,通过管理用户的行为信息实现服务状态的动态调整;CAP(cloud resources administration point)为云资源状态管理点,通过监控系统资源属性的变化实现服务状态的动态调整。

定义2:原子操作(Atomic Operation)是访问控制中不能再被分解的基本操作,包含三个要素:客体资源、操作以及约束集,可形式化的表示为一个三元组< Resource,Operation,Constraints>.其中客体资源既云计算环境中的资源,包括基础设施、平台、软件等;操作指对云计算环境中资源的访问方式,例如,对存储设备的读、写操作,对网络资源的占用等;约束集则是指对资源访问的限制,例如存储设备的容量,网络资源的带宽,软件的使用等级以及对资源的使用时间等约束的集合。例如一项基础服务“对10 GB的存储空间进行2 h的读写操作”可表示为M=< storage,R/W,{capacity=10GB,time=2hours}>.

定义3:一项服务(S, Service)是由多个子服务(SS, Sub-Service)组成的集合,即S={SS1,SS2,SS3,…,SSn};而一个子服务可表示为多个原子操作的集合,即SS={AO1,AO2,AO3,…,AOn}.在一项服务中,多项基础服务之间是存在依赖约束关系的,依赖关系的种类包括如下:结束-开始(FS)、开始-开始(BS)和无依赖(NO).其中,FS为当BS1结束之后,SS2才能开始(图2);BS为当SS1开始之后,SS2才能开始(图3);NO为SS1、SS2两项基础服务之间无依赖约束关系,即基础服务之间是相互独立的。

图2FS依赖
Fig.2FSdependency

图3BS依赖
Fig.3BSdependency

定义4:服务的创建与回收。当用户向SAP发送服务请求之后,SAP会将一个完整的服务请求拆分成多个基础服务请求,逐一提交PEP,由PEP收集相关属性信息提交PDP进行判定之后,判定结果经PEP返回至SAP,当SAP接收到所有子模块判定通过的结果后,从环境中收集各种所需资源(基础服务)创建服务提供给用户。当提供给用户的服务结束(包括正常结束和异常结束)之后,SAP将服务回收并释放系统资源。

定义5:基于用户访问行为的动态调整请求。服务过程中,行为管理点(BAP, behavior administration point)对用户的访问行为进行记录,并根据历史访问行为实时调整用户的信任度值,当用户的信任度值超过某个既定的阀值或当信任度值的变化幅度超过某个阀值时触发服务调整功能,由BAP向SAP发送服务状态调整请求,请求可表示为一个三元组(U, S, T),其中U表示需要调整的服务所对应的用户,S即为所要调整的服务,T是用户当前的信任值。

定义6:基于资源属性变化的动态调整请求。服务过程中,上下文环境管理点(CAP, context administration point)对系统资源状态进行监控,当系统资源的某项属性值超过预设阀值或属性值得变化幅度超过某个阀值时触发服务调整功能,由CAP向SAP发送服务状态调整请求,请求可表示为一个三元组(U, S, A),其中U表示需要调整的服务所对应的用户,S即为所要调整的服务,A为触发调整的属性的当前值。

定义7:服务的状态迁移。当SAP接收到来自AAP和CAP发送来的服务状态调整请求,根据服务调整请求要求,生成新的基础服务请求,经常规判定流程(SAP→PEP→PDP→PEP→SAP)对某一个或几个基础服务进行重判定。若每个基础服务判定结果都与前一次判定结果相同,则不做出任何操作;否则,根据判定的结果对服务进行挂起、恢复或终止等操作。

初始服务请求:用户提交原始服务请求(SR,service request)到服务管理点(SAP,service administration point),SAP首先将服务请求转化为一组基础服务请求(BSR, base service requests),然后将这组基础服务请求逐一发送至策略执行点(PEP,policy enforcement point),PEP根据BSR,利用策略信息点(PIP,policy information point)中存储的属性信息构建基于属性的基础服务请求(ABR,attribute-based base service requests),PEP将ABR发送给策略决策点(PDP,policy decision point),PDP从策略管理点(PAP,policy administration point)获取策略对ABR进行判定,并将判定结果返回给PEP,PEP将判定结果传给SAP,若说有基础服务的判定结果都通过,则SAP从系统中收集基础服务,创建服务提供给用户。

2 租户域内和域间信任度量的约束控制

2.1 租户域内信任度

租户的在不同时间的历史访问行为对租户当前信任度值的影响是不同的,通常情况下,据当前越近的访问行为对租户信任度值的影响越大,而越早发生的访问行为对租户信任度值的影响越小。因此,引入频次衰减函数H(k),调整不同时间历史访问行为对租户信任值的影响,其中L是租户访问评估的总次数。

租户加权访问成功系数:

其中:n为租户历史访问行为评估通过的次数,ak为访问评估通过的奖励系数,ak>0.

租户域内访问失败系数:

租户跨域访问失败系数

其中:m1和m2分别代表租户域内历史访问行为评估失败的次数和跨域历史访问行为评估失败的次数;bk和ck分别表示域内访问失败和跨域访问失败行为的惩罚系数,bk>0,ck>0,惩罚系数越大表明惩罚力度越大;通常情况下,跨域访问的结果还会影响到域与域之间的信任度,因此要加重跨域访问失败的惩罚,所以ck的取值一般要大于bk.

租户历史行为信任度:

租户初始信任度:

其中:ek代表对租户的各种安全要求所对应的权值,如果该项要求不满足,则权值为0,tk是各安全要求对应的信任值,安全要求及权值如表所示。

表1 租户安全要求
Tab.1 Requirement of security in tenant

安全要求权值ek信任值tk租户信息完整性0.4完整为1,不完整为0租户身份级别0.3分五级{0.2,0.4,0.6,0.8,1.0}租户接入地0.3分两级,国内为1,国外为0.5

租户域内信任度:

其中:L为租户总的访问评估次数,m是一个常数,通过引入m来调整租户初始信任度与历史信任度在不同阶段的权重。当租户初次进入系统中时,访问评估次数L为0,Tu主要由Tini决定;随着租户访问记录的增加,L逐渐增大,Tini的权重逐渐减小,This的权重逐渐增大,Tu主要由This决定。

2.2 租户跨域信任度

请求域Di在服务域Dj中的历史信任度:

其中,N为请求域中所有租户在服务域中的访问评估通过总次数,M为请求域中所有租户在服务域中访问评估失败总次数,ak为访问评估通过行为的奖励系数,H(k)是频次衰减函数,ck是访问评估失败行为的惩罚系数。

请求域Di在服务域Dj中的初始信任度:

其中ek代表服务域对请求域安全要求满足后赋予的权值,如果该项要求不满足,则权值为0,服务域对请求域平台的安全要求及权值如表所示。

表2 环境安全要求
Tab.2 Requirement of security in environment

要求权值ek信任值tk请求域对租户身份验证要求的完整性0.4完整为1,不完整为0请求域平台自启动后的完整性0.3完整为1,不完整为0请求域历史访问行为日志模块完整性0.1完整为1,不完整为0请求域域内信任管理点的完整性0.1完整为1,不完整为0请求域策略信息点的完整性0.1完整为1,不完整为0

请求域Di在服务域Dj中的信任度:

其中,L为请求域中租户在服务域中总的访问评估次数,n是一个常数,通过引入m来调整域初始信任度与域历史信任度在不同阶段的权重。当域初次交互时,访问评估次数L为0,Tij主要由域初始信任度Qij决定;随着访问记录的增加,L逐渐增大,Qij的权重逐渐减小,Pij的权重逐渐增大,访问历史记录对域间信任值的影响也逐渐增大。

请求域Di中的租户u在服务域Dj中的信任度:

Tiju=Tij*Tu

3 基于信任度量的云计算动态访问控制的模拟仿真分析

本文使用SUN公司提供的XACML工具包实现了XACML模型架构的搭建,并在此基础上扩展了信任管理点和云资源状态管理点两个功能模块。模拟实验采用Java语言进行了模拟实验。

实验环境:Windows10,Eclipse,Sunxacml-1.2.

实验平台:个人便携式PC(i7-8550U,8G内存,256GSSD硬盘)。

实验1:取租户域内初始信任度为1,跨域初始信任度为1,奖励系数ak=1,域内惩罚系数bk=1.5,域间惩罚系数ck=2.user1发起服务访问请求,其中访问成功300次,访问失败200次,每次访问之后租户的域内信任值如图4、图5所示。

图4 信任度曲线
Fig.4 Curve of trust

图4结果为user1访问成功与失败随机产生情况下的信任值曲线,由实验结果显示租户的域内信任值会随着访问次数的增加而升高,随着访问失败次数的增加而降低。

实验2:取租户域内初始信任度为1,跨域初始信任度为1,奖励系数ak=1,域内惩罚系数bk=1.5,域间惩罚系数ck=2.为了使效果便于观察,人为控制访问失败与成功的历史记录排序。user1和user2发起服务访问请求,总共500次,user1前100次访问失败,其他访问成功;user2第101到200次访问失败,其他访问成功,访问后租户域内信任值如4所示;user1和user2对服务进行访问500次,租户1前100次访问成功,其他访问失败;租户2第101到200次访问成功,其他访问失败,访问后租户域内信任值如图5所示。

图5 信任度曲线
Fig.5 Curve of trust

图6 信任度曲线
Fig.6 Curve of trust

图5中user1,user2在500次访问中,总访问失败与成功记录数是相同的,但由于user2访问失败的记录相对user1距当前时间较近,因此,其访问失败记录对用户当前信任值的影响较大,故500次访问结束后,user2的当前信任值要低于user1;同理,图6中user1和user2在总访问失败与成功记录数都相同的情况下,user2访问成功的记录相对user1距当前时间较近,因此,其访问成功记录对用户当前信任值的影响较大,故500次访问结束后,user2的当前信任值要高于user1.

故图5图6结果证明了频次衰减系数的有效性,用户访问历史记录离当前时间点越近,对租户信任度的影响程度越大。

4 结 语

本文基于ABAC模型提出了一种面向云服务的基于属性动态访问控制的模型,并将信任度量引入访问控制中,旨在解决云计算访问控制中资源服务化与实时动态授权的问题。目前已经给出访问控制的整体模型,以及信任度量的计算模型,实现了基于主体属性的动态访问控制。在接下来的工作中,会对云计算平台资源属性的动态变化对访问控制的影响进行深入研究,以实现基于客体属性的动态访问控制。

猜你喜欢

计算环境信任度租户
云计算环境下船舶无线通信网络入侵检测方法
云计算环境下网络安全等级保护的实现途径
多租户数据隔离及加密研究
基于多租户隔离的云安全建设
全球民调:中国民众对政府信任度最高
一种新型高效的多租户共享数据模型
大数据云计算环境下的数据安全
基于MVC模式的多租户portlet应用研究*
汽车养护品行业运行环境分析及提高客户信任度的途径
全舰计算环境体系结构和系统集成框架