

# 共享设备证书
<a name="audit-chk-device-cert-shared"></a>

多个并发连接使用相同的 X.509 证书向 AWS IoT 进行身份验证。

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

**严重性：**严重

## Details
<a name="audit-chk-device-cert-shared-details"></a>

在按需审计过程中进行此检查时，它会检查在审计开始之前 31 天至检查运行前 2 小时内设备用于连接的证书和客户端 ID。对于计划审计，此检查会查看从上次运行审计前 2 小时到该审计实例开始前 2 小时期间的数据。如果在检查期间已采取措施来缓解这种状况，请记录执行并行连接的时间，以判断问题是否持续存在。

此检查发现不合规的证书时，会返回以下原因代码：
+ CERTIFICATE\$1SHARED\$1BY\$1MULTIPLE\$1DEVICES

此外，此检查返回的查找结果还包含共享证书的 ID、使用证书进行连接的客户端的 ID，以及连接/连接断开次数。最近的结果列在最前面。

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

每个设备应具有唯一证书以向 AWS IoT 进行身份验证。如果多个设备使用相同的证书，这可能表示设备已遭破坏。其身份可能已遭克隆，会进一步危害系统。

## 如何修复
<a name="audit-chk-device-cert-shared-how-to-fix"></a>

验证设备证书是否已遭破坏。如果已遭破坏，请遵照安全最佳实践来缓解此情况。

如果在多个设备上使用同一证书，则需要执行以下操作：

1. 预置新的唯一证书并将其附加到每个设备。

1. 验证新证书是否有效，以及设备能否使用它们进行连接。

1. 使用 [UpdateCertificate](https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateCertificate.html) 在 AWS IoT 中将旧证书标记为“REVOKED”。您还可以使用缓解操作实现以下目的：
   + 对您的审计查找结果应用 `UPDATE_DEVICE_CERTIFICATE` 缓解操作以进行此更改。
   + 应用 `ADD_THINGS_TO_THING_GROUP` 缓解操作，以将设备添加到可以对其执行操作的组。
   + 如果要实现自定义响应以响应 Amazon SNS 消息，请应用 `PUBLISH_FINDINGS_TO_SNS` 缓解操作。

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

1. 将旧证书从各个设备中分离。