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