韓道軍 賈培艷 馬宇翔
摘要: 分析了基于屬性的訪問控制模型(ABAC)的工作原理及特點,并以在企業信息系統中的應用為例說明了該模型的有效性。
關鍵詞: 基于屬性的訪問控制; 企業信息系統; 信息安全
中圖分類號:TP309.2文獻標志碼:A文章編號:1006-8228(2012)05-39-02
Attribute-based access control and its application in enterprise information system
Han Daojun, Jia Peiyan, Ma Yuxiang
(Institute of Data and Knowledge Engineering, Henan University, KaiFeng, Henan 475004, China)
Abstract: The process and features of attribute based access control (ABAC) is analyzed, and the effect of ABAC by an example of applying ABAC in enterprise information system is explained.
Key words: attribute-based access control; enterprise information system; information security
0 引言
訪問控制是一種常用的資源保護手段,在眾多的信息系統中均需要使用這種重要的信息安全技術。訪問控制的核心是授權策略。授權策略是用于確定一個主體是否對客體擁有訪問能力的一套規則。在統一的授權策略下,得到授權的用戶就是合法用戶,否則就是非法用戶[1]。企業信息系統是一種業務系統,主要處理企業運行過程中產生的各種信息。企業信息系統涉及到業務流程復雜、資源種類眾多和用戶數量巨大等問題,因此,人們對訪問控制技術也更為關注。在現有的訪問控制模型中,基于屬性的訪問控制模型(Attribute-based Access Control, ABAC)以一種統一的方式對訪問控制的各個要素進行描述,使得系統的安全策略描述變得簡單、清晰,引起了研究人員和工作人員的密切關注[2]。本文首先介紹ABAC模型的工作原理和特點,然后給出ABAC在企業信息系統中的應用過程和具體應用步驟,并進一步說明了該模型的有效性。
1 背景
ABAM用屬性值元組來描述訪問矩陣中行和列對應的主體和客體,并用關于屬性的謂詞來描述指令執行條件,通過指令來修改系統狀態,然后在指令和屬性滿足某個特定條件下,確認ABAM的安全問題是可判定的[3]。在ABAM描述的基礎上,可將其擴展至統一框架——基于屬性的訪問控制(ABAC)。ABAC表示能力較強,可以作為一種統一訪問控制框架,且有相應的訪問控制語言XACML提供支持[4]。
ABAC中的基本元素包括請求者,被訪問資源,訪問方法和條件。這些元素統一使用屬性來描述,而且各個元素所關聯的屬性可以根據系統需要定義。屬性概念的引入,可以將訪問控制中對所有元素的描述統一起來,提供一種統一描述的框架。一種典型的ABAC框架如圖1所示。
[AA][NAR][PEP][資源][訪問][PDP] [PAP][AAR][響應] [屬性請求/響應] [策略][NAR:原始訪問請求AA:屬性權威AAR:基于屬性訪問請求
PEP:策略執行點PDP:策略判定點PAP:策略管理點]
圖1ABAC框架示意圖
在ABAC中,一次訪問控制判定過程描述如下。PEP接收原始訪問請求(NAR),然后根據NAR,利用不同的屬性權威(AA)中存儲的屬性信息構建一個基于屬性的訪問請求(AAR)。AAR描述了請求者、資源、方法和環境屬性。PEP將AAR傳遞給PDP,PDP根據從PAP處獲取的策略對AAR進行判定,并將判定結果傳給PEP,PEP執行此訪問判定結果。
2 應用及分析
企業信息系統是伴隨企業信息化過程而產生的業務系統。企業信息化實質上是將企業的生產過程、物料移動、事務處理、現金流動、客戶交互等業務過程數字化,通過各種信息系統網絡加工生成新的信息資源。顯然,這些信息資源需要合理而受控地使用。例如,銷售計劃是一種信息資源,在系統的使用過程中需要對其進行保護,只能提供給有權限的人員進行操作和使用。假設銷售計劃的訪問規則P1為銷售部的人能夠讀取銷售計劃,則該控制規則如圖2所示。
[Sales][Sale plans] [Read]
圖2一個訪問控制規則示例
在使用ABAC的前提下,我們可以構造訪問控制規則P1:Permit←sCategory=Sales, aID=Read, rCategory=Sale plans。
對于系統中的訪問控制規則庫,可以將其存儲在數據庫或XML文件中。由于XML文件的可擴展性強,我們選用這種方式進行編碼。對于P1,核心部分的代碼如下。
Sale
DataType="urn:oasis:names:tc:xacml:1.0:data-type:rfc822Name"/>