Key Management Service(Key Management Service)面向阿里雲產品提供預設加密能力,加密時您可以使用雲產品預設建立的服務密鑰,也可以使用在KMS中自行建立的密鑰。本文介紹雲產品整合KMS加密的優勢以及加密機制等。
阿里雲產品整合KMS加密的優勢
增加資料的安全和隱私保護
阿里雲KMS面向大部分阿里雲產品(以下簡稱雲產品)提供資料加密能力,您可以在建立雲產品時設定加密方案,也可以在建立後設定。KMS對雲產品使用過程中的雲內資料(例如資料庫引擎產生的檔案等)進行全鏈路加密,從而為您提供雲上資料更安全的加密方案,增加資料整體的安全性和隱私性。
降低自研資料加密帶來的研發成本
在自研資料加密時通常需要解決如下問題,雲產品服務端整合KMS加密為您解決了這些複雜的工程和安全問題,降低了研發成本。
設計合理的密鑰階層和資料劃分方式,以平衡加密效能和安全性。
需要考慮密鑰輪轉、資料重加密。
需要掌握密碼學技術,選擇合適的密碼編譯演算法,保證加密體系的健壯性、安全性以及防篡改能力等。
支援雲產品加密的密鑰類型
KMS提供的預設密鑰、軟體密鑰、硬體密鑰,均支援被阿里雲產品整合用於服務端加密,具體請參見下表。更多資訊,請參見密鑰服務概述。
密鑰建立者 | 密鑰類型 | 密鑰材料來源 | 計費說明 | 說明 |
雲產品建立 | 預設密鑰(服務密鑰) | 由KMS產生。 | 免費。 | 每個阿里雲帳號下的每種雲產品,在每個地區下僅支援建立一個服務密鑰。 |
使用者自行建立 | 預設密鑰(主要金鑰) | 支援如下方式:
| 免費。 | 建立密鑰後您需要為雲產品授權,允許其使用該密鑰。具體操作,請參見Key Management Service自訂權限原則參考。 |
軟體密鑰 | 由KMS產生。 | 付費。 | ||
硬體密鑰 | 支援如下方式:
| 付費。 |
使用密鑰進行雲產品服務端加密的流程
本文以購買雲產品時配置密鑰進行服務端加密為例,您也可以購買雲產品後再配置。具體操作,請參見各雲產品官網文檔。
雲產品建立
即服務密鑰,您可以在Key Management Service控制台查看已經建立的服務密鑰。
購買雲產品時,選擇使用KMS預設祕密金鑰加密服務端資料。截圖以購買ECS為例。
說明為了便於您識別,服務密鑰被自動關聯了特殊的別名,格式為
alias/acs/<雲產品代碼>。例如,Elastic Compute Service為您建立的服務密鑰,密鑰別名為alias/acs/ecs。在Key Management Service控制台查看雲產品建立的服務密鑰。
說明密钥用法為服务密钥的密鑰,即為雲產品建立的密鑰。
服務密鑰的生命週期由雲產品代您管理,您不能在KMS控制台對它進行啟用、禁用等管理操作,但可以在Action Trail控制台查看服務密鑰的操作和使用記錄。
使用者自行建立
預設密鑰(主要金鑰)
在Key Management Service控制台啟用主要金鑰,具體操作,請參見預設密鑰。
例如,截圖中主要金鑰的密鑰別名為
alias/byok。
購買雲產品時,選擇使用預設密鑰(主要金鑰)Data Encryption Service端資料。
截圖以購買ECS為例。

軟體密鑰
購買軟體密鑰管理執行個體。具體操作,請參見購買和啟用KMS執行個體。
在Key Management Service控制台建立密鑰。具體操作,請參見軟體密鑰。
購買雲產品時,選擇使用您建立的軟體祕密金鑰加密服務端資料。
硬體密鑰
購買硬體密鑰管理執行個體。具體操作,請參見購買和啟用KMS執行個體。
在Key Management Service控制台建立密鑰。具體操作,請參見硬體密鑰。
購買雲產品時,選擇使用您建立的硬體祕密金鑰加密服務端資料。
雲產品整合KMS加密的方式
不同雲產品基於業務形態和客戶需求,其加密的具體設計略有不同。通常雲產品採用信封加密的機制實現對資料的加密,即通過KMS金鑰組資料密鑰進行加密保護,通過資料金鑰組業務資料進行加密保護,請參見如下示意圖。

在KMS中建立一個密鑰。
調用KMS的GenerateDataKey介面請求資料密鑰。
KMS返回資料密鑰,包含資料密鑰明文和資料密鑰密文。其中資料密鑰密文,是由指定的祕密金鑰加密資料密鑰明文產生的。
雲產品使用資料密鑰明文加密資料明文,並將資料密鑰密文(由KMS使用祕密金鑰加密)與資料密文(由雲產品使用資料祕密金鑰加密)一同寫入持久化儲存介質中。
信封加密中的“信封”是指在概念上資料密鑰密文和資料密文被打包在一個信封(Envelope)中。
KMS將資料密鑰通過安全傳輸通道從KMS傳遞到雲產品。資料密鑰明文僅在雲產品的記憶體中使用,不會以明文形式儲存在持久化儲存介質上。
存取控制
通過存取控制RAM(Resource Access Management),KMS會驗證雲產品是否具備使用特定密鑰的許可權。您可通過雲產品的RAM授權引導或在存取控制RAM服務中配置權限原則,允許或者拒絕特定的雲產品使用特定的密鑰。更多資訊,請參見Key Management Service自訂權限原則參考。
審計
通過Action Trail(ActionTrail),您可以對雲產品使用密鑰的情況進行審計。更多資訊,請參見使用Action Trail查詢Key Management Service的操作事件。