程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 揭秘SQL Server 2014有哪些新特性(4)-原生備份加密

揭秘SQL Server 2014有哪些新特性(4)-原生備份加密

編輯:關於SqlServer

SQL Server 2014 CTP2之後公布了一項針對備份的特性,那就是原生備份加密。考慮到之前網絡上影響很壞的數據庫洩漏事件,本質上都是數據庫備份洩漏給第三方導致,SQL Server的原聲數據備份可以使得即使備份本身被盜,在沒有加密證書的情況下也無法使用,這有效的解決了上述數據洩漏問題。原先的解決方案

    在SQL Server 2014之前,如果希望實現對備份實現加密,會通過如下兩種方式之一實現:

使用透明數據加密(TDE)加密整個數據庫,從而使得備份和事務日志也會被加密 使用第三方備份加密工具

    首先來談一下使用透明數據加密,如果僅僅是為了對備份加密,使用TDE有點過於大材小用,因為使用TDE會導致數據庫本身和日志被加密,對CPU帶來額外開銷,此外,使用TDE加密過的數據庫如果使用備份壓縮,壓縮比率會非常低。如果使用SQL Server 2014的原生備份加密,則無需對整個數據庫進行加密,備份僅僅在被寫入磁盤之前被加密。原聲備份加密如果結合備份壓縮功能,那麼會先進行壓縮,再加密,從而得到非常高的壓縮比率。

    其次使用第三方備份加密工具需要額外的費用,並且在執行過程中也會有比較繁瑣的操作成本,使用第三方備份當需要對備份到Azure的備份進行加密時,將會非常繁瑣,而使用原生備份加密,可以直接對備份到Azure的備份進行加密,從而對OFF-SITE備份提供了額外的安全性。

使用原生數據加密

    在SQL Server 2014 企業版、BI版、標准版中包括了該功能。使用備份加密需要有二個先決條件:

存在證書或非對稱密鑰 選擇備份加密算法

    下面使用原聲數據加密對備份加密,首先建立證書:

CREATE CERTIFICATE BackupCertificate

WITH SUBJECT = 'Backup Encryption Certificate';

GO

建立完成後,直接使用證書進行備份加密:

BACKUP DATABASE TestBK TO DISK ='C:\Test_Encrypted.bak'WITH COMPRESSION, ENCRYPTION (ALGORITHM = AES_256, SERVER CERTIFICATE = BackupCertificate);


    結果如圖1所示,在圖1中,注意到SQL Server給出了提示信息要備份證書以及證書的私鑰,否則數據將無法使用。通常在最佳實踐中,當證書創建時就應該備份,數據安全永遠是第一位的。

圖1.提示備份證書私鑰

    在圖1中,注意到備份指定的加密算法是AES_256算法。SQL Server 2014提供了4種對備份加密的算法,分別是AES128、AES196、AES256和三重DES算法。

    在SQL Server 2014的Management Studio中也對原聲備份加密提供了GUI的支持,如圖2所示。

圖2.GUI對原生備份加密的GUI支持

原生加密備份對壓縮的影響

   前文提到,使用原生備份加密可以使得備份壓縮幾乎不受加密的影響,下面備份一個2.5G左右的測試庫,指定壓縮備份,第一個例子僅使用壓縮備份,第2-4例子使用壓縮備份+不同的壓縮算法,測試語句如圖3所示。

圖3.測試語句

    圖4看到,使用備份加密對數據庫備份大小幾乎毫無影響。

圖4.不同的加密算法對備份壓縮幾乎毫無影響

圖5.加密算法對備份的影響

    由圖4和圖5的結論可以得出,無論使用了何種加密算法,加密對壓縮比率幾乎毫無影響。

原生加密備份對性能的影響

    使用原生備份加密是一項極大的消耗CPU的操作,下面在圖3的基礎上進一步添加不壓縮備份的情況,備份的時間如圖6所示。

圖6.不同壓縮算法下備份時間

    由圖6測試可以看出,除了3DES算法需要消耗的時間較長之外,AES算法在CPU不成為備份機瓶頸的情況下,對備份時間並無太大的影響。但加密對具體環境的影響會因環境而已,不同環境下的測試結果呈現可能會大相徑庭,如果擔心原生加密備份對性能產生影響,請先在具體環境進行測試。

小結

    SQL Server原聲備份加密對數據安全提供了非常好的解決方案。使用原生備份加密基本不會增加備份文件大小,並且打破了使用透明數據加密後幾乎沒有壓縮率的窘境。使用原生備份加密無論在將數據備份到異地數據中心,還是將數據備份到雲端,都可以以非常低的成本對數據提供額外的安全保障。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved