相關文件 下載本手冊
PDF (美式信紙) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  MySQL 8.4 常見問題  /  MySQL 8.4 常見問題:InnoDB 靜態資料加密

A.17 MySQL 8.4 常見問題:InnoDB 靜態資料加密

A.17.1. 對於有權限查看的使用者,資料是否會被解密?
A.17.2. InnoDB 靜態資料加密的相關額外負擔為何?
A.17.3. InnoDB 靜態資料加密使用哪些加密演算法?
A.17.4. 是否可以使用第三方加密演算法來取代 InnoDB 靜態資料加密功能提供的演算法?
A.17.5. 索引欄位可以加密嗎?
A.17.6. InnoDB 靜態資料加密支援哪些資料類型和資料長度?
A.17.7. 資料在網路上是否保持加密?
A.17.8. 資料庫記憶體是否包含明文或加密資料?
A.17.9. 我如何知道要加密哪些資料?
A.17.10. InnoDB 靜態資料加密與 MySQL 已經提供的加密函數有何不同?
A.17.11. 可傳輸表空間功能是否適用於 InnoDB 靜態資料加密?
A.17.12. 壓縮是否適用於 InnoDB 靜態資料加密?
A.17.13. 我可以使用 mysqldump 與加密表格嗎?
A.17.14. 如何變更(輪換、重新金鑰)主加密金鑰?
A.17.15. 如何將資料從明文 InnoDB 表空間遷移到加密的 InnoDB 表空間?

A.17.1.

對於有權限查看的使用者,資料是否會被解密?

是的。 InnoDB 靜態資料加密旨在透明地在資料庫內應用加密,而不會影響現有應用程式。以加密格式傳回資料會破壞大多數現有應用程式。 InnoDB 靜態資料加密提供加密的好處,而無需傳統資料庫加密解決方案的額外負擔,傳統資料庫加密解決方案通常需要對應用程式、資料庫觸發器和檢視進行昂貴且大量的變更。

A.17.2.

InnoDB 靜態資料加密相關的額外負擔為何?

沒有額外的儲存額外負擔。根據內部基準測試,效能額外負擔相當於個位數百分比的差異。

A.17.3.

InnoDB 靜態資料加密使用哪些加密演算法?

InnoDB 靜態資料加密支援進階加密標準 (AES256) 區塊式加密演算法。它使用電子密碼本 (ECB) 區塊加密模式進行表空間金鑰加密,並使用密碼區塊鏈 (CBC) 區塊加密模式進行資料加密。

A.17.4.

是否可以使用第三方加密演算法來取代 InnoDB 靜態資料加密功能提供的演算法?

否,無法使用其他加密演算法。提供的加密演算法被廣泛接受。

A.17.5.

索引欄位可以加密嗎?

InnoDB 靜態資料加密透明地支援所有索引。

A.17.6.

InnoDB 靜態資料加密支援哪些資料類型和資料長度?

InnoDB 靜態資料加密支援所有支援的資料類型。沒有資料長度限制。

A.17.7.

資料在網路上是否保持加密?

InnoDB 靜態功能加密的資料在從表空間檔案讀取時會被解密。因此,如果資料在網路上,則它是以明文形式存在的。但是,網路上的資料可以使用 MySQL 網路加密進行加密,該加密會使用 SSL/TLS 加密往返資料庫的資料。

A.17.8.

資料庫記憶體是否包含明文或加密資料?

使用 InnoDB 靜態資料加密,記憶體中的資料會被解密,這提供完全的透明度。

A.17.9.

我如何知道要加密哪些資料?

符合 PCI-DSS 標準要求以加密形式儲存信用卡號碼(主要帳戶號碼,或「PAN」)。違規通知法(例如,CA SB 1386、CA AB 1950 和美國 43 個以上州的類似法律)要求加密名字、姓氏、駕駛執照號碼和其他 PII 資料。在 2008 年初,CA AB 1298 將醫療和健康保險資訊新增到 PII 資料。此外,產業特定的隱私和安全標準可能要求加密某些資產。例如,製藥研究結果、油田勘探結果、財務合約或執法線人的個人資料等資產可能需要加密。在醫療保健行業中,病患資料、健康記錄和 X 光影像的隱私至關重要。

A.17.10.

InnoDB 靜態資料加密與 MySQL 已經提供的加密函數有何不同?

MySQL 中有對稱和非對稱加密 API,可用於手動加密資料庫中的資料。但是,應用程式必須管理加密金鑰並透過呼叫 API 函數來執行所需的加密和解密操作。InnoDB 靜態資料加密不需要變更應用程式,對終端使用者是透明的,並提供自動化的內建金鑰管理。

A.17.11.

可傳輸表空間功能是否適用於 InnoDB 靜態資料加密?

是的。它支援每個表格加密檔案的表空間。如需更多資訊,請參閱匯出加密表空間

A.17.12.

壓縮是否適用於 InnoDB 靜態資料加密?

使用 InnoDB 靜態資料加密的客戶可以獲得壓縮的全部好處,因為壓縮是在資料區塊加密之前應用的。

A.17.13.

我可以使用 mysqldump 與加密表格嗎?

是的。由於這些公用程式會建立邏輯備份,因此從加密表格中傾印的資料不會加密。

A.17.14.

如何變更(輪換、重新金鑰)主加密金鑰?

InnoDB 靜態資料加密使用雙層金鑰機制。當使用靜態資料加密時,個別表空間金鑰會儲存在基礎表空間資料檔案的標頭中。表空間金鑰使用主加密金鑰進行加密。主加密金鑰會在啟用表空間加密時產生,並儲存在資料庫外部。主加密金鑰會使用 ALTER INSTANCE ROTATE INNODB MASTER KEY 陳述式進行輪換,該陳述式會產生新的主加密金鑰、儲存金鑰,並將金鑰輪換到使用中。

A.17.15.

如何將資料從明文 InnoDB 表空間遷移到加密的 InnoDB 表空間?

不需要將資料從一個表格空間轉移到另一個。若要加密 InnoDB 每個資料表一個檔案的表格空間中的資料,請執行 ALTER TABLE tbl_name ENCRYPTION = 'Y'。若要加密一般表格空間或 mysql 表格空間,請執行 ALTER TABLESPACE tablespace_name ENCRYPTION = 'Y'。MySQL 8.0.13 版本引入了對一般表格空間的加密支援。自 MySQL 8.0.16 版本起,可以使用對 mysql 系統表格空間的加密支援。