internet of things · iot platforms

Device provisioning that still works at the ten-thousandth unit.

We build IoT platforms on AWS IoT Core and Azure IoT Hub, starting with how a device gets its first credential, because that choice is the hardest to change once units ship.

platforms
internet-of-things / iot-platforms 5 platforms
01 · FACTORY 02 · PROVISIONING 03 · IOT SERVICE 04 · DATA LANDING Device with secure element: TPM · secure element · claim cert Device with secureelement TPM · secure element ·claim cert Manufacturing CA: AWS Private CA · enterprise PKI Manufacturing CA AWS Private CA ·enterprise PKI AWS IoT fleet provisioning: claim cert · provisioning template AWS IoT fleetprovisioning claim cert ·provisioning template Azure DPS: enrollment group · X.509 or TPM Azure DPS enrollment group ·X.509 or TPM AWS IoT Core or IoT Hub: registry · policies · shadows · twins AWS IoT Core or IoTHub registry · policies ·shadows · twins Rules and routes: IoT rules · message routing Rules and routes IoT rules · messagerouting Streaming and storage: Kinesis · Event Hubs · S3 · ADLS Streaming andstorage Kinesis · Event Hubs ·S3 · ADLS Data platform: Databricks · Snowflake · Fabric Data platform Databricks · Snowflake· Fabric
TerraformHashiCorp VaultDatabricksSnowflake
in short·15-second read

An IoT platform is the cloud layer that registers devices, authenticates them, carries their messages and routes their data.

Cohash designs and builds these platforms on AWS IoT Core and Azure IoT Hub with Device Provisioning Service. We pick the provisioning model, set up the certificate authority chain, write device policies and routing, and plan migrations off services like Azure IoT Central before their retirement dates.

you probably need this if
  • Devices ship next quarter and nobody has decided how each unit gets its first certificate.
  • Every device in the fleet authenticates with the same key or certificate.
  • A single IoT policy lets any device publish to any topic.
Ask an engineer facts checked 2026-10-20 · 6 sources
how it runs
  1. 01Device and credential inventory
  2. 02Platform design
  3. 03Pilot on real hardware
  4. 04Scale and hand over
you keep
  • Device and credential inventory with key-storage findings
  • Platform design covering provisioning, CA chain and policies
  • Terraform or Bicep for the IoT platform resources
+ 2 more documents
who does it
IoT platform engineer (AWS IoT Core, Azure IoT Hub)Device provisioning engineerStreaming data engineer
platforms
the story · iot platforms

From the first call to a setup your own team can run.

Here's what usually prompts a call about your IoT Platforms, what we do about it and in which order, and where you end up.

  1. chapter 01 · where it hurts

    Why teams reach out

    • Devices ship next quarter and nobody has decided how each unit gets its first certificate.
    • Every device in the fleet authenticates with the same key or certificate.
    • A single IoT policy lets any device publish to any topic.
  2. chapter 02 · what we change

    How we solve it

    • Provisioning model selection
    • Certificate authority design
    • Device policies and least privilege
    • Azure IoT Central migration
    • Message routing and data landing
    • Fleet operations
  3. chapter 03 · how it runs

    Our approach

    • Device and credential inventory
    • Platform design
    • Pilot on real hardware
    • Scale and hand over
  4. chapter 04 · where you end up

    What changes

    • A leaked claim can't register unknown devices anymore.
    • No more group keys.
    • Device and credential inventory with key-storage findings
    • Platform design covering provisioning, CA chain and policies
what we do

Where we spend the hours

6 areas of work, each one done by an engineer who has run it in production.

  1. On AWS, just-in-time provisioning when devices leave the factory with unique certificates from your registered CA, and fleet provisioning when they can't. On Azure, DPS enrollment groups backed by X.509, TPM or symmetric-key attestation.

  2. Root and intermediate CAs for device certificates, whether that's AWS Private CA, your enterprise PKI, or Azure Device Registry certificate management (in preview at last check). We decide which credential is the durable onboarding identity and which is the short-lived operational one.

  3. A device should only be able to publish to its own topics. Scope the AWS IoT policies and Azure IoT Hub permissions that way and a stolen certificate costs you one device instead of the fleet.

  4. Microsoft has announced Azure IoT Central retires on 20 September 2029 and points customers to IoT Hub, DPS and Azure Device Registry. We inventory your IoT Central apps, device templates and rules, then rebuild them on the recommended services.

  5. Rules and routes that send telemetry to storage, streaming and your data platform, with schemas agreed before the first device ships so downstream tables stay stable.

  6. We set up device shadows or twins and jobs for remote commands, plus over-the-air update pipelines with staged rollout and rollback.

capability 01 / 06in production

Provisioning model selection

On AWS, just-in-time provisioning when devices leave the factory with unique certificates from your registered CA, and fleet provisioning when they can't. On Azure, DPS enrollment groups backed by X.509, TPM or symmetric-key attestation.

capability 02 / 06in production

Certificate authority design

Root and intermediate CAs for device certificates, whether that's AWS Private CA, your enterprise PKI, or Azure Device Registry certificate management (in preview at last check). We decide which credential is the durable onboarding identity and which is the short-lived operational one.

capability 03 / 06in production

Device policies and least privilege

A device should only be able to publish to its own topics. Scope the AWS IoT policies and Azure IoT Hub permissions that way and a stolen certificate costs you one device instead of the fleet.

capability 04 / 06in production

Azure IoT Central migration

Microsoft has announced Azure IoT Central retires on 20 September 2029 and points customers to IoT Hub, DPS and Azure Device Registry. We inventory your IoT Central apps, device templates and rules, then rebuild them on the recommended services.

capability 05 / 06in production

Message routing and data landing

Rules and routes that send telemetry to storage, streaming and your data platform, with schemas agreed before the first device ships so downstream tables stay stable.

capability 06 / 06in production

Fleet operations

We set up device shadows or twins and jobs for remote commands, plus over-the-air update pipelines with staged rollout and rollback.

typical situations

Situations we walk into

We pieced these together from IoT Platforms situations that come up a lot. They're patterns. You won't find a specific client in them.

case file 01

One claim certificate baked into every firmware image

composite · not a client story
  1. Beforethe situation

    Devices ship with the same AWS IoT fleet provisioning claim certificate in firmware. A researcher pulled it from a unit bought online, and the team learns that deactivating the claim stops new registrations but not devices already provisioned.

  2. What we dothe work

    We deactivate the leaked claim, ship a new one by firmware update and add a pre-provisioning hook that checks serial numbers against the manufacturing list. Device policies are narrowed so each thing can use only its own topics. For the next hardware run, unique certificates go on at the factory and register through JITP.

  3. Afterwhere you end up

    A leaked claim can't register unknown devices anymore. Each device publishes only to its own topics. The next production run ships without a shared secret.

case file 02

An IoT Central app with tens of thousands of devices on group SAS keys

composite · not a client story
  1. Beforethe situation

    A product line runs on Azure IoT Central with device templates, rules and dashboards built by an earlier team. Microsoft's notice gives 20 September 2029 for retirement, and devices connect with group SAS keys through IoT Central's built-in provisioning.

  2. What we dothe work

    We map device templates to IoT Hub device twins and Azure Device Registry. A new Device Provisioning Service instance gets X.509 enrollment groups, and a firmware update points devices at it. IoT Central rules become message routes and Fabric pipelines, and devices move in batches while both apps run.

  3. Afterwhere you end up

    No more group keys. Devices use certificates to reach IoT Hub, and IoT Central goes dark well before Microsoft's date.

architecture

How a device gets its identity and starts sending data

A device presents a manufacturing or claim certificate to AWS IoT fleet provisioning or Azure DPS, which registers it and issues or links its operational identity. After that it talks MQTT to the IoT service, and rules or routes deliver its messages to storage and your data platform.

How a device gets its identity and starts sending data A device presents a manufacturing or claim certificate to AWS IoT fleet provisioning or Azure DPS, which registers it and issues or links its operational identity. After that it talks MQTT to the IoT service, and rules or routes deliver its messages to storage and your data platform. 01 · FACTORY 02 · PROVISIONING 03 · IOT SERVICE 04 · DATA LANDING device certificate CA registration MQTT · claim cert X.509 attestation register thing assign hub topic messages telemetry ingest Device with secureelement TPM · secure element ·claim cert Manufacturing CA AWS Private CA ·enterprise PKI AWS IoT fleetprovisioning claim cert · provisioningtemplate Azure DPS enrollment group · X.509or TPM AWS IoT Core or IoT Hub registry · policies ·shadows · twins Rules and routes IoT rules · messagerouting Streaming and storage Kinesis · Event Hubs · S3· ADLS Data platform Databricks ·Snowflake · Fabric
Read the diagram as text
  1. Manufacturing CA → Device with secure element: device certificate
  2. Manufacturing CA → AWS IoT fleet provisioning: CA registration
  3. Device with secure element → AWS IoT fleet provisioning: MQTT · claim cert
  4. Device with secure element → Azure DPS: X.509 attestation
  5. AWS IoT fleet provisioning → AWS IoT Core or IoT Hub: register thing
  6. Azure DPS → AWS IoT Core or IoT Hub: assign hub
  7. AWS IoT Core or IoT Hub → Rules and routes: topic messages
  8. Rules and routes → Streaming and storage: telemetry
  9. Streaming and storage → Data platform: ingest
how it runs

A typical engagement

We don't start a step until the last one has produced something you can check.

  1. step 01

    Device and credential inventory

    List the device models you have and how each one gets its credentials today. Find out where the private keys actually live.

  2. step 02

    Platform design

    The provisioning model, CA chain, topic and policy structure, routing and monitoring all go on paper. Your device and security teams sign it before we build.

  3. step 03

    Pilot on real hardware

    A small batch of production-representative devices provisioned, rotated and revoked end of line to cloud before anything scales.

  4. step 04

    Scale and hand over

    Infrastructure as code for the platform, runbooks for certificate events, and training for the team that will run it.

you keep

What you're left with

We write these for your IoT Platforms setup, and they're working documents. Your team should be able to keep things running from them long after we've gone.

  • inventory01

    Device and credential inventory with key-storage findings

    yours to keep
  • design02

    Platform design covering provisioning, CA chain and policies

    yours to keep
  • code03

    Terraform or Bicep for the IoT platform resources

    yours to keep
  • runbook04

    Provisioning and certificate renewal runbooks

    yours to keep
  • plan05

    Migration plan for any retiring IoT service

    yours to keep
talent and delivery · iot platforms

Certified engineers, wherever you need them.

Some clients want a project team, some want a couple of engineers on theirs. Either works. Onsite, nearshore or offshore, with handovers across time zones that keep things moving.

Onsite

Engineers at your sites in the US

Nearshore

Overlapping hours with US teams

Offshore

Overnight progress on your backlog

All time zones

Coverage handed over across time zones

24-hour coverage · US Central time
OnsiteUS business hours
Nearshoreoverlapping US hours
Offshoreovernight progress
Combinedhandover, not hand-off
roles we staff
  • IoT platform engineer (AWS IoT Core, Azure IoT Hub)
  • Device provisioning engineer
  • Streaming data engineer
  • IoT security engineer
  • Terraform engineer
01When does Azure IoT Central retire, and what replaces it?

Microsoft's retirement notice, published 29 September 2026, gives 20 September 2029. It recommends Azure IoT Hub, Device Provisioning Service and Azure Device Registry, with Microsoft Fabric for analytics. That's a long runway, but device-side changes take the longest, so we suggest planning now.

02Should devices use certificates or symmetric keys?

Certificates, in nearly every case we see. Symmetric keys are easier to start with but harder to scope and rotate. Where hardware can't handle certificates, we use per-device keys derived from a group key and keep them in a secure element if one exists.

03Can we use our own certificate authority?

Yes. AWS IoT Core fleet provisioning accepts certificates from your own CA, including AWS Private CA or an external PKI. Azure Device Registry can chain an intermediate CA to your external root. We help you pick based on who should own revocation.

04We moved off Google Cloud IoT Core in a hurry. Can you review what we built?

We do. Cloud IoT Core shut down on 16 August 2023, and many replacements were built against that deadline. Tell us which broker or cloud you landed on, and we'll check whether its identity, policy and update model hold up at your fleet size.

05What if our fleet provisioning claim certificate leaks?

Deactivate it in AWS IoT Core. That stops new registrations with it, but devices already provisioned keep their own certificates, so review recent registrations and revoke any you can't match to real units. A pre-provisioning hook that checks serial numbers limits the damage next time.

related

Often paired with

Projects on IoT Platforms usually end up touching one of these, so they're worth a look.

next step

Tell us what you're running. We'll tell you what we'd do first.

A 30-minute working session with a senior engineer. No slides.

useful to bring
  • The platform and the version you're on
  • Where you need to get to, and by when
  • What's custom: rules, plugins, integrations
  • Any audit finding or deadline driving it