本頁面說明如何使用Google Cloud 控制台的 Cloud KMS 金鑰管理總覽中的「後量子密碼編譯 (PQC) 洞察」圖表,評估非對稱金鑰的庫存,並為未來的密碼編譯現代化做好準備。
量子運算的出現,可能會對廣泛使用的公開金鑰密碼編譯演算法造成威脅。PQC 洞察圖表可協助您識別及清查傳統非對稱金鑰,提供規劃未來現代化作業所需的能見度,確保長期復原能力。
對稱式金鑰 (例如用於 ENCRYPT_DECRYPT 的金鑰) 一般認為可抵禦量子電腦攻擊,因此不會納入這個資訊主頁。如要進一步瞭解 Cloud KMS 支援的演算法,請參閱「金鑰用途與演算法」一文。
事前準備
如要取得查看 PQC 洞察資料所需的權限,請要求管理員授予您專案的「Cloud KMS 檢視者」 (roles/cloudkms.viewer) IAM 角色。
- 您也可以直接查詢 Cloud Asset 檢視者。 如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
查看 PQC 洞察
「非對稱式 PQC 洞察」圖表會根據非對稱式金鑰使用的演算法類別,以視覺化方式顯示金鑰細目。
前往 Google Cloud 控制台的「Key Management」頁面。
按一下「總覽」分頁標籤,然後前往「非對稱式 PQC 洞察」圖表。
選用步驟:按一下圖表中的區段,即可查看該區段代表的金鑰數量。您也可以按一下區隔的「查看」,查看非對稱式 PQC 洞察詳細資料表格。
這張圖表將金鑰分為兩大類:
- 後量子:金鑰採用專門抵禦未來量子電腦攻擊的密碼學演算法。
- 傳統:金鑰採用傳統非對稱式演算法 (例如 RSA 或 ECC),目前可以防範傳統攻擊,不過容易受到未來量子電腦攻擊的影響。
圖表會依據加密用途和加密類型,進一步區隔這些金鑰。
瞭解詳細資料表
這個頁面上的表格會列出目前專案中的非對稱金鑰,並提供下列資訊:
- 金鑰名稱:金鑰名稱。按一下名稱,前往該特定金鑰的「金鑰詳細資料」頁面。
- 位置:金鑰所在位置。
- 防護等級:金鑰的防護等級。
- 用途:金鑰的加密編譯用途,例如
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 | 後量子安全 |
盡早採用後量子密碼標準可帶來以下優點:
- 以
KEY_ENCAPSULATION金鑰取代ASYMMETRIC_DECRYPT金鑰,有助於保護加密資料,防範「先竊取,後解密」(HNDL) 攻擊。在這種攻擊中,惡意行為人會攔截密文,但無法解密,因此會儲存密文,希望有朝一日能破解加密。 - 以
PQ_SIGN_*演算法取代使用ASYMMETRIC_SIGN鍵的EC_SIGN_*或RSA_SIGN_*演算法,可為簽章提供長期不可否認性。
使用 Cloud Asset Inventory 找出金鑰
您可以使用 Cloud Asset Inventory,以程式輔助方式依演算法類型列出及篩選 Cloud KMS 資產。
在機構中搜尋
如要列出使用後量子演算法 (例如
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)'如要列出未使用後量子演算法的非對稱金鑰 (也就是使用傳統演算法的非對稱金鑰),請執行下列指令:
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)'
在專案中搜尋
確認 Google Cloud CLI 指向正確的專案:
gcloud config set project PROJECT_ID如要列出使用後量子演算法 (例如
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)'如要列出未使用後量子演算法的非對稱金鑰 (也就是使用傳統演算法的非對稱金鑰),請執行下列指令:
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 金鑰是例外情況。
如要進一步瞭解不同演算法,請參閱「金鑰用途與演算法」。