摘 要:隨著信息技術(shù)與互聯(lián)網(wǎng)技術(shù)發(fā)展,Web技術(shù)的應(yīng)用更加廣泛,尤其以B/S結(jié)構(gòu)為基礎(chǔ)的Web應(yīng)用技術(shù)最為突出,Web數(shù)據(jù)庫(kù)的應(yīng)用也隨之廣泛。與此同時(shí),與Web安全息息相關(guān)的數(shù)據(jù)庫(kù)安全問題日益突出,如何保障Web數(shù)據(jù)庫(kù)安全,避免數(shù)據(jù)被竊取、篡改等問題成為Web應(yīng)用安全的一個(gè)重要課題。因此,本文基于Web應(yīng)用技術(shù),分析探討了B/S構(gòu)架下數(shù)據(jù)庫(kù)加密的具體策略,提出基本的應(yīng)用方案,為Web應(yīng)用安全工作提供相應(yīng)參考。
關(guān)鍵詞:Web平臺(tái);數(shù)據(jù)庫(kù);加密技術(shù);應(yīng)用策略
中圖分類號(hào):TP309.7
1 Web平臺(tái)數(shù)據(jù)庫(kù)安全特點(diǎn)
1.1 Web數(shù)據(jù)庫(kù)特點(diǎn)
Web數(shù)據(jù)庫(kù)又稱網(wǎng)絡(luò)數(shù)據(jù)庫(kù),是在傳統(tǒng)關(guān)系數(shù)據(jù)庫(kù)的基礎(chǔ)上融合了網(wǎng)絡(luò)技術(shù)的一種的嚴(yán)謹(jǐn)模式,簡(jiǎn)單可以理解為因特網(wǎng)與數(shù)據(jù)庫(kù)結(jié)合的產(chǎn)物。Web數(shù)據(jù)庫(kù)的出現(xiàn)使得網(wǎng)絡(luò)查詢、檢索更容易實(shí)現(xiàn)。
相對(duì)于傳統(tǒng)關(guān)系數(shù)據(jù)庫(kù)而言,Web數(shù)據(jù)庫(kù)本身存在相對(duì)獨(dú)立的特征,主要包括幾個(gè)個(gè)方面:存儲(chǔ)信息廣泛、數(shù)據(jù)結(jié)構(gòu)相對(duì)靈活、能夠?qū)崿F(xiàn)更多樣化的編譯、支持更多的數(shù)據(jù)類型。除此之外,隨著Web數(shù)據(jù)庫(kù)技術(shù)的發(fā)展,為了應(yīng)用網(wǎng)絡(luò)查詢、檢索的需要,Web數(shù)據(jù)庫(kù)也擁有了改進(jìn)的索引機(jī)制,能夠有效提高查詢效率和查詢質(zhì)量,更符合網(wǎng)絡(luò)應(yīng)用的特點(diǎn)。
1.2 Web數(shù)據(jù)庫(kù)加密技術(shù)
在傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)安全研究領(lǐng)域,最常用的數(shù)據(jù)庫(kù)保護(hù)方法是通過設(shè)置復(fù)雜口令和訪問權(quán)限,但是數(shù)據(jù)庫(kù)管理員賬戶的安全問題就成為了嚴(yán)重隱患,因此出現(xiàn)了使用數(shù)據(jù)加密技術(shù)保證數(shù)據(jù)庫(kù)信息安全的方法。在數(shù)據(jù)庫(kù)中,由于數(shù)據(jù)組長(zhǎng)度相對(duì)較短,存取時(shí)間較長(zhǎng),密鑰的相應(yīng)生命周期浮動(dòng)較大,如果采用單一密鑰無法起到良好的保密效果,如果采用獨(dú)立密鑰則會(huì)導(dǎo)致密鑰過多致使管理復(fù)雜,進(jìn)而引發(fā)查詢響應(yīng)速度過慢的問題,不符合Web數(shù)據(jù)庫(kù)應(yīng)用的需求,因此Web數(shù)據(jù)庫(kù)的加密技術(shù)也出現(xiàn)了相應(yīng)的改進(jìn)。在現(xiàn)代化的Web服務(wù)系統(tǒng)中,數(shù)據(jù)庫(kù)加密方案通常采用DBMS內(nèi)核加密,這一加密技術(shù)可以與DBMS無縫結(jié)合,并實(shí)現(xiàn)更為強(qiáng)大的加密功能,但目前DBMS內(nèi)核加密算法的可選性較低,靈活性不足,而且由于在硬件層面進(jìn)行加密,也會(huì)在一定程度上增加服務(wù)器負(fù)載,影響Web服務(wù)的高效性。由于內(nèi)核加密的缺陷,因此出現(xiàn)了DBMS外層加密技術(shù),通過封包對(duì)服務(wù)實(shí)現(xiàn)加密,能夠有效降低運(yùn)行復(fù)雜,同時(shí)加密過程與加密數(shù)據(jù)被分開,安全性得到再次提升,由于加密本身的條件問題也可以實(shí)現(xiàn)端到端的密文傳輸,進(jìn)一步提升加密效果。
2 B/SWeb平臺(tái)構(gòu)架下的數(shù)據(jù)加密模型分析
2.1 B/SWeb平臺(tái)構(gòu)架特征
B/S結(jié)構(gòu)是Browser/Server結(jié)構(gòu)的簡(jiǎn)稱,即瀏覽器/服務(wù)器結(jié)構(gòu),這一結(jié)構(gòu)的特點(diǎn)是Web應(yīng)用、功能的使用直接通過瀏覽器即可實(shí)現(xiàn),不需要客戶端,在PC端已經(jīng)能夠?qū)崿F(xiàn)較高的安全保障。在目前Web應(yīng)用領(lǐng)域,ActiveX技術(shù)的普遍使得這一結(jié)構(gòu)的安全性和便利性得到再次提升。在目前常見的Web平臺(tái)構(gòu)架中,B/S結(jié)構(gòu)相對(duì)于C/S結(jié)構(gòu)而言不需要對(duì)PC端應(yīng)用進(jìn)行專門的應(yīng)用管理,但由于訪問的簡(jiǎn)便性以及功能的下移,使得安全管理中服務(wù)器安全條件的要求提升,服務(wù)器的負(fù)載有小幅增加的現(xiàn)象。
2.2 典型的DSP加密結(jié)構(gòu)分析
在B/S結(jié)構(gòu)下的Web平臺(tái)數(shù)據(jù)庫(kù)通過DSP模型,能夠?qū)崿F(xiàn)較佳的加密效果,這一模型本身與B/S結(jié)構(gòu)十分相似能夠充分適應(yīng)網(wǎng)絡(luò)環(huán)境的特點(diǎn)。
用戶對(duì)數(shù)據(jù)進(jìn)行增、刪、改等操作時(shí),涉及到明文數(shù)據(jù)到密文數(shù)據(jù)的轉(zhuǎn)換,需要數(shù)據(jù)加密模塊。數(shù)據(jù)加密模塊通過在數(shù)據(jù)操作過程中隱藏的數(shù)據(jù)窗口來實(shí)現(xiàn),用戶對(duì)明文數(shù)據(jù)窗口的操作同步映射到隱藏的密文數(shù)據(jù)窗口中,對(duì)明文數(shù)據(jù)的保存操作同步映射到密文數(shù)據(jù)窗口的保存操作。在DSP模型中,敏感信息加密后存放在數(shù)據(jù)庫(kù)端,需求用戶發(fā)送查詢請(qǐng)求后會(huì)經(jīng)過加密然后再發(fā)送,并能夠同時(shí)實(shí)現(xiàn)本地的短期查詢與服務(wù)器長(zhǎng)期查詢,執(zhí)行密文查詢的過程中,查詢結(jié)果還需要進(jìn)行再次加解密過程,有效增加的數(shù)據(jù)的安全性。
3 加密算法優(yōu)選方案
3.1 常規(guī)數(shù)據(jù)加密方法的對(duì)比
數(shù)據(jù)庫(kù)加密算法必須適應(yīng)數(shù)據(jù)庫(kù)系統(tǒng)的特性,如強(qiáng)度高、加/解密速度快、適應(yīng)明文數(shù)據(jù)長(zhǎng)度變化范圍大、數(shù)據(jù)加密后盡量不增加存儲(chǔ)空間等。目前常用的密碼可以分為三類,序列密碼、分組密碼和公開密鑰密碼。序列密碼算法將明文與隨機(jī)序列直接運(yùn)算,得到的每一位密文與明文其他位數(shù)據(jù)無關(guān)。該類算法運(yùn)算速度高,并且產(chǎn)生的密文一般與明文長(zhǎng)度一樣。但是如果得到數(shù)量較多的密文對(duì),則較容易破譯。該算法常用于一次一密的傳輸加密。分組密碼算法將明文按固定長(zhǎng)度分組,對(duì)各分組使用不同的密鑰加密。密文中的每位數(shù)據(jù)不僅與密鑰有關(guān),還與分組中其他明文數(shù)據(jù)有關(guān)。分組加密算法較難破譯,但是密鑰分發(fā)及管理。公開密鑰算法即非對(duì)稱密鑰算法,運(yùn)算速度很慢,不適合用于大數(shù)據(jù)量加/解密。
通過對(duì)比來看,能夠同時(shí)適應(yīng)數(shù)據(jù)庫(kù)加密需求以及Web平臺(tái)特點(diǎn)的加密算法為分組加密算法。
3.2 DES加密算法及密鑰管理
通過前文分析可知,適用于Web平臺(tái)數(shù)據(jù)庫(kù)加密的算法為分組加密算法,而在分組加密算法中,DES算法是運(yùn)行速度最快的一種。該算法由IBM公司研制,為用戶提供一個(gè)雙向通道A和B共享一個(gè)密鑰,雙方既可以用該密鑰加密信息形成密文并傳送出去,又可以把收到的密文用該密鑰進(jìn)行解密。加密的數(shù)據(jù)和加密密鑰都是64位,有效長(zhǎng)度為56位,其余8位用于奇偶校驗(yàn)位。由于DES算法密鑰長(zhǎng)度有限,在一定程度上影響了加密效果,因此在Web平臺(tái)數(shù)據(jù)庫(kù)應(yīng)用中建議使用多重算法,可以有效解決密鑰長(zhǎng)度不足的問題。
在密鑰管理中,通信過程中密鑰的保護(hù)問題同樣值得重視。為了保證敏感數(shù)據(jù)信息的安全,我們要計(jì)算子密鑰組的結(jié)果M,M為密鑰的乘積的合集。然后將結(jié)果M單獨(dú)存放在非系統(tǒng)數(shù)據(jù)庫(kù)中,專門建立一個(gè)非SQLSERVER數(shù)據(jù)庫(kù)文件,如數(shù)據(jù)庫(kù)中建立一個(gè)表,專門放置M。而且對(duì)這個(gè)文件進(jìn)行加密,防止信息的泄漏。為了保證一個(gè)密鑰長(zhǎng)期使用,防止被非法分子破解,密鑰必須有更新功能。系統(tǒng)在對(duì)新的密鑰進(jìn)行檢查無誤后,對(duì)信息表中的所有敏感信息進(jìn)行重新加密。
4 應(yīng)用方案優(yōu)缺點(diǎn)概述
本次設(shè)計(jì)的在于實(shí)現(xiàn)已有Web平臺(tái)基礎(chǔ)的條件下,實(shí)現(xiàn)破譯成本增加、加強(qiáng)數(shù)據(jù)安全性的主要目標(biāo)。
在安全性方面,DSP結(jié)構(gòu)下的外圍加密技術(shù)與DES加密算法的結(jié)合,能夠有效保障數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù)的安全性,同時(shí)采用的密鑰算法與管理技術(shù)能夠在在任何情況下不作明文存儲(chǔ)(包括在數(shù)據(jù)庫(kù)內(nèi))、密鑰在任何情況下不作明文傳輸(主要指在網(wǎng)絡(luò)上)、對(duì)密鑰進(jìn)行變換的算法具有最高級(jí)的加密強(qiáng)度并永不公布、在密鑰意外泄露時(shí)可以通過更改密鑰及更改用戶登錄權(quán)限等簡(jiǎn)單手段迅速處理,并且不會(huì)影響其它密鑰的安全性。
當(dāng)然此設(shè)計(jì)的數(shù)據(jù)庫(kù)加密框架方案對(duì)系統(tǒng)響應(yīng)速度有一定影響,在有較大量的數(shù)據(jù)訪問查詢需求時(shí)可能出現(xiàn)一定的延遲或響應(yīng)緩慢的現(xiàn)象,主要因素有兩點(diǎn):其一,認(rèn)證請(qǐng)求本身增加了客戶端與認(rèn)證服務(wù)器的網(wǎng)絡(luò)負(fù)擔(dān);其二,解析加密數(shù)據(jù)時(shí)會(huì)產(chǎn)生額外的解析時(shí)間。
5 結(jié)束語
本文對(duì)B/S結(jié)構(gòu)特點(diǎn)下的Web平臺(tái)數(shù)據(jù)庫(kù)加密思路進(jìn)行了分析說明,針對(duì)其特點(diǎn)提出了DBMS外圍加密的DSP結(jié)構(gòu),結(jié)合應(yīng)用需求與特點(diǎn),提出了采用多層DES加密算法以及基于PKI的私鑰認(rèn)證思路。本文提供的加密系統(tǒng)、算法、密鑰管理方案具有相對(duì)良好的加密效果與響應(yīng)速度,能夠有效保證服務(wù)器性能,可作為普通Web平臺(tái)數(shù)據(jù)庫(kù)加密的參考。
參考文獻(xiàn):
[1]李剛彪.數(shù)據(jù)庫(kù)加密技術(shù)的研究與實(shí)現(xiàn)[D].太原理工大學(xué),2010.
[2]張敏,徐震,馮登國(guó)編著.數(shù)據(jù)庫(kù)安全[M].北京:科學(xué)出版社,2005.
[3]李東風(fēng),謝昕.數(shù)據(jù)庫(kù)安全技術(shù)研究與應(yīng)用[J].計(jì)算機(jī)安全,2008(01).
作者單位:濟(jì)寧職業(yè)技術(shù)學(xué)院,山東濟(jì)寧 272000