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