

# Amazon Sidewalk 批量预置工作流
<a name="sidewalk-bulk-provisioning-workflow"></a>

以下各节向您展示了批量预置的关键概念及其工作原理。批量预置所涉及的步骤包括：

1. 使用适用于 Amazon Sidewalk 的 AWS IoT Core 创建设备配置文件。

1. 向 Amazon Sidewalk 团队请求 YubiHSM 密钥，并在工厂支持下更新您的设备配置文件。

1. 将 YubiHSM 密钥发送给您的制造商，以便适用于 Amazon Sidewalk 的 AWS IoT Core 可以在设备制造完成后获取控制日志。

1. 创建导入任务并提供要登记到适用于 Amazon Sidewalk 的 AWS IoT Core 的设备的序列号（SMSN）。

## 批量预置的组件
<a name="bulk-provisioning-components"></a>

以下概念向您展示了批量预置的一些关键组件，以及如何在批量预置 Sidewalk 设备时使用这些组件。

### YubiHSM 密钥
<a name="bulk-provisioning-hsm"></a>

Amazon 会为您的每个 Sidewalk 产品创建一个或多个 HSM（硬件安全模块）。每个 HSM 都有一个唯一的序列号，称为 YubiHSM 密钥，印在硬件模块上。可以从 [Yubico 网页](https://www.yubico.com/product/yubihsm-2/)购买此密钥。

该密钥对每个 HSM 都是唯一的，并与您使用适用于 Amazon Sidewalk 的 AWS IoT Core 创建的每个设备配置文件相关联。要获取 YubiHSM 密钥，请联系 Amazon Sidewalk 团队。如果您将 YubiHSM 密钥发送给制造商，则在工厂中制造 Sidewalk 设备后，适用于 Amazon Sidewalk 的 AWS IoT Core 将收到包含设备序列号的控制日志文件。然后，它将此信息与您的输入 CSV 文件进行比较，以便将设备登记到 AWS IoT。

### 设备认证密钥（`DAK`）
<a name="bulk-provisioning-dak"></a>

当 Sidewalk 终端设备加入 Sidewalk 网络时，必须为其预置 Sidewalk 设备证书。用于设置设备的证书包括私有设备特定的证书和公有设备证书，后者对应于 Sidewalk 证书链。当 Sidewalk 设备完成制造时，YubiHSM 会对设备证书进行签名。

下面显示了一个包含设备证书和私有密钥的 JSON 文件示例。有关更多信息，请参阅[获取用于预置的设备 JSON 文件](sidewalk-json-get.md)。

```
{
  "p256R1": "{{grg8izXoVvQ86cPVm0GMyWuZYHEBbbH ... DANKkOKoNT3bUGz+/f/pyTE+xMRdIUBZ1Bw==}}",
  "eD25519": "{{grg8izXoVvQ86cPVm0GMyWuZYHEBbbHD ... UiZmntHiUr1GfkTOFMYqRB+Aw==}}",
  "metadata": {    
    "devicetypeid": "{{fe98}}",
    
    ...

    "devicePrivKeyP256R1": "{{3e704bf8d319b3a475179f1d68c60737b28c708f845d0198f2d00d00c88ee018}}",
    "devicePrivKeyEd25519": "{{17dacb3a46ad9a42d5c520ca5f47f0167f59ce54d740aa13918465faf533b8d0}}"
  },
  "applicationServerPublicKey": "{{5ce29b89c2e3ce6183b41e75fe54e45f61b8bb320efbdd2abd7aefa5957a316b}}"
}
```

设备认证密钥（DAK）是您在创建设备配置文件时获得的私有密钥。它对应于产品证书，这是颁发给每个 Sidewalk 产品的唯一证书。当您联系 Amazon Sidewalk 团队时，您将收到 Sidewalk 证书链、YubiHSM 密钥和预置了产品设备认证密钥（DAK）的 HSM。

您的设备配置文件还会使用新的设备认证密钥（DAK）进行更新，并启用工厂支持。设备配置文件的 DAK 元数据信息提供诸如 DAK 名称、证书 ID、ApId（公告产品 ID）、是否启用了工厂支持以及 DAK 可以签名的最大签名数等详细信息。

### 公告产品编号（`ApId`）
<a name="bulk-provisioning-apid"></a>

`ApId` 参数是一个用于标识公告产品的字母数字字符串。当您要为您批量预置的 Sidewalk 设备使用给定的设备配置文件时，必须指定此字段。然后适用于 Amazon Sidewalk 的 AWS IoT Core 生成 DAK，并通过 YubiHSM 密钥将其提供给您。相关的 DAK 信息将显示在设备配置文件中。

要获取 `ApId`，在检索有关您创建的设备配置文件的信息后，请联系 Amazon Sidewalk Support 团队。您可以从 AWS IoT 控制台或使用 [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetDeviceProfile.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetDeviceProfile.html) API 操作或 [https://docs.aws.amazon.com/cli/latest/reference/get-device-profile.html](https://docs.aws.amazon.com/cli/latest/reference/get-device-profile.html) CLI 命令来获取设备配置文件信息。

## 批量预置的工作原理
<a name="bulk-provisioning-works"></a>

此流程图显示了使用适用于 Amazon Sidewalk 的 AWS IoT Core 进行批量预置的工作原理。

![](http://docs.aws.amazon.com/zh_cn/iot-wireless/latest/developerguide/images/sidewalk-bulk-provision-flow.png)


以下过程说明了批量预置过程中的不同步骤。

1. 

**为 Sidewalk 设备创建设备配置文件**

   在将终端设备送往工厂之前，首先创建设备配置文件。您可以使用此配置文件来预置各台设备，如[添加设备配置文件和 Sidewalk 终端设备](iot-sidewalk-add-device.md)中所述。

1. 

**为配置文件请求工厂支持**

   当您准备好将终端设备送到工厂时，请向 Amazon Sidewalk 团队索取 YubiHSM 密钥，并为设备配置文件请求工厂支持。

1. 

**获取 DAK 和工厂支持的配置文件**

   然后，Amazon Sidewalk Support 团队将使用产品设备认证密钥（DAK）和工厂支持更新您的设备配置文件。您的设备配置文件将自动使用公告产品 ID（ApID）、新的 DAK 和证书信息（如证书 ID）进行更新。使用此配置文件的 Sidewalk 设备有资格用于批量预置。

1. 

**将 YubiHSM 密钥发送给制造商（CM）**

   您的终端设备现已具有资格，因此您可以将 YubiHSM 密钥发送给合同制造商（CM）以开始制造过程。有关更多信息，请参阅《Amazon Sidewalk 文档》**中的[制造 Amazon Sidewalk 设备](https://docs.sidewalk.amazon/manufacturing/)。

1. 

**制造设备并发送控制日志和序列号**

   CM 制造设备并生成控制日志。CM 还为您提供一个 CSV 文件，其中包含待制造的设备列表及其 Sidewalk 制造序列号（SMSN）。以下代码显示了示例控制日志。它包含设备的序列号、APID 和公有设备证书。

   ```
   {
       "controlLogs": [
       {
           "version": "4-0-1",
           "device": 
           {
               "serialNumber": {{"device1"}},
               "productIdentifier": {
                   "advertisedProductId": {{"abCD"}}        
                },
                "sidewalkData": {
                   "SidewalkED25519CertificateChain": "...",          
                   "SidewalkP256R1CertificateChain": "..."        
                }
            }    
         }
      ]
   }
   ```

1. 

**将控制日志信息传递给适用于 Amazon Sidewalk 的 AWS IoT Core**

   Amazon Sidewalk 云从制造商处检索控制日志信息，并将此信息传递给适用于 Amazon Sidewalk 的 AWS IoT Core。然后，可以创建设备及其序列号。

1. 

**检查序列号匹配并开始批量预置**

   当您使用 AWS IoT 控制台或适用于 Amazon Sidewalk 的 AWS IoT Core API 操作 `StartWirelessDeviceImportTask` 时，适用于 Amazon Sidewalk 的 AWS IoT Core 将从 Amazon Sidewalk 获得的每台设备的 Sidewalk 制造序列号（SMSN）与 CSV 文件中的相应序列号进行比较。如果此信息匹配，它将启动批量预置过程并创建要导入适用于 Amazon Sidewalk 的 AWS IoT Core 的设备。