李婕
摘要:高校各部門陸續(xù)建立起B(yǎng)/S模式的業(yè)務(wù)系統(tǒng),每個(gè)系統(tǒng)有各自的認(rèn)證數(shù)據(jù)庫,不能保持同步和一致性,成為信息孤島。為了解決這些問題,單點(diǎn)登錄技術(shù)應(yīng)運(yùn)而生,包括認(rèn)證接口子系統(tǒng)、客戶端登錄子系統(tǒng)、統(tǒng)一身份認(rèn)證系統(tǒng)幾部分。單點(diǎn)登錄,給學(xué)校各類應(yīng)用提供統(tǒng)一的身份認(rèn)證機(jī)制和訪問入口,對用戶信息進(jìn)行整合和統(tǒng)一,減少了用于重復(fù)認(rèn)證所帶來的系統(tǒng)開銷,為學(xué)校進(jìn)一步的信息化建設(shè)建立起良好的基礎(chǔ)。
關(guān)鍵詞:單點(diǎn)登錄;身份認(rèn)證;數(shù)字校園
一、單點(diǎn)登錄
1、概念。單點(diǎn)登錄(sso)進(jìn)行一次驗(yàn)證后即可訪問多個(gè)應(yīng)用程序的。即在一次登錄之后不必再經(jīng)過系統(tǒng)認(rèn)證就直接進(jìn)入校內(nèi)各應(yīng)用系統(tǒng)。針不同類型的應(yīng)用系統(tǒng),單點(diǎn)登陸的實(shí)現(xiàn)方式也有所不同,但其原理大致相同:在多個(gè)應(yīng)用系統(tǒng)之間建立用戶安全上下文(Security Context),維持“用戶已過認(rèn)證”這一狀態(tài)。而使用在多個(gè)應(yīng)用系統(tǒng)之間的單點(diǎn)登陸機(jī)制,與單個(gè)應(yīng)用系統(tǒng)內(nèi)的認(rèn)證機(jī)制相比區(qū)別在于:前者的安全資源分布在多個(gè)應(yīng)用系統(tǒng)之內(nèi),而且這些應(yīng)用可能部署在不同的域名下,后者的安全資源集中在單個(gè)應(yīng)用系統(tǒng)之內(nèi)。
2、實(shí)現(xiàn)單點(diǎn)登錄。要實(shí)現(xiàn)SSO,需要以下主要的功能:(1)所有應(yīng)用系統(tǒng)共享一個(gè)身份認(rèn)證系統(tǒng);(2)所有應(yīng)用系統(tǒng)能夠識別和提取ticket信息;(3)應(yīng)用系統(tǒng)能夠識別已經(jīng)登錄過的用戶,能自動(dòng)判斷當(dāng)前用戶是否登錄過,從而完成單點(diǎn)登錄的功能。其中統(tǒng)一的身份認(rèn)證系統(tǒng)最重要,認(rèn)證系統(tǒng)的主要功能是將用戶的登錄信息和用戶信息庫相比較,對用戶進(jìn)行登錄認(rèn)證,認(rèn)證成功后,認(rèn)證系統(tǒng)應(yīng)該生成統(tǒng)一的認(rèn)證標(biāo)志(ticket),返還給用戶。另外,認(rèn)證系統(tǒng)還應(yīng)該對ticket進(jìn)行效驗(yàn),判斷其有效性。整個(gè)系統(tǒng)可以存在兩個(gè)以上的認(rèn)證服務(wù)器,這些服務(wù)器甚至可以是不同的產(chǎn)品。認(rèn)證服務(wù)器之間要通過標(biāo)準(zhǔn)的通訊協(xié)議,互相交換認(rèn)證信息,就能完成更高級別的單點(diǎn)登錄。
3、用戶單點(diǎn)登錄有以下的優(yōu)點(diǎn):(1)提高工作效率,用戶只需一次驗(yàn)證便能訪問所有授權(quán)網(wǎng)絡(luò)資源和服務(wù)。(2)透明的實(shí)現(xiàn)認(rèn)證和授權(quán),減少用戶的等待時(shí)間,提供系統(tǒng)的性能。(3)增強(qiáng)系統(tǒng)的整體安全性,通過強(qiáng)認(rèn)證機(jī)制對用戶身份驗(yàn)證,提供安全性。(4)提高管理效率,用戶帳號數(shù)據(jù)統(tǒng)一保存,集中管理,減少了出錯(cuò)的幾率,減輕了系統(tǒng)工作人員的維護(hù)負(fù)擔(dān)。
二、認(rèn)證接口子系統(tǒng)
1、新建系統(tǒng)及原有系統(tǒng)的認(rèn)證。認(rèn)證接口子系統(tǒng)位于多個(gè)應(yīng)用系統(tǒng)和統(tǒng)一身份認(rèn)證中心之間,和應(yīng)用系統(tǒng)集成,運(yùn)行在同一個(gè)平臺(tái)之上。該接口接受用戶認(rèn)證請求,由認(rèn)證中心進(jìn)行認(rèn)證,將認(rèn)證結(jié)果返回給應(yīng)用系統(tǒng)。
認(rèn)證接口子系統(tǒng)要適應(yīng)原有應(yīng)用系統(tǒng)和新建的應(yīng)用系統(tǒng)兩種情況。對于新建的應(yīng)用系統(tǒng),只要按照認(rèn)證中心提供的認(rèn)證和授權(quán)接口標(biāo)準(zhǔn)進(jìn)行認(rèn)證和授權(quán)的開發(fā)就可以和認(rèn)證中心進(jìn)行無縫集成。對于那些在建立認(rèn)證中心之前就已存在的應(yīng)用系統(tǒng),因?yàn)闆]有按照統(tǒng)一的接口標(biāo)準(zhǔn)進(jìn)行認(rèn)證和授權(quán),而且可能運(yùn)行在多種平臺(tái)之上,使用不同的數(shù)據(jù)庫系統(tǒng)。針對這種情況,認(rèn)證接口子系統(tǒng)就要做到與平臺(tái)無關(guān)、與具體的數(shù)據(jù)庫系統(tǒng)無關(guān)。
2、針對不同系統(tǒng)提供的認(rèn)證策略。為了使原有的系統(tǒng)能夠平滑過渡到單點(diǎn)登錄系統(tǒng)中,使不容易進(jìn)行認(rèn)證機(jī)制改造的應(yīng)用系統(tǒng)也可以納入到系統(tǒng)的統(tǒng)一管理中,應(yīng)該針對不同的系統(tǒng)有不同的策略。(1)對于新建系統(tǒng)或容易改進(jìn)的系統(tǒng)。通過提供的標(biāo)準(zhǔn)接口函數(shù)來實(shí)現(xiàn)對客戶端與應(yīng)用服務(wù)器的Kerberos改造,使之能夠與Kerberos認(rèn)證機(jī)制相結(jié)合,從而納入到單點(diǎn)登錄系統(tǒng)中。(2)對已有的且不易改進(jìn)的系統(tǒng)。因?yàn)橄鄬碚f,客戶端改造比較容易。首先將客戶端進(jìn)行Kerberos改造,使客戶端可以與Kerberos認(rèn)證服務(wù)器進(jìn)行身份認(rèn)證工作。再把原有系統(tǒng)的認(rèn)證信息保證在本次單點(diǎn)登錄系統(tǒng)的用戶信息數(shù)據(jù)庫中,同時(shí)在應(yīng)用服務(wù)器端設(shè)置一個(gè)代理軟件,其主要功能是對由客戶端傳過來的數(shù)據(jù)進(jìn)行解析后,再傳送給應(yīng)用服務(wù)器進(jìn)行身份認(rèn)證。(3)對于客戶端和應(yīng)用服務(wù)器都難以進(jìn)行Kerberos改造的系統(tǒng),可采用中間件技術(shù),通過代理軟件,登錄到本系統(tǒng)完成認(rèn)證工作。工作流程為:當(dāng)用戶登錄到這些系統(tǒng)時(shí),首先要到本次系統(tǒng)的Kerberos認(rèn)證服務(wù)器中獲得對應(yīng)系統(tǒng)的認(rèn)證數(shù)據(jù),然后再提交給相應(yīng)的系統(tǒng),以便完成認(rèn)證??梢酝ㄟ^開發(fā)客戶端的工具和代理軟件來自動(dòng)實(shí)現(xiàn),提高用戶的工作效率。
三、客戶端登錄子系統(tǒng)
提供完整的單點(diǎn)登錄技術(shù)??蛻舳擞脩舻卿涀酉到y(tǒng)提供完整的單點(diǎn)登錄技術(shù)。用戶只需登錄一次,就可使用同一使用憑證,登錄平臺(tái)上各資源子系統(tǒng)中,按所授權(quán)限訪問網(wǎng)絡(luò)資源信息,用戶一旦登錄成功,不會(huì)因?yàn)樵L問不同的資源子系統(tǒng)而被要求多次重登錄。
四、國內(nèi)統(tǒng)一身份認(rèn)證系統(tǒng)應(yīng)用情況
數(shù)字校園的統(tǒng)一門戶建設(shè),即統(tǒng)一身份認(rèn)證系統(tǒng),在國內(nèi)應(yīng)用情況大以下幾類:
1、類似代理的認(rèn)證服務(wù)體系。該體系使用目錄服務(wù)器存儲(chǔ)用戶的信息,在應(yīng)用服務(wù)器遵從統(tǒng)一的目錄服務(wù)標(biāo)準(zhǔn)的情況下,和目錄服務(wù)器通信,進(jìn)行統(tǒng)一認(rèn)證。但是這并不是完全意義上的統(tǒng)一認(rèn)證,而只是把認(rèn)證分離出去,用戶在訪問不同的應(yīng)用系統(tǒng)的時(shí)候仍要重新輸入用戶名和密碼。
2、與瀏覽器相關(guān)的認(rèn)證服務(wù)體系。例如:上海交通大學(xué)網(wǎng)絡(luò)信息中心開發(fā)的用戶認(rèn)證體系。該系統(tǒng)嚴(yán)重依賴瀏覽器Cookie的設(shè)置,如果強(qiáng)制指定瀏覽器拒絕Cookie,將無法使用Account進(jìn)行登錄;另外系統(tǒng)本身安全性問題沒有考慮。
3、基于LDAP的統(tǒng)一身份認(rèn)證系統(tǒng)。這類系統(tǒng)采用了LDAP(Lightweight Directory Access Protocol:輕量級目錄訪問協(xié)議)技術(shù)提高了系統(tǒng)可用性和可靠性,也避免了與瀏覽器相關(guān)的問題,同時(shí)縮短響應(yīng)時(shí)間;系統(tǒng)采用了TLS(TransPortLayersecurity:傳輸層安全)和SASL[3] (Simple Authentication Security Layer:簡單認(rèn)證和安全層)保證信息輸?shù)陌踩浴?/p>
五、結(jié)語
通過單點(diǎn)登錄系統(tǒng),用戶一次登錄即能訪問校園網(wǎng)中其他應(yīng)用系統(tǒng),既實(shí)現(xiàn)了更優(yōu)的管理控制,又提高了用戶工作效率,同時(shí)還保障了整個(gè)網(wǎng)絡(luò)的安全性。本文為高校數(shù)字校園統(tǒng)一身份認(rèn)證的實(shí)現(xiàn)提供了研究基礎(chǔ)以及理論體系的支撐。
參考文獻(xiàn)
[1] 齊鳳亮,薛海峰.數(shù)字化校園單點(diǎn)登錄系統(tǒng)的實(shí)現(xiàn).天津電大學(xué)報(bào),2011(6).
[2] 李海軍,盧清萍.基于LDAP的Web認(rèn)證系統(tǒng)在數(shù)字化校園中的應(yīng)用. 軟件導(dǎo)刊 ,2013.
[3] 陳蕊.高校信息門戶中關(guān)鍵指標(biāo)體系的展示.天津電大學(xué)報(bào),計(jì)算機(jī)與現(xiàn)代化,2013(10).