C/S模式的考試系統(tǒng)中加密傳輸?shù)膽?/h1>
由于考試系統(tǒng)并發(fā)用戶較多,同時試題信息對安全性極其敏感,因此系統(tǒng)對速率和安全性能都有較高的要求。為了解決考試系統(tǒng)安全方面所涉及的問題,我們提出了一種將加密傳輸應用于C/S模式的考試系統(tǒng)中的方法。
一、考試系統(tǒng)的基本結構及主要模塊設計
本考試系統(tǒng)是基于C/S運行模式所開發(fā),由服務系統(tǒng)和用戶系統(tǒng)兩部分組成。服務系統(tǒng)和用戶系統(tǒng)均采用JAVA語言編寫,具有良好的跨平臺性。服務系統(tǒng)和用戶系統(tǒng)連接采用TCP/IP協(xié)議。系統(tǒng)基本結構如圖1所示。
為了使本考試系統(tǒng)跨平臺性達到最佳,我們使用XML文件存儲系統(tǒng)配置信息。服務系統(tǒng)可以生成用戶系統(tǒng)的配置文件,并由管理員將其放在用戶系統(tǒng)中,同時應用ACCESS數(shù)據(jù)庫作為臨時數(shù)據(jù)文件來存儲并傳輸由服務系統(tǒng)從數(shù)據(jù)庫中提取的試題信息。
二、C/S模式的考試系統(tǒng)中加密傳輸?shù)膽?/strong>
1、技術簡介
在考試系統(tǒng)中,考試試題信息為安全性要求最高的數(shù)據(jù)信息。所以,希望應用密碼學原理,完成試題數(shù)據(jù)的保密存儲,并可以進行安全的傳輸。該方法在此系統(tǒng)中將待加密的數(shù)據(jù)信息稱為明文,通過密碼學原理,利用密鑰與明文生成密文的過程稱為加密。反之,利用密鑰與密文生成明文的過程稱為解密。在對稱密碼體制中,加密與解密使用相同的密鑰,即秘密密鑰。由于通信雙方共享同一個密鑰,這就要求通信雙方必須在安全信道上傳輸并保存密鑰。因此,秘密密鑰的存在使得對稱密碼體制開放性變差。在非對稱密碼體制中,加密與解密分別使用不同密鑰,分為公鑰和私鑰。非對稱密碼體制使得發(fā)送者和接受者無需提前在安全信道上進行密鑰傳輸,彌補了對稱密碼體制的缺陷。因為JAVA平臺本身就提供用于安全和加密服務的API,而且無需進行配置,所以我們直接使用其提供的類就可以實現(xiàn)加密算法。
2、安全性分析
在本考試系統(tǒng)中,若采用對稱密碼體制加密試題信息,由于加密與解密采用相同密鑰,便于用戶系統(tǒng)進行解密操作。但是由于對稱密碼體制的弊端,即秘密密鑰的存在,使得在考試系統(tǒng)所處的網(wǎng)絡環(huán)境中無法找到安
全信道i也就無法實現(xiàn)秘密密鑰的傳輸。若采用非對稱密碼體制加密考試試題,便可由用戶系統(tǒng)生成密鑰對,將公鑰通過不安全信道傳輸給服務系統(tǒng),由服務系統(tǒng)進行試題加密傳回客戶機,再由客戶機利用私鑰解密試題文件。但是這將使服務器承受巨大壓力,服務系統(tǒng)需要接受每個客戶機傳來的不同的公鑰并對試題信息進行加密,由于非對稱密碼體制的加密相率相當于同等水平對稱密碼體制的100倍。隨著試題文件的增大,服務系統(tǒng)處理請求的時間將會急劇地增長,同時所消耗的系統(tǒng)資源也會成倍增加。
3、設計與實現(xiàn)
通過對兩種可能的密碼體制分別在本考試系統(tǒng)中的應用所產(chǎn)生的效果所進行分析,可以得出兩個結論:一是若想采用較為安全的非對稱密碼體制,必須保證服務器可以處理客戶機所請求的數(shù)據(jù)加密需求。一是若想采用對稱密碼體制,必須保證秘密密鑰可以在不安全信道上安全傳輸。在一定的硬件環(huán)境下,首先要做到的就是是否可以將系統(tǒng)至于安全信道之下進行通信。
結合以上幾點信息,研究出適合于本考試系統(tǒng)的安全模型??荚囅到y(tǒng)安全模型,將整個考試分為三次信息傳遞。在此稱現(xiàn)實中通過存儲介質(zhì),如U盤、硬盤等設備進行的傳輸稱為在物理信道上傳輸,由于其不可預測性也認為是不安全信道。
第一次傳遞。在開始考試之前,我們利用對稱密碼體制中的典型加密算法AES對試題信息進行加密,加密后的試題信息由管理員通過不安全信道,如網(wǎng)絡或物理信道,在考試之前放置在用戶系統(tǒng)中。根據(jù)保密通信模型可知,通過對稱密碼體制加密得到的考試試題信息在一定時間內(nèi),放置在客戶機上或者在物理介質(zhì)上進行傳輸是安全的。本考試系統(tǒng)采用128位AES算法加密,可以得出,除極端情況外,考試結束前加密試題文件是安全可靠的。
第二次傳遞。當考試開始時,考生通過用戶系統(tǒng)登錄界面登錄考試系統(tǒng),用戶系統(tǒng)會發(fā)送考生信息供服務系統(tǒng)確認。于此同時,用戶系統(tǒng)利用非對稱密碼體制中的典型加密算法RSA構造密鑰對,并將密鑰對中的公鑰并通過不安全信道發(fā)送給服務系統(tǒng)。
第三次傳遞。服務系統(tǒng)在收到由用戶系統(tǒng)發(fā)送的公鑰后,利用RSA算法中的公鑰加密—私鑰解密算法,對128位AES算法密鑰,即秘密密鑰進行加密。將加密后的密文信息通過不安全信道傳輸給用戶系統(tǒng)。用戶系統(tǒng)在接收到通過公鑰加密—私鑰解密算法加密的秘密密鑰后,利用私鑰對密文信息進行解密,解密之后的信息就是128位AES算法密鑰。由此通信雙方均安全獲得秘密密鑰。
4、性能對比分析
本考試系統(tǒng)所采用的安全模型,利用對稱密碼體制的優(yōu)點,即加密效率高,將其作為試題加密的算法來使用。同時,為了避免對稱密碼體制的缺點,即秘密密鑰,安全模型利用非對稱密碼體制算法中加密密鑰和解密密鑰不同的特點,保證秘密密鑰的順利傳輸。同時由于采用128位AES算法加密,秘密密鑰的長度只有128位,大大縮短了非對稱密碼體制算法加密所需要的時間,大大提高了服務器處理請求的效率。
本考試系統(tǒng)安全模型的核心在于將需要進行特殊安全保護的數(shù)據(jù)量較大的考試試題轉(zhuǎn)變?yōu)閿?shù)據(jù)量較小的秘密密鑰。在本系統(tǒng)中,只要保證秘密密鑰的安全可靠,即可保證考試試題的安全可靠。這樣的變換使得系統(tǒng)中的重點由數(shù)據(jù)加密效率向數(shù)據(jù)安全傳輸?shù)霓D(zhuǎn)換。而非對稱密碼體制正是解決數(shù)據(jù)安全傳輸?shù)姆绞?。通過減少傳輸數(shù)據(jù)量來提高數(shù)據(jù)安全傳輸?shù)男?,以此來提高整個系統(tǒng)的效率。
小知識之C/S 模式
C/S 模式,即大家熟知的客戶機和服務器結構。它是軟件系統(tǒng)體系結構,通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務合理分配到Client端和Server端來實現(xiàn),降低了系統(tǒng)的通訊開銷。目前大多數(shù)應用軟件系統(tǒng)都是Client/Server形式的兩層結構,由于現(xiàn)在的軟件應用系統(tǒng)正在向分布式的Web應用發(fā)展,Web和Client/Server 應用都可以進行同樣的業(yè)務處理,應用不同的模塊共享邏輯組件;因此,內(nèi)部的和外部的用戶都可以訪問新的和現(xiàn)有的應用系統(tǒng),通過現(xiàn)有應用系統(tǒng)中的邏輯可以擴展出新的應用系統(tǒng)。這也就是目前應用系統(tǒng)的發(fā)展方向。





