Så här distribuerar du X.509-enhetscertifikat
Under livscykeln för din IoT-lösning måste du distribuera certifikat. Två av de främsta orsakerna till rullande certifikat är en säkerhetsöverträdelse och förfallodatum för certifikat.
Löpande certifikat är en säkerhetsmetod som hjälper dig att skydda systemet i händelse av ett intrång. Som en del av Anta överträdelsemetodik förespråkar Microsoft behovet av att ha reaktiva säkerhetsprocesser på plats tillsammans med förebyggande åtgärder. Rullande enhetscertifikat bör ingå som en del av dessa säkerhetsprocesser. Hur ofta du distribuerar dina certifikat beror på lösningens säkerhetsbehov. Kunder med lösningar med mycket känsliga data kan distribuera certifikat varje dag, medan andra distribuerar sina certifikat vartannat år.
Rullande enhetscertifikat omfattar uppdatering av certifikatet som lagras på enheten och IoT-hubben. Därefter kan enheten återskapa sig själv med IoT-hubben med hjälp av normal etablering med Device Provisioning Service (DPS).
Skaffa nya certifikat
Det finns många sätt att hämta nya certifikat för dina IoT-enheter. Dessa inkluderar att hämta certifikat från enhetsfabriken, generera egna certifikat och låta en tredje part hantera skapande av certifikat åt dig.
Certifikat signeras av varandra för att bilda en förtroendekedja från ett rotcertifikatutfärdarcertifikat till ett lövcertifikat. Ett signeringscertifikat är det certifikat som används för att signera lövcertifikatet i slutet av förtroendekedjan. Ett signeringscertifikat kan vara ett rotcertifikatutfärdarcertifikat eller ett mellanliggande certifikat i förtroendekedjan. Mer information finns i X.509-certifikat.
Det finns två olika sätt att hämta ett signeringscertifikat. Det första sättet, som rekommenderas för produktionssystem, är att köpa ett signeringscertifikat från en rotcertifikatutfärdare (CA). På så sätt kedjas säkerheten ned till en betrodd källa.
Det andra sättet är att skapa egna X.509-certifikat med hjälp av ett verktyg som OpenSSL. Den här metoden är bra för att testa X.509-certifikat men ger få garantier kring säkerhet. Vi rekommenderar att du endast använder den här metoden för testning om du inte är beredd att agera som din egen CA-provider.
Rulla certifikatet på enheten
Certifikat på en enhet bör alltid lagras på en säker plats som en maskinvarusäkerhetsmodul (HSM). Hur du distribuerar enhetscertifikat beror på hur de skapades och installerades på enheterna i första hand.
Om du får dina certifikat från en tredje part måste du titta på hur de distribuerar sina certifikat. Processen kan ingå i ditt avtal med dem, eller så kan det vara en separat tjänst som de erbjuder.
Om du hanterar dina egna enhetscertifikat måste du skapa en egen pipeline för att uppdatera certifikat. Kontrollera att både gamla och nya lövcertifikat har samma gemensamma namn (CN). Genom att ha samma CN kan enheten återskapa sig själv utan att skapa en duplicerad registreringspost.
Mekaniken för att installera ett nytt certifikat på en enhet omfattar ofta någon av följande metoder:
Du kan utlösa berörda enheter för att skicka en ny begäran om certifikatsignering (CSR) till din PKI-certifikatutfärdare (CA). I det här fallet kommer varje enhet sannolikt att kunna ladda ned sitt nya enhetscertifikat direkt från certifikatutfärdare.
Du kan behålla en CSR från varje enhet och använda den för att hämta ett nytt enhetscertifikat från PKI CA:n. I det här fallet måste du skicka det nya certifikatet till varje enhet i en uppdatering av den inbyggda programvaran med hjälp av en säker OTA-uppdateringstjänst som Enhetsuppdatering för IoT Hub.
Rulla certifikatet i DPS
Enhetscertifikatet kan läggas till manuellt i en IoT-hubb. Certifikatet kan också automatiseras med hjälp av en instans av enhetsetableringstjänsten. I den här artikeln antar vi att en instans av enhetsetableringstjänsten används för automatisk etablering.
När en enhet först etableras via automatisk etablering startar den och kontaktar etableringstjänsten. Etableringstjänsten svarar genom att utföra en identitetskontroll innan du skapar en enhetsidentitet i en IoT-hubb med hjälp av enhetens lövcertifikat som autentiseringsuppgifter. Etableringstjänsten meddelar sedan enheten vilken IoT-hubb den har tilldelats, och enheten använder sedan sitt lövcertifikat för att autentisera och ansluta till IoT-hubben.
När ett nytt lövcertifikat har rullats till enheten kan det inte längre ansluta till IoT-hubben eftersom det använder ett nytt certifikat för att ansluta. IoT-hubben känner bara igen enheten med det gamla certifikatet. Resultatet av enhetens anslutningsförsök blir ett "obehörigt" anslutningsfel. För att lösa det här felet måste du uppdatera registreringsposten för enheten för att ta hänsyn till enhetens nya lövcertifikat. Etableringstjänsten kan sedan uppdatera IoT Hub-enhetens registerinformation efter behov när enheten återskapas.
Ett möjligt undantag till det här anslutningsfelet är ett scenario där du har skapat en registreringsgrupp för enheten i etableringstjänsten. Om du i det här fallet inte rullar rotcertifikaten eller mellanliggande certifikat i enhetens förtroendekedja identifieras enheten om det nya certifikatet ingår i den förtroendekedja som definierats i registreringsgruppen. Om det här scenariot uppstår som en reaktion på en säkerhetsöverträdelse bör du åtminstone inte tillåta de specifika enhetscertifikaten i gruppen som anses vara överträdda. Mer information finns i Tillåt inte specifika enheter i en registreringsgrupp
Hur du hanterar uppdatering av registreringsposten beror på om du använder enskilda registreringar eller gruppregistreringar. De rekommenderade procedurerna skiljer sig också beroende på om du rullar certifikat på grund av ett säkerhetsintrång eller om certifikatet upphör att gälla. I följande avsnitt beskrivs hur du hanterar dessa uppdateringar.
Rulla certifikat för enskilda registreringar
Om du rullar certifikat som svar på en säkerhetsöverträdelse bör du ta bort eventuella komprometterade certifikat omedelbart.
Om du rullar certifikat för att hantera certifikatets förfallodatum bör du använda den sekundära certifikatkonfigurationen för att minska stilleståndstiden för enheter som försöker etablera. Senare, när det sekundära certifikatet närmar sig förfallodatum och behöver rullas, kan du rotera till med hjälp av den primära konfigurationen. Om du roterar mellan de primära och sekundära certifikaten på det här sättet minskar stilleståndstiden för enheter som försöker etablera.
Uppdatering av registreringsposter för distribuerade certifikat sker på sidan Hantera registreringar . Följ dessa steg för att komma åt den sidan:
Logga in på Azure-portalen och navigera till den instans av enhetsetableringstjänsten som har registreringsposten för din enhet.
Välj Hantera registreringar.
Välj fliken Enskilda registreringar och välj registrerings-ID-posten i listan.
Markera kryssrutan Ta bort eller ersätt primärt/sekundärt certifikat om du vill ta bort ett befintligt certifikat. Välj filmappsikonen för att bläddra efter och ladda upp de nya certifikaten.
Om något av dina certifikat har komprometterats bör du ta bort dem så snart som möjligt.
Om ett av dina certifikat snart upphör att gälla kan du behålla det så länge det andra certifikatet fortfarande är aktivt efter det datumet.
Välj Spara när du är klar.
Om du har tagit bort ett komprometterat certifikat från etableringstjänsten kan certifikatet fortfarande användas för att göra enhetsanslutningar till IoT-hubben så länge det finns en enhetsregistrering för det. Du kan åtgärda detta på två sätt:
Det första sättet är att manuellt navigera till din IoT-hubb och omedelbart ta bort enhetsregistreringen som är associerad med det komprometterade certifikatet. När enheten sedan etablerar igen med ett uppdaterat certifikat skapas en ny enhetsregistrering.
Det andra sättet är att använda återetableringsstöd för att återskapa enheten till samma IoT-hubb. Den här metoden kan användas för att ersätta certifikatet för enhetsregistreringen på IoT-hubben. Mer information finns i Så här etablerar du enheter igen.
Rulla certifikat för registreringsgrupper
Om du vill uppdatera en gruppregistrering som svar på ett säkerhetsintrång bör du ta bort den komprometterade rotcertifikatutfärdare eller mellanliggande certifikatet omedelbart.
Om du kör certifikat för att hantera certifikatets förfallodatum bör du använda den sekundära certifikatkonfigurationen för att säkerställa ingen stilleståndstid för enheter som försöker etablera. Senare, när det sekundära certifikatet också närmar sig förfallodatum och måste rullas, kan du rotera till med hjälp av den primära konfigurationen. Om du roterar mellan de primära och sekundära certifikaten på det här sättet säkerställs ingen stilleståndstid för enheter som försöker etablera.
Uppdatera rotcertifikatutfärdarcertifikat
Välj Certifikat i avsnittet Inställningar i navigeringsmenyn för enhetsetableringstjänstens instans.
Välj det komprometterade eller utgångna certifikatet i listan och välj sedan Ta bort. Bekräfta borttagningen genom att ange certifikatnamnet och välj OK.
Följ stegen som beskrivs i Konfigurera verifierade CA-certifikat för att lägga till och verifiera nya rotcertifikatutfärdarcertifikat.
Välj Hantera registreringar i avsnittet Inställningar i navigeringsmenyn för enhetsetableringstjänstens instans och välj fliken Registreringsgrupper.
Välj namnet på din registreringsgrupp i listan.
I avsnittet X.509-certifikatinställningar väljer du det nya rotcertifikatutfärdarcertifikatet för att antingen ersätta det komprometterade eller utgångna certifikatet eller lägga till som ett sekundärt certifikat.
Välj Spara.
Om du har tagit bort ett komprometterat certifikat från etableringstjänsten kan certifikatet fortfarande användas för att upprätta enhetsanslutningar till IoT-hubben så länge enhetsregistreringar för det finns där. Du kan åtgärda detta på två sätt:
Det första sättet är att manuellt navigera till din IoT-hubb och omedelbart ta bort de enhetsregistreringar som är associerade med det komprometterade certifikatet. När enheterna etableras igen med uppdaterade certifikat skapas sedan en ny enhetsregistrering för var och en.
Det andra sättet är att använda återetableringsstöd för att återskapa dina enheter till samma IoT-hubb. Den här metoden kan användas för att ersätta certifikat för enhetsregistreringar på IoT-hubben. Mer information finns i Så här etablerar du enheter igen.
Uppdatera mellanliggande certifikat
Välj Hantera registreringar i avsnittet Inställningar i navigeringsmenyn för enhetsetableringstjänstens instans och välj fliken Registreringsgrupper.
Välj gruppnamnet i listan.
Markera kryssrutan Ta bort eller ersätt primärt/sekundärt certifikat om du vill ta bort ett befintligt certifikat. Välj filmappsikonen för att bläddra efter och ladda upp de nya certifikaten.
Om något av dina certifikat har komprometterats bör du ta bort dem så snart som möjligt.
Om ett av dina certifikat snart upphör att gälla kan du behålla det så länge det andra certifikatet fortfarande är aktivt efter det datumet.
Varje mellanliggande certifikat ska signeras av ett verifierat rotcertifikatutfärdarcertifikat som redan har lagts till i etableringstjänsten. Mer information finns i X.509-certifikat.
Om du har tagit bort ett komprometterat certifikat från etableringstjänsten kan certifikatet fortfarande användas för att upprätta enhetsanslutningar till IoT-hubben så länge enhetsregistreringar för det finns där. Du kan åtgärda detta på två sätt:
Det första sättet är att manuellt navigera till din IoT-hubb och omedelbart ta bort enhetsregistreringen som är associerad med det komprometterade certifikatet. När enheterna etableras igen med uppdaterade certifikat skapas sedan en ny enhetsregistrering för var och en.
Det andra sättet är att använda återetableringsstöd för att återskapa dina enheter till samma IoT-hubb. Den här metoden kan användas för att ersätta certifikat för enhetsregistreringar på IoT-hubben. Mer information finns i Så här etablerar du enheter igen.
Återskapa enheten
När certifikatet har rullats på både enheten och enhetsetableringstjänsten kan enheten återskapa sig själv genom att kontakta device provisioning-tjänsten.
Ett enkelt sätt att programmera enheter att återskapa är att programmera enheten att kontakta etableringstjänsten för att gå igenom etableringsflödet om enheten får ett "obehörigt" fel från att försöka ansluta till IoT-hubben.
Ett annat sätt är att både de gamla och de nya certifikaten är giltiga för en kort överlappning och använder IoT-hubben för att skicka ett kommando till enheter så att de registreras igen via etableringstjänsten för att uppdatera sin IoT Hub-anslutningsinformation. Eftersom varje enhet kan bearbeta kommandon på olika sätt måste du programmera enheten för att veta vad du ska göra när kommandot anropas. Det finns flera sätt att styra enheten via IoT Hub, och vi rekommenderar att du använder direkta metoder eller jobb för att initiera processen.
När ometablering är klar kan enheterna ansluta till IoT Hub med sina nya certifikat.
Tillåt inte certifikat
Som svar på en säkerhetsöverträdelse kan du behöva neka ett enhetscertifikat. Om du vill neka ett enhetscertifikat inaktiverar du registreringsposten för målenheten/certifikatet. Mer information finns i avsnittet om att inte tillåta enheter i artikeln Hantera avregistrering .
När ett certifikat ingår som en del av en inaktiverad registreringspost misslyckas alla försök att registrera sig med en IoT-hubb med hjälp av certifikaten även om det är aktiverat som en del av en annan registreringspost.
Nästa steg
- Mer information om X.509-certifikat i Enhetsetableringstjänsten finns i X.509-certifikatattestering
- Information om hur du utför innehavsbevis för X.509 CA-certifikat med Azure IoT Hub Device Provisioning Service finns i Så här verifierar du certifikat
- Mer information om hur du använder portalen för att skapa en registreringsgrupp finns i Hantera enhetsregistreringar med Azure-portalen.