摘要:隨著計算機網(wǎng)絡(luò)的快速發(fā)展,政府、各個企業(yè)、組織機構(gòu)等單位都逐漸開始大量使用各種信息系統(tǒng)并且通過開放的網(wǎng)絡(luò)來進行信息交換,這極大地提高了各類數(shù)據(jù)庫的利用率。目前主流網(wǎng)站后臺管理系統(tǒng)主要是依靠數(shù)據(jù)庫,隨著應(yīng)用平臺的不斷完善,數(shù)據(jù)庫安全問題已經(jīng)逐漸成為企事業(yè)單位信息主管關(guān)注的重點。
關(guān)鍵詞:數(shù)據(jù)庫;數(shù)據(jù)庫安全;加密
一、引言
在網(wǎng)絡(luò)信息時代,信息系統(tǒng)最關(guān)鍵的資源不是硬件設(shè)備,而是數(shù)據(jù)及存放數(shù)據(jù)的數(shù)據(jù)庫。目前大多數(shù)企事業(yè)單位大多關(guān)注網(wǎng)絡(luò)及操作系統(tǒng)的安全,而不太關(guān)注存放數(shù)據(jù)的數(shù)據(jù)庫安全。因而,數(shù)據(jù)庫的安全問題顯得尤為重要。對于數(shù)據(jù)庫使用者來說,既要保證數(shù)據(jù)庫系統(tǒng)提供數(shù)據(jù)的正確性,又能確保管理方便。隨著各種加密算法以及密文存儲形式的應(yīng)用,數(shù)據(jù)庫的安全性將逐步提高,但目前應(yīng)用于數(shù)據(jù)庫系統(tǒng)的復(fù)雜加密算法往往表現(xiàn)出對數(shù)據(jù)庫訪問和存取的性能影響較大。因此,如何在保證數(shù)據(jù)庫的保密性的同時,設(shè)計一種能夠較好適應(yīng)數(shù)據(jù)庫系統(tǒng)的加密方案,提高加密數(shù)據(jù)庫安全性,兼顧數(shù)據(jù)的讀存效率,成為隨之而來的急需解決的問題。
二、國內(nèi)外研究情況
關(guān)于秘鑰的產(chǎn)生和管理。密鑰管理技術(shù)是數(shù)據(jù)庫加密中的一項關(guān)鍵技術(shù),密鑰管理的好壞直接關(guān)系到密文數(shù)據(jù)的安全和整個加密系統(tǒng)的性能。如果多個數(shù)據(jù)由一個密鑰來加密,就會降低加密系統(tǒng)的安全性;數(shù)據(jù)庫容量大,所以要加密的數(shù)據(jù)很多,需要的密鑰數(shù)量可能很大;用戶的密鑰量較小,以確保存儲效率。數(shù)據(jù)庫中采用“一次一密”是最安全的,然而要為數(shù)據(jù)庫中每一個數(shù)據(jù)生成并保存一個密鑰是不可取的。因此,很多學(xué)者提出主密鑰、用戶密鑰、工作密鑰分別產(chǎn)生和管理的策略。有人提出一種兩級轉(zhuǎn)換表密鑰管理方案,盡管能很好地保護主密鑰,但其采取的用主密鑰對某一類數(shù)據(jù)加密的方法卻大大降低數(shù)據(jù)的加密強度,進而也就大大降低被加密數(shù)據(jù)的安全性。
三、加密算法的研究
眾所周知,數(shù)據(jù)加密的核心就在于加密算法。判斷一個加密算法是好是壞,就看經(jīng)加密算法產(chǎn)生的加密內(nèi)容是否有重碼,頻率是否平衡。另外還必須考慮算法的加解密效率,能夠保證應(yīng)用中的響應(yīng)速度。另外,用傳統(tǒng)加密算法對數(shù)據(jù)加密后,數(shù)據(jù)的相似性(Similarity)、有序性(Ordering)、可比性(Comparability)都會遭到破壞,這給密文查詢帶來很大的困難。因此,加密算法的研究主要集中在提高加解密效率、適應(yīng)密文操作的加密算法。
四、密文查詢技術(shù)的研究
密文數(shù)據(jù)庫領(lǐng)域研究最多的一個方向是密文查詢,密文查詢的目標(biāo)是快速地找到符合條件的數(shù)據(jù)。系統(tǒng)可以直接對明文數(shù)據(jù)庫文件中的數(shù)據(jù)進行排序后建立索引文件,查詢時系統(tǒng)借助索引文件對數(shù)據(jù)進行檢索。但是加密數(shù)據(jù)之后,密文數(shù)據(jù)已不再保持明文數(shù)據(jù)原有的順序關(guān)系,顯然在密文數(shù)據(jù)的基礎(chǔ)上不能像以往那樣建立明文數(shù)據(jù)的索引文件。提高密文數(shù)據(jù)庫查詢速度的方法主要有兩類:一類是基于桶標(biāo)識(Bucket ID)轉(zhuǎn)換的加密方法,該方法支持密文區(qū)間查詢,提高密文查詢的速度;另一類是通過額外存儲字符數(shù)據(jù)特征值,查詢時利用特征值進行一次粗糙查詢,然后通過解密粗糙查詢的結(jié)果進行精確匹配。
五、數(shù)據(jù)類型轉(zhuǎn)換方面的問題
一般加密算法很難確保要加密數(shù)據(jù)的格式、長度和值域不變,因此在對數(shù)據(jù)進行加密時,往往把它相對應(yīng)的加密數(shù)據(jù)的字段類型和長度存放在另外一張密表里。在數(shù)據(jù)庫中數(shù)據(jù)經(jīng)加密后形成的密文仍然以關(guān)系模式存在,這樣能夠確保密文的類型被DBMS所識別以及能被DBMS存取和處理。SQL Server支持多種類型數(shù)據(jù),比如用戶自己定義的數(shù)據(jù)類型以及系統(tǒng)提供的數(shù)據(jù)類型。而且數(shù)據(jù)庫加密過程并不違背安全機制。如果在加/解密時,多考慮傳統(tǒng)數(shù)據(jù)庫安全機制,那么就可以精確地訪問機密數(shù)據(jù),從而確保數(shù)據(jù)的安全。
六、對加密數(shù)據(jù)庫來說數(shù)據(jù)庫備份工作非常重要
首先,要對數(shù)據(jù)庫中以“_Encrypt”為后綴名的表進行備份,因為包含機密數(shù)據(jù)的密文信息存儲在以“_Encrypt”結(jié)尾的表中。而且通過master數(shù)據(jù)庫中的加密字典中的密鑰形式,加密字段中的眾多機密數(shù)據(jù)才得以返回為解密。數(shù)據(jù)庫加密和數(shù)據(jù)庫備份缺一不可,兩者相輔相成。
本文重點分析了數(shù)據(jù)庫加密將加密技術(shù)與數(shù)據(jù)庫技術(shù)相結(jié)合,以密文的形式在數(shù)據(jù)庫中存放敏感信息。隨著計算機技術(shù)的不斷應(yīng)用,當(dāng)前信息安全的核心問題是數(shù)據(jù)庫安全問題,而涉及信息安全的核心問題之一就是數(shù)據(jù)庫加密問題。從安全程度、維護費用等綜合指標(biāo)來考慮,數(shù)據(jù)庫加密是目前性價比最高的安全手段。今后數(shù)據(jù)庫的推廣和研究的重點之一就是數(shù)據(jù)庫加密技術(shù)的應(yīng)用,因為數(shù)據(jù)經(jīng)過加密,即使丟失,也能確保數(shù)據(jù)的安全。
參考文獻:
[1] 李桂來,劉海濤.網(wǎng)絡(luò)數(shù)據(jù)庫安全的探討[J].中國現(xiàn)代教育裝備,2006(l):23-24
[2] 李亞秀,劉國華.關(guān)系數(shù)據(jù)庫中字符數(shù)據(jù)的保序加密方法[J].無線電工程,2006,36(4):1-3
[3] 王正飛,汪衛(wèi),施伯樂.加密數(shù)據(jù)的一種高效查詢方法[J].計算機工程與應(yīng)用,2008,44(12):29-33
作者簡介:陳宇( 1983—),男,河北軟件職業(yè)技術(shù)學(xué)院,講師,主要負責(zé)軟件設(shè)計開發(fā)方面專業(yè)課程。