【技术实现步骤摘要】
一种融合自顶向下与自底向上的ABAC策略工程方法
[0001]本专利技术涉及访问控制
,具体为一种融合自顶向下与自底向上的ABAC策略工程方法。
技术介绍
[0002]随着移动通信技术及高性能计算的飞速发展与广泛应用,安全性现已成为诸如物联网、智能合约、区块链及工业信息集成系统等领域的一项基本需求。大规模、分布式协同管理系统中存在大量信息存储与资源共享,企业组织应采用相应访问控制机制以保证系统的安全性。然而,传统访问控制机制依赖于身份,缺乏灵活性与可扩展性,不能满足细粒度以及实际应用场景中动态性功能需求。作为一种选择性替换,基于属性的访问控制(Attribute
‑
based Access Control,ABAC)克服了传统访问控制机制的缺陷,具有很高的灵活性与可表达性,尤其对于大规模分布式协同工作环境能够满足细粒度、动态的访问请求,近些年在学术界与工业界均获得了广泛关注与深入研究。
[0003]与角色系统工程相似,基于ABAC的策略工程同样存在自顶向下与自底向上两种构造方法。前者通过精确评 ...
【技术保护点】
【技术特征摘要】
1.一种融合自顶向下与自底向上的ABAC策略工程方法,其特征在于:包括以下步骤:S1:自顶向下ABAC策略工程元素提取对于给定自然语言描述的需求文档,利用语法解析、访问策略句子识别、语义角色标注,以及后处理操作,提取其中包含的策略工程元素;S2:自底向上ABAC策略的挖掘对于给定的访问日志文档,将具有相似特征的访问权限元组聚为一类,根据聚类中心点的属性值以及聚类成员的属性值,利用数据字典对聚类属性值进行预处理,确定与访问策略相关的有效属性集,并挖掘初始ABAC规则集;S3:ABAC规则的进一步提取通过主体、对象、属性及操作之间广义笛卡尔乘积形式构造新矩阵,并结合无监督学习方法挖掘的聚类结果及初始规则集,从底层日志中进一步提取出蕴含的ABAC规则;S4:ABAC策略的优化在规则提取阶段,有可能从两个聚类中提取相同或相似的规则,为确定并消除其中一部分冗余规则,通过规则修剪优化提高所提取ABAC策略的质量。2.根据权利要求1所述的一种融合自顶向下与自底向上的ABAC策略工程方法,其特征在于,S1自顶向下ABAC策略元素提取具体包括以下步骤:S11:预处理时,通读整个自然语言访问控制策略文档,并对句子进行词法分析和关联消解,以确定句子边界,并检测文本中单词、标点符号及其它关联项,为使需求描述中文本信息便于评估,使用工具包CoreNLP确定句子,使每个句子单独成行;为判断文本中不同表达形式是否描述同一个实体或事件,采用代词消解算法将文本中代词进行实体替换以确定同一实体的所有不同表现形式;S12:从整个自然语言访问控制策略文档中识别并提取访问策略句子时,根据已分类项与当前测试项中最接近的项来分类测试项,使用监督学习方法如K
‑
NN分类器,将欧几里得距离作为属性值的度量,在文本实例空间寻找某个实例的k个最邻近的实例,并将该实例标记为与大多数邻居类相同的实例,采用ACRE方法确定并提取策略句子;S13:使用语义角色标注工具,检测与策略句子中动词相关联的语义参数,分析句子中所有目标动词所表达的命题,针对每个目标动词/谓词提取出句子中所有填补该动词语义角色的成分;对于给定的句子,语义角色标注工具的主要任务是分析句子中动词/谓词表示的部分,并确定句子中的哪些部分对应具体哪个语义角色;语义角色标注工具的一般形式为:{A;B;C},其中A代表Arg0,即主体,B代表动词/谓词,即行为,C代表Arg1,客体或资源,即动词/谓词作用的对象;使用SENNA方法作为语义角色标注器。S14:使用语义角色标注工具标注动词/谓词参数后,需对生成的标注部分进行后处理操作,包括命名实体识别和参数扩展;其中命名实体识别是确定句子中属于预定义类别中的命名实体和单词序列,如人名、地点、机构组织、时间表达式等,生成一个带注释的文本,以突出显示实体名称;参数扩展是基于从用自然语言陈述且复杂的句子分离出的多个主体和客体对象,结合句子中标注的动词/谓词,组合出只含单一主体与客体对象的不同简单策略元素集。
3.根据权利要求1所述的一种融合自顶向下与自底向上的ABAC策略工程方法,其特征在于:S2自底向上ABAC策略挖掘的具体步骤如下:S21:使用无监督学习算法,如k
‑
modes算法,对现有访问权限元组进行训练,检测聚类模式,并将ABAC规则挖掘看作是从访问日志到聚类集的一种映射f:AL
→
C,其中,AL表示访问元组集,C表示聚类中心点标签集,每个中心点c
i
对应一条规则ρ
i
;S22:根据现有访问日志及数据库中的属性信息集,结合S1中以自然语言形式描述的属性名及属性取值范围所定义的数据字典,将现有数据库中用符号和缩写词编辑的属性
‑
值对,替换成数据字典中与之等价表示的语义表达式;例如,考虑大学系统定义的属性名为position可以取值1,2,3,如果数据字典中这些属性值分别对应”professor”,”lecturer”,”student”,那么用数据字典中的这些值取代数值型属性值;S23:聚类中心点表示聚类中属性值最频繁出现的那部分,...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。