基于Web服務(wù)的單點(diǎn)登錄系統(tǒng)的研究與實(shí)現(xiàn)_第1頁
基于Web服務(wù)的單點(diǎn)登錄系統(tǒng)的研究與實(shí)現(xiàn)_第2頁
基于Web服務(wù)的單點(diǎn)登錄系統(tǒng)的研究與實(shí)現(xiàn)_第3頁
基于Web服務(wù)的單點(diǎn)登錄系統(tǒng)的研究與實(shí)現(xiàn)_第4頁
基于Web服務(wù)的單點(diǎn)登錄系統(tǒng)的研究與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、2004年3月第30卷第3期北京航空航天大學(xué)學(xué)報(bào)JournalofBeijingUniversityofAeronauticsandAstronauticsMarch 2004Vol.30 No 3基于Web服務(wù)的單點(diǎn)登錄系統(tǒng)的研究與實(shí)現(xiàn)胡毅時(shí) 懷進(jìn)鵬(北京航空航天大學(xué)計(jì)算機(jī)學(xué)院,北京100083)摘 要:隨著分布式計(jì)算技術(shù)與應(yīng)用的不斷發(fā)展,基于動(dòng)態(tài)、松耦合環(huán)境的業(yè)務(wù)流程將涉及到多個(gè)服務(wù)提供商,以致用戶在完成這樣的業(yè)務(wù)時(shí)需要面對(duì)多次登錄的困擾.針對(duì)這個(gè)問題,分析了在分布式環(huán)境中基于Web服務(wù)的用戶單點(diǎn)登錄機(jī)制,并設(shè)計(jì)實(shí)現(xiàn)了Web服務(wù)應(yīng)用支撐環(huán)境中的單點(diǎn)登錄系統(tǒng),使得用戶只需登錄一次即可完成復(fù)雜

2、業(yè)務(wù).關(guān) 鍵 詞:計(jì)算機(jī)應(yīng)用;分布型網(wǎng)絡(luò);認(rèn)證;單點(diǎn)登錄;Web服務(wù)中圖分類號(hào):TP393 08文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1001 5965(2004)03 0236 04ResearchandimplementationonWebservices basedsinglesign onsystemHuYishi HuaiJinpeng(SchoolofComputerScienceandTechnology,BeijingUniversityofAeronauticsandAstronautics,Beijing100083,China)Abstract:Usersneedtoauthenti

3、catethemselvestoeachserviceproviderduringtheyfinishanoperationthatinvolvesseveralservicesownedbydifferentprovidersinthedynamicloose coupleenvironmentbecauseofdevelop mentofdistributedtechnologyandapplication.AnalysestheWebservices basedsinglesign onmechanisminadis tributedenvironmentandimplementsthe

4、singlesign onsystemintheWebservices basedsupportingapplicationen vironment.Keywords:computerapplications;distributednetworks;identification;singlesign on;Webservices隨著互聯(lián)網(wǎng)軟件技術(shù)和應(yīng)用模式的不斷演變,基于Web服務(wù)的分布式計(jì)算模式正在成為發(fā)展的潮流.許多企業(yè)和政府部門已開始基于Web服務(wù)在互聯(lián)網(wǎng)上提供信息共享與應(yīng)用服務(wù),并構(gòu)建跨企業(yè)的虛擬組織或虛擬企業(yè),以實(shí)現(xiàn)大規(guī)模的資源共享.出于安全性考慮,每個(gè)企業(yè)(或應(yīng)用系統(tǒng))都需要根據(jù)用

5、戶的身份來進(jìn)行訪問控制及審計(jì)等安全操作.由于用戶完成一次活動(dòng)/交易所要訪問的服務(wù)可能分布在不同的應(yīng)用系統(tǒng)中,用戶在進(jìn)入不同的系統(tǒng)邊界時(shí)都需要進(jìn)行登錄(如多次輸入用戶名和口令),這將影響執(zhí)行效率并使用戶失去耐心,影響其對(duì)服務(wù)提供商的信心.針對(duì)這個(gè)問題,本文在基于Web服務(wù)的分布式環(huán)境中設(shè)計(jì)實(shí)現(xiàn)了一個(gè)跨應(yīng)用系統(tǒng)邊界的單點(diǎn)登錄機(jī)制,并實(shí)際應(yīng)用于Web服務(wù)應(yīng)用支撐環(huán)境收稿日期:2002 11 29WebSASE1中,其中通過使用安全聲明標(biāo)記語言(SAML,SecurityAssertionMarkupLanguage)2來描述用戶身份以實(shí)現(xiàn)身份信息的共享.1 單點(diǎn)登錄機(jī)制的設(shè)計(jì)原理1.1 設(shè)計(jì)思想在基

6、于Web服務(wù)的企業(yè)聯(lián)盟應(yīng)用系統(tǒng)中,可以將單點(diǎn)登錄機(jī)制的基本需求概括如下:1)一致性:用戶在訪問聯(lián)盟中的多個(gè)應(yīng)用系統(tǒng)時(shí),不需要反復(fù)認(rèn)證自己身份;2)分布性:該機(jī)制是基于松散的信任模式,即不能完全依賴于一個(gè)聯(lián)盟內(nèi)企業(yè)都信任的集中式的身份認(rèn)證服務(wù)器;3)可擴(kuò)展性:能夠適用于多種現(xiàn)有的認(rèn)證機(jī)制,并能方便地增加新的認(rèn)證機(jī)制;基金項(xiàng)目:國家863高技術(shù)研究發(fā)展計(jì)劃資助項(xiàng)目(2001AA113030,2001AA115110) ),男,第3期 胡毅時(shí)等:基于Web服務(wù)的單點(diǎn)登錄系統(tǒng)的研究與實(shí)現(xiàn)2374)可管理性:對(duì)于系統(tǒng)管理員來說,該機(jī)制易于配置和管理.為便于理解和敘述,首先給出必要的基本概念.定義1 安全

7、域(securitydomain).一個(gè)安全域是一個(gè)邏輯和管理意義上的范圍或區(qū)域,其中由安全服務(wù)的管理員定義和實(shí)施了一個(gè)單獨(dú)的、一致的本地安全策略.定義2 信任狀(credential).一個(gè)信任狀是一個(gè)實(shí)體用來證明自己身份的數(shù)據(jù)4.定義3 本地用戶(localuser).本地用戶是只能在一個(gè)安全域內(nèi)被管理和被識(shí)別的用戶身份.定義4 全局用戶(globaluser).全局用戶是指能被一個(gè)企業(yè)聯(lián)盟內(nèi)所有安全域所識(shí)別的用戶身份.基于上述概念,給出如下基本假設(shè):假設(shè)1 聯(lián)盟唯一標(biāo)識(shí)假設(shè).一個(gè)企業(yè)聯(lián)盟是由多個(gè)安全域組成,每個(gè)安全域在聯(lián)盟內(nèi)都有唯一的身份(通過X.509證書來標(biāo)識(shí)),對(duì)該集身份的信任是建

8、立在一個(gè)共同信任的PKI基礎(chǔ)之上的.假設(shè)2 本地用戶假設(shè).每一個(gè)安全域都維護(hù)一個(gè)本地用戶身份標(biāo)識(shí)集合.假設(shè)3 本地授權(quán)假設(shè).安全域內(nèi)的授權(quán)、審計(jì)等安全操作只針對(duì)本地用戶身份標(biāo)識(shí)進(jìn)行.根據(jù)單點(diǎn)登錄的需求,當(dāng)用戶在一個(gè)安全域登錄以后,如果用戶需要訪問其它安全域的服務(wù),則需要將這次登錄的結(jié)果傳播到目標(biāo)安全域.為了在聯(lián)盟內(nèi)實(shí)現(xiàn)這樣的機(jī)制,本文引進(jìn)了身份擔(dān)保機(jī)制和身份映射機(jī)制,來實(shí)現(xiàn)安全域之間用戶身份信息的共享.定義5 身份擔(dān)保.設(shè)I,J是分布式應(yīng)用環(huán)境中的任意兩個(gè)安全域,A為任意一個(gè)用戶,身份擔(dān)保是指A在I認(rèn)證自己身份以后,當(dāng)A想要訪問J的服務(wù)時(shí),并不是直接向J提交用戶名/口令來證明自己的身份,而是由

9、I來向J證明A的身份.為了實(shí)現(xiàn)身份擔(dān)保機(jī)制,在安全域中引入身份擔(dān)保服務(wù)(如圖1所示),用戶首先在安全域I登錄,并請(qǐng)求它所提供的擔(dān)保服務(wù),I的擔(dān)保服務(wù)將生成一個(gè)身份擔(dān)保票據(jù)交給用戶;當(dāng)用戶需要訪問安全域J所提供的服務(wù)時(shí),將該身份擔(dān)保票據(jù)作為信任狀提交給J來認(rèn)證自己的身份,J的認(rèn)證服務(wù)根據(jù)該票據(jù)得到用戶的認(rèn)證信息;當(dāng)需53圖1 身份擔(dān)保擔(dān)保服務(wù),以得到該用戶更詳細(xì)的身份信息.通過身份擔(dān)保機(jī)制,服務(wù)提供者可以確定服務(wù)請(qǐng)求者是否擁有來自另一個(gè)安全域的身份標(biāo)識(shí)(在這里,擔(dān)保者的身份和被擔(dān)保的用戶身份構(gòu)成一個(gè)全局身份),但是,根據(jù)前面所提出的安全策略,對(duì)于安全域中的授權(quán)或?qū)徲?jì)服務(wù)來說,該身份標(biāo)識(shí)只能識(shí)別為

10、屬于本地身份集合的一個(gè)身份標(biāo)識(shí),所以需要把全局身份標(biāo)識(shí)映射為本地的一個(gè)身份標(biāo)識(shí).因此,在目標(biāo)安全域內(nèi)引入身份映射服務(wù),完成從全局身份到本地身份的映射工作.定義6 身份映射.設(shè)A為任意一個(gè)全局用戶身份標(biāo)識(shí),B為任意一個(gè)安全域I的本地用戶身份標(biāo)識(shí),身份映射是指當(dāng)擁有身份A的某個(gè)客戶訪問I時(shí),所需要進(jìn)行的從A到B的轉(zhuǎn)換 :A B.基于上述討論,再進(jìn)一步對(duì)基本假設(shè)的限制條件進(jìn)行分析.在基本假設(shè)中,假設(shè)1為聯(lián)盟建立的基礎(chǔ),是必須的;而假設(shè)2和假設(shè)3不是必須的,在不滿足假設(shè)2和假設(shè)3的情況下,即如果某安全域不維護(hù)本地用戶身份集合,或者允許直接對(duì)全局用戶238北京航空航天大學(xué)學(xué)報(bào) 2004年根據(jù)身份擔(dān)保機(jī)制

11、和映射機(jī)制,本文設(shè)計(jì)實(shí)現(xiàn)了基于Web服務(wù)的面向企業(yè)聯(lián)盟應(yīng)用環(huán)境的單點(diǎn)登錄系統(tǒng)(WebSSO,Webservices basedSingleSign Onsystem).在聯(lián)盟中,每個(gè)安全域都可以有自己的身份擔(dān)保服務(wù),負(fù)責(zé)向用戶發(fā)放身份擔(dān)保票據(jù),來向其它安全域擔(dān)保本安全域已認(rèn)證的用戶身份.在聯(lián)盟之內(nèi),每個(gè)成員安全域都可以有選擇地信任其它一些安全域,即被這些安全域擔(dān)保的用戶身份可以被映射成為一個(gè)本地用戶身份進(jìn)行授權(quán)和訪問控制.對(duì)于某些安全級(jí)別不高或者處理能力較弱的成員來說,它可以完全將用戶身份認(rèn)證的工作交給它信任的安全域,而不直接在本地認(rèn)證用戶的身份,從而降低了安全信息管理的難度,提高跨安全域邊界

12、認(rèn)證效率.由于歷史或技術(shù)等各種原因,各個(gè)安全域內(nèi)部所采用的認(rèn)證機(jī)制可能不完全一樣,因此使得身份描述信息各不相同,為了保證良好的可擴(kuò)展性和互操作性,需要一個(gè)通用的、獨(dú)立于不同應(yīng)用系統(tǒng)認(rèn)證方式的表述格式來描述用戶身份.而基于XML的SAML具有很好的可擴(kuò)展性和強(qiáng)大的描述能力,它可適用于多種認(rèn)證機(jī)制,并且受到標(biāo)準(zhǔn)化組織和大公司的支持,正在被業(yè)界廣泛采用,因此采用SAML認(rèn)證聲明描述用戶身份可以較好地滿足上述要求.在獲得用戶身份信息后,系統(tǒng)還需根據(jù)用戶的全局身份信息以及預(yù)定義的映射策略,完成從全局身份到本地身份的映射;本地安全域的管理員可以維護(hù)一個(gè)身份映射表,描述全局用戶和本地用戶的映射信息.由于全局

13、用戶的數(shù)量較多且動(dòng)態(tài)變化,為管理員帶來較大的負(fù)擔(dān).因此通過定義一個(gè)靈活的策略庫來實(shí)現(xiàn)這個(gè)映射,減輕管理員的負(fù)擔(dān),并可避免一些人為的錯(cuò)誤.由于現(xiàn)有的Web瀏覽器不支持對(duì)Web服務(wù)的調(diào)用,因此為了直接訪問Web服務(wù),必須使用面向Web服務(wù)的通用客戶端;同時(shí),為了能夠?qū)崿F(xiàn)單點(diǎn)登錄,客戶端需要一個(gè)票據(jù)管理模塊來實(shí)現(xiàn)必要的票據(jù)管理功能,如存儲(chǔ)從擔(dān)保服務(wù)返回的身份擔(dān)保票據(jù);當(dāng)用戶需要訪問聯(lián)盟內(nèi)的其它成員所提供的服務(wù)時(shí),則將身份擔(dān)保票據(jù)附加在SOAP消息頭部,作為一種身份信任狀傳遞給服務(wù)提供者.主要模塊功能如下:1)擔(dān)保服務(wù)模塊:采用SAML認(rèn)證聲明來描述身份擔(dān)保機(jī)制中的用戶身份,實(shí)現(xiàn)SAML認(rèn)證聲明的生成

14、、解析、存儲(chǔ)和銷毀,并對(duì)聯(lián)盟中的合作伙伴提供SAML認(rèn)證聲明的查詢服務(wù).同時(shí)實(shí)現(xiàn)用戶身份擔(dān)保票據(jù)(其中包含關(guān)于認(rèn)證聲明的引用,代表所在的安全域向其它安全域擔(dān)保用戶身份)的生成、發(fā)放、解析和驗(yàn)證;2)認(rèn)證模塊:負(fù)責(zé)對(duì)服務(wù)請(qǐng)求者的身份進(jìn)行認(rèn)證,它除了負(fù)責(zé)認(rèn)證本地用戶身份以外,還需要支持基于身份擔(dān)保的認(rèn)證方式;并能夠驗(yàn)證擔(dān)保者的身份,解析SAML認(rèn)證聲明,識(shí)別其中所包含的用戶身份信息,得到服務(wù)請(qǐng)求者的全局身份,供身份映射模塊使用;3)身份映射模塊:根據(jù)預(yù)定義的身份映射策略來完成全局用戶到本地用戶的映射;4)通用客戶端的票據(jù)管理模塊:負(fù)責(zé)用戶身份擔(dān)保票據(jù)的獲取、存儲(chǔ)、使用和銷毀.22 WebSSO系統(tǒng)

15、的實(shí)現(xiàn)2.1 系統(tǒng)運(yùn)行時(shí)結(jié)構(gòu)基于上述討論,為了更好的支持面向Web服務(wù)的企業(yè)聯(lián)盟中的單點(diǎn)登錄,本文把對(duì)單點(diǎn)登錄的支持作為一個(gè)基本特性融入到WebSASE中,使得只需通過一定的配置即可將部署在WebSASE上的Web服務(wù)加入現(xiàn)有的企業(yè)聯(lián)盟的單點(diǎn)登錄框架中,從而很方便地實(shí)現(xiàn)資源和服務(wù)的共享.圖2給出了WebSASE的體系結(jié)構(gòu)圖1.其中Web服務(wù)容器是Web服務(wù)的運(yùn)行承載體,是Web服務(wù)的調(diào)用中介,其目的是通過這種 容器!結(jié)構(gòu)使部署在其中的Web服務(wù)都能夠通過容器獲得由運(yùn)行環(huán)境提供的共性基礎(chǔ)服務(wù),這些基礎(chǔ)服務(wù)圖2 WebSASE體系結(jié)構(gòu)第3期 胡毅時(shí)等:基于Web服務(wù)的單點(diǎn)登錄系統(tǒng)的研究與實(shí)現(xiàn)239

16、同Web服務(wù)的容器一起構(gòu)成了Web服務(wù)運(yùn)行時(shí)的支持平臺(tái);用戶可以多種通訊協(xié)議(如HTTP,SMTP)來訪問部署在容器中的Web服務(wù)1.設(shè)I,J為任意兩個(gè)WebSASE,A為I中的任意一個(gè)用戶,A通過WebSSO系統(tǒng)實(shí)現(xiàn)單點(diǎn)登錄的工作機(jī)理如下:1)用戶A使用信任狀(如用戶名/口令)在I上登錄,并請(qǐng)求部署在I中的擔(dān)保服務(wù);擔(dān)保服務(wù)根據(jù)A的身份生成SAML認(rèn)證聲明并存入聲明存儲(chǔ)庫,將該聲明的引用作為用戶身份擔(dān)保票據(jù)T返回給A;2)A需要訪問J時(shí),則通過SOAP安全擴(kuò)展將T作為信任狀封裝在SOAP請(qǐng)求消息頭6,7分布式環(huán)境中,用戶不可能在每個(gè)安全域中都擁有身份,通過使用WebSSO系統(tǒng),利用身份擔(dān)保機(jī)

17、制,能夠有效地實(shí)現(xiàn)用戶身份的傳遞,完成跨安全域的單點(diǎn)登錄.3 結(jié)束語本文實(shí)現(xiàn)的WebSSO系統(tǒng)能夠在分散的信任基礎(chǔ)上實(shí)現(xiàn)多種認(rèn)證機(jī)制間用戶認(rèn)證信息的交換,比較好地解決了用戶在面向Web服務(wù)的分布式環(huán)境中單點(diǎn)登錄的問題.參考文獻(xiàn)(References)1葛 聲,胡春明,杜宗霞,等.基于WebService的應(yīng)用支撐環(huán)境研究與實(shí)現(xiàn)A.見:梅 宏,王干祥.2002全國軟件與應(yīng)用學(xué)術(shù)會(huì)議(NASAC)論文集C.北京:機(jī)械工業(yè)出版社,2002.97102GeSheng,HuChunming,DuZongxia,etal.AWebservice basedapplicationsupportingenvi

18、ronmentA.In:MeiHong,WangGanxiang.ProceedingsofNationalSoftwareandApplication(2002)C.Beijing:ChinaMachinePress,2002.97102(inChinese)2Hallam BakerP,MalerE.AssertionsandprotocolfortheOASISseEB/OL.SunMicrosystemsInc,2001 074ITU TX.800,SecurityarchitectureforopensystemsinterconnectionforCCITTapplicationS5ITU TX.509,Informationtechnology opensystemsinterconnection#thedirectory:public keyandattributecertificateframe worksS6BrownA,FoxB,HadaS,etal.W3CSOAPsecurityextensions:7AtkinsonB,LiberaGD.Webservice

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論