雲端硬碟加密是指通過密碼編譯演算法保護儲存在雲端硬碟中的資料免受未經授權的訪問和泄露。在資料被寫入雲端硬碟時對其進行加密,並確保資料在未授權情況下無法被訪問或解密,即使雲端硬碟資料泄露也無法解密,並在授權使用者讀取雲端硬碟資料時自動解密,從而確保雲端硬碟資料的機密性和完整性。本文介紹雲端硬碟加密原理、使用限制以及如何?雲端硬碟加密等。
加密概述
加密原理
在ECS的加密過程中,雲端硬碟、鏡像和快照的加密都是採用行業標準的AES-256密碼編譯演算法,並且通過Key Management Service(Key Management Service)進行加密。加密金鑰採用雙層設計,並通過信封加密的機制實現對資料的加密,第一層為使用者的主要金鑰CMK(Customer Master Key),第二層為根據主要金鑰產生的資料密鑰DK(Data Key)。其中,主要金鑰CMK用於對資料密鑰DK進行加解密操作和保護,資料密鑰DK用於對真實業務資料進行加解密操作和保護。加密流程和信封加密機制如下:
加密資料密鑰DK。
在使用資料密鑰DK之前,會用主要金鑰CMK加密資料密鑰。加密後的資料密鑰(非明文)可以安全地與加密的業務資料一同儲存。這樣即使儲存介質被訪問,沒有CMK也無法解密資料密鑰。
儲存和讀取加密資料。
當需要讀取加密資料時,首先通過KMS請求解密資料密鑰。KMS驗證請求後,返回資料密鑰的明文形式,這一過程通常在記憶體中完成,不會儲存在任何儲存介質上。然後,使用管理程式在記憶體中的明文資料密鑰來解密雲端硬碟I/O操作中的資料。
整個信封加密過程中,主要金鑰的明文不會在KMS託管的密碼機之外進行儲存和使用。同時,資料密鑰明文僅會在使用者使用的服務執行個體所在的宿主機的記憶體中進行使用,永遠不會以明文形式儲存在任何儲存介質上。
更多資訊,請參見雲產品整合KMS加密概述。
加密金鑰
KMS的預設密鑰包含服務密鑰和主要金鑰。ECS預設使用服務密鑰對使用者資料進行加密,也支援使用者在KMS上自訂主要金鑰對使用者資料進行加密。關於密鑰的更多說明,請參見密鑰服務概述。
服務密鑰
您首次在一個地區加密雲端硬碟時,系統會自動在當前地區KMS中建立一個專為ECS使用的服務密鑰Default Service CMK(別名為alias/acs/ecs)。每個使用者在每個地區的服務密鑰是唯一的,您無法管理服務密鑰的生命週期。服務密鑰可以協助您獲得最基本的資料保護能力。但是對於高安全要求層級的情境,服務密鑰可能存在一些密鑰管理上的短板,例如不能自主管理密鑰的生命週期。
主要金鑰
您可以選擇自己建立或者上傳主要金鑰到KMS,並且管理主密鑰的生命週期。使用主密鑰可以獲得更多的安全能力。您可以禁用或啟用密鑰、通過KMS匯入內建的密鑰等操作進一步增強密鑰生命週期管理能力和控制ECS資料加解密的能力。主密鑰還支援通行金鑰輪轉的能力,可以加強密鑰使用的安全性,以提升業務資料的安全性。禁用密鑰、計劃刪除密鑰等操作,請參見管理密鑰。
重要使用主要金鑰建立加密雲端硬碟、複製加密快照或加密鏡像時,不支援非對稱金鑰。更多資訊,請參見密鑰管理類型和密鑰規格。
如何證明資料落盤已加密
在雲端硬碟加密機制中,您對雲端硬碟資料是否加密是無感的,您可以按照以下思路來證明資料落盤儲存時是加密的。
由於加密雲端硬碟關聯的KMS加密金鑰失效,導致ECS執行個體無法重啟,系統硬碟出現IO hang,雲端硬碟無法進行讀寫操作,從而證明使用者資料在落盤儲存時是被加密的。
計費說明
KMS為您提供免費的預設密鑰(服務密鑰和主要金鑰),預設密鑰無需購買KMS執行個體可直接使用。如果您需要擴充主要金鑰、使用憑據管家能力或為自建應用構建應用程式層密碼技術方案,您需要付費購買軟體密鑰管理執行個體或硬體密鑰管理執行個體。關於使用KMS的更多計費資訊,請參見產品計費。
使用限制
限制項 | 說明 |
執行個體規格 |
|
雲端硬碟類型 |
|
主密鑰 |
|
權限原則 | 對於部分高安全合規要求的企業,針對企業帳號下所有RAM子帳號可能要求必須使用加密以保護資料的機密性。ECS支援配置自訂權限原則限制RAM子帳號僅支援建立加密雲端硬碟,詳細的策略資訊,請參見限制RAM使用者僅支援建立加密雲端硬碟。 |
注意事項
加密行為無法復原,一旦建立為加密雲端硬碟,無法轉換為非加密雲端硬碟。
由於刪除、禁用密鑰等操作會導緻密鑰失效,密鑰失效後會存在已建立的加密雲端硬碟、加密鏡像、加密快照資料不可恢複的風險。建議您在刪除、禁用密鑰前,使用禁用密鑰功能,或者自行排查該密鑰是否存在關聯使用的雲資源,避免密鑰丟失後資料不可恢複。
警告聲明:由使用者自行操作密鑰失效後導致關聯的雲端硬碟資源相關資料丟失後不可恢複的風險,由使用者自行承擔責任。
如何加密雲端硬碟
建立ECS執行個體或雲端硬碟時加密雲端硬碟
控制台方式
API方式
建立ECS執行個體
通過調用API介面RunInstances建立ECS執行個體時,設定系統硬碟SystemDisk或資料盤DataDisk的
Encrypted
值和KMSKeyId
值,來加密系統硬碟和資料盤。建立雲端硬碟
通過調用API介面CreateDisk建立資料盤時,設定
Encrypted
值和KMSKeyId
值,來加密資料盤。
將存量非加密盤轉換為加密雲端硬碟
您可以通過以下幾種方式加密存量系統硬碟或資料盤。
控制台方式
加密系統硬碟
為ECS執行個體建立鏡像。具體操作,請參見使用執行個體建立自訂鏡像。
將鏡像複製為加密鏡像。具體操作,請參見複製鏡像。
基於加密鏡像實現加密系統硬碟。
使用加密鏡像更換源ECS執行個體的系統硬碟,源ECS執行個體的系統硬碟會自動加密。具體操作,請參見更換作業系統(系統硬碟)。
使用加密鏡像重新建立新的ECS執行個體,新ECS執行個體的系統硬碟以及資料盤(如果有)會自動加密。具體操作,請參見使用自訂鏡像建立執行個體。
加密資料盤
為資料盤建立快照。具體操作,請參見建立快照。
將快照式複寫為加密快照。具體操作,請參見複製快照。
基於加密快照建立新的雲端硬碟,雲端硬碟資料是加密的。具體操作,請參見使用快照建立雲端硬碟。
將建立的加密雲端硬碟掛載至源ECS執行個體。具體操作,請參見掛載資料盤。
OOS自動編排方案
您可以通過OOS公用模板ACS-ECS-BulkyEncryptSystemDisk實現對多台ECS執行個體中的系統硬碟大量加密。具體操作,請參見通過OOS大量加密系統硬碟。