查看非對稱後量子密碼編譯 (PQC) 洞察

本頁面說明如何使用Google Cloud 控制台 Cloud KMS「金鑰管理總覽」中的「後量子密碼編譯 (PQC) 深入分析」圖表,評估非對稱金鑰庫存,並為未來的密碼編譯現代化做好準備。

量子運算的出現,可能對廣泛使用的公開金鑰密碼編譯演算法構成威脅。「PQC insights」(PQC 深入分析) 圖表可協助您找出並盤點傳統非對稱金鑰,提供必要的資訊,以便規劃未來的現代化作業,並確保長期韌性。

對稱式金鑰 (例如用於 ENCRYPT_DECRYPT 的金鑰) 通常可抵禦量子電腦攻擊,因此不包含在這個資訊主頁中。如要進一步瞭解 Cloud KMS 支援的演算法,請參閱「金鑰用途和演算法」。

Wiz 現已加入 Google Cloud,提供密碼編譯資產清單和風險評估,協助您瞭解密碼編譯準備情況,並規劃遷移至後量子演算法。這些功能包含在 Wiz 的雲端和 AI 安全平台中,可與 Cloud KMS 的金鑰管理功能相輔相成。

事前準備

如要取得查看 PQC 洞察資料所需的權限,請要求管理員授予您專案的「Cloud KMS 檢視者」 (roles/cloudkms.viewer) IAM 角色。

查看 PQC 洞察

「Asymmetric PQC insights」(非對稱式 PQC 洞察) 圖表會依據非對稱式金鑰使用的演算法類別,提供高階視覺化細目。

  1. 前往 Google Cloud 控制台的「Key Management」(金鑰管理) 頁面。

    前往「Key Management」(金鑰管理) 頁面

  2. 按一下「總覽」分頁標籤,然後前往「非對稱式 PQC 洞察」圖表。

  3. 選用步驟:按一下圖表的區隔,即可查看該區隔代表的索引鍵數量。您也可以點選區隔的「查看」,查看「非對稱式 PQC 洞察詳細資料」表格。

這張圖表將鍵分為兩大類:

  • 後量子:這類金鑰採用的加密編譯演算法,是專為抵禦未來量子電腦攻擊而打造。
  • 傳統:這類金鑰採用傳統非對稱式演算法 (如 RSA 或 ECC),目前可防範傳統攻擊,但容易受到未來量子電腦的攻擊。

圖表進一步依密碼編譯用途和密碼編譯類型細分這些金鑰。

瞭解詳細資料表

本頁表格會列出目前專案中的非對稱金鑰,並提供下列資訊:

  • 金鑰名稱:金鑰名稱。按一下名稱,前往該金鑰的「Key Details」(金鑰詳細資料) 頁面。
  • 位置:金鑰所在位置。
  • 防護等級:金鑰的防護等級。
  • 用途:金鑰的加密編譯用途,例如: ASYMMETRIC_SIGN。
  • 密碼編譯類型:指出金鑰使用的演算法是 PQC 還是傳統演算法。

您可以使用表格上方的篩選列,根據上述任一屬性縮小金鑰清單範圍。

評估傳統金鑰,以便日後翻新

您應檢查現有的非對稱金鑰,找出可轉換為後量子替代方案的傳統非對稱演算法。這類金鑰仍可有效防範傳統攻擊。不過,採用後量子演算法有助於確保長期抵禦未來潛在量子威脅的能力。下表列出金鑰用途和演算法,以及各項是否屬於後量子安全。

目的 演算法 密碼學類型 後量子替代方案
ASYMMETRIC_SIGN EC_SIGN_* 古典樂 ASYMMETRIC_SIGN與 PQ_SIGN_* 演算法
ASYMMETRIC_SIGN RSA_SIGN_* 古典樂 ASYMMETRIC_SIGN與 PQ_SIGN_* 演算法
ASYMMETRIC_SIGN PQ_SIGN_* PQC 後量子安全
ASYMMETRIC_DECRYPT RSA_DECRYPT_* 古典樂 KEY_ENCAPSULATION 演算法
KEY_ENCAPSULATION 全部 PQC 後量子安全

盡早採用 PQC 標準可帶來下列好處:

  • 將 ASYMMETRIC_DECRYPT 金鑰替換為 KEY_ENCAPSULATION 金鑰,有助於保護加密資料,防範「先儲存,後解密」(SNDL) 攻擊。在這類攻擊中,惡意行為人會攔截密文,但無法解密,因此會儲存密文,希望有朝一日能破解加密。
  • 將使用 EC_SIGN_* 或 RSA_SIGN_* 演算法的 ASYMMETRIC_SIGN 金鑰替換為 PQ_SIGN_* 演算法,可為簽章提供長期不可否認性。

使用 Cloud Asset Inventory 找出金鑰

您可以使用 Cloud Asset Inventory,以程式輔助方式依演算法類型列出及篩選 Cloud KMS 資產。

搜尋整個機構

  1. 如要列出使用後量子演算法 (例如 PQ_SIGN_*、ML_KEM_* 或 KEM_XWING) 的金鑰,請執行下列指令:

    gcloud asset list \
      --organization=ORGANIZATION_ID \
      --asset-types="cloudkms.googleapis.com/CryptoKey" \
      --content-type=resource \
      --filter='(resource.data.purpose = "ASYMMETRIC_SIGN" OR resource.data.purpose = "ASYMMETRIC_DECRYPT" OR resource.data.purpose = "KEY_ENCAPSULATION") AND (resource.data.versionTemplate.algorithm:PQ_SIGN* OR resource.data.versionTemplate.algorithm:ML_KEM* OR resource.data.versionTemplate.algorithm = "KEM_XWING")' \
      --format='table(name.segment(1):label=PROJECT, name.segment(-3):label=KEY_RING, name.segment(-1):label=CRYPTO_KEY, resource.data.purpose:label=PURPOSE, resource.data.versionTemplate.algorithm:label=ALGORITHM)'
    
  2. 如要列出未使用後量子演算法的非對稱金鑰 (也就是使用傳統演算法的非對稱金鑰),請執行下列指令:

    gcloud asset list \
      --organization=ORGANIZATION_ID \
      --asset-types="cloudkms.googleapis.com/CryptoKey" \
      --content-type=resource \
      --filter='(resource.data.purpose = "ASYMMETRIC_SIGN" OR resource.data.purpose = "ASYMMETRIC_DECRYPT" OR resource.data.purpose = "KEY_ENCAPSULATION") AND NOT (resource.data.versionTemplate.algorithm:PQ_SIGN* OR resource.data.versionTemplate.algorithm:ML_KEM* OR resource.data.versionTemplate.algorithm = "KEM_XWING")' \
      --format='table(name.segment(1):label=PROJECT, name.segment(-3):label=KEY_RING, name.segment(-1):label=CRYPTO_KEY, resource.data.purpose:label=PURPOSE, resource.data.versionTemplate.algorithm:label=ALGORITHM)'
    

在專案中搜尋

  1. 確認 Google Cloud CLI 指向正確的專案:

    gcloud config set project PROJECT_ID
    
  2. 如要列出使用後量子演算法 (例如 PQ_SIGN_*、ML_KEM_* 或 KEM_XWING) 的金鑰,請執行下列指令:

    gcloud asset list \
      --project="$(gcloud config get-value project)" \
      --asset-types="cloudkms.googleapis.com/CryptoKey" \
      --content-type=resource \
      --filter='(resource.data.purpose = "ASYMMETRIC_SIGN" OR resource.data.purpose = "ASYMMETRIC_DECRYPT" OR resource.data.purpose = "KEY_ENCAPSULATION") AND (resource.data.versionTemplate.algorithm:PQ_SIGN* OR resource.data.versionTemplate.algorithm:ML_KEM* OR resource.data.versionTemplate.algorithm = "KEM_XWING")' \
      --format='table(name.segment(-3):label=KEY_RING, name.segment(-1):label=CRYPTO_KEY, resource.data.purpose:label=PURPOSE, resource.data.versionTemplate.algorithm:label=ALGORITHM)'
    
  3. 如要列出未使用後量子演算法的非對稱金鑰 (也就是使用傳統演算法的非對稱金鑰),請執行下列指令:

    gcloud asset list \
      --project="$(gcloud config get-value project)" \
      --asset-types="cloudkms.googleapis.com/CryptoKey" \
      --content-type=resource \
      --filter='(resource.data.purpose = "ASYMMETRIC_SIGN" OR resource.data.purpose = "ASYMMETRIC_DECRYPT" OR resource.data.purpose = "KEY_ENCAPSULATION") AND NOT (resource.data.versionTemplate.algorithm:PQ_SIGN* OR resource.data.versionTemplate.algorithm:ML_KEM* OR resource.data.versionTemplate.algorithm = "KEM_XWING")' \
      --format='table(name.segment(-3):label=KEY_RING, name.segment(-1):label=CRYPTO_KEY, resource.data.purpose:label=PURPOSE, resource.data.versionTemplate.algorithm:label=ALGORITHM)'
    

為降低量子攻擊的風險,請停止使用採用傳統演算法的非對稱金鑰。

  • 非對稱式解密金鑰:如果金鑰用於非對稱式解密,您可以將非對稱式加密替換為混合公開金鑰加密 (HPKE),將商品目錄現代化。在 HPKE 中,您會使用目的為 KEY_ENCAPSULATION 的金鑰,採用後量子演算法 (例如 ML_KEM_768) 分享密鑰。詳情請參閱「金鑰封裝機制」。
  • 非對稱式簽署金鑰:如要使用數位簽章,您可以建立用途為 ASYMMETRIC_SIGN 的新金鑰,並使用後量子演算法 (例如 PQ_SIGN_ML_DSA_65),藉此更新資源。

對稱金鑰的後量子抗性

與非對稱式 PQC 洞察圖表著重的非對稱式金鑰不同,一般認為對稱式金鑰可抵禦量子電腦攻擊。但使用 HMAC-SHA1 演算法的 MAC 金鑰是例外狀況。如要進一步瞭解不同演算法,請參閱「主要用途和演算法」。

後續步驟