面向微服务的动态访问控制策略评估方法技术

技术编号:33541543 阅读:24 留言:0更新日期:2022-05-21 09:51
本发明专利技术公开了面向微服务的动态访问控制策略评估方法,包括基于属性的相似度计算方法精简优化策略集和基于匹配树结构进行动态访问控制策略评估两部分,主要针对策略的精简优化、匹配树的构建、以及基于匹配树进行动态策略评估三个阶段。通过使用基于属性的相似度计算方法,细粒度划分并消解了访问控制冲突及冗余策略,减少了无关策略的干扰;通过构建匹配树结构,提高了策略检索匹配效率,同时支持在微服务策略库动态变更的过程中,仅对匹配树中策略更新局部进行维护,其余部分继续进行策略评估,保证了微服务访问控制的安全实施,保护了微服务系统的数据安全。了微服务系统的数据安全。了微服务系统的数据安全。

【技术实现步骤摘要】
面向微服务的动态访问控制策略评估方法


[0001]本专利技术属于微服务环境下的访问控制安全
,提出了一种在微服务环境下动态访问控制策略评估方法。该方法主要基于两种技术:一是基于属性的Jaccard相似度的计算方法,用于消解冲突及冗余策略;二是基于匹配树结构对策略更新局部进行维护,对其余部分继续进行策略评估。本专利技术提出的方法,既可有效减少无关策略的干扰,提高策略评估效率;又可保证在微服务策略动态更新下的局部维护,不影响其余部分的策略评估。

技术介绍

[0002]近年来,随着信息技术的高速发展以及用户量的大幅增加,软件架构领域出现了敏捷开发部署、自治性等新的行业需求。基于此,微服务架构应运而生,并成为未来软件架构发展的必然趋势。2014年Martin Fowler专家正式提出微服务架构的概念,微服务是一种架构风格,其将一个单个应用程序开发为一套小型服务,整体微服务系统具有动态灵活伸缩的特性,各服务模块具有独立自主开发部署和技术栈灵活的特性。
[0003]微服务架构逐渐成为主流架构,故其安全问题是一个成熟架构必须考虑的关键问题。微服务架构将软件系统拆分为一组“小而微”的服务,故其完成复杂业务时,需多个微服务灵活组合,协同合作。当前微服务系统大多采用网关做统一认证授权,短时间内访问量剧增会产生雪崩效应;由于微服务环境下的访问请求一般为无状态请求,包含请求的所有信息,所以所有的访问请求均需进行控制,造成访问控制工作量较大;又因为微服务架构具有动态灵活伸缩的特性,各服务模块均为动态启动和注销,可灵活加入或退出系统,故微服务系统的策略库会随着动态变化,现有策略评估方法需等待策略库更新完成后才能进行策略评估,导致评估时间较长;或是在策略库更新过程中进行评估,导致评估结果错误。因此,如何保障微服务系统的安全访问是一个重要问题。
[0004]访问控制是保护系统安全的重要技术手段之一。然而,微服务架构的自治性、动态灵活扩展、技术栈灵活的特点给现有的访问控制策略评估带来了新的挑战:1)随着业务的发展,微服务系统中的服务模块会逐渐增多,导致其访问控制策略库不断增大,进而导致策略的评估时间越来越长,策略评估效率和体验均受到较大影响;2)微服务架构下,各服务模块独立设置访问控制策略,且可灵活加入、退出微服务系统,导致微服务策略库动态变更,由此需要一种在微服务策略库变更时支持动态策略评估的方法。现有研究大多关注微服务环境下访问控制策略评估效率,对于微服务环境下的动态策略评估没有给予足够的重视。因此,研究支持动态性的微服务访问控制策略评估方法具有重要意义。

技术实现思路

[0005]针对现有技术中存在的微服务环境下访问控制的策略评估效率不足及动态策略评估支持不够的问题,本专利技术提出一种面向微服务的动态访问控制策略评估方法。本专利技术的方法使用基于属性的Jaccard相似度计算方法来消解冲突及冗余策略;使用匹配树进行微服务环境下的动态访问控制策略评估。本专利技术既可减少无关策略的干扰,提高策略评估
的效率,还可支持微服务环境下的动态策略评估,保证了微服务访问控制的安全实施,保护了其数据安全。
[0006]现有微服务环境下的访问控制过程一般在服务网关处进行,主要进行访问控制策略的评估工作,微服务访问控制场景如图1所示。因此,本专利技术主要研究在微服务环境下的服务网关处,策略的精简优化,匹配树的构建,以及基于匹配树的微服务动态访问控制策略评估三个阶段的内容。具体微服务访问控制流程如图2所示,访问控制时序如图3所示。
[0007]第一阶段,策略的精简优化阶段。首先根据接收到的访问请求,提取请求所需的访问控制策略;然后对策略进行精简优化,使用基于属性的Jaccard相似度计算方法,细粒度消解冲突及冗余策略。
[0008]首先,根据访问请求中的关键属性信息,从服务网关处的策略库中选出关键属性匹配的策略集,关键属性匹配即访问请求中的关键属性与访问控制策略中的对应属性匹配或含有相同项。
[0009]其次,使用基于属性的Jaccard相似度计算方法精简优化策略集。对于筛选出的策略,使用公式(1)的基于属性的Jaccard相似度计算方法,其中Pi和Pi是策略评估所需的任意两条策略,其相似度系数是两条策略中相同属性的交集与并集的比值,比值均在0

1之间,Jaccard系数值越大,两个策略中所比较的属性的相似度越高。
[0010]分析微服务环境下的访问控制过程,对于客户端发来的某一请求,请求访问某一资源微服务,若同时有针对该请求的两条策略适配,但是效用属性相反,一条策略允许访问,一条策略拒绝访问,此时两条策略为冲突策略;若两条策略的效用属性相同,均为允许或拒绝,则为冗余策略。又由于微服务中各服务模块均为动态启动和注销,故其访问控制过程有一定的时效性。所以,当两条策略的资源属性、操作属性及时间属性相同或含有相同项时,根据效用属性的值,产生冲突策略或冗余策略。
[0011]因此,首先根据策略中的资源属性、操作属性及时间属性对访问控制策略进行初步分组,将资源属性、操作属性及时间属性完全相同的分为一组,部分相同的分为另一组。然后,进一步根据策略中的其他属性进行细粒度的分类讨论。
[0012](1)冲突策略的精简。如果两策略均属于策略评估所需的策略集中的策略,其资源属性、操作属性及时间属性的Jaccard系数值均为1,且效用属性相反,一个允许操作,一个拒绝操作,则符合冲突策略精化的条件,进行如下操作:
[0013]1)如果两策略P
i
和P
j
的其他属性的Jaccard系数值均为1,如主体属性和环境属性等,从安全考虑,效用属性设置为有允许的效用属性同时不包含拒绝的效用属性,即拒绝优先。
[0014]2)如果两个策略的主体属性和环境属性存在交集,则删除两策略中的属性交集,更新P
i
和P
j
策略的属性集为两策略中分别剩余的属性集,对P
i
和P
j
策略分别继续采用原本的效用属性。
[0015](2)冗余策略的精简。如果两策略P
i
和P
j
均属于策略评估所需的策略集中的策略,其资源属性、操作属性及时间属性部分相同,且P
i
和P
j
的效用属性相同,均为允许或拒绝,则符合冗余策略精化的条件,进行如下操作:
[0016]1)如果两策略P
i
和P
j
的资源属性、操作属性、时间属性、主体属性、环境属性的Jaccard系数值均为1,则删除策略Pj。
[0017]2)如果两策略P
i
和P
j
的资源属性、操作属性及时间属性的Jaccard系数值为1,同时主体属性和环境属性的Jaccard系数值在0

1之间,则取新的属性范围为P
i
和P
j
的属性的并集,将新的属性范围赋值给P
i
,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.面向微服务的动态访问控制策略评估方法,其特征在于:包括以下步骤:步骤1:接收并处理访问请求;步骤1.1:用户端请求访问微服务资源,发出访问请求;用户端包括手机端、PC端用户等,访问请求主要包括主体属性、资源属性、操作属性、时间属性、环境属性等;步骤1.2:服务网关中PEP处接收并处理用户的访问请求,转发请求到PDP;步骤1.3:服务网关处策略决策点PDP接收并转发访问请求给PAP;步骤2:策略的精简优化;首先根据接收到的访问请求提取所需的访问控制策略;然后对策略进行精简优化,使用基于属性的Jaccard相似度计算方法消解冲突及冗余策略;步骤2.1:根据接收到的访问请求,提取请求所需的策略集;根据访问请求中的关键属性信息,从服务网关的策略库中选出关键属性匹配的策略集,关键属性匹配即访问请求中的关键属性与访问控制策略中的对应属性匹配或含有相同属性内容项;步骤2.2:使用基于属性的Jaccard相似度计算方法精简优化策略集;步骤3:构建匹配树;步骤4:基于匹配树进行微服务的动态访问控制策略评估;步骤4.1:检测待评估的策略中是否有策略更新,若无策略更新,进行策略评估,给出判定结果;步骤4.2:检测待评估的策略中是否有策略更新,若有策略更新,进行如下操作;(1)将该匹配树状态值设置为0,对更新的策略局部加锁,其余部分可以继续进行策略评估;(2)生成一个新的匹配树,对新生成的匹配树进行策略更新维护;(3)当策略更新局部维护完成后,设置状态值为1,并使用维护完成的新匹配树替换原有匹配树;步骤5:应答访问请求,根据判定结果调用相应的微服务资源。2.根据权利要求1所述的面向微服务的动态访问控制策略评估方法,其特征在于,所述步骤2.2使用基于属性的Jaccard相似度计算方法精简优化策略集,包括以下步骤:(1)对于筛选出的策略,使用基于属性的Jaccard相似度计算方法,P
i
和P
j
是策略评估所需的任意两条策略,其相似度系数是两条策略中属性的交集与并集的比值,比值均在0

1之间,Jaccard系数值越大,两个策略中所比较的属性的相似度越高;(2)根据策略中的资源属性、操作属性及时间属性对访问控制策略进行初步分组,将资源属性、操作属性及时间属性完全相同的分为一组,部分相同的分为另一组;(3)根据策略中的其他属性进行细粒度的分类讨论;1)冲突策略的精简;如果两策略均属于策略评估所需的策略集中的策略,其资源属性、操作属性及时间属性的Jaccard系数值均为1,且效用属性相反,一个允许操作,一个拒绝操作,则符合冲突策略精化的条件,进行如下操作:如果两策略P
i
和P
j
的其他属性的Jaccard系数值均为1,如主体属性和环境属性等,从安全考虑,效用属性选择拒绝优先,删除效用属性为允许的策略;
如果两个策略的主体属性和环境属性存在交集,则删除两策略中的属性交集,更新P
i
和P
j
策略的属性集为两策略中分别剩余的属性集,对P
i
和P
j
策略分别继续采用原本的效用属性;2)冗余策略的精简;如果两策略P
i
和P
j
均属于策略评估所需的策略集中的策略,其资源属性、操作属性及时间属性部分相同,且P
i
和P
j
的效用属性相同,均为允许或拒绝,则符合冗余策略精化的条件,进行如下操作:如果两策略P
i
和P
j
的资源属性、操作属性、时间属性、...

【专利技术属性】
技术研发人员:林莉解晓宇
申请(专利权)人:北京工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1