網(wǎng)絡考試系統(tǒng)中的數(shù)據(jù)加密技術
基于Web的考試是隨著計算機技術的深入和普及,尤其是Internet的應用普及而產(chǎn)生的??荚囅到y(tǒng)網(wǎng)絡化的同時,也帶來了相關的安全問題。在具體的考試系統(tǒng)中,主要涉及到題厙和成績的安全性,即保證題庫來自正確的服務器,答案來自正確的考生,且保證題庫和成績不被泄密和修改。如果這些問題得不到解決,考試所要求的公正性、客觀性無法保證。
當前,一般流行的大型數(shù)據(jù)庫系統(tǒng)都提供了許多安全技術,它基本能夠滿足一般的數(shù)據(jù)庫應用需求。但也不能保證敏感數(shù)據(jù)的保密性。例如DBA擁有最高權限,可知曉試卷的內(nèi)容。為了保證考試的公正性,這就需要有進一步的安全措施——數(shù)據(jù)加密和數(shù)字簽名。
一、數(shù)據(jù)加密
數(shù)據(jù)加密就是利用某種方法偽裝數(shù)據(jù),使別人無法得到數(shù)據(jù)包含的真實信息。被加密的數(shù)據(jù)稱為明文,加密以后的數(shù)據(jù)稱為密文,把密文轉(zhuǎn)變?yōu)槊魑牡倪^程就是解密。明文用M表示,密文用C表示,加密過程就是一個把明文變成密文的數(shù)學函數(shù),用E表示,而解密過程就是一個把密文變成明文的數(shù)學函數(shù),用D表示。加密過程就是E(M)=C;解密過程就是D(C)=M9。目前有兩種加密體制:公鑰體制和單鑰體制。公鑰體制有典型代表的是RSA,而單鑰體制具有典型代表的是DES。
信息加密系統(tǒng)的示意網(wǎng)如圖1所示。

1、DES對稱加密算法
DES(美國商用數(shù)據(jù)加密標準)算法的明文和密文的長度均為64位,密鑰長度為56位。實現(xiàn)算法步驟為:
1)初始置換IPo對給定的64位比特的明文m。首先通過一個置換IP表來黿新排列m,從而構造出64位比特的mo,mo=IP(m)=kRo,其中k表示mo的前32比特,Ro表示mo的后32位。
2)乘積變換(16輪)。換完之后,若經(jīng)過第n層處理后的左、右32比特分別為Ln和Rn,則L和Rn可作如下定義:
![]()
K是向第n層輸入的48比特的密鑰,Ln_i和Rn-1分別是第n-l層的輸出.f是以Rn-1和k為變量的輸出32比特的函數(shù)。第n層的加密變換如圖2所示。

3)逆置換IP-I是對L16、Ris利用初始置換IP作逆置換IP-1,就得到了密文y,這就是DES加密的結果。
DES使用與加密相同的函數(shù)進行解密,唯一不同之處是密鑰的次序相反。
2、RSA非對稱加密算法
RSA算法是目前非對稱加密領域內(nèi)最為著名的算法。它的安全性是基于大整數(shù)質(zhì)因子分解的困難性。
其算法過程為:建立RSA公鑰密碼系統(tǒng)時,選取一對不同的大素數(shù)p和q,令n=p*q;用戶公布n,但將q和p保密;然后,選取正整數(shù)d,使其滿足gcd(d,φ(n))=1,這里的中(n)是歐拉函數(shù),且φ(n)=(p-1)(q-1);最后,根據(jù)公式e-d*1(modm(n))計算出e,用戶公布e,但將d保密。
RSA方法是一種分組密碼系統(tǒng)。加密時,首先將明文表示成0到n-l之間的整數(shù)。如果明文太長,可將其變?yōu)閚進制數(shù)的形式,即令M=MO+MIn+K+M。,然后分別加密(Mo, Mi,…MI)。得出密文C0,Cl...Cs。加密公式為:
![]()
如果已知密鑰d,解鑰是容易的。只需計箅:
![]()
即可恢復明文M。
RSA涉及大數(shù)的計算,無論硬件實現(xiàn)還是軟件實現(xiàn)的效牢都比較低,不適用于對長的明文進行加密,常用來對密鑰進行加密,即與對稱密碼算法結合使用。
二、數(shù)字簽名
數(shù)字簽名是采用一種數(shù)據(jù)交換協(xié)議,使收、發(fā)數(shù)據(jù)的雙方能夠滿足兩個條件:接受方能夠鑒別發(fā)送方所宣稱的身份;發(fā)送方以后不能否認發(fā)送過數(shù)據(jù)這一事實。
數(shù)字簽名的目的是為了保證信息的完整性和真實性。和加密相對應,有基于對稱密鑰的數(shù)字簽名和基于非對稱密鑰的數(shù)字簽名兩種方式?;诜菍ΨQ密鑰的數(shù)字簽名方式是公開密鑰加密技術(如RAS算法1和報文分解函數(shù)(如MDS)相結合的產(chǎn)物。報文分解函數(shù)是一種散列技術:對數(shù)據(jù)執(zhí)行一些數(shù)學運算,從運算的結果無法得到原來的數(shù)據(jù)。
數(shù)字簽名一般采用非對稱加密技術(如RSA)。發(fā)送方對整個明文進行加密變換,得到一個值,將其作為簽名。接收方使用發(fā)送方的公開密鑰對簽名進行解密運算,如結果為明文,則簽名有效,證明對方的身份是真實的。
![]()
上式表明的是一個數(shù)字簽名過程d對于通信的雙方發(fā)送者和接收彳而言,信息加密是發(fā)送者使用接收者的公鑰進行加密,只有接收者用自己的私有密鑰才能解開信息;數(shù)字簽名是發(fā)送者使用自已的私鑰加密信息,接收者可以用發(fā)送者的公開密鑰進行解密。
三、網(wǎng)絡考試系統(tǒng)數(shù)據(jù)的加密要求
對于一個網(wǎng)絡考試系統(tǒng)的安全性而言,僅靠訪問控制是不夠的。因為這些安全措施存在一個致命的弱點:原始數(shù)據(jù)以可讀的形式存儲在數(shù)據(jù)庫中。這樣,高明的入侵者可以從計算機系統(tǒng)的內(nèi)存中導出所需的信息,或者采用某種方式進入考試系統(tǒng),從系統(tǒng)的后備存儲器上竊取數(shù)據(jù)或篡改數(shù)據(jù)。要徹底解決考試系統(tǒng)的安全保密,除了在傳輸過程中控制非法訪問之外,還必須對存儲數(shù)據(jù)進行加密保護。一個網(wǎng)絡考試系統(tǒng)數(shù)據(jù)的加密要求有:
1)考試系統(tǒng)試題庫信息保存時間要長,不可能采取一次一密的力法進行加密,因而選用其它的加密方式,使其達到實際不可破譯的程度。
2)實際加密后,存儲空間不應明顯增大。
3)加密和解密速度要快,尤其是考試過程中解密要快,使考生感覺不到解密帶來系統(tǒng)性能的變化。
4)加密系統(tǒng)要有盡可能靈活的授權機制??荚囅到y(tǒng)數(shù)據(jù)庫在Internet環(huán)境中使用時,每個考生只使用其中小部分數(shù)據(jù)。因此數(shù)據(jù)庫系統(tǒng)應有很強的訪問控制機制,并輔以很靈活的授權機制,這樣既能增加系統(tǒng)的安全又能方便用戶的使用。
5)加密系統(tǒng)應提供一套安全、靈活的密鑰管理機構。
6)對數(shù)據(jù)庫的加密不應影響考試系統(tǒng)的原有功能,而應保持對數(shù)據(jù)庫操作的靈活性和簡便性。
7)加密后的數(shù)據(jù)庫仍能允許用戶以不同的角色對之進行訪問。
在網(wǎng)絡考試系統(tǒng)中,一次考試的流程大致可以分為這么幾步:首先,由出題老師出好試卷,存人數(shù)據(jù)庫中;然后當考試時間到了后,由監(jiān)考老師取出試卷,學生進行答題,交卷;最后出閱卷老師進行試卷評判。其中,老師出好的試題和答案需要加密保護,學生的答題數(shù)據(jù)和老師的批改成績,只需保證其數(shù)據(jù)的完整性和不可否認性就可以了。
結合以上數(shù)據(jù)加密的要求和考試系統(tǒng)的實際情況,選擇合適的加密算法對存儲在數(shù)據(jù)庫中的考試信息進行加密。在各種加密算法中,DES對稱加密算法加解密速度快,加密強度高,密鑰分發(fā)與管理困難,可滿足系統(tǒng)對數(shù)據(jù)快速高效加解密處理的要求;非對稱加密算法的加密解密速度慢,不能適應數(shù)據(jù)庫加密的速度要求,而其密鑰管理簡單,正好用于生成傳遞對稱加密算法使用的密鑰的數(shù)字簽名,保障了密鑰傳遞的安全性。將兩者相結合,可以有效地提高加密效率,并能簡化對密鑰的管理。所以本考試系統(tǒng)選擇用DES對數(shù)據(jù)庫的敏感數(shù)據(jù)加密;采用了非對稱加密技術(如RSA)的數(shù)字簽名來保證試卷由合法的考試者提供,且試卷的內(nèi)容未被修改。
四、網(wǎng)絡考試系統(tǒng)中的加密處理
網(wǎng)絡考試系統(tǒng)中,需要保密的環(huán)節(jié)較多,如考前的試卷需要防泄密.考后的答卷需要防篡改,等等。
(1)試卷的加密和解密處理
根據(jù)加密理論,出題者可設置密鑰以維護試題的保密性,在正式考試時,再用密鑰解開試題供考試時使用。采用加密的戰(zhàn)卷加密和解密過程如圖3所示。出題者在生成試卷后給定加密密鑰,明文用該密鑰經(jīng)加密算法處理后送入試卷庫;一旦試卷啟封使用,由密鑰持有者提供解密密鑰用解密算法將試卷解密得到試卷明文以供考試使用。

(2)用戶檔案及題庫的加密解密處理
用戶的檔案涉及到個人信息和權限管理,尤其是管理員及教師的資料,這些數(shù)據(jù)都要加密處理。試題庫為了防止泄密,也要求加密存儲。檔案及試題庫的加解密方法相似,因為兩者只需存儲在數(shù)據(jù)庫中,不用在服務器間傳輸。:管理員輸入完數(shù)據(jù)后將其加密存儲在相應數(shù)據(jù)庫中,需要修改及查詢時,先解密成明文再進行相應操作。
(3)答卷的加密處理
在本系統(tǒng)中,除了試卷需要加密保護以增強數(shù)據(jù)的保密性以外,考唪的答卷也有必要進行一定的加密處理,因為答卷也屬于敏感數(shù)據(jù),若答卷中答案不加保護則可被輕易的篡改從而無法保證考試的公平與合法加密后的答卷存在答卷數(shù)據(jù)庫中,閱卷時系統(tǒng)管理員再解密成明文批閱。
(4)答卷提交的數(shù)字簽名
在考試系統(tǒng)中采用數(shù)字簽名技術,一是要保證考生的答卷是合法的未經(jīng)篡改的有效答卷;二是要保證它經(jīng)過正常的考試過程。采用數(shù)字簽名技術主要是防止惡意篡改考卷和保證考卷的合法性??荚囅到y(tǒng)中的數(shù)字簽名技術用在考生試卷的提交,簽名是答卷的信息摘要和考生信息的函數(shù)。由于收方在收到附加在答卷后的信息摘要后無需還原,只要將收到的答卷內(nèi)容做信息摘要做比對,故在此我們采用簡單的信息校驗和作為信息摘要函數(shù),實現(xiàn)起來非常簡單。雖然可能會出現(xiàn)不同的數(shù)據(jù)序列會產(chǎn)生相同的校驗和結果,但校驗是與傳送過來的原文相比,發(fā)生篡改而不被發(fā)現(xiàn)的町能性很小。當然對于校驗和計算應是保密的。
本考試系統(tǒng)通過數(shù)據(jù)的加密處理和數(shù)字簽名技術的應用,具有較強的安全性、可靠性和穩(wěn)定性,達到了實用水平。
小知識之網(wǎng)絡考試系統(tǒng)
網(wǎng)絡考試是延伸了傳統(tǒng)考試考場的涵義,它利用網(wǎng)絡的無限廣闊空間,把考場從學校延伸到了家中、計算機房、辦公室及其它任何網(wǎng)絡所覆蓋的區(qū)域,并可隨時對考生進行考試,加上數(shù)據(jù)庫技術的利用,使考試變得更公平公正、更具權威性和可靠性。網(wǎng)絡考試實現(xiàn)了傳統(tǒng)考試與現(xiàn)代科技的完美結合,符合現(xiàn)代教育體制的要求,代表著現(xiàn)代教育考試的發(fā)展方向。









