SQL Server 2008的選擇加密演算法

iSQlServer發表於2008-11-25

加密是希望保護 SQL Server 例項安全的管理員可以採用的多種深度防禦方法之一。

加密演算法定義了未經授權的使用者無法輕易逆轉的資料轉換。SQL Server 允許管理員和開發人員從多種演算法中進行選擇,其中包括 DES、Triple DES、TRIPLE_DES_3KEY、RC2、RC4、128 位 RC4、DESX、128 位 AES、192 位 AES 和 256 位 AES。

沒有一種演算法能夠解決所有問題,有關每種演算法的優勢的說明不屬於 SQL Server 聯機叢書的討論範疇。但是,下列一般原則適應於:

強加密通常會比較弱的加密佔用更多的 CPU 資源。

長金鑰通常會比短金鑰生成更強的加密。

非對稱加密比使用相同金鑰長度的對稱加密更強,但速度相對較慢。

使用長金鑰的塊密碼比流密碼更強。

複雜的長密碼比短密碼更強。

如果您正在加密大量資料,應使用對稱金鑰來加密資料,並使用非對稱金鑰來加密該對稱金鑰。

不能壓縮已加密的資料,但可以加密已壓縮的資料。如果使用壓縮,應在加密前壓縮資料。

重要提示:
對不同資料塊重複使用相同的 RC4 或 RC4_128 KEY_GUID 將導致產生相同的 RC4 金鑰,因為 SQL Server 不自動提供 salt。重複使用相同的 RC4 金鑰是已知錯誤,將導致加密非常不可靠。因此,不推薦使用 RC4 和 RC4_128 關鍵字。後續版本的 Microsoft SQL Server 將刪除該功能。請不要在新的開發工作中使用該功能,並儘快修改當前還在使用該功能的應用程式。
 


有關加密演算法和加密技術的詳細資訊,請參閱 MSDN 的 .NET Framework 開發人員指南中的重要安全性概念。

關於 DES 演算法的說明:

DESX 的命名不正確。使用 ALGORITHM = DESX 建立的對稱金鑰實際上使用的是具有 192 位金鑰的 TRIPLE DES 密碼。不提供 DESX 演算法。後續版本的 Microsoft SQL Server 將刪除該功能。請避免在新的開發工作中使用該功能,並著手修改當前還在使用該功能的應用程式。

使用 ALGORITHM = TRIPLE_DES_3KEY 建立的對稱金鑰使用的是具有 192 位金鑰的 TRIPLE DES。

使用 ALGORITHM = TRIPLE_DES 建立的對稱金鑰使用的是具有 128 位金鑰的 TRIPLE DES。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-503168/,如需轉載,請註明出處,否則將追究法律責任。

相關文章