Distribute & Manage Client Secret (WiFi) Credentials to IoT Fleet during Provisioning Stage

0

Hi all,

We are receiving client requests to preconfigure IoT devices with their selected Wi-Fi credentials.

Our current scenario is the following:

  1. Our devices are provisioned using AWS IoT Core and unique device certificates
  2. An OTA is done as a final check (using the provisioning WiFi network)
  3. The client receives the device and has to configure their WiFi credentials.

This flow isn't maintainable when a single client orders 1000 devices which he/she has to configure manually. So we would like to configure the WiFi credentials during the provisioning phase, making it plug and play for the client.

In order to do this, we have to:

  1. Store the clients WiFi credentials in a secure place (encrypted)
  2. Retrieve the clients secret, decrypt it and communicate it to the IoT device to be saved in secure memory

AWS Credential manager seems a good way to store and encrypt the clients credentials. For retrieving the credentials (which we need in plain text) I see multiple options:

  • Retrieve the credentials using AWS CLI from our provisioning tool & configure the device
  • Retrieve it via GitHub Actions and create a custom provisioning OTA package for it (this seems overkill and hard to manage)
  • After the generic provisioning OTA (which uses the provisioning network), launch a lambda (or something) which retrieves the client credentials and update it through MQTTS.

What is best practice/approach for this? Any thoughts with the mentioned approaches?

Cheers!

已提问 2 个月前164 查看次数
没有答案

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则