葛 莉
(渭南師范學院, 陜西 渭南 714000)
在我們今天所處的互聯網和協(xié)同時代,信息和知識交換是計算技術的一個關鍵要素。本體是關于存在及真實世界的任何領域中的對象、性質、時間、過程和關系的種類和結構的學說[1]。近年來,隨著信息化的不斷發(fā)展,本體已成為知識工程、信息檢索與獲取、知識表示、軟件工程、自然語言處理等多個領域的熱門研究話題[2]。它提供了一個為用戶和應用程序交互的共享知識和領域。因此在許多信息交流領域,特別是安全領域發(fā)揮著重要的作用。本體在確保信息交換間語義等價的同時也避免了信息交換的噪音(無用信息)或沉默(相關信息的遺漏)。
P2P技術多點共享式文件傳輸,這種方式可以有效地均衡上下行線路的數據量,同時每個客戶端又可以部分作為服務器,減輕了服務器的壓力[3]。但事實上,在協(xié)同環(huán)境下(P2P或Web Service)的訪問控制無法在使用不同安全策略的代理間實現語義兼容。例如,如果是基于角色的訪問控制策略,則決策者需要判斷在組織A中角色“作者”和組織B中角色“編輯”是否是一樣的,以便用來分配相同或不同的訪問權限是非常重要的。 因此,本文通過在P2P網絡中對OrBAC訪問控制模型的研究來實現語義的兼容性。
1996 年, 由Ravi Sandhu 提出了基于角色的訪問控制(RBAC96) 模型, 將權限和角色聯系起來, 用戶不直接被授予權限, 而是通過被賦予某種角色,間接得此角色所擁有的權限, 極大簡化了對權限的管理[4-5], 尤其在網絡環(huán)境中, 可有效管理大量的訪問權限[6]。2001 年, Zhang 提出了面向對象的RBAC(ORBAC) 模型, 將模型中的用戶、角色、權限等都作為對象來處理, 更接近現實世界, 并對職責分離進行了討論[7]。OrBAC是一種基于角色和組織的訪問控制模型。OrBAC通過使用8項基本實體:組織,角色,活動,視圖,主體,行為,客體和背景,多個組織可同時定義自己的訪問控制策略[8]。
在Orbac模型中,允許、禁止和職責的關系用來匹配組織,角色,視圖,活動和背景之間的關系。Permission (org, role, activity, view, context)是指組織org允許角色role在上下文context背景下在視圖view中執(zhí)行活動activity。Interdiction (org, role, activity, view, context) 和Obligation (org, role, activity, view, context)的定義也是類似的。允許,職責和禁止是以事實的形式引入的。他們不直接與用戶,行為和客體關聯,而與其抽象角色,活動和視圖關聯。
然而,在實踐中,應用程序所關心的授予給主體的權限(允許或禁止、職責),是用來在客體上執(zhí)行行為。為了描述實現主體在客體上的行為,定義關系Is_permitted,Is_prohibited和Is_obligated。Is_permitted(subject, action , object)表明允許主體在客體上執(zhí)行行為。Is_prohibited和Is_obligated的定義是類似的。需要注意的是Is_permitted; Is_prohibited Is_obligated也可以用來表達安全策略Permission,Interdiction和Obligation外的一些異常。
權限是對計算機系統(tǒng)中被保護數據或資源的訪問許可[9]。權限的繼承用于根據角色的等級傳遞權限。如:specialized role(org,r1,r2)表明r1比r2更專業(yè)的。senior_role(org,r1,r2)表明r1是一個高于r2的角色。sub activity(org,a1,a2)表明a1是a2的一個子活動。同樣,一個組織的視圖、活動是同具體流程中抽象出來,可以表達特定層次上意義的過程抽象[10]??梢酝ㄟ^專業(yè)化的等級對它們進行管理。
約束集不能包含相同的實例。Separated_role(org, role1, role2)是指所有角色1的實例不能出現在角色2中。同樣的,活動、視圖和上下文的約束為:Separated_activity (org, activity1, activity2) ,Separated_view (org, view1, view2)和 Separated_context (org, context1, context2) 。
圖1 OrBAC訪問控制模型
在OrBAC中,定義基本謂詞如下。與組織中分配抽象實體的有關的謂詞(見表1)。與定義上下文相關的謂詞(見表2)。與抽象關系相關的謂詞(見表3)。與權限、禁止相關的謂詞(見表4)。
表1 與實體相關的謂詞
表2 與上下文相關的謂詞
通過分析的OrBAC的基本關系可以看出,有四個謂詞用于創(chuàng)建本體。這些關系在組織間是兼容的。兼容性用來解決兩個主要問題:類似語義可以關聯不同的抽象實體的分配,不同語義可以關聯相似實體的分配[11]。其他關系都是關于O2O(Object-to-Object,對象到對象型)的。由于Orbac有制約原則的關系O2O與互操作性相關。 OrBAC安全政策的范圍僅限于組織內。因此,需要通過O2O使用組織的虛擬原則來擴展OrBAC。role-compatible(A2B, roleA, roleB)是指在組織A2B中角色A和角色B具有相同的含義。activity-compatible(A2B, activityA, activityB),view-compatible(A2B, viewA, viewB) ,view-compatible(A2B, viewA, viewB),context-compatible(A2B, contextA, contextB) 的定義也是類似的。
表3 與抽象關系相關的謂詞
表4 與權限、禁止相關的謂詞
現有和可獲取的用來構建本體論的編輯器主要有:Protégé,Ontolingua,Chim?ra,OilED 和OntoEdit。從功能上Protégé之所以成為較為成功的本體編輯工具,在于它有一套完善的管理機制[12]。因為,它是用戶最友好的和擁有最多文檔的工具之一,方便提供給非專業(yè)人士,且該軟件使人們有可能以和在Windows資源管理器中訪問實例同樣的方式來訪問文件,軟件Protégé也是免費的,可以被任何希望使用本體的用戶下載。此外,該軟件允許創(chuàng)建OWL文件。 OWL是萬維網聯盟在總結以往本體語言開發(fā)經驗的基礎上提出的一種創(chuàng)造本體的語言[13]。即使沒有軟件Protégé,也可以通過這種方式來檢索本體。并且該語言也可以用于顯示網頁上的本體。
Protégé允許在給定領域建立本體,定義數據錄入的格式,并通過這些格式以本體實例的方式來獲取數據。Protégé是一個Java庫,可以擴展到創(chuàng)建實際應用中使用推理引擎的知識庫,通過推理規(guī)則推理和演繹的本體論的實例的新的實例和本體(元推理)。
本體在Protégé中由個體,類和屬性構成。個體代表我們希望表達的域中的客體。屬性是將個體結合起來的二元關系。類又叫做概念,表示個體的集合,作為本體的骨架支撐起本體的所有結構[14]。在Protégé中,主要有兩種類型的屬性:客體屬性(Object properties)和數據類型屬性(Datatype properties)??腕w屬性連接個體至個體。數據類型屬性將個體與XML框架的據類型值或RDF字符結合起來。根據需要,本文使用客體屬性。
本文利用OWL來定義OrBAC的實體和關系。預先定義的實體作為類,預先定義的謂詞作為關系,而預先定義的實例作為個體。
2.2.1策略
本體是分類(結構)和關系的結合。在實現結構之前,必須完成本體關系的定義。首先需要在Protégé中創(chuàng)建類(實體)或子類。但需要注意如果必要要將類置為不相交的[14]。
在Protégé中首先定義兩種不同的安全策略的組織。每種策略包括主體,客體,行為和組織。在每個組織中,有活動,視圖,角色,背景和不同的安全策略,也有一個子類subOrg繼承該組織相同的屬性。圖2顯示了在Protégé中組織的一種安全策略。
圖2 第一個版本的本體結構
第一種策略是相同級別不分結構的。這是一種直觀的方法,可用于代理在P2P網絡中的協(xié)作。為了進行比較,可能需要遍歷結構中所有的元素直至發(fā)現所尋找的元素。本文提出的第二種策略的實現更為快速和邏輯。
在第二種策略中,抽象類都放置在releventEntityA中。允許和禁止都放置在securityRuleA中。如果系統(tǒng)要比較角色,那么系統(tǒng)明確不會在securityRuleA類中尋找實體。但由于Protégé的類和子類間存在在創(chuàng)建一個子類relevantEntityA時,會默認創(chuàng)建一個orgA hasclassof sub_classe relevantEntityA這樣一個問題,這是不符合邏輯的,但它不能被刪除。在這種情況下,本文提出了第三種策略。見圖3。
圖3 最終版本
此策略高度結構化。 ComponentPolicy系統(tǒng)包含三個部分:entity,relationAmongEntity及securityRule。在entity中的實體被分為三個部分:abstractEntity,concreteEntity及org。abstractEntity中包含所有類型的抽象實體。concreteEntity中包含所有類型的具體實體。在relationAmongEntity中定義實體間的關系。包括relevantEntity和它的四個子類:relevantActivity,relevantContext,relevantRole及relevantView。
選擇此種策略是因為它是多層次的,更多的整合使得找到一個實體更加容易。另外,實體不再由組織構建,而更多地對應于在架構兼容性下如何使用實體。
2.2.2關系和屬性
在確定策略之后,就需要使用Protégé的屬性來定義類間的關系。
首先,必須創(chuàng)建主要屬性。它必須是類C1包含類C2或類C2包含C1這樣的關系。如,在類org和class中,有兩種主要關聯的屬性:HasRole屬性表明組織包含的角色,互反屬性IsRoleIn 是指角色在組織中。事實上,還有一類relevantRole具有相同的關系。它用來定義更加復雜的屬性。在Protégé中只存在線性關系,這是遠遠不夠的。OrBAC是連接抽象關系的或在上下文中無法直接定義的謂詞。例如,謂詞Empower(org, suject, role)是三個類之間的關系。我們需要定義一個類或兩個類之間的一個屬性及另一個類或者三個類之間的一個屬性。在本文中,我們定義了一個relevantRole類,用來表示role角色在org組織中。Empower屬性關聯relevantRoel和suject類來表明組織org授權suject擁有role角色,圖4示出了類之間的關系。在圖中,Empower關系連接relevantRole和suject類。類似地,每一條線都是兩個類之間的一個關系(節(jié)點)。
圖4 類之間的屬性
為了證明本文定義的安全策略符合在P2P網絡中訪問請求的兼容性需求,我們使用此策略在Protégé中進行研究。
定義兩個組織使用不同的語言:中文和英語。在每個組織中,有三個或三個以上的目錄。每個目錄中可包含音頻,視頻,圖像,工具或文件。定義13種服務為:驗證用戶、探索網絡、分發(fā)信息、聲明服務、探索服務、呼叫服務、請求接入、加入網絡、離開網絡、列出對端提供的服務、訪問文件、下載文件和上傳文件。定義兩種類型的用戶為:普通用戶和擁有更多權限的高級用戶。并定義了兩個黑名單,以禁止提供資源和下載資源。
需要注意的是,P2P網絡中的每個節(jié)點提供服務,也從其他節(jié)點獲取服務。沒有節(jié)點只獲取服務而不提供服務。此外,本文注重探討每個節(jié)點提供相同類型的服務。
P2P網絡中的對等節(jié)點有如下權限:
R1:所有用戶都可以查看共享文件夾中的文件。
R2:所有用戶都可以查看我的最愛目錄中的文件。
R3:所有用戶都可以下載共享文件夾中的文件。
R4:所有高級用戶都可以下載共享文件夾中的文件。
R5:所有普通用戶都可以申請成為高級用戶。
R6:所有用戶都可以在共享文件夾中上傳文件與其他用戶共享。
R7:所有用戶都可以在我的最愛目錄中上傳文件與其他用戶共享。
R8:所有用戶都可以發(fā)現網絡。
R9:作為普通用戶,可以加入一個網絡而無需認證。
R10:所有用戶都可以發(fā)送消息給他人。
R11:所有用戶都可以聲明一個新的服務。
R12:所有用戶都可以搜索服務。
R13:所有普通用戶可以請求接入成為金卡用戶。
R14:所有高級用戶可以通過服務器進行身份驗證。
R15:所有用戶都可以請求路由到其他用戶。
R16:所有用戶都可以列出其他用戶提供的服務。
R17:所有用戶都可以離開網絡。
P2P網絡中的對等節(jié)點無如下權限:
R18:所有用戶都不能查看本地文件夾下的文件。
R19:所有普通用戶沒有權限訪問和下載我的最愛文件夾下的文件。
R20:所有在提供者黑名單中的用戶禁止向其他用戶傳輸文件。
R21:所有在下載者黑名單中的用戶禁止在所有文件夾下載文件。
P2P網絡中的對等節(jié)點有如下約束:
R22:用戶是在同一個網絡中的一部分。
R23:用戶不包括Free-riding,也就是只享受服務而不提供服務的用戶。
3.2.3分配
在P2P網絡中的每個對等節(jié)點中,主體以屬性標識符進行區(qū)分,每個主體有一個唯一的標識符。行為由協(xié)議屬性來區(qū)分,這是唯一區(qū)分不同服務的元素。如果操作具有相同的協(xié)議屬性,即使他們有不同的名稱也認為這兩個行為是相同的。散列屬性,是唯一區(qū)別不同客體的屬性。即使兩個客體具有相同的內容描述,如果他們的散列屬性不同則這兩個客體是不相同的。
本文主要探討了在協(xié)作環(huán)境中(P2P網絡)訪問控制的兼容性。通過在Protégé中的驗證說明,每個P2P網絡通信參與者都可以通過這種方式在不同的安全策略下建立起語義間的兼容性,從而在保障系統(tǒng)安全性的同時降低系統(tǒng)訪問控制的復雜程度。
[1] 婁 寧,劉雅奇,齊 峰.實兵實裝接入的信息作戰(zhàn)指揮訓練模擬系統(tǒng)[J].計算機工程,2010,36(1) :262-264.
LOU Ning,LIU Yaqi,QI Feng. Real Forces-in-the-loop Information Warfare Command Training Simulation System. Computer Engineering, 2010,36(1) :262-264.
[2] 侯 陽,劉 揚,孫 瑜.本體研究綜述[J].計算機工程,2011,37(Supplement) :24-26.
HOU Yang, LIU Yang, SUN Yu. Overview of Ontology Research. Computer Engineering, 2011,37(增刊) :24-26.
[3] 茍紅玲,孫衛(wèi)喜.一種對等網絡P2P信任模型研究[J]. 價值工程, 2011(9):135.
GOU Hong-ling,SUN Wei-xi. Research on a Peer-to-Peer network P2P Trust Model. Value Engineering, 2011,9 :135.
[4] Richards K. Network based intrusion detection: a review of technologies[J]. Computer & Security, 1999, 18( 8) : 671-682.
[5] Bruce Schneier. Managed security monitoring: network security for the 21st century [J]. Computer & Security, 2001, 20: 491-503.
[6] 李少凡, 汪為農. 網絡偵聽器的實現及其優(yōu)化[J]. 上海交通大學學報, 1998, 32( 10) : 84-86.
LI Shao-fan, WANG Wei-nong. Network Sniffer’s Implementation& Optimization[J]. Journal of Shanghai Jiaotong University, 1998, 32( 10) : 84-86.
[7] 李 凌. Winsock2 網絡編程實用教程[M]. 北京: 清華大學出版社, 2003, 11.
[8] 李 帆,鄭緯民.基于角色與組織的訪問控制模型[J].計算機工程與設計,2005(8):2136-2140.
LI Fan, ZHENG Wei-min. Organization and role-based access control model. Computer Engineering and Design,2005(8):2136-2140.
[9] 顧春華,肖寶亮.RBAC模型層次關系中的角色權限[J].華東理工大學學報(自然科學版), 2007(1):97-101.
GU Chun-hua,XIAO Bao-liang. Role Permission in Hierarchy relation of RBAC Model. Journal of East China University of Science and Technology (Natural Science Edition), 2007(1):97-101.
[10] 趙 彥,張 靜,徐 俊,等. 一個基于角色組織結構的過程視圖管理方法[J]. 計算機應用研究,2006(1):177-180.
ZHAO Yan,ZHANG Jing,XU Jun,etal. A Management Method of Process-views Based on Structured-roles[J]. Application Research of Computers, 2006(1):177-180.
[11] 董文宇,孫東紅,許 可,等.自治型網絡信息服務的建模[J].計算機研究與發(fā)展,2006(2): 224-230.
DONG Wen-yu, SUN Dong-hong, XU Ke,etal. Modeling of Autonomous Network Information Service[J]. Journal of Computer Reasearch and Development, 2006,43(2) :224-230.
[12] 彭敏惠,司 莉. Protégé 本體構建工具應用調查分析[J].圖書情報工作,2008(52):28-32.
Peng Huimin,Si Li. Analysisi on the Application of Ontology Editor Protégé[J]. Libraray and Information Service,January 2008,52:28-32.
[13] 常萬軍,王 果. OWL的本體推理方法研究[J].計算機時代, 2010(10):27-29.
CHANG Wan-jun,WANG Guo. Study of OWL Ontology Reasoning Methods[J]. Computer Era, 2010(10):27-29.
[14] 黃卿賢,胡谷雨,王立峰. 本體的概念、建模與應用[J].解放軍理工大學學報(自然科學版),2005,6(2):123-126.
HUANG Qing-xian,HU Gu-yu, WANG Li-feng. Concept, modeling and application of ontology[J]. Journal of PLA University of Science and Technology, 2005, 6(2):123-126.