密鑰常用于保護特定的數據,因此,數據的安全依賴于密鑰的安全。您可以通過密鑰版本化和定期輪轉來加強密鑰使用的安全性,實現數據保護的安全策略和最佳實踐。
密鑰版本概述
KMS中的用戶CMK支持多個密鑰版本。每一個密鑰版本是一個獨立生成的密鑰,同一個CMK下的多個密鑰版本在密碼學上互不相關。
對于對稱密鑰,密鑰版本可通過自動輪轉策略,由系統自動生成。
對于非對稱密鑰,可人工創建新的密鑰版本。
設置自動輪轉
對稱密鑰支持設置自動輪轉,生成新的密鑰版本。對稱密鑰版本分為主版本和非主版本:
主版本(Primary Key Version)
系統根據自動輪轉策略,定期生成新的密鑰版本,并自動設為主版本。
主版本是CMK的活躍加密密鑰(Active Encryption Key)。每個CMK在任何時間點上有且僅有一個主版本。
調用GenerateDataKey、Encrypt等加密API接口時,KMS使用指定CMK的主版本對明文進行加密。
非主版本(Non-primary Key Version)
非主版本是CMK的非活躍加密密鑰(Inactive Encryption Key)。每個CMK可以有零到多個非主版本。非主版本歷史上曾經是主版本,在當時被用作活躍加密密鑰。
密鑰輪轉產生新的主版本后,KMS不會刪除或禁用非主版本,它們需要被用作解密數據。
創建密鑰版本
由于公私鑰使用場景的特殊性,KMS不支持對非對稱的用戶主密鑰進行自動輪轉。可在指定用戶主密鑰中人工創建新的密鑰版本,生成全新的一對公鑰和私鑰。
除此之外,和對稱類型的用戶主密鑰不同,非對稱的用于主密鑰沒有主版本(PrimaryKeyVersion)的概念,因此使用非對稱密碼運算的接口除需指定用戶主密鑰標志符(或別名)之外,還需指定密鑰版本。
不適用范圍
KMS管理的以下類型的密鑰不支持多個版本:
云產品的默認密鑰:特定云產品托管在KMS上的、用于加密保護您的數據的默認密鑰。這類密鑰由特定云產品為用戶代為管理,為您的數據提供最基本的加密保護。
用戶自帶密鑰(BYOK):您導入到KMS中的密鑰。這類CMK的Origin屬性為External,KMS不負責為用戶生成密鑰材料,無法自動發起輪轉行為。更多信息,請參見導入密鑰材料。
操作步驟
設置自動輪轉(對稱密鑰)
登錄密鑰管理服務控制臺。
在頁面最上方的導航欄的資源池下拉列表,選擇密鑰所在的區域。
在左側導航欄,單擊 密鑰管理服務 ,進入 密鑰列表 。
定位到待設置的對稱密鑰,點擊 密鑰ID ,進入 密鑰詳情頁 。
在密鑰版本區域,點擊 設置輪轉策略 。
在設置輪轉策略對話框,選擇輪轉周期, 30天 、 90天 、 180天 ,或 自定義天數 。
設置了自動輪轉策略后,將顯示密鑰下次輪轉時間,點擊確定完成設置。
可通過相同的步驟更改輪轉周期,也可取消輪轉策略。
創建密鑰版本(非對稱密鑰)
登錄密鑰管理服務控制臺。
在頁面最上方的導航欄的資源池下拉列表,選擇密鑰所在的區域。
在左側導航欄,單擊 密鑰管理服務 ,進入密鑰列表。
定位待設置的非對稱密鑰,點擊 密鑰ID ,進入密鑰詳情頁。
在密鑰版本區域,點擊 創建密鑰版本 。
在彈出的對話框內,點擊 確定 。
在密鑰版本列表,可查看密鑰版本ID、創建日期。點擊 查看公鑰 ,在彈出的對話框,可復制或下載公鑰。