摘 要: 隨著教育思想的更新和科學(xué)技術(shù)的進步,以紙和筆為主要工具的傳統(tǒng)考試方式的諸多弊端顯露得越來越突出。然而網(wǎng)絡(luò)考試帶來便利的同時也帶來了相關(guān)的安全問題。為此,提出了一套完整的在線考試系統(tǒng)安全策略,并基于JSP平臺實現(xiàn)了原型工具OntoLearner。
關(guān)鍵詞: 在線考試; 網(wǎng)絡(luò)安全; 數(shù)字簽名; 加密
目前,基于網(wǎng)絡(luò)的在線考試系統(tǒng)己經(jīng)成為現(xiàn)代考試方式的有力補充和發(fā)展。相對于傳統(tǒng)的筆試,網(wǎng)絡(luò)在線考試不僅減輕了在組織考試、評卷、成績統(tǒng)計等方面所花費的人力和物力,而且突破了時間與空間的限制,節(jié)省了資源,提高了評分的客觀性、公正性和準(zhǔn)確度,大大改善了考試工作的效率[1]。
由于Web自身存在的安全性問題,給在線考試的安全和管理帶來了潛在的威脅。本文針對基于Web環(huán)境的在線考試系統(tǒng)進行研究,提出了一套完整的在線考試系統(tǒng)安全設(shè)計方案。
針對在線考試系統(tǒng)數(shù)據(jù)安全性要求較高的特點,在系統(tǒng)中采用了多層次的安全技術(shù)來保證考試的安全。
1 訪問控制
網(wǎng)絡(luò)考試系統(tǒng)的數(shù)據(jù)庫服務(wù)器采用SQL Server 2005,后臺包含了與考試相關(guān)的各種數(shù)據(jù),包括用戶信息、試題信息、組卷方案信息、成績信息等。除了采用SQL Server與Windows相結(jié)合的方式登錄數(shù)據(jù)庫服務(wù)器來實現(xiàn)安全性的身份驗證方式以外,還根據(jù)不同類別用戶的功能確定不同的操作對象和操作級別,從源頭保證數(shù)據(jù)操作的安全。通過建立角色,將訪問許可集中授予角色,之后將需要擁有這一許可的用戶加到角色中,這些用戶即繼承角色的訪問許可。需要撤銷用戶的訪問許可時,將用戶從角色中刪除即可[2]。
2 數(shù)據(jù)加密
2.1試題庫
試題數(shù)據(jù)以可讀的形式存儲在數(shù)據(jù)庫中,高明的入侵者可以采用某種方式進入考試系統(tǒng)竊取或篡改數(shù)據(jù)。為了防止泄密,試題庫需要加密存儲。用戶編輯輸入完試題后,將其加密存儲到數(shù)據(jù)庫中,需要更新及查詢時,先解密成明文再進行相應(yīng)操作[3]。
由于非對稱加密算法的運行速度比對稱加密算法的速度慢很多,當(dāng)需要加密大量的數(shù)據(jù)時,建議采用對稱加密算法,以提高加解密速度。本系統(tǒng)采用3DES(3 Data Encryption Standard)加密, 密鑰空間為2112,即用兩個密鑰對一個分組進行3次DES加密, 先用第一個密鑰加密, 然后用第二個密鑰解密, 最后再用第一個密鑰加密;解密時,首先用第一個密鑰解密, 然后用第二個密鑰加密, 最后再用第一個密鑰解密[4]。
2.2 答卷和成績
學(xué)生的答題數(shù)據(jù)和教師的批改成績也屬于敏感數(shù)據(jù),若不加保護則可被輕易的篡改從而無法保證考試的公平與合法。加密后的答卷保存在數(shù)據(jù)庫中,閱卷時教師再解密成明文批閱,批閱后的成績同樣加密保存在數(shù)據(jù)庫中。加密算法仍選用3DES。
2.3 用戶信息
用戶的信息檔案涉及到個人信息和權(quán)限管理,尤其是管理員及教師的資料,這些數(shù)據(jù)都要加密處理。加密算法也選用3DES。
3 數(shù)字簽名
在考試系統(tǒng)中采用數(shù)字簽名技術(shù),主要是為防止惡意篡改考卷及成績并保證它們的合法性。一是要保證考生的答卷是合法的未經(jīng)篡改的有效答卷;二是要保證它經(jīng)過正常的考試過程,考生事后不可否認;三是要保證教師的批改成績是合法的未經(jīng)篡改的有效成績;四是要保證它經(jīng)過正常的批改過程,教師事后不可否認。
以學(xué)生數(shù)字簽名為例。簽名的內(nèi)容是答卷的信息摘要和考生信息。本系統(tǒng)采用DSA(Digital Signature Algorithm)。DSA同樣屬于公鑰密碼體系,是Schnorr和ElGamal簽名算法的變種,被美國NIST(美國國家標(biāo)準(zhǔn)局)作為數(shù)字簽名標(biāo)準(zhǔn)(Digital Signature Standard)。隨機種子和初始化參數(shù)的選取非常重要, 用戶根據(jù)自身的要求, 選擇隨機種子和初始化參數(shù), 可以增加算法的安全性[5]。
4 通信的安全性
為保證試卷等數(shù)據(jù)在傳輸過程中的安全,確保私有性和保密性,不會被可能使用網(wǎng)絡(luò)監(jiān)控軟件的竊聽者查看到,系統(tǒng)采用 SSL(Security Socket Layer)加密傳輸[6]。
SSL是一個用來保證文件安全傳輸?shù)膮f(xié)議,可以在服務(wù)器和客戶機之間建立一條安全通道,從而實現(xiàn)在Internet 中傳輸保密數(shù)據(jù)。在TCP 協(xié)議族中,SSL位于TCP 層之上、應(yīng)用層之下。這使它可以獨立于應(yīng)用層,從而使應(yīng)用層協(xié)議(諸如http)可以直接建立在SSL 上。SSL 協(xié)議由SSL記錄協(xié)議(SSL Record Protocol)和SSL握手協(xié)議(SSL Handshake Protocol)兩部分組成:SSL記錄協(xié)議建立在可靠的傳輸協(xié)議(如TCP)之上,為高層協(xié)議提供數(shù)據(jù)封裝、壓縮、加密等基本功能的支持;SSL握手協(xié)議建立在SSL記錄協(xié)議之上,用于在實際的數(shù)據(jù)傳輸開始前通信雙方進行身份認證(協(xié)商加密算法、交換加密密鑰等)。
SSL能實現(xiàn)數(shù)據(jù)的安全保密傳輸是指通過SSL傳輸?shù)臄?shù)據(jù)經(jīng)過服務(wù)器與客戶機的公開密鑰密碼體制加密而且密鑰是在傳輸開始時經(jīng)協(xié)商隨機產(chǎn)生的。這樣即使在傳輸過程中數(shù)據(jù)被非法竊取,第三方?jīng)]有解密密鑰也無法獲得傳輸?shù)脑紨?shù)據(jù)或篡改原始數(shù)據(jù)。
5 數(shù)據(jù)備份策略
定期進行數(shù)據(jù)備份是減少數(shù)據(jù)損失的有效手段,能讓數(shù)據(jù)庫在遭到破壞(惡意或者誤操作)后,及時恢復(fù)數(shù)據(jù)資源。
6 其他安全
(1) 屏蔽操作
在學(xué)生考試過程中,必須保證一定的操作安全性。有些操作可能是誤操作,有些可能是惡意的。學(xué)生的考試用機可能存儲與考試相關(guān)的資料,需要對一些快捷鍵、鼠標(biāo)鍵、菜單命令和USB接口進行屏蔽,避免學(xué)生獲取試題資料。同時,考試系統(tǒng)頁面在刷新時會重新生成新的試題,在實現(xiàn)時要加以避免,以免學(xué)生通過此方法多次生成試卷。
(2) 二次登陸
在考試中,可能某些考生因成績不理想而擅自再次登錄考試系統(tǒng)、再次做答,系統(tǒng)要記錄考生的考試狀態(tài),杜絕考生二次登陸。同時系統(tǒng)應(yīng)定期提取學(xué)生的答題情況并存放到服務(wù)器的數(shù)據(jù)庫中,以便在死機、誤操作、網(wǎng)絡(luò)故障等原因造成考試意外中斷時恢復(fù)到之前的狀態(tài)。
(3) 防火墻技術(shù)
防火墻是指設(shè)置在不同網(wǎng)絡(luò)(如可信任的企業(yè)內(nèi)部網(wǎng)和不可信的公共網(wǎng))或網(wǎng)絡(luò)安全域之間的一系列部件的組合。它是不同網(wǎng)絡(luò)或網(wǎng)絡(luò)安全域之間信息的唯一出入口,通過監(jiān)測、限制、更改跨越防火墻的數(shù)據(jù)流,盡可能地對外部屏蔽網(wǎng)絡(luò)內(nèi)部的信息、結(jié)構(gòu)和運行狀況,有選擇地接受外部訪問,對內(nèi)部強化設(shè)備監(jiān)管、控制對服務(wù)器與外部網(wǎng)絡(luò)的訪問,在被保護網(wǎng)絡(luò)和外部網(wǎng)絡(luò)之間架起一道屏障,以防止發(fā)生不可預(yù)測的、潛在的破壞性侵入。
本系統(tǒng)采用包過濾技術(shù),限定考試機允許進行的網(wǎng)絡(luò)訪問,并且對考試機的IP 地址進行限制,使得只有規(guī)定范圍內(nèi)的機器才可以進行考試。
由于網(wǎng)絡(luò)本身的原因,給在線考試的安全和管理帶來了潛在的威脅。本文針對在線考試系統(tǒng)數(shù)據(jù)安全性要求較高的特點,在系統(tǒng)中采用了多層次的安全技術(shù),提出了一套完整的安全策略,并以案例驗證了策略方法的可行性和有效性。
參考文獻
[1] 王海燕.關(guān)于網(wǎng)絡(luò)考試的安全性研究[J].赤峰學(xué)院學(xué)報(自然科學(xué)版), 2008,24(1):98-100.
[2] 孫占鋒.基于ASP.NET的網(wǎng)絡(luò)考考試系統(tǒng)的用戶權(quán)限設(shè)計與實現(xiàn)[J].電腦知識與技術(shù), 2007(11):794-795,797.
[3] 李美滿.網(wǎng)絡(luò)考試系統(tǒng)題庫與成績安全性研究[J].計算機應(yīng)用, 2005,25(S1):133-134,137.
[4] 汪瑩. 基于3DES加密算法的高校公共課程網(wǎng)絡(luò)考試系統(tǒng)題庫安全性研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2009(7):78-79.
[5] 顏晶晶, 康振華. DSA數(shù)字簽名技術(shù)及其在JAVA中的實現(xiàn)[J].中國現(xiàn)代教育裝備,2006(6):72-74.
[6] 張峰嶺. 基于Java2的身份認證數(shù)字簽名和SSL實現(xiàn)技術(shù)[J].現(xiàn)代計算機, 2002(4):27-31.