張毅
(荊楚理工學(xué)院 448000)
數(shù)據(jù)庫加密系統(tǒng)的設(shè)計及實(shí)現(xiàn)
張毅
(荊楚理工學(xué)院 448000)
21世紀(jì)計算機(jī)、網(wǎng)絡(luò)、通信技術(shù)發(fā)展迅猛,信息系統(tǒng)在社會經(jīng)濟(jì)的各行各業(yè)得到大量應(yīng)用,數(shù)據(jù)庫系統(tǒng)具有強(qiáng)大的數(shù)據(jù)管理組織能力,可以存儲大量的信息,作為信息系統(tǒng)數(shù)據(jù)的支撐平臺,得到了廣泛應(yīng)用。當(dāng)今社會信息安全問題日益突出,數(shù)據(jù)庫系統(tǒng)的安全性將直接的影響到信息系統(tǒng)的安全,因此,對數(shù)據(jù)庫設(shè)計一套高效可行的加密系統(tǒng)是提高信息系統(tǒng)安全的重要保障。本文主要針對數(shù)據(jù)庫加密系統(tǒng)的設(shè)計及實(shí)現(xiàn)提出一些見解進(jìn)行分析。
數(shù)據(jù)庫;加密;解密;設(shè)計;實(shí)現(xiàn)
信息化的年代,離不開網(wǎng)絡(luò)信息資源,而網(wǎng)絡(luò)信息的系統(tǒng)中最重要的不是網(wǎng)絡(luò)與設(shè)備,而是數(shù)據(jù)庫。數(shù)據(jù)庫存儲的信息涉及國家、企業(yè)、個人等方方面面,信息量豐富。其安全問題也備受企事業(yè)單位的重視,實(shí)際上大部分企事業(yè)單位只通過防火墻、用戶密碼驗證等措施來保障網(wǎng)絡(luò)系統(tǒng)的安全,而沒有對數(shù)據(jù)庫本身采取安全措施。為了保護(hù)數(shù)據(jù)安全,需要對數(shù)據(jù)庫設(shè)計加密系統(tǒng)。
1.1 數(shù)據(jù)系統(tǒng)的安全
數(shù)據(jù)系統(tǒng)的安全可以分為以下三點(diǎn):
(1)保密性,指信息只能被授予權(quán)限的用戶進(jìn)行訪問。
(2)可用性,指任何授權(quán)的用戶想要獲取數(shù)據(jù)信息時應(yīng)該立即就能獲得。
(3)完整性,指數(shù)據(jù)在傳輸、存儲的過程中,確保數(shù)據(jù)不被未授權(quán)的用戶篡改。
可見,現(xiàn)在所盛行的對數(shù)據(jù)庫安全保護(hù)的措施有三方面,分別是實(shí)行訪問控制策略、用戶身份認(rèn)證方式以及跟蹤和審計。
1.2 數(shù)據(jù)庫存在的問題
盡管各企事業(yè)單位都在尋求最好的安全措施去運(yùn)用于對數(shù)據(jù)庫的保護(hù)中,但是在實(shí)踐的過程中,仍然存在著或多或少的不完善。比如說,賬號本身設(shè)置的密碼強(qiáng)度不足,加上用戶對數(shù)據(jù)安全重視力度不夠。有些用戶的密碼和賬戶不小心泄露了,而沒有及時定期修改或禁止該賬戶的訪問權(quán)限。有些用戶為了方便記憶,將賬戶和密碼設(shè)置為簡單的數(shù)字或者英文字母這樣的弱口令,非法人員很容易就能侵入系統(tǒng),非法獲取數(shù)據(jù)信息。還有些用戶的賬號權(quán)限高而沒有設(shè)置相應(yīng)的過期時間,也容易埋下數(shù)據(jù)庫系統(tǒng)的安全隱患。
缺乏角色分離和審計跟蹤,DBA權(quán)限過大和備份介質(zhì)遺失以及數(shù)據(jù)庫入侵者都是現(xiàn)在數(shù)據(jù)庫存在的問題[1]。
2.1 加密算法的選擇
加密算法是指依據(jù)數(shù)學(xué)原理設(shè)計公式和法則,能夠?qū)⒚魑暮兔芪倪M(jìn)行相互轉(zhuǎn)換一種方法。數(shù)據(jù)加密算法非常豐富,選擇合適的加密算法應(yīng)滿足以下要求:
(1)明文和密文的長度應(yīng)相差不大,節(jié)省網(wǎng)絡(luò)帶寬,提高加密解密的速度。
(2)因為數(shù)據(jù)庫存儲的信息具有持久性,時間長,且訪問量大,所以加密算法強(qiáng)度非常高,保障數(shù)據(jù)安全。
(3)由于對數(shù)據(jù)庫的訪問方式都是隨機(jī)進(jìn)行的,因此,明文和密文的轉(zhuǎn)換速度要非常的快,對數(shù)據(jù)操作的響應(yīng)時間應(yīng)在用戶能夠接受的范圍內(nèi)。
當(dāng)下,在數(shù)據(jù)庫加密體系中,經(jīng)常使用的幾種算法有DES,三重DES,AES,RSA算法和R算法,因為R算法綜合了RC5和RC6的優(yōu)點(diǎn),而且也保持了小的分組,因此,對于數(shù)據(jù)庫加密使用的算法中,R算法最適合。再加上其安全性比RC5和DES要高,密鑰長度能夠靈活的變化,有效的抵抗密鑰的各種惡性的攻擊,同時加快解密速度,能滿足數(shù)據(jù)加密的要求[1]。
2.2 加密粒的選擇
一般情況下,數(shù)據(jù)庫加密粒度分為以下三種:
(1)表級加密,指的是在表一級進(jìn)行加密,其加解密的主要對象是二維關(guān)系表。如果依照操作系統(tǒng)中文件的加密方法進(jìn)行數(shù)據(jù)庫的加密,明顯是不太適用。
(2)記錄級加密,主要是指在表一級上對每條記錄進(jìn)行加密的一種方法。其特點(diǎn)是把每條記錄作為操作對象,進(jìn)行統(tǒng)一的加解密處理。這種方法較前一方法提高了數(shù)據(jù)安全,在實(shí)際操作的過程中較方便,不過缺乏靈活性。
(3)數(shù)據(jù)項加密,指的是對每條記錄中的每個數(shù)據(jù)項直接進(jìn)行加解密處理。其特點(diǎn)是安全性高、靈活度高,不過操作復(fù)雜的[2]。
2.3 密鑰管理選擇
數(shù)據(jù)庫中存儲的數(shù)據(jù)信息具有持久性,時間跨度可達(dá)幾年甚至幾十年,因此數(shù)據(jù)庫中的加密密鑰不能隨用隨清。為了可以保證密鑰在產(chǎn)生和消亡期間不會被暴露或者泄露出去,就必須要對密鑰進(jìn)行一系列合理的管理措施。因此,一個設(shè)計良好的密鑰管理方案既能充分保障數(shù)據(jù)庫系統(tǒng)的安全性,又能夠滿足數(shù)據(jù)庫加密和解密的效率。
2.4 不影響合法用戶
加密系統(tǒng)影響數(shù)據(jù)操作響應(yīng)的時間要求盡量的短,對數(shù)據(jù)庫的合法用戶來說,數(shù)據(jù)的錄入和修改以及檢索操作都應(yīng)該是透明化的,不需要去考慮數(shù)據(jù)的加密解密問題。
3.1 庫內(nèi)加密
庫內(nèi)加密其實(shí)指的是在關(guān)系數(shù)據(jù)庫管理系統(tǒng)內(nèi)核層實(shí)現(xiàn)加密的過程,加密或解密的過程要求必須是透明化的,只有在完成數(shù)據(jù)的加密和解密工作以后,才可以在庫里進(jìn)行下一步的存取操作。其優(yōu)點(diǎn)是具有更強(qiáng)的加密功能,在DBMS內(nèi)完成各種加密功能,以實(shí)現(xiàn)DBMS和加密功能之間的無縫銜接。
3.2 庫外加密
庫外加密實(shí)際上是指在關(guān)系數(shù)據(jù)庫管理系統(tǒng)之外,增加一臺服務(wù)器,在加解密服務(wù)器實(shí)現(xiàn)數(shù)據(jù)的解密和加密的操作,而DBMS主要負(fù)責(zé)管理密文。和庫內(nèi)加密相比而言,庫外加密則擁有其自身的優(yōu)點(diǎn):①加密和解密的過程是在專門的服務(wù)器中而實(shí)現(xiàn)的,速度快性能高。②加密的數(shù)據(jù)和密鑰都是分開存放著的。但是,庫外加密的方式也存在缺點(diǎn),如果數(shù)據(jù)庫中出現(xiàn)加密某些功能時受到限制,數(shù)據(jù)庫的數(shù)據(jù)完整性就會受到損壞。而在新興的數(shù)據(jù)庫外包服務(wù)模式中,加密就必須在客戶端來完成。
數(shù)據(jù)庫加密系統(tǒng)的設(shè)計和實(shí)現(xiàn),從一定程度上不但可以使用戶免除掉后顧之憂,還能夠有效的對數(shù)據(jù)信息起到了加密保護(hù)的作用,保護(hù)了敏感重要數(shù)據(jù)的安全,讓那些入侵者得不到信息或者獲取到無效的信息。
[1]馬興濤.數(shù)據(jù)庫透明數(shù)據(jù)加密技術(shù)的研究與應(yīng)用[J].數(shù)字社區(qū):智能家居,2011(5).
[2]懷艾芹.基于DBMS外層的網(wǎng)絡(luò)數(shù)據(jù)庫加密系統(tǒng)的研究與設(shè)計[J].電腦開發(fā)與應(yīng)用,2011,24(4).
[3]楚志凱,呂秀平,路曉亞.SQL Server的數(shù)據(jù)庫加密技術(shù)的研究與實(shí)現(xiàn)[J].電腦學(xué)習(xí),2010.
TP309.7
A
1004-7344(2016)11-0247-01
2016-3-26