軟件測試中用EKM提升SQL Server 2008數據庫安全
1、為什么要添加 EKM功能?
我們知道,為防止 數據庫和日志文件被無權限的人訪問或黑客攻擊,加密是一種很主要的手段。此前的SQL Server自帶的數據加密功能可以加密文件,但它將密鑰存儲在SQL Server中,這帶來了安全隱患。
SQL Server 2005并不允許在本地SQL Server 2005加密環境中運用第三方的密鑰或密鑰管理程序。這樣,如果公司在其它運用 中運用第三方加密產品對數據執行 了加密,而你卻不能用這個產品對SOL Server的數據執行 加密或管理SQL Server的密鑰,這是相當麻煩的。
EKM彌補了這個弱點,它允許密鑰存儲在數據庫之外,包括特殊的硬件(例如智能卡、USB設備)或被稱為硬件安全模塊(Hardware Security Modules,HSM)的軟件模塊中。因此,在SQL Server 2008中引入EKM是非常實用的。
2、將密鑰存儲在HSM中
EKM功能在SQL Server 2008的企業版、開發版、評估版中都可用,它允許密鑰存儲在數據庫之外的HSM中,與加密數據分開存儲。
把密鑰存儲在HSM中可以防止 它們被數據庫所有者和其他高級別數據庫用戶訪問,因為這些用戶沒有權限訪問存儲密鑰的HSM。只有那些在加密解密流程中擁有HSM設備權限的最終用戶,才能用這些密鑰加密新數據或查看現有巳加密數據(須要留心的是:如果HSM 設備沒有運用過,sysadmin用戶組的成員仍然可以訪問密鑰)。如果要讓用戶可以運用第三方的HSM,須要在SQL Server 2008的EKM中將這些第三方廠商的EKM/HSM模塊注冊到SOL Server 2008中。
3、如何 啟用/禁用EKM?
(1).啟用EKM
要在數據庫中運用 EKM,必須先用系統存儲流程 sp_configure來啟用SOL Server實例的EKM功能。
啟用EKM提供程序高級選項
sp_configure 'show advanced options',1;
GO
RECONFIGURE;
GO
啟用EKM提供程序
sp_configure 'EKM provider enabled',1;
GO
RECONFIGURE;
GO
啟用EKM之后,要建立一個EKM Provider(或者更多,你可能用到了多個HSM ),運用新的CREATE CRYPTOGRAPHIC PROVIDER的DDL(Data Definition Language,數據解釋語言)語句。
CREATE CRYPTOGRAPHIC PROVIDER EKM_Prov
FROM FILE = 'C:\EKM_Files\KeyProvFile.dll';
GO
啟用了EKM并建立了Provider之后,就可以用這個Provider作為密鑰。而如果要用EKM Provider模塊執行 安全登錄,我們也可以用它來執行 認證。
(2).禁用EKM
在某些情況下,我們可能須要在數據庫中禁用一個Provider并啟用新的Provider。例如,如果公司選擇了另外一個第三方密鑰提供商作為標準。在SOL Server 2008中,我們可以禁用Provider,但仍然把它保留在數據庫中,在準備好之后再長久刪除它,這樣就可以從容地找出運用到舊Provider的對象,把它們修改為運用新的Provider。不過,筆者建議最好保留舊的Provider,以防出錯。要禁用一個Provider,運用 ALTER CRYPTOGRAPHIC PROVIDER語句,可執行如下命令:
ALTER CRYPTOGRAPHIC PROVIDER pEKM_Prov_ModuIe
FROM FILE=''DISABLE
4、如何 獲知EKM運用情況?
部署和實施EKM的數據庫管理員和開發人員還須要對存儲EKM Provider的元數據視圖及有關的信息有一定的認識。SQL Server 2008提供了一系列新的目錄視圖、動態管理視圖和動態管理函數,數據庫管理員們可以用它們檢查EKM Provider和EKM的運用情況。
運用 這些視圖和函數我們可獲取與EKM有關的信息,例如SQL Sewer實例中正在運用的Provider列表、運用 EKM 的認證信息列表、數據庫中每個Provider ID的密鑰列表、rovider的屬性,以及每個Provider ID運用的加密算法等。
總結:通過以上對EKM相比較較基本的分析,我們看到SQL Server的加密功能在SQL Server 2008中有了很大的提升。很多數據庫管理員為能不能要運用加密而猶豫不決,這是因為他們擔心密鑰的存儲疑問,以往密鑰和加密數據是存儲在一起的,而現在SQL Sewer 2008中有了一個新的工具,它可以消除管理員們的這個擔心,EKM功能值得一用。
文章來源于領測軟件測試網 http://www.kjueaiud.com/