Utfärdande av enhetscertifikat i Azure IoT Hub certifikathantering (förhandsversion)

Utfärdande av enhetscertifikat är den process genom vilken enheter begär och tar emot ett certifikat som en del av etableringen. Azure Device Registry (ADR) genererar och utfärdar ett nytt X.509-certifikat till dina IoT-enheter under etableringen. Den här artikeln beskriver ansvaret för en enhet att skicka en begäran om certifikatsignering (CSR), hur ADR och Device Provisioning Service (DPS) fungerar tillsammans för att utfärda certifikat i stor skala och hur IoT Hub litar på de utfärdade certifikaten.

Important

Azure IoT Hub med Azure Device Registry-integrering och Microsoft-stödd X.509-certifikathantering finns i public förhandsversion och rekommenderas inte för produktionsarbetsbelastningar. Mer information finns i FAQ: Vad är nytt i IoT Hub?.

Så här fungerar utfärdande av enhetscertifikat

Följande steg beskriver utfärdningsflödet från slutpunkt till slutpunkt:

  1. IoT-enheten ansluter till DPS-slutpunkten och autentiserar med hjälp av sina förkonfigurerade registreringsautentiseringsuppgifter, till exempel en symmetrisk nyckel, X.509-certifikat eller TPM (Trusted Platform Module). Som en del av det här registreringsanropet skickar enheten en begäran om certifikatsignering (CSR) som innehåller enhetens offentliga nyckel och dess registrerings-ID.
  2. DPS tilldelar IoT-enheten till en IoT Hub baserat på registreringskonfigurationen.
  3. Enhetsidentiteten skapas i IoT Hub och registreras i ADR-namnområdet. CSR vidarebefordras till den unika PKI som tilldelats adr-namnområdet. PKI verifierar begäran och vidarebefordrar den till principen som är länkad till DPS-registreringen.
  4. Policyns utfärdande CA signerar och utfärdar det operativa certifikatet.
  5. DPS returnerar det utfärdade certifikatet och IoT Hub anslutningsinformation till enheten.
  6. Enheten autentiserar med IoT Hub genom att presentera hela certifikatkedjan.

Diagram som visar hur Azure Enhetsregister integreras med IoT Hub och DPS för certifikathantering under etablering.

Krav för certifikatsigneringsbegäran

När en enhet konfigurerar eller omkonfigurerar sig skickar den en CSR till DPS. DPS förväntar sig att csr uppfyller följande krav:

  • Format: Base64-kodade unika kodningsregler (DER) enligt PKCS -specifikationen (Public Key Cryptography Standards) #10. Personliga e-posthuvuden och sidfötter (PEM) kan inte inkluderas.
  • Eget namn (CN): CN-fältet måste exakt matcha enhetens DPS-registrerings-ID.
  • Nyckelalgoritm: Elliptisk kurva (EC) med hjälp av NIST P-384-kurvan. RSA-nycklar stöds inte i den aktuella förhandsversionen.

Exempel på implementering finns i DPS-enhets-SDK-exempel.

Krypteringsalgoritmer

Certifikathantering använder följande kryptografiska standarder för alla certifikat som utfärdats av en policy:

Property Value
Nyckelalgoritm ECC (ECDSA)
Kurva NIST P-384 (sekp384r1)
Hash-algoritm SHA-384
Nyckellagring Azure Managed HSM

ECC med P-384 ger motsvarande säkerhet till RSA i mycket mindre nyckelstorlekar. Den här algoritmen genererar mindre certifikat, snabbare TLS-handskakningar och lägre strömförbrukning på begränsade IoT-enheter.

IoT Hub synkronisering av förtroende och autentiseringsuppgifter

För att en enhet ska kunna autentisera med IoT Hub med hjälp av sitt utfärdade certifikat måste IoT Hub lita på den utfärdande certifikatutfärdare som signerade enhetscertifikatet. ADR hanterar det här förtroendet via synkronisering av autentiseringsuppgifter, vilket push-överför det utfärdande CA-certifikatet från ADR till dina länkade IoT Hubs.

Om du vill köra synkronisering av autentiseringsuppgifter manuellt använder du följande Azure CLI kommando:

az iot adr ns credential sync --namespace <namespace> -g <resource-group>

IoT Hub lagrar certifikatutfärdarcertifikatet och använder det för att verifiera certifikatkedjan som enheterna finns i under TLS-autentiseringen.