蘇星曄 徐方南
【摘 要】 隨著企業(yè)信息化的不斷發(fā)展,企業(yè)應(yīng)用系統(tǒng)越來越趨于多樣化和復(fù)雜化,用戶對(duì)服務(wù)質(zhì)量的要求也越來越高,統(tǒng)一身份認(rèn)技術(shù)已成為各系統(tǒng)必不可少的一部分。本文通過對(duì)統(tǒng)一身份認(rèn)技術(shù)中的單點(diǎn)登錄的相關(guān)技術(shù)進(jìn)行研究,梳理了實(shí)現(xiàn)單點(diǎn)登錄的主要方式。
【關(guān)鍵詞】 統(tǒng)一身份認(rèn)證 單點(diǎn)登錄
一、前言
隨著信息網(wǎng)絡(luò)技術(shù)的發(fā)展,許多企業(yè)都建立了大量的應(yīng)用系統(tǒng)。由于每個(gè)應(yīng)用系統(tǒng)都有各自的登錄界面和安全策略,用戶都需要單獨(dú)進(jìn)行注冊(cè)后才能登錄。于是,用戶需要記憶與不同系統(tǒng)對(duì)應(yīng)的用戶名和密碼來進(jìn)行身份認(rèn)證,這無疑增加了出錯(cuò)的可能性及操作的復(fù)雜度。
因此,提出了統(tǒng)一身份認(rèn)證的概念,即將不同的認(rèn)證方式進(jìn)行整合和統(tǒng)一,在多個(gè)應(yīng)用系統(tǒng)中,用戶只需要認(rèn)證身份一次,認(rèn)證后就可以訪問具有相應(yīng)權(quán)限的其他應(yīng)用系統(tǒng),從而實(shí)現(xiàn)單點(diǎn)登錄和統(tǒng)一身份認(rèn)證。
二、單點(diǎn)登錄的實(shí)現(xiàn)方式
2.1基于cookie的方式
Cookie是Web服務(wù)器通過HTTP響應(yīng)在客戶端瀏覽器中保存的信息,可以包含任何內(nèi)容,但通常包含用戶會(huì)話狀態(tài)信息。目前,cookie已廣泛應(yīng)用于Web中,如Microsoft的Passport單點(diǎn)登錄服務(wù)就是借助于cookie記錄來完成的。例如在同一個(gè)應(yīng)用系統(tǒng)中,用戶在訪問頁面A時(shí)進(jìn)行了登錄,Web服務(wù)器會(huì)設(shè)置一個(gè)cookie,并將這個(gè)cookie和頁面A一起返回給用戶的瀏覽器,瀏覽器接收cookie后,就會(huì)保存起來。
當(dāng)用戶再次訪問頁面B時(shí),Web服務(wù)器接收到請(qǐng)求可以讀取出用戶的cookie的值,根據(jù)cookie的值內(nèi)容就可以獲得用戶的狀態(tài)信息,從而判斷出用戶是否能夠訪問頁面B。
2.2基于票據(jù)的方式
美國麻省理工學(xué)院于1993年推出了基于票據(jù)的單點(diǎn)登錄認(rèn)證協(xié)議kerberos,該協(xié)議的特點(diǎn)就是,有一個(gè)管理用戶帳號(hào)的票據(jù)認(rèn)證服務(wù)器,票據(jù)認(rèn)證服務(wù)器扮演著經(jīng)紀(jì)人的角色,所有的認(rèn)證都是由它完成,并在成功認(rèn)證操作之后生成的票據(jù)。
客戶端在訪問系統(tǒng)資源之前向票據(jù)認(rèn)證服務(wù)器進(jìn)行身份認(rèn)證,當(dāng)用戶通過身份認(rèn)證后,票據(jù)認(rèn)證服務(wù)器為用戶產(chǎn)生一張認(rèn)證票據(jù),并返回給用戶,用戶可以憑借這張認(rèn)證票據(jù)來訪問所有授權(quán)的應(yīng)用服務(wù)器。
2.3基于代理的方式
基于代理agent的單點(diǎn)登錄方法,通過在統(tǒng)一認(rèn)證服務(wù)器部署一個(gè)進(jìn)行代理認(rèn)證的“代理”程序,當(dāng)客戶端向應(yīng)用服務(wù)器發(fā)送登錄請(qǐng)求時(shí),自動(dòng)地為不同的應(yīng)用程序認(rèn)證用戶身份,它可以使用口令表或加密密鑰來自動(dòng)地將認(rèn)證的負(fù)擔(dān)從用戶移開,從而,統(tǒng)一認(rèn)證服務(wù)器充當(dāng)了服務(wù)器的認(rèn)證系統(tǒng)和客戶端認(rèn)證方法之間的“翻譯”。
2.4基于網(wǎng)關(guān)的方式
基于安全網(wǎng)關(guān)的單點(diǎn)登錄,就是采用一個(gè)實(shí)現(xiàn)安全控制功能的Web反向代理作為用戶訪問部署在其后面的不同信息系統(tǒng),應(yīng)用系統(tǒng)的關(guān)卡(即網(wǎng)關(guān)),只有在安全網(wǎng)關(guān)完成身份鑒別的用戶才能通過安全網(wǎng)關(guān)訪問部署在其后面的系統(tǒng)??蛻舳嗽谕ㄟ^網(wǎng)關(guān)認(rèn)證后獲得訪問服務(wù)的權(quán)限,在訪問內(nèi)網(wǎng)其它網(wǎng)站時(shí),將不再需要重新輸入用戶名和密碼,由網(wǎng)關(guān)代替用戶填寫內(nèi)部網(wǎng)站的用戶名和密碼,向內(nèi)部網(wǎng)站提交認(rèn)證信息,并將認(rèn)證通過后網(wǎng)站返回的用戶登錄成功的Web頁面轉(zhuǎn)發(fā)給遠(yuǎn)程用戶。該項(xiàng)技術(shù)也稱 “二次填表”,以代理網(wǎng)關(guān)為中心,要求對(duì)所有應(yīng)用系統(tǒng)的身份認(rèn)證和訪問都必須通過代理網(wǎng)關(guān)實(shí)現(xiàn)單點(diǎn)登錄,容易造成代理網(wǎng)關(guān)的效率問題甚至導(dǎo)致整個(gè)系統(tǒng)的癱瘓。
2.5基于SAML安全斷言標(biāo)記語言的方式
目前主要有C/S架構(gòu)系統(tǒng)與B/S架構(gòu)系統(tǒng)用于實(shí)現(xiàn)單點(diǎn)登錄,C/S架構(gòu)系統(tǒng)與B/S架構(gòu)系統(tǒng)采用不同的平臺(tái)、不同的信息交互模式、而且業(yè)界廠商實(shí)現(xiàn)SSO方式多樣,存在各種使用場(chǎng)景的限制,難以兼容,因此很難實(shí)現(xiàn)統(tǒng)一的單點(diǎn)登錄功能。
而在互聯(lián)網(wǎng)的情境中,用戶期望這樣的能力,即從與一個(gè)域上的應(yīng)用的交互跳轉(zhuǎn)到與另一域上的另一應(yīng)用的交互,而極少關(guān)心每一特定域間的信息屏障。
在利用SAML進(jìn)行單點(diǎn)登錄的方式中,統(tǒng)一身份認(rèn)證服務(wù)器采用SAML安全斷言標(biāo)記語言作為會(huì)話令牌,會(huì)話令牌中包括的用戶憑證通常由統(tǒng)一身份認(rèn)證服務(wù)器進(jìn)行數(shù)字簽名,這樣收到此會(huì)話令牌的網(wǎng)絡(luò)站點(diǎn)可以確認(rèn)會(huì)話令牌發(fā)行者的身份,通過會(huì)話令牌就可以判斷認(rèn)證斷言,從而認(rèn)證了用戶端的用戶身份信息。
此后,用戶再次請(qǐng)求登錄其他網(wǎng)站時(shí),只需向其他網(wǎng)站出示會(huì)話令牌即可。
三、結(jié)語
根據(jù)上述對(duì)實(shí)現(xiàn)單點(diǎn)登錄各種方式的分析,可以看到各方式的優(yōu)缺點(diǎn),具體如何選擇實(shí)現(xiàn)方式應(yīng)結(jié)合具體工作的實(shí)際情況,確保統(tǒng)一身份認(rèn)證系統(tǒng)的安全性、可靠性和高效性。
參 考 文 獻(xiàn)
[1]淡艷,尹謙,單點(diǎn)登錄系統(tǒng)模型分析,成都大學(xué)學(xué)報(bào)(自然科學(xué)報(bào)),2008年第2期:123-126.