Upper limit on the size of the 'ID Scope' created by a Device Provisioning Service.

Arty29 146 Reputation points


I am setting up a resource constrained IoT device to use a Device Provisioning Service and I am trying to reserve space in the internal flash memory to store the relevant device specific information that will need to be factory installed.

I intend to use Group Enrollment and Symmetric Key attestation so I think that the following information will need to be factory configured on each device:

Registration ID
Device Key
ID Scope

The size of the Registration ID is under my control and as I understand it the key would be at most a Base-64 encoded 64-byte value. What I can’t put a bound on is the ID Scope value which is generated by the provisioning service. Is there a realistic limit to its size, and if so is this documented somewhere?

The only other piece of information that I think the device needs is the provisioning host endpoint, which I intend to hard-code into the firmware. If there is anything else that I have missed I would appreciate someone pointing it out.

Thank you.

Azure IoT Hub
Azure IoT Hub
An Azure service that enables bidirectional communication between internet of things (IoT) devices and applications.
1,153 questions
0 comments No comments
{count} votes

Accepted answer
  1. Sander van de Velde | MVP 31,106 Reputation points MVP

    Hello @Arty29 ,

    the registrationID is just a string:

    Registration ID: Enter a registration ID to identify the enrollment. Use only lowercase alphanumeric and dash ('-') characters. For example, symm-key-device-007.  

    Because this value is part of the configuration, this would likely resemble the 'public' unique identification of the device (eg. serial number, mac address).

    The ID Scope has a limited length and pattern (just generate one in a DPS and you know the pattern).

    Yes, the provisioning endpoint could be hardcoded. It's eg. already set in the configuration of IoT Edge runtimes too.

    1 person found this answer helpful.

0 additional answers

Sort by: Most helpful