尹立君
(邢臺(tái)職業(yè)技術(shù)學(xué)院,河北 邢臺(tái) 054035)
伴隨信息技術(shù)的發(fā)展,計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用得到了全面普及,學(xué)校教學(xué)、教務(wù)管理、行政管理等內(nèi)容也一改傳統(tǒng)的模式,依賴計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,逐漸向系統(tǒng)化和自動(dòng)化過渡。基于JAVA的C/S模式的考試系統(tǒng),具有良好的開放性和跨平臺(tái)性。但是由于考試系統(tǒng)并發(fā)用戶較多,同時(shí)試題信息對(duì)安全性極其敏感,因此系統(tǒng)對(duì)速率和安全性能都有較高的要求。為了解決考試系統(tǒng)安全方面所涉及的問題,提出將密碼學(xué)應(yīng)用于考試系統(tǒng),建立安全模型。該模型可以確保試題信息的安全傳輸。
本考試系統(tǒng)是基于C/S運(yùn)行模式所開發(fā),由服務(wù)系統(tǒng)和用戶系統(tǒng)兩部分組成。服務(wù)系統(tǒng)和用戶系統(tǒng)均采用JAVA語言編寫,具有良好的跨平臺(tái)性。服務(wù)系統(tǒng)和用戶系統(tǒng)連接采用TCP/IP協(xié)議。系統(tǒng)基本結(jié)構(gòu)如圖1所示。
為了使本考試系統(tǒng)跨平臺(tái)性達(dá)到最佳,我們使用XML文件存儲(chǔ)系統(tǒng)配置信息。服務(wù)系統(tǒng)可以生成用戶系統(tǒng)的配置文件,并由管理員將其放在用戶系統(tǒng)中,同時(shí)應(yīng)用ACCESS數(shù)據(jù)庫作為臨時(shí)數(shù)據(jù)文件來存儲(chǔ)并傳輸由服務(wù)系統(tǒng)從數(shù)據(jù)庫中提取的試題信息。
圖1 系統(tǒng)基本結(jié)構(gòu)圖
在考試系統(tǒng)中,考試試題信息為安全性要求最高的數(shù)據(jù)信息。所以,希望應(yīng)用密碼學(xué)原理,完成試題數(shù)據(jù)的保密存儲(chǔ),并可以進(jìn)行安全的傳輸。該方法在此系統(tǒng)中將待加密的數(shù)據(jù)信息稱為明文,通過密碼學(xué)原理,利用密鑰與明文生成密文的過程稱為加密。反之,利用密鑰與密文生成明文的過程稱為解密。在對(duì)稱密碼體制中,加密與解密使用相同的密鑰,即秘密密鑰。由于通信雙方共享同一個(gè)密鑰,這就要求通信雙方必須在安全信道上傳輸并保存密鑰。因此,秘密密鑰的存在使得對(duì)稱密碼體制開放性變差。在非對(duì)稱密碼體制中,加密與解密分別使用不同密鑰,分為公鑰和私鑰。非對(duì)稱密碼體制使得發(fā)送者和接受者無需提前在安全信道上進(jìn)行密鑰傳輸,彌補(bǔ)了對(duì)稱密碼體制的缺陷。因?yàn)镴AVA平臺(tái)本身就提供用于安全和加密服務(wù)的API,而且無需進(jìn)行配置,所以我們直接使用其提供的類就可以實(shí)現(xiàn)加密算法。
在本考試系統(tǒng)中,若采用對(duì)稱密碼體制加密試題信息,由于加密與解密采用相同密鑰,便于用戶系統(tǒng)進(jìn)行解密操作。但是由于對(duì)稱密碼體制的弊端,即秘密密鑰的存在,使得在考試系統(tǒng)所處的網(wǎng)絡(luò)環(huán)境中無法找到安全信道,也就無法實(shí)現(xiàn)秘密密鑰的傳輸。若采用非對(duì)稱密碼體制加密考試試題,便可由用戶系統(tǒng)生成密鑰對(duì),將公鑰通過不安全信道傳輸給服務(wù)系統(tǒng),由服務(wù)系統(tǒng)進(jìn)行試題加密傳回客戶機(jī),再由客戶機(jī)利用私鑰解密試題文件。但是這將使服務(wù)器承受巨大壓力,服務(wù)系統(tǒng)需要接受每個(gè)客戶機(jī)傳來的不同的公鑰并對(duì)試題信息進(jìn)行加密,由于非對(duì)稱密碼體制的加密相率相當(dāng)于同等水平對(duì)稱密碼體制的100倍。隨著試題文件的增大,服務(wù)系統(tǒng)處理請(qǐng)求的時(shí)間將會(huì)急劇地增長(zhǎng),同時(shí)所消耗的系統(tǒng)資源也會(huì)成倍增加。
通過對(duì)兩種可能的密碼體制分別在本考試系統(tǒng)中的應(yīng)用所產(chǎn)生的效果所進(jìn)行分析,可以得出兩個(gè)結(jié)論:一是若想采用較為安全的非對(duì)稱密碼體制,必須保證服務(wù)器可以處理客戶機(jī)所請(qǐng)求的數(shù)據(jù)加密需求。一是若想采用對(duì)稱密碼體制,必須保證秘密密鑰可以在不安全信道上安全傳輸。在一定的硬件環(huán)境下,首先要做到的就是是否可以將系統(tǒng)至于安全信道之下進(jìn)行通信。
結(jié)合以上幾點(diǎn)信息,研究出適合于本考試系統(tǒng)的安全模型??荚囅到y(tǒng)安全模型,將整個(gè)考試分為三次信息傳遞。在此稱現(xiàn)實(shí)中通過存儲(chǔ)介質(zhì),如U盤、硬盤等設(shè)備進(jìn)行的傳輸稱為在物理信道上傳輸,由于其不可預(yù)測(cè)性也認(rèn)為是不安全信道。
第一次傳遞。在開始考試之前,我們利用對(duì)稱密碼體制中的典型加密算法AES對(duì)試題信息進(jìn)行加密,加密后的試題信息由管理員通過不安全信道,如網(wǎng)絡(luò)或物理信道,在考試之前放置在用戶系統(tǒng)中。根據(jù)保密通信模型可知,通過對(duì)稱密碼體制加密得到的考試試題信息在一定時(shí)間內(nèi),放置在客戶機(jī)上或者在物理介質(zhì)上進(jìn)行傳輸是安全的。本考試系統(tǒng)采用128位AES算法加密,可以得出,除極端情況外,考試結(jié)束前加密試題文件是安全可靠的。
第二次傳遞。當(dāng)考試開始時(shí),考生通過用戶系統(tǒng)登錄界面登錄考試系統(tǒng),用戶系統(tǒng)會(huì)發(fā)送考生信息供服務(wù)系統(tǒng)確認(rèn)。于此同時(shí),用戶系統(tǒng)利用非對(duì)稱密碼體制中的典型加密算法RSA構(gòu)造密鑰對(duì),并將密鑰對(duì)中的公鑰并通過不安全信道發(fā)送給服務(wù)系統(tǒng)。
第三次傳遞。服務(wù)系統(tǒng)在收到由用戶系統(tǒng)發(fā)送的公鑰后,利用RSA算法中的公鑰加密—私鑰解密算法,對(duì)128位AES算法密鑰,即秘密密鑰進(jìn)行加密。將加密后的密文信息通過不安全信道傳輸給用戶系統(tǒng)。用戶系統(tǒng)在接收到通過公鑰加密—私鑰解密算法加密的秘密密鑰后,利用私鑰對(duì)密文信息進(jìn)行解密,解密之后的信息就是128位AES算法密鑰。由此通信雙方均安全獲得秘密密鑰。
本考試系統(tǒng)所采用的安全模型,利用對(duì)稱密碼體制的優(yōu)點(diǎn),即加密效率高,將其作為試題加密的算法來使用。同時(shí),為了避免對(duì)稱密碼體制的缺點(diǎn),即秘密密鑰,安全模型利用非對(duì)稱密碼體制算法中加密密鑰和解密密鑰不同的特點(diǎn),保證秘密密鑰的順利傳輸。同時(shí)由于采用128位AES算法加密,秘密密鑰的長(zhǎng)度只有128位,大大縮短了非對(duì)稱密碼體制算法加密所需要的時(shí)間,大大提高了服務(wù)器處理請(qǐng)求的效率。
本考試系統(tǒng)安全模型的核心在于,將需要進(jìn)行特殊安全保護(hù)的數(shù)據(jù)量較大的考試試題轉(zhuǎn)變?yōu)閿?shù)據(jù)量較小的秘密密鑰。在本系統(tǒng)中,只要保證秘密密鑰的安全可靠,即可保證考試試題的安全可靠。這樣的變換使得系統(tǒng)中的重點(diǎn)由數(shù)據(jù)加密效率向數(shù)據(jù)安全傳輸?shù)霓D(zhuǎn)換。而非對(duì)稱密碼體制正是解決數(shù)據(jù)安全傳輸?shù)姆绞健Mㄟ^減少傳輸數(shù)據(jù)量來提高數(shù)據(jù)安全傳輸?shù)男?,以此來提高整個(gè)系統(tǒng)的效率。
[1]徐全生,齊祥玲.數(shù)據(jù)庫連接池在考試系統(tǒng)中的應(yīng)用[J].沈陽工業(yè)大學(xué)學(xué)報(bào),2007(5):583-584.
[2]謝兆平.基于Internet考試系統(tǒng)的數(shù)據(jù)加密傳輸研究[D].華南理工大學(xué),2004.
[3]趙敏高,高建良.基于公鑰密碼體制的網(wǎng)絡(luò)考試安全模型研究[J].計(jì)算機(jī)應(yīng)用,2005(25):112-115.
[4]蕭倩嫻.基于網(wǎng)絡(luò)的考試系統(tǒng)數(shù)據(jù)加密技術(shù)的研究[D].華中科技大學(xué),2006.
[5]李琪.基于C/S模式的計(jì)算機(jī)等級(jí)考試上機(jī)考試系統(tǒng)[J].重慶大學(xué)學(xué)報(bào),2004(7):143-145.
太原城市職業(yè)技術(shù)學(xué)院學(xué)報(bào)2014年12期