【正文】
據(jù)(比如用戶(hù)的密碼、信用卡信息等)而言是很大的沖擊 。 項(xiàng)目?jī)?nèi)容及技術(shù)原理簡(jiǎn)介 項(xiàng)目?jī)?nèi)容 基于 SQL Server 2021 的數(shù)據(jù)庫(kù)加密 SQL Server 2021 的安全體系與加密體系 A. 安全體系 : i. 網(wǎng)絡(luò)安全。 ii. Windows 操作系統(tǒng)安全。 iii. SQL Server 2021 服務(wù) 器安全。 iv. SQL Server 2021 數(shù)據(jù)庫(kù)安全。 v. SQL Server 2021 數(shù)據(jù)對(duì)象安全。 vi. 物理存儲(chǔ)的安全。 B. 加密體系: 在 SQL Server 2021 之前的版本 ,如果我們需要對(duì)其中的數(shù)據(jù)進(jìn)行加密,就得需要單獨(dú)的第三方軟件來(lái)完成,而在 SQL Server 2021 中,其自身就采用了加密機(jī)制,既包括對(duì)稱(chēng)加密技術(shù)也包括數(shù)字簽名和非對(duì)稱(chēng)加密技術(shù),也就是說(shuō)不需要借助第三方軟件來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)的加密和頒發(fā)數(shù)字證書(shū)。 i. 在 OS 層加密。所以,對(duì)大型數(shù)據(jù)庫(kù)來(lái)說(shuō),在 OS 層對(duì)數(shù)據(jù)庫(kù)文件進(jìn)行加密 很難實(shí)現(xiàn)。 5 這種加密是指數(shù)據(jù)在物理存取之前完成 加解密 工作。其缺點(diǎn)是加密運(yùn)算在服務(wù)器端進(jìn)行,加重了服務(wù)器的負(fù)載,而且DBMS 和加密器之間的接口需要 DBMS 開(kāi)發(fā)商的支持。 采用這種加密方式進(jìn)行加密,加 /脫密運(yùn) 算可在客戶(hù)端進(jìn)行,它的優(yōu)點(diǎn)是不會(huì)加重?cái)?shù)據(jù)庫(kù)服務(wù)器的負(fù)載并且可以實(shí)現(xiàn)網(wǎng)上傳輸?shù)募用?,缺點(diǎn)是加密功能會(huì)受到一些限制,與數(shù)據(jù)庫(kù)管理系統(tǒng)之間的耦合性稍差。 SQL Server 2021 服務(wù)器安裝時(shí),會(huì)自動(dòng)產(chǎn)生一個(gè)基于對(duì)稱(chēng)加密技術(shù)的服務(wù)器主密鑰。管理員 不能對(duì)服務(wù)器主密鑰進(jìn)行修改或刪除, SQL Server 2021 僅 提供備份和恢復(fù)服務(wù)器主密鑰的功能。 如果要加密數(shù)據(jù)庫(kù)中的數(shù)據(jù),管理員就要通過(guò)特定的命令來(lái)產(chǎn)生數(shù)據(jù)庫(kù)的主密鑰。 iii. DP API??梢哉J(rèn)為 DP API 就是把 SQL Server 2021 服務(wù)器和 Windows 操作系統(tǒng)聯(lián)系起來(lái)的接口,基于這個(gè)接口, SQL Server 2021 就可以使用操作系統(tǒng)的加密功能。 SQL Server 2021 提供了數(shù)字證書(shū)的頒發(fā)功能,管理員僅需要通過(guò)執(zhí)行相關(guān)的語(yǔ)句就可以生成數(shù)字證書(shū),生成的數(shù)字證書(shū)還可以通過(guò)數(shù)據(jù)庫(kù)主密鑰進(jìn)行加密。數(shù)字證書(shū)可以用于對(duì)對(duì)稱(chēng)密鑰進(jìn)行加密。 SQL Server 2021 提供內(nèi)置的產(chǎn)生對(duì)稱(chēng)密鑰的語(yǔ)句,產(chǎn)生的8 對(duì)稱(chēng)密鑰可以對(duì)數(shù)據(jù)進(jìn)行加密。對(duì) 稱(chēng)密鑰本身可以被另一個(gè)對(duì)稱(chēng)密鑰加密。 需要注意的是,在進(jìn)行加解密之前,都要先確保密鑰未開(kāi)啟狀態(tài),而在加解密結(jié)束后,要將對(duì)稱(chēng)密鑰關(guān)閉。需要指出的是,不同的 Windows 操作系統(tǒng)版本住處的加解密算法可能不完全一致,比如說(shuō) Windows XP Profession 不支持 AES256 的加解密算法,在執(zhí)行相對(duì)應(yīng)的 SQL語(yǔ)句時(shí)會(huì)提示相關(guān)的信息。 IBM 公司的 , , 在 IBM Systems Journal 1980 提出的《 Database Security: Requriement, Policies, and Models》,以及 Gee I, Davida LW, John B K 在 1981 年的ACM Transaction on Database System 上發(fā)表《 A database encryption system with subkey》 ,被普遍認(rèn)為代表著加密數(shù)據(jù)庫(kù)研究的開(kāi)始。 TCSEC 的發(fā)布有力的促進(jìn)了安全計(jì)算機(jī)系統(tǒng)的研究,也促進(jìn)了安全數(shù)據(jù)庫(kù)管理系統(tǒng)的研究。這種方法減少了加解密的開(kāi)銷(xiāo),提高了機(jī)密數(shù)據(jù)的操作性能。 近幾年來(lái),很多大型關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)主要都是通過(guò)不同程度的修改 DBMS 核心來(lái)達(dá)到數(shù)據(jù)庫(kù)安全的效果。各種主流數(shù)據(jù)庫(kù),除了提出自身的數(shù)據(jù)庫(kù)加密解決方案外,還積極與第三方軟件合作,