李 雙,袁 丁
(1.北京工商大學(xué) 理學(xué)院,北京100048;2.中國航天科工集團(tuán)第二研究院,北京100854)
強(qiáng)制訪問控制通常采用Bell-LaPadula模型,盡管自20世紀(jì)70年代提出以來,發(fā)揮了很大的作用是一個極好的模型,但它也有局限性,其一,它以犧牲其它方面為代價,而專注于保密性,而且保密建立在軍隊(duì)的安全分類模型的基礎(chǔ)上;其二,它忽略了管理分類的方式。該模型假設(shè)某人,近乎神奇的對每項(xiàng)數(shù)據(jù)進(jìn)行分類,而且這種分類永遠(yuǎn)不變;其三,有時用戶需要使用他們未被授權(quán)看到的數(shù)據(jù),由于基于Bell-LaPadula模型的強(qiáng)制訪問控制,用戶不可能看到。如,低密級主體向高密級主體書寫報告,根據(jù)讀低,寫高的原則,此低密級的主體創(chuàng)建的報告的等級安全標(biāo)記值大于等于報告的創(chuàng)建者的等級安全標(biāo)記,那么在Bell&LaPadula模型下,此報告對安全標(biāo)記大的主體(領(lǐng)導(dǎo))是可見的,領(lǐng)導(dǎo)可以進(jìn)行批示,由于讀低寫高,在領(lǐng)導(dǎo)作批示(寫)后,此報告的安全標(biāo)記又升高了,那么報告的提出者(一般職員)對此報告不再擁有可見權(quán)(讀),使得領(lǐng)導(dǎo)的批示變得毫無意義。
文獻(xiàn) [1-2]提出了一種動態(tài)的多級安全政策,采取主體的安全標(biāo)記是動態(tài)變化的,而客體的安全標(biāo)記是固定的,且隨著信息的流入(讀)流出(寫)記錄主體的標(biāo)記的歷史值。這種動態(tài)多級安全政策雖然解決了Bell-LaPadula模型中存在的一些問題,但由于仍采用非等級分類級別K,很大程度上限制了等級分類級別不同的信息間的單向或雙向流動,此性質(zhì)限制了文獻(xiàn) [1-2]中提出的動態(tài)安全政策在非軍事系統(tǒng)中的應(yīng)用。另外一點(diǎn),無論在側(cè)重信息機(jī)密性的系統(tǒng)中還是側(cè)重完整性的系統(tǒng)中,只要允許 “寫”操作(即信息的流出)就會對完整性造成威脅。本文提出一種基于角色的多級安全政策(RBMLS),將Bell-LaPadula模型中的非等級分類級別K替換為局部角色LR,并引入來源分類O,既可以實(shí)現(xiàn)等級分類級別不同的主客體信息之間的互動,又可實(shí)現(xiàn)原有數(shù)據(jù)和外來數(shù)據(jù)的有效分離,極大程度保證了數(shù)據(jù)的完整性。
多級安全政策自從在學(xué)術(shù)界提出以來一直指多級保密性,隨著信息安全研究的發(fā)展,現(xiàn)已擴(kuò)展到多級安全保密性、完整性和應(yīng)用性。在多級安全政策的實(shí)施上,典型情形是按照美國可信計(jì)算機(jī)安全評價標(biāo)準(zhǔn)(TCSEC)的某一標(biāo)準(zhǔn)的要求(Bell &Lapadula)[3]去實(shí)現(xiàn)固定的安全需求。
約定2 S是主體集合,O是客體集合,A是訪問方式集合,C是等級分類集合,K是非等級分類集合。
定義1 當(dāng)前訪問集合B:=P(S×O×A),敏感標(biāo)記集合設(shè)L1=(C1,K1)∈L,L2=(C2,K2)∈L則(L1≥L2):=(C1≥C2∧K1K2)。 敏 感 標(biāo) 記 函 數(shù) 集 合為主體敏感標(biāo)記函數(shù),fO為客體敏感標(biāo)記函數(shù),fC為主體當(dāng)前敏感標(biāo)記函數(shù)。
約定3 b(S,x,y,…,z)表示客體集合
約定4 r為只讀方式,a為只寫方式,w為讀寫方式,e為可執(zhí)行方式。
公理1(ss-特性)
公理2(*-特性)
Bell-LaPadula模型在側(cè)重機(jī)密性的系統(tǒng)中可以簡述為:讀低寫高?!白x低”是指用戶只能讀比他信任級別更低的消息;“寫高”是指用戶的信息只能寫入比他信任級別更高的區(qū)域。在側(cè)重完整性的系統(tǒng)中可以簡述為:讀高寫低?!白x高”是指用戶只能讀比他信任級別更高的信息;“寫低”是指用戶的信息只能寫入比他信任級別更低的區(qū)域。采用Bell-LaPadula模型,在側(cè)重機(jī)密性的系統(tǒng)中,信息只能從低信任級別流向高信任級別,保證了數(shù)據(jù)的機(jī)密性;在側(cè)重完整性的系統(tǒng)中,信息只能從高信任級別流向低信任級別,保證了數(shù)據(jù)的完整性。
基于角色的訪問控制是由美國國家標(biāo)準(zhǔn)與技術(shù)研究局(NIST)的Ferraiolo等人在20世紀(jì)90年代提出來的[4-5]。2001年8月,RBAC的技術(shù)提出者和NIST提出了一個建議標(biāo)準(zhǔn),建立了NIST RBAC2001技術(shù)的參考模型,定義了各種模型構(gòu)件,并給出了一套系統(tǒng)與管理功能規(guī)范。
NIST RBAC 2001模型依據(jù)4個組成部分來定義:核心RBAC,層次RBAC,靜態(tài)職責(zé)分離SSD,動態(tài)職責(zé)分離DSD這4部分。核心RBAC定義了完成RBAC所需元素和關(guān)系的最小集合。這包括用戶-角色授權(quán),角色-權(quán)限授權(quán)。核心RBAC是RBAC系統(tǒng)中的必要組成部分,其他各部分是彼此獨(dú)立的,可分離使用[6]。
鑒于基于角色的訪問控制中引入角色,我們在多級安全政策中也引入角色[7],將Bell-LaPadula模型與RBAC結(jié)合起來。把Bell-LaPadula模型中的非等級分類級別K替換為局部角色LR,同時引入來源分類O,建立新的安全政策——基于角色的多級安全政策(RBMLS)。
新政策的優(yōu)勢在于在一個組織當(dāng)中,通常局部角色大致相同,這樣既可以減少分組的麻煩又可以實(shí)現(xiàn)等級分類級別不同的主客體信息之間的互動,注意此處的角色僅為局部角色。所謂局部角色是指,局部范圍內(nèi)根據(jù)用戶的職能權(quán)限授予用戶的角色??梢院唵蔚乩斫鉃橛脩粼诰植糠秶鷥?nèi)的職位。局部角色為RBAC模型中角色的組成部分。如,銷售部和財(cái)務(wù)部的局部角色均可設(shè)置為經(jīng)理、主管和一般職員。但這些局部角色對應(yīng)到RBAC模型中的角色分別為銷售部經(jīng)理、銷售部主管、銷售部一般職員;財(cái)務(wù)部經(jīng)理、財(cái)務(wù)部主管、財(cái)務(wù)部一般職員。同時由于引入來源分類,實(shí)現(xiàn)了原有數(shù)據(jù)和外來數(shù)據(jù)的有效分離,極大程度保證了數(shù)據(jù)的完整性。
RBMLS同樣包括主體(角色)、客體、訪問集合等概念。這里不作敘述。
在側(cè)重機(jī)密性系統(tǒng)中,引入兩個標(biāo)記函數(shù)(fl,fh),分別表示一個進(jìn)程在一次會話中的最小標(biāo)記值和最大標(biāo)記值。初始標(biāo)記設(shè)置為fl=LOW(系統(tǒng)的最小標(biāo)記值),fh=HIGH(系統(tǒng)的最大標(biāo)記值),fS,3=fC,3=i(將主體標(biāo)記的第三個分量fS,3設(shè)置為i)這樣設(shè)置的目的是使得主體對原有信息及低密級流入信息的全部可見性。T(o,s)=true表示允許信息從o流入s,T(o,s)=false表示禁止信息從o流入s。
(1)信息從客體o流入主體時s(s“讀”o),判定條件及主體標(biāo)記變化規(guī)則(2.1):
(2)在信息從主體s流向客體o時(s“寫”o),判定條件及主體標(biāo)記變化規(guī)則(2.2):
if(fO,3=i)/*確保寫入信息的標(biāo)記的第三分量固定,與原本信息分離。*/
(3)當(dāng)信息在主客體s和o之間雙向流動時(“讀寫”o),判定條件及變化規(guī)則(2.3):
if(fO,3=i)/*確保寫入信息的標(biāo)記的第三分量固定,與原本信息分離。*/
對等級分類級別不同的主客體來說,如果主體對客體有 “寫”的需求時,此時將主體的fC設(shè)置為fC=(C,LR,i),也就是說主體只能在標(biāo)記第三分量為i的區(qū)域中寫。例如:銷售部的機(jī)密性級別設(shè)為1,局部角色分類設(shè)為LRmax≥LR1≥LR2≥LR3≥LRmin,財(cái)務(wù)部的機(jī)密性級別設(shè)為2,局部角色分類也設(shè)為LRmax≥LR1≥LR2≥LR3≥LRmin。我們假設(shè)局部角色分類LR1,LR2,LR3,分別代表局部角色經(jīng)理、主管、一般職員。在銷售部向財(cái)務(wù)部遞交報告的情況下(對應(yīng)信息從低向高流的情況),此時系統(tǒng)自動將fC,fl設(shè)置為fC:=(C,K,i),fl:=(C,K,i)即將標(biāo)記的第三分量設(shè)為i。也就是下級部門的人員可以向上級部門任何職位高于或等于自己的領(lǐng)導(dǎo)進(jìn)行匯報。(信息從低向高流),但寫入的東西放在特定的位置,也就是只能對特定的位置輸入信息流。一個更明顯的例子就是在一目錄下建立一個incoming文件夾,所有外來文件只能放在incoming中,這樣可以保證此目錄下其他文件或文件夾的完整性。由于財(cái)務(wù)部門數(shù)據(jù)完整性的重要性,這樣實(shí)現(xiàn)了流入信息和原有信息的分離。由此例可以看出RBMLS中由局部角色代特非等級分類的好處在于:銷售部和財(cái)務(wù)部的非等級分類一般來講沒有包含關(guān)系(財(cái)務(wù)部的組與銷售部的組通常沒有包含關(guān)系),但由局部角色來看具有層次關(guān)系,因此可以實(shí)現(xiàn)這兩個部門之間信息的單向或雙向流動性。至于來源分類的作用在此例中也是很明顯的。
在讀低的原則下,低密級信息中同樣存在需要對高密級主體保密的信息。如,銷售部肯定存在不應(yīng)被財(cái)務(wù)部所見的信息。我們將此類信息的標(biāo)記設(shè)為(C,LRmax,o)。此做法可使即使等級分類級別高于C主體對此部分信息仍然不可見。
在側(cè)重機(jī)密性的系統(tǒng)中,存在一類稱為公共信息的部分,此部分對所有主體應(yīng)該是可見的。但所有主體均沒有修改的權(quán)利。那么這一類消息處理為( C,LRmin,o)類。
對等級分類級別相同的主客體的訪問權(quán)限,此時將局部角色分類集合均設(shè)為一個默認(rèn)的值,然后根據(jù)角色的組織職能進(jìn)行授權(quán)。對角色新創(chuàng)建的客體,其標(biāo)記等于該角色的標(biāo)記。但注意標(biāo)記的第三分量為o,與其他非同級等級分類級別流入的信息相區(qū)別。
我們看一下在客戶關(guān)系管理系統(tǒng)中,上述安全政策的實(shí)施情況。由銷售部內(nèi)部成員(角色)創(chuàng)建的客體的等級分類級別均相同,只是非等級分類級別反映角色的職位,來源級別均為o。此時當(dāng)銷售部經(jīng)理打一份報給財(cái)務(wù)部審批的資金申請file,則Lfile=(1,LR1,o)。這分報告只對財(cái)務(wù)部經(jīng)理可見,當(dāng)財(cái)務(wù)部經(jīng)理的標(biāo)記滿足規(guī)則(2.3)時,則有對此報告的讀寫權(quán),且寫完后不改變客體file的標(biāo)記值,這樣,銷售部經(jīng)理對此報告始終享有可見權(quán),可以閱讀財(cái)務(wù)經(jīng)理的批示意見。再一點(diǎn),雖然銷售部人員享有對財(cái)務(wù)部數(shù)據(jù)的可寫權(quán),由于在標(biāo)記中引進(jìn)來源分類這一分量,下級對上級寫入的信息放在 “特定的位置”(特殊標(biāo)記值i),使得原有信息(特殊標(biāo)記值o)和低密級流入信息(特殊標(biāo)記值i)的分離,不會造成對財(cái)務(wù)部數(shù)據(jù)的惡意篡改。
在側(cè)重完整性系統(tǒng)中,有類似側(cè)重機(jī)密性系統(tǒng)中的定義。fS,3=fc,3=o(將主體標(biāo)記的第三個分量fS,3設(shè)置為o)這樣設(shè)置的目的是使得主體對原有信息及高密級流入信息的全部可見性。T(o,s)=true表示允許信息從o流入s,T(o,s)=false表示禁止信息從o流入s。
(4)信息從客體o流入主體s時(s“讀”o),判定條件及主體標(biāo)記變化規(guī)則(2.4):
(5)在信息從主體s流向客體o時(s“寫”o),判定條件及主體標(biāo)記變化規(guī)則(2.5):
if(fO,3=o)/*確保寫入信息的標(biāo)記的第三分量固定,與原本信息分離。*/
(6)當(dāng)信息在主客體s和o之間雙向流動時(“讀寫”o),判定條件 及變化規(guī)則(2.6):
if(fO,3=o)/*確保寫入信息的標(biāo)記的第三分量固定,與原本信息分離。*/
在側(cè)重完整性的系統(tǒng)中,進(jìn)行 “寫”操作時,設(shè)置主體的標(biāo)記為(C,LR,o),此時由相同等級分類級別創(chuàng)建的客體的標(biāo)記值為(C,LR,i)。將需要保密的信息的標(biāo)記設(shè)為(C,LRmin,i),對全局可見信息標(biāo)記設(shè)為(C,LRmax,i)。
為使RBAC適用于更廣的范圍,不能允許在進(jìn)行角色-權(quán)限配置時完全地采取一種自主的原則,需要有強(qiáng)制的安全政策來保證訪問控制的全局統(tǒng)一性。在RBAC實(shí)現(xiàn)中如果僅采取RBMLS安全政策會出現(xiàn)等級分類級別相同的不同部門的數(shù)據(jù)的全部可見性,產(chǎn)生此問題的原因在于通常情況下局部角色的一致性。如銷售部和人事部的機(jī)密性級別和完整性級別均相同,又由于局部角色均為經(jīng)理、主管和一般職員。那么根據(jù)RBMLS的原則,這兩個部門的數(shù)據(jù)就沒有可分性,這顯然是不合理的。因此需要將RBAC與RBMLS和身份(ID)結(jié)合起來實(shí)現(xiàn)既有強(qiáng)制訪問政策約束又有自主訪問政策靈活性的安全政策,這種處理方式特別適用于網(wǎng)絡(luò)環(huán)境[8]。
準(zhǔn)則1:在RBAC中由于將權(quán)限劃分為公共權(quán)限和私有權(quán)限,用戶通過角色獲取的僅是該角色的公共權(quán)限,用戶只有通過角色和身份信息才可以獲取客戶的公共權(quán)限及用戶的私有權(quán)限[9]。
準(zhǔn)則2:在RBMLS中用戶要獲取某一權(quán)限需要提供用戶的局部角色和用戶的標(biāo)記值。由于在RBMLS中引入了角色的概念,用戶的標(biāo)記值完全可以通過用戶的角色屬性來獲取。
因此用戶先通過擁有角色和身份獲取相關(guān)權(quán)限,再根據(jù)安全標(biāo)記通過RBMLS獲取相關(guān)權(quán)限(注:對等級分類級別相同的主客體,此時將局部角色分類集合均設(shè)為一個默認(rèn)的值,這樣處理的實(shí)質(zhì)作用是屏蔽RBMLS,然后根據(jù)角色的組織職能進(jìn)行授權(quán),這就使得訪問控制政策具有較強(qiáng)的靈活性),這兩個相關(guān)權(quán)限的交集為用戶的最終權(quán)限,參見圖1。
圖1 RBMLS政策中用戶權(quán)限
在網(wǎng)絡(luò)環(huán)境中主要的兩種獲取用戶屬性的方式,它們分別是用戶—拉(user_pull)方式和服務(wù)器-拉(server_pull)方式[10]。由于服務(wù)器-拉(server_pull)方式適合于用戶終端可移動的網(wǎng)絡(luò)訪問,這里我們采取這種方式。在服務(wù)器-拉(server_pull)方式下,每一 Web Server從Role Server處獲取相關(guān)屬性信息(角色信息等)。當(dāng) Web Server對Role Server提供的屬性信息的完整性進(jìn)行驗(yàn)證后,如果無誤則Web Server依此屬性信息,根據(jù)多級安全政策獲取權(quán)限,實(shí)施訪問控制策略[11-12]。
組成元素:客戶機(jī)(client),網(wǎng)絡(luò)服務(wù)器(Web Server),角色服務(wù)器(Role Server),身份認(rèn)證服務(wù)器(Authentication Server)。
基本原理:Web Server根據(jù)Role Server提供的用戶所對應(yīng)的角色,角色權(quán)限配置以及多級安全政策授予用戶相應(yīng)的訪問許可。需要保證用戶的角色等屬性信息的機(jī)密性、完整性、不可偽造性。
算法:
(1)用戶與Authentication Server交互,獲取身份證書;
(2)用戶與Web Server建立會話,提供Authentication Server頒發(fā)的證書;
(3)Web Server從Role Server處下載相關(guān)信息并保存;
(4)Web Server依據(jù)RBAC和RBMLS給與用戶權(quán)限,當(dāng)主體S客體O有訪問權(quán)限p的請求時:
具體流程參見圖2。
圖2 RBMLS在RBAC實(shí)現(xiàn)
3.3.1 機(jī)密性、完整性
通過加密算法保證機(jī)密性,通過可信第三方證書和數(shù)字簽名保證通訊過程的完整性。
3.3.2 不可偽造性
設(shè)置身份認(rèn)證服務(wù)器(Authentication Server)頒發(fā)身份證書,既實(shí)現(xiàn)身份的不可偽造性,又可以減少身份識別的次數(shù)。用戶與 Web Server,Web Server與 Web Server會話的第一步是認(rèn)證,保證通信雙方的不可偽造性。
3.3.3 同步性
Web Server從Role Server處下載相關(guān)信息并保存。盡管在Web Server處保存屬性信息可達(dá)到屬性信息的可重用性,但為做到 Web Server處的屬性信息與Role Server處的同步性,在Role Server處需要保存Web Server處的屬性信息版本和自己本地的屬性信息的最新版本。那么在每次用戶登錄 Web Server時,Web Server通知 Role Server,Role Server只將屬性的更改信息傳給 Web Server,這樣可以減少與 Web Server的通信量。而且可以使得 Web Server處的屬性信息實(shí)時變化,提供一個實(shí)時的動態(tài)的多級安全政策,從而進(jìn)行動態(tài)訪問控制。
3.3.4 高效性
在Web Server保存的角色屬性信息使用 Web Server的自簽名。這樣處理的好處是支持與Role Server每次交互只傳輸消息的更改部分,實(shí)現(xiàn)較少通信量。否則,用Role Server的簽名信息來保證消息的完整性,那么每次Role Server均需要重新對全部消息進(jìn)行簽名并且需要將這個簽名與消息的更改部分進(jìn)行綁定,再進(jìn)行整體簽名,這樣增加了Role Server和 Web Server的通信量,降低了效率。
RBMLS雖然用局部角色替代非等級分類,實(shí)現(xiàn)了等級分類級別不同,局部角色具有層次關(guān)系的主客體的數(shù)據(jù)互動性。且在側(cè)重機(jī)密性的系統(tǒng)中保證了數(shù)據(jù)一定程度的完整性;在側(cè)重完整性的系統(tǒng)中保證了數(shù)據(jù)一定程度的機(jī)密性。但RBMLS中對在既注重機(jī)密性又注重完整性的系統(tǒng)中如何實(shí)現(xiàn)沒有作討論。因此RBMLS還是一個開放的課題,值得繼續(xù)深入研究。
[1]SHI Wenchang,SUN Yufang.History sensitivity of the multilevel security policies[J].Journal of Software,2003,14(1):91-96(in Chinese).[石文昌,孫玉芳.多級安全性政策的歷史敏感性 [J].軟件學(xué)報,2003,14(1):91-96.]
[2]LIANG Hongliang,SUN Yufang,ZHAO Gongqing,et al.Design and implementation of a security label common framework[J].Journal of Software,2003,14(3):547-552(in Chinese).[梁洪亮,孫玉芳,趙慶松,等.一個安全標(biāo)記公共框架的設(shè)計(jì)與實(shí)現(xiàn) [J].軟件學(xué)報,2003,14(3):547-552.]
[3]Elliott Bell D,La Padula L J.Secure computer system:unified exposition and multics interpretation [R].USA:Electronic Systems Division,1976.
[4]Ferraiolo D F,Kuhn D R.Role-based access control[C].Baltimore:Proceedings of 15th National Computer Security Conference,1992.
[5]Jansen W A.A revised model for role-based access control[R].USA:Gaithersburg,MD:U.S.Department of Commerce Technology Administration National Institute of Standards and Technology,1998.
[6]Ferraiolo D F,Sandhu R,Gavrila S,et al.Proposed NIST standard for role-based access control[J].ACM Transactions on Information and System Security,2001,4(3):224-274.
[7]LOU J,Myong Kang.Infrastructure for multi-level secure service-oriented architecture(MLS-SOA)[C].San Jose,CA:Military Communications Conference,2010.
[8]Al-Nedhami I M,Sinha P K.A privacy framework for composite web services [C].Bangalore,India:The Second International Workshop on Service Oriented and Optimization,2008.
[9]GAO Dongqun.Role-h(huán)ierarchy-based task delegation model in workflow [J].Computer Engineering and Design,2011,3(26):1926-1929(in Chinese).[高東群.工作流系統(tǒng)中基于角色層次的任務(wù)轉(zhuǎn)授權(quán)模型 [J].計(jì)算機(jī)工程與設(shè)計(jì),2011,3(26):1926-1929.]
[10]Rattikorn Hewett,Phongphun Kijsanayothin.Privacy and recovery in composite web service transactions[J].International Journal for Infonomics(IJI),2010,3(2):240-248.
[11]Sathiaseelan J G R,Albert Rabara S,Ronald Martin J.MLSF:A framework for multi-level secure composite web services [J].Advances in Information Sciences and Service Sciences,2010,2(4):71-78.
[12]Hewett R,Kijsanayothin P.On securing privacy in composite web service transactions [C].London:The 5th International Conference for Internet Technology and Secured Transactions ,2009.