英语原文共 6 页,剩余内容已隐藏,支付完成后下载完整资料
2018年 2 月 25 日
使用基于属性的访问控制进行多云协作中的授权管理
摘要: 多云协同环境下的安全需要一个粒度细化的访问控制机制。在这种情况下,基于属性的访问控制(ABAC)被认为是一种合适的选择。但是,确定一套正确的ABAC规则是在多个云之间建立安全协作的关键步骤。在本文中,我们正式将跨域规则挖掘定义为寻找允许另一个云的用户访问一个云的资源的最小ABAC规则集的问题。该问题表现为NP难题,并提出了一种启发式算法来解决这个问题。对广泛的基准和综合数据进行的实验显示出令人鼓舞的结果。
关键词:多云协作,基于属性的访问控制,跨域规则挖掘,多云安全
- 引言
安全信息系统的开发和维护是当今分布式计算环境中具有挑战性的目标。诸如云,物联网(IoT)和智能环境等分布式环境的快速扩张使系统日益异构,应用过于复杂,这些应用程序通常跨越多个部署不同云服务的企业。这些系统被称为多云系统。
云系统中的多租户和虚拟化可能会导致边信道攻击,从而导致潜在的信息泄露。因此,此类多云环境中的访问控制机制必须符合安全性要求,例如保密性,完整性,可用性和问责性。此外,安全互操作的两个原则,即自治原则和安全原则必须得到尊重。实现这些目标所需的安全机制被称为访问控制服务(ACS)。ACS要么允许要么否认访问系统资源给用户。
云服务提供商通过良好管理的访问控制机制来保护他们向不同客户提供的服务是非常重要的。多云环境需要一个中介来确保协作云间的安全互操作,这可以作为服务级别协议(SLA)或通过代理网络来捕获。 紧密耦合的协作是可能的,由相同服务提供商提供的服务,因为使用各个服务的本地策略很容易组成全球元策略。 如果协作服务介于不同服务提供商提供的相同类型的服务(例如SaaS和SaaS之间)之间,或者来自不同服务提供商的不同类型服务(例如SaaS和PaaS之间)之间,则只有松散耦合的协作是可行的。 在这种情况下,通过全局目录服务发现服务,并且服务提供商的每个服务都使用其自己的访问控制管理来为其本地资源实施访问控制服务。
传统的访问控制模型可以大致分为自主访问控制(DAC)和强制访问控制(MAC)。在DAC中,作为对象所有者的主体可以向其他主体授予或撤销该对象的访问权限。 DAC可能导致泄露相关信息。另一方面,MAC模型基于主体和对象的预定安全级别。这些安全级别通常形成一个晶格结构,因此它也被称为基于晶格的策略。
基于角色的访问控制(RBAC)模型提供了更大的灵活性,同时确保了安全性。角色是权限集。角色的分配和用户角色的分配是任何RBAC实施中的主要任务。时态RBAC模型(GTR-BAC)为基本的RBAC模型提供了动态性。它可以在一段时间内管理访问控制要求的变化。时空RBAC模型已经被提出用于管理策略在位置和时间方面的动态性质。
各种其他限制条件也经常影响系统的访问控制决策。这些通常被称为系统属性,可以将其归类为主体属性,对象属性和环境属性(包括位置和时间)。最近提出基于属性的访问控制(ABAC)来满足这些系统的要求。就提供给访问控制决策系统的信息而言,ABAC是非常神秘的,因此它非常适合于多域异构环境,例如云。ABAC使用一套规则来制定访问控制决策,其中每个规则由两部分组成,一个前提和一个后果。前件包含主体(用户),对象(资源)和环境的属性值对。结果包含一组对象的访问权限。当用户试图在一个给定的环境中访问一个对象,这个对象的前因规则被评估。如果评估结果为TRUE 值,规则的后果被执行并且用户是给定相应的一组访问权限。
多年来,为解决多域系统中的访问控制管理问题进行了多次尝试。 还讨论了多个域之间安全协作的机制。文献中的大多数问题都是定义为MAC或RBAC下的系统。尽我们所能知识,还没有工作报告过访问控制ABAC环境下的多云协作是本文研究的重点。
在ABAC系统中,访问决策由策略决策点(PDP)计算并由策略执行点(PEP)执行。 一般来说,ABAC系统必须执行两项任务。首先是确定并为系统中的每个用户和对象分配适当的属性。还应该分配适当的环境属性。虽然主题属性通常由管理员分配给用户,但对象属性通常由对象的所有者定义。
由于列举适当的访问规则是主要的任务,在本文中,我们着重于形成一个规则: ABAC系统在多云环境中的应用。它包括寻找用户,对象和环境的合适的属性值对组合来制定这样的规则。为了使整个策略管理过程变得灵活和无差错,通常需要尽量减少多云协作中的规则数量。在这种情况下,我们定义了一个名为跨域规则挖掘问题(CDRMP)的问题。 目标是为一组给定的云间协作派生最小数量的规则。 我们证明了这个问题是NP难题,并提供了一个启发式的方法来解决它。 该算法已在许多基准和合成数据集上实施和测试。
本文的其余部分安排如下。在第2节中,我们讨论在多云环境中表示ABAC系统所需的不同符号。第3节给出了这个问题的正式定义,并研究了它的复杂性等级。第4节详细描述了所提出的算法。在第5节中,我们通过实验测试了我们在各种数据集上的方法。第6部分对相关工作进行了回顾。最后,第7部分结束了本文。
- 符号
本节中,我们将引入一些符号来描述ABAC的各种元素。 我们遵循NIST标准为ABAC系统。令为m个授权集合,用户和是一个p授权的集合,对象。令为一组n个用户属性和是q对象的集合属性。 每个用户(分别是对象)可能只需要属性都有相应的一组值。设表示用户属性的值的集合。同样的是对象属性的值的集合。那么,
这里NULL表示属性的未知或未指定值。可以使用NULL表示尚未分配给用户或对象的那些属性的值。用户或对象可以被分配一些属性值对的组合。让UUA成为用户对用户属性的分配关系,其中可以表示为UUA =相似的,OOA =
表示对象到对象的属性分配关系。为了简洁起见,本文不考虑环境属性。但是,它也可以轻松扩展为包含环境属性。
令op =是单独操作(访问权限)域中的一组不同操作。让这组策略规则表示为R = {[W,op,gd]},其中op是OP中的一个元素,g d是一个代表访问决定的布尔变量授予(1)或拒绝(0)。W是一个布尔表达式形式
,例如,,和或
这里,X不关心表示事实对于X的任何值,W都评估为相同的值。(如果值是X,我们也可以从W的表示中省略属性值对)。但是,在规则形成过程中,我们不考虑用户和对象的唯一身份属性。R明确指出,当具有指定的一组属性值对的用户u请求在具有指定的一组属性值对的对象上的访问权限op时,则W被评估为TRUE,并且取决于gd的值,要么你被允许操作o要么拒绝操作o。如果gd的值为1,则策略规则称为许可规则。如果它是0,则称为拒绝规则。
使用ABAC的每个云域可以表示为元组(U,UA,UUA,O,OA,OOA,OP,R)。 当有多个域时,域的元素可以是用预先表示。例如,域的授权用户集合可表示为 .U,该域的特定用户为 . ,用户属性为. 等。
最后,我们定义一个跨域规则和一个访问关系如下。
定义2.1。跨域规则:规则r = [W,op,gd]据说是来自云域的跨域规则,到云域当且仅当W =和。换句话说,在一个策略规则,如果用户u和(对象o,操作op)配对属于两个不同的云域,建立一个访问跨这些云域,该规则是跨域规则。UA的一个子集(分别为OA)。 每个用户(分别是对象)我们使用XR来表示一组这样的跨域规则。
定义2.2。 访问关系(AR):访问关系是U上定义的关系。是允许在域的用户,对象 和另一个域中的操作op。 这种访问被命名为允许访问。表示要在域中的用户 和另一个域中的对象 和操作op。 这种访问被称为拒绝访问。
- 跨域规则挖掘
跨域规则挖掘问题(CDRMP)被定义为针对给定的一组访问请求确定用于多云协作的跨域规则的最小数量的问题。 如果系统中只有少量用户和少量对象,管理员可以手动枚举规则。 但是,在包含多个云域的系统中,每个云域都有数百个用户和数千个对象,因此需要一个自动化过程。
我们正式说明CDRMP问题如下。
定义3.1。 跨域规则挖掘问题(CDRMP)给定c个域,1le;ile;c和一组RA ={(u,o,op,1)||1le;i,jle;c,i ne;j,uisin; .U,oisin; .O,opisin;.OP}允许访问被建立,nd一组跨域规则XR,这样XR只授予RA中指定的访问,| XR | 是最小的。
云域中的一些用户将被给予对另一个云域的一些对象的访问的问题种类,并且访问请求被表示为。 这些请求必须通过一组规则XR专门针对请求的用户对请求的对象授予。 除了RA中指定的访问要求之外,不得授予其他访问权限。换句话说,不应该有任何安全违规。 我们将这些类型的规则表示为安全规则。 简言之,解决方案XR到CDRMP必须满足两个条件:(1)XR必须是安全的,(2)XR必须最小。
我们通过将多项式时间的集合覆盖问题(SCP)的决策版本减少到CDRMP的决定版本来证明CDRMP问题是NP-Hard。
定义3.2. 决策版的CDRMP(d-CDRMP)给定c域,1le;ile;c,并且设定RA ={(u,o,op,1)||1le;i,jle;c,ine;j,uisin; .U,oisin; .O,opisin; .OP}是否存在一组跨域规则XR,使得| XR| le;t和XR仅授予RA中指定的访问权限。
定义 3.3. 设置封面决策问题(D-SCP)对于通用集合U的子集S族,覆盖是一个
定理1. D-CDRMP是NP-Hard。证 明。 我们证明D-SCPD-CDRMP。 设U ={ |1le;kle;d},S = { |1le;ile;b},C= {|1le;jle;ile;b}是D -SCP。 然后可以通过设置在多项式时间创建D-CDRMP的实例R A = U,XR = S = C。接下来我们会看到D-SCP的解决方案是D-CDRMP的解决方案。 U中的每个元素至少被C中的一个元素覆盖。然后,RA中的相应访问请求由XR中对应于元素的规则建立。 此外,D-CDRMP的解决方案是D-SCP的解决方案。 RA中的每个元素 由XR中的至少一个元素建立。 然后S中的相应元素被C中对应于元素s的元素 覆盖。
- CDRMP算法
我们提出了一个启发式的CDRMP算法,如算法1所示。它包含两个阶段。算法的第一阶段形成一组安全规则。 该算法针对每对云域执行以在每对云域之间找到最少数量的跨域规则。假设k1是安全规则r1 的一组属性值对,k2 是另一个安全规则r2。 如果k1 k2,则由r2 覆盖的访问请求也将由r1 覆盖。但是如果我们减少规则中属性值对的数量,可能会导致增加它覆盖的访问请求数量。因此,在这个过程中,我们只选择那些以属性 - 值对的数量为最小的安全规则集合。换句话说,我们在上面的例子中只选择r1。一旦我们获得了所有这些安全规则,在第二阶段,我们选择覆盖所有访问请求的最小数量的安全规则。 所以,程序的第二阶段相当于集合覆盖问题。我们使用整数线性规划(ILP)方法来解决程序的第二阶段。
算法1 CDRMP算法
1:必需:D\,1le;ile;c,RA
2:调用表单安全规则过程(算法2)
3:呼叫ILP(RA,RULES)程序
在算法2中给出了在第一阶段创建安全规则的过程。该过程针对每个操作操作执行。 在第一步中,程序发现所有被拒绝的访问(NA)(第4行)。换句话说,不在RA中的所有(用户,对象)组合都将包含在N A中。如果有m个用户,k个对象和rd访问请求,则RA的元素数将是rd,NA的元素数将会是(mtimes;k-rd)。
解决RA和NA不一致的问题在英文版中完成下一步(第5行)可能会改变RA和N的大小。如果用户的属性值对和NA中被拒绝访问的对象的集合是属性值集的超集,则会出现不一致成对的用户和RA中允许访问的对象。换句话说,如果拒绝访问的(用户,对象)对具有某些属性值对,这些属性值对被许可访问的(用户,对象)对的所有属性值对是共同的。在这种情况下,被拒绝的访问从NA中删除并被添加到RA中。因此,它导致的访问次数超过了RA要求的访问次数。
形成安全规则的过程(第6-14行)包括选择用户和每个请求 的对象的最小长度属性值对的组合,表示为comb,它们不违反任何被拒绝的访问。即,选择不是用户的属性值对的集合的子集的最小长度梳,并且NA中的任何元素的对象(A()是返回用户的所有属性值对的集合的函数和访问的对象)。我们在这里遵循自上而下的程序。从最长的组合开始形成属性值对组合。如果属性 - 值对组合不安全,则将其从进一步缩小组合(子集)中丢弃。否则,从它递归地形成更小的组合(子集),直到我们以最小长度组合结束。然后该过程形成具有最小长度组合
全文共8267字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[15246],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。