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