專利名稱:一種用于授權(quán)系統(tǒng)的信息流單向性驗證方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機(jī)信息安全技術(shù)領(lǐng)域,具體地說,本發(fā)明涉及應(yīng)用于信息安全測 評和等級保護(hù)方案中的信息流單向性驗證方法。
背景技術(shù):
我國信息安全測評和等級保護(hù)工作中,需要對重要信息系統(tǒng)進(jìn)行訪問控制功能符 合性測試。而強(qiáng)制訪問控制(MandatoryAccessControl,簡稱MAC)是被廣泛采用的一種訪 問控制策略,它關(guān)注敏感標(biāo)記格中的信息的單向流動,可應(yīng)用于保密性策略、完整性策略或 二者結(jié)合,也可被用于表達(dá)混合策略如中國墻策略等。MAC的核心就是要求信息流動不存在 環(huán)路,即要求信息流具有單向性。理論上,具有信息流單向性的計算機(jī)系統(tǒng)能夠有效抑制信 息泄露和信息篡改,排除網(wǎng)絡(luò)系統(tǒng)的安全隱患。隨著計算機(jī)和網(wǎng)絡(luò)技術(shù)的普及,計算機(jī)系統(tǒng) 越來越龐大和繁雜,可能涉及數(shù)以千計的用戶、數(shù)以萬計的資源、百萬級的授權(quán)規(guī)模。這種 大系統(tǒng)中,往往多種訪問控制策略并存,相互影響,造成安全上的隱患,因此有必要對其進(jìn) 行信息流單向性驗證。即一方面,需要驗證系統(tǒng)中的信息流動是否單向,另一方面,對于不 符合單向流動的策略集,還要進(jìn)一步研究如何以最小代價進(jìn)行調(diào)整,使其符合單向性。目前常用的訪問控制策略中信息流的單向性驗證主要包括兩個步驟步驟1是找 出訪問控制信息流動中所有存在的環(huán)路,步驟2是依據(jù)策略的重要程度,刪除環(huán)路上的一 些邊,使得付出代價最小且能消除所有環(huán)路。對于步驟1要解決的問題,已知的有向圖的漢 密爾頓回路問題是該問題的子問題,本身已是NP問題(Non-deterministic Polynomial, 即是多項式復(fù)雜程度的非確定性問題)中的完全問題,目前還不存在理想算法,大都使用 窮舉法。計算N個頂點的問題,窮舉法的時間復(fù)雜度為0(N !),這是階乘的“組合爆炸”, 求解所有環(huán)問題則更加困難,窮舉法求解所有環(huán)的時間復(fù)雜度為,具體可參考作 者為趙禹驊,李可柏,任偉民的文獻(xiàn)求簡單有向圖所有基本回路的強(qiáng)核圖論算法.西南 交通大學(xué)學(xué)報,2004,39 (5) :565-568。另外,作者為 Donald B. Johnson 的文獻(xiàn) binding all the elementary circuits of a directed graph. SIAM Journal on Computing. 1975, 4(1) :77-84給出了一種經(jīng)典的求解有向圖所有環(huán)的算法,該算法的時間復(fù)雜度是0((n+e) (e+1)),其中η是圖中頂點個數(shù),e是邊的個數(shù),c是圖中簡單環(huán)的個數(shù),若圖中環(huán)的個數(shù)與 頂點個數(shù)成指數(shù)關(guān)系時,算法時間仍是指數(shù)復(fù)雜度,因此該算法的應(yīng)用只能局限于一些特 殊情形,其性能不夠穩(wěn)定。而對于步驟2,目前缺乏有針對性的解決方案,一般只能使用窮舉 法。設(shè)所有環(huán)包含的邊的個數(shù)為m,如果窮盡狀態(tài),則時間復(fù)雜度是2m,可以看出該時間復(fù) 雜度為指數(shù)復(fù)雜度。綜上所述,目前已知的信息流單向性驗證方法都不是多項式時間算法,當(dāng)面對有 數(shù)以千計的用戶、數(shù)以萬計的資源、百萬級的授權(quán)規(guī)模的大系統(tǒng)時,這些算法在計算時間上 均不可行,當(dāng)且迫切需要尋找更加有效的能夠降低時間復(fù)雜度的適合于大規(guī)模授權(quán)系統(tǒng)的 信息流單向性驗證方法。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種更加有效的能夠降低時間復(fù)雜度的適合于大規(guī)模授權(quán) 系統(tǒng)的信息流單向性驗證方法。為實現(xiàn)上述發(fā)明目的,本發(fā)明提供了一種用于授權(quán)系統(tǒng)的信息流單向性驗證方 法,包括下列步驟1)確定待驗證訪問控制矩陣;2)建立一個針對所述授權(quán)系統(tǒng)的主體和客體的標(biāo)記分配方案;3)將所述標(biāo)記分配方案轉(zhuǎn)換為BLP授權(quán)訪問控制矩陣;4)計算所述BLP授權(quán)訪問控制矩陣與待驗證訪問控制矩陣之間的距離;5)根據(jù)所述BLP授權(quán)訪問控制矩陣與待驗證訪問控制矩陣之間的距離調(diào)整所述 標(biāo)記分配方案;6)按照步驟3)至5)反復(fù)迭代,使所述BLP授權(quán)訪問控制矩陣與待驗證訪問控制 矩陣之間的距離不斷減小并收斂;7)根據(jù)所述BLP授權(quán)訪問控制矩陣與待驗證訪問控制矩陣之間的距離的收斂值 判斷待驗證訪問控制矩陣的單向性。其中,所述步驟1)還包括下列子步驟11)將所述訪問控制矩陣轉(zhuǎn)化為加權(quán)有向圖;12)刪除加權(quán)有向圖中出度或入度為0的頂點及其關(guān)聯(lián)邊,得到化簡后的加權(quán)有 向圖;13)將化簡后的加權(quán)有向圖恢復(fù)為訪問控制矩陣,并將該訪問控制矩陣作為所述 授權(quán)系統(tǒng)的等效訪問控制矩陣進(jìn)行單向性驗證。其中,所述步驟3)中,按下列步驟確定所述BLP授權(quán)訪問控制矩陣21)確定一個敏感標(biāo)記集合丄=^,岣。6 0口尺1;其中,c是密級,k是范疇;22)選取一個標(biāo)記分配方案,用所述敏感標(biāo)記集合中的元素(c,k)對待驗證授權(quán) 系統(tǒng)中的所有主體和客體分別進(jìn)行標(biāo)記;23)按照各主體和客體的敏感標(biāo)記確定BLP授權(quán)訪問控制矩陣。其中,所述步驟5)還包括,采用遺傳算法、進(jìn)化算法或蟻群算法使所述標(biāo)記分配 方案對應(yīng)的BLP授權(quán)訪問控制矩陣逼近所述授權(quán)系統(tǒng)的訪問控制矩陣。其中,所述步驟7)還包括,當(dāng)所述BLP授權(quán)訪問控制矩陣與待驗證訪問控制矩陣 之間的距離的收斂值為0時,判斷待驗證訪問控制矩陣具有單向性;當(dāng)所述BLP授權(quán)訪問控 制矩陣與待驗證訪問控制矩陣之間的距離的收斂值不為0時,判斷待驗證訪問控制矩陣不 具有單向性。其中,所述單向性驗證方法還包括步驟8);8)當(dāng)待驗證訪問控制矩陣不具有單向性時,根據(jù)最優(yōu)標(biāo)記分配方案修改所述待驗 證訪問控制矩陣;所述最優(yōu)標(biāo)記分配方案是所述BLP授權(quán)訪問控制矩陣與待驗證訪問控制 矩陣距離的收斂值所對應(yīng)的標(biāo)記分配方案。其中,所述單向性驗證方法還包括步驟8);8)當(dāng)待驗證訪問控制矩陣不具有單向性時,根據(jù)最佳標(biāo)記分配方案修改所述待驗 證訪問控制矩陣;所述最佳標(biāo)記分配方案是在預(yù)設(shè)的迭代次數(shù)或搜索時間范圍內(nèi)得到的所述BLP授權(quán)訪問控制矩陣與待驗證訪問控制矩陣距離的最小值所對應(yīng)的標(biāo)記分配方案。與現(xiàn)有技術(shù)相比,本發(fā)明具有下列技術(shù)效果1、能夠有效地降低時間復(fù)雜度,使之符合多項式時間復(fù)雜度要求,顯著地提高了 單向性驗證的效率;2、能夠確保授權(quán)系統(tǒng)的信息流符合單向性要求;
3、特別適合應(yīng)用于大規(guī)模授權(quán)系統(tǒng)。
圖1示出了本發(fā)明一個實施例的單向性驗證方法的流程圖;圖2示出了本發(fā)明一個實施例中的原始訪問控制策略示意圖;圖3示出了本發(fā)明一個實施例中的原始訪問控制策略對應(yīng)的加權(quán)有向圖;圖4示出了本發(fā)明一個實施例中的化簡后的加權(quán)有向圖;圖5示出了本發(fā)明一個實施例中單向性修正后的訪問控制策略示意圖;圖6示出了本發(fā)明一個實施例中單向性修正后的訪問控制策略對應(yīng)的加權(quán)有向 圖。
具體實施例方式以下,結(jié)合附圖和實施例對本發(fā)明作詳細(xì)說明。首先介紹所涉及的一些概念。客體信息的載體,如文件、頁面、數(shù)據(jù)庫中的表等。主體引起信息在客體之間流動的人、進(jìn)程或設(shè)備等。敏感標(biāo)記在多級安全中,主客體都會被加上敏感標(biāo)記,敏感標(biāo)記包括范疇和密級
兩部分。敏感標(biāo)記集合表示為丄=丨C e C,A g ,其中,密級集合C是大小可以比較
的線性序列,例如{公開,秘密,機(jī)密,絕密},密級從“公開”到“絕密”越來越高。范疇集合 K中的范疇是非等級的應(yīng)用領(lǐng)域或類別,例如{人事,財務(wù),業(yè)務(wù)},范疇“人事”和范疇“財 務(wù)”沒有大小之分,互相獨(dú)立。敏感標(biāo)記之間存在支配關(guān)系。當(dāng)且僅當(dāng)c' ^cRk'^km, 敏感標(biāo)記(c,k)支配敏感標(biāo)記(c‘ , k')。當(dāng)范疇k與k'沒有包含關(guān)系時,則敏感標(biāo)記 (c,k)與敏感標(biāo)記(c',k')之間不存在支配關(guān)系。訪問權(quán)限在訪問控制系統(tǒng)中,主體對客體的訪問權(quán)限一般有“讀”、“寫”、“讀/寫” 和“空”四種權(quán)限。本發(fā)明中,把主體對客體的有何種訪問權(quán)限與兩者的敏感標(biāo)記大小關(guān)系(即支配 關(guān)系)對應(yīng)起來。若主體的敏感標(biāo)記支配客體的敏感標(biāo)記,則主體對客體的權(quán)限是“讀”,若 客體的敏感標(biāo)記支配主體的敏感標(biāo)記,則主體對客體的權(quán)限是“寫”,若主體的敏感標(biāo)記等 于客體的敏感標(biāo)記,則主體對客體的權(quán)限是“讀/寫”。若主體和客體的敏感標(biāo)記之間不存 在支配關(guān)系,則主體對客體的權(quán)限是“空”。出度(out-degree)和入度(in-degree)對有向圖而言,一個頂點的出度為d,是 指有d條邊以該頂點為起點,或者說與該點關(guān)聯(lián)的出邊有d條。一個頂點的入度為d,是指 有d條邊以該頂點為終點,或者說與該點關(guān)聯(lián)的入邊有d條。根據(jù)本發(fā)明的一個實施例,提供了一種用于授權(quán)系統(tǒng)的信息流單向性驗證方法。
5包括下列步驟1)確定待驗證訪問控制矩陣;2)建立一個針對所述授權(quán)系統(tǒng)的主體和客體的標(biāo)記分配方案;3)將所述標(biāo)記分配方案轉(zhuǎn)換為BLP (全稱為Bell&La Padula,具體內(nèi)容將在下文 中詳細(xì)介紹)授權(quán)訪問控制矩陣;4)計算所述BLP授權(quán)訪問控制矩陣與待驗證訪問控制矩陣之間的距離;5)根據(jù)所述BLP授權(quán)訪問控制矩陣與待驗證訪問控制矩陣之間的距離調(diào)整所述 標(biāo)記分配方案;6)按照步驟3)至5)反復(fù)迭代,使所述BLP授權(quán)訪問控制矩陣與待驗證訪問控制 矩陣之間的距離不斷減小并收斂;7)根據(jù)所述BLP授權(quán)訪問控制矩陣與待驗證訪問控制矩陣之間的距離的收斂值 判斷待驗證訪問控制矩陣的單向性。進(jìn)一步地,所述單向性驗證方法還可以包括步驟8);8)當(dāng)待驗證訪問控制矩陣不具有單向性時,根據(jù)最優(yōu)標(biāo)記分配方案修改所述待驗 證訪問控制矩陣;所述最優(yōu)標(biāo)記分配方案是所述BLP授權(quán)訪問控制矩陣與待驗證訪問控制 矩陣距離的收斂值所對應(yīng)的標(biāo)記分配方案。在另一個實施例中,所述步驟8)還可以是8)當(dāng)待驗證訪問控制矩陣不具有單向性時,根據(jù)最佳標(biāo)記分配方案修改所述待驗 證訪問控制矩陣;所述最佳標(biāo)記分配方案是在預(yù)設(shè)的迭代次數(shù)或搜索時間范圍內(nèi)得到的所 述BLP授權(quán)訪問控制矩陣與待驗證訪問控制矩陣距離的最小值所對應(yīng)的標(biāo)記分配方案。下面分別介紹本實施例的各個方面。其中,第1部分重點介紹上述步驟1),第2部 分重點介紹標(biāo)記分配方案的優(yōu)化搜索方案(即迭代搜索方法)。最后,為使本發(fā)明更加易于 理解,在第3部分介紹了一個簡單的信息流單向性驗證的示例。1、確定授權(quán)系統(tǒng)的等效訪問控制矩陣。1.1訪問控制矩陣由于大多數(shù)訪問控制策略最終都可以轉(zhuǎn)化為訪問控制矩陣形式表示,因此主要針 對訪問控制矩陣來判斷信息流單向性。在訪問控制矩陣中,行表示主體,列表示客體,矩陣 中的元素表示相應(yīng)主體訪問相應(yīng)客體的權(quán)限。設(shè)S表示系統(tǒng)主體的集合,0表示客體集合, P表示權(quán)限集合Ir,a, w, e},分別表示讀權(quán)限(r),寫權(quán)限(a),讀/寫權(quán)限(w)和空權(quán)限 (e)。為了保證在訪問控制矩陣中信息流單向性,有時需要刪除一些授權(quán)(將某些元素的值 如r,a,w修改為e),可以依據(jù)每條策略的重要性決定刪除或保留哪些策略。為此引入加權(quán) 訪問控制矩陣概念。定義1 (加權(quán)訪問控制矩陣)對于一個有m個主體,η個客體的授權(quán)訪問控制系統(tǒng), 加權(quán)訪問控制矩陣A = (PiJ, 1^)ωΧη,其中Pij e P,e Z+,分別表示主體i對客體j的權(quán) 限和本條策略的權(quán)重。策略的權(quán)重反映了該策略的重要程度或價值。從信息流角度來看,訪問控制策略 反映了信息在主體之間、客體之間以及主體和客體之間的信息流動規(guī)定,可以用有向圖表 示這種信息流動情況,每條邊的權(quán)值等于相對應(yīng)訪問控制策略的權(quán)值。定義2(加權(quán)訪問控制矩陣導(dǎo)出的加權(quán)有向圖)對于加權(quán)訪問控制矩陣A= (PiJ,
6Pu)mXn,主體集合為S= Is1, S2,. . .,sm},客體集合為0 = Io1, O2,. . .,on},其導(dǎo)出的加權(quán)有 向圖是Ga= (V,E),其中頂點集合V = S U 0,有向邊集合E= {(Si,0j) Ipij = a,w} U {(0j, Sj) Pij = r,w},對于(Si,0j) e E 和(OpSi) e EdJUtw(Sp0j)和權(quán)值 w(0j,Si)為 Iiij。對 于 £'q£,w(E' )=ZeeE'w(e)。在上述兩個定義基礎(chǔ)上,給出如下的訪問控制策略集的單向性的定義定義3(訪問控制策略中信息流的單向符合性驗證問題 Unidirectionalityof Authorization Policies,簡稱 U0AP)給定一個訪問控制策 略集Γ,其加權(quán)訪問控制矩陣A= (PiJ,、)ωΧη,A導(dǎo)出的加權(quán)有向圖Ga= (V, Ε),令 Ψ = {F| Fs五且G = (V, E-E1)不存在路徑長大于2的環(huán)路}, δ = min E, e ,(E ‘ ), y
=argminE, ww(E'),則稱訪問控制策略集r是δ代價-單向的,γ是Γ實現(xiàn)單向性的 一個最優(yōu)解。如果δ = 0,表示訪問控制策略集Γ的信息流不存在環(huán)路;如果δ > 0,表示為 了實現(xiàn)信息流單向性,需要付出最小代價I可以通過刪除、集合中邊所對應(yīng)的訪問控制 策略來實現(xiàn)。1. 2加權(quán)有向圖的化簡和等效訪問控制矩陣本發(fā)明中可以直接將原始訪問控制矩陣作為單向性驗證對象,也可以先對原始訪 問控制矩陣進(jìn)行化簡,得出等效訪問控制矩陣作為驗證對象,從而大幅減少后續(xù)算法的運(yùn) 算量和運(yùn)算時間。設(shè)加權(quán)訪問控制矩陣A= (P^hij)mxn,其加權(quán)有向圖G㈧=(V,E),對G(A)化簡 如下反復(fù)刪除出度或入度為O的頂點及其關(guān)聯(lián)邊,這些點不會是圖中任何環(huán)上的點,實際 上若圖中沒有環(huán),則化簡圖是空圖,刪除G㈧中頂點時相應(yīng)的刪除A中對應(yīng)的行或列。在 頂點刪除過程中,先用鄰接表存儲G (A),用一數(shù)組記錄所有頂點當(dāng)前的出入度,先反復(fù)刪除 入度為O的頂點及邊,然后將化簡后的圖用逆鄰接表存儲,反復(fù)刪除出度為O的頂點及邊, 其計算時間為0(|V| + |E|)。 在一個優(yōu)選實施例中,采用下述加權(quán)有向圖化簡方案。該加權(quán)有向圖化簡方案中,需要輸入的初始數(shù)據(jù)為訪問控制矩陣A = (PiJ, h.j) mXn,其輸出是化簡后的訪問控制矩陣A'。該加權(quán)有向圖化簡方案中,還需要設(shè)置中間變 量數(shù)組vertex和布爾變量flag,數(shù)組vertex記錄各個頂點當(dāng)前的出入度及是否被刪除標(biāo) 志;布爾變量flag,是否循環(huán)標(biāo)志。該加權(quán)有向圖化簡方案包括下列步驟P-I求出A的以鄰接表表示的加權(quán)圖Ga;P-2 置 flag 為真;p-3根據(jù)Ga,將各個頂點的出入度寫入數(shù)組vertex中;vertex中各個頂點刪除標(biāo) 志為假。重復(fù)語句P-4至P-5,直到flag為假P-4flag 置為假;P-5針對Ga中每個頂點,執(zhí)行語句P-5-1P-5-1如果該頂點刪除標(biāo)志為假,則執(zhí)行語句p-5-l-l到p-5-1-2,否則跳過本語句。
p-5-l-l,如果該頂點入度為0,則將flag置為真;將vertex中該頂點的刪除標(biāo)志 置為真;將所有還未刪除且被該頂點指向的鄰居頂點的入度減去1。p-5-1-2,如果該頂點出度為0,則將flag置為真;將vertex中該頂點的刪除標(biāo)志 置為真;將所有還未刪除且指向該頂點的鄰居頂點的出度減去1。P-3刪除Ga中所有vertex中刪除標(biāo)志為真的頂點及關(guān)聯(lián)的邊,得到化簡后的加權(quán) 圖G/,最后得到化簡后的訪問控制矩陣A'。2、標(biāo)記分配方案的優(yōu)化搜索2. 1標(biāo)記分配方案本實施例通過能否為主客體添加合適標(biāo)記來驗證訪問控制策略集的單向性以 試圖在較合理時間內(nèi)求出最優(yōu)解或者較優(yōu)解。在MAC的經(jīng)典保密性模型BLP(Bell&La Padula)中,敏感標(biāo)記集合Z =對,密級集合C是大小可以比較的線性序列,范 疇集K中的范疇是非等級的應(yīng)用領(lǐng)域或類別,標(biāo)記(c,k)支配標(biāo)記(c' , k'),當(dāng)且僅當(dāng) c' Sc,且BLP模型要求信息向高安全級單向流動。如果嘗試用L中的元素去標(biāo)記Γ 對應(yīng)的主客體,并按BLP規(guī)則規(guī)定信息流動方向,則可尋找一個BLP授權(quán)訪問控制系統(tǒng)去逼 近和模仿訪問控制策略集Γ的授權(quán)訪問控制系統(tǒng),逼近程度可作為判斷Γ單向性的參考。具體地,在訪問控制系統(tǒng)中,主體對客體的訪問權(quán)限一般有“讀”、“寫”、“讀/寫” 和“空”四種權(quán)限。本發(fā)明中,把主體對客體的有何種訪問權(quán)限與兩者的敏感標(biāo)記大小關(guān)系 (即支配關(guān)系)對應(yīng)起來。若主體的敏感標(biāo)記支配客體的敏感標(biāo)記,則主體對客體的權(quán)限是 “讀”,若客體的敏感標(biāo)記支配主體的敏感標(biāo)記,則主體對客體的權(quán)限是“寫”,若主體的敏感 標(biāo)記等于客體的敏感標(biāo)記,則主體對客體的權(quán)限是“讀/寫”。若主體和客體的敏感標(biāo)記之 間不存在支配關(guān)系,則主體對客體的權(quán)限是“空”。這樣一個對主體和客體的敏感標(biāo)記分配 方案就可以轉(zhuǎn)換為一個BLP授權(quán)訪問控制矩陣。因此給定一個訪問控制策略集Γ (即待驗證的訪問控制策略集),去尋找一種對 主客體的標(biāo)記分配方案,使得由主客體的標(biāo)記導(dǎo)出的訪問控制矩陣與Γ的加權(quán)訪問控制 矩陣的距離最小(可參見下文中的定義4,5)。如果距離為0,則Γ必定是單向的;如果距 離不為0,則Γ不是單向的,且該距離就是Γ實現(xiàn)單向性的最小代價。2. 2標(biāo)記分配方案的優(yōu)化搜索本發(fā)明可以采用多種算法(如遺傳算法、進(jìn)化算法和蟻群算法等)對標(biāo)記分配方 案進(jìn)行優(yōu)化搜索,本實施例以遺傳算法為例說明如何進(jìn)行標(biāo)記分配方案的優(yōu)化搜索。遺傳 算法首先將產(chǎn)生候選解決方案的種群,然后通過自然選擇使這些解決方案進(jìn)化,從而使得 不好的解決方案趨于淘汰,好的解決方案存活并繼續(xù)繁殖,不斷重復(fù)這個過程,遺傳算法就 得到了最優(yōu)的解。遺傳算法的具體內(nèi)容可參考作者為葛繼科,邱玉輝,吳春明,蒲國林的文 獻(xiàn)遺傳算法研究綜述.計算機(jī)應(yīng)用研究,2008, 25 (20)。用遺傳算法求解最優(yōu)標(biāo)記分配方案問題的描述如下。(1)用染色體表示標(biāo)記分配遺傳算法中對問題的解以編碼形式呈現(xiàn),一個解對應(yīng)一條染色體。編碼方式有二 進(jìn)制、整數(shù)、實數(shù)和非數(shù)值編碼等。這里將每個實體分配的范疇集看成染色體上的一個相應(yīng) 位置的基因,基因用定長的二進(jìn)制位串表示,串長是整個范疇集包含的范疇個數(shù),串上的每一位對應(yīng)一個范疇,取值(1和0)表示該實體是否屬于該范疇。(2)適應(yīng)度函數(shù)和選擇方法適應(yīng)度函數(shù)反映了個體的適應(yīng)能力。適應(yīng)度函數(shù)值的大小決定某些個體是繁殖還 是消亡。為了更好的描述問題和函數(shù),先給出如下定義定義4(標(biāo)記系統(tǒng)導(dǎo)出的訪問控制矩陣)設(shè)P = {r,a, w, e}代表權(quán)限集合,對于 一個有m個主體和η個客體的安全系統(tǒng),標(biāo)記集合記為K = {k1; k2,...,kj,Vkl, kj e K, K Π kj = Φ ;所有主體的標(biāo)記記為向量ρ = (Is1, Is2, ...,lsm)T,其中,它是為第i 個主體分配的標(biāo)記元組;所有容體的標(biāo)記記為向量q = (Io1, Io2,... , 10η)τ,其中/。, ex,它 是為第j個客體分配的標(biāo)記;則標(biāo)記系統(tǒng)(L,p,q)導(dǎo)出的訪問控制矩陣M定義為M = pqT
w, Isi = Io j
=(Xij)mxn,其中 =· ^ ^ 二^范疇集合K的子集在操作(子集關(guān)系)下形成一個格,范疇
集之間的支配關(guān)系它可以表達(dá)讀權(quán)限,寫權(quán)限,讀/寫權(quán)限和空權(quán)限,而密級不能表達(dá)空權(quán) 限,為了降低問題復(fù)雜度,在標(biāo)記主客體時我們只考慮為其添加范疇集,而假設(shè)所有主客體 密級相同。定義中規(guī)定信息從低級向高級單向流動。定義5 (加權(quán)訪問控制矩陣到信息單向流動的訪問控制矩陣的距離)加權(quán) 訪問控制矩陣A = (PiJ, h.j)mXn,其中Pij e P,h.j e Z+,信息單向流動的訪問控制矩
m η
陣萬-6>其中》eP,那么州外Λ),Α;)稱為α到B的距離。其中距離函數(shù)
° ~ \FfJ Zmxn,^ij ^ Γ f=l這里距離函數(shù)反映了 A若實現(xiàn)單向性,在參照B的基礎(chǔ)上去調(diào)整而需要的代價。如 果B中某個元素值為讀寫權(quán)限,則A中對應(yīng)元素的權(quán)限可為任意值,這不影響A單向性;如 果A中某個元素值為空權(quán)限,則該元素肯定不會造成A中信息流動出現(xiàn)環(huán)路;除此之外,如 果A和B中對應(yīng)元素的權(quán)限值不同,A去調(diào)整需要付出的代價就是其權(quán)值,即置該元素權(quán)限 值為空。給定加權(quán)訪問控制矩陣A = (PiJ, hu)mXn,染色體χ表示對全部主、客體的一種標(biāo) 記分配方法,由定義7得到相應(yīng)的訪問控制矩陣B,則染色體χ適應(yīng)度函數(shù)定義為f (χ)= 1- IA-B I |/mn。染色體選擇方法采用輪盤賭選擇(roulettete wheel selection)結(jié)合最優(yōu)個體 保存方法,二者結(jié)合的方法可使進(jìn)化收斂到全局最優(yōu)解。在密級分配問題中,從當(dāng)代種群 Ib1, b2,...,bj中輪盤賭選擇當(dāng)代個體bi成為下一代成員父代的概率跑)=/⑷/Σ;/…)’ 當(dāng)?shù)玫叫乱淮N群后,將老一代中最優(yōu)個體也直接加入其中,淘汰適應(yīng)度值最小的個體,這 里實現(xiàn)輪盤賭的方法是計算各個h的輪盤刻度為辦,)=/偽)/Σ'/=ι/內(nèi)),當(dāng)隨機(jī)產(chǎn)生(ο,ι]之 間的一個刻度值t時,若Iv1 < t ^ h,則h即為選中的個體。(3)種群初始化算法需要一個初始種群作為初始解集合。初始種群通過隨機(jī)方式產(chǎn)生。初始種群 產(chǎn)生的質(zhì)量通常會對算法搜索效率和能否產(chǎn)生全局最優(yōu)解產(chǎn)生非常大的影響,為了保證初
始種群的多樣性,定義第i個基因的基因熵£_炒(0 = -^丨^>(幼1喂沖,0,其中?(8,t)
9是初始種群中第i個基因的第s位取值為t的情況占該位所有取值的比例,k是串長即范 疇集大小,對應(yīng)分配的范疇集空間。設(shè)定一閾值θ,若不能滿足Iog2 (2)-Entropy (i) < θ, 則重新初始化種群中該基因,直至其基因熵滿足上述不等式。這里取值θ =0。3。初始種 群的規(guī)??舍槍?yīng)用實例規(guī)模通過實驗獲得。若初始種群數(shù)目太少,容易陷入局部最優(yōu)解; 若太大則計算復(fù)雜度又較高。(4)交叉交叉是指兩個父代個體的部分結(jié)構(gòu)加以替換重組而生成新個體的操作。常用的交 叉算子包括單點交叉、二點交叉、均勻交叉等。在范疇集分配問題中,主客體對應(yīng)到染色體 的位置并無前后次序要求,因此我們采用均勻交叉方法,即兩個相同配對個體的每個基因 都以相同的概率進(jìn)行交換,從而形成兩個新個體。(5)變異變異用于對個體的編碼串產(chǎn)生隨機(jī)的小變化,即以很小概率選擇從群體中選出一 些染色體,隨機(jī)選擇某些基因上某些位,改變其值,取值為0和1。變異概率太大,會導(dǎo)致搜 索產(chǎn)生振蕩;變異概率太小容易得到局部最優(yōu)解。變異概率的選擇可針對應(yīng)用實例規(guī)模通 過實驗獲得城。(6)終止條件在指定遺傳代數(shù)后中止遺傳算法,并檢查種群中的最優(yōu)的染色體,如果沒有得到 滿意的解決方案,遺傳算法重新啟動。算法復(fù)雜度分析假設(shè)訪問控制矩陣是Amxn,范疇個數(shù)是k,群體規(guī)模為1,迭 代次數(shù)為t,則上述過程中,初始化種群的時間為0(lk(m+n)),每一輪迭代中,計算個體 適應(yīng)度的時間為0(Ikmn),計算交叉和變異的時間為0(Ik(m+n)),則遺傳算法計算時間 O(Iktmn)。若e是Amxn中權(quán)限值不是空的元素個數(shù),整個基于標(biāo)記的近似解算法復(fù)雜度是 0(lktmn+e)。在一個優(yōu)選實施例中,采用下述密級分配算法來實現(xiàn)所述標(biāo)記分配方案的優(yōu)化搜索。該密級分配算法的方案中,需要輸入的初始數(shù)據(jù)包括訪問控制矩陣A= (PijAij) mXn,用來標(biāo)記的范疇個數(shù)k,染色體個數(shù)1,遺傳代數(shù)t,交叉概率p。,突變概率pm ;該密級分 配算法的輸出是以二維數(shù)組表示的主客體的范疇分配best^romsome。該密級分配算法包括下列步驟P-I初始化群體P° 隨機(jī)產(chǎn)生1個染色體,記為松,化...,時}; -2評估對于每一個染 色體6/。,計算/(V) = I-P- 腳,Φ^) = Abf)/^ f(b^);選出適應(yīng)度值最高的染色體^ ;重復(fù)Ρ-4至Ρ-5,直到遺傳代數(shù)k< tΡ-4選擇隨機(jī)產(chǎn)生(0,1]之間一個數(shù),根據(jù)輪盤刻度,從Pk選出一個染色體,重復(fù) 這個過程,直到選出t個染色體,記為Zf ;P-5交叉從疔依次選出兩個染色體,根據(jù)交叉概率ρ。進(jìn)行均勻交叉,得到兩個新 的染色體。重復(fù)這個過程,直到得到1個染色體,記為片;P-6變異從行中選擇pm個染色體進(jìn)行變異。對于選出的每個成員,在它的表示中隨機(jī)選擇一個位并隨機(jī)取
中一個整數(shù),記此時群體為跨;
P-7評估和保留最優(yōu)染色體對于/>/中每一個染色體V ,計算=,從 C,和 < 中淘汰最差染色體,并將最優(yōu)染色體賦值給<~,更新刻度W)=/(W Σ;,/㈨) ’Ρ-8 返回C·. ,作為 best_chromsome。3、信息流單向性驗證的示例為使本發(fā)明更加易于理解,下面以一個有3個主體S1, S2,S3, 5個客體O1,02,03,04, O5的授權(quán)系統(tǒng)為例,對本發(fā)明作進(jìn)一步地說明。該授權(quán)系統(tǒng)的訪問控制策略及每條策略的 權(quán)重如附圖2所示?,F(xiàn)在按照前述實施例的算法對該授權(quán)系統(tǒng)的信息流單向性進(jìn)行驗證。首先得到對訪問控制策略對應(yīng)的加權(quán)有向圖,如附圖3所示。然后對該圖進(jìn)行化簡,化簡結(jié)果如附圖4所示,可以看到,該圖中刪去了出度或入 度為0的客體O4, O5 ;接著采用遺傳算法對標(biāo)記分配方案的優(yōu)化搜索,假設(shè)范疇有4個,分別是T1, T2, T3, τ4,染色體20個,遺傳代數(shù)200代,交叉概率0. 9,突變概率0. 01,搜索完畢,得到實體敏 感標(biāo)記結(jié)果如下。S1 IT1, TJ,S2 IT1, T4I,S3 IT1, T2, T3, T4IO1 {TJ,O2 (T1, T2, T4I,O3 IT1, TJ基于該標(biāo)記,得到的訪問控制矩陣如附圖5所示,對應(yīng)的無環(huán)有向圖如附圖6所 示??梢钥吹絊3對O1權(quán)限由寫變成了讀,其它不變,則該訪問控制策略集是1代價-單向 的,刪除S3對O1的寫權(quán)限是將所述授權(quán)系統(tǒng)從不具有單向性變?yōu)榫哂袉蜗蛐缘囊粋€解。上述的實施例僅用來說明本說明,它不應(yīng)該理解為是對本說明的保護(hù)范圍進(jìn)行任 何限制。而且,本領(lǐng)域的技術(shù)人員可以明白,在不脫離本實施例精神和原理下,對本實施例 所進(jìn)行的各種等效變化、變型以及在文中沒有描述的各種改進(jìn)均在本專利的保護(hù)范圍之 內(nèi)。
1權(quán)利要求
一種用于授權(quán)系統(tǒng)的信息流單向性驗證方法,包括下列步驟1)確定待驗證訪問控制矩陣;2)建立一個針對所述授權(quán)系統(tǒng)的主體和客體的標(biāo)記分配方案;3)將所述標(biāo)記分配方案轉(zhuǎn)換為BLP授權(quán)訪問控制矩陣;4)計算所述BLP授權(quán)訪問控制矩陣與待驗證訪問控制矩陣之間的距離;5)根據(jù)所述BLP授權(quán)訪問控制矩陣與待驗證訪問控制矩陣之間的距離調(diào)整所述標(biāo)記分配方案;6)按照步驟3)至5)反復(fù)迭代,使所述BLP授權(quán)訪問控制矩陣與待驗證訪問控制矩陣之間的距離不斷減小并收斂;7)根據(jù)所述BLP授權(quán)訪問控制矩陣與待驗證訪問控制矩陣之間的距離的收斂值判斷待驗證訪問控制矩陣的單向性。
2.根據(jù)權(quán)利要求1所述的信息流單向性驗證方法,其特征在于,所述步驟1)還包括下 列子步驟11)將所述訪問控制矩陣轉(zhuǎn)化為加權(quán)有向圖;12)刪除加權(quán)有向圖中出度或入度為0的頂點及其關(guān)聯(lián)邊,得到化簡后的加權(quán)有向圖;13)將化簡后的加權(quán)有向圖恢復(fù)為訪問控制矩陣,并將該訪問控制矩陣作為所述授權(quán) 系統(tǒng)的等效訪問控制矩陣進(jìn)行單向性驗證。
3.根據(jù)權(quán)利要求2所述的信息流單向性驗證方法,其特征在于,所述步驟3)中,按下列 步驟確定所述BLP授權(quán)訪問控制矩陣21)確定一個敏感標(biāo)記集合1= {(c^) I c e CJ e々;其中,c是密級,k是范疇;22)選取一個標(biāo)記分配方案,用所述敏感標(biāo)記集合中的元素(c,k)對待驗證授權(quán)系統(tǒng) 中的所有主體和客體分別進(jìn)行標(biāo)記;23)按照各主體和客體的敏感標(biāo)記確定BLP授權(quán)訪問控制矩陣。
4.根據(jù)權(quán)利要求1所述的信息流單向性驗證方法,其特征在于,所述步驟5)還包括,采 用遺傳算法、進(jìn)化算法或蟻群算法使所述標(biāo)記分配方案對應(yīng)的BLP授權(quán)訪問控制矩陣逼近 所述授權(quán)系統(tǒng)的訪問控制矩陣。
5.根據(jù)權(quán)利要求1所述的信息流單向性驗證方法,其特征在于,所述步驟7)還包括,當(dāng) 所述BLP授權(quán)訪問控制矩陣與待驗證訪問控制矩陣之間的距離的收斂值為0時,判斷待驗 證訪問控制矩陣具有單向性;當(dāng)所述BLP授權(quán)訪問控制矩陣與待驗證訪問控制矩陣之間的 距離的收斂值不為0時,判斷待驗證訪問控制矩陣不具有單向性。
6.根據(jù)權(quán)利要求5所述的信息流單向性驗證方法,其特征在于,還包括步驟8);8)當(dāng)待驗證訪問控制矩陣不具有單向性時,根據(jù)最優(yōu)標(biāo)記分配方案修改所述待驗證訪 問控制矩陣;所述最優(yōu)標(biāo)記分配方案是所述BLP授權(quán)訪問控制矩陣與待驗證訪問控制矩陣 距離的收斂值所對應(yīng)的標(biāo)記分配方案。
7.根據(jù)權(quán)利要求5所述的信息流單向性驗證方法,其特征在于,還包括步驟8);8)當(dāng)待驗證訪問控制矩陣不具有單向性時,根據(jù)最佳標(biāo)記分配方案修改所述待驗證 訪問控制矩陣;所述最佳標(biāo)記分配方案是在預(yù)設(shè)的迭代次數(shù)或搜索時間范圍內(nèi)得到的所述 BLP授權(quán)訪問控制矩陣與待驗證訪問控制矩陣距離的最小值所對應(yīng)的標(biāo)記分配方案。
全文摘要
本發(fā)明提供一種用于授權(quán)系統(tǒng)的信息流單向性驗證方法,包括下列步驟1)確定待驗證訪問控制矩陣;2)建立一個針對所述授權(quán)系統(tǒng)的主體和客體的標(biāo)記分配方案;3)將所述標(biāo)記分配方案轉(zhuǎn)換為BLP授權(quán)訪問控制矩陣;4)計算所述BLP授權(quán)訪問控制矩陣與待驗證訪問控制矩陣之間的距離;5)根據(jù)所述距離調(diào)整所述標(biāo)記分配方案;6)按照步驟3)至5)反復(fù)迭代,使所述距離不斷減小并收斂;7)根據(jù)所述距離的收斂值判斷待驗證訪問控制矩陣的單向性。本發(fā)明能夠有效地降低時間復(fù)雜度,使之符合多項式時間復(fù)雜度要求,顯著地提高了單向性驗證的效率;能夠確保授權(quán)系統(tǒng)的信息流符合單向性要求;特別適合應(yīng)用于大規(guī)模授權(quán)系統(tǒng)。
文檔編號H04L29/06GK101917410SQ201010238798
公開日2010年12月15日 申請日期2010年7月26日 優(yōu)先權(quán)日2010年7月26日
發(fā)明者楊智, 段洣毅, 郭莉, 金舒原 申請人:中國科學(xué)院計算技術(shù)研究所