羅海鳳 張良有 謝垂益
摘要;高校教務(wù)管理過程中,試卷以明文形式傳輸和集中存儲(chǔ),存在數(shù)據(jù)泄漏安全隱患。提出了一個(gè)基于數(shù)字證書的試卷防泄漏方案,采用AES算法加密試卷,試卷在數(shù)據(jù)庫中以密文的形式存放,每個(gè)試卷文檔的訪問密鑰隨機(jī)產(chǎn)生,用RSA算法實(shí)現(xiàn)試卷訪問密鑰傳遞過程中的加解密操作。對試卷的上傳、遞交、下載模塊進(jìn)行了詳細(xì)設(shè)計(jì)、編碼實(shí)現(xiàn)和運(yùn)行測試。實(shí)驗(yàn)結(jié)果表明,在試卷傳輸和集中存儲(chǔ)過程中,試卷及其訪問密鑰均以密文形式存放,經(jīng)過試卷上傳、遞交、下載環(huán)節(jié),試卷文件的內(nèi)容能夠成功恢復(fù)。
關(guān)鍵詞:數(shù)字證書;試卷;防泄漏;AES算法;RSA算法;教務(wù)管理
中圖分類號:TP309.2 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2017)07-0061-03
1引言
高校教務(wù)管理過程中,試卷在印刷之前,都是以電子文檔的形式進(jìn)行傳輸和集中存儲(chǔ)。目前常見的試卷傳輸和存儲(chǔ)的方式主要有兩類;(1)利用電子郵件或者QQ文件的形式進(jìn)行傳輸,教務(wù)管理人員在硬盤中以Word文檔的形式存儲(chǔ)每一份試卷;(2)利用教務(wù)管理系統(tǒng)傳遞試卷,系統(tǒng)提供文件上傳和下載功能,試卷在數(shù)據(jù)庫中以記錄的形式存儲(chǔ)。目前試卷的管理只是實(shí)現(xiàn)了基本的無紙化辦公目標(biāo),但對于試卷在傳輸、集中存儲(chǔ)過程中可能發(fā)生的信息安全問題,很少引起關(guān)注。由于試卷在傳輸?shù)臅r(shí)候是明文形式,有可能受到黑客的竊聽攻擊或者針對試卷存儲(chǔ)郵箱的竊取攻擊;由于試卷在教務(wù)管理部門(校、院、系各級)以Word文檔的形式在硬盤中集中存儲(chǔ),容易成為少數(shù)不愛學(xué)習(xí)、又具有一定黑客知識的學(xué)生的攻擊目標(biāo);教務(wù)管理系統(tǒng)的數(shù)據(jù)庫也有可能成為黑客的攻擊目標(biāo),若受到“拖庫”攻擊(指網(wǎng)站遭到入侵后,數(shù)據(jù)庫被黑客復(fù)制),以明文存儲(chǔ)的試卷將會(huì)全部被泄露。信息系統(tǒng)中的數(shù)據(jù)經(jīng)常是黑客攻擊的首要目標(biāo),數(shù)據(jù)泄漏事件時(shí)有發(fā)生。Verizon公司的《2014年度數(shù)據(jù)泄露調(diào)查報(bào)告》顯示,有25%的信息泄漏原因是數(shù)據(jù)庫受到攻擊。2011年12月,中國最大的開發(fā)者技術(shù)社區(qū)CSDN(中國軟件開發(fā)聯(lián)盟)網(wǎng)站的600余萬用戶數(shù)據(jù)庫泄漏;2015年8月,線上票務(wù)營銷平臺大麥網(wǎng)受到拖庫攻擊,600余萬用戶賬戶密碼遭到泄露;2015年10月,網(wǎng)易用戶數(shù)據(jù)庫遭到黑客“撞庫”攻擊,大量用戶的密碼、密保信息、登錄IP、生日等信息被泄露。因此,數(shù)據(jù)泄漏問題已成為高校信息化建設(shè)過程中關(guān)注的一個(gè)熱點(diǎn)。文獻(xiàn)總結(jié)了校園網(wǎng)信息泄漏的主要途徑,開發(fā)了一個(gè)具有移動(dòng)存儲(chǔ)設(shè)備安全管理、外設(shè)端口控制、非法接入訪問識別、安全審計(jì)等功能的網(wǎng)絡(luò)環(huán)境安全監(jiān)控系統(tǒng)。文獻(xiàn)提出一個(gè)云計(jì)算環(huán)境下信息保護(hù)與防泄漏系統(tǒng)設(shè)計(jì)方案。文獻(xiàn)綜合應(yīng)用文件類型識別技術(shù),文本過濾技術(shù)以及透明加密技術(shù),設(shè)計(jì)和實(shí)現(xiàn)了一種對文本文檔進(jìn)行分類處理和安全保護(hù)的方案。文獻(xiàn)提出一種基于剪貼板監(jiān)控的電子文檔多級保護(hù)技術(shù)。
為了解決試卷明文存放的數(shù)據(jù)泄漏隱患,本文提出一個(gè)基于數(shù)字證書的試卷防泄漏方案,綜合使用RSA算法和AES算法實(shí)現(xiàn)試卷訪問密鑰的分發(fā)、試卷內(nèi)容的加解密,保障試卷在傳輸和集中存儲(chǔ)時(shí)的機(jī)密性,解決試卷防泄漏的難題。2試卷防泄漏方案設(shè)計(jì)
基于數(shù)字證書的試卷防泄漏方案總體思路是;(1)每份試卷有一個(gè)訪問密鑰,試卷在網(wǎng)絡(luò)上傳輸和集中存儲(chǔ)時(shí)都是密文形式,只有在用戶端處理時(shí)才是明文形式;(2)試卷訪問密鑰由授權(quán)用戶的公鑰加密、私鑰解密,所以只有授權(quán)用戶才能對試卷解密;(3)授權(quán)用戶的私鑰保存在數(shù)字證書文件中,憑證書訪問密碼才能取出私鑰;(4)利用數(shù)字證書實(shí)現(xiàn)文檔訪問密鑰的加密存儲(chǔ)和安全交換。
由于試卷在傳輸和存儲(chǔ)環(huán)節(jié)是加密的,即使因郵箱被盜、拖庫、撞庫等黑客攻擊事件引起試卷數(shù)據(jù)庫被盜,由于不知道授權(quán)用戶的數(shù)字證書中的私鑰,也就無法對試卷訪問密鑰進(jìn)行解密,不可能解密試卷,因此能夠?qū)崿F(xiàn)防泄漏的目標(biāo)。
2.1試卷加解密過程
加密算法分為對稱加密和非對稱加密兩大類。對稱加密算法的運(yùn)算速度快,但密鑰管理困難;非對稱加密算法管理密鑰很方便,但是運(yùn)算效率不高。本文采用基于對稱加密原理的AES算法來加密試卷文檔,加密所用的密鑰我們稱之為“訪問密鑰”。每個(gè)試卷文檔有獨(dú)立的訪問密鑰。根據(jù)AES算法的要求,訪問密鑰長度可以是128、192或者256位。試卷的訪問密鑰是隨機(jī)生成的,其存儲(chǔ)和傳遞采用基于非對稱密碼原理的RSA算法來完成。RSA算法所用的私鑰存放在數(shù)字證書文件中,憑訪問密碼讀取;公鑰是可公開的,在數(shù)字證書文件和數(shù)據(jù)庫中均可存放。每個(gè)試卷文檔對應(yīng)一個(gè)獨(dú)立的訪問密鑰。訪問密鑰采用RSA算法加密后保存在數(shù)據(jù)庫的授權(quán)表中。
2.2試卷訪問密鑰分發(fā)
要解密試卷,需要先獲得試卷訪問密鑰。訪問密鑰是在用戶(比如任課教師)上傳試卷時(shí)自動(dòng)生成的,使用用戶的公鑰加密后存放在試卷授權(quán)表中,此時(shí)只有上傳試卷的用戶有權(quán)得到試卷訪問密鑰,意味著只有他才能夠解決試卷。若存在下一步處理試卷的人員,例如任課教師的試卷要經(jīng)過系主任審核,系主任審核過后報(bào)主管院長審批。那么,任課教師上傳試卷時(shí),用系主任的公鑰將該試卷的訪問密鑰加密,存放在試卷授權(quán)表中,這樣系主任用自己的私鑰就能得到試卷訪問密鑰,從而能夠解密試卷;系主任審核后,用主管院長的公鑰將該試卷的訪問密鑰加密,存放在試卷授權(quán)表中,這樣主管院長就可以用自己的私鑰得到試卷訪問密鑰,從而能夠解密試卷。對這個(gè)例子,試卷訪問密鑰的明文為key,分別用任課教師、系主任、主管院長的公鑰k1、k2、k3,經(jīng)RSA算法加密后,得到的密文也將不同(如表1所示),這些密文將保存在試卷授權(quán)表中,通過用戶的私鑰才能還原回原先的明文key。
可見,對于某一份試卷,所產(chǎn)生的訪問密鑰(key)可以分發(fā)給多個(gè)人,這幾個(gè)人可以在數(shù)據(jù)庫里存放對應(yīng)同一個(gè)key的不同密文。這些密文,只有擁有與加密時(shí)的公鑰對應(yīng)的私鑰,才能還原出key用于解密試卷。
2.3方案安全性分析
這是一個(gè)安全性高、管理方便、易于應(yīng)用的方案:
1)由于試卷、訪問密鑰都是加密后存放在數(shù)據(jù)庫中,全部是密文,沒有明文。如果要將一份試卷的訪問權(quán)限授予某個(gè)用戶,只需用該用戶的公鑰加密試卷訪問密鑰存到試卷授權(quán)表中即可。
2)得到授權(quán)的用戶用自己的私鑰解密試卷的訪問密鑰,才能具有解密試卷的能力。用戶私鑰的安全性由數(shù)字證書來保證。
3)由于采取每份試卷一個(gè)訪問密鑰的形式,訪問密鑰隨機(jī)生成,任何一份試卷被讀取都不會(huì)造成其他試卷的泄漏。
4)由于采用數(shù)字證書的公鑰來加密試卷的訪問密鑰,使得這些訪問密鑰可以在數(shù)據(jù)庫中安全存放,并能夠方便地進(jìn)行授權(quán)控制。
5)由于試卷的加、解密都是在服務(wù)器端進(jìn)行,無需在客戶端安裝程序或控件,不會(huì)給用戶增加操作上的負(fù)擔(dān),便于推廣應(yīng)用。
6)試卷訪問密鑰的安全性由RSA算法保證;試卷數(shù)據(jù)的安全性由AES算法保證。這兩個(gè)算法目前被廣泛使用并且是安全的。
3關(guān)鍵模塊詳細(xì)設(shè)計(jì)
3.1試卷上傳模塊
試卷上傳模塊的活動(dòng)圖如圖1所示。用戶發(fā)送試卷,服務(wù)器(系統(tǒng))接收試卷,生成隨機(jī)密碼(將作為試卷訪問密鑰)加密試卷,從數(shù)據(jù)庫中讀入用戶公鑰并用之加密試卷訪問密鑰,將試卷密文存入試卷表、將試卷訪問密鑰密存入試卷授權(quán)表。最后反饋成功確認(rèn)信息。
3.2試卷遞交模塊
由于試卷的密文已經(jīng)存儲(chǔ)在系統(tǒng)的數(shù)據(jù)庫中,因此試卷遞交過程的本質(zhì)是試卷訪問密鑰的傳輸。試卷遞交模塊的活動(dòng)圖如圖2所示。用戶發(fā)出請求(請求中包含用戶編號、用戶私鑰、試卷編號、接收入編號),服務(wù)器(系統(tǒng))收到請求后,查詢數(shù)據(jù)庫得到試卷訪問密鑰的密文、接收人的公鑰,用用戶私鑰解密試卷訪問密鑰的密文,得到試卷訪問密鑰,用接收人的公鑰加密試卷訪問密鑰,將新得到的訪問密鑰密文存入數(shù)據(jù)庫。最后反饋成功確認(rèn)信息。
3.3試卷下載模塊
試卷下載模塊的活動(dòng)圖如圖3所示。用戶發(fā)送試卷下載請求、遞交私鑰,服務(wù)器(系統(tǒng))接收到私鑰,解密試卷訪問密鑰的密文,得到試卷訪問密鑰,用試卷訪問密鑰解密試卷密文,得到試卷明文,將試卷明文提供給用戶下載。
4結(jié)論
三個(gè)模塊均已在Visual Studio 2010編程環(huán)境中進(jìn)行編碼實(shí)現(xiàn),測試結(jié)果表明:在試卷傳輸和集中存儲(chǔ)過程中,試卷及其訪問密鑰均以密文形式存放,杜絕了數(shù)據(jù)泄漏的可能性;經(jīng)過試卷上傳、遞交、下載環(huán)節(jié),試卷文件的內(nèi)容能夠成功恢復(fù)。本方案既可以對數(shù)據(jù)庫中的一個(gè)記錄字段進(jìn)行加密,也可以對單個(gè)文件進(jìn)行加密。