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