黃燕
〔摘 要〕為了改善數(shù)字資源訪問問題,美國Intelnet2開發(fā)的Shibboleth資源共享管理系統(tǒng)已漸漸被很多國家使用。本文研究分析Shibboleth的工作流程及優(yōu)勢,并對其在英國、美國、澳洲、以及瑞士四國資源共享聯(lián)盟中的應(yīng)用進(jìn)行深入的比較。
〔關(guān)鍵詞〕Shibboleth;圖書館聯(lián)盟;資源共享;單點(diǎn)登陸
目前國內(nèi)外圖書館訪問數(shù)字資源時(shí),使用的方法有:(1)在校園的IP范圍內(nèi)使用,這種方法出了校園就無法使用,目前國內(nèi)大多數(shù)高校都使用這種方式;(2)在校內(nèi)使用IP限制訪問,在校外的使用proxy服務(wù)器,這種方式提供使用者與校內(nèi)IP的虛擬連接,而有些數(shù)據(jù)庫平臺對proxy的設(shè)定存在技術(shù)上的問題,也有些資源無法透過proxy使用,會給使用者造成一些困擾;(3)使用虛擬專用網(wǎng)絡(luò)(virtual private network),這種方式下,如果使用者要使用兩個(gè)成員館的資源,必須分別進(jìn)行登錄;(4)使用共用的密碼(share passwords),這種方式容易泄露用戶名密碼,威脅資源的安全。針對資源訪問存在的問題,美、英等國積極投入Shibboleth數(shù)字資源訪問系統(tǒng)的研究與發(fā)展,Shibboleth服務(wù)提供者的信心建立在使用者所屬的機(jī)構(gòu)要有一個(gè)健全且及時(shí)更新的認(rèn)證系統(tǒng),這是因信任的需求而導(dǎo)致聯(lián)盟管理的概念[1]。
1 Shibboleth系統(tǒng)
1.1 Shibboleth計(jì)劃
Shibboleth的本來意思為準(zhǔn)則、教條、行話,也可以譯為口令,在本文中它表示一個(gè)針對SSO(Single Sign-on)的開源項(xiàng)目,是開始于2000年美國Internet2/mace的一個(gè)計(jì)劃,由美國國家科學(xué)基金會(NSF)資助發(fā)展Shibboleth的架構(gòu)、政策以及應(yīng)用技術(shù)[2]。Shibboleth是一種依據(jù)SAML語言標(biāo)準(zhǔn)的開放源代碼中介軟件,以交換屬性的方式提供跨機(jī)構(gòu)之間的網(wǎng)頁單一登陸??捎糜谛@內(nèi)以及跨校園間的應(yīng)用系統(tǒng)用戶認(rèn)證及Web資源共享。Shibboleth系統(tǒng)是以聯(lián)盟的方式來運(yùn)作,當(dāng)用戶以個(gè)人的方式訪問網(wǎng)站上的資源時(shí),能夠以保護(hù)隱私的方式做確認(rèn)性的授權(quán)決定。服務(wù)提供者不必再維護(hù)和管理賬號和密碼,使用者是以自己所屬的角色來獲取資源訪問的授權(quán)。Shibboleth依賴機(jī)構(gòu)來建立身份資料,提供使用者機(jī)構(gòu)資料,并在服務(wù)端確認(rèn)訪問權(quán)利。
1.2 Shibboleth的工作流程
Shibboleth系統(tǒng)的工作流程如圖1[3]所示。Shibboleth身份提供者的4個(gè)元素:(1)屬性權(quán)威——AA(Attribute Authority):表示母機(jī)構(gòu)分發(fā)屬性;(2)管理服務(wù)——HS(Handle Service):使用者登入服務(wù),當(dāng)一個(gè)使用者被授權(quán)后,Shibboleth的區(qū)域單位就會產(chǎn)生一個(gè)臨時(shí)的參照給使用者,這個(gè)參照就叫Handle;(3)目錄服務(wù)——DS(Directory Service)[4];(4)區(qū)域登陸系統(tǒng)——LSS(Local Sign-on System)。服務(wù)提供者的3個(gè)要素:(1)聲明使用者服務(wù)——ACS(Assertion Consumer Service):聲明指出使用者所屬機(jī)構(gòu),其中WAYF(Where Are You From)是中央服務(wù),提供機(jī)構(gòu)的名單和數(shù)字資源,由ACS執(zhí)行;(2)屬性請求人——AR(Attribute Requester):使用者請求登錄服務(wù)提供者提供的屬性權(quán)威,屬性權(quán)威根據(jù)屬性釋放政策給其分配使用屬性,服務(wù)提供端根據(jù)使用屬性來回應(yīng)相應(yīng)的存取控制權(quán)限[5]。圖1 Shibboleth作業(yè)流程圖
流程說明:
(1)使用者試圖到SP端的應(yīng)用服務(wù)器去存取Shibboleth系統(tǒng)保護(hù)的數(shù)字資源;(2、3、4)使用者被指引到Shibboleth系統(tǒng)的WAYF的中央服務(wù),在那里使用者被指出其所屬機(jī)構(gòu)(IDP);(5)使用者被指引到IDP端的管理服務(wù)端(HS);(6、7)使用者在自己的IDP的使用區(qū)域的憑證來認(rèn)證;(8)管理服務(wù)系統(tǒng)產(chǎn)生惟一的身份識別(Handle),并指引使用者到服務(wù)提供網(wǎng)站的聲明使用者服務(wù)(ACS),使用者服務(wù)證實(shí)該提供的聲明,產(chǎn)生一個(gè)歷程(Session),然后將使用者轉(zhuǎn)移到屬性請求端(AR)。(9、10)屬性請求人使用Handle從IDP端的屬性權(quán)威(AA)去請求屬性,屬性權(quán)威根據(jù)屬性釋放出政策來回應(yīng)屬性聲明;服務(wù)提供端使用屬性來做存取控制及其他應(yīng)用層級的決定。Shibboleth系統(tǒng)的認(rèn)證授權(quán)機(jī)制又稱為認(rèn)證與授權(quán)的基礎(chǔ)建設(shè)。
2012年12月第32卷第12期現(xiàn)?代?情?報(bào)Journal of Modern InformationDec,2012Vol32 No122012年12月第32卷第12期Shibboleth系統(tǒng)在歐美資源共享聯(lián)盟的應(yīng)用比較Dec,2012Vol.32 No122 Shibboleth系統(tǒng)的優(yōu)勢
目前數(shù)字資源存取的認(rèn)證方式主要有兩種:IP認(rèn)證和用戶名密碼認(rèn)證,這兩種認(rèn)證是當(dāng)今運(yùn)用的最為廣泛的數(shù)字資源訪問方式。IP認(rèn)證的原理是在數(shù)字資源的服務(wù)器端的管理平臺上添加允許訪問的IP地址,當(dāng)使用者訪問數(shù)字資源時(shí),數(shù)據(jù)庫管理端會獲取訪問地址并與后臺進(jìn)行對比,如果對比成功,就授權(quán)使用者可以訪問;如果對比失敗,使用者就無法訪問數(shù)字資源;用戶名密碼認(rèn)證,這種方式是為使用者建立一個(gè)用戶名和密碼,當(dāng)使用者登陸訪問數(shù)字資源時(shí),主網(wǎng)頁會提示使用者輸入用戶名和密碼,使用者輸入確認(rèn)后,數(shù)字資源平臺會在后臺進(jìn)行對比,如果成功,就授權(quán)使用者可以訪問,如果對比失敗,使用者將無法訪問。Shibboleth認(rèn)證系統(tǒng)出現(xiàn)之后,超越了這兩種認(rèn)證方式,下面從安全性,靈活性,支持多數(shù)字資源訪問性,地域局限性來進(jìn)行比較,具體情況如表1。由此可以看出,Shibboleth系統(tǒng)更安全、便捷,無論在任何地方登陸都可以訪問,在訪問多個(gè)數(shù)字資源時(shí),只1次登陸即可。另外,在國內(nèi),VPN是在校園外訪問其內(nèi)部數(shù)字資源主流方式, VPN技術(shù)可以將校園外的計(jì)算機(jī)的IP地址虛擬成機(jī)構(gòu)或校園內(nèi)的網(wǎng)絡(luò)地址,以達(dá)到在校外訪問校內(nèi)資源的目的,但是這種方式有一定的缺陷,隨著數(shù)據(jù)庫平臺的不斷升級完善,協(xié)議的不斷更新,有一些數(shù)字資源將無法訪問成功,必須對VPN的硬件設(shè)備進(jìn)行升級;對于圖書館聯(lián)盟來說,VPN技術(shù)也有一定的局限,如果1個(gè)成員館要訪問其他成員館的數(shù)字資源,必須在其他每一個(gè)成員館都注冊1個(gè)VPN賬號,要登陸不同的域名地址,才能達(dá)到獲取資源的目的,而使用Shibboleth認(rèn)證系統(tǒng),成員館的讀者只需要注冊1個(gè)賬戶就可以在任何地方訪問圖書館聯(lián)盟中的所有數(shù)字資源。
表1 認(rèn)證方式比較表
認(rèn)證方式安全性便捷性是否支持多數(shù)字資源訪問地域局限性IP認(rèn)證很安全直接就訪問,很方便支 持只能在允許的IP范圍之內(nèi)用戶名密碼認(rèn)證不安全,用戶名密碼
容易被竊取每次訪問,都要輸入,
比較麻煩不支持,每個(gè)數(shù)字資源都要
設(shè)置一個(gè)用戶名和密碼任何網(wǎng)絡(luò)終端均可Shibboleth系統(tǒng)認(rèn)證有單獨(dú)的認(rèn)證系統(tǒng),很安全單點(diǎn)登錄,方便快捷支 持任何網(wǎng)絡(luò)終端均可
3 Shibboleth系統(tǒng)在歐美資源存取聯(lián)盟的應(yīng)用
目前已有美國、澳洲、瑞士、英國等四國的存取聯(lián)盟比較健全,分別為:美國In Common、英國UK Federation、瑞士SWITCH aai、澳洲Australian Access Federation,這4個(gè)聯(lián)盟由國家層級主導(dǎo)經(jīng)營發(fā)展,經(jīng)費(fèi)來源穩(wěn)定,主要服務(wù)在高等教育以及研究機(jī)構(gòu),是目前運(yùn)作穩(wěn)定成功的4個(gè)國家的資源存取聯(lián)盟。
3.1 各聯(lián)盟組織運(yùn)作情況
(1)In Common是LLC的單一會員,由聯(lián)盟參與者組成公司以及由指導(dǎo)委員會管理,指導(dǎo)委員會由美國高等教育單位及公司等代表組成。聯(lián)盟另設(shè)有技術(shù)咨詢委員會,負(fù)責(zé)提供In Common有關(guān)技術(shù)方面的運(yùn)作與管理建議,聯(lián)盟由Internet2員工運(yùn)作,包括業(yè)務(wù)及政策的執(zhí)行、技術(shù)操作、身份確認(rèn)以及支援In Common及聯(lián)盟成員等工作;(2)英國聯(lián)盟下設(shè)有咨詢委員會和技術(shù)咨詢小組,經(jīng)費(fèi)由英國聯(lián)合資訊系統(tǒng)委員會提供,由其提名3名會員至咨詢委員會并同意1個(gè)合聘主席。聯(lián)盟由JANET(英國的教育與研究機(jī)構(gòu))來運(yùn)作;(3)瑞士聯(lián)盟下設(shè)有兩個(gè)委員會:咨詢委員會和操作委員會。前者負(fù)責(zé)策略方面,后者則較重執(zhí)行方面。(4)澳洲設(shè)有執(zhí)行委員會,執(zhí)行委員會下設(shè)政策及管理小組、技術(shù)小組、營銷及宣傳小組。
3.2 各聯(lián)盟的技術(shù)方面
Shibboleth目前的軟件發(fā)展的經(jīng)費(fèi)主要來自于Intelnet2,部分由NSF資助;Shibboleth除了在學(xué)術(shù)聯(lián)盟被使用之外,美國聯(lián)邦政府的數(shù)字化認(rèn)證系統(tǒng)也采用的Shibboleth;另外,Google以及微軟也將計(jì)劃Google Scholar以及微軟的Card Space賦予Shibboleth的功能。
目前除英國少部分機(jī)構(gòu)仍然采用Open Athens外,大都采用Shibboleth技術(shù)及SAML協(xié)議,Shibboleth技術(shù)的版本已發(fā)展到2X版,在安裝上建議采用最新版本,以便在聯(lián)盟之間可以互通;另外美國、英國以及澳洲都同意使用LDAP來建置使用者資料。使用者資料庫的建設(shè)是整個(gè)Shibboleth系統(tǒng)的核心,建設(shè)前周詳?shù)脑O(shè)定屬性規(guī)范是非常重要的;要決定每一事件應(yīng)該包含哪些屬性,哪些是不需要的屬性,哪些是關(guān)鍵屬性等。Eduperson及EduOrg是由美國Intelnet2 MACE-dir所發(fā)展及維護(hù)的;瑞士的Swiss Eduperson以及澳洲的AUEduperson都是由美國Intelnet2的Eduperson衍生發(fā)展來的。
基于Shibboleth系統(tǒng)的聯(lián)盟憑證的簽發(fā)有3種方式:(1)自簽:身份提供者自行產(chǎn)生憑證,然后呈送給聯(lián)盟,經(jīng)聯(lián)盟確認(rèn)后將憑證資料加入系統(tǒng)后臺資料庫;(2)聯(lián)盟簽發(fā);(3)聯(lián)盟信任的憑證中心簽發(fā)。當(dāng)Shibboleth的實(shí)體互相溝通時(shí),首先就會去驗(yàn)證使用者身份的憑證,可見憑證對IDP及SP的重要性。在安裝Shibboleth的IDP及SP時(shí)就可以產(chǎn)生自簽憑證并嵌入后臺資料庫。從四國聯(lián)盟發(fā)展可以看出自簽憑證以及憑證中心是一個(gè)趨勢。一個(gè)成功的基于Shibboleth認(rèn)證系統(tǒng)的資源共享聯(lián)盟涉及的層面非常廣泛,除了要有計(jì)算機(jī)軟、硬件的支撐之外,還需要強(qiáng)大的管理政策和經(jīng)費(fèi)支持,所以周詳合理的規(guī)劃是資源共享聯(lián)盟成功的關(guān)鍵。表2 聯(lián)盟的技術(shù)協(xié)議
各聯(lián)盟組織協(xié)議(Protocol)系統(tǒng)實(shí)作美國In CommonSAML;LDAPShibboleth英國UKFShibboleth13,正逐漸發(fā)展成Shibboleth21,任何與SAML相容的軟件皆可;LDAP。大部分使用Shibboleth13或21版本及Open Athens。瑞士SWITCH aai仍使用Shibboleth13版本及SAML20版本約一半的IDP及SP采用Shibboleth13;另一半使用Shibboleth21澳洲AAFSAML11或SAML20;LDAP。Shibboleth13逐漸被淘汰;大部分的IDP及SP采用Shibboleth214 結(jié)束語
目前國內(nèi)的區(qū)域性聯(lián)盟正在蓬勃發(fā)展,陜西、重慶、吉林都在建設(shè)本區(qū)域的圖書館聯(lián)盟來實(shí)現(xiàn)本區(qū)域的資源共享,全國性聯(lián)盟也成立了很多如CALIS、CSDL、NSTL、CASHL等聯(lián)盟,采用Shibboleth系統(tǒng)進(jìn)行資源的存取認(rèn)證,不但可以實(shí)現(xiàn)聯(lián)盟內(nèi)的資源共享,還可以實(shí)現(xiàn)聯(lián)盟之間的數(shù)字資源的獲取;由于Shibboleth系統(tǒng)有獨(dú)立的使用者安全認(rèn)證體系,提高了數(shù)字資源的安全性;沒有綁定IP,使用者的訪問沒有了地域的局限性。希望Shibboleth系統(tǒng)能早日在我國資源共享聯(lián)盟中得到廣泛的運(yùn)用,給使用者提供一個(gè)安全、便捷的資源獲取環(huán)境。
參考文獻(xiàn)
[1]Shibboleth[EB/OL].http:∥shibboleth.internet2.edu,2012-03-12.
[2]A project of the internet2 middleware initiative[EB/OL].http:∥shibboleth.internet2.edu,2010-08-12.
[3]Shibboleth Technical Introduction[EB/OL].http:∥shibboleth.internet2.edu/tech-intro.html,2007-07-13.
[4]李峰,郭曉軍,于培民,等.企業(yè)門戶應(yīng)用整合中單點(diǎn)登錄(SSO)的技術(shù)實(shí)現(xiàn)與應(yīng)用[J].現(xiàn)代電子技術(shù),2008,(23):166-168.
[5]邱仕坦.基于SAML的校園聯(lián)合身份認(rèn)證的研究[J].福建電腦,2009,(11):90-91.
(本文責(zé)任編輯:馬 卓)