《電子技術應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 設計應用 > 基于Globus的網(wǎng)格安全機制研究及擴展
基于Globus的網(wǎng)格安全機制研究及擴展
來源:微型機與應用2012年第4期
胡亞軍,董希泉,熊少非
(北京航天飛行控制中心,北京100094)
摘要: 隨著網(wǎng)格應用的發(fā)展,網(wǎng)格安全問題日漸突出。為解決此問題,Globus項目組作了大量工作。討論網(wǎng)格環(huán)境下的安全問題,分析Globus的安全機制,結合虛擬組織技術和基于角色的訪問控制方法,探討基于Globus安全基礎設施的擴展的安全技術——社區(qū)授權服務機制,并對網(wǎng)格環(huán)境下的安全技術的基本問題進行了總結。
Abstract:
Key words :

摘  要: 隨著網(wǎng)格應用的發(fā)展,網(wǎng)格安全問題日漸突出。為解決此問題,Globus項目組作了大量工作。討論網(wǎng)格環(huán)境下的安全問題,分析Globus的安全機制,結合虛擬組織技術和基于角色的訪問控制方法,探討基于Globus安全基礎設施的擴展的安全技術——社區(qū)授權服務機制,并對網(wǎng)格環(huán)境下的安全技術的基本問題進行了總結。
關鍵詞: 網(wǎng)格安全;虛擬組織;基于角色的訪問控制

    作為新一代網(wǎng)絡發(fā)展方向的網(wǎng)格,主要目的之一就是要在分布廣泛、動態(tài)和異構的個體或社區(qū)間實現(xiàn)資源共享與合作。資源共享的進一步實施帶來了很多安全問題,只有實現(xiàn)系統(tǒng)的安全管理,資源擁有者才會放心地提供資源,用戶才有足夠的可用資源,大范圍的資源共享與互操作才能真正地實現(xiàn)。因此,安全地實施資源共享和互操作是目前需要解決的關鍵問題。
    目前,Globus Toolkit 3.0(以下簡稱GT3)[1]在網(wǎng)格技術方面處于領先地位。在安全機制方面,GT3的網(wǎng)格安全基礎設施GSI(Grid Security Infrastructure)已經(jīng)顯現(xiàn)出它的重要性,它基于公鑰基礎設施PKI(Public Key Infrastructure),使用由X.509證書[2]構成的鑒定證書和私鑰。在GSI中使用一種臨時證書的方法,稱為代理證書(proxy credentials),可以實現(xiàn)系統(tǒng)的單一認證。
    為了更好地管理這些資源并實現(xiàn)網(wǎng)格的各種技術,引入了虛擬組織VO(Virtual Organizations)[3]的概念,它的出現(xiàn)改善了網(wǎng)格的管理復雜度,增加了系統(tǒng)的可擴展性。針對Globus的特點,結合基于角色的訪問控制技術RBAC(Roles-Based Access Control)[4],各研究機構相繼提出基于Globus的技術擴展,有效地增強了系統(tǒng)的可擴展性和靈活性。
    本文將討論網(wǎng)格環(huán)境下的安全問題,分析Globus安全機制,結合VO技術和RBAC方法,探討基于Globus的擴展的安全技術-社區(qū)授權服務機制CAS(Communities Authentication Service)[5],總結網(wǎng)格環(huán)境下的安全技術。
1 網(wǎng)格安全基礎設施GSI
    Globus toolkit是第一代網(wǎng)格構建工具(本文討論Globus Toolkit3.0,即GT3),是一組用于構建網(wǎng)格的組件,由 Globus 項目組開發(fā),通過其中的網(wǎng)格安全基礎設施GSI提供認證、授權和安全通信。
1.1 代理證書
    GSI采用代理證書策略。由認證中心CA(Certification Authority)給用戶頒發(fā)證書并簽名,這個證書稱為長期證書(long-term credential)。同時,產(chǎn)生一對密鑰,其中包含一個公鑰和一個私鑰。其次,用戶產(chǎn)生自己的代理證書,并用該私鑰簽名。這時就綁定了代理證書與用戶身份。為了鑒定代理證書的有效性,用戶必須提交代理證書和長期證書給認證中心。認證中心會驗證以下內(nèi)容:長期證書的有效性、代理證書是否有長期證書賦予的私鑰簽名(還包括證書格式和證書生命期等常規(guī)檢驗)。認證通過后,該代理證書就可以具有長期證書所擁有的所有權限。
1.2 認證
    GSI基于用戶的私鑰創(chuàng)建代理證書,從而為用戶提供了一種安全認證的方法。用戶如果沒有創(chuàng)建這個代理,就不能提交作業(yè),也不能傳輸數(shù)據(jù)。這個代理一經(jīng)創(chuàng)建,就可以用于授權或者對整個網(wǎng)格內(nèi)所有資源的訪問。因為這個代理可以在整個系統(tǒng)中使用,這就使得用戶可以只登錄一次,使安全應用更方便、快捷。
1.3 授權
    GSI處理用戶授權的方法是將用戶映射為所訪問系統(tǒng)的本地用戶。即接受請求的系統(tǒng)從代理中讀取用戶的名字,然后根據(jù)一個本地文件將這個名字映射為本地用戶名。在GSI中,允許用戶以代理證書的方式授權給一個進程(或一項任務),代理用戶完成一定的操作。例如:當用戶提交一項任務Task給遠端主機A,Task需要訪問用戶存儲在第三方主機B上的文件(資源)。但是,主機A不具有訪問主機B上的資源的權力。這時,用戶以代理證書的形式授權給該項任務Task,主機B審查該Task用戶權限,通過后,Task就可以代表用戶訪問主機B,完成對文件(資源)的操作。
1.4 GSI存在的主要問題
    (1)可擴展性差。網(wǎng)格環(huán)境下用戶的狀態(tài)改變(用戶加入或刪除)多,采用訪問控制列表ACL(Access Control Lists)的方法管理用戶信息,實時地更新用戶狀態(tài)需要占用大量管理資源。
    (2)密鑰管理不安全。用戶對安全管理私鑰的措施不一定合理,長期使用固定的私鑰是個安全隱患,GSI中沒有解決私鑰的更換問題。
    (3)政策沖突。眾多的管理域執(zhí)行不同的政策,彼此往往有沖突,系統(tǒng)沒有提供政策協(xié)調(diào)機制。
    針對GT3中存在的問題,Globus項目組于2002年開發(fā)出了社區(qū)授權服務機制CAS。CAS引入了虛擬組織VO的思想,結合基于角色訪問控制RBAC機制,對GSI進行擴展,解決了系統(tǒng)的擴展性和靈活性問題,并實現(xiàn)了區(qū)域政策與全局政策的相對獨立性。
2 虛擬組織VO
    VO的定義是這樣的:“flexible, secure, coordinated resource sharing among dynamic collections of individuals, institutions, and resources-what we refer to as virtual organizations”[3]。
    VO是網(wǎng)格中一個非常重要的基礎性概念,它由很多位于不同管理域的資源提供者和消費者組成,彼此間互相信任,地理上分布廣泛,有著共同的合作目的。當有成員想加入VO時,必須通過VO中每個獨立組織的許可,新成員擁有訪問VO中每個組織的用戶名和口令時,才會被VO接受。在VO中,存在一個中心認證機制,負責用戶對資源訪問的帳號信息,該信息通常存儲于由VO維護的中心數(shù)據(jù)庫中,所有VO中的成員和區(qū)域都信任這個VO數(shù)據(jù)庫。各VO中的獨立組織選派成員對VO進行維護和管理,VO是整體組織的可信任第三方(A Trusted Third Party)。
    總之,VO的思想就是通過將時空上分散但能力和資源互補的常規(guī)組織(或個人)高效地組合起來,分散用戶集中管理,提高解決問題的能力,增強對上層機構或VO外機構的統(tǒng)一處理能力,同時,保持它們各自原有的工作環(huán)境。將VO的概念運用到網(wǎng)格中,可以改善網(wǎng)格系統(tǒng)的可管理性,提高系統(tǒng)執(zhí)行效率,實現(xiàn)組織間政策分級與政策的獨立性。
3 基于角色的訪問控制RBAC
    RBAC的基本思想是用戶通過角色來獲得所需的操作權限[3]。用戶可以對應不同的角色,每個角色對應一定的職責,權限則是角色實施操作中所分配的執(zhí)行能力。
    根據(jù)用戶所承擔的職責,用戶可以被指定為多個角色。這些角色不一定同時起作用,而是根據(jù)用戶在系統(tǒng)中的實時狀態(tài)、要申請的任務,決定被激活的角色。某時刻用戶激活的角色集合稱為用戶的當前激活角色集,用戶擁有的權限是該用戶的當前激活角色集所允許的所有權限的一個子集。
3.1 RBAC的定義[6]
    RBAC96模型定義了四個不同層次:RBAC0、RBAC1、RBAC2和RBAC3,本文主要介紹RBAC0。
    RBAC0模型包括四個元素:用戶U(user)、角色R(role)、權限P(permission)和會話S(session)。
  
    Roles(Si):{r|(user(Si),r)∈UA},其中,user:S→U,將各個會話映射到一個用戶去的函數(shù)user(Si);roles:S→U,將各個會話Si與一個角色集合聯(lián)接起來的映射,隨時間變化可以變化,且會話Si的授權U{P|(P,R)∈PA},且在RBAC0中隱含如下約束:每個用戶至少有1個角色,每個角色至少有1個授權。
3.2 RBAC的特點
    RBAC與DAC(強制訪問控制)和MAC(直接訪問控制)相比,簡化了權限管理,實現(xiàn)了用戶與權限的邏輯分離和最小權限原則。
    使用RBAC機制,用角色表示用戶具有的職責,給角色分配權限,代表用戶執(zhí)行某項任務的能力,反映特定任務中的職責與權限的分配。一旦用戶的角色確定后,角色的狀態(tài)相對穩(wěn)定。即使用戶職責改變,只需要調(diào)整相應的角色,不涉及用戶權限的重新分配,減少了系統(tǒng)的工作量。特別是在大系統(tǒng)、多用戶環(huán)境中,用戶對資源的存取變化更頻繁、復雜,應用RBAC機制,使用戶集與權限集通過角色中介聯(lián)系,促進了用戶權限管理的非頻繁變化,極大地減輕了系統(tǒng)的管理和維護工作量。
4 社區(qū)授權服務機制CAS
    CAS構建于Globus Toolkit的安全機制GSI之上,引入了VO的管理,結合RBAC方法,解決GSI的可擴展性和政策獨立性問題。
4.1 社區(qū)的授權管理[5]
    CAS在社區(qū)內(nèi)設置一個CAS服務器作為可信任第三方,負責管理社區(qū)內(nèi)的資源訪問。CAS服務器管理CA、用戶、服務器和資源的通行證,負責社區(qū)的安全管理,如用戶和組的訪問權限、資源和服務的使用權等。
    用戶對該社區(qū)資源的訪問要經(jīng)過CAS服務器的授權,如圖1所示[4]。

 

 


    用戶請求CAS服務器賦予訪問CAS管轄區(qū)中某資源的權力;用戶的請求通常包含所在社區(qū)的政策,CAS服務器會根據(jù)本地政策(如:檢查該共享資源是否給予CAS服務器訪問許可權)作出回應;如果通過,則反饋給用戶合適的授權證書;擁用該證書,用戶就可以完成證書所享有的各項權限。執(zhí)行操作時,用戶還會考慮資源提供者的安全政策。
    資源服務器將根據(jù)本地的訪問控制政策處理用戶對資源的訪問。擁有授權證書的用戶對資源的訪問過程如圖2所示[4]。

    用戶向資源服務器出示授權證書,資源服務器根據(jù)證書所攜帶的權限和本地政策決定用戶對資源的訪問,并給予回復。即當證書本身批準用戶的請求,并且資源服務器的本地政策接受證書授予者的請求時,用戶才可以對資源進行訪問。
4.2 可擴展性分析
    CAS服務器首先建立一個角色集,每個角色對應一定的權限。對用戶的認證與授權針對的是用戶所在的社區(qū),而不是用戶個人。當用戶個人(資源消費者)要執(zhí)行一項任務時,對應一定的角色,該角色與固定的權限綁定,因此CAS面對的是角色,資源提供者面對的也是角色,不需要直接與單一消費者交互。
    應用VO和RBAC前,認證與授權空間為C×P,其中C代表消費者,P代表資源提供者;
    應用VO和RBAC后,認證與授權空間為R×P,其中R代表角色,且R<<C。
    再者,當用戶狀態(tài)更新時(用戶加入或刪除),社區(qū)將用戶對應到一定的角色,不用CA直接參與操作。這樣,網(wǎng)格系統(tǒng)的CA面對的用戶是VO中的角色,而不是每一個用戶體。
    因此,應用VO與RBAC機制,減少了系統(tǒng)的整體管理、維護工作量,增強了可擴展性。
4.3 政策獨立性分析
    CAS要求VO維持自己的區(qū)域政策,以該政策與其余社區(qū)內(nèi)資源本地政策交互?;ゲ僮鲿r,VO的政策與被訪問的資源提供者的本地政策合成執(zhí)行,實行最小權限集合。
    用戶對資源的訪問政策可以用如下模型表示:
    定義1:PV是VO中政策的權限集合;
    定義2:PP是資源提供者所在的本地政策的權限集合;
    定義3:(UV):user→2PV,UV(u)是PV賦予用戶u的權限;則UV(u)∈PV;
    定義4:(UP):user→2PP,UP(u)是PP賦予用戶u的權限;則UP(u)∈PP。
    最終用戶對資源的訪問權限為:UV(u)∧UP(u)。即VO和資源本地賦予用戶訪問權限具有獨立性。
    經(jīng)過對網(wǎng)格安全問題和基于Globus安全機制的分析,本文對網(wǎng)格環(huán)境下的安全技術歸納為以下四點:安全政策分級、實行VO管理、運用RBAC機制和高效的認證與授權。
    安全分級:通過政策獨立性的實現(xiàn),保證高安全級的用戶不被低級別訪問泄密,同時,低安全級用戶不因為設置高安全級而降低使用效率。
    實行VO管理:網(wǎng)格可以看作是由一系列的VO構成。為了解決網(wǎng)格用戶認證可擴展性差的問題,網(wǎng)格成員的認證可以脫離獨立的個體,將個體認證集中于VO認證。這樣CA處理的只是VO的認證,可以減少系統(tǒng)維護代價,增強可擴展性和靈活性。
    運用RBAC機制:應用RBAC機制,促進了用戶權限管理的非頻繁變化,減輕了系統(tǒng)的管理和維護工作量;通過角色指派,簡化用戶管理;利用角色的繼承性,實現(xiàn)用戶權限的靈活配置。
    認證與授權:實行有效的認證,才可授權完成操作或服務,資源提供者才可以放心地共享資源。Globus的代理證書機制開創(chuàng)性地實現(xiàn)了用戶單一認證,為網(wǎng)格安全認證的方便和高效提供了保證。
參考文獻
[1] Globus online:use the grid[EB/OL].(2005-03-05).http://www.globus.org.
[2] LOCK R.Grid security and its use of X.509 certificates [EB/OL].Department of Computer Science Lancaster University.[2011-05-12].http://www.comp.lancs.ac.uk/computing/research/cseg/projects/dirc/papers/gridpaper.pdf.
[3] FOSTER I.The anatomy of the grid:enabling scalable virtual organizations[EB/OL].[2011-07-22].http://hpc.sagepub.com/content/15/3/200.short.
[4] FRAME S.Role-based access control[EB/OL].(2003-04-04).http://csrc.nist.gov/rbac/rbac-std-ncits.pdf.
[5] PEARLMAN L.A community authorization service for group collaboration[EB/OL].(2002-08-07).http://www.globus.org/security/CAS/Paper.
[6] SANDHU R,COYNE E,F(xiàn)EINSTEIN H,et al.Role-based access control models[EB/OL].(2005-03-07).http://csrc.nist.gov/rbac/sandhu96.pdf.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。