《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 網(wǎng)格環(huán)境下基于聯(lián)合代理證書的社區(qū)授權(quán)服務(wù)的UML建模研究

網(wǎng)格環(huán)境下基于聯(lián)合代理證書的社區(qū)授權(quán)服務(wù)的UML建模研究

2008-06-10
作者:張 梅1,王汝傳1,2 ,王海

  摘 要: 隨著網(wǎng)格研究的不斷深入,網(wǎng)格安全問(wèn)題不容忽視。訪問(wèn)控制" title="訪問(wèn)控制">訪問(wèn)控制是安全防范和保護(hù)的主要策略,而GSI中的授權(quán)機(jī)制難以擴(kuò)展到擁有大量資源和大量用戶的大規(guī)模網(wǎng)格環(huán)境" title="網(wǎng)格環(huán)境">網(wǎng)格環(huán)境中。社區(qū)授權(quán)服務(wù)(CAS)正是針對(duì)這種大規(guī)模網(wǎng)格環(huán)境中存在的授權(quán)機(jī)制問(wèn)題而提出的。通過(guò)統(tǒng)一建模語(yǔ)言UML,詳細(xì)闡述了社區(qū)授權(quán)服務(wù)機(jī)制的關(guān)鍵技術(shù),并將聯(lián)合代理證書機(jī)制融合到社區(qū)授權(quán)服務(wù)中,對(duì)進(jìn)一步完善社區(qū)授權(quán)服務(wù)體制具有較大的實(shí)用價(jià)值。
  關(guān)鍵詞: 統(tǒng)一建模語(yǔ)言 網(wǎng)格 訪問(wèn)控制 聯(lián)合代理證書 面向?qū)ο?/FONT>


  網(wǎng)格社區(qū)是參考人類社會(huì)中的社區(qū)而建立的概念,目的是管理網(wǎng)格中的各種資源,快速實(shí)時(shí)地把資源請(qǐng)求者和資源提供者聯(lián)系起來(lái)。由于一個(gè)社區(qū)的管理資源數(shù)目有限,只是網(wǎng)格上所有資源的一小部分,因此可以實(shí)現(xiàn)粒度更細(xì)的資源管理,其上的各種操作也比在網(wǎng)格上進(jìn)行同樣的操作要快。
  資源需求相對(duì)集中的一個(gè)用戶群可以構(gòu)成一個(gè)用戶集合,這個(gè)用戶集合需要建立一個(gè)資源注冊(cè)和發(fā)現(xiàn)中心,任何一個(gè)合法的用戶都可以向該中心注冊(cè)自己擁有的資源或自己發(fā)現(xiàn)的、可以被用戶集合中的其他用戶使用的資源,該集合中的任何一個(gè)用戶都可以從該中心發(fā)現(xiàn)自己需要的資源。通過(guò)建立注冊(cè)和發(fā)現(xiàn)中心,可以使這個(gè)用戶集合中的所有用戶與注冊(cè)在這個(gè)注冊(cè)和發(fā)現(xiàn)中心的所有資源構(gòu)成一個(gè)相對(duì)獨(dú)立的實(shí)體集合——網(wǎng)格社區(qū)。在網(wǎng)格社區(qū)中,除了用戶和資源外,還包括一些用戶和資源都必須服從的策略。
  社區(qū)授權(quán)服務(wù)(CAS)就是網(wǎng)格社區(qū)中的一種策略,它是一個(gè)以社區(qū)為單位建立可信任第三方并實(shí)現(xiàn)社區(qū)內(nèi)資源訪問(wèn)控制的機(jī)制,即在每一個(gè)社區(qū)內(nèi)部建立一個(gè)CAS服務(wù)器來(lái)維護(hù)社區(qū)的策略。在傳統(tǒng)的網(wǎng)格授權(quán)機(jī)制中,網(wǎng)格安全基礎(chǔ)設(shè)施GSI(Grid Security Infrastructure)要求每一個(gè)訪問(wèn)信息資源的全局用戶都需要在本地資源服務(wù)器上擁有一個(gè)自己的賬號(hào)。這樣,在網(wǎng)格這種擁有大量資源和大量用戶的環(huán)境中,每一個(gè)資源服務(wù)器都需要維護(hù)一個(gè)龐大繁瑣的全局/本地映射表,這種授權(quán)機(jī)制越來(lái)越顯現(xiàn)出難以適應(yīng)網(wǎng)格環(huán)境的一面。CAS正是針對(duì)這種大規(guī)模網(wǎng)格環(huán)境中存在的授權(quán)機(jī)制問(wèn)題而提出的??紤]到單點(diǎn)登錄" title="單點(diǎn)登錄">單點(diǎn)登錄問(wèn)題,可以將聯(lián)合代理證書加入到社區(qū)授權(quán)服務(wù)機(jī)制中,在用戶的聯(lián)合代理證書中加入CAS的授權(quán)聲明(即策略聲明)來(lái)實(shí)現(xiàn)授權(quán)的訪問(wèn)控制。
  在研究社區(qū)授權(quán)服務(wù)機(jī)制的過(guò)程中,對(duì)其進(jìn)行建模是非常重要的一步。統(tǒng)一建模語(yǔ)言UML(Unified Modeling Language)是一種定義良好、易于表達(dá)、功能強(qiáng)大且普遍適應(yīng)的可視化圖形建模語(yǔ)言。它融合了Booch、OMT和OOSE三大面向?qū)ο?/a>" title="面向?qū)ο?>面向?qū)ο?/a>方法中的基本概念,而且這些基本概念與其他面向?qū)ο蠓椒ㄖ械幕靖拍畲笾孪嗤?,因而,UML成為了這些方法以及其他方法的使用者樂(lè)于采用的一種簡(jiǎn)單、統(tǒng)一的建模語(yǔ)言。UML已被OMG(Object Management Group)接受并推薦使用,成為事實(shí)上的業(yè)界標(biāo)準(zhǔn)。因此,本文重點(diǎn)討論使用UML對(duì)社區(qū)授權(quán)服務(wù)進(jìn)行建模的過(guò)程。
1 網(wǎng)格環(huán)境下的聯(lián)合代理證書機(jī)制
  當(dāng)一個(gè)網(wǎng)格計(jì)算需要使用幾個(gè)網(wǎng)格資源(每個(gè)都需要雙向的認(rèn)證)或者需要有請(qǐng)求服務(wù)Agent來(lái)代替一個(gè)用戶時(shí),創(chuàng)建一個(gè)代理可以避免重復(fù)敲入用戶密碼。在網(wǎng)格環(huán)境下,GSI以X.509證書實(shí)現(xiàn)認(rèn)證,并通過(guò)對(duì)X.509證書進(jìn)行擴(kuò)展,產(chǎn)生代理證書。用戶如果沒(méi)有創(chuàng)建這個(gè)代理證書,則不能提交作業(yè),也不能傳輸數(shù)據(jù)。這個(gè)代理證書一經(jīng)創(chuàng)建,就可以用于授權(quán)或者拒絕對(duì)整個(gè)網(wǎng)格內(nèi)所有資源的訪問(wèn)。
  代理證書包含一個(gè)不同于用戶密鑰對(duì)的公鑰和私鑰對(duì),在認(rèn)證會(huì)話中使用的就是這個(gè)密鑰對(duì)。代理證書生命周期很短,一旦過(guò)期密鑰就失效。這樣,即使私鑰被暴露,其危害也很有限。這也使得在存儲(chǔ)代理證書的私鑰時(shí)不必用口令進(jìn)行加密保護(hù)。因此,對(duì)代理證書來(lái)說(shuō)就沒(méi)有口令了。這樣,用戶輸入一次口令,用自己的數(shù)字證書產(chǎn)生代理證書后,就可在代理證書的有效期內(nèi),使用自己的代理證書進(jìn)行認(rèn)證,在特定的邏輯安全區(qū)域中可多次訪問(wèn)不同的數(shù)據(jù)資源,而不需要再次輸入口令。
  GSI使用grid-proxy-init產(chǎn)生一個(gè)本地代理證書,用戶輸入口令來(lái)解密私鑰,私鑰被用于簽發(fā)代理證書。代理證書簽發(fā)之后,在代理證書的有效期內(nèi),用戶的私鑰將不再使用。Proxy被存儲(chǔ)在/tmp下,對(duì)用戶為只讀信息。圖1是用戶代理證書的產(chǎn)生過(guò)程。


  在認(rèn)證時(shí),產(chǎn)生用戶的代理證書命令,具體如下:
  %grid-proxy-init
  Enter PEM pass phrase:******
  該命令將產(chǎn)生一個(gè)本地短期有效的臨時(shí)性用戶代理證書,grid-proxy-init的命令選項(xiàng)如下:
  -hours<lifetime of credential>
  -bits<length of key>
  -help
  在網(wǎng)格中使用用戶代理證書的最大優(yōu)點(diǎn)是用戶僅需要在會(huì)話開(kāi)始時(shí)使用grid-proxy-init,之后就不必再輸入自己的密碼,即支持單點(diǎn)登錄,但這個(gè)代理證書只局限在特定的邏輯安全區(qū)域(即社區(qū))中。而一個(gè)網(wǎng)格計(jì)算可能涉及到幾個(gè)社區(qū),為了實(shí)現(xiàn)在多個(gè)社區(qū)中的單點(diǎn)登錄,用戶可以登錄到多個(gè)社區(qū)中(實(shí)施步驟如前)創(chuàng)建一個(gè)聯(lián)合代理證書。這樣,用戶可以用該聯(lián)合代理證書訪問(wèn)這些社區(qū)中的任何資源。
2 基于聯(lián)合代理證書的社區(qū)授權(quán)服務(wù)的UML建模
  UML適用于系統(tǒng)開(kāi)發(fā)過(guò)程中從需求規(guī)格描述到系統(tǒng)完成后測(cè)試的不同階段。在需求分析階段,可以通過(guò)
用例" title="用例">用例捕獲用戶需求。通過(guò)用例建模,可以描述系統(tǒng)感興趣的外部角色及其對(duì)系統(tǒng)的功能要求。分析階段主要關(guān)心問(wèn)題域中的主要概念(如抽象、類和對(duì)象等)和機(jī)制,需要識(shí)別這些類以及它們相互間的關(guān)系,并用UML類圖描述。為實(shí)現(xiàn)用例,類之間需要協(xié)作,這可以用UML動(dòng)態(tài)模型描述。
2.1 總體需求建模
  通常利用情節(jié)或經(jīng)歷描述用戶和軟件系統(tǒng)的交互方式,從而獲取需求。Ivar Jacobson(1992)把這種看法系統(tǒng)地闡述為通過(guò)用例的方法進(jìn)行需求獲取和建模。用例圖把系統(tǒng)分成角色和用例。用例被定義成系統(tǒng)執(zhí)行的一系列動(dòng)作,動(dòng)作執(zhí)行的結(jié)果能被指定角色察覺(jué)到。
  角色是指用戶在系統(tǒng)中所扮演的角色,單個(gè)角色可與多個(gè)用例聯(lián)系;反之,一個(gè)用例可與多個(gè)角色聯(lián)系。圖2是社區(qū)授權(quán)服務(wù)的UML頂層Use Case圖。


  關(guān)于圖2的具體描述如下:
  在社區(qū)授權(quán)服務(wù)系統(tǒng)中,CAS用戶首先得到一個(gè)標(biāo)準(zhǔn)的網(wǎng)格聯(lián)合代理證書;然后向CAS服務(wù)器請(qǐng)求信任及授權(quán),CAS服務(wù)器根據(jù)CAS數(shù)據(jù)庫(kù)中所授予這個(gè)用戶的權(quán)限策略,用CAS的私鑰簽署一個(gè)授權(quán)策略聲明返回給CAS用戶;最后用戶將這個(gè)聲明和代理證書提交給要使用的gridftp資源。Gridftp服務(wù)器通過(guò)驗(yàn)證用戶的策略聲明決定是否提供服務(wù)即響應(yīng)用戶。
2.2 系統(tǒng)分析建模
  在對(duì)總體需求分析的基礎(chǔ)上,對(duì)社區(qū)授權(quán)服務(wù)進(jìn)行詳細(xì)設(shè)計(jì)。類圖處于分析建模的核心位置,它模擬的是保證系統(tǒng)正常工作的所有必要資源,其他所有的圖如果想獲取這些資源的信息,最終都必須訪問(wèn)類圖,它是一種靜態(tài)結(jié)構(gòu)圖,描述的是系統(tǒng)的靜態(tài)結(jié)構(gòu)。它的主要功能有:
  (1)定義一個(gè)系統(tǒng)的必要資源。(2)定義資源之間的關(guān)系。(3)生成代碼。(4)用代碼生成模型。(5)為其他的圖提供基礎(chǔ)。
  社區(qū)授權(quán)服務(wù)系統(tǒng)中的主要類有:“CAS用戶”類、“聯(lián)合代理證書”類、“CAS服務(wù)器”類、“授權(quán)請(qǐng)求”類、“授權(quán)策略聲明”類、“gridftp服務(wù)器”類、“資源訪問(wèn)”類,類之間的關(guān)系如圖3。
  系統(tǒng)的動(dòng)態(tài)行為細(xì)節(jié)使用序列圖描述。序列圖表示隨時(shí)間安排的一系列消息,用來(lái)描述對(duì)象之間動(dòng)態(tài)交互關(guān)系,著重體現(xiàn)對(duì)象間消息傳送的時(shí)間順序。根據(jù)系統(tǒng)的總體需求設(shè)計(jì)并利用UML類圖進(jìn)行本系統(tǒng)行為的全局描述,如圖4所示。(1)用戶先產(chǎn)生一個(gè)密鑰對(duì)(公鑰/私鑰對(duì)),通過(guò)用戶所輸入的口令對(duì)私鑰進(jìn)行加密,而公鑰則被加入到證書請(qǐng)求中。(2)產(chǎn)生證書請(qǐng)求后,用戶將這個(gè)證書請(qǐng)求發(fā)送到CA。(3)CA對(duì)證書請(qǐng)求進(jìn)行簽發(fā),并發(fā)送給用戶。(4)由grid-proxy-init命令產(chǎn)生一個(gè)本地代理證書。(5)用戶創(chuàng)建聯(lián)合代理證書。(6)CAS用戶使用網(wǎng)格聯(lián)合代理證書向CAS服務(wù)器請(qǐng)求信任及授權(quán)。(7)CAS服務(wù)器驗(yàn)證代理證書,若證書無(wú)效,則授權(quán)終止。(8)CAS服務(wù)器訪問(wèn)自己維護(hù)的策略數(shù)據(jù)庫(kù),根據(jù)數(shù)據(jù)庫(kù)中所授予這個(gè)用戶的權(quán)限策略,用CAS的私鑰簽署一個(gè)授權(quán)策略聲明返回給CAS用戶。(9)用戶將代理證書和從CAS服務(wù)器獲得的授權(quán)策略聲明一起發(fā)送給要使用的gridftp資源服務(wù)器。(10)資源服務(wù)器基于本地策略授權(quán)用戶訪問(wèn)資源。


  用UML進(jìn)行社區(qū)授權(quán)服務(wù)設(shè)計(jì)有許多優(yōu)點(diǎn):
  (1)UML融合當(dāng)前一些流行的面向?qū)ο箝_(kāi)發(fā)方法的主要概念和技術(shù),成為一種面向?qū)ο蟮臉?biāo)準(zhǔn)建模語(yǔ)言,采用圖形描述系統(tǒng)的視圖易于理解,起到了橋梁的作用。
  (2)UML支持獨(dú)立于編程語(yǔ)言和開(kāi)發(fā)過(guò)程的規(guī)范,支持大多數(shù)OO語(yǔ)言里定義的面向?qū)ο蟮脑O(shè)計(jì)結(jié)構(gòu),這種一致性保證了能夠從模型生成代碼或從代碼產(chǎn)生模型,即實(shí)現(xiàn)建模環(huán)境和編碼環(huán)境的集成。
  (3)UML有很好的擴(kuò)展性,提供了標(biāo)簽、約束、版類等約束機(jī)制來(lái)進(jìn)行自我擴(kuò)展,為以后社區(qū)授權(quán)服務(wù)系統(tǒng)的更深入研究或升級(jí)帶來(lái)了方便。
  本文從GSI授權(quán)的不足出發(fā),分析了在虛擬組織中建立社區(qū)授權(quán)服務(wù)CAS系統(tǒng)的必要性。考慮到單點(diǎn)登錄問(wèn)題,將聯(lián)合代理證書加入到社區(qū)授權(quán)服務(wù)機(jī)制中,在用戶的聯(lián)合代理證書中加入了CAS的授權(quán)聲明來(lái)實(shí)現(xiàn)授權(quán)的訪問(wèn)控制,并進(jìn)一步將基于聯(lián)合代理證書的社區(qū)授權(quán)服務(wù)機(jī)制與統(tǒng)一建模語(yǔ)言UML相結(jié)合,給出了CAS系統(tǒng)的總體分析圖即用例圖、靜態(tài)類圖及描述系統(tǒng)動(dòng)態(tài)行為的序列圖。闡述了用UML進(jìn)行CAS系統(tǒng)設(shè)計(jì)的優(yōu)點(diǎn),為進(jìn)一步完善社區(qū)授權(quán)服務(wù)體制打下了基礎(chǔ),同時(shí)對(duì)探討網(wǎng)格虛擬組織中的訪問(wèn)控制也具有很好的參考價(jià)值。
參考文獻(xiàn)
1 徐志偉,馮百明,李 偉.網(wǎng)格計(jì)算技術(shù).北京:電子工業(yè)出版社,2004
2 Pender T.UML Bible.北京:電子工業(yè)出版社,2004
3 Pearlman L,Welch V,F(xiàn)oster I et al.A Community autho-rization service for group collaboration.In:Proceedings of the Third International Workshop on Policies for Distributed Sys-tems and Networks 2002 IEEE,2002
4 Selic B.A generic framework for modeling resources with UML[J].Computer:Innovative for Computer Pro-fessionals,Membership Magazine of the IEEE Computer Society,2000;33(6):64~69

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。