您好,登錄后才能下訂單哦!
本篇內容介紹了“SQL Server數據加密方式是怎樣的”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
數據加密是數據庫被破解、物理介質被盜、備份被竊取的最后一道防線,數據加密,一方面解決數據被竊取安全問題,另一方面有關法律要求強制加密數據。SQL Server 的數據加密相較于其他數據庫,功能相對完善,加密方法較多。通常來講,數據加密分為對稱加密和非對稱加密。對稱加密:加密與解密使用同一密鑰,密鑰需要傳輸,安全性較弱,但性能較非對稱要好。非對稱加密:加密與解密使用不同密鑰(公鑰和私鑰),較對稱密鑰安全性較好,但是算法較復雜,帶來性能上的損失。因此,折中的方法是使用對稱密鑰加密數據,使用非對稱密鑰加密對稱密鑰。這樣既保證高性能,又提高密鑰的可靠性。
同樣,SQL Server 就使用了折中的方法,所以SQL Server 加密功能包含2個部分:數據加密和密鑰管理
說道數據加密,我們不得不說下加密算法,SQL Server支持多種加密算法:
由圖可以看出,加密是分層級的。每一個數據庫實例都擁有一個服務主密鑰(Service Master Key),這個密鑰是實例的根密鑰,在實例安裝的時候自動生成,其本身由Windows提供的數據保護API進行保護(Data Pertection API),服務主密鑰除了為其子節點提供加密服務之外,還用于加密一些實例級別的信息,比如實例的登錄名密碼或者鏈接服務器的信息。
在服務主密鑰之下的是數據庫主密鑰(Database Master Key),這個密鑰由服務主密鑰進行加密。這是一個數據庫級別的密鑰,可以用于為創建數據庫級別的證書或非對稱密鑰提供加密,每一個數據庫只能有一個數據庫主密鑰。
EKM模塊,這個比較特別,全稱可擴展密鑰管理模塊,該功能增強sqlserver密鑰管理的能力,允許將密鑰存儲到數據庫之外,包括一些硬件,如智能卡、USB設備或硬件安全模塊(HSM);并且允許使用第三方產品來管理密鑰和進行加密;另外,有條件的可以使用更高性能的HSM模塊來加解密,減少加解密上性能的損失。
未保證觸發器、存儲過程、視圖等定義信息,我們可以在定義sqlserver對象的時候添加WITH ENCRYPTION字段來加密對象。
通過函數加密表中的某一列數據。可以通過密碼、對稱密鑰、非對稱密鑰、證書等4中方式加密。其中,還包括 帶有驗證器的加密函數,驗證器用來解決密文替換問題,驗證器一般選用不更改獨一無二的id,這樣就算密文替換,驗證器不對,一樣失敗。
通過證書的方式對ssl連接加密,一般用于鏡像,主從機器之前的連接就是通過這種方式。
透明數據加密,顧名思義,是在用戶不感知的情況下完成加解密操作。
它的加密是在頁級別進行,是在寫入磁盤前加密,讀入內存時解密,針對數據和日志文件,做到實時I/O加密,并且備份文件也會一同加密。
密鑰存在數據庫引導記錄中,收到證書或者非對稱密鑰的保護,也可以與EKM模塊一同使用。官方說法,額外占用3%-5%的cpu資源。
TDE也有一些缺點:
壓縮率小,由于它是先加密再壓縮的,所以無法顯著壓縮備份。
備份同樣是加密的,所有恢復的時候要小心,注意備份證書和密鑰,才能在另個實例中還原數據庫
性能有一定損耗
支持備份的過程中進行加密,并且支持先壓縮在加密,保持高壓縮比,打破了使用透明數據加密后幾乎沒有壓縮率的窘境。
因此,使用原生備份加密無論在將數據備份到異地數據中心,還是將數據備份到云端,都能夠以非常低的成本對數據提供額外的安全保障。
全程加密,數據永遠是加密狀態,你可以在加密數據上執行操作,無需先對它們解密,也就是說加密的敏感信息不會有機會變為明文。
全程加密針對列做處理,在創建列主密鑰,列加密密鑰后,可以在創建表的時候設置列加密。
加密模式分為兩種:確定型加密與隨機型加密。
確定型加密能夠確保對某個值加密后的結果是始終相同的,這就允許使用者對該數據列進行等值比較、連接及分組操作。確定型加密的缺點在于有可能揣測出原文,而隨機型加密能夠保證某個給定值在任意兩次加密后的結果總是不同的,從而杜絕了猜出原值的可能性。官方建議需要搜索和分組的列使用確定性加密,而注釋和其他敏感不會進行搜索分組的信息使用隨機性加密。
“SQL Server數據加密方式是怎樣的”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。