本頁說明 Cloud Key Management Service 中的金鑰輪替作業。金鑰輪替是指建立新的加密金鑰來取代現有金鑰的程序。定期或在特定事件發生後輪替加密金鑰,可降低金鑰遭到入侵的潛在後果。如需輪替金鑰的具體操作說明,請參閱「輪替金鑰」。
為什麼要輪替金鑰?
針對對稱式加密,建議的安全性做法是定期自動輪替金鑰。根據支付卡產業資料安全標準 (PCI DSS) 等部分產業標準,您必須定期輪替金鑰。
Cloud Key Management Service「不」支援非對稱金鑰的自動輪替。請參閱本文件的非對稱金鑰考量事項。
輪替金鑰有以下優點:
限制使用相同金鑰版本加密的訊息數量,有助於防止加密分析啟動的攻擊。金鑰生命週期建議取決於金鑰的演算法,以及產生的訊息數或使用相同金鑰版本加密的位元組總數。例如,Galois/計數器模式 (GCM) 中對稱式加密金鑰的建議金鑰生命週期以加密的訊息數為基礎,如 https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf 所述。
萬一金鑰遭到入侵,定期輪替可限制實際訊息的數量,以免遭到入侵。
定期輪替金鑰可確保系統在發生安全性違規或需要將應用程式遷移至更強大的密碼編譯演算法時,能耐受手動輪替的衝擊。在實際發生安全事件前,驗證金鑰輪替程序。
您也可以手動旋轉金鑰,原因可能是金鑰遭到入侵,或是要修改應用程式以使用其他演算法。
金鑰輪替頻率
建議您定期自動輪替金鑰。輪替排程會定義輪替的頻率,並可選擇定義首次輪替的日期和時間。輪替時間表可以根據金鑰的使用年限,或使用某個金鑰版本加密的訊息數量或數量來設定。
部分安全性法規規定必須定期自動輪替金鑰。在特定期間 (例如每 90 天) 自動輪替金鑰,可提高安全性,同時降低管理複雜度。
如果您懷疑金鑰遭到入侵,或是安全指南要求您將應用程式遷移至更強大的金鑰演算法,也應手動輪替金鑰。您可以為日後的日期和時間排定手動輪替。手動輪替金鑰不會暫停、修改或以其他方式影響金鑰現有的自動輪替時間表。
請勿將不規則或手動輪替做為應用程式安全性的主要元件。
輪替金鑰後
輪替金鑰會建立新的有效金鑰版本,但不會重新加密您的資料,也不會停用或刪除先前的金鑰版本。舊金鑰版本會持續處於啟用狀態,並在刪除前持續產生費用。重新加密資料可讓您不再需要依賴舊版金鑰,因此可以銷毀舊版金鑰,避免產生額外費用。如要瞭解如何重新加密資料,請參閱「重新加密資料」。
您必須確認金鑰版本不再使用,才能刪除金鑰版本。
非對稱金鑰的注意事項
Cloud KMS 不支援非對稱金鑰的自動輪替功能,因為您必須先完成額外步驟,才能使用新的非對稱金鑰版本。
如果非對稱金鑰用於簽署,您必須發布新金鑰版本的公開金鑰部分。之後,您可以在呼叫
CryptoKeyVersions.asymmetricSign
方法時指定新的金鑰版本,以建立簽名,並更新應用程式以使用新的金鑰版本。對於用於加密的非對稱金鑰,您必須將新金鑰版本的公開部分發布並納入用於加密資料的應用程式,並授予新金鑰版本的私密部分存取權,供用於解密資料的應用程式。