淺析異或加密在數(shù)據(jù)庫中的應(yīng)用

隨著數(shù)據(jù)庫技術(shù)的廣泛應(yīng)用,作為信息系統(tǒng)的核心-數(shù)據(jù)庫已經(jīng)廣泛應(yīng)用于企事業(yè)單位、政府機(jī)關(guān)、醫(yī)療機(jī)構(gòu)等各個領(lǐng)域。信息安全的核心問題─數(shù)據(jù)庫的安全問題也已經(jīng)越來越受到高度關(guān)注。

數(shù)據(jù)安全不僅要抵抗來自網(wǎng)絡(luò)黑客的安全威脅,還要防止來自網(wǎng)絡(luò)內(nèi)部,特別是數(shù)據(jù)庫管理員的安全威脅,在利益的驅(qū)使下,一些重要或敏感數(shù)據(jù)往往成為黑客們的攻擊對象,許多敏感數(shù)據(jù)如用戶密碼或重要的數(shù)據(jù)如醫(yī)院的收費(fèi)系統(tǒng)、住院記費(fèi)系統(tǒng)、煤氣公司售氣系統(tǒng)等可以輕而易舉的被數(shù)據(jù)庫管理人員竊取或更改,造成重要數(shù)據(jù)的泄漏或經(jīng)濟(jì)上的損失,傳統(tǒng)的數(shù)據(jù)庫防護(hù)措施(訪問控制、入侵檢測等)提供的安全性已經(jīng)不能滿足數(shù)據(jù)庫安全的需要。而目前的數(shù)據(jù)庫管理系統(tǒng)安全體系,幾乎不能對數(shù)據(jù)庫管理員采取任何安全限制。若要滿足重要數(shù)據(jù)的安全需要,防止內(nèi)部人員以及合法用戶越權(quán)使用數(shù)據(jù),對數(shù)據(jù)庫中的重要數(shù)據(jù)進(jìn)行加密保護(hù)是當(dāng)前最為有效的一道保護(hù)措施。通過對數(shù)據(jù)庫重要或敏感數(shù)據(jù)進(jìn)行加密處理,即使入侵者從數(shù)據(jù)庫中取得了數(shù)據(jù)也無法解密密文,從而保證了機(jī)密信息的安全,極大地避免了因機(jī)密、隱私泄露對數(shù)據(jù)所有者造成損失。

數(shù)據(jù)庫加密技術(shù)是通過加密數(shù)據(jù)庫中數(shù)據(jù),使得數(shù)據(jù)庫中的重要數(shù)據(jù)或敏感數(shù)據(jù)在“密文”方式下工作。數(shù)據(jù)加密的過程是對原來為明文數(shù)據(jù)按某種算法進(jìn)行處理,使其成為不可讀的一段代碼,加密后的數(shù)據(jù)也稱為“密文”,使其只能在輸入相應(yīng)的密鑰之后才能顯示出本來內(nèi)容,通過這樣的途徑來達(dá)到保護(hù)數(shù)據(jù)不被非法人竊取、閱讀的目的,確保了數(shù)據(jù)庫數(shù)據(jù)的安全。

目前,我國中小型企事業(yè)單位使用的信息系統(tǒng),大多采用自行研發(fā)或與專業(yè)公司聯(lián)系開發(fā),研發(fā)主要是以實(shí)現(xiàn)相關(guān)業(yè)務(wù)處理和功能為目標(biāo)。雖然大型數(shù)據(jù)庫管理系統(tǒng),如Oracle、SQL Server等,已經(jīng)提供了一些簡單的數(shù)據(jù)加密功能,但其加密性能有限,對于系統(tǒng)維護(hù)人員很容易進(jìn)入數(shù)據(jù)庫并修改數(shù)據(jù),因此,對數(shù)據(jù)庫中的關(guān)鍵數(shù)據(jù)進(jìn)行適當(dāng)?shù)募用?,有利于防止重要?shù)據(jù)的泄漏或惡意更改,是數(shù)據(jù)庫安全的最后一道防線。簡單有效的數(shù)據(jù)加密方法可采用異或加密法。

淺析異或加密在數(shù)據(jù)庫中的應(yīng)用

異或加密的策略
異或加密是一種容易實(shí)現(xiàn)的技術(shù),非常適合采用自行研發(fā)的信息系統(tǒng)中使用,在對數(shù)據(jù)進(jìn)行異或加密之前,可以先對其進(jìn)行與其它處理,如:可以對數(shù)據(jù)進(jìn)行循環(huán)位移,之后再進(jìn)行加密,增加破解難度。

只對重要或敏感數(shù)據(jù)加密
我們使用異或加密技術(shù),主要針對數(shù)據(jù)庫中的數(shù)據(jù),因此,系統(tǒng)中可以選擇需要加密的數(shù)據(jù)庫列,以便于用戶選擇那些敏感信息進(jìn)行加密而不是全部數(shù)據(jù)都加密。只對用戶的敏感數(shù)據(jù)加密可以提高數(shù)據(jù)庫訪問速度。這樣有利于用戶在效率與安全性之間進(jìn)行自主選擇。

加密密碼的設(shè)置原則
加密密碼就是參與異或的數(shù)據(jù),是以字符串形式存在,其字符串長度應(yīng)該與數(shù)據(jù)長度一致,盡量采用字母+數(shù)字形式,密碼的保密至關(guān)重要,例如,可以考慮存放在注冊表中。

異或加密的局限性
異或加密是強(qiáng)度極低的一種方式,除非極長的密碼,才能確保加密的有效性,但是,使密碼達(dá)到與數(shù)據(jù)一致,顯然是不可能的,因此,異或加密的數(shù)據(jù)長度會受到限制。由于異或加密的強(qiáng)度極低,因此,應(yīng)根據(jù)數(shù)據(jù)庫加密的保密性來決定采用什么樣的加密技術(shù),如果想獲得比較可靠的加密,可以采用分組交換式加密方案。