摘要:建立以網格服務為中心的訪問控制模型,通過集中式的管理來降低網格環境中訪問控制復雜性,將角色網格服務的分配和服務的訪問授權分離管理,能夠有效地保護資源擁有者的權限。在中國科學院escience科學數據網格項目中的初步應用實施表明了該模型的靈活性和有效性。
關鍵詞:網格服務; 訪問控制; 授權
中圖分類號:TP393文獻標志碼:A
文章編號:1001-3695(2007)08-0087-03
網格是一個虛擬組織(virtual organization,VO)[1],它試圖把整個互聯網上的信息整合起來,從而實現計算資源、存儲資源、數據資源、信息資源的全面共享。網格的根本特征并不一定是它的規模,而是資源共享,消除了資源孤島。面向服務的網格結構由于通過服務的注冊﹑發布機制,將各種網格資源以服務的形式,按照一定規范統一封裝起來,從而屏蔽了網格結構的差異性,達到信息共享的目的。服務網格成為了當前網格技術研究的熱點之一。
然而,網格始終處于一種動態的復雜環境中,網格中的服務提供者可能分布在不同的地理位置提供不同的服務選項,服務的訪問者也來自網格虛擬組織的不同組群。一方面,用戶希望共享資源,渴望得到對不同服務的透明、便捷訪問;另一方面,資源擁有者又希望這些服務得到強有力的保護,只有合法的用戶才能對相應的網格服務進行有一定授權的訪問。因此,在對服務的訪問中不可避免地會碰到對服務的訪問控制問題,而由于網格的復雜性,很難提供一套符合需求的訪問控制策略。
為了適應面向網格服務的應用系統需求,加強對網格服務的訪問控制,本文提出了一種面向服務網格的訪問控制解決方案。筆者擴展了傳統的訪問控制模型,建立了以服務為中心的訪問控制模式;選用集中式的方式進行用戶角色和授權管理,降低了工作復雜度、成本和工作負荷;采取靈活的授權控制機制,將用戶角色網格服務分配與服務訪問授權分離管理,訪問控制權限矩陣可以由訪問控制系統的管理者以及應用系統的所有者來共同制訂。
1相關工作進展
對安全領域的關注導致了多個訪問控制模型的誕生。其中比較有影響力的有三種,即自主訪問控制模型(discretionary access control, DAC)[2,3]、強制訪問控制模型(mandatory access control, MAC )[4]和基于角色的訪問控制模型(rolebased access control,RBAC)[5,6]。MAC的發展得到軍隊和政府部門的支持,強調信息的機密性,通過實施一種稱為安全標簽(security labels)的機制進行安全控制;但MAC的要求過于僵硬,不能實施完整性控制。DAC則起源于學術界,通過對訪問者身份的鑒定來允許或否定對目標對象的操作;與MAC不同,DAC允許用戶對目標對象具有控制權限,但在用戶和目標對象頻繁變動的情況下,DAC并不能進行很好的支持。
正是由于MAC和DAC模型的局限性,它們均不能滿足實際商業應用的需求。1992年Ferraiolo和Kuhn提出了RBAC模型。隨著研究的發展,RBAC模型得到不斷的豐富和完善,成為一個訪問控制模型家族,先后出現了RBAC0、RBAC1、RBAC2、RBAC3等擴展模型。RBAC0是其中一種最簡單的模型,是其他幾種模型的基礎。RBAC1和RBAC2 均包含RBAC0所能提供的功能,但各自又有所不同。RBAC1增加了角色繼承的概念,指出了不同等級的角色可以包含對權限的繼承關系;RBAC2則更強調約束條件,以此來對加強對訪問控制中各部件的限制。RBAC1與RBAC2互不兼容。RBAC3則是對上述幾種模型的綜合,囊括了這幾種模型的優點。文獻[7]對這幾種模型進行了詳細討論。
隨著服務網格技術的興起,可信任的安全控制技術成為推動資源共享的必要條件。只有在一個安全的狀況下,資源擁有者才能放心地發布自己所擁有的資源,也才能更大地推動網格應用。相對于以往的系統,網格環境下訪問控制的背景發生了變化:在這個分布式的異構環境中,服務總是在不斷變化更新中;服務的用戶也具有多樣性,他們可能來自不同網格虛擬組織的群體,即使是從屬于同一網格虛擬組織,也有可能具有不同的訪問權限;訪問控制的對象發生了轉變,傳統RBAC模型中,訪問控制對象大多是文件、數據庫表等資源,在面向服務的網格應用環境中,訪問對象變成了需要訪問的網格服務。
上述變化要求更多地從網格技術的特點出發來考慮安全問題。文獻[8]提出服務網格安全的總體框架,列出了一些網格安全訪問控制設計上應該考慮的基本因素。 文獻[9,10]從peertopeer的角度闡述了如何構建安全的網格體系。文獻[11]則開展了基于角色的網格訪問控制模型研究。上述方法都沒有從服務網格的角度來考慮安全問題。針對這些情況并結合項目的需要,本文從網格服務的角度來建立安全控制訪問模型,并在實際系統中得到驗證。
2網格服務訪問控制解決方案
2.1面向網格服務的訪問控制模型(圖1)
2.2采用集中式網格服務的分配和授權方式
如圖1所示,模型選用集中式的方式進行用戶角色和授權管理,即服務的分配和授權都在同一部件(role server)中完成。在非集中式的方案中,虛擬網格環境中各網格節點往往各自維護一個角色權限映射文件,該文件中包含了允許訪問此節點的用戶角色分配和授權信息。然而,在動態網格環境下,用戶所擁有的身份往往是多重的,且隨時都可能變動。一旦發生變更,則需要修改多個網格節點的相關文件信息。這使得整個網格系統的管理工作變得復雜,不利于保障網格的安全性。因此,相對于分布式解決方案來說,集中式的好處是降低了工作復雜度、成本和工作負荷。
采取靈活的授權控制機制,將用戶角色網格服務的分配與服務的訪問授權分離管理。
在role server中對用戶可訪問服務的授權工作實際上是由兩個方面(圖1虛線左邊的角色服務器管理員和虛線右邊的資源擁有者)共同參與完成。對于不同的用戶,根據其所屬的不同組群由角色服務器管理員通過userrole的映射關系來授予不同的網格虛擬環境角色;同時,通過servicerole的映射關系,這些角色也相應地被賦予一些可訪問的網格服務。應當注意的是,對于每個具體的網格服務,此時用戶并沒有得到網格服務的授權信息,這一決定權是由資源擁有者來決定的。對于合法用戶,資源擁有者授予相應的權限。
這里舉個簡單的例子來加以說明。David 和 Irene 都是從事生物工作的用戶,他們想訪問某個生物研究中心提供的DNA序列網格服務。首先,他們需要在role server中獲得一定的網格角色。由于他們是科研人員,相對于普通學生來說具有更高的權限,但是相對于網格環境管理人員來說,一些網格資源對他們也是不可見的。在網格虛擬環境下他們得到的角色是biology researcher(即在生物領域的研究者);相應地,生物領域的研究者具有對某些網格服務的訪問權,這些服務的集合可以表示為(S1,S2,…,Sn)。但是,這并不意味著用戶已經具有了訪問該服務的權限(免費服務除外)。對于某個具體的網格服務來說,授權過程是由資源擁有者完成的,資源擁有者根據用戶的費用交納情況或用戶的資質來授予用戶權限。因此,David 和 Irene還需要與提供DNA序列網格服務的某個生物研究中心取得聯系,由他們在role server中配置授權信息。通常情況下是相應的用戶名和密碼。這里存在一個網格虛擬角色(VO role)到本地角色(local role)的映射關系。
3應用系統的建立
科學數據網格是由中國科學院計算機網絡信息中心以中國科學院“十五”信息化建設重大項目“科學數據庫及其應用系統[12]”為背景而建設的一個數據網格,并得到國家“863”計劃的支持。根據科學數據網格的設計目標,到“十五”末期,科學數據庫系統建庫單位的數量將接近40個,這些研究所分布在全國各地,而且具有跨學科的300個專業數據庫。這些專業數據資源是經過科學家多年工作積累才搭建的,具有很高的價值。因此,在科學院的escience規劃中,希望提供一個交流平臺,讓這些成果得到更多、更廣泛的利用,當然,也要得到很好的保護。基于這樣的考慮,有必要搭建一個訪問控制平臺。系統的總體框架如圖2所示。
1)客戶端(client)進行網格數據訪問的實體,由客戶端發起對網格數據的訪問。
2)角色服務器(role server)進行權限分配的場所。它主要存儲四部分信息:user是所有用戶集合;role是所有角色集合;permission是所有權限集合;grid service是所有網格服務集合。所有網格服務采用統一資源標志(unified resource identification,URI)來表示,這樣避免了網格服務的重名。系統管理員利用這些信息對用戶的角色分配進行預定義,而權限的實際分配由資源擁有者來實施。
3)網格服務信息中心(grid service information center)負責網格服務的注冊和狀態維護工作。網格服務的提供方在發布網格服務時需要向網格服務中心提供注冊信息,同時在服務發生變更時要及時通知服務中心,修改相應數據。
4)網格服務(grid service)數據資源被包裝成服務的形式發布到網上,提供一定的接口,這些接口用WSDL進行描述。服務則采用URI來區別對待。
1)客戶端在進行數據訪問時,首先向role server提交一個向被訪問資源的訪問控制申請。這個申請信息是一個二元組apply=(user_ID,URI)。其中:user_ID代表客戶的身份;URI是所需被訪問的數據資源的網格服務統一資源標志信息。
2)Role server對客戶端的CA身份進行認證,然后根據role server中預先定義用戶、角色、權限、服務之間的相互關系,賦予用戶相應的權限,通過cookie返回給用戶授權信息。授權信息是一個五元組qualification=(U,R,P,S,T),包含用戶U、用戶被賦予的角色R、需要訪問的網格服務S、服務S的授權信息P以及本次訪問所允許的最長訪問時間T。時間T是一個很重要的參數,通過T規定了授權角色的生命周期。超過生命周期的授權角色將被撤銷,從而避免了潛在的訪問控制風險。
3)從role server得到授權的client端已經獲得了網格資源的訪問權限。在進行資源訪問前,首先它需要到網格信息中心來確認該服務是否是已經發布的且正在運行的服務。
4)如果該服務確實存在,則可以通過網格信息中心重定向到網格服務上,這時可以開始對網格服務的訪問。
5)網格服務負責完成對網格資源的訪問工作,根據得到的客戶的授權信息qualification=(U,R,P,S,T)對服務進行相應的訪問控制。
6)將返回結果傳遞給client,完成對資源的訪問,并撤銷用戶權限。
4結束語
筆者已經發布的數據訪問服務中間件 DAS 2.0軟件,獲得了國家版權局頒發的軟件著作權。到本文截稿為止,科學院總共有20多個分布在全國各地的研究所成功部署了該軟件,將這些不同領域研究所的數據資源以網格服務的形式包裝起來發布到網上。可以通過登錄網格服務信息中心網站(http://ims.sdg.ac.cn/sdgfinder/advanced.jsp)來查詢已經部署的網格服務。圖4是得到的中國科學院科學數據網格已部署網格服務查詢結果圖。
本文提出的基于RBAC的動態訪問控制模型是對網格環境下復雜訪問控制技術研究的有意義的探討。初步實施結果表明,該模型具有很好的靈活性。但是,由于網格環境的復雜性,該動態訪問控制系統仍然有許多有待改進的地方,例如系統的負載與響應速度、資源擁有者的參與、用戶欺騙等。對于這種更高的要求,還有待在今后作出更深入的分析和研究。
參考文獻:
[1]FOSTER I, KESSELMAN C. The anatomy of the grid: enabling sca ̄lable virtual organizations[J]. International J Supercomputer Applications,2001,15(3):200-222.
[2]Trusted computer system evaluation criteria(TESEC),DOD 5200.28STD[R].Washington D C:Dept of Defense, 1985.
[3]National Computer Security Center. A guide to understanding discretionary access control in trusted systems,NCSCTG-003[R]. 1987.
[4]OSBORN S. Mandatory access control and rolebased access control revisited[C]//Proc of the 2nd ACM Workshop on Rolebased Access Control.New York:ACM Press, 1997.
[5]SIMON R, ZURKO M E. Separation of duty in rolebased environments[C]//Proc of the 10th Computer Security Foundations Workshop.Washingten D C:IEEE Computer Sciety, 1997:183194.
[6]FERRAIOLO D F, KUHN D R. Role based access control[C]//Proc of the 15th National Computer Security Conference.1992.
[7]SANDHU R, COYNE E, FEINSTEIN H, et al. Rolebased access control models[J]. IEEE Computer, 1996,29(2):38-47.
[8]NAGARATNAM N, JANSON P, DAYKA J, et al. The security architecture for open grid services[R]. 2002.
[9]SILVA J F, GASPARY L P, DETSCH A, et al. Policybased access control in peertopeer grid systems[C]//Proc of the 6th IEEE/ACM International Workshop on Grid Computing. 2005.
[10]SURRIDGE M, UPSTILL C. Grid security:lessons for peertopeer systems[C]//Proc of the 3rd International Conference on PeertoPeer Computing. Linkoping, Sweden:[s.n.],2003:2-6.
[11]YAO W, MOODY K, BACON J.A model of OASIS rolebased access control and its support for active security[J]. ACM Trans on Information and System Security, 2002,5(4):492-540.
[12]南凱,閻保平. 科學數據庫系統平臺建設設想[C]//科學數據庫與信息技術論文集. 北京:科學出版社,2002:43-75.
注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”