楊光
中國礦業(yè)大學(xué)計算機學(xué)院 江蘇 221116
以先進的計算機網(wǎng)絡(luò)技術(shù)和現(xiàn)代教育技術(shù)為支撐的我國現(xiàn)代遠程教育已經(jīng)起步并取得了積極的進展,然而正是遠程教育這一分散的教學(xué)模式給傳統(tǒng)的管理機制帶來了挑戰(zhàn)。由于遠程教育使用WWW,身份認(rèn)證服務(wù)需要對每項請求進行檢查。目前主要有兩種構(gòu)建身份認(rèn)證系統(tǒng)的方法。一是將WWW服務(wù)器置于DMZ內(nèi),并且每種服務(wù)有一個認(rèn)證功能。二是WWW服務(wù)器位于Internet中,而身份認(rèn)證系統(tǒng)位于DMZ中。在這里,我們使用后一種方法,讓W(xué)WW服務(wù)器充當(dāng)系統(tǒng)內(nèi)部服務(wù)器,這樣實現(xiàn)起來更加容易。
本系統(tǒng)的主要功能有身份認(rèn)證、訪問控制、將用戶的請求返回給內(nèi)部服務(wù)器。當(dāng)它受到一個用戶請求時,系統(tǒng)認(rèn)證該用戶并將請求返回給一個合適的內(nèi)部服務(wù)器。我們設(shè)計的身份認(rèn)證系統(tǒng),使用戶可以安全進入Internet中的WWW服務(wù)器,得到需要的服務(wù)。
很多身份認(rèn)證系統(tǒng)使用簡單的用戶ID和口令認(rèn)證方式,但是本系統(tǒng)采用基于客戶證書的認(rèn)證方式,避免了用戶口令設(shè)置不當(dāng)造成的不安全。使用基于客戶證書的認(rèn)證方式要求用戶必須在自己的瀏覽器上安裝證書,然后才能訪問內(nèi)部服務(wù)器,在瀏覽器上進行遠程教育的相關(guān)操作。
我們在本系統(tǒng)中設(shè)計了4個服務(wù)器(見圖1)。第一個是證書服務(wù)器(Cert server),用來簽發(fā)、撤銷、復(fù)制客戶證書。第二個是登錄服務(wù)器(Gate server),用來進行身份認(rèn)證和訪問控制。第三個是用戶數(shù)據(jù)庫服務(wù)器(User DB server),用來存儲并向系統(tǒng)提供用戶信息。證書服務(wù)器使用用戶數(shù)據(jù)庫服務(wù)器來簽發(fā)證書,登錄服務(wù)器使用用戶數(shù)據(jù)庫服務(wù)器來認(rèn)證用戶,內(nèi)部服務(wù)器使用用戶數(shù)據(jù)庫服務(wù)器檢索用戶信息來控制返回的證明。內(nèi)部服務(wù)器在用戶數(shù)據(jù)庫服務(wù)器上注冊后,可以對它進行訪問。最后一個服務(wù)器是會話數(shù)據(jù)庫服務(wù)器(Session DB server),它存儲在某一特定時刻訪問登錄服務(wù)器是用戶的相關(guān)信息,用戶通過該服務(wù)器可以得到正在使用登錄服務(wù)器的其他用戶的信息。
圖1 系統(tǒng)結(jié)構(gòu)
證書服務(wù)器提供簽發(fā)、撤銷和復(fù)制數(shù)字證書的功能。它包括一個CA(證書認(rèn)證中心)和CA的接口。假設(shè)用戶已經(jīng)在用戶數(shù)據(jù)庫服務(wù)器上用e-mail注冊。系統(tǒng)通過用戶數(shù)據(jù)庫中的e-mail辨別該用戶。用戶申請證書,并將證書安裝在瀏覽器上??蛻糇C書有兩種形式:學(xué)生證書和教師證書。用e-mail注冊的用戶可以申請一個學(xué)生證書。如果需要教師證書,用戶需要知道口令。
證書服務(wù)器工作的大概過程:用戶訪問證書服務(wù)器申請客戶證書,根據(jù)提示輸入個人信息;證書服務(wù)器將信息提交給用戶數(shù)據(jù)庫服務(wù)器,檢查該用戶是否已注冊;如果用戶已注冊,證書服務(wù)器生成密鑰并將用戶信息寫入用戶數(shù)據(jù)庫服務(wù)器;證書服務(wù)器發(fā)送密鑰和用戶訪問的下一個URL給用戶;用戶訪問該URL,輸入e-mail、口令和密鑰;證書服務(wù)器檢查用戶的密鑰,生成用戶ID,并發(fā)送到用戶數(shù)據(jù)庫服務(wù)器進行身份認(rèn)證;最后在瀏覽器上安裝數(shù)字證書。
得到客戶證書的用戶可以通過登錄服務(wù)器訪問內(nèi)部服務(wù)器。登錄服務(wù)器有三個功能。一是身份認(rèn)證。如果客戶沒有票據(jù),登錄服務(wù)器對客戶證書進行身份認(rèn)證。如果用戶用票據(jù)訪問登錄服務(wù)器,通過HTTP建立會話。登錄服務(wù)器檢查票據(jù)中用戶所處環(huán)境的信息來決定是否通過認(rèn)證。二是作為已認(rèn)證用戶的反向代理服務(wù)器。用戶可以通過登錄服務(wù)器訪問內(nèi)部服務(wù)器的頁面。三是將請求傳遞給內(nèi)部服務(wù)器。客戶通過認(rèn)證后,登錄服務(wù)器將用戶ID和請求發(fā)送給內(nèi)部服務(wù)器。登錄服務(wù)器從內(nèi)部服務(wù)器中得到相關(guān)內(nèi)容,更改它們的URL使之與訪問控制列表相匹配,并將它們返回給客戶。
認(rèn)證服務(wù)器是在Apache2.0+Tomcat4.1上實現(xiàn)的。登錄服務(wù)器使用Apache2.0+mod_ssl2.0。用戶數(shù)據(jù)庫服務(wù)器和會話密鑰數(shù)據(jù)庫服務(wù)器使用MySQL。
本身份認(rèn)證系統(tǒng)可以為內(nèi)部服務(wù)器提供用戶ID,因此內(nèi)部服務(wù)器可以在不需要進行認(rèn)證的情況下進行網(wǎng)上考試。當(dāng)內(nèi)部服務(wù)器檢查用戶ID時,使用挑戰(zhàn)-響應(yīng)系統(tǒng)和登錄管理系統(tǒng)來記錄學(xué)生對問題的答案。挑戰(zhàn)-響應(yīng)系統(tǒng)提供兩種環(huán)境。第一種是對學(xué)生進行網(wǎng)絡(luò)培訓(xùn)似的提問,由學(xué)生給出答案。另一種是教師準(zhǔn)備網(wǎng)絡(luò)考試的試題。挑戰(zhàn)-響應(yīng)系統(tǒng)根據(jù)用戶ID去辨別用戶是學(xué)生還是教師。學(xué)生可以通過登錄管理服務(wù)器查詢成績、正確答案、平均分和名次。教師也可以執(zhí)行類似操作,還可以查看他們所出問題的答案和反饋信息。
用戶使用證書進行各種遠程教育的操作,管理員無法干涉用戶和證書服務(wù)器之間的交流。系統(tǒng)允許用戶刪除和復(fù)制用戶證書來保證安全性。如果客戶證書被盜或者丟失,用戶可以立刻將它廢除。在證書服務(wù)器工作的過程中,用戶向證書服務(wù)器發(fā)送請求、下載證書都是使用HTTPS進行通訊。這樣,即使攻擊者得到用戶的e-mail,由于沒有用戶的口令,他也無法下載證書。在登錄服務(wù)器中,服務(wù)器檢查用戶所處的環(huán)境信息。所以即使攻擊者得到票據(jù),由于登錄服務(wù)器可以發(fā)現(xiàn)環(huán)境信息的不同,攻擊者無法獲得訪問權(quán)限。
本系統(tǒng)提出了適合遠程教育的身份認(rèn)證方案,原理明了,實現(xiàn)過程簡單,在提供遠程教育服務(wù)的同時滿足了所需要的身份認(rèn)證、訪問控制等安全需求。即使用戶不具備專業(yè)的計算機知識,也能夠通過登錄系統(tǒng)得到客戶證書,進入內(nèi)部服務(wù)器并獲得服務(wù)。
[1]Etsuko Suzuki.A Design of Authentication System for Distributed Education[J].Information Technology Based Higher Education and Training.2004.
[2]于忠黨,張睿.基于人臉識別的遠程教育身份認(rèn)證方法研究[J].渤海大學(xué)學(xué)報(自然科學(xué)版).2008.
[3]曹天杰,張永平.計算機系統(tǒng)安全(第二版)[M].北京:高等教育出版社.2007.