Sažetak

  • Sigurno dodjeljivanje identiteta svakom uređaju daje jedinstveni identitet pri prvom uključenju.
  • Sigurnosni elementi (ATECC608, NXP EdgeLock) čuvaju privatne ključeve koji nikada ne napuštaju čip.
  • AWS IoT, Azure DPS i prilagođeni PKI svi podržavaju upisivanje na proizvodnoj strani.
  • Proizvodna linija je mjesto gdje ovo ili radi ispravno ili stvara kvarove na terenu.

Zašto sigurno provizioniranje pripada u proizvodnju

Povezani uređaj koji se otprema bez identiteta mora se provizionirati na terenu. Terensko provizioniranje znači ručni korak (ili ranjivu automatsku registraciju) pri instalaciji. Oba pristupa donose operativne probleme i sigurnosnu izloženost.

Provizioniranje na strani proizvodnje uređaju daje jedinstveni kriptografski identitet prije otpreme. Uređaj se podiže, autenticira i registrira bez ručne intervencije.

Sigurnosni elementi (secure elements)

Microchip ATECC608 i NXP EdgeLock uobičajeni su sigurnosni elementi za IoT. Oba podržavaju:

  • generiranje privatnog ECC ključa unutar čipa (ključ nikada ne izlazi)
  • potpisivanje i verifikaciju certifikata
  • zaštitu od ponavljanja zasnovanu na brojaču
  • ponašanje s vidljivim tragom neovlaštenog otvaranja (tamper-evident)

Proizvodna linija generira ključ unutar sigurnosnog elementa, potpisuje certifikat root CA-om, upisuje certifikat na uređaj i bilježi javni ključ uz serijski broj.

Registracija X.509 certifikata

X.509 je standardni format certifikata. Registracija na strani proizvodnje obično ide ovim redoslijedom:

  1. sigurnosni element generira ECC par ključeva (privatni ključ zaključan je u čipu)
  2. proizvodni sustav očita javni ključ
  3. proizvodni sustav potpisuje certifikat preko root CA s podrškom HSM-a
  4. certifikat se upisuje natrag na uređaj
  5. javni ključ i otisak certifikata bilježe se uz serijski broj

Privatni ključ root CA-a nikada ne dolazi na proizvodnu liniju. Drži se u HSM-u u kontroliranom okruženju.

AWS IoT i Azure DPS

AWS IoT podržava Just-in-Time Provisioning (JITP) i Multi-Account Registration. Azure Device Provisioning Service (DPS) podržava X.509 atestaciju, atestaciju putem Trusted Platform Module (TPM) i atestaciju simetričnim ključem.

Oba omogućuju da proizvodna linija unaprijed registrira uređaje, kako bi se automatski registrirali pri prvom spajanju na cloud. Tijek na strani proizvodnje:

  1. uređaj se provizionira X.509 certifikatom
  2. otisak certifikata uređaja registrira se u cloud DPS-u
  3. uređaj se na terenu podigne, predoči certifikat i automatski se registrira
  4. cloud uređaj svrstava u odgovarajuću grupu i preuzima konfiguraciju

Vlastiti PKI prati isti obrazac, samo s internom infrastrukturom umjesto AWS-a ili Azurea.

Radni tijek na strani proizvodnje koji funkcionira

  • root CA s podrškom HSM-a u kontroliranom okruženju, dostupan preko API-ja za potpisivanje
  • generiranje ključa po jedinici unutar sigurnosnog elementa na liniji
  • potpisivanje certifikata putem API poziva (bez izlaganja ključnog materijala)
  • predregistracija u cloud DPS-u kao dio koraka provizioniranja
  • zapis o registraciji po jedinici u proizvodnoj bazi
  • opcionalno upravljanje listom opoziva za uređaje na kraju životnog vijeka ili izgubljene jedinice

Uobičajene zamke

  • privatni ključ root CA-a pohranjen na proizvodnoj liniji (a ne u HSM-u)
  • isti ključ upisan u više uređaja ("testni način koji je završio u otpremi")
  • otisak certifikata zabilježen, ali nije predregistriran u cloud DPS-u
  • tijek provizioniranja izveden ručno na nekoliko jedinica, bez skaliranja

Izvori

  • dokumentacija AWS IoT Just-in-Time Provisioning
  • dokumentacija Microsoft Azure Device Provisioning Service
  • dokumentacija Microchip ATECC608 secure element
  • dokumentacija NXP EdgeLock secure element

Zatražite ponudu za programirane i serijalizirane jedinice

Ako ovo istraživanje odgovara situaciji s vašim proizvodom, pošaljite datoteke i obuhvatit ćemo proizvodnju.