SQL Server數(shù)據(jù)庫加密技術(shù)
當(dāng)前,隨著計算機網(wǎng)絡(luò)的飛速發(fā)展,數(shù)據(jù)庫技術(shù)的應(yīng)用也變得越來越廣泛,數(shù)據(jù)庫的安全問題也日益受到關(guān)注。要確保SQL Server數(shù)據(jù)庫的安全,最核心的問題就是給SQL Server的數(shù)據(jù)庫文件加密。

SQL Server數(shù)據(jù)庫加密技術(shù)就是保證SQL Server數(shù)據(jù)庫中數(shù)據(jù)的保密性、正確性。即保護SQL Server數(shù)據(jù)庫中的數(shù)據(jù)不被非法用戶獲取,不因為操作員失誤或者軟硬件故障而導(dǎo)致數(shù)據(jù)錯誤。
一、對于SQL Server的數(shù)據(jù)庫加密技術(shù)的要求
SQL Server的數(shù)據(jù)庫加密技術(shù)是保障信息系統(tǒng)安全的重要技術(shù)之一。它的目標(biāo)是保證系統(tǒng)中的數(shù)據(jù)只能被合法用戶所訪問。SQL Server的數(shù)據(jù)庫加密技術(shù)不僅要考慮保證數(shù)據(jù)庫的合法操作用戶對于數(shù)據(jù)庫的正常使用,同時,還要考慮防止外來入侵者的非法訪問。所以,這就需要建立一個靈活而全面的SQL Server的數(shù)據(jù)庫加密系統(tǒng),以保證SQL Server數(shù)據(jù)庫的安全。隨著面向服務(wù)架構(gòu)的發(fā)展以及網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜化發(fā)展,對于SQL Server數(shù)據(jù)庫的訪問具有較高的動態(tài)特性,因此SQL Server的數(shù)據(jù)庫加密技術(shù)必須滿足應(yīng)用系統(tǒng)的動態(tài)性和開放性的要求。
二、SQL Server數(shù)據(jù)庫的加密算法
如何才能滿足上述的對于SQL Server的數(shù)據(jù)庫加密技術(shù)的要求呢?必須合理選擇SQL Server數(shù)據(jù)庫的加密算法。
加密算法在SQL Server數(shù)據(jù)庫加密技術(shù)中起著非常關(guān)鍵的作用,一個合適的加密算法應(yīng)該產(chǎn)生頻率平衡的密文,并且密文的周期必須是足夠長的,保證不可能出現(xiàn)密文中碼的重復(fù)的問題。這樣,非法入侵者通過對密文的頻率、密文中碼的重復(fù)等特征的分析是不可能得到數(shù)據(jù)庫的原始的明文數(shù)據(jù)的。數(shù)據(jù)庫的加密算法應(yīng)該和數(shù)據(jù)庫系統(tǒng)的特點相符合,例如,加密算法必須滿足強度高、具有非??焖俚募用芙饷芩俣?、對于明文數(shù)據(jù)長度的變化范圍比較適應(yīng)、在使用加密算法對數(shù)據(jù)進行加密之后的存儲空間不會增加太多等等。
當(dāng)前主要包括下面三種比較常見SQL Server數(shù)據(jù)庫的加密算法:序列密碼加密算法、公開密鑰密碼加密算法和分組密碼加密算法。
1、序列密碼加密算法
序列密碼加密算法進行明文與隨機序列的直接運算,得到的每一位密文與明文其它位的數(shù)據(jù)都是沒有任何的關(guān)系的。這種加密算法具有比較高的運算速度,同時,通常情況下,計算得到的密文的長度與明文的長度是相等的。但是,如果能夠產(chǎn)生的密文對是非常大量的,那么,將密文進行破解是非常容易的。通常情況下,這種加密算法在一次一密的傳輸加密中使用。
2、公開密鑰加密算法
這種加密算法也就是非對稱密鑰算法,具有非常慢的運算速度,對于數(shù)據(jù)量非常大的情況下的加密和解密是非常不符合的。
3、分組密碼加密算法
這種加密算法首先將明文根據(jù)固定的長度進行分組,然后選擇不同的密鑰對得到的分組進行加密。密文中的每一位數(shù)據(jù)一方面是和密鑰有密切關(guān)系的,另一方面也和得到的分組中的其它明文數(shù)據(jù)有密切關(guān)系。對于采用這種加密算法得到的密文,進行破譯是非常困難的,該算法具有很好的保密性,但是,這種加密算法同時也具備一些相應(yīng)的缺點,那就是進行密鑰的分發(fā)和管理是非常不容易的。
通過上述對于三種加密算法的對比分析和比較,采用分組加密算法作為SQL Server數(shù)據(jù)庫的加密算法是更加符合的,但是,值得引起注意的是,對于這種加密算法必須解決密鑰管理的問題。
SQL Server數(shù)據(jù)庫由于其具有存儲數(shù)據(jù)容量大的優(yōu)點,被越來越廣泛的應(yīng)用于企業(yè)管理信息系統(tǒng)的開發(fā)中。SQL Server數(shù)據(jù)庫能夠最大限度地給用戶提供信息的同時,必須能夠有效地防止非法用戶對于數(shù)據(jù)庫中的數(shù)據(jù)的竊取和篡改,而且可以保證合法用戶對于數(shù)據(jù)庫進行方便的管理與維護。
小知識之SQL Server數(shù)據(jù)庫
SQL Server是由Microsoft開發(fā)和推廣的關(guān)系數(shù)據(jù)庫管理系統(tǒng)(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同開發(fā)的,并于1988年推出了第一個OS/2版本。Microsoft SQL Server近年來不斷更新版本,1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和用戶見面;SQL Server 2000是Microsoft公司于2000年推出,目前最新版本是2012年3月份推出的SQL SERVER 2012。










