常艷遼寧警官高等專科學(xué)校 遼寧 116037
隨著網(wǎng)絡(luò)的發(fā)展,網(wǎng)絡(luò)應(yīng)用更加豐富,各領(lǐng)域和各行業(yè)逐漸將各種信息管理及業(yè)務(wù)處理都移植到網(wǎng)絡(luò)中,學(xué)校也不例外。涉及到學(xué)生的基本信息、選課情況、成績以及學(xué)生的表現(xiàn)情況都在網(wǎng)絡(luò)當(dāng)中管理;涉及到教師的教師基本信息、授課情況、考勤和考核信息等也在網(wǎng)絡(luò)當(dāng)中管理;涉及到學(xué)校的各方面狀況(如師資狀況、校舍狀況及財(cái)務(wù)狀況等)、各部門情況及工作的完成情況等也在網(wǎng)絡(luò)中管理。信息化管理可以提高工作效率又可以節(jié)約資源,其優(yōu)點(diǎn)主要因?yàn)橛脩艨梢栽跈?quán)限范圍內(nèi)實(shí)現(xiàn)遠(yuǎn)程管理,但遠(yuǎn)程管理最大的弊端是安全問題,有的機(jī)構(gòu)因?yàn)椴煌瑪?shù)據(jù)在不同的系統(tǒng)中進(jìn)行管理,安全級(jí)別不同,對(duì)每個(gè)用戶的管理權(quán)限不同,用戶必須通過賬號(hào)和密碼對(duì)系統(tǒng)進(jìn)行不同權(quán)限級(jí)別的訪問,使得用戶必須記多個(gè)賬號(hào)和密碼,為用戶和管理帶來極大地不便,甚至有的機(jī)構(gòu)為了避免高安全級(jí)別的數(shù)據(jù)出現(xiàn)安全問題,采取屏蔽部分功能不允許外部訪問的方式,這樣極大的削弱了信息化管理的優(yōu)勢,為了解決這類對(duì)用戶分散管理的問題,本文認(rèn)為應(yīng)該建立統(tǒng)一身份認(rèn)證平臺(tái),對(duì)用戶認(rèn)證及各系統(tǒng)使用權(quán)限信息進(jìn)行整合,實(shí)現(xiàn)統(tǒng)一存儲(chǔ)、統(tǒng)一管理,統(tǒng)一授權(quán)的用戶單點(diǎn)登錄身份認(rèn)證方式。
實(shí)現(xiàn)跨平臺(tái)、跨數(shù)據(jù)庫、甚至跨網(wǎng)段的各系統(tǒng)統(tǒng)一身份認(rèn)證,目前比較常用也是比較有效的解決方案就是基于LDAP(Lightweight Directory Access Protocol 輕量級(jí)目錄訪問協(xié)議)協(xié)議的單點(diǎn)登錄機(jī)制,可以對(duì)多個(gè)應(yīng)用系統(tǒng)身份認(rèn)證及訪問控制進(jìn)行整合,用戶只需要登錄一次就可以訪問所有相互信任的應(yīng)用系統(tǒng)。用戶只需要通過一個(gè)賬號(hào)和密碼就可以實(shí)現(xiàn),但是賬號(hào)和密碼很容易泄露,對(duì)整個(gè)系統(tǒng),特別是安全級(jí)別要求高的系統(tǒng)具有一定的安全隱患,為了解決這個(gè)問題,本系統(tǒng)結(jié)合數(shù)據(jù)證書認(rèn)證技術(shù),對(duì)高安全級(jí)別用戶采取賬號(hào)和證書雙重身份認(rèn)證機(jī)制。
由于校園網(wǎng)信息管理系統(tǒng)應(yīng)用功能繁雜,訪問用戶比較多,并且存在明顯的權(quán)限劃分,因此根據(jù)安全級(jí)別的不可以將所有用戶權(quán)限分為兩大類:①一般系統(tǒng)使用者權(quán)限;②高級(jí)系統(tǒng)使用者權(quán)限。
一般系統(tǒng)使用者權(quán)限是指可以瀏覽及管理系統(tǒng)中公開的或安全級(jí)別不高的信息的訪問權(quán)限。比如學(xué)生對(duì)學(xué)校的通知及個(gè)人相關(guān)信息進(jìn)行查詢及簡單的錄入和修改權(quán)限,或者一般教師對(duì)個(gè)人及相關(guān)業(yè)務(wù)信息進(jìn)行錄入和修改權(quán)限。
高級(jí)系統(tǒng)使用者權(quán)限是指可以管理及維護(hù)個(gè)人業(yè)務(wù)相關(guān)或權(quán)限范圍內(nèi)其它用戶的相關(guān)信息。
需要獲取一般系統(tǒng)使用者權(quán)限的用戶只需通過賬號(hào)和密碼統(tǒng)一身份認(rèn)證,對(duì)于需要獲取高級(jí)使用權(quán)限的用戶在賬戶和密碼認(rèn)證的同時(shí)還需要提交具有高級(jí)使用權(quán)限的數(shù)字證書。
該系統(tǒng)身份認(rèn)證過程比較簡單,不同權(quán)限用戶如果只提交賬號(hào)和密碼那么只能獲得一般系統(tǒng)使用者相應(yīng)的權(quán)限,只有提交具有高級(jí)權(quán)限的證書才能獲取高級(jí)系統(tǒng)使用者權(quán)限,對(duì)系統(tǒng)的敏感信息進(jìn)行管理。整個(gè)過程分為三大模塊,如圖1所示。
圖1 統(tǒng)一身份認(rèn)證系統(tǒng)結(jié)構(gòu)
(1)認(rèn)證及訪問控制信息管理模塊
LDAP是一種可擴(kuò)展的目錄訪問協(xié)議,是按照樹狀模式組織信息(如圖 2所示),是實(shí)現(xiàn)信息管理和服務(wù)接口的一種方式,實(shí)際上是一種特殊的數(shù)據(jù)庫系統(tǒng),目錄一般用來存儲(chǔ)相對(duì)靜態(tài)的數(shù)據(jù),能夠提供比關(guān)系數(shù)據(jù)庫更快速的數(shù)據(jù)讀取、瀏覽和搜索操作,對(duì)數(shù)據(jù)的修改也僅是使用簡單鎖定機(jī)制來實(shí)現(xiàn)。目錄以屬性的形式存儲(chǔ)及管理信息,并支持精細(xì)復(fù)雜的過濾能力。一個(gè)應(yīng)用程序如果要訪問目錄中的信息,它不需要直接訪問目錄,而是通過一系列API函數(shù)來產(chǎn)生請(qǐng)求并傳送給目錄服務(wù)器。目錄服務(wù)器則根據(jù)請(qǐng)求查詢目錄,并把結(jié)果返回給發(fā)起調(diào)用的進(jìn)程。
圖2 目錄樹
(2)統(tǒng)一身份認(rèn)證管理模塊
LDAP服務(wù)是典型的C/S模式,需要讀寫目錄信息的應(yīng)用并不直接訪問目錄,它通過調(diào)用API函數(shù)訪問目錄中的信息對(duì)用戶身份進(jìn)行認(rèn)證,并將認(rèn)證結(jié)果返回給身份認(rèn)證管理模塊。當(dāng)用戶第一次訪問某個(gè)應(yīng)用系統(tǒng)時(shí),因?yàn)檫€沒有登錄,會(huì)被引導(dǎo)到認(rèn)證管理系統(tǒng)中進(jìn)行登錄,如果用戶通過賬號(hào)和密碼登錄,只能獲取一般用戶權(quán)限,要想獲取高級(jí)用戶權(quán)限必須提交相應(yīng)的數(shù)字證書,根據(jù)用戶提供的登錄信息,認(rèn)證系統(tǒng)進(jìn)行身份效驗(yàn),如果通過校驗(yàn),相應(yīng)的產(chǎn)生一個(gè)認(rèn)證憑據(jù)(ticket),用戶訪問其它應(yīng)用時(shí)就會(huì)將這個(gè)憑據(jù)帶上,作為該用戶的認(rèn)證憑據(jù),應(yīng)用系統(tǒng)接受到請(qǐng)求之后會(huì)把憑據(jù)送到認(rèn)證管理系統(tǒng)進(jìn)行校驗(yàn),檢查其合法性,如果通過校驗(yàn),用戶就可以在不用再次登錄的情況下訪問其它應(yīng)用系統(tǒng)。
(3)用戶及認(rèn)證信息管理模塊
該模塊提供用戶對(duì)個(gè)人基本信息及認(rèn)證信息進(jìn)行管理及維護(hù),包括登錄密碼的修改,數(shù)字證書的申請(qǐng)、恢復(fù)和作廢處理,提供管理員對(duì)用戶信息及訪問控制權(quán)限進(jìn)行管理和維護(hù)。
用戶選擇一個(gè)證書之后,服務(wù)器會(huì)從用戶證書中提取一些資料,核對(duì)證書是否是本系統(tǒng)頒發(fā)的,是否有效,之后繼續(xù)進(jìn)行身份鑒別和權(quán)限控制管理:
//獲取客戶證書序列號(hào)
string usercertsn=Request.ClientCertificate["SerialNumber"];
//獲取客戶證書全部內(nèi)容(二進(jìn)制代碼)
string usercertbinary=Request.ClientCertificate["Certificate"];
//獲取客戶證書有效期結(jié)束時(shí)間
string dateuntilstr= Request.ClientCertificate["ValidUntil"];
DateTime dateuntil=Convert.ToDateTime (dateuntilstr);
//審核證書是否有效
if(todatet<dateuntil)
{ //根據(jù)以上信息獲取高級(jí)用戶權(quán)限的有效性及權(quán)限列表}
系統(tǒng)中以XML樹狀模式存儲(chǔ)各部門及具有不同權(quán)限的各用戶認(rèn)證信息(賬號(hào)、密碼和證書序列號(hào)),通過對(duì)該模式數(shù)據(jù)的查詢,返回用戶訪問控制序列碼,并寫入用戶憑證當(dāng)中:
string accessed;//訪問控制碼
Session[“uid’]=user.UName;
Session[“upw”]=user.UType;
try{
accessed =checkuser(Session[“uid’], Session[“upw”]) ;//驗(yàn)證一般用戶權(quán)限身份接口
accessed+=checkcert(user.certsn); 驗(yàn)證高級(jí)用戶權(quán)限身份接口
return accessed;
}
catch{
//用戶賬號(hào)/密碼不正確
}
系統(tǒng)身份認(rèn)證和權(quán)限控制是實(shí)現(xiàn)系統(tǒng)安全最基本、最有效的方式之一,因此大部分系統(tǒng)都要對(duì)用戶的合法身份進(jìn)行認(rèn)證,用戶面臨訪問不同系統(tǒng)要進(jìn)行多次身份認(rèn)證的問題,于是統(tǒng)一身份認(rèn)證思想應(yīng)運(yùn)而生,實(shí)現(xiàn)統(tǒng)一身份認(rèn)證可以通過很多種方法實(shí)現(xiàn),但基于LDAP協(xié)議的目錄服務(wù)為實(shí)現(xiàn)統(tǒng)一身份認(rèn)證提供了更快速有效的信息管理機(jī)制,通過一次身份認(rèn)證之后,在該次訪問過程中再訪問其它應(yīng)用程序?qū)⒉槐卦俅屋斎氲卿浶畔?,也可獲得合法的訪問權(quán)限。其中數(shù)字證書的引入可以實(shí)現(xiàn)認(rèn)證信息的不可偽造性,特別和賬戶密碼結(jié)合提高了系統(tǒng)的安全性。
[1]張沖,武超,楊要科.校園網(wǎng)統(tǒng)一身份認(rèn)證系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).中原工學(xué)院學(xué)報(bào).2008.
[2]張先紅.數(shù)字簽名原理及技術(shù).北京:機(jī)械工業(yè)出版社.2004.
[3]賀超波,陳啟買,歐陽輝.數(shù)字化校園門戶平臺(tái)統(tǒng)一身份認(rèn)證的實(shí)現(xiàn).研究與發(fā)展.2008.
[4]劉幺和,林宇航,宋庭新.基于 SSO 技術(shù)的信息門戶網(wǎng)站構(gòu)建.軟件導(dǎo)刊.2009.