基于属性的访问控制模型ABAC
针对传统访问控制模型难以解决的动态、细粒度访问控制问题,研究人员提出了基于属性的访问控制模型(attribute-based access control,简称ABAC).ABAC 模型基于实体属性而不是用户身份来判决允许或拒绝用户对
资源的访问控制请求.ABAC 模型的核心要素包括主体、资源、操作以及环境约束,这些要素统一使用属性和属性值来进行表示,属性间的关系可以根据访问控制需求进行灵活的设置,提高了访问控制策略语义的表达能力和模型的灵活性,并且能够将其他访问控制模型中权限、安全标签、角色等概念用属性来进行统一描述,适用于解决分布式环境下动态大数据的访问控制问题.基于如下原因,我们认为,ABAC 模型相比其他模型能更好地适用于大数据访问控制场景.
(1) 细粒度访问控制:ABAC 模型通过属性来对实体及约束进行描述,能够严格控制访问者取得权限的各 种条件,精确设定属性-权限关系,实现最小权限原则;
(2) 自主授权:ABAC 模型可为资源拥有者提供策略管理接口,策略无需由管理员统一设定,资源拥有者可以根据自身实际资源保护需求发布、更新、撤销策略,保证资源能够按照资源拥有者的意愿被访问;
(3) 动态访问控制:ABAC模型依据请求者所具有的属性集合决定是否赋予其访问权限,实现了策略管理和权限判定的分离,且属性的设置与更新具有极大的灵活性和扩展性,可满足不同应用场景需求;
(4)较小的系统开销:在用户和资源数量大幅度增加的情形下,传统 DAC,RBAC 等访问控制模型策略数目将呈指数级增长,系统维护难度及开销将极大增加.而 ABAC 模型中,策略随用户和资源的增长呈线性增加,当达到一定规模后,系统开销趋于平稳[35].
为了便于本文的叙述,给出如下定义.
定义 1. 属性项(attributeitem)是表示属性的基本单元,{xAttrName=attrValue}(xAttrName∈attrSet,attrValue∈Range(xAttrName),x∈{s,r,a,e})表示,xAttrName 表示属性名,attrValue 表示属性值.为了对不同类型的属性表示方便,用 x 表示属性类型,s,r,a,e 分别代表主体属性、资源属性、动作属性和环境属性.
定义 2. 属性元组(attribute tuple)是同类型属性项的集合,用 xAttrTuple,x∈{s,r,a,e}表示,即:
xAttrTuple{(xAttrName1=attrValue1)∧(xAttrName2=attrValue2)∧…∧(xAttrNamei=attrValuei)}.
定义 3. 属性访问请求(attribute access request,简称 AAR)由一组主体属性、资源属性、动作属性和环境属
性组成,用 AAR:{sAttrTuple∧rAttrTuple∧aAttrTuple∧eAttrTuple}来表示,AAR
的含义是:属性为 sAttrTuple 的请求 者在环境属性 eAttrTuple 下,对资源 rAttrTuple 请求进行操作
aAttrTuple.
定义 4(访问控制策略). 针对资源的访问控制规则,体现了资源拥有者的授权行为,规定了访问受保护资源所需要具有的属性集合 , 记 为 Policy:result(R,action,pid)←Θ{xAttrTupleSet}signature_owner,x∈{s,r,a,e}. 其 中 ,
Θ{xAttrTupleSet}表示由属性项集合 xAttrTupleSet 中的属性通过合取、析取等逻辑关系构成的逻辑表达式,pid
表示策略 ID.当请求方所拥有的属性使Θ{xAttrTupleSet}为真时,请求方能够被允许或拒绝对资源 R 进行 action
操作,result∈{Permit,Deny}.另外,策略需要被资源拥有者或策略发行方签名后在区块链中保存,从而保证发布
策略的真实性.
总结
以上是生活随笔为你收集整理的基于属性的访问控制模型ABAC的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: php安装扩展错误:Cannot fin
- 下一篇: 初中数学结合计算机教学设计,初中数学课教