欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種本源xml數(shù)據(jù)庫中xml文檔的訪問控制方法

文檔序號:6429576閱讀:136來源:國知局
專利名稱:一種本源xml數(shù)據(jù)庫中xml文檔的訪問控制方法
技術(shù)領(lǐng)域
針對非結(jié)構(gòu)化數(shù)據(jù)管理系統(tǒng)的安全控制機(jī)制,設(shè)計(jì)一種基于XML技術(shù)的非結(jié)構(gòu)化數(shù)據(jù)XML訪問控制方法。
背景技術(shù)
2001年,美國國家標(biāo)準(zhǔn)化和技術(shù)委員會(NIST)提出了標(biāo)準(zhǔn)的基于角色的訪問控制 RBAC(Role-Based Access Control)參考模型 NIST RBAC0 該模型分成核心 RBAC、 等級RBAC和約束RBAC三個子模型。核心RBAC定義了參考模型的基本功能,它包括五個基本數(shù)據(jù)元素用戶(Users)、角色(Roles)、會話集Cessions)、客體(Objects)、操作 (Operations),以及角色權(quán)限分配(PRA)、用戶角色分配(URA)。其基本思想是通過角色建立用戶和訪問權(quán)限之間的多對多關(guān)系,用戶由此獲得訪問權(quán)限。XML Schema定義了 XML文檔的合法構(gòu)建模塊,它使用一系列合法的元素來定義文檔的結(jié)構(gòu),類似DTD (Document Type Def inition,文檔類型定義)。XML Schema本身是一個結(jié)構(gòu)良好的XML文檔,因此在XML Schema上進(jìn)行訪問授權(quán),而XML文檔中的元素繼承相應(yīng) Schema元素的權(quán)限。針對XML文檔的層次結(jié)構(gòu),以khema節(jié)點(diǎn)為客體,定義基于角色的XML訪問控制模型,即X-RBAC模型。

發(fā)明內(nèi)容
本發(fā)明解決的技術(shù)問題針對AUDR安全控制的需求,重點(diǎn)研究了在X-RBAC模型的基礎(chǔ)上,利用XML技術(shù)實(shí)施數(shù)據(jù)訪問控制,實(shí)現(xiàn)了系統(tǒng)的安全控制機(jī)制。本發(fā)明的技術(shù)方案是一種本源XML數(shù)據(jù)庫中XML文檔的訪問控制方法,在 X-RBAC模型的基礎(chǔ)上,定義了 XML訪問控制系統(tǒng)的一種策略模型,給出了該模型的一種策略結(jié)構(gòu),并設(shè)計(jì)了策略模型的一種策略決策方法及其效率改進(jìn)方案。其特征在于采用如下步驟(1)在基于角色的XML訪問控制模型X-RBAC的基礎(chǔ)上,建立XML訪問控制系統(tǒng)的策略模型;(2)構(gòu)建該模型的樹形策略結(jié)構(gòu);(3)策略結(jié)構(gòu)采用XML文檔的形式描述,將這些訪問控制策略封裝成一棵策略子樹,即把策略子樹作為相應(yīng)khema節(jié)點(diǎn)的子樹從而加入khema文檔中,作出基于khema 文檔的策略組織結(jié)構(gòu);(4)當(dāng)用戶請求訪問khema文檔中的某個節(jié)點(diǎn)時,訪問控制系統(tǒng)首先需要獲取相關(guān)的訪問控制策略,然后根據(jù)沖突解決機(jī)制進(jìn)行策略決策,并生成該節(jié)點(diǎn),即節(jié)點(diǎn)子樹的安全視圖,最后系統(tǒng)根據(jù)安全視圖控制用戶對節(jié)點(diǎn)的訪問請求;(5)實(shí)施策略決策。所述的步驟(1)中所述策略模型中,訪問控制規(guī)則表示為五元組rule (roles,schema—node,action, permission, propagation);(l.a)roleS表示角色,為系統(tǒng)中角色集的一個子集,是訪問控制策略的主體;(l.b)schema_node表示schema節(jié)點(diǎn),包括元素節(jié)點(diǎn)和屬性節(jié)點(diǎn),不含文本節(jié)點(diǎn), 本文以元素節(jié)點(diǎn)為訪問控制保護(hù)的對象,屬性節(jié)點(diǎn)的權(quán)限繼承于相應(yīng)元素節(jié)點(diǎn)的權(quán)限,它是訪問控制策略的客體,并采用XPath來描述;(1. c) action表示行為,為主體對客體實(shí)施的操作,包括“read”、“create”、 “Write”、“delete”,分別表示讀、添加、更新及刪除四種操作;(l.cOpermission表示權(quán)限,為主體對客體執(zhí)行某種操作的許可,取“permit”、 “deny”兩種值,從而實(shí)現(xiàn)肯定授權(quán)和否定授權(quán)兩種授權(quán)方式,訪問控制規(guī)則中,使用“ + ”、 “_”兩種符號sign來分別表示肯定授權(quán)或否定授權(quán);(1. e)propagation表示傳播選項(xiàng),為授權(quán)傳播的深度,取值為“*”、“0”或具體正整數(shù)“n”,實(shí)現(xiàn)三種傳播方式“*”傳播,即瀑布式傳播,授權(quán)規(guī)則作用范圍為自身節(jié)點(diǎn)及所有子節(jié)點(diǎn);“0”傳播,即無傳播,授權(quán)規(guī)則作用范圍僅為自身節(jié)點(diǎn),“η”傳播,η取值為正整數(shù),授權(quán)規(guī)則作用范圍為自身節(jié)點(diǎn)及深度小于等于η的所有子節(jié)點(diǎn)。所述的步驟(4)進(jìn)一步包括請求用戶的當(dāng)前角色為guest,執(zhí)行操作為read,訪問節(jié)點(diǎn)為〈node〉,所述〈node〉 為target, xsd中的節(jié)點(diǎn),則針對該節(jié)點(diǎn)子樹的策略決策流程如下(4. a)讀取khema文檔target, xsd中以節(jié)點(diǎn)〈node〉為根的整個子樹,并將其解析為 Document Object Model 樹,艮口 DOM 樹;(4. b)獲取當(dāng)前子樹的根節(jié)點(diǎn)root,并讀取該節(jié)點(diǎn)及其祖先節(jié)點(diǎn)上定義的所有策略;(4. c)從步驟(4.b)獲得的所有策略中,獲得與當(dāng)前角色guest和操作read相關(guān)的策略policy ;(4. d)如果獲得的策略policy為空,則根據(jù)系統(tǒng)定義的默認(rèn)策略,為root節(jié)點(diǎn)添加否定標(biāo)記“_”;否則,根據(jù)策略傳播及沖突解決機(jī)制,對節(jié)點(diǎn)應(yīng)用該獲得的策略;如果結(jié)果為“permit”,為節(jié)點(diǎn)添加肯定標(biāo)記“ + ”,否則添加否定標(biāo)記“_” ;(4. e)如果root節(jié)點(diǎn)有子節(jié)點(diǎn),以每個子節(jié)點(diǎn)為一顆子樹返回(4. b)遍歷;否則結(jié)束遍歷,并生成帶“ + ”、“_”標(biāo)記的標(biāo)記樹Label Tree ;(4. f)對標(biāo)記樹進(jìn)行剪枝生成khema節(jié)點(diǎn)子樹的安全視圖;為了保持khema結(jié)構(gòu)及訪問控制策略定義的靈活性,采用的剪枝原則為剪去所有僅包含否定節(jié)點(diǎn)的子樹;最后,XML文檔中節(jié)點(diǎn)〈node〉及其子節(jié)點(diǎn)的訪問權(quán)限由該khema節(jié)點(diǎn)子樹的安全視圖決定;如果安全視圖中含有某個節(jié)點(diǎn),則該節(jié)點(diǎn)允許訪問,否則不允許訪問。所述的步驟(5)實(shí)施策略決策,包括如下步驟(5. a)為系統(tǒng)中的每個角色分配一個唯一的素數(shù)ID ;(5. b)對于一個khema文檔,把所有角色同一種操作的標(biāo)記樹合為一個新標(biāo)記樹,新標(biāo)記樹的每個節(jié)點(diǎn)僅記錄一個整數(shù),該整數(shù)為所有允許訪問該節(jié)點(diǎn)的角色I(xiàn)D之積; 如果不存在允許訪問的角色,則該整數(shù)為1 ;
(5. c)顯然khema節(jié)點(diǎn)記錄的整數(shù)個數(shù)與操作個數(shù)相同,進(jìn)一步把這些整數(shù)封裝成一個〈number〉元素節(jié)點(diǎn),該節(jié)點(diǎn)的子節(jié)點(diǎn)為四種操作組成的子節(jié)點(diǎn),其值為相應(yīng)的整數(shù);(5. d)把〈number〉元素節(jié)點(diǎn)作為相應(yīng)khema節(jié)點(diǎn)的子節(jié)點(diǎn)與其綁定后添加到 Schema文檔中,從而實(shí)現(xiàn)新標(biāo)記樹的保存;(5. e)新標(biāo)記樹中,如果節(jié)點(diǎn)某一操作的取值能被角色I(xiàn)D整除,則該角色允許對該節(jié)點(diǎn)執(zhí)行這個操作;否則不允許。本發(fā)明的優(yōu)點(diǎn)在于用戶每次請求訪問XML文檔中的節(jié)點(diǎn)時,訪問控制系統(tǒng)都需要根據(jù)決策流程進(jìn)行策略決策。而該決策流程中的查找策略、生成標(biāo)記樹、剪枝等操作都是非常耗時的過程,因此決策的時間較長。而且當(dāng)訪問請求頻繁時,訪問控制系統(tǒng)的效率就會急劇下降,因此效率問題成為訪問控制系統(tǒng)的瓶頸問題。本發(fā)明提出一種保存標(biāo)記樹的方法,并對標(biāo)記樹進(jìn)行壓縮存儲,使策略決策時不必考慮查找策略、驗(yàn)證策略的操作,既可以減少存儲空間又提高了策略決策效率。


圖1為策略結(jié)構(gòu)圖;圖2為基于khema的策略組織結(jié)構(gòu)圖;圖3 (a)為角色admin的標(biāo)記樹圖;圖3 (b)為角色guest的標(biāo)記樹圖;圖4為記錄角色的標(biāo)記樹圖;圖5為記錄權(quán)限字的標(biāo)記樹圖;圖6為khema文檔的權(quán)限樹圖;圖7為策略模型實(shí)施流程圖。
具體實(shí)施例方式下面參考附圖,對本發(fā)明的實(shí)施例進(jìn)行詳細(xì)的說明。首先對XML訪問控制策略模型定義進(jìn)行說明。在XML訪問控制策略模型中,訪問控制規(guī)貝1J表不為五兀組 rule (roles, schema_node, action, permission, propagation)。具體定義如下(Droles表示角色,為系統(tǒng)中角色集的一個子集,是訪問控制策略的主體。(2) schema_node表示schema節(jié)點(diǎn),包括元素節(jié)點(diǎn)和屬性節(jié)點(diǎn),不含文本節(jié)點(diǎn)。本文以元素節(jié)點(diǎn)為訪問控制保護(hù)的對象,屬性節(jié)點(diǎn)的權(quán)限繼承于相應(yīng)元素節(jié)點(diǎn)的權(quán)限。它是訪問控制策略的客體,并采用XPath來描述。(3) action表示行為,為主體對客體實(shí)施的某種操作,包括“read”、“create,,、 “Write”、“delete”等,分別表示讀、添加、更新及刪除四種操作。(4) permi ss ion表示權(quán)限,為主體對客體執(zhí)行某種操作的許可,取“ permi t ”、 “deny”兩種值,實(shí)現(xiàn)肯定授權(quán)和否定授權(quán)兩種授權(quán)方式,并使用“ + ”、“-”兩種符號(sign)
來表不。(5) propagation表示傳播選項(xiàng),為授權(quán)傳播的深度,取值為“*”、“0”或具體正整數(shù)“n”,實(shí)現(xiàn)三種傳播方式
“*”傳播,即瀑布式傳播,授權(quán)規(guī)則作用范圍為自身節(jié)點(diǎn)及所有子節(jié)點(diǎn)?!?”傳播,即無傳播,授權(quán)規(guī)則作用范圍僅為自身節(jié)點(diǎn)?!唉恰眰鞑?,η取值為正整數(shù),授權(quán)規(guī)則作用范圍為自身節(jié)點(diǎn)及深度小于等于η的所有子節(jié)點(diǎn)。根據(jù)策略模型給出了一種策略結(jié)構(gòu),如圖1所示(*表示0個或多個子節(jié)點(diǎn),@表示屬性節(jié)點(diǎn))。從圖1可以看出,策略結(jié)構(gòu)是一種層次結(jié)構(gòu),可以采用XML文檔的形式描述,有利于策略管理和決策。訪問控制規(guī)則的一個主要目的就是用來定義對客體的某種操作權(quán)限,而策略模型中的客體是khema節(jié)點(diǎn),為此將定義在同一 khema節(jié)點(diǎn)上訪問控制規(guī)則組成一組訪問控制策略,定義在不節(jié)點(diǎn)上的訪問控制規(guī)則位于不同的訪問控制策略中。同時, 將這些訪問控制策略封裝成一棵策略子樹,融入khema文檔中,即把策略子樹作為相應(yīng) Schema節(jié)點(diǎn)的子樹從而加入khema文檔中。如圖2所示,顯示了基于khema文檔的策略組織結(jié)構(gòu)。其中,節(jié)點(diǎn)〈basicfeature〉 的子節(jié)點(diǎn)〈policy〉詳細(xì)的給出了策略子樹的結(jié)構(gòu),其他〈policy〉節(jié)點(diǎn)的結(jié)構(gòu)與其相同。為簡單起見,圖2中的使用〈policy〉元素代替策略子樹。當(dāng)用戶請求訪文檔中的某個節(jié)點(diǎn)時,訪問控制系統(tǒng)首先需要獲取相關(guān)的訪問控制策略,然后根據(jù)沖突解決機(jī)制進(jìn)行策略決策,并生成該節(jié)點(diǎn)(即節(jié)點(diǎn)子樹)的安全視圖,最后系統(tǒng)根據(jù)安全視圖控制用戶對節(jié)點(diǎn)的訪問請求。假設(shè)請求用戶的當(dāng)前角色為 guest,執(zhí)行操作為read,訪問節(jié)點(diǎn)為〈node〉(target, xsd中的節(jié)點(diǎn)),則針對該節(jié)點(diǎn)子樹的一般策略決策流程如下(a)讀取khema文檔target, xsd中以節(jié)點(diǎn)〈node〉為根的整個子樹,并將其解析為 Document Object Model 樹,艮口 DOM 樹;(b)獲取當(dāng)前子樹的根節(jié)點(diǎn)root,并讀取該節(jié)點(diǎn)及其祖先節(jié)點(diǎn)上定義的所有策略;(c)從步驟(b)獲得的所有策略中,獲得與當(dāng)前角色guest和操作read相關(guān)的策略policy ;(d)如果獲得的策略policy為空,則根據(jù)系統(tǒng)定義的默認(rèn)策略,為root節(jié)點(diǎn)添加否定標(biāo)記“_”;否則,根據(jù)策略傳播及沖突解決機(jī)制,對節(jié)點(diǎn)應(yīng)用該獲得的策略;如果結(jié)果為 “permit”,為節(jié)點(diǎn)添加肯定標(biāo)記“ + ”,否則添加否定標(biāo)記“-”;(e)如果root節(jié)點(diǎn)有子節(jié)點(diǎn),以每個子節(jié)點(diǎn)為一顆子樹返回(b)遍歷;否則結(jié)束遍歷,并生成帶“ + ”、“_”標(biāo)記的標(biāo)記樹Label Tree ;(f)對標(biāo)記樹進(jìn)行剪枝生成khema節(jié)點(diǎn)子樹的安全視圖;為了保持khema結(jié)構(gòu)及訪問控制策略定義的靈活性,采用的剪枝原則為剪去所有僅包含否定節(jié)點(diǎn)的子樹;最后,XML文檔中節(jié)點(diǎn)〈node〉及其子節(jié)點(diǎn)的訪問權(quán)限由該khema節(jié)點(diǎn)子樹的安全視圖決定;如果安全視圖中含有某個節(jié)點(diǎn),則該節(jié)點(diǎn)允許訪問,否則不允許訪問。顯然,用戶每次請求訪問XML文檔中的節(jié)點(diǎn)時,訪問控制系統(tǒng)都需要根據(jù)上述決策流程進(jìn)行策略決策。而該決策流程中的查找策略、生成標(biāo)記樹、剪枝等操作都是非常耗時的過程,因此決策的時間較長。而且當(dāng)訪問請求頻繁時,訪問控制系統(tǒng)的效率就會急劇下降,因此效率問題成為訪問控制系統(tǒng)的瓶頸問題。一種解決思想是以空間效率換取時間效率。然而保存khema文檔樹的安全視圖方法是不可行的,因?yàn)閗hema文檔對不同角色的不同操作的安全視圖不同,因此安全視圖數(shù)量龐大不易存儲。而且策略更新及角色變化時,安全視圖的更新工作量也較大,不易于策略管理。此外不同的應(yīng)用系統(tǒng)中的剪枝原則不一定相同,因此保存安全視圖的方法也不利于策略模型的推廣應(yīng)用。本發(fā)明設(shè)計(jì)了一種壓縮保存標(biāo)記樹的方法,既可以減少存儲空間又提高了策略決策效率。下面以一個具體實(shí)例說明該方法。首先假設(shè)系統(tǒng)中只有admin和guest兩個角色, 根據(jù)系統(tǒng)中定義的訪問控制策略,針對read操作和khema文檔樹執(zhí)行上述策略決策流程, 得到兩個標(biāo)記樹如圖3所示。進(jìn)一步考慮合并角色admin和guest的標(biāo)記樹,采用每個節(jié)點(diǎn)僅保存允許訪問角色的方法,則標(biāo)記樹可以合并為如圖4所示的標(biāo)記樹,對于兩個角色都不允許訪問的節(jié)點(diǎn), 標(biāo)記為空。最后,為系統(tǒng)中的每個角色分配一個唯一的素數(shù)I D (例如admin的ID為2、guest 的ID為3),則節(jié)點(diǎn)可以僅保存允許訪問角色I(xiàn)D的乘積,如果節(jié)點(diǎn)不允許任何角色訪問,該節(jié)點(diǎn)取默認(rèn)值1,如圖5所示。從而每個節(jié)點(diǎn)都記錄了一個正整數(shù),稱為該節(jié)點(diǎn)的權(quán)限字,如果節(jié)點(diǎn)上的權(quán)限字能被角色的ID整除,則表示允許角色訪問該節(jié)點(diǎn),否則不允許訪問該節(jié)
點(diǎn)ο顯然,khema節(jié)點(diǎn)記錄的權(quán)限字個數(shù)與操作個數(shù)相同,進(jìn)一步把這些權(quán)限字封裝成一個〈number〉元素節(jié)點(diǎn)。該節(jié)點(diǎn)的子節(jié)點(diǎn)為四種操作組成的子節(jié)點(diǎn),其值為相應(yīng)的權(quán)限字(如<read>6</read>)。然后,把〈number〉元素節(jié)點(diǎn)作為相應(yīng)khema節(jié)點(diǎn)的子節(jié)點(diǎn)與其綁定后添加到khema文檔中,形成khema文檔的權(quán)限樹,如圖6所示。其中,詳細(xì)給出了節(jié)點(diǎn)<basicfeature>的〈number〉子樹結(jié)構(gòu),其他節(jié)點(diǎn)的〈number〉子樹結(jié)構(gòu)與其相同。保存標(biāo)記樹的優(yōu)點(diǎn)可以歸結(jié)為如下三點(diǎn)(1)存儲空間小只需在khema節(jié)點(diǎn)添加〈number〉子節(jié)點(diǎn)即可,而且實(shí)現(xiàn)了 Schema文檔、策略和標(biāo)記樹的一起存儲。(2)更新簡單當(dāng)策略更新時,只需讀取相關(guān)節(jié)點(diǎn)子樹及涉及到的角色和操作,更新〈number〉元素艮口可。(3)改善了決策效率當(dāng)用戶請求訪問系統(tǒng)資源時,訪問控制系統(tǒng)只需讀取相應(yīng) khema節(jié)點(diǎn)的標(biāo)記樹,然后根據(jù)權(quán)限值判定及剪枝原則,進(jìn)行剪枝生成安全視圖即可。
權(quán)利要求
1.一種本源XML數(shù)據(jù)庫中XML文檔的訪問控制方法,其特征在于采用如下步驟(1)在基于角色的XML訪問控制模型X-RBAC的基礎(chǔ)上,建立XML訪問控制系統(tǒng)的策略模型;(2)構(gòu)建該模型的樹形策略結(jié)構(gòu);(3)策略結(jié)構(gòu)采用XML文檔的形式描述,將這些訪問控制策略封裝成一棵策略子樹,即把策略子樹作為相應(yīng)khema節(jié)點(diǎn)的子樹從而加入khema文檔中,作出基于khema文檔的策略組織結(jié)構(gòu);(4)當(dāng)用戶請求訪問khema文檔中的某個節(jié)點(diǎn)時,訪問控制系統(tǒng)首先需要獲取相關(guān)的訪問控制策略,然后根據(jù)沖突解決機(jī)制進(jìn)行策略決策,并生成該節(jié)點(diǎn),即節(jié)點(diǎn)子樹的安全視圖,最后系統(tǒng)根據(jù)安全視圖控制用戶對節(jié)點(diǎn)的訪問請求;(5)實(shí)施該策略決策。
2.根據(jù)權(quán)利要求1所述的本源XML數(shù)據(jù)庫中XML文檔的訪問控制方法,其特征在于 所述步驟(1)中的策略模型中,訪問控制規(guī)則表示為五元組rule (roles,schema_node, action, permission,propagation)(1. a)r0leS表示角色,為系統(tǒng)中角色集的一個子集,是訪問控制策略的主體; (l.b)schema_node表示schema節(jié)點(diǎn),包括元素節(jié)點(diǎn)和屬性節(jié)點(diǎn),不含文本節(jié)點(diǎn),本文以元素節(jié)點(diǎn)為訪問控制保護(hù)的對象,屬性節(jié)點(diǎn)的權(quán)限繼承于相應(yīng)元素節(jié)點(diǎn)的權(quán)限,它是訪問控制策略的客體,并采用XPath來描述;(1. (3)3(^丨011表示行為,為主體對客體實(shí)施的操作,包括“儀3(1”、“(3儀3{6”、 1^6”、 “delete”,分別表示讀、添加、更新及刪除四種操作;(l.d)permission表示權(quán)限,為主體對客體執(zhí)行某種操作的許可,取“permit”、“deny” 兩種值,從而實(shí)現(xiàn)肯定授權(quán)和否定授權(quán)兩種授權(quán)方式,訪問控制規(guī)則中,使用“ + ”、“-”兩種符號sign來分別表示肯定授權(quán)或否定授權(quán);(l.ebropagation表示傳播選項(xiàng),為授權(quán)傳播的深度,取值為“*”、“0”或具體正整數(shù) “n”,實(shí)現(xiàn)三種傳播方式“*”傳播,即瀑布式傳播,授權(quán)規(guī)則作用范圍為自身節(jié)點(diǎn)及所有子節(jié)點(diǎn); “0”傳播,即無傳播,授權(quán)規(guī)則作用范圍僅為自身節(jié)點(diǎn),“η”傳播,η取值為正整數(shù),授權(quán)規(guī)則作用范圍為自身節(jié)點(diǎn)及深度小于等于η的所有子節(jié)點(diǎn)。
3.根據(jù)權(quán)利要求1所述的本源XML數(shù)據(jù)庫中XML文檔的訪問控制方法,其特征在于 所述的步驟(4)進(jìn)一步包括請求用戶的當(dāng)前角色為guest,執(zhí)行操作為read,訪問節(jié)點(diǎn)為〈node〉,所述〈node〉為 target, xsd中的節(jié)點(diǎn),則針對該節(jié)點(diǎn)子樹的策略決策流程如下(4. a)讀取khema文檔target, xsd中以節(jié)點(diǎn)〈node〉為根的整個子樹,并將其解析為 Document Object Model 樹,艮口 DOM 樹;(4. b)獲取當(dāng)前子樹的根節(jié)點(diǎn)root,并讀取該節(jié)點(diǎn)及其祖先節(jié)點(diǎn)上定義的所有策略; (4. c)從步驟(4.b)獲得的所有策略中,獲得與當(dāng)前角色guest和操作read相關(guān)的策略policy ;(4. d)如果獲得的策略policy為空,則根據(jù)系統(tǒng)定義的默認(rèn)策略,為root節(jié)點(diǎn)添加否定標(biāo)記“_” ;否則,根據(jù)策略傳播及沖突解決機(jī)制,對節(jié)點(diǎn)應(yīng)用該獲得的策略;如果結(jié)果為 "permit",為節(jié)點(diǎn)添加肯定標(biāo)記“ + ”,否則添加否定標(biāo)記“_” ;(4. e)如果root節(jié)點(diǎn)有子節(jié)點(diǎn),以每個子節(jié)點(diǎn)為一顆子樹返回(4. b)遍歷;否則結(jié)束遍歷,并生成帶“ + ”、“_”標(biāo)記的標(biāo)記樹Label Tree ;(4. f)對標(biāo)記樹進(jìn)行剪枝生成khema節(jié)點(diǎn)子樹的安全視圖;為了保持khema結(jié)構(gòu)及訪問控制策略定義的靈活性,采用的剪枝原則為剪去所有僅包含否定節(jié)點(diǎn)的子樹;最后,XML文檔中節(jié)點(diǎn)〈node〉及其子節(jié)點(diǎn)的訪問權(quán)限由該khema節(jié)點(diǎn)子樹的安全視圖決定;如果安全視圖中含有某個節(jié)點(diǎn),則該節(jié)點(diǎn)允許訪問,否則不允許訪問。
4.根據(jù)權(quán)利要求1所述的本源XML數(shù)據(jù)庫中XML文檔的訪問控制方法,其特征在于 所述的步驟(5)實(shí)施該策略決策,包括如下步驟(5. a)為系統(tǒng)中的每個角色分配一個唯一的素數(shù)ID ;(5. b)對于一個khema文檔,把所有角色同一種操作的標(biāo)記樹合為一個新標(biāo)記樹,新標(biāo)記樹的每個節(jié)點(diǎn)僅記錄一個整數(shù),該整數(shù)為所有允許訪問該節(jié)點(diǎn)的角色I(xiàn)D之積;如果不存在允許訪問的角色,則該整數(shù)為1 ;(5. c)顯然khema節(jié)點(diǎn)記錄的整數(shù)個數(shù)與操作個數(shù)相同,進(jìn)一步把這些整數(shù)封裝成一個〈number〉元素節(jié)點(diǎn),該〈number〉元素節(jié)點(diǎn)的子節(jié)點(diǎn)為四種操作組成的子節(jié)點(diǎn),其值為相應(yīng)的整數(shù);(5. d)把〈number〉元素節(jié)點(diǎn)作為相應(yīng)khema節(jié)點(diǎn)的子節(jié)點(diǎn)與其綁定后添加到khema 文檔中,從而實(shí)現(xiàn)新標(biāo)記樹的保存;(5. e)新標(biāo)記樹中,如果節(jié)點(diǎn)某一操作的取值能被角色I(xiàn)D整除,則該角色允許對該節(jié)點(diǎn)執(zhí)行這個操作;否則不允許。
全文摘要
一種本源XML數(shù)據(jù)庫中XML文檔的訪問控制方法(1)在X-RBAC模型的基礎(chǔ)上,定義了XML訪問控制系統(tǒng)的一種策略模型;(2)給出了該模型的一種樹形策略結(jié)構(gòu);(3)策略結(jié)構(gòu)可以采用XML文檔的形式描述,將這些訪問控制策略封裝成一棵策略子樹;(4)在此基礎(chǔ)上提出了一種有效策略決策算法,根據(jù)訪問控制策略為特定的用戶或角色生成Schema文檔中某個節(jié)點(diǎn)子樹的安全視圖;(5)對策略決策實(shí)施效率提出改進(jìn)方案,設(shè)計(jì)了一種壓縮保存標(biāo)記樹的方法,既可以減少存儲空間又提高了策略決策效率。
文檔編號G06F21/22GK102262667SQ20111021283
公開日2011年11月30日 申請日期2011年7月27日 優(yōu)先權(quán)日2011年7月27日
發(fā)明者張然, 郎波 申請人:北京航空航天大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
新宁县| 中江县| 台东县| 遵义县| 宜兰县| 万年县| 屯留县| 车险| 石首市| 山丹县| 安康市| 木里| 平安县| 翁牛特旗| 阳新县| 河池市| 临洮县| 荣成市| 敦化市| 闽清县| 综艺| 赤壁市| 顺平县| 永平县| 青岛市| 仁布县| 花莲县| 离岛区| 侯马市| 高唐县| 蒲城县| 沁水县| 马公市| 荣昌县| 平阴县| 白玉县| 凌云县| 五寨县| 安多县| 晋江市| 区。|