?

在線考試系統的安全性研究

2013-03-19 06:45
網絡安全與數據管理 2013年4期
關鍵詞:數字簽名加密算法密鑰

王 琦

(1.南京工程學院 計算機工程系,江蘇 南京 211167;2.南京大學 計算機系,江蘇 南京210046)

目前,基于網絡的在線考試系統己經成為現代考試方式的有力補充和發展。相對于傳統的筆試,網絡在線考試不僅減輕了在組織考試、評卷、成績統計等方面所花費的人力和物力,而且突破了時間與空間的限制,節省了資源,提高了評分的客觀性、公正性和準確度,大大改善了考試工作的效率[1]。

由于Web自身存在的安全性問題,給在線考試的安全和管理帶來了潛在的威脅。本文針對基于Web環境的在線考試系統進行研究,提出了一套完整的在線考試系統安全設計方案。

針對在線考試系統數據安全性要求較高的特點,在系統中采用了多層次的安全技術來保證考試的安全。

1 訪問控制

網絡考試系統的數據庫服務器采用SQL Server 2005,后臺包含了與考試相關的各種數據,包括用戶信息、試題信息、組卷方案信息、成績信息等。除了采用SQL Server與Windows相結合的方式登錄數據庫服務器來實現安全性的身份驗證方式以外,還根據不同類別用戶的功能確定不同的操作對象和操作級別,從源頭保證數據操作的安全。通過建立角色,將訪問許可集中授予角色,之后將需要擁有這一許可的用戶加到角色中,這些用戶即繼承角色的訪問許可。需要撤銷用戶的訪問許可時,將用戶從角色中刪除即可[2]。

2 數據加密

2.1 試題庫

試題數據以可讀的形式存儲在數據庫中,高明的入侵者可以采用某種方式進入考試系統竊取或篡改數據。為了防止泄密,試題庫需要加密存儲。用戶編輯輸入完試題后,將其加密存儲到數據庫中,需要更新及查詢時,先解密成明文再進行相應操作[3]。

由于非對稱加密算法的運行速度比對稱加密算法的速度慢很多,當需要加密大量的數據時,建議采用對稱加密算法,以提高加解密速度。本系統采用3DES(3 Data Encryption Standard)加密,密鑰空間為 2112,即用兩個密鑰對一個分組進行3次DES加密,先用第一個密鑰加密,然后用第二個密鑰解密,最后再用第一個密鑰加密;解密時,首先用第一個密鑰解密,然后用第二個密鑰加密,最后再用第一個密鑰解密[4]。

2.2 答卷和成績

學生的答題數據和教師的批改成績也屬于敏感數據,若不加保護則可被輕易的篡改從而無法保證考試的公平與合法。加密后的答卷保存在數據庫中,閱卷時教師再解密成明文批閱,批閱后的成績同樣加密保存在數據庫中。加密算法仍選用3DES。

2.3 用戶信息

用戶的信息檔案涉及到個人信息和權限管理,尤其是管理員及教師的資料,這些數據都要加密處理。加密算法也選用3DES。

3 數字簽名

在考試系統中采用數字簽名技術,主要是為防止惡意篡改考卷及成績并保證它們的合法性。一是要保證考生的答卷是合法的未經篡改的有效答卷;二是要保證它經過正常的考試過程,考生事后不可否認;三是要保證教師的批改成績是合法的未經篡改的有效成績;四是要保證它經過正常的批改過程,教師事后不可否認。

以學生數字簽名為例。簽名的內容是答卷的信息摘要和考生信息。本系統采用DSA(Digital Signature Algorithm)。DSA同樣屬于公鑰密碼體系,是Schnorr和ElGamal簽名算法的變種,被美國NIST(美國國家標準局)作為數字簽名標準(Digital Signature Standard)。隨機種子和初始化參數的選取非常重要,用戶根據自身的要求,選擇隨機種子和初始化參數,可以增加算法的安全性[5]。

4 通信的安全性

為保證試卷等數據在傳輸過程中的安全,確保私有性和保密性,不會被可能使用網絡監控軟件的竊聽者查看到,系統采用 SSL(Security Socket Layer)加密傳輸[6]。

SSL是一個用來保證文件安全傳輸的協議,可以在服務器和客戶機之間建立一條安全通道,從而實現在Internet中傳輸保密數據。在TCP協議族中,SSL位于TCP層之上、應用層之下。這使它可以獨立于應用層,從而使應用層協議(諸如http)可以直接建立在SSL上。SSL協議由SSL記錄協議(SSL Record Protocol)和SSL握手協議(SSL Handshake Protocol)兩部分組成:SSL記錄協議建立在可靠的傳輸協議(如TCP)之上,為高層協議提供數據封裝、壓縮、加密等基本功能的支持;SSL握手協議建立在SSL記錄協議之上,用于在實際的數據傳輸開始前通信雙方進行身份認證(協商加密算法、交換加密密鑰等)。

SSL能實現數據的安全保密傳輸是指通過SSL傳輸的數據經過服務器與客戶機的公開密鑰密碼體制加密而且密鑰是在傳輸開始時經協商隨機產生的。這樣即使在傳輸過程中數據被非法竊取,第三方沒有解密密鑰也無法獲得傳輸的原始數據或篡改原始數據。

5 數據備份策略

定期進行數據備份是減少數據損失的有效手段,能讓數據庫在遭到破壞(惡意或者誤操作)后,及時恢復數據資源。

6 其他安全

(1)屏蔽操作

在學生考試過程中,必須保證一定的操作安全性。有些操作可能是誤操作,有些可能是惡意的。學生的考試用機可能存儲與考試相關的資料,需要對一些快捷鍵、鼠標鍵、菜單命令和USB接口進行屏蔽,避免學生獲取試題資料。同時,考試系統頁面在刷新時會重新生成新的試題,在實現時要加以避免,以免學生通過此方法多次生成試卷。

(2)二次登陸

在考試中,可能某些考生因成績不理想而擅自再次登錄考試系統、再次做答,系統要記錄考生的考試狀態,杜絕考生二次登陸。同時系統應定期提取學生的答題情況并存放到服務器的數據庫中,以便在死機、誤操作、網絡故障等原因造成考試意外中斷時恢復到之前的狀態。

(3)防火墻技術

防火墻是指設置在不同網絡(如可信任的企業內部網和不可信的公共網)或網絡安全域之間的一系列部件的組合。它是不同網絡或網絡安全域之間信息的唯一出入口,通過監測、限制、更改跨越防火墻的數據流,盡可能地對外部屏蔽網絡內部的信息、結構和運行狀況,有選擇地接受外部訪問,對內部強化設備監管、控制對服務器與外部網絡的訪問,在被保護網絡和外部網絡之間架起一道屏障,以防止發生不可預測的、潛在的破壞性侵入。

本系統采用包過濾技術,限定考試機允許進行的網絡訪問,并且對考試機的IP地址進行限制,使得只有規定范圍內的機器才可以進行考試。

由于網絡本身的原因,給在線考試的安全和管理帶來了潛在的威脅。本文針對在線考試系統數據安全性要求較高的特點,在系統中采用了多層次的安全技術,提出了一套完整的安全策略,并以案例驗證了策略方法的可行性和有效性。

[1]王海燕.關于網絡考試的安全性研究[J].赤峰學院學報(自然科學版),2008,24(1):98-100.

[2]孫占鋒.基于ASP.NET的網絡考考試系統的用戶權限設計與實現[J].電腦知識與技術,2007(11):794-795,797.

[3]李美滿.網絡考試系統題庫與成績安全性研究[J].計算機應用,2005,25(S1):133-134,137.

[4]汪瑩.基于3DES加密算法的高校公共課程網絡考試系統題庫安全性研究[J].網絡安全技術與應用,2009(7):78-79.

[5]顏晶晶,康振華.DSA數字簽名技術及其在JAVA中的實現[J].中國現代教育裝備,2006(6):72-74.

[6]張峰嶺.基于Java2的身份認證數字簽名和SSL實現技術[J].現代計算機,2002(4):27-31.

猜你喜歡
數字簽名加密算法密鑰
幻中邂逅之金色密鑰
密碼系統中密鑰的狀態與保護*
淺析計算機安全防護中數字簽名技術的應用
TPM 2.0密鑰遷移協議研究
一種對稱密鑰的密鑰管理方法及系統
混沌參數調制下RSA數據加密算法研究
基于數字簽名的QR碼水印認證系統
HES:一種更小公鑰的同態加密算法
數字簽名簡述
基于小波變換和混沌映射的圖像加密算法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合