一种网络访问控制策略的设计及存储方法技术

技术编号:36225800 阅读:16 留言:0更新日期:2023-01-04 12:24
本发明专利技术公开的网络访问控制策略的设计及存储方法,包括:构建表达式;基于表达式构建规则,规则的运算结果为“真”或“假”;构建动作;基于规则

【技术实现步骤摘要】
一种网络访问控制策略的设计及存储方法


[0001]本专利技术涉及网络访问控制
,具体涉及一种网络访问控制策略的设计及存储方法。

技术介绍

[0002]访问控制系统是按主体身份及其所归属的某项定义组来限制主体对某些资源或者功能的使用的一种技术。对于访问控制NIST有如下定义:“访问是一种利用计算机资源去做某件事情的能力,访问控制是一种手段,通过它这种能力在某些情况下被允许或者受限制(通常是通过物理上和基于系统的控制)。”访问控制的目的是确保特定的数据和资源能够在合适的时间和地点被合适的主体正确地访问和利用,而访问控制模型是规定主体如何访问客体的一种架构,访问控制模型从最初的自主访问控制(DAC)和强制访问控制(MAC)发展到基于角色的访问控制(RBAC),近些年来业内有出现了基于属性的访问控制(ABAC),随着动态安全能力越来越收到业界的关注,又提出了一种风险自适应的访问控制(RAdAC)。典型的访问控制流程如图1。访问控制模型的基本组成是访问控制策略,一套访问控制流程通常由一条或多条访问控制策略组成。在早期的DAC、MAC以及RBAC访问控制模型中因为定义策略时所用的操作数类型有限,例如在常见的应用于TCP或UDP层的防火墙策略中操作数的类型通常只有源地址、目的地址、源端口、目的端口、协议类型这5种。在基于角色的访问控制(RBAC)中操作数的类型通常也只有账号、角色、所属分组、部门等,即使再扩展加上时间和地点信息作为操作数,类型依然是有限的。所以定义这类访问控制策略的通常做法都是用程序实现固定格式的规则,例如:规则1:如果(角色 = 管理员)则允许访问;规则2:如果(IP地址在 10.33.1.1 到 10.34.255.255 范围内)并且(目的端口 = 8000)则不允许访问。这种规则定义很简单,因为操作数类型是有限的,数据判断运算符也是有限的,所以每一条规则的格式都不会变化,即使出现不确定数量的规则也可以通过简单定义一个数组存储来实现。
[0003]对于近些年出现的基于属性的访问控制模型(ABAC),因为该访问控制模型的操作数类型(属性)是完全不确定的,所以无法像上述模型一样用规定格式的规则来实现,对于这种模型,业界通常有2种做法:1、人为限制参与规则定义的属性的数量,运算符的类型,那么ABAC规则就和上述规则一样格式是固定的,那么完全可以通过程序固化下来;2、属性数量和运算符类型不做限制,但通过解释型语言而非编译型语言来处理复杂的规则表达式,这种做法实现起来相对简单。
[0004]上述DAC,MAC,RBAC以及有限制条件的ABAC访问控制模型规则的定义方式的缺点在于:限制了操作数类型数量以及运算符的数量,虽然规则的定义和存储都很简单但灵活性非常差,无法满足复杂条件的访问控制。
[0005]通常情况下主体发出的一个请求是否可以允许对客体执行某些动作需要经过多个策略的决策,大多数决策系统的做法是固化多个策略的执行顺序,或者只提供给使用者有限的策略组合供其选择(例如几个策略都满足才可以放行,或者几个策略只要满足一个
就可以放行),这种方式虽然比较简单的局限性很大,使用者无法按自己的想法改变多个策略的决策流程。针对上述使用解释型语言来定义和存储复杂规则的方法,虽然灵活性大幅加强,但使用解释型语言意味着每条规则在访问控制的过程中都会被实时解析,处理的性能远低于使用编译型语言来定义和存储。
[0006]公开号CN109753819A公开了一种访问策略的处理方法和装置,将策略表达式转换成代码,是直接定义代码形式的策略表达式,而这种设计是很多开源的策略引擎(opa,casbin,drools)通用的做法,对于性能提升没有帮助;且实现过程为如何从多个条件表达式中选择最后执行动作的算法,对于多种情况的适应性较差。

技术实现思路

[0007]专利技术目的:本专利技术目的在于针对现有技术的不足,提供一种网络访问控制策略的设计及存储方法,在处理多个策略时可以灵活编排策略的执行顺序,满足使用者的多种需要。
[0008]技术方案:本专利技术所述网络访问控制策略的设计及存储方法,包括:S1:构建表达式;S2:基于表达式构建规则,规则的运算结果为“真”或“假”;S3:构建动作,所述动作是指当对应的规则运算结果为“真”时,执行的命令;S4:基于规则

动作的组合构建策略;S5:设置通用模板,通用模板中“id”表示规则的唯一标识,通用模板中“expression”对应描述规则的结构化语言转换成的代码,采用通用模板将每条规则生成对应的规则文件;S6:将规则文件采用动态编译的方式转换为包含机器码的文件,对机器码附上对应策略的唯一标识后存储至内存中;S7:根据所述S4策略中规则

动作的组合逻辑,将规则和动作的组合通过程序的形式存储至内存中,执行规则时,直接执行机器码,以实现策略的运算。
[0009]进一步完善上述技术方案,所述表达式的固定格式为:操作数 + 运算符 + 操作数,其中,操作数包括函数、属性值、常量、表达式,运算符包括算术运算符、关系运算符、逻辑运算符、程序运算符。
[0010]进一步地,所述规则包括一个或不少于一个表达式,且当规则包括不少于一个表达式时,表达式之间的运算关系有且仅能为“与”和“或”中的一种。
[0011]进一步地,所述动作包括两种类型:类型一是返回与请求决策方约定好的命令,类型二是执行下一个策略。
[0012]进一步地,所述策略包括一条或不少于一条规则

动作的组合,若所述策略包括不少于一条规则

动作的组合,且第一条规则运行结果为“真”时,执行相应的动作,策略运行结束;若所述策略包括不少于一条规则

动作的组合,且第一条规则运行结果为“假”时,执行第二条规则,如此循环。
[0013]进一步地,所述S4在构建策略时,设置有默认动作,所述默认动作是指当策略执行过程中出现了不在所述规则限定范围内的情况,执行的命令。
[0014]进一步地,所述不在所述规则限定范围内的情况包括:请求携带的数据不符合要
求或者不存在导致策略执行异常;策略收到未知主体发送来的请求;在多策略执行过程中某策略被关闭;在多策略执行时出现循环调用;策略中所有规则都不满足。
[0015]进一步地,当存在多个策略时,调用链/树/图的设计进行策略编排。通常多个策略执行编排设计都是链式结构,即上一个策略执行完就执行下一个策略,按顺序一个个执行,而本专利技术中设计的策略执行过程,下一步执行什么策略会根据上一个策略的结果发生变化,并且也可以出现经过多个A
ꢀ‑
> B
ꢀ‑
> C
ꢀ‑
>A这种环形调用的情况,所以本专利技术中策略编排会出现链式,树,图三种情况。
[0016]有益效果:与现有技术相比,本专利技术的优点在于:本专利技术采用格式化语言转程序文件的方式设计和存储规则,允许一个策略中出现多个条件表达式以本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种网络访问控制策略的设计及存储方法,其特征在于,包括如下步骤:S1:构建表达式;S2:基于表达式构建规则,规则的运算结果为“真”或“假”;S3:构建动作,所述动作是指当对应的规则运算结果为“真”时,执行的命令;S4:基于规则

动作的组合构建策略;S5:设置通用模板,通用模板中“id”表示规则的唯一标识,通用模板中“expression”对应描述规则的结构化语言转换成的代码,采用通用模板将每条规则生成对应的规则文件;S6:将规则文件采用动态编译的方式转换为包含机器码的文件,对机器码附上对应策略的唯一标识后存储至内存中;S7:根据所述S4策略中规则

动作的组合逻辑,将规则和动作的组合通过程序的形式存储至内存中,执行规则时,直接执行机器码,以实现策略的运算。2.根据权利要求1所述的网络访问控制策略的设计及存储方法,其特征在于:所述表达式的固定格式为:操作数 + 运算符 + 操作数,其中,操作数包括函数、属性值、常量、表达式,运算符包括算术运算符、关系运算符、逻辑运算符、程序运算符。3.根据权利要求1所述的网络访问控制策略的设计及存储方法,其特征在于:所述规则包括一个或不少于一个表达式,且当规则包括不少于一个表达式时,表达式之间的运算关系有且仅能为“与”和“或”中的一种。4.根...

【专利技术属性】
技术研发人员:翟欣虎秦益飞杨正权
申请(专利权)人:江苏易安联网络技术有限公司
类型:发明
国别省市:

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

1