瞭解資料加密金鑰和主要金鑰
加密是使用金鑰(一段資料)將明文轉換為密文。當你首次使用應用程式時, 會生成一個隨機金鑰,該金鑰不會以明文形式儲存在任何位置。這就是資料加密金鑰(DEK)。所有資料都使用此金鑰進行加密。 主要金鑰(也稱為金鑰加密金鑰或 KEK)不直接加密資料。相反,它是一個用於加密其他金鑰的包裝器。 也提供了內建主要金鑰,但如上所述,你也可以改為定義自己的主要金鑰。本主題的其餘部分介紹如何建立或更新使用者定義的主要金鑰。定義自定義主要金鑰
定義主要金鑰的方式因 版本型別而異。-
**跨平臺版:**在 arc.properties 配置檔案中使用 cdata.encryption.key 屬性定義金鑰。如果要定義 PFX 金鑰且需要密碼,請在 cdata.encryption.key.password 屬性中進行設定。或者,如果使用 AES 金鑰,可以使用
APP_KEY環境變數來提供金鑰檔案路徑。 -
**.NET 版:**如果在 Web.Config 檔案的
appSettings元素中找不到AppKey設定,則主要金鑰加密處於停用狀態。要啟用它,請在 Web.Config 檔案的AppKey設定元素中設定檔案路徑。如果要定義 PFX 金鑰且需要密碼,請在AppKeyPassword設定中進行設定。以下是需要新增到 Web.Config 中的 XML 片段:
更改主要金鑰
如有必要,可以更換主要金鑰檔案。 始終使用你提供的金鑰進行加密。金鑰檔案由系統安全地管理和備份,該過程旨在為使用者降低風險和複雜度。要更改主要金鑰,請確保已停止伺服器,然後使用以下選項之一:- **跨平臺版:**管理員可以使用
arc.jar -ChangeMasterKey <new-master-key-file-path>命令輪換加密金鑰,而不會中斷操作。如果要將主要金鑰更改為 PFX 檔案且需要密碼,請使用arc.jar -ChangeMasterKey <new-master-key-file-path> <new-master-key-password>命令。 - **.NET 版:**管理員必須使用
CData.exe appChangeMasterKey -NewKey <new-master-key-file-path> -@libdir "www\bin"命令(不要直接修改 Web.Config 檔案)。如果要將主要金鑰更改為 PFX 檔案且需要密碼,請使用CData.exe appChangeMasterKey -NewKey <new-master-key-file-path> -NewKeyPassword <new-PFX-password> -@libdir "www\bin"命令。
在 PFX 憑證檔案中僅支援 RSA 演算法。其他 DSA 或 ECC 憑證將被拒絕。
使用安全模式
如果丟失了自定義主要金鑰,並且需要從其他記錄源重新儲存配置中的敏感值,可以在安全模式下啟動 。這會停用所有後端自動化服務,並啟用非常有限的功能,以便你嘗試恢復設定和執行其他任務。要啟用安全模式:- **跨平臺版:**執行
java -jar arc.jar -safemode - **.NET 版:**在 Web.Config 檔案的
appSettings元素中新增<add key="SafeMode" value="true" />。