本页面介绍了如何使用Google Cloud 控制台中 Cloud KMS 密钥管理概览中的后量子加密 (PQC) 数据分析图表,帮助评估非对称密钥清单并为未来的加密现代化做好准备。
量子计算的出现对广泛使用的公钥加密算法构成了潜在威胁。PQC 数据分析图表可帮助您识别和清点传统非对称密钥,提供规划未来现代化改造和确保长期弹性所需的可见性。
对称密钥(例如用于 ENCRYPT_DECRYPT 的密钥)通常被认为能够抵御量子计算机攻击,因此不包含在此信息中心内。如需详细了解 Cloud KMS 支持的算法,请参阅密钥用途和算法。
Wiz 现已并入 Google Cloud,可提供加密清单和风险评估,帮助您了解加密就绪状态,并规划向后量子算法的迁移。这些功能是 Wiz 的云和 AI 安全平台的一部分,可与 Cloud KMS 的密钥管理功能相辅相成。
准备工作
如需获得查看 PQC 数据分析所需的权限,请让您的管理员为您授予项目的 Cloud KMS Viewer (roles/cloudkms.viewer) IAM 角色
- 您也可以直接查询 Cloud Asset Viewer。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
查看 PQC 分析洞见
非对称 PQC 分析洞见图表根据非对称密钥所用算法的类别,以直观的方式简要显示了非对称密钥的细分数据。
在 Google Cloud 控制台中,前往密钥管理页面。
点击概览标签页,然后前往非对称 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 | 后量子安全 |
尽早采用 PQC 标准而非稍后采用可带来以下好处:
- 将
ASYMMETRIC_DECRYPT密钥替换为KEY_ENCAPSULATION密钥有助于保护已加密数据免遭“先存储后解密”(SNDL) 攻击。在这种攻击中,作恶方会拦截您的密文,但无法解密,不过他们会存储密文,希望有一天能破解加密。 - 将使用
EC_SIGN_*或RSA_SIGN_*算法的ASYMMETRIC_SIGN密钥替换为PQ_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 密钥。如需详细了解不同的算法,请参阅密钥用途和算法。