選擇金鑰演算法

建立憑證授權單位 (CA) 前,必須先為 CA 的支援 Cloud Key Management Service 金鑰選擇簽署演算法。有了憑證授權單位服務,您就能使用系統支援的任一非對稱式簽署演算法,以既有的 Cloud KMS 金鑰建立 CA;或是從較小的演算法子集中選擇,讓服務建立及管理金鑰生命週期。

本頁面將說明決定 CA 簽署演算法時必須考量的因素。

演算法系列

Cloud KMS 支援兩大類非對稱簽署作業演算法:RSA 和 ECDSA。

RSA

RSA 型簽章機制歷史悠久,因此在多個平台間享有廣泛的相容性。如果您需要支援使用舊版作業系統、通訊協定、韌體或其他技術堆疊的用戶端,RSA 是常見的選擇。

Cloud KMS 提供兩種主要的 RSA 簽署演算法:RSA_SIGN_PSSRSA_SIGN_PKCS1PSS 變體使用 RFC 8017 8.1 節所述的 RSASSA-PSS 簽章配置,這種配置較新,且一般認為更安全。PKCS1 變體採用較舊的 PKCS#1 v1.5 簽章配置,詳情請參閱 RFC 8017 的第 8.2 節

如果可能使用這些憑證的所有應用程式都支援,建議較新的階層使用 PSS 變數。否則,由於 PKCS1 變體支援範圍較廣,因此是更合適的選擇。

ECDSA

雖然以橢圓曲線為基礎的非對稱金鑰比 RSA 對應項目相對較新,但仍支援過去十年發布的許多常見技術堆疊。由於 ECC 金鑰可使用較小的金鑰大小,達到與 RSA 金鑰類似的安全性強度,因此特別受歡迎。使用 ECDSA 金鑰的應用程式在網路上儲存及傳輸的資料較少。

Cloud KMS 提供兩種主要的 ECDSA 簽章演算法:EC_SIGN_P256EC_SIGN_P384

混合鏈結

混合 (或混合式) 鏈結是指憑證鏈中一或多個憑證使用不同金鑰演算法系列,例如部分憑證使用 RSA,其他憑證使用 ECDSA。部分技術堆疊難以剖析混合憑證鏈,因此在這些情況下可能會顯示非預期的錯誤。此外,部分產業的法規遵循要求可能規定 CA 鏈必須使用單一演算法系列。

一般來說,您會為 ECDSA 金鑰設定獨立的 CA 鏈,與 RSA 金鑰使用的 CA 鏈不同。

索引鍵大小

雖然較大的金鑰大小 (在同一系列中) 可提供更強大的安全性,但也會導致更多資料透過網路儲存及傳輸。此外,如果金鑰大小較大,加密和簽署作業有時會需要較長的時間,但通常時間很短,不會有明顯差異。

一般來說,與根 CA 或長期存在的下層 CA 相關聯的長期金鑰,會使用安全性較高的金鑰大小。

決策指南

您可以參考這份簡單指南,為 CA 金鑰選擇適當的簽署演算法:

  1. 選擇演算法系列

    如要建立從現有根 CA 鏈結至從屬 CA,請使用與根 CA 相同的系列。

    如果您要建立新的根憑證授權單位,但需要與不支援 ECDSA 的舊版系統搭配使用,請使用其中一種 RSA 簽署演算法

    否則,請使用其中一種橢圓曲線簽署演算法

  2. (僅限 RSA) 選擇簽署演算法

    如果您預計要使用不支援 PSS 的舊版程式庫或架構,請使用其中一種 RSA_SIGN_PKCS1 演算法。

    否則,請使用其中一種 RSA_SIGN_PSS 演算法。

  3. 選擇金鑰大小

    如果是預期生命週期以年為單位的根 CA 或從屬 CA,建議您使用該演算法系列可用的最大金鑰大小。

    • RSA 支援的最大金鑰大小為 4096 位元。
    • 如果是 ECDSA,支援的最大金鑰大小為 384 位元。

    對於生命週期較短的下層 CA,使用較小的金鑰大小就足夠,例如 RSA 為 2048 位元,或 ECDSA 為 256 位元。

後續步驟