Autentisera enheter med X.509 CA-certifikat

I den här artikeln beskrivs hur du använder X.509-certifikatutfärdare (CA) för att autentisera enheter som ansluter till IoT Hub. I den här artikeln får du lära dig:

  • Så här hämtar du ett X.509 CA-certifikat
  • Registrera X.509 CA-certifikatet för att IoT Hub
  • Så här signerar du enheter med X.509 CA-certifikat
  • Så här autentiseras enheter som signerats med X.509 CA

Viktigt

Följande funktioner för enheter som använder X.509-certifikatutfärdarautentisering (CA) är ännu inte allmänt tillgängliga och förhandsgranskningsläget måste vara aktiverat:

  • HTTPS, MQTT över WebSockets och AMQP över WebSockets-protokoll.
  • Filuppladdningar (alla protokoll).

Dessa funktioner är allmänt tillgängliga på enheter som använder X.509-tumavtrycksautentisering. Mer information om X.509-autentisering med IoT Hub finns i X.509-certifikat som stöds.

Med X.509 CA-funktionen kan enhetsautentisering IoT Hub med hjälp av en certifikatutfärdare (CA). Det förenklar den inledande processen för enhetsregistrering och logistik för leveranskedjan under enhetstillverkningen. Mer information finns i Förstå hur X.509 CA-certifikat används i IoT-branschen om du inte är bekant med X.509 CA-certifikat .

Hämta ett X.509 CA-certifikat

X.509 CA-certifikatet finns överst i kedjan med certifikat för var och en av dina enheter. Du kan köpa eller skapa en beroende på hur du tänker använda den.

För produktionsmiljöer rekommenderar vi att du köper ett X.509 CA-certifikat från en offentlig rotcertifikatutfärdare. Att köpa ett CA-certifikat har fördelen att rotcertifikatutfärdare fungerar som en betrodd tredje part för att garantera att dina enheter är legitima. Överväg det här alternativet om dina enheter ingår i ett öppet IoT-nätverk där de interagerar med produkter eller tjänster från tredje part.

Du kan också skapa en självsignerad X.509 CA för experimentering eller för användning i stängda IoT-nätverk.

Oavsett hur du skaffar ditt X.509 CA-certifikat ser du till att alltid hålla motsvarande privata nyckel hemlig och skyddad. Detta är nödvändigt för att skapa förtroende för X.509 CA-autentiseringen.

Lär dig hur du skapar ett självsignerat CA-certifikat som du kan använda för testning.

Logga in enheter i certifikatkedjan med förtroende

Ägaren av ett X.509 CA-certifikat kan kryptografiskt signera en mellanliggande certifikatutfärdare som i sin tur kan signera en annan mellanliggande certifikatutfärdare och så vidare tills den sista mellanliggande certifikatutfärdaren avslutar den här processen genom att signera ett enhetscertifikat. Resultatet är en överlappande kedja av certifikat som kallas för en certifikatkedja med förtroende. I verkligheten fungerar detta som delegering av förtroende för signering av enheter. Den här delegeringen är viktig eftersom den upprättar en kryptografiskt variabel kedja av vårdnad och undviker delning av signeringsnycklar.

img-generic-cert-chain-of-trust

Enhetscertifikatet (kallas även lövcertifikat) måste ha ämnesnamnet inställt på det enhets-ID (CN=deviceId) som användes när IoT-enheten registrerades i Azure IoT Hub. Den här inställningen krävs för autentisering.

Lär dig hur du skapar en certifikatkedja som du gör när du signerar enheter.

Registrera X.509 CA-certifikatet för att IoT Hub

Registrera ditt X.509 CA-certifikat till IoT Hub där det används för att autentisera dina enheter under registreringen och anslutningen. Registrering av X.509 CA-certifikatet är en tvåstegsprocess som omfattar uppladdning av certifikatfilen och sedan upprättande av bevis på innehav.

Uppladdningsprocessen innebär att du laddar upp en fil som innehåller ditt certifikat. Den här filen får aldrig innehålla några privata nycklar.

Steget bevis på innehav omfattar en kryptografisk utmaning och svarsprocess mellan dig och IoT Hub. Med tanke på att digitalt certifikatinnehåll är offentligt och därför känsligt för avlyssning måste IoT Hub verifiera att du verkligen äger CA-certifikatet. Det gör det genom att generera en slumpmässig utmaning som du signerar med CA-certifikatets motsvarande privata nyckel. Om du har bevarat hemligheten för den privata nyckeln och skyddat enligt rekommendationerna är det bara du som har kunskapen för att slutföra det här steget. Sekretess för privata nycklar är källan till förtroende för den här metoden. När du har signerat uppgiften slutför du det här steget genom att ladda upp en fil som innehåller resultatet.

Lär dig hur du registrerar ditt CA-certifikat

Skapa en enhet på IoT Hub

För att förhindra enhetspersonifiering kräver IoT Hub att du meddelar den vilka enheter som ska förväntas. Det gör du genom att skapa en enhetspost i IoT-hubbens enhetsregister. Den här processen automatiseras när du använder IoT Hub Device Provisioning Service.

Lär dig hur du manuellt skapar en enhet i IoT Hub.

Autentisera enheter som signerats med X.509 CA-certifikat

När ditt X.509 CA-certifikat är registrerat och enheterna är inloggade i en certifikatkedja är det sista steget enhetsautentisering när enheten ansluter. När en X.509 CA-signerad enhet ansluter laddar den upp sin certifikatkedja för validering. Kedjan innehåller alla mellanliggande certifikatutfärdare och enhetscertifikat. Med den här informationen autentiserar IoT Hub enheten i en tvåstegsprocess. IoT Hub validerar certifikatkedjan kryptografiskt för intern konsekvens och utfärdar sedan en kontroll av innehavet till enheten. IoT Hub deklarerar enhetens autentisering på ett lyckat bevis på innehavarsvar från enheten. Den här deklarationen förutsätter att enhetens privata nyckel är skyddad och att endast enheten kan svara på den här uppgiften. Vi rekommenderar att du använder säkra kretsar som HSM (Hardware Secure Modules) i enheter för att skydda privata nycklar.

En lyckad enhetsanslutning till IoT Hub slutför autentiseringsprocessen och tyder också på en korrekt konfiguration. Varje gång en enhet ansluter omförhandlar IoT Hub TLS-sessionen och verifierar enhetens X.509-certifikat.

Lär dig hur du slutför det här enhetsanslutningssteget.

Nästa steg

Lär dig mer om värdet för X.509 CA-autentisering i IoT.

Kom igång med IoT Hub Device Provisioning Service.