李全文
(中兵光電科技股份有限公司 ,北京 100176)
隨著產品知識產權保護意識的不斷加強,用戶對于網絡協同設計環境下的產品模型保護有了更大的需求。雖然訪問控制經過了幾十年的發展,但是應用到CAD環境中的并不多。近年來隨著很多模型的圖紙被修改或者竊取,使得人們對模型的保護越來越重視,近些年來對CAD模型的研究也越來越多。本文將TRBAC模型的理論應用到CAD系統中,提出一個基于TRBAC的CAD模型加密的訪問控制模型。
在CAD的網絡協同設計環境中,數據處理模式不同于傳統的系統數據處理模式---內部數據控制和管理,而是使用內部-外部數據信息交流的方式。安全訪問控制方案的設計必須適應這種數據流動方式的改變。不同的設計單位、用戶對框架的訪問控制服務也有不同的要求。例如,在安全級別要求較高的部門中,往往需要采用嚴格的設計策略,用戶需要利用訪問控制來保護敏感項目或項目中的敏感設計對象,以及把關鍵的設計工作保留給重要用戶;而在安全級別要求較低的部門中,訪問控制不需要很嚴格。因此訪問控制系統必須是有彈性、可定制的,以便滿足不同設計環境的需要。訪問控制系統還要管理記錄訪問控制的信息,并能夠對這些記錄信息進行訪問控制。
根據系統設計需求,對訪問控制系統進行了設計。服務器端分兩部分:訪問控制部分和應用服務器部分。訪問控制部分主要由身份驗證服務器、訪問控制服務器組成。訪問控制服務器是系統的核心部分,為整個系統提供訪問控制服務,也就是控制所有訪問者的訪問請求,根據已制定的安全規則,決定訪問是否合法。各部分需要實現如下功能:
1)用戶訪問應用服務器時,首先必須向身份驗證服務器出示自己的身份,經驗證合法后方可進入角色服務器;
2)身份驗證通過之后,通過用戶角色服務器方可獲得該用戶的角色身份,并向角色權限服務器獲得其權限結果。將角色權限和訪問請求發給訪問控制服務器,由其進行決策判斷,根據決策結果決定是否向應用服務器提交用戶的訪問請求;
3)角色庫存儲系統定義的角色集合,角色庫由系統管理員管理;
4)角色權限庫存儲每個角色可訪問數據資源的集合,該庫由系統管理員負責管理維護;
5)審計信息服務器負責處理用戶訪問使用數據的紀錄,系統管理員可以瀏覽、修改系統訪問紀錄;
6)審計信息庫存儲用戶的訪問使用紀錄,由系統管理員通過審計信息服務器管理、維護和使用。
系統的結構示意圖如圖1所示。

圖1 系統結構示意圖
應用服務器是CAD模型數據的核心部分,主要用來存儲產品模型,是訪問控制系統保護的對象。任何不通過訪問控制系統許可的對象不能對其內部數據進行訪問。應用服務器的對外接口部分響應通過了權限控制模塊的客戶端的數據請求,根據用戶的角色身份所具有的權限,為其產生與其權限對應的產品簡化模型視圖,模型數據經過傳輸加密后,發送到合法的客戶端。
結合基于任務的訪問控制技術,我們提出了基于任務角色的多層次動態訪問控制模型。相對于傳統的基于角色的訪問控制模型和基于任務的訪問控制模型,我們引入了角色分層和權限分層管理。角色分層簡化了權限表示及角色授權過程;權限分層適應了CAD產品多層次結構的特點。
模型相關定義如下:
定義1(對象,數據集):產品模型的所有數據構成了協同設計的操作數據集,用D表示。對象是指產品模型數據的一個子集,記為ob,且對?ob,ob?D。在層次建模中,ob可以是CAD產品模型的拓撲面、體特征、零件體或裝配體等。
定義2 (操作集,操作子集):操作集(記為OP)是一個有限集,其中的每個元素都表示一種可以對對象實施的操作op。如果o?OP,則稱o為一個操作子集。
定義3(訪問權限,訪問權限集): 訪問權限集是集合D×2OP的子集,記為P。P中的每個元素表示一種權限,記為p(ob,o)。每一個權限以對象為單位進行授權,其直觀含義是,若o?OP且ob?D,則訪問權限p(ob,o)?P,表示對對象ob可以執行操作子集o中的各項操作。
定義4 用戶(User):是指協同環境中被賦予一定角色的集合,具有相應角色,并依據角色的任務來行使權限,通常指從事協同活動的人員,記為U。一個用戶可以有多個角色。
定義5(角色集,角色):角色集是由訪問權限集的一些子集構成的集合,記為R,即R?2P。角色集的每一個元素表示一種角色r,r是一組權限的集合,即?r?R,有r?P。
定義6(角色繼承):?r1,r2?R,如果r1?r2,則稱r2繼承r1,即滿足繼承關系,用r1→r2表示,其中r1稱為父角色,r2為子角色。角色繼承關系是一種偏序關系,具有自反性、傳遞性和反對稱性。
定義7 會話(Sessions):是一個動態概念,用戶激活角色集時建立會話。會話是一個用戶與多個角色的映射,會話和角色是多對多的關系,用戶在會話中所具有的權限是其所有的角色擁有權限集合的并集,記為S。
定義8 任務(Task):工作流程中的一個邏輯單元,完成某種特殊功能,即工作流的活動,或是若干個活動的組成。任務有靜止、存在、失敗、運行、等待和完成6種基本狀態。任務之間存在著狀態依賴關系。狀態依賴包括順序依賴、失敗依賴、同步依賴。模型根據狀態依賴這個動態約束進行動態授權。記為T。
定義9 約束(Constraints):表示整個模型各個元素之間的限制條件,記為C。
定義10 角色分層(Role Hierarch):角色到角色之間的二元關系,具體表現為在一個組織內部的角色等級關系,即關于角色的偏序關系,它包括繼承機制,記為RH。
定義11 (權限狀態,permission state):這是權限在執行過程中可能經歷的狀態,令p?P,則該權限的狀態為p〈state〉。在模型中定義如下5種權限狀態:睡眠狀態(dormant),就緒狀態(ready),掛起狀態(hold),運行狀態(running),完成狀態(accomplished)。
定義12 權限關系(permission relation):指不同權限之間的依賴關系。根據權限執行的時間順序,可以分為如下3類關系:同步關系,順序關系,互斥關系。
為更好的提高管理效率,在角色劃分中需要重點考慮角色的層次性。在系統中角色劃分為三個層次,分別為最高級別系統管理員層、高級別角色層以及普通角色層。系統管理員層擁有最高的權限,主要負責系統角色權限的初始化和系統的管理維護。系統管理員角色必須由兩個及兩個以上的人共同擔任,同時系統管理員不能具備行使一般的設計工作的能力。高級別角色在系統中既可以從事設計工作,完成產品開發中的設計功能,又可以進行權限授予。普通角色層為一般的設計人員,只具備完成產品開發中的研發設計能力。
角色劃分根據任務需求來設定,角色在系統中必須執行一定的任務。用符號表示為:
1)R={r1,r2,r3,…,rn}表示角色集合。rn表示具體的某個角色。
2)T={t1,t2,t3,…tn}表示任務集合。tn表示具體的某項任務。
3)RT×2T表示角色的任務集合。
訪問控制是對系統權限的控制,也就是用戶對某一程序是否擁有執行權。權限必須是具體的可以被控制的。將權限進行合理的劃分,合理的分配給角色是基于角色的權限控制系統實施的關鍵。權限的分配過程包括權限分層定義、角色權限分配、用戶角色分配。
1)權限分層定義,主要是根據產品模型的功能特點及設計者的協同目的對產品模型進行劃分,分別定義所需要的部件層權限、零件層權限和特征層權限。此過程可以映射為數據集D與操作集OP的關聯,一般可以使用二元組〈ob,op〉表示。但是為了實現動態權限管理,訪問權限表示為三元組〈ob,op,state〉。
2)角色權限分配,主要是根據不同用戶的設計任務及權限間的相互關系來定義角色關聯的權限集合。角色權限分配可以映射為角色集合R與訪問權限集合P的關系,可用二元組〈r,p〉來表示。在權限的分配過程中還必須考慮權限的互斥關系,防止角色權限的沖突。
3)用戶角色分配,可以表示為用戶集合U與角色集合R的二元關系,可以使用二元組〈u,r〉來表示。用戶角色分配過程中必須考慮角色的沖突關系。角色的任務集合決定了角色具體能夠完成的任務,系統必須具有具體的功能模塊,對功能模塊的使用對應了角色的具體權限集合。
CAD模型的加密是指在協同環境下將自己所做的模型保護起來,同時要滿足訪問控制的要求,即角色等級高的用戶能查看角色等級低的用戶的模型,同時CAD模型既要有加密的算法也要有解密的算法。這里我們采用DES算法。
本文分析了信息系統的安全需求及目標,提出了基于任務角色的多層次動態訪問控制模型,在此基礎上構架了系統的總體結構。針對系統的實施,詳細對系統模型的角色劃分、權限分配、任務劃分以及約束管理進行了分析,為基于CAD的訪問控制方案的實施奠定了基礎。
[1] 韓偉力.分布式環境下的約束訪問控制技術研究[D]. 浙江大學, 2003.
[2] 雷浩, 黃建, 馮登國.協同環境中共有資源的細粒度協作訪問控制策略[J].軟件學報, 2005,16(5): 1000-1011.
[3] 洪帆, 何緒斌, 徐智勇.基于角色的訪問控制[J].小型微型計算機系統, 2003, 2(2): 198-200.
[4] 方萃浩, 葉修梓, 彭維, 張引.協同環境下CAD模型的多層次動態安全訪問控制[J].軟件學報, 2007, 18(9): 2295-2305.