Page 1 of 1

How to make the provisioning proof of posession (pop) unique?

Posted: Mon Mar 11, 2024 8:02 pm
by espmich
The proof of posession (pop) value 'abcd1234' is hard coded in the WiFi provisioning example:

Code: Select all

esp-idf/examples/provisioning/wifi_prov_mgr/main/app_main.c: const char *pop = "abcd1234";
When programming the chip of thousands of devices, every device will have the same pop value.

Question

How does one make the pop value of each device programmed unique?

Constraints

The pop value of a given device must be known to the person, while programming the chip.

The pop value of a given device must not change when rebooting the device.

Re: How to make the provisioning proof of posession (pop) unique?

Posted: Tue Mar 12, 2024 2:48 am
by ESP_Sprite
Ideally, you'd create a new POP for each device at manufacturing time, then flash that into the chip, e.g. as a NVS partition. We have a tool for this if you need it. You'd then also e.g. print the POP on a sticker that goes on the product so the end user can read it.