Uitgifte van apparaatcertificaten in Azure IoT Hub certificaatbeheer (preview)

Uitgifte van apparaatcertificaten is het proces waarmee apparaten een certificaat aanvragen en ontvangen als onderdeel van het inrichten. Azure Device Registry (ADR) een nieuw X.509-certificaat genereert en uitgeeft aan uw IoT-apparaten tijdens het inrichten. In dit artikel wordt de verantwoordelijkheid uitgelegd van een apparaat voor het verzenden van een certificaatondertekeningsaanvraag (CSR), hoe ADR en Device Provisioning Service (DPS) samenwerken om certificaten op schaal uit te geven en hoe IoT Hub de uitgegeven certificaten vertrouwt.

Important

Azure IoT Hub met Azure Device Registry-integratie en Microsoft-ondersteund X.509-certificaatbeheer bevindt zich in public preview en wordt niet aanbevolen voor productieworkloads. Zie FAQ: Wat is er nieuw in IoT Hub? voor meer informatie.

Hoe uitgifte van apparaatcertificaten werkt

In de volgende stappen wordt de end-to-end uitgiftestroom beschreven:

  1. Het IoT-apparaat maakt verbinding met het DPS-eindpunt en verifieert met behulp van de vooraf geconfigureerde onboardingreferenties, zoals een symmetrische sleutel, X.509-certificaat of TPM (Trusted Platform Module). Als onderdeel van deze registratieoproep verzendt het apparaat een aanvraag voor certificaatondertekening (CSR) die de openbare sleutel en de registratie-id van het apparaat bevat.
  2. DPS wijst het IoT-apparaat toe aan een IoT Hub op basis van de inschrijvingsconfiguratie.
  3. De apparaat-id wordt gemaakt in IoT Hub en geregistreerd bij de ADR-naamruimte. De CSR wordt doorgestuurd naar de unieke PKI die is toegewezen aan de ADR-naamruimte. De PKI valideert de aanvraag en stuurt deze door naar het beleid dat is gekoppeld aan de DPS-inschrijving.
  4. De CA die het beleid uitgeeft, ondertekent en verstrekt het operationele certificaat.
  5. DPS retourneert het uitgegeven certificaat en IoT Hub verbindingsgegevens naar het apparaat.
  6. Het apparaat wordt geverifieerd met IoT Hub door de volledige certificaatketen te presenteren.

Diagram waarin wordt getoond hoe Azure Apparaatregister kan worden geïntegreerd met IoT Hub en DPS voor certificaatbeheer tijdens provisioning.

Vereisten voor certificaatondertekening

Wanneer een apparaat wordt ingericht of opnieuw ingericht, stuurt het een CSR naar DPS. DPS verwacht dat de CSR voldoet aan de volgende vereisten:

  • Formaat: Met Base64 gecodeerde verschillende coderingsregels (DER) volgens de public key cryptography standards (PKCS) #10 specificatie. Pem-kop- en voetteksten (Privacy-Enhanced Mail) kunnen niet worden opgenomen.
  • Algemene naam (CN): Het CN-veld moet exact overeenkomen met de DPS-registratie-id van het apparaat.
  • Sleutelalgoritmen: Elliptische curvesleutel (EC) met behulp van de NIST P-384-curve. RSA-sleutels worden niet ondersteund in de huidige preview.

Zie voorbeelden van DPS Device SDK voor implementaties.

Cryptografische algoritmen

Certificaatbeheer maakt gebruik van de volgende cryptografische standaarden voor alle certificaten die zijn uitgegeven door een beleid:

Property Waarde
Sleutelalgoritmen ECC (ECDSA)
Curve NIST P-384 (secp384r1)
Hash-algoritme SHA-384
Sleutelopslag Azure Managed HSM.

ECC met P-384 biedt gelijkwaardige beveiliging als RSA bij veel kleinere sleutelgrootten. Dit algoritme produceert kleinere certificaten, snellere TLS-handshakes en een lager energieverbruik op beperkte IoT-apparaten.

IoT Hub vertrouwen en referentiesynchronisatie

Om een apparaat te verifiëren met IoT Hub met behulp van het uitgegeven certificaat, moet IoT Hub de verlenende CA vertrouwen die het apparaatcertificaat heeft ondertekend. ADR beheert deze vertrouwensrelatie via referentiesynchronisatie, waardoor het verlenende CA-certificaat van ADR naar uw gekoppelde IoT Hubs wordt gepusht.

Als u referentiesynchronisatie handmatig wilt uitvoeren, gebruikt u de volgende Azure CLI opdracht:

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

IoT Hub slaat het verlenende CA-certificaat op en gebruikt dit om de certificaatketen te valideren die uw apparaten tijdens TLS-verificatie presenteren.