密鑰服務是KMS的核心組件,支援系統管理使用者主要金鑰、預設密鑰,提供密鑰的全生命週期管理和安全儲存能力,同時支援雲端式原生介面的極簡資料加密和數位簽章。本文協助您快速瞭解 KMS密鑰。
密鑰的核心用途
在KMS建立的密鑰可用於自建應用整合和雲產品服務端加密。
自建應用整合:通過調用KMS OpenAPI/SDK,在應用程式中實現資料的加解密、數位簽章、驗簽等密碼學功能。更多資訊參見自建應用整合KMS。
雲產品服務端加密:將KMS密鑰與OSS、EBS、RDS等雲產品整合,實現待用資料的透明加密,保護雲上的資料資產。更多資訊,請參見雲產品整合KMS加密概述。
密鑰類型
KMS根據管理權責和控制層級,將密鑰分為兩大類:使用者主要金鑰和預設密鑰。
密鑰類型 | 應用情境 | 子類型 | 演算法 | 系統管理權限 | 共用性 | 費用 |
使用者主要金鑰 |
|
|
| 使用者完全控制:擁有建立、啟用/禁用、輪轉、刪除等全部生命週期系統管理權限。 | 可共用。 | 收費 |
預設密鑰 | 雲產品服務端加密 |
| 對稱 | 受限管理:僅可修改部分屬性,不支援建立。詳情請參見下文密鑰管理功能對比。 | 僅限當前帳號。 | 免費 |
使用者主要金鑰
使用者主要金鑰是雲使用者自主建立並擁有完全生命週期管理的密鑰資源(建立、啟用、禁用、輪換、刪除等)。主要用於自建應用的密碼學整合,或作為雲產品服務端加密的自訂密鑰,以滿足定製化的安全需求。
類型對比
根據保護層級分類,使用者主要金鑰又分為以下三種類型:
使用者主要金鑰類型 | 費用說明 | 保護方式與安全層級 | 適用情境 | 密鑰材料來源 |
軟體密鑰 | 需購買軟體密鑰管理執行個體,支援訂用帳戶、隨用隨付 | 軟體層面保護:儲存於KMS專屬加密資料庫。 | 通用情境:兼顧成本與安全。 |
|
硬體密鑰 | 需購買硬體密鑰管理執行個體,訂用帳戶、隨用隨付 重要 使用該執行個體還需要購買2個密碼機執行個體,費用詳情,請參見Data Encryption Service產品計費。 |
| 強合規情境: 金融、政務、特定的密碼裝置要求,保護核心敏感性資料,滿足國密/FIPS等合規要求。 |
|
外部金鑰 (XKI) | 需購買外部金鑰管理執行個體 |
| 混合雲或多雲統一管理:保證密鑰控制權保留在自有EKM。 | 僅限自有EKM |
演算法支援說明
使用者主要金鑰支援對稱金鑰和非對稱金鑰,更多資訊請參見密鑰管理類型和密鑰規格。
預設密鑰
預設密鑰是由阿里雲產品自動建立和管理的密鑰,這類密鑰的系統管理權限非常有限,但可以享受免費、便捷的整合Data Encryption Service。
預設密鑰僅可用於實現雲產品服務端加密,不支援獨立的密碼運算(如調用API進行加解密)。
從KMS 1.0遷移的密鑰顯示為唯讀狀態,不支援任何操作。
類型對比
預設密鑰類型 | 密鑰來源 | 操作說明 | 唯一性 |
預設主要金鑰 | KMS 3.0 系統預設建立。 |
| 每個阿里雲帳號在每個地區下僅有1個預設主要金鑰。 |
服務密鑰 | 由雲產品(如OSS、RDS)代表使用者建立和使用的密鑰。 |
| 每個阿里雲帳號下的每種雲產品,在每個地區下僅支援建立1個服務密鑰。 |
演算法支援說明
預設密鑰僅支援對稱金鑰,更多資訊請參見密鑰管理類型和密鑰規格。
功能對比與選型指南
整合與應用對比
不同類型密鑰在產品整合、應用開發中的調用能力有所差異。下表協助您快速瞭解各類密鑰在雲產品整合和自訂應用開發中的功能實現情況。更多內容請參考雲產品整合KMS加密概述、自建應用整合KMS、阿里雲SDK。
密鑰類型 | 密鑰子類型 | 使用者自建應用密碼運算 | 雲產品服務端加密 | |
資料加解密 | 簽名驗簽 | |||
預設密鑰 | 預設主要金鑰 | |||
服務密鑰 | ||||
使用者主要金鑰 | 軟體密鑰 | |||
硬體密鑰 | ||||
外部金鑰 | ||||
密鑰管理功能對比
不同密鑰提供的生命週期管理能力有所不同,以下表格可協助您直觀瞭解各密鑰類型支援的主要管理功能,協助進行合規性和管理最佳化。如需瞭解具體實現方法,請參考下方的相關技術文檔:
密鑰類型 | 密鑰子類型 | 密鑰輪轉 | 計劃刪除密鑰 | 密鑰刪除保護 | 匯入外部金鑰材料(BYOK) | 備份管理 |
預設密鑰 | 預設主要金鑰 | 說明 需購買密鑰增值服務。 | ||||
服務密鑰 | ||||||
使用者主要金鑰 | 軟體密鑰 | 說明 僅對稱金鑰支援,非對稱金鑰不支援。 | ||||
硬體密鑰 | ||||||
外部金鑰 | ||||||
預設密鑰和使用者主要金鑰均支援管理密鑰標識(別名、標籤)。
安全和效能對比
對於效能敏感型或有嚴格合規要求的業務,效能規格和審計能力是關鍵考量點。下表詳細列出了各類密鑰的效能指標和審計支援情況。更多效能資料,請參考效能資料、使用Action Trail查詢Key Management Service的操作事件。
密鑰類型 | 密鑰子類型 | 計算效能參考(以對稱加解密為例) | 安全審計 |
預設密鑰 | 預設主要金鑰 | 1000次/秒,不支援升配 | 均支援安全審計。 |
服務密鑰 | |||
使用者主要金鑰 | 軟體密鑰 |
| |
硬體密鑰 |
| ||
外部金鑰 | 1000次/秒,不支援升配 |
常見問題
什麼是BYOK?
密鑰材料由外部產生並匯入系統的密鑰,KMS稱其為內建密鑰(BYOK),BYOK是一項功能,而非獨立的密鑰類型。不同類型的金鑰組BYOK的支援情況如下:
密鑰類型 | 密鑰子類型 | 是否支援BYOK | 說明與操作 |
使用者主要金鑰 | 軟體密鑰 | 是 | |
硬體密鑰 | |||
外部金鑰 | 否 | 不支援外部匯入。 | |
預設密鑰 | 預設主要金鑰 | 是 | 僅在首次啟用密鑰時支援選擇外部匯入密鑰材料。 |
服務密鑰 | 否 | 不支援外部匯入。 |
阿里雲和亞馬遜(AWS)密鑰類型對應關係?
阿里雲 | 亞馬遜(AWS) |
使用者主要金鑰 | Customer managed keys |
服務密鑰 | AWS managed keys |
附錄:密鑰的組成部分
一個完整的密鑰由金鑰識別元、中繼資料和密鑰材料三部分組成。
密鑰標識:用於在控制台、API或策略中唯一識別和引用一個密鑰。KMS支援三種標識符:
ID:作為密鑰的主要標識符的唯一字串。
阿里雲資源名稱 (ARN) :包含地區ID、阿里雲帳號ID、密鑰ID的綜合資源名稱,格式為
acs:kms:<REGION_ID>:<ALIBABA_CLOUD_ACCOUNT_ID>:key/<KEY_ID>。密鑰別名:使用者定義的名稱,可以指向特定的密鑰。格式為
alias/<ALIAS_NAME>。
中繼資料:描述密鑰屬性的資訊,例如密鑰ID、建立日期、密鑰狀態(如啟用、禁用)、密鑰用途(加密/解密或簽名/驗簽)等。
密鑰材料:執行加密、解密、簽名等密碼學運算的位元據。KMS支援兩種材料來源:
阿里云KMS:密鑰材料將由KMS產生。
外部(导入密钥材料):在本地產生密鑰材料後,再匯入KMS。