相關文件 下載本手冊
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


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

A.17 MySQL 9.0 常見問題: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 系統表空間的加密支援。