專利名稱:用于解決策略沖突的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及訪問控制領(lǐng)域,更具體而言,涉及用于解決訪問控制中的策略沖突的方法和設(shè)備。
背景技術(shù):
隨著對安全需求的不斷提高以及對隱私保護(hù)的逐漸重視,越來越多的信息系統(tǒng)需要安全機(jī)制來保證其信息訪問的安全性。例如,企業(yè)需要保護(hù)其客戶資料、產(chǎn)品設(shè)計、生產(chǎn)流程等數(shù)據(jù),銀行需要保護(hù)客戶的賬戶信息、交易密碼等數(shù)據(jù),醫(yī)院需要保護(hù)病人的個人信息、病歷病史等數(shù)據(jù)。為了保證系統(tǒng)資源不被非法使用和訪問,就需要使用訪問控制機(jī)制來限制用戶對特定資源的訪問,從而保護(hù)系統(tǒng)資源。訪問控制主要指權(quán)限控制,即用戶和用戶組被賦予一定的權(quán)限,從而控制用戶和用戶組可以訪問哪些資源,并可以指定用戶對這些資源能夠執(zhí)行哪些操作。訪問控制主要通過策略(Policy)來實現(xiàn),訪問控制策略也稱安全策略,是用來控制和管理主體對客體訪問的一系列規(guī)則的,它反映信息系統(tǒng)對安全的需求。一個訪問控制策略(以下簡稱“策略”)通常包括主體(如角色或人)、客體(如隱私數(shù)據(jù))、行為(如允許訪問、拒絕訪問)屬性,以表示主體對客體的訪問是否被允許。例如,策略Pl = {護(hù)士,病史,拒絕},表示護(hù)士對病人病史數(shù)據(jù)的訪問是被拒絕的。這條策略可能由病人制定,也可能由醫(yī)生或其他機(jī)構(gòu)制定。基于策略的訪問控制對管理系統(tǒng)資源是相當(dāng)有效的。在這樣的系統(tǒng)中,安全管理主要指對訪問控制策略的定義,并將這些策略轉(zhuǎn)換為用于控制訪問權(quán)限的信息。然而,基于策略的信息系統(tǒng)也存在一個日益嚴(yán)重的問題,即隨著策略數(shù)量的增加,不同策略間可能會產(chǎn)生沖突。例如,兩個策略對同一主體和客體定義了不同的行為,一個允許訪問,另一個拒絕訪問。因此有必要尋求一種解決策略沖突的方法,在沖突的策略中選擇一個最為合理的策略并執(zhí)行。在現(xiàn)有技術(shù)中,已有一些研究者對策略沖突問題加以研究。例如,在 G. Russello、Changyu Dong 禾口 N. Dulay 所發(fā)表的文章"Authorisation and Conflict Resolution for Hierarchical Domains,,(Proceedings of POLICY 2007) (下稱“對比文獻(xiàn)[1]”)中,通過制定一系列規(guī)則來檢測并解決策略沖突,例如“行為=拒絕”的策略比“行為=允許”的策略優(yōu)先級高,這樣的規(guī)則執(zhí)行起來較為繁瑣而且不具有通用性。它局限于具體的描述策略的語言,如果描述策略的形式或者數(shù)據(jù)結(jié)構(gòu)改變了,規(guī)則需要重新制定。此外,這些規(guī)則有時并不能反映系統(tǒng)的實際需求,其分析結(jié)果也不夠合理。在美國專利US20060010439 Al (題為 “Conflict Detection in RuleSets", 2005-04-12)中,也是通過規(guī)則集來檢測策略沖突的,與對比文獻(xiàn)[1]具有相同的問題。在Jing Jin、Gail-Joon Ahn、Hongxin Hu 等人所發(fā)表的文章 “Patient-centric authorization framework for sharing electronic health records" (Proceedings of SACMAT 2009)中,討論了訪問控制策略組合時產(chǎn)生的策略異常問題,它將策略異常分為策略不一致和策略冗余(本發(fā)明中的策略沖突主要指策略不一致),但其解決方法本質(zhì)上也是基于規(guī)則的,并采用定性的分析方法。綜上,已有的對策略沖突的解決方法大都是基于規(guī)則的,它們局限于具體的制定策略的語言,不具有通用性,也不夠柔性。其定性分析方法的處理結(jié)果也不夠合理。
發(fā)明內(nèi)容
針對上述現(xiàn)有技術(shù)的問題,本發(fā)明提供了一種檢測并解決策略沖突的方法和設(shè)備,根據(jù)該方法和設(shè)備可以有效檢測不同策略間的沖突并通過定量計算沖突策略的優(yōu)先級得到最合理的解決方案。根據(jù)本發(fā)明第一方面,提供了一種解決策略沖突的方法,包括輸入策略集合、私有數(shù)據(jù)結(jié)構(gòu)和角色數(shù)據(jù)結(jié)構(gòu),其中所述私有數(shù)據(jù)結(jié)構(gòu)和角色數(shù)據(jù)結(jié)構(gòu)分別用于描述策略的客體和主體;將輸入的所述策略、私有數(shù)據(jù)結(jié)構(gòu)和角色數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為策略與數(shù)據(jù)本體; 檢測所述策略與數(shù)據(jù)本體的不一致性,以獲得沖突策略集合;以及從所述沖突策略集合中選擇待執(zhí)行的策略。根據(jù)本發(fā)明第二方面,提供了一種解決策略沖突的設(shè)備,包括輸入裝置,用于輸入策略集合、私有數(shù)據(jù)結(jié)構(gòu)和角色數(shù)據(jù)結(jié)構(gòu),其中所述私有數(shù)據(jù)結(jié)構(gòu)和角色數(shù)據(jù)結(jié)構(gòu)分別用于描述策略的客體和主體;本體轉(zhuǎn)換裝置,用于將輸入的所述策略、私有數(shù)據(jù)結(jié)構(gòu)和角色數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為策略與數(shù)據(jù)本體;策略沖突檢測裝置,用于檢測所述策略與數(shù)據(jù)本體的不一致性,以獲得沖突策略集合;以及策略沖突解決裝置,用于從所述沖突策略集合中選擇待執(zhí)行的策略。本發(fā)明的主要優(yōu)勢在于1.能夠有效檢測訪問控制中策略之間的沖突,并提供合理解決方案。2.通過采用基于語義的方法,本發(fā)明不局限于具體的策略語言和數(shù)據(jù)結(jié)構(gòu),因此具有較好的通用性和柔性。3.通過定量計算得到?jīng)_突策略的優(yōu)先級,綜合考慮了影響策略的多種因素,從而能夠得到更加合理且通用的分析結(jié)果。
結(jié)合附圖,從下面對本發(fā)明實施例的詳細(xì)描述,將更好地理解本發(fā)明,附圖中類似的標(biāo)號指示類似的部分,其中圖IA示出私有數(shù)據(jù)結(jié)構(gòu)的一個示例;圖IB示出角色數(shù)據(jù)結(jié)構(gòu)的一個示例;圖IC示出策略沖突的一個示例;圖2是示出根據(jù)本發(fā)明實施例的策略沖突解決系統(tǒng)200的內(nèi)部結(jié)構(gòu)的框圖;圖3示出策略與數(shù)據(jù)本體結(jié)構(gòu)的一個示例;圖4是示出圖2所示策略沖突解決設(shè)備200A的操作示例的流程圖;以及圖5示出了用于實現(xiàn)本發(fā)明的計算機(jī)系統(tǒng)的示意性框圖。
具體實施方式
為了便于說明,以下先對本申請中所使用的術(shù)語進(jìn)行簡要介紹。策略(訪問控制策略)在訪問控制系統(tǒng)中,策略指的是用于控制和管理主體對客體訪問的一系列規(guī)則,它反映信息系統(tǒng)對安全的需求。一個訪問控制策略(以下簡稱“策略”)通常包括主體(如角色或人)、客體(如隱私數(shù)據(jù))、行為(如允許訪問、拒絕訪問)屬性,表示主體對客體的訪問是否被允許。例如,策略Pl = {護(hù)士,病史,拒絕},表示護(hù)士對病人病史數(shù)據(jù)的訪問是被拒絕的。這條策略可能由病人制定,也可能由醫(yī)生或其他機(jī)構(gòu)制定。另外,根據(jù)用戶需求的不同,還可以定義其他附加屬性,例如,時間屬性,用于描述策略制定的時間;領(lǐng)域?qū)傩?,用于描述策略作用的領(lǐng)域。當(dāng)然,策略的附加屬性并不局限于上述示例,用戶可以根據(jù)其需求任意定義。策略沖突策略沖突指的是多個策略間的不一致或者矛盾,從而導(dǎo)致系統(tǒng)無法準(zhǔn)確定義對資源的訪問權(quán)限。由于策略的制定者可能不同,同一制定者制定不同策略的時間和依據(jù)可能不同,策略沖突在實際系統(tǒng)中往往難以避免。例如,圖IC示出策略沖突的一個示例。在該示例中,策略Pl= {醫(yī)生,病癥,允許},策略P2 = { —般醫(yī)生,癌癥,拒絕},策略P5 = {張偉,病癥,允許}。事實上,Pl規(guī)定醫(yī)生可訪問病人的病癥,P2規(guī)定一般醫(yī)生不許訪問癌癥數(shù)據(jù),P5 規(guī)定張偉可訪問病人的病癥,而醫(yī)生包含一般醫(yī)生,張偉又屬于一般醫(yī)生,病癥包含癌癥, 因此三者產(chǎn)生沖突。私有數(shù)據(jù)私有數(shù)據(jù)是指對安全性有一定要求的隱私數(shù)據(jù),在本發(fā)明中主要指策略的客體,即需要保護(hù)的對象。私有數(shù)據(jù)通常以結(jié)構(gòu)化形式存儲。私有數(shù)據(jù)結(jié)構(gòu)即指存儲私有數(shù)據(jù)的層次化結(jié)構(gòu)。例如,圖IA示出了可以用于描述病人的電子病歷的層次化數(shù)據(jù)結(jié)構(gòu)的一個示例。角色數(shù)據(jù)角色數(shù)據(jù)泛指訪問系統(tǒng)資源的人員或角色,在本發(fā)明中主要指策略的主體,即訪問資源的對象。角色數(shù)據(jù)通常以結(jié)構(gòu)化形式儲存。角色數(shù)據(jù)結(jié)構(gòu)即指儲存角色數(shù)據(jù)的層次化結(jié)構(gòu)。例如,圖IB示出了可以用于描述醫(yī)療角色的層次化數(shù)據(jù)結(jié)構(gòu)的一個示例。本體(Ontology)是對真實世界中的實體以及實體之間的關(guān)系的描述。不一致的本體(inconsistent ontology)所謂“不一致的本體”指的是該本體中存在錯誤或沖突(矛盾),從而導(dǎo)致本體中的某些概念不能被正確解釋。不可滿足的概念所謂“不可滿足的概念”表示該概念在本體中不存在合理解釋。 每個概念都有一個解釋函數(shù),而對于“不可滿足的概念”,其解釋函數(shù)為空。在基于策略的訪問控制系統(tǒng)中,策略沖突問題日益嚴(yán)重。隨著策略數(shù)量的增加,不同策略間產(chǎn)生沖突的可能性越來越大。因此有必要尋求一種解決策略沖突的方法,在沖突的策略中選擇一個最為合理的策略并執(zhí)行。圖2是示出根據(jù)本發(fā)明實施例的策略沖突解決系統(tǒng)200的內(nèi)部結(jié)構(gòu)的框圖。如圖2所示,策略沖突解決系統(tǒng)200由策略沖突解決設(shè)備200A和存儲設(shè)備200B 兩部分構(gòu)成。策略沖突解決設(shè)備200A包括輸入裝置201、本體轉(zhuǎn)換裝置202、策略沖突檢測裝置203和策略沖突解決裝置204。存儲設(shè)備200B包含策略存儲器205、私有數(shù)據(jù)結(jié)構(gòu)存儲器206、角色數(shù)據(jù)結(jié)構(gòu)存儲器207、策略與數(shù)據(jù)本體存儲器208和沖突策略存儲器209。
策略存儲器205存儲系統(tǒng)中的策略,這些策略可以由已知的策略制定應(yīng)用制定。 私有數(shù)據(jù)結(jié)構(gòu)存儲器206以例如層次化結(jié)構(gòu)存儲系統(tǒng)中的私有數(shù)據(jù)。角色數(shù)據(jù)結(jié)構(gòu)存儲器 207以例如層次化結(jié)構(gòu)存儲系統(tǒng)中的角色數(shù)據(jù)。輸入裝置201從策略存儲器205輸入策略集合,并且從私有數(shù)據(jù)結(jié)構(gòu)存儲器206 和角色數(shù)據(jù)結(jié)構(gòu)存儲器207分別輸入預(yù)先定義的私有數(shù)據(jù)結(jié)構(gòu)和角色數(shù)據(jù)結(jié)構(gòu)。本體轉(zhuǎn)換裝置202將策略存儲器輸入的策略、私有數(shù)據(jù)和角色數(shù)據(jù)轉(zhuǎn)換為本體形式。然后,轉(zhuǎn)換后的本體被存儲在策略與數(shù)據(jù)本體存儲器208中。轉(zhuǎn)換可以根據(jù)策略和私有數(shù)據(jù)、角色數(shù)據(jù)的結(jié)構(gòu)通過預(yù)定算法來實現(xiàn)。例如,本體轉(zhuǎn)換裝置202可以包括私有數(shù)據(jù)轉(zhuǎn)換單元、角色數(shù)據(jù)轉(zhuǎn)換單元和策略轉(zhuǎn)換單元。這三個單元分別工作如下私有數(shù)據(jù)轉(zhuǎn)換單元將私有數(shù)據(jù)結(jié)構(gòu)中的節(jié)點(diǎn)轉(zhuǎn)換為本體中的概念,私有數(shù)據(jù)中的記錄(實例)轉(zhuǎn)換為相應(yīng)概念的實例,按照私有數(shù)據(jù)的層次化結(jié)構(gòu)為本體建立包含關(guān)系。角色數(shù)據(jù)轉(zhuǎn)換單元將角色數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為本體中的相應(yīng)部分。即,將角色數(shù)據(jù)結(jié)構(gòu)中的節(jié)點(diǎn)也轉(zhuǎn)換為本體中的概念,角色數(shù)據(jù)中的記錄(實例)轉(zhuǎn)換為相應(yīng)概念的實例,并且按照角色數(shù)據(jù)的層次化結(jié)構(gòu)為本體建立包含關(guān)系。策略轉(zhuǎn)換單元將策略轉(zhuǎn)換為本體中相關(guān)概念和實例。例如,策略包含主體、客體和行為屬性。根據(jù)用戶需求,策略還可以包含一個或多個附加屬性,例如時間、領(lǐng)域。這些屬性分別表示策略指明的角色、私有數(shù)據(jù)、行為(拒絕或允許)、制定策略的時間、策略作用的領(lǐng)域等等。在該示例中,轉(zhuǎn)換為本體后,建立了主體、客體、行為、時間、領(lǐng)域這5個概念, 具體的一條策略就是概念的實例。以圖IA和圖IB所示的醫(yī)療領(lǐng)域的私有數(shù)據(jù)結(jié)構(gòu)和角色數(shù)據(jù)結(jié)構(gòu)為例,病人對電子病歷的訪問具有隱私保護(hù)的需求。角色數(shù)據(jù)作為醫(yī)療角色,私有數(shù)據(jù)作為電子病歷,從而經(jīng)過轉(zhuǎn)換,所得到的策略與數(shù)據(jù)本體結(jié)構(gòu)如圖3。然后,策略沖突檢測裝置203檢測本體轉(zhuǎn)換裝置202生成的策略與數(shù)據(jù)本體的不一致性,以獲得沖突策略集合。例如,該沖突策略檢測過程可以使用已知的本體推理應(yīng)用 (例如Racer、Jena等)所提供的推理功能,獲得本體中的最小不一致子集(已有的本體推理工具大都具有獲得最小不一致子集的功能),來作為沖突策略集合。當(dāng)然,本發(fā)明并不局限于該示例,本領(lǐng)域技術(shù)人員也可以設(shè)想其他手段來基于策略與數(shù)據(jù)本體獲得沖突策略集合。由策略沖突檢測裝置203檢測出的沖突策略集合被存儲在沖突策略存儲器209中。在得到?jīng)_突策略集合之后,策略沖突解決裝置204根據(jù)沖突策略存儲器209中存儲的沖突策略以及策略與數(shù)據(jù)本體存儲器208中存儲的策略與數(shù)據(jù)本體來選擇待執(zhí)行的策略。作為示例,本發(fā)明提供一種策略優(yōu)先級計算方法來解決沖突策略并選擇待執(zhí)行的策略。在此情況下,策略沖突解決裝置204可以包括策略優(yōu)先級計算單元和策略選擇單元。首先,策略優(yōu)先級計算單元計算出每個沖突策略的優(yōu)先級。然后,策略選擇單元選擇具有最高優(yōu)先級的策略,作為待執(zhí)行策略并輸出。作為示例,本發(fā)明給出一種策略優(yōu)先級的計算方法。在該示例中,策略具有主體、 客體、行為、領(lǐng)域和時間屬性。如上所述,這些屬性僅僅是作為示例給出的,并不作為對本發(fā)明的限制。具體計算方法如下1.將沖突策略存儲器209中存儲的沖突策略集合記為P = {Pl,P2,...,Pn,},其中η為沖突策略的數(shù)目。
2.從策略與數(shù)據(jù)本體中獲得Pl,P2,. . .,Pn的領(lǐng)域?qū)傩?,例如“公共?表示該策略由公共組織或標(biāo)準(zhǔn)化組織建立,例如政府)、“局部”(表示該策略由局部組織建立,如某個醫(yī)院)、“個人”(表示該策略由個人構(gòu)建,如某個病人)。3.從策略與數(shù)據(jù)本體中獲得P1,P2,...,Pn的時間屬性,即制定該策略的日期,如 2009-10-20。4.從策略與數(shù)據(jù)本體中獲得Pl,P2, . . . , Pn的結(jié)構(gòu)層級信息,該結(jié)構(gòu)層級信息用于描述每個策略的主體和客體在策略與數(shù)據(jù)本體結(jié)構(gòu)中所處的位置。例如,策略的結(jié)構(gòu)層級=策略的主體的結(jié)構(gòu)層級X策略的客體的結(jié)構(gòu)層級。策略的主體/客體的結(jié)構(gòu)層級可以等于它們在本體中所處的位置。例如,底層節(jié)點(diǎn)的值為1,倒數(shù)第二層節(jié)點(diǎn)的值為2,依此類推,層級越高,位置值越大。5.每個策略的優(yōu)先級=ffd*P (Sd) +Wt*P (St) +ffs*P (Ss) +ffa*P (Sa),其中,Wd,Wt, Ws, Wa是4個權(quán)重參數(shù),其總和為1。例如Wd = 0. 3,Wt = 0. 3,Ws = 0. 25,Wa = 0. 15,P (Sd)由領(lǐng)域?qū)傩缘脕?,一般公共策略比局部策略具有更高的?yōu)先級,局部策略又比個人策略具有更高的優(yōu)先級,因此領(lǐng)域越大,P(Sd)值越高。例如對公共策略,P(Sd)= 1 ;對局部策略,P(Sd) =0.8 ;對個人策略,P(Sd) = 0. 5 ;P(St)由時間屬性得來,一般時間越新的策略優(yōu)先級越高,因此時間越新,P(St)值越高。例如對較新的策略,P(St) = 1,對較老的策略,P(St) = 0.7 ;P(Ss)由結(jié)構(gòu)層級信息得到,一般層級越低的策略越具體,優(yōu)先級也越高,因此結(jié)構(gòu)層級越低,P(Ss)值越高。例如=P(Ss) = 1/(策略的結(jié)構(gòu)層級);P(Sa)由行為屬性得來,為了最大限度保護(hù)私有數(shù)據(jù),一般“拒絕”的策略比“允許” 的策略具有更高的優(yōu)先級,因此行為是“拒絕”的策略P(Sa)值較高。例如,對于“拒絕”策略,P(Sa) = 1 ;對于“允許”策略,P (Sa) =0.5。值得注意的是,上述策略優(yōu)先級計算方法僅僅作為示例,用戶可以根據(jù)設(shè)計需求來定義其他適當(dāng)?shù)挠嬎惴椒?。例如,附加屬性并不局限于時間、領(lǐng)域兩種,各個權(quán)重值可以由用戶根據(jù)實際情況定義。對領(lǐng)域、時間、層次結(jié)構(gòu)、行為四個參數(shù)的值的計算,即P(Sd), P(St),P(Sa),P(Ss),用戶也可定義其它的計算方法。例如,本發(fā)明的實施例中定義“公共”策略的P(Sd) = 1,“局部”策略的P(Sd) =0.8,“個人”策略的P(Sd) =0.5,而事實上,令“公共”策略的P(Sd) = 1,“局部”策略的P(Sd) =0.6,“個人”策略的P(Sd) =0.2也是完全可行的。圖4是示出圖2所示策略沖突解決設(shè)備200A的操作示例的流程圖。具體步驟如下401 輸入裝置201輸入策略、私有數(shù)據(jù)結(jié)構(gòu)和角色數(shù)據(jù)結(jié)構(gòu);402 本體轉(zhuǎn)換裝置202將輸入的策略、私有數(shù)據(jù)結(jié)構(gòu)和角色數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為策略與數(shù)據(jù)本體,這里可采用預(yù)定義的算法、借助本體編輯工具(如等實現(xiàn);403 策略沖突檢測裝置203通過本體推理工具(如Racer、Jena等)檢測策略與數(shù)據(jù)本體的不一致性。如果本體是一致的,即不存在沖突策略,則直接輸出與操作相匹配的待執(zhí)行策略。如果本體不一致,則進(jìn)行下一步驟404;404:根據(jù)本體不一致檢測結(jié)果獲得沖突策略集合,這里,例如可以計算策略與數(shù)據(jù)本體的最小不一致子集(可通過常用本體推理工具實現(xiàn)),作為沖突策略集合;405 策略沖突解決裝置204計算沖突策略集合中每個策略的優(yōu)先級(計算方法如前所述);406 策略沖突解決裝置204選擇具有最高優(yōu)先級的策略,該策略即為待執(zhí)行的策略;并且407 輸出所選擇的待執(zhí)行策略。為了更清晰地描述上述過程,下面給出一個具體示例。例如,對于醫(yī)療領(lǐng)域,病人對電子病歷的訪問具有隱私保護(hù)的需求。系統(tǒng)中的策略可以被定義為Pl = {醫(yī)生,病癥,允許},P2 = { 一般醫(yī)生,癌癥,拒絕},...P5 = {張偉,病癥,允許},...系統(tǒng)中的私有數(shù)據(jù)為病人的電子病歷,其結(jié)構(gòu)例如如圖IA所示。系統(tǒng)中的角色數(shù)據(jù)為醫(yī)療角色,其結(jié)構(gòu)例如如圖IB所示。通過本體轉(zhuǎn)換,得到策略與數(shù)據(jù)本體,例如如圖3 所示。當(dāng)醫(yī)生張偉想要訪問病人的癌癥數(shù)據(jù)時,策略P1、P2、P5都涉及這一操作的權(quán)限, 因此需要進(jìn)行沖突檢測。例如上述策略沖突檢測裝置203根據(jù)策略與數(shù)據(jù)本體,利用本體推理工具Racer 檢測本體的不一致性。如果本體不一致,則計算本體中的最小不一致子集,從而得到?jīng)_突策略集合。例如,該沖突策略集合為P =爐1,?2,?5},即策略?112、?5之間產(chǎn)生沖突。事實上,Pl規(guī)定醫(yī)生可訪問病人的病癥,P2規(guī)定一般醫(yī)生不許訪問癌癥數(shù)據(jù),P5規(guī)定張偉可訪問病人的病癥,而醫(yī)生包含一般醫(yī)生,張偉又屬于一般醫(yī)生,病癥包含癌癥,因此三者產(chǎn)生矛盾,其關(guān)系如圖IC所示。下面,計算沖突策略Pl,P2,P5的優(yōu)先級(1)假設(shè)策略Pl,P2,P5的領(lǐng)域?qū)傩远际恰皞€人”,令P1 (Sd) = P2(Sd) = P5(Sd)= 0. 5,(2)根據(jù)其時間屬性,P5的制定時間最新,P2次之,Pl最舊,因此令P1 (St) = 0.4, P2(St) = 0.7,P5(St) = 1,(3)根據(jù)其結(jié)構(gòu)層次,P1 (Ss) = 1/(2*3) = 1/6,P2(Ss) = 1/(2*1) = 1/2,P5(Ss) =1/(1*2) = 1/2,(4)根據(jù)策略的行為屬性是“允許”還是“拒絕”,令?工(Sa) =0.5, P2 (Sa) =LP5(Sa) =0. 5,設(shè)四個權(quán)重參數(shù)分別為=Wd= 0. 3, Wt = 0. 3, Ws = 0. 25, Wa = 0. 15,最后根據(jù)上述公式每個策略的優(yōu)先級=Wd*P (Sd) +Wt*P (St) +WS*P (Ss) +Wa*P (Sa)計算得到策略Pl,P2,P5的優(yōu)先級分別為P1 (S) = Wd*0. 5+Wt*0. 4+Ws*0. 17+Wa*0. 5 = 0. 3875,P2(S) = Wd*0. 5+Wt*0. 7+Ws*0. 5+Wa*l = 0. 635,
P5(S) = Wd*0. 5+Wt*l+Ws*0. 5+Wa*0. 5 = 0. 65,由于P5(S) >P2(S) > P1 (S),因此選擇策略P5被執(zhí)行,即張偉可以訪問病人的癌
癥數(shù)據(jù)。此外,在得到?jīng)_突策略集合的時候,用戶也可以采取手動選擇或者隨機(jī)選擇的方式來獲得待執(zhí)行策略。盡管這種方法也可以解決策略沖突問題,但本發(fā)明致力于提出一種較為合理、通用、以及自動化的解決方案。本發(fā)明綜合考慮了領(lǐng)域、時間、層次結(jié)構(gòu)、行為四個方面對策略優(yōu)先級的影響,這四個參數(shù)的權(quán)重值Wd,wt,ws,wa可以由用戶根據(jù)實際情況定義。另外,用戶也可以根據(jù)實際需求定義其他策略屬性。圖5示出了用于實現(xiàn)本發(fā)明的計算機(jī)系統(tǒng)的示意性框圖。如圖5所示,該計算機(jī)系統(tǒng)包括CPU 501、用戶接口 502、外圍設(shè)備503、存儲器 505、永久存儲設(shè)備506以及將它們彼此相連的總線504。存儲器505中包含訪問控制應(yīng)用5051、策略沖突解決模塊5052、本體編輯應(yīng)用5053、本體推理應(yīng)用5054、策略制定應(yīng)用 5055、其他應(yīng)用5056和操作系統(tǒng)(0S)5057。本發(fā)明的核心功能主要與策略沖突解決模塊 5052相關(guān),其例如是圖2所示的策略沖突解決設(shè)備200A。存儲器505中的各個應(yīng)用可以并行運(yùn)行,以提供多種不同的功能。永久存儲設(shè)備506可以包含本發(fā)明所涉及的各種存儲器, 例如策略存儲器、私有數(shù)據(jù)結(jié)構(gòu)存儲器、角色數(shù)據(jù)結(jié)構(gòu)存儲器、策略與數(shù)據(jù)本體存儲器、沖突策略存儲器、和其他存儲器。上面已經(jīng)參考附圖對根據(jù)本發(fā)明的用于解決策略沖突的方法和設(shè)備進(jìn)行了詳細(xì)描述。如前所述,本發(fā)明能夠有效檢測訪問控制中策略之間的沖突,并提供合理的策略沖突解決方案。另外,本發(fā)明采用基于語義的方法,不局限于具體的策略語言和數(shù)據(jù)結(jié)構(gòu),因此具有較好的通用性和柔性。通過定量計算得到?jīng)_突策略的優(yōu)先級,本發(fā)明綜合考慮了影響策略的多種因素,從而能夠得到更加合理且通用的分析結(jié)果。但是,需要明確,本發(fā)明并不局限于上文所描述并在圖中示出的特定配置和處理。 并且,為了簡明起見,這里省略對已知方法技術(shù)的詳細(xì)描述。在上述實施例中,描述和示出了若干具體的步驟作為示例。但是,本發(fā)明的方法過程并不限于所描述和示出的具體步驟, 本領(lǐng)域的技術(shù)人員可以在領(lǐng)會本發(fā)明的精神之后,作出各種改變、修改和添加,或者改變步驟之間的順序。本發(fā)明的元素可以實現(xiàn)為硬件、軟件、固件或者它們的組合,并且可以用在它們的系統(tǒng)、子系統(tǒng)、部件或者子部件中。當(dāng)以軟件方式實現(xiàn)時,本發(fā)明的元素是被用于執(zhí)行所需任務(wù)的程序或者代碼段。程序或者代碼段可以存儲在機(jī)器可讀介質(zhì)中,或者通過載波中攜帶的數(shù)據(jù)信號在傳輸介質(zhì)或者通信鏈路上傳送?!皺C(jī)器可讀介質(zhì)”可以包括能夠存儲或傳輸信息的任何介質(zhì)。機(jī)器可讀介質(zhì)的例子包括電子電路、半導(dǎo)體存儲器設(shè)備、ROM、閃存、可擦除ROM(EROM)、軟盤、CD-ROM、光盤、硬盤、光纖介質(zhì)、射頻(RF)鏈路,等等。代碼段可以經(jīng)由諸如因特網(wǎng)、內(nèi)聯(lián)網(wǎng)等的計算機(jī)網(wǎng)絡(luò)被下載。本發(fā)明可以以其他的具體形式實現(xiàn),而不脫離其精神和本質(zhì)特征。例如,特定實施例中所描述的算法可以被修改,而系統(tǒng)體系結(jié)構(gòu)并不脫離本發(fā)明的基本精神。因此,當(dāng)前的實施例在所有方面都被看作是示例性的而非限定性的,本發(fā)明的范圍由所附權(quán)利要求而非上述描述定義,并且,落入權(quán)利要求的含義和等同物的范圍內(nèi)的全部改變從而都被包括在本發(fā)明的范圍之中。
10
權(quán)利要求
1.一種解決策略沖突的方法,包括輸入策略集合、私有數(shù)據(jù)結(jié)構(gòu)和角色數(shù)據(jù)結(jié)構(gòu),其中所述私有數(shù)據(jù)結(jié)構(gòu)和角色數(shù)據(jù)結(jié)構(gòu)分別用于描述策略的客體和主體;將輸入的所述策略、私有數(shù)據(jù)結(jié)構(gòu)和角色數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為策略與數(shù)據(jù)本體; 檢測所述策略與數(shù)據(jù)本體的不一致性,以獲得沖突策略集合;以及從所述沖突策略集合中選擇待執(zhí)行的策略。
2.如權(quán)利要求1所述的方法,其中所述私有數(shù)據(jù)結(jié)構(gòu)和所述角色數(shù)據(jù)結(jié)構(gòu)均為層次結(jié)構(gòu),并且所述轉(zhuǎn)換步驟包括將所述私有數(shù)據(jù)層次結(jié)構(gòu)的節(jié)點(diǎn)轉(zhuǎn)換成所述策略與數(shù)據(jù)本體的概念,并將所述私有數(shù)據(jù)層次結(jié)構(gòu)的記錄轉(zhuǎn)換成概念的實例;將所述角色數(shù)據(jù)層次結(jié)構(gòu)的節(jié)點(diǎn)轉(zhuǎn)換成所述策略與數(shù)據(jù)本體的概念,并將所述角色數(shù)據(jù)層次結(jié)構(gòu)的記錄轉(zhuǎn)換成概念的實例;以及將所述策略的每個屬性分別轉(zhuǎn)換成所述策略與數(shù)據(jù)本體的概念,并將具體策略轉(zhuǎn)換成概念的實例。
3.如權(quán)利要求2所述的方法,其中所述策略具有如下屬性主體、客體和行為。
4.如權(quán)利要求3所述的方法,其中所述策略還包括一個或多個附加屬性。
5.如權(quán)利要求4所述的方法,其中所述附加屬性是時間和領(lǐng)域。
6.如權(quán)利要求1所述的方法,其中所述檢測步驟包括計算所述策略與數(shù)據(jù)本體的最小不一致子集,作為所述沖突策略集合。
7.如權(quán)利要求1所述的方法,其中所述選擇步驟包括 計算所述沖突策略集合中的每個策略的優(yōu)先級;以及選擇具有最高優(yōu)先級的策略,作為所述待執(zhí)行的策略。
8.如權(quán)利要求7所述的方法,其中所述策略具有主體、客體和行為屬性,并且所述計算優(yōu)先級的方法如下每個策略的優(yōu)先級=Ws*P (Ss) +Wa*P (Sa),其中,P(Ss)從所述策略在所述策略與數(shù)據(jù)本體中的結(jié)構(gòu)層級信息得到,所述結(jié)構(gòu)層級信息用于描述所述策略的主體和客體在所述策略與數(shù)據(jù)本體的結(jié)構(gòu)中所處的位置, P(Sa)從所述策略的行為屬性得到,并且 Ws和Wa為權(quán)重參數(shù)并滿足Ws+Wa = 1。
9.如權(quán)利要求8所述的方法,其中,在所述策略與數(shù)據(jù)本體的結(jié)構(gòu)上,層級越高,位置值越大,并且P (Ss) = 1/(A1*A》,其中Al和A2分別表示所述策略的主體和客體在所述策略與數(shù)據(jù)本體的結(jié)構(gòu)上的位置值。
10.如權(quán)利要求8所述的方法,其中,所述策略的行為屬性包括“允許”和“拒絕”,并且 “拒絕”策略的P (Sa) > “允許”策略的P (Sa)。
11.如權(quán)利要求7所述的方法,其中所述策略除了具有主體、客體和行為屬性之外,還具有一個或多個附加屬性,并且所述計算優(yōu)先級的方法如下每個策略的優(yōu)先級=Ws*P (Ss) +ffa*P (Sa) +ffd*P (Sd),其中,P(Ss)從所述策略在所述策略與數(shù)據(jù)本體中的結(jié)構(gòu)層級信息得到,所述結(jié)構(gòu)層級信息用于描述所述策略的主體和客體在所述策略與數(shù)據(jù)本體的結(jié)構(gòu)中所處的位置,P(Sa)從所述策略的行為屬性得到,P(Sd)從所述策略的附加屬性得到,并且ffs, Wa禾口 Wd為權(quán)重參數(shù)并滿足ffs+ffa+ffd = 1。
12.如權(quán)利要求11所述的方法,其中所述附加屬性是領(lǐng)域?qū)傩?,該領(lǐng)域?qū)傩悦枋鼋⑺霾呗缘慕M織所服務(wù)的領(lǐng)域,并且領(lǐng)域越大,P(Sd)越高。
13.如權(quán)利要求12所述的方法,其中所述領(lǐng)域?qū)傩园ā肮病薄ⅰ熬植俊焙汀皞€人”,并且滿足“公共”策略的P(Sd) >“局部”策略的P (Sd) >“個人”策略的P (Sd)。
14.如權(quán)利要求11所述的方法,其中所述附加屬性是時間屬性,該時間屬性描述所述策略被建立的時間,并且時間越新,P(Sd)越高。
15.一種解決策略沖突的設(shè)備,包括輸入裝置,用于輸入策略集合、私有數(shù)據(jù)結(jié)構(gòu)和角色數(shù)據(jù)結(jié)構(gòu),其中所述私有數(shù)據(jù)結(jié)構(gòu)和角色數(shù)據(jù)結(jié)構(gòu)分別用于描述策略的客體和主體;本體轉(zhuǎn)換裝置,用于將輸入的所述策略、私有數(shù)據(jù)結(jié)構(gòu)和角色數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為策略與數(shù)據(jù)本體;策略沖突檢測裝置,用于檢測所述策略與數(shù)據(jù)本體的不一致性,以獲得沖突策略集合;以及策略沖突解決裝置,用于從所述沖突策略集合中選擇待執(zhí)行的策略。
16.如權(quán)利要求15所述的設(shè)備,其中所述私有數(shù)據(jù)結(jié)構(gòu)和所述角色數(shù)據(jù)結(jié)構(gòu)均為層次結(jié)構(gòu),并且所述本體轉(zhuǎn)換裝置包括私有數(shù)據(jù)轉(zhuǎn)換單元,用于將所述私有數(shù)據(jù)層次結(jié)構(gòu)的節(jié)點(diǎn)轉(zhuǎn)換成所述策略與數(shù)據(jù)本體的概念,并將所述私有數(shù)據(jù)層次結(jié)構(gòu)的記錄轉(zhuǎn)換成概念的實例;角色數(shù)據(jù)轉(zhuǎn)換單元,用于將所述角色數(shù)據(jù)層次結(jié)構(gòu)的節(jié)點(diǎn)轉(zhuǎn)換成所述策略與數(shù)據(jù)本體的概念,并將所述角色數(shù)據(jù)層次結(jié)構(gòu)的記錄轉(zhuǎn)換成概念的實例;以及策略轉(zhuǎn)換單元,用于將所述策略的每個屬性分別轉(zhuǎn)換成所述策略與數(shù)據(jù)本體的概念, 并將具體策略轉(zhuǎn)換成概念的實例。
17.如權(quán)利要求16所述的設(shè)備,其中所述策略具有如下屬性主體、客體和行為。
18.如權(quán)利要求17所述的系統(tǒng),其中所述策略還包括一個或多個附加屬性。
19.如權(quán)利要求15所述的設(shè)備,其中所述策略沖突檢測裝置被配置用于計算所述策略與數(shù)據(jù)本體的最小不一致子集,作為所述沖突策略集合。
20.如權(quán)利要求15所述的設(shè)備,其中所述策略沖突解決裝置包括策略優(yōu)先級計算單元,用于計算所述沖突策略集合中的每個策略的優(yōu)先級;以及策略選擇單元,用于選擇具有最高優(yōu)先級的策略,作為所述待執(zhí)行的策略。
全文摘要
本發(fā)明提供了用于解決策略沖突的方法和設(shè)備。根據(jù)本發(fā)明的實施例,一種解決策略沖突的方法包括輸入策略集合、私有數(shù)據(jù)結(jié)構(gòu)和角色數(shù)據(jù)結(jié)構(gòu),其中私有數(shù)據(jù)結(jié)構(gòu)和角色數(shù)據(jù)結(jié)構(gòu)分別用于描述策略的客體和主體;將輸入的策略、私有數(shù)據(jù)結(jié)構(gòu)和角色數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為策略與數(shù)據(jù)本體;檢測策略與數(shù)據(jù)本體的不一致性,以獲得沖突策略集合;以及從沖突策略集合中選擇待執(zhí)行的策略。本發(fā)明能夠有效檢測和解決策略之間的沖突。采用基于語義的方法,本發(fā)明不局限于具體的策略語言和數(shù)據(jù)結(jié)構(gòu),因此具有更好的通用性和柔性。通過定量計算得到?jīng)_突策略的優(yōu)先級,本發(fā)明綜合考慮了影響策略的多種因素,從而能夠得到更加合理且通用的分析結(jié)果。
文檔編號G06F21/00GK102201041SQ20101013152
公開日2011年9月28日 申請日期2010年3月23日 優(yōu)先權(quán)日2010年3月23日
發(fā)明者劉博 , 李建強(qiáng), 趙彧 申請人:日電(中國)有限公司