基于属性的访问控制模型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
- 下一篇: 初中数学结合计算机教学设计,初中数学课教