《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動態(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)格安全問題不容忽視,。訪問控制" title="訪問控制">訪問控制是安全防范和保護(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)正是針對這種大規(guī)模網(wǎng)格環(huán)境中存在的授權(quán)機(jī)制問題而提出的,。通過統(tǒng)一建模語言UML,,詳細(xì)闡述了社區(qū)授權(quán)服務(wù)機(jī)制的關(guān)鍵技術(shù),并將聯(lián)合代理證書機(jī)制融合到社區(qū)授權(quán)服務(wù)中,,對進(jìn)一步完善社區(qū)授權(quán)服務(wù)體制具有較大的實(shí)用價值,。
  關(guān)鍵詞: 統(tǒng)一建模語言 網(wǎng)格 訪問控制 聯(lián)合代理證書 面向?qū)ο?/FONT>


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


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


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


  用UML進(jìn)行社區(qū)授權(quán)服務(wù)設(shè)計(jì)有許多優(yōu)點(diǎn):
  (1)UML融合當(dāng)前一些流行的面向?qū)ο箝_發(fā)方法的主要概念和技術(shù),,成為一種面向?qū)ο蟮臉?biāo)準(zhǔn)建模語言,采用圖形描述系統(tǒng)的視圖易于理解,,起到了橋梁的作用,。
  (2)UML支持獨(dú)立于編程語言和開發(fā)過程的規(guī)范,支持大多數(shù)OO語言里定義的面向?qū)ο蟮脑O(shè)計(jì)結(jié)構(gòu),,這種一致性保證了能夠從模型生成代碼或從代碼產(chǎn)生模型,,即實(shí)現(xiàn)建模環(huán)境和編碼環(huán)境的集成。
  (3)UML有很好的擴(kuò)展性,,提供了標(biāo)簽,、約束、版類等約束機(jī)制來進(jìn)行自我擴(kuò)展,,為以后社區(qū)授權(quán)服務(wù)系統(tǒng)的更深入研究或升級帶來了方便,。
  本文從GSI授權(quán)的不足出發(fā),分析了在虛擬組織中建立社區(qū)授權(quán)服務(wù)CAS系統(tǒng)的必要性,??紤]到單點(diǎn)登錄問題,將聯(lián)合代理證書加入到社區(qū)授權(quán)服務(wù)機(jī)制中,,在用戶的聯(lián)合代理證書中加入了CAS的授權(quán)聲明來實(shí)現(xiàn)授權(quán)的訪問控制,,并進(jìn)一步將基于聯(lián)合代理證書的社區(qū)授權(quán)服務(wù)機(jī)制與統(tǒng)一建模語言UML相結(jié)合,,給出了CAS系統(tǒng)的總體分析圖即用例圖、靜態(tài)類圖及描述系統(tǒng)動態(tài)行為的序列圖,。闡述了用UML進(jìn)行CAS系統(tǒng)設(shè)計(jì)的優(yōu)點(diǎn),,為進(jìn)一步完善社區(qū)授權(quán)服務(wù)體制打下了基礎(chǔ),同時對探討網(wǎng)格虛擬組織中的訪問控制也具有很好的參考價值,。
參考文獻(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)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問題,,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。