摘要:隨著網(wǎng)絡(luò)考試的發(fā)展,防范作弊、保證考試結(jié)果的公平性成為需要認(rèn)真研究的問(wèn)題。本文提出的網(wǎng)絡(luò)考試防作弊系統(tǒng)主要使用監(jiān)控代理和數(shù)字隱藏技術(shù),從技術(shù)上防范了考生的作弊行為,促進(jìn)了網(wǎng)絡(luò)考試沿著良好的方向發(fā)展。
關(guān)鍵詞:網(wǎng)絡(luò)考試;防作弊;安全
1研究背景
隨著計(jì)算機(jī)網(wǎng)絡(luò)特別是互聯(lián)網(wǎng)技術(shù)的發(fā)展,網(wǎng)絡(luò)考試已逐漸成為傳統(tǒng)考試的有效補(bǔ)充。它高效、靈活、適應(yīng)性強(qiáng),可以提供一種全新的、開(kāi)放的考試模式,滿(mǎn)足各類(lèi)課程考試的需要。這種快速高效的網(wǎng)絡(luò)考試系統(tǒng)需要以考試數(shù)據(jù)的安全和系統(tǒng)穩(wěn)定運(yùn)行為保障,要求考試系統(tǒng)要有足夠的安全性,防止出現(xiàn)網(wǎng)絡(luò)欺騙、網(wǎng)上作弊甚至蓄意破壞考試系統(tǒng)等行為。
目前,國(guó)內(nèi)對(duì)于考試系統(tǒng)安全性的關(guān)注主要側(cè)重在系統(tǒng)本身的安全,如訪問(wèn)控制模塊的設(shè)計(jì)、系統(tǒng)的安全風(fēng)險(xiǎn)防范和數(shù)據(jù)庫(kù)加密策略[1-6]等,一般可以通過(guò)及時(shí)更新安全補(bǔ)丁,進(jìn)行安全設(shè)置等降低此類(lèi)風(fēng)險(xiǎn)。為更好地確保考試的公平性和公正性,網(wǎng)絡(luò)考試系統(tǒng)的安全研究仍需要側(cè)重于防范考試作弊。
文獻(xiàn)[5]提出的防作弊策略是通過(guò)試卷變換和訪問(wèn)控制的權(quán)限設(shè)計(jì)加大考生作弊的難度,并不能有效防范作弊行為。另外,一些商業(yè)軟件,如網(wǎng)路崗等,由于部署在網(wǎng)絡(luò)邊界,因此只能監(jiān)測(cè)控制客戶(hù)發(fā)往局域網(wǎng)外部的數(shù)據(jù)包,并不能有效控制學(xué)生在局域網(wǎng)內(nèi)部作弊的行為。本文所提出的防作弊系統(tǒng)采用C/S架構(gòu),一方面通過(guò)限制考生行為防止作弊,另一方面使用數(shù)字隱藏與加密技術(shù),確保了考生試卷答案的一致性、完整性和可鑒別性。
2系統(tǒng)模型及功能設(shè)計(jì)
本系統(tǒng)獨(dú)立于特定的網(wǎng)絡(luò)考試系統(tǒng),采用Client/Server工作模式,其中Client端需運(yùn)行于每臺(tái)考試機(jī),Server端為考試服務(wù)器,負(fù)責(zé)試卷分發(fā)、答案收取、考生信息維護(hù)等。系統(tǒng)模型如圖1所示。
2.1客戶(hù)端功能設(shè)計(jì)
考試過(guò)程可以分為考試前、考試中和考試后三個(gè)階段,相應(yīng)地,客戶(hù)端在每個(gè)階段的任務(wù)也是不一樣的。
(1) 考試前。非考試時(shí),客戶(hù)端處于空閑狀態(tài),只有接受到服務(wù)端的命令后,才會(huì)轉(zhuǎn)化為活動(dòng)狀態(tài)。為了防止某些惡意分子假冒服務(wù)端,服務(wù)端與客戶(hù)端之間采用數(shù)字簽名機(jī)制聯(lián)系。驗(yàn)證服務(wù)端完成后,客戶(hù)端對(duì)考試環(huán)境進(jìn)行限制,如關(guān)閉移動(dòng)存儲(chǔ)介質(zhì)的使用,限制使用控制面板、限制修改注冊(cè)表信息等。之后,考生填入個(gè)人信息,客戶(hù)端向服務(wù)端注冊(cè)考生信息,包括考生考號(hào)、目前機(jī)器的IP地址,開(kāi)始進(jìn)入考試階段。
(2) 考試中??蛻?hù)端接受服務(wù)端發(fā)送的考生試卷,建立考生文件夾,并將考生的訪問(wèn)限制于該文件夾。同時(shí)啟動(dòng)監(jiān)控代理功能,可以控制考生局域網(wǎng)內(nèi)部作弊行為的發(fā)生。
(3) 考試后。當(dāng)考試結(jié)束后,考生須通過(guò)客戶(hù)端向服務(wù)端提交試卷。為了保證試卷的完整性、一致性,客戶(hù)端對(duì)所提交的試卷進(jìn)行加密。
2.2服務(wù)端功能設(shè)計(jì)
(1) 服務(wù)端與客戶(hù)端連接,使客戶(hù)端由空閑狀態(tài)進(jìn)入考試前狀態(tài)。在連接過(guò)程中,服務(wù)端與客戶(hù)端的通信需采用數(shù)字簽名機(jī)制,以防產(chǎn)生服務(wù)端欺騙。
(2) 服務(wù)端向考試系統(tǒng)取得試卷。
(3) 服務(wù)端收取考生的注冊(cè)信息,包括考生ID、考試機(jī)IP地址、考試時(shí)間等,同時(shí)利用上述信息產(chǎn)生唯一序列。
(4) 將(3)中產(chǎn)生的序列隱寫(xiě)于每份試卷,向客戶(hù)端發(fā)布試卷。
(5) 考試結(jié)束后收取試卷,驗(yàn)證試卷中所隱藏的信息是否與原始序列一致,如果不一致,則說(shuō)明考生在考試過(guò)程中可能發(fā)生異常行為,記錄該異常,按照相關(guān)策略進(jìn)行處理。
(6) 向考試系統(tǒng)提交試卷。
3系統(tǒng)設(shè)計(jì)的關(guān)鍵技術(shù)
3.1監(jiān)控代理技術(shù)
系統(tǒng)使用Socket編程實(shí)現(xiàn)監(jiān)控代理的功能,它運(yùn)行于每個(gè)客戶(hù)端,攔截用戶(hù)的網(wǎng)絡(luò)操作,一方面以IP地址為過(guò)濾對(duì)象,只允許與服務(wù)端或指定目標(biāo)進(jìn)行連接,另一方面根據(jù)客戶(hù)端的網(wǎng)絡(luò)行為進(jìn)行過(guò)濾,只提供特定的網(wǎng)絡(luò)服務(wù),能夠較好地預(yù)防考生在局域網(wǎng)內(nèi)部的作弊行為,如圖2所示。
關(guān)鍵代碼如下:
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文本數(shù)字水印技術(shù)
數(shù)字水印是實(shí)現(xiàn)版權(quán)保護(hù)的有效辦法,原理是在原始數(shù)據(jù)中嵌入秘密信息——水印,被嵌入的水印可以是一段文字、標(biāo)識(shí)、序列號(hào)等,通常是不可見(jiàn)或不可察的,它與原始數(shù)據(jù)緊密結(jié)合并隱藏其中,用以證實(shí)該數(shù)據(jù)的所有權(quán),跟蹤侵權(quán)行為。
本系統(tǒng)將考生考號(hào)作為水印信息嵌入并隱藏到Word格式試卷的末尾,主要使用VBA編程實(shí)現(xiàn)。當(dāng)考生提交試卷后,系統(tǒng)檢測(cè)水印,如果與嵌入的水印相同,則試卷結(jié)果為該考生所有,否則,發(fā)生作弊行為。
3.3數(shù)字簽名技術(shù)
數(shù)字簽名采用一種數(shù)據(jù)交換協(xié)議,使收發(fā)雙方能夠滿(mǎn)足兩個(gè)條件:接收方能夠鑒別發(fā)送方所宣稱(chēng)的身份;發(fā)送方以后不能否認(rèn)發(fā)送過(guò)數(shù)據(jù)這一事實(shí)。
在本系統(tǒng)中,數(shù)字簽名主要用于服務(wù)端與客戶(hù)端之間的身份認(rèn)證,防范了假冒服務(wù)端欺騙行為的發(fā)生。
4結(jié)束語(yǔ)
在研究目前考試系統(tǒng)的基礎(chǔ)上,筆者著重從防作弊方面設(shè)計(jì)了考試系統(tǒng)的安全模型,它綜合使用了網(wǎng)絡(luò)監(jiān)控技術(shù)、數(shù)字隱藏技術(shù)與加密技術(shù),對(duì)防止考生作弊行為的發(fā)生將起到重要作用。
但是,本設(shè)計(jì)采用的文本數(shù)字水印技術(shù)仍比較簡(jiǎn)單,容易受到攻擊。因此研究魯棒性更強(qiáng)、更安全的、適用于本系統(tǒng)的文本水印算法是我們的后續(xù)工作之一。除此之外,我們將繼續(xù)優(yōu)化算法、整合系統(tǒng),以提高系統(tǒng)的工作效率,滿(mǎn)足實(shí)際應(yīng)用的需要。
參考文獻(xiàn):
[1] 張萍,王建忠,佘堃,等. 免疫網(wǎng)絡(luò)安全考試系統(tǒng)[J]. 計(jì)算機(jī)應(yīng)用研究,2007,24(8):162-164.
[2] 張春暉. 網(wǎng)絡(luò)考試系統(tǒng)的數(shù)據(jù)安全性分析與設(shè)計(jì)[J]. 軟件導(dǎo)刊,2008,7(9):175-177.
[3] 李美滿(mǎn). 網(wǎng)絡(luò)考試系統(tǒng)題庫(kù)與成績(jī)安全性研究[J]. 計(jì)算機(jī)應(yīng)用,2005(25):133-134.
[4] 劉陽(yáng),曹寶香. 基于J2EE考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程與設(shè)計(jì),2007,28(4):990-992.
[5] 王育勤,朱衛(wèi)東,陳楚湘,等. 基于.NET的考試平臺(tái)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程與設(shè)計(jì),2007,28(10): 2475-2477.
[6] 陳振中,姚世軍,吳之鐵,等. 基于Web的網(wǎng)絡(luò)考試系統(tǒng)防作弊安全策略[J]. 信息工程大學(xué)學(xué)報(bào),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
(編輯:張玥)