符榮鑫,孔凡壬
(1.廣西師范大學(xué) 圖書館,廣西 桂林 541004;2.廣西師范大學(xué) 教務(wù)處,廣西 桂林 541004)
基于Shibboleth資源共享平臺認證機制的研究
符榮鑫1,孔凡壬2
(1.廣西師范大學(xué) 圖書館,廣西 桂林 541004;2.廣西師范大學(xué) 教務(wù)處,廣西 桂林 541004)
以資源共享作為研究平臺,以遠程單點登錄為研究對象,主要研究Shibboleth在共享平臺中的認證機制,深入分析Shibboleth系統(tǒng)架構(gòu),闡述Shibboleth工作原理,設(shè)計應(yīng)用于廣西高校教學(xué)資源共享平臺的用戶身份認證系統(tǒng),用以解決跨網(wǎng)域組織用戶身份認證管理困難的問題。
Shibboleth;資源共享;身份認證;單點登錄
目前,實現(xiàn)用戶認證的機制有多種,常用的有LDAP、CGI-hook、CGI-SSL 、Authen、aleph-x、wrapper、SSO等。其中LDAP是輕量級目錄訪問協(xié)議,在臺灣的國科會科資中心就是利用MetaLib與LDAP相結(jié)合達到認證用戶的目的[1];而SSO則是單點登錄是目前企業(yè)流行的資源整合認證解決方案之一;Shibboleth也實現(xiàn)了跨域的遠程單點登錄提供了良好的解決方法[2]44-47。在國內(nèi),北京大學(xué)開始采用Shibboleth技術(shù),先后與北京郵電大學(xué)、華南理工大學(xué)、山東大學(xué)等多所大學(xué)間進行身份互相認證和互相授權(quán)試驗[3]。
自2004年教育部實施質(zhì)量工程以來,廣西本科院校優(yōu)質(zhì)教學(xué)資源包括236個優(yōu)質(zhì)專業(yè)、396門精品課程,這些資源由多個跨地域的單位提供,各自擁有相對獨立的身份認證系統(tǒng),用戶身份認證復(fù)雜度高。而實現(xiàn)優(yōu)質(zhì)資源共享,需要對用戶身份進行驗證,采用SSO身份認證機制實現(xiàn)一次登錄、多資源訪問,降低用戶認證復(fù)雜性。建立友好的用戶認證系統(tǒng),是實現(xiàn)優(yōu)質(zhì)教學(xué)資源共享平臺的有力保障。
單點登錄(Single Sign-On,簡稱SSO)的特點是在多個應(yīng)用系統(tǒng)中僅需登錄一次就可訪問所有相互信任的系統(tǒng),因此十分適合與跨網(wǎng)域邊緣系統(tǒng)中進行用戶身份認證[4]166-168。SSO認證機制如圖1所示:

SSO實現(xiàn)要求有如下主要功能。
2.1所有應(yīng)用系統(tǒng)共享一個認證系統(tǒng)。統(tǒng)一的認證系統(tǒng)是SSO的前提之一。認證系統(tǒng)的主要作用是對用戶進行登錄認證,將用戶的登錄信息和用戶信息庫相比較,匹配則認證成功,認證系統(tǒng)生成統(tǒng)一的認證標識(ticket)交給用戶,并對ticket進行校驗,判斷其有效性。
2.2所有應(yīng)用系統(tǒng)能夠識別和提取ticket信息。要實現(xiàn)SSO的功能,就必須讓應(yīng)用系統(tǒng)能夠識別已經(jīng)登錄過的用戶。應(yīng)用系統(tǒng)應(yīng)該能對ticket進行識別和提取,通過與認證系統(tǒng)通訊,自動判斷當前用戶是否已經(jīng)登錄,從而實現(xiàn)單點登錄。
始于 2000年的 Shibboleth項目由MACE(Middleware Architecture Committee for Education)小組領(lǐng)導(dǎo)開發(fā),是一個基于標準的體系結(jié)構(gòu)、策略框架及一套開源軟件,用于支持相對獨立認證系統(tǒng)組織之間的資源共享,提供跨組織邊界的單點登錄服務(wù)。主要應(yīng)用于校園內(nèi)WEB資源共享,以及校園間應(yīng)用系統(tǒng)的用戶身份認證[5]15-17。3.1 Shibboleth系統(tǒng)組件
Shibboleth包括兩個主要組件身份提供者(IdentityProvider)和服務(wù)提供者 (Service Provider),同時還包括一個可選組件發(fā)現(xiàn)服務(wù)(Discovery Service)。各組件間使用SAML安全地交換關(guān)于用戶、資源和授權(quán)等信息,Shibboleth使用三種比較常見的斷言類型;認證、屬性和授權(quán)斷言[6],能夠有效地在跨網(wǎng)域環(huán)境下進行用戶身份驗證。Identity Provider主要負責(zé)提供各種憑證和屬性,對用戶身份進行認證和用戶屬性進行管理。Service Provider主要負責(zé)訪問資源安全方面的管理,對資源進行保護、用戶訪問資源進行授權(quán)和執(zhí)行訪問控制。Discovery Service以互動方式為用戶提供Identity Provider選擇的標準接口,可將用戶提交的選擇直接將用戶重定向給對應(yīng)的Service Provider。3.2 Shibboleth系統(tǒng)工作流程
用戶在訪問某個基于Shibboleth系統(tǒng)保護的網(wǎng)絡(luò)資源時,資源服務(wù)器(Service Provider)向用戶所在機構(gòu)(Identity Provider)申請認證該用戶身份,并根據(jù)認證結(jié)果決定是否允許該用戶訪問,認證通過后,共享服務(wù)根據(jù)自身授權(quán)的要求向 Identity Provider提交屬性請求,并根據(jù)返回的用戶屬性決定用戶可以享有的訪問權(quán)限,實現(xiàn)授權(quán),用戶可以進行資源訪問。Shibboleth系統(tǒng)工作流程如圖2所示:

基于Shibboleth系統(tǒng)工作流程如下:
3.2.1 HTTP向Service Provider發(fā)出請求;
3.2.2 Service Provider將請求轉(zhuǎn)發(fā)給 Discovery Service;
3.2.3請求轉(zhuǎn)發(fā)后,Discovery Service提供用戶統(tǒng)一的Identity Provider選擇界面;
3.2.4用戶提交 Identity Provider選擇結(jié)果給Discovery Service;
3.2.5 Discovery Service轉(zhuǎn)發(fā)用戶提交信息給Service Provider;
3.2.6 Service Provider利用Identity Provider創(chuàng)建認證請求,通過瀏覽器發(fā)送給Identity Provider;
3.2.7 Identity Provider響應(yīng)認證請求并返回登錄界面給用戶;
3.2.8用戶向 Identity Provider提交證書進行用戶身份認證,生成攜帶用戶屬性的認證斷言;
3.2.9用戶使用認證斷言訪問共享資源,完成整個認證過程。
廣西本科院校優(yōu)質(zhì)教學(xué)資源平臺的用戶基本限定于廣西區(qū)內(nèi)各大高校的用戶,訪問資源大部分處于各大高校的資源服務(wù)器中,服務(wù)器管理便利,資源訪問策略可以控制,為建立Shibboleth認證系統(tǒng)提供良好的軟硬件環(huán)境。將Shibboleth系統(tǒng)統(tǒng)一部署于資源單位,利用Shibboleth統(tǒng)一集中管理用戶身份,實現(xiàn)單點登錄訪問,突破IP地址的限制,提升共享平臺整體化建設(shè)效果,提高資源共享率,降低用戶管理認證成本,實現(xiàn)高效暢通的資源共享服務(wù)。
4.1基于Shibboleth資源共享平臺用戶身份認證機制設(shè)計
資源節(jié)點A、B、C構(gòu)成資源共享平臺,形成整體上相對統(tǒng)一的共享系統(tǒng),可以通過公共網(wǎng)絡(luò)進行相互訪問,資源節(jié)點A、B、C可以是跨地域不同組織,擁有相對獨立的應(yīng)用系統(tǒng),各個Service Provider可以是異構(gòu)系統(tǒng),在整個認證系統(tǒng)當中,需在其中一處譬如資源節(jié)點A中設(shè)立一臺服務(wù)器UPortal作為訪問門戶,也就是Discovery Service,所有的異構(gòu)系統(tǒng)均連接到UPortal上,通過UPortal這一媒介提供登錄認證界面,互相轉(zhuǎn)發(fā) Service Provider和 Identity Provider的請求信息,完成用戶身份認證的任務(wù)。各高校設(shè)立一臺服務(wù)器作為 Identity Provider進行用戶身份認證管理,其他的應(yīng)用系統(tǒng)就作為Service Provider管理進行共享訪問的資源。設(shè)計方案如圖3所示:

4.2資源共享系統(tǒng)實現(xiàn)
在廣西本科院校優(yōu)質(zhì)教學(xué)資源共享平臺搭建中,采用兩臺服務(wù)器存放共享資源,作為Shibboleth中的 Service Provider,用一臺服務(wù)器作為 Identity Provider,另用一臺服務(wù)器作為UPortal,服務(wù)器均采用Windows 2003和Linux服務(wù)器操作系統(tǒng),具體配置如下:
4.2.1 Identity Provider運行有軟件 OpenSSL、Apache、Tomcat、Active Directory、Shibboleth IdP;
4.2.2ServiceProvider運行有軟件 OpenSSL、Shibboleth SP、IIS、Apache;
4.2.3UPortal 運行有軟件 OpenSSL、Tomcat、Apache。
4.2.4 Shibboleth主要文件配置

4.2.5 Shibboleth.xml文件配置
Shibboleth.xml配置文件定義了 Shibboleth的整體框架及各個相關(guān)子組件間的信息交互模式,涉及到Shibboleth的各個部分,是決定Shibboleth整體結(jié)構(gòu)的最主要的配置文件。示例如下:


4.3資源共享系統(tǒng)身份認證的安全性
資源共享系統(tǒng)身份認證的安全性通過SAML標準和 SSL(Secure Socket Layer)協(xié)議來保證。SAML標準基于XML生成安全的信息交換架構(gòu),便于異構(gòu)系統(tǒng)間進行安全通訊。通過SSL協(xié)議對所有的數(shù)據(jù)在發(fā)送到網(wǎng)絡(luò)上之前對它們進行加密,到達后再解密,確保數(shù)據(jù)通訊過程中的安全。系統(tǒng)身份認證安全響應(yīng)代碼示例如下:


Shibboleth作為下一代互聯(lián)網(wǎng)項目的用戶身份認證系統(tǒng),我們在“人文強桂”文獻共享平臺和優(yōu)質(zhì)教學(xué)資源平臺中使用Shibboleth是安全有效的,解決跨網(wǎng)域環(huán)境下異構(gòu)系統(tǒng)間實現(xiàn)單點登錄認證機制的問題,降低用戶管理認證成本,實現(xiàn)高效暢通的資源共享服務(wù),同時與其它系統(tǒng)進行整合。
[1]吳明德.圖書館自動化與數(shù)位化[EB/OL].http://www.ncl.edu.tw/upload/P0970108002/cats/8.pdf,2007.
[2]江淇,王群.Shibboleth系統(tǒng)應(yīng)用實例分析[J].數(shù)字圖書館,2007(9).
[3]陳萍,張蓓,呂潔.中間件實現(xiàn)跨校資源整合及技術(shù)優(yōu)勢介紹說明[EB/OL].http://www.edu.cn/zjj-6573/20080525/t20080525-298480.shtml,2008-05-25.
[4]李峰,郭曉軍,于培民,曹中.企業(yè)門戶應(yīng)用整合中單點登錄(SSO)的技術(shù)實現(xiàn)與應(yīng)用[J].現(xiàn)代電子技術(shù),2008(23).
[5]危蓉,廖振松,黃學(xué)鵬.Shibboleth口令的研究[J].微型計算機,2005(21).
[6]Scott Cantor,John Kemp,Rob Philpott,Eve Maler.Assertions and Protocols for the OASIS Security Assertion Markup Language V2.0[EB/OL].http://docs.oasis-open.org/security/saml/v2.0/saml/v2.0/saml-core-2.0-os.pdf,2008-03-15.
The Research of Literature Resources Sharing Platform Authentication Mechanism Based on Shibboleth
FU Rong-xin1,KONGFan-ren2
(1.Library,Guangxi Normal University,Guilin Guangxi 541004;2.Dean’s Office,Guangxi Normal University,Guilin Guangxi 541004)
Resource sharing as research platform,remote SSO as research object,this paper researches on Shibboleth authentication in resources sharing platform,analyses Shibboleth architecture,expounds Shibboleth principle,designs user authentication system used to Guangxi Colleges Teaching Resources Sharing Platform to solute the difficulties of cross-domain organization user authentication management.
Shibboleth;Resources Sharing;authentication;SSO
G250.71
A
1673-8861(2011)02-0143-04
2011-04-16
符榮鑫(1984-),男,廣西賓陽人,廣西師范大學(xué)圖書館助理工程師。主要研究方向:計算機軟件與理論。
2010年度新世紀廣西高等教育教學(xué)改革工程立項項目(2010J GA011)。