

# CA 证书密钥质量
<a name="audit-chk-ca-cert-key-quality"></a>

AWS IoT 客户通常依赖使用 X.509 证书的 TLS 相互身份验证，用于对 AWS IoT 消息代理进行身份验证。这些证书及其证书颁发机构证书必须先在其 AWS IoT 账户中注册，然后才能使用。在注册这些证书时，AWS IoT 对这些证书执行基本的完整性检查，包括：
+ 证书采用有效格式。
+ 证书必须在其有效期内（换句话说，尚未过期）。
+ 其加密密钥大小满足所需的最小大小（对于 RSA 密钥，它们必须为 2048 位或更大）。

此审计检查为您的加密密钥质量提供了以下附加测试：
+ CVE-2008-0166 — 检查是否在基于 Debian 的操作系统上，使用 OpenSSL 0.9.8c-1 到 0.9.8g-9 之间的版本生成了密钥。这些版本的 OpenSSL 使用随机数生成器生成可预测的数字，使远程攻击者更容易对加密密钥进行暴力猜测攻击。
+ CVE-2017-15361 - 检查密钥是否由 Infineon RSA 库 1.02.013 在 Infineon Trusted Platform Module (TPM) 固件中生成，例如 0000000000000422 - 4.34 之前的版本、000000000000062b - 6.43 之前的版本以及 0000000000008521 - 133.33 之前的版本。该库不当地处理 RSA 密钥生成，使攻击者更容易通过针对性的攻击，破解某些加密保护机制。受影响的技术示例包括使用 TPM 1.2 的 BitLocker、YubiKey 4（4.3.5 之前）PGP 密钥生成以及 Chrome 操作系统中的缓存用户数据加密功能。

AWS IoT Device Defender如果证书未通过这些测试， 会将证书报告为不合规。

此检查在 CLI 和 API 中显示为 `CA_CERTIFICATE_KEY_QUALITY_CHECK`。

**严重性：**严重

## Details
<a name="audit-chk-ca-cert-key-quality-details"></a>

此检查适用于状态为“ACTIVE”或“PENDING\$1TRANSFER”的 CA 证书。

此检查发现不合规的证书时，会返回以下原因代码：
+ CERTIFICATE\$1KEY\$1VULNERABILITY\$1CVE-2017-15361
+ CERTIFICATE\$1KEY\$1VULNERABILITY\$1CVE-2008-0166

## 为什么这非常重要
<a name="audit-chk-ca-cert-key-quality-why-it-matters"></a>

如果新添加的设备使用此 CA 证书签名，可能会造成安全威胁。

## 如何修复
<a name="audit-chk-ca-cert-key-quality-how-to-fix"></a>

1. 使用 [UpdateCACertificate](https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateCACertificate.html) 在 AWS IoT 中将该 CA 证书标记为“INACTIVE”。您还可以使用缓解操作实现以下目的：
   + 对您的审计查找结果应用 `UPDATE_CA_CERTIFICATE` 缓解操作以进行此更改。
   + 如果要实现自定义响应以响应 Amazon SNS 消息，请应用 `PUBLISH_FINDINGS_TO_SNS` 缓解操作。

   有关更多信息，请参阅 [缓解操作](dd-mitigation-actions.md)。

1. 对吊销 CA 证书后的设备证书注册活动进行审核，并考虑吊销在此期间可能使用它颁发的任何设备证书。（使用 [ListCertificatesByCA](https://docs.aws.amazon.com/iot/latest/apireference/API_ListCertificatesByCA.html) 列出通过该 CA 证书签发的设备证书，并使用 [UpdateCertificate](https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateCertificate.html) 吊销设备证书。）