韓道軍 賈培艷 馬宇翔
摘要: 分析了基于屬性的訪(fǎng)問(wèn)控制模型(ABAC)的工作原理及特點(diǎn),并以在企業(yè)信息系統(tǒng)中的應(yīng)用為例說(shuō)明了該模型的有效性。
關(guān)鍵詞: 基于屬性的訪(fǎng)問(wèn)控制; 企業(yè)信息系統(tǒng); 信息安全
中圖分類(lèi)號(hào):TP309.2文獻(xiàn)標(biāo)志碼:A文章編號(hào):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 引言
訪(fǎng)問(wèn)控制是一種常用的資源保護(hù)手段,在眾多的信息系統(tǒng)中均需要使用這種重要的信息安全技術(shù)。訪(fǎng)問(wèn)控制的核心是授權(quán)策略。授權(quán)策略是用于確定一個(gè)主體是否對(duì)客體擁有訪(fǎng)問(wèn)能力的一套規(guī)則。在統(tǒng)一的授權(quán)策略下,得到授權(quán)的用戶(hù)就是合法用戶(hù),否則就是非法用戶(hù)[1]。企業(yè)信息系統(tǒng)是一種業(yè)務(wù)系統(tǒng),主要處理企業(yè)運(yùn)行過(guò)程中產(chǎn)生的各種信息。企業(yè)信息系統(tǒng)涉及到業(yè)務(wù)流程復(fù)雜、資源種類(lèi)眾多和用戶(hù)數(shù)量巨大等問(wèn)題,因此,人們對(duì)訪(fǎng)問(wèn)控制技術(shù)也更為關(guān)注。在現(xiàn)有的訪(fǎng)問(wèn)控制模型中,基于屬性的訪(fǎng)問(wèn)控制模型(Attribute-based Access Control, ABAC)以一種統(tǒng)一的方式對(duì)訪(fǎng)問(wèn)控制的各個(gè)要素進(jìn)行描述,使得系統(tǒng)的安全策略描述變得簡(jiǎn)單、清晰,引起了研究人員和工作人員的密切關(guān)注[2]。本文首先介紹ABAC模型的工作原理和特點(diǎn),然后給出ABAC在企業(yè)信息系統(tǒng)中的應(yīng)用過(guò)程和具體應(yīng)用步驟,并進(jìn)一步說(shuō)明了該模型的有效性。
1 背景
ABAM用屬性值元組來(lái)描述訪(fǎng)問(wèn)矩陣中行和列對(duì)應(yīng)的主體和客體,并用關(guān)于屬性的謂詞來(lái)描述指令執(zhí)行條件,通過(guò)指令來(lái)修改系統(tǒng)狀態(tài),然后在指令和屬性滿(mǎn)足某個(gè)特定條件下,確認(rèn)ABAM的安全問(wèn)題是可判定的[3]。在ABAM描述的基礎(chǔ)上,可將其擴(kuò)展至統(tǒng)一框架——基于屬性的訪(fǎng)問(wèn)控制(ABAC)。ABAC表示能力較強(qiáng),可以作為一種統(tǒng)一訪(fǎng)問(wèn)控制框架,且有相應(yīng)的訪(fǎng)問(wèn)控制語(yǔ)言XACML提供支持[4]。
ABAC中的基本元素包括請(qǐng)求者,被訪(fǎng)問(wèn)資源,訪(fǎng)問(wèn)方法和條件。這些元素統(tǒng)一使用屬性來(lái)描述,而且各個(gè)元素所關(guān)聯(lián)的屬性可以根據(jù)系統(tǒng)需要定義。屬性概念的引入,可以將訪(fǎng)問(wèn)控制中對(duì)所有元素的描述統(tǒng)一起來(lái),提供一種統(tǒng)一描述的框架。一種典型的ABAC框架如圖1所示。
[AA][NAR][PEP][資源][訪(fǎng)問(wèn)][PDP] [PAP][AAR][響應(yīng)] [屬性請(qǐng)求/響應(yīng)] [策略][NAR:原始訪(fǎng)問(wèn)請(qǐng)求AA:屬性權(quán)威AAR:基于屬性訪(fǎng)問(wèn)請(qǐng)求
PEP:策略執(zhí)行點(diǎn)PDP:策略判定點(diǎn)PAP:策略管理點(diǎn)]
圖1ABAC框架示意圖
在ABAC中,一次訪(fǎng)問(wèn)控制判定過(guò)程描述如下。PEP接收原始訪(fǎng)問(wèn)請(qǐng)求(NAR),然后根據(jù)NAR,利用不同的屬性權(quán)威(AA)中存儲(chǔ)的屬性信息構(gòu)建一個(gè)基于屬性的訪(fǎng)問(wèn)請(qǐng)求(AAR)。AAR描述了請(qǐng)求者、資源、方法和環(huán)境屬性。PEP將AAR傳遞給PDP,PDP根據(jù)從PAP處獲取的策略對(duì)AAR進(jìn)行判定,并將判定結(jié)果傳給PEP,PEP執(zhí)行此訪(fǎng)問(wèn)判定結(jié)果。
2 應(yīng)用及分析
企業(yè)信息系統(tǒng)是伴隨企業(yè)信息化過(guò)程而產(chǎn)生的業(yè)務(wù)系統(tǒng)。企業(yè)信息化實(shí)質(zhì)上是將企業(yè)的生產(chǎn)過(guò)程、物料移動(dòng)、事務(wù)處理、現(xiàn)金流動(dòng)、客戶(hù)交互等業(yè)務(wù)過(guò)程數(shù)字化,通過(guò)各種信息系統(tǒng)網(wǎng)絡(luò)加工生成新的信息資源。顯然,這些信息資源需要合理而受控地使用。例如,銷(xiāo)售計(jì)劃是一種信息資源,在系統(tǒng)的使用過(guò)程中需要對(duì)其進(jìn)行保護(hù),只能提供給有權(quán)限的人員進(jìn)行操作和使用。假設(shè)銷(xiāo)售計(jì)劃的訪(fǎng)問(wèn)規(guī)則P1為銷(xiāo)售部的人能夠讀取銷(xiāo)售計(jì)劃,則該控制規(guī)則如圖2所示。
[Sales][Sale plans] [Read]
圖2一個(gè)訪(fǎng)問(wèn)控制規(guī)則示例
在使用ABAC的前提下,我們可以構(gòu)造訪(fǎng)問(wèn)控制規(guī)則P1:Permit←sCategory=Sales, aID=Read, rCategory=Sale plans。
對(duì)于系統(tǒng)中的訪(fǎng)問(wèn)控制規(guī)則庫(kù),可以將其存儲(chǔ)在數(shù)據(jù)庫(kù)或XML文件中。由于XML文件的可擴(kuò)展性強(qiáng),我們選用這種方式進(jìn)行編碼。對(duì)于P1,核心部分的代碼如下。
Sale
DataType="urn:oasis:names:tc:xacml:1.0:data-type:rfc822Name"/>