

摘要:隨著網絡考試的發展,防范作弊、保證考試結果的公平性成為需要認真研究的問題。本文提出的網絡考試防作弊系統主要使用監控代理和數字隱藏技術,從技術上防范了考生的作弊行為,促進了網絡考試沿著良好的方向發展。
關鍵詞:網絡考試;防作弊;安全
1研究背景
隨著計算機網絡特別是互聯網技術的發展,網絡考試已逐漸成為傳統考試的有效補充。它高效、靈活、適應性強,可以提供一種全新的、開放的考試模式,滿足各類課程考試的需要。這種快速高效的網絡考試系統需要以考試數據的安全和系統穩定運行為保障,要求考試系統要有足夠的安全性,防止出現網絡欺騙、網上作弊甚至蓄意破壞考試系統等行為。
目前,國內對于考試系統安全性的關注主要側重在系統本身的安全,如訪問控制模塊的設計、系統的安全風險防范和數據庫加密策略[1-6]等,一般可以通過及時更新安全補丁,進行安全設置等降低此類風險。為更好地確保考試的公平性和公正性,網絡考試系統的安全研究仍需要側重于防范考試作弊。
文獻[5]提出的防作弊策略是通過試卷變換和訪問控制的權限設計加大考生作弊的難度,并不能有效防范作弊行為。另外,一些商業軟件,如網路崗等,由于部署在網絡邊界,因此只能監測控制客戶發往局域網外部的數據包,并不能有效控制學生在局域網內部作弊的行為。本文所提出的防作弊系統采用C/S架構,一方面通過限制考生行為防止作弊,另一方面使用數字隱藏與加密技術,確保了考生試卷答案的一致性、完整性和可鑒別性。
2系統模型及功能設計
本系統獨立于特定的網絡考試系統,采用Client/Server工作模式,其中Client端需運行于每臺考試機,Server端為考試服務器,負責試卷分發、答案收取、考生信息維護等。系統模型如圖1所示。
2.1客戶端功能設計
考試過程可以分為考試前、考試中和考試后三個階段,相應地,客戶端在每個階段的任務也是不一樣的。
(1) 考試前。非考試時,客戶端處于空閑狀態,只有接受到服務端的命令后,才會轉化為活動狀態。為了防止某些惡意分子假冒服務端,服務端與客戶端之間采用數字簽名機制聯系。驗證服務端完成后,客戶端對考試環境進行限制,如關閉移動存儲介質的使用,限制使用控制面板、限制修改注冊表信息等。之后,考生填入個人信息,客戶端向服務端注冊考生信息,包括考生考號、目前機器的IP地址,開始進入考試階段。
(2) 考試中。客戶端接受服務端發送的考生試卷,建立考生文件夾,并將考生的訪問限制于該文件夾。同時啟動監控代理功能,可以控制考生局域網內部作弊行為的發生。
(3) 考試后。當考試結束后,考生須通過客戶端向服務端提交試卷。為了保證試卷的完整性、一致性,客戶端對所提交的試卷進行加密。
2.2服務端功能設計
(1) 服務端與客戶端連接,使客戶端由空閑狀態進入考試前狀態。在連接過程中,服務端與客戶端的通信需采用數字簽名機制,以防產生服務端欺騙。
(2) 服務端向考試系統取得試卷。
(3) 服務端收取考生的注冊信息,包括考生ID、考試機IP地址、考試時間等,同時利用上述信息產生唯一序列。
(4) 將(3)中產生的序列隱寫于每份試卷,向客戶端發布試卷。
(5) 考試結束后收取試卷,驗證試卷中所隱藏的信息是否與原始序列一致,如果不一致,則說明考生在考試過程中可能發生異常行為,記錄該異常,按照相關策略進行處理。
(6) 向考試系統提交試卷。
3系統設計的關鍵技術
3.1監控代理技術
系統使用Socket編程實現監控代理的功能,它運行于每個客戶端,攔截用戶的網絡操作,一方面以IP地址為過濾對象,只允許與服務端或指定目標進行連接,另一方面根據客戶端的網絡行為進行過濾,只提供特定的網絡服務,能夠較好地預防考生在局域網內部的作弊行為,如圖2所示。
關鍵代碼如下:
struct hostent *host_ip;
host_ip=gethostbyname(addr);
if(host_ip!==NULL){
int stat=0;
stat=memicmp(AllowIp,host_ip->h_addr_list[0],15);
//AllowIp is the ip address of the server
if(!stat){
(1)parse the packet header of application layer
(2)if the application protocol is permitted, transmit the request data, otherwise didn't transimit the request and handle the case.
}
else didn't transimit the request and handle the case.
}
3.2文本數字水印技術
數字水印是實現版權保護的有效辦法,原理是在原始數據中嵌入秘密信息——水印,被嵌入的水印可以是一段文字、標識、序列號等,通常是不可見或不可察的,它與原始數據緊密結合并隱藏其中,用以證實該數據的所有權,跟蹤侵權行為。
本系統將考生考號作為水印信息嵌入并隱藏到Word格式試卷的末尾,主要使用VBA編程實現。當考生提交試卷后,系統檢測水印,如果與嵌入的水印相同,則試卷結果為該考生所有,否則,發生作弊行為。
3.3數字簽名技術
數字簽名采用一種數據交換協議,使收發雙方能夠滿足兩個條件:接收方能夠鑒別發送方所宣稱的身份;發送方以后不能否認發送過數據這一事實。
在本系統中,數字簽名主要用于服務端與客戶端之間的身份認證,防范了假冒服務端欺騙行為的發生。
4結束語
在研究目前考試系統的基礎上,筆者著重從防作弊方面設計了考試系統的安全模型,它綜合使用了網絡監控技術、數字隱藏技術與加密技術,對防止考生作弊行為的發生將起到重要作用。
但是,本設計采用的文本數字水印技術仍比較簡單,容易受到攻擊。因此研究魯棒性更強、更安全的、適用于本系統的文本水印算法是我們的后續工作之一。除此之外,我們將繼續優化算法、整合系統,以提高系統的工作效率,滿足實際應用的需要。
參考文獻:
[1] 張萍,王建忠,佘堃,等. 免疫網絡安全考試系統[J]. 計算機應用研究,2007,24(8):162-164.
[2] 張春暉. 網絡考試系統的數據安全性分析與設計[J]. 軟件導刊,2008,7(9):175-177.
[3] 李美滿. 網絡考試系統題庫與成績安全性研究[J]. 計算機應用,2005(25):133-134.
[4] 劉陽,曹寶香. 基于J2EE考試系統的設計與實現[J]. 計算機工程與設計,2007,28(4):990-992.
[5] 王育勤,朱衛東,陳楚湘,等. 基于.NET的考試平臺管理系統的設計與實現[J]. 計算機工程與設計,2007,28(10): 2475-2477.
[6] 陳振中,姚世軍,吳之鐵,等. 基于Web的網絡考試系統防作弊安全策略[J]. 信息工程大學學報,2008,9(2):246-249.
Research and Design of the Security of Network Examination System
XU Qiao-zhi, LIU Dong-sheng
(College of Computer and Information, Inner Mongolia Normal University, Hohhot 010022, China)
Abstract: With the development of the network examination, it is a important question to preventing from cheating. It’s introduced a system, which can control the student’s behavior and promote the development of network examination in the paper.
Key words: network examination; cheating; security
(編輯:張玥)