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