X.509-apparaatcertificaten rolleren
Tijdens de levenscyclus van uw IoT-oplossing moet u certificaten uitrollen. Twee van de belangrijkste redenen voor rollende certificaten zijn een beveiligingsschending en verlopen van certificaten.
Rolling certificaten is een best practice voor beveiliging om uw systeem te beveiligen in het geval van een inbreuk. Als onderdeel van De Methodologie voor inbreuk aannemen pleit Microsoft voor de noodzaak van reactieve beveiligingsprocessen, samen met preventieve maatregelen. Het rollen van uw apparaatcertificaten moet worden opgenomen als onderdeel van deze beveiligingsprocessen. De frequentie waarin u uw certificaten rolt, is afhankelijk van de beveiligingsbehoeften van uw oplossing. Klanten met oplossingen met zeer gevoelige gegevens kunnen het certificaat dagelijks rollen, terwijl anderen hun certificaten elke paar jaar rolleren.
Rolling apparaatcertificaten omvatten het bijwerken van het certificaat dat is opgeslagen op het apparaat en de IoT-hub. Daarna kan het apparaat zichzelf opnieuw inrichten met de IoT-hub met behulp van normale inrichting met de Device Provisioning Service (DPS).
Nieuwe certificaten verkrijgen
Er zijn veel manieren om nieuwe certificaten te verkrijgen voor uw IoT-apparaten. Deze omvatten het verkrijgen van certificaten van de apparaatfactory, het genereren van uw eigen certificaten en het beheren van het maken van certificaten door een derde partij voor u.
Certificaten worden door elkaar ondertekend om een vertrouwensketen te vormen van een basis-CA-certificaat naar een bladcertificaat. Een handtekeningcertificaat is het certificaat dat wordt gebruikt om het certificaat te ondertekenen aan het einde van de vertrouwensketen. Een handtekeningcertificaat kan een basis-CA-certificaat of een tussenliggend certificaat zijn in een vertrouwensketen. Zie X.509-certificaten voor meer informatie.
Er zijn twee verschillende manieren om een handtekeningcertificaat te verkrijgen. De eerste manier, die wordt aanbevolen voor productiesystemen, is het aanschaffen van een handtekeningcertificaat bij een basiscertificeringsinstantie (CA). Op deze manier wordt de beveiliging gekoppeld aan een vertrouwde bron.
De tweede manier is om uw eigen X.509-certificaten te maken met behulp van een hulpprogramma zoals OpenSSL. Deze aanpak is ideaal voor het testen van X.509-certificaten, maar biedt weinig garanties voor beveiliging. U wordt aangeraden deze methode alleen te gebruiken voor testen, tenzij u bent voorbereid om te fungeren als uw eigen CA-provider.
Het certificaat op het apparaat uitrollen
Certificaten op een apparaat moeten altijd worden opgeslagen op een veilige plaats, zoals een HSM (Hardware Security Module). De manier waarop u apparaatcertificaten samenrolt, is afhankelijk van hoe ze zijn gemaakt en geïnstalleerd op de apparaten.
Als u uw certificaten van een derde partij hebt ontvangen, moet u kijken hoe ze hun certificaten uitrollen. Het proces kan worden opgenomen in uw overeenkomst met hen, of het kan een afzonderlijke service zijn die ze aanbieden.
Als u uw eigen apparaatcertificaten beheert, moet u uw eigen pijplijn bouwen voor het bijwerken van certificaten. Zorg ervoor dat zowel oude als nieuwe leaf-certificaten dezelfde algemene naam (CN) hebben. Door dezelfde CN te hebben, kan het apparaat zichzelf opnieuw inrichten zonder een dubbele registratierecord te maken.
De mechanismen voor het installeren van een nieuw certificaat op een apparaat hebben vaak een van de volgende benaderingen:
U kunt betrokken apparaten activeren om een nieuwe aanvraag voor certificaatondertekening (CSR) naar uw PKI-certificeringsinstantie (CA) te verzenden. In dit geval kan elk apparaat waarschijnlijk het nieuwe apparaatcertificaat rechtstreeks van de CA downloaden.
U kunt een CSR van elk apparaat behouden en dit gebruiken om een nieuw apparaatcertificaat op te halen van de PKI-CA. In dit geval moet u het nieuwe certificaat naar elk apparaat in een firmware-update pushen met behulp van een beveiligde OTA-updateservice, zoals Device Update voor IoT Hub.
Het certificaat in DPS uitrollen
Het apparaatcertificaat kan handmatig worden toegevoegd aan een IoT-hub. Het certificaat kan ook worden geautomatiseerd met behulp van een Device Provisioning Service-exemplaar. In dit artikel wordt ervan uitgegaan dat een Device Provisioning Service-exemplaar wordt gebruikt ter ondersteuning van automatisch inrichten.
Wanneer een apparaat in eerste instantie wordt ingericht via automatisch inrichten, wordt het opgestart en wordt er contact opgetreden met de inrichtingsservice. De inrichtingsservice reageert door een identiteitscontrole uit te voeren voordat u een apparaat-id in een IoT-hub maakt met behulp van het leaf-certificaat van het apparaat als referentie. De inrichtingsservice vertelt vervolgens aan het apparaat aan welke IoT-hub het is toegewezen en het apparaat gebruikt vervolgens het leaf-certificaat om te verifiëren en verbinding te maken met de IoT-hub.
Zodra een nieuw leaf-certificaat is geïmplementeerd op het apparaat, kan het geen verbinding meer maken met de IoT-hub omdat er een nieuw certificaat wordt gebruikt om verbinding te maken. De IoT-hub herkent het apparaat alleen met het oude certificaat. Het resultaat van de verbindingspoging van het apparaat is een 'niet-geautoriseerde' verbindingsfout. Als u deze fout wilt oplossen, moet u de inschrijvingsvermelding voor het apparaat bijwerken om rekening te houden met het nieuwe leaf-certificaat van het apparaat. Vervolgens kan de inrichtingsservice de registergegevens van het IoT Hub-apparaat zo nodig bijwerken wanneer het apparaat opnieuw wordt ingericht.
Een mogelijke uitzondering op deze verbindingsfout is een scenario waarin u een inschrijvingsgroep voor uw apparaat hebt gemaakt in de inrichtingsservice. Als u in dit geval niet de basis- of tussencertificaten in de vertrouwensketen van het apparaat rolt, wordt het apparaat herkend als het nieuwe certificaat deel uitmaakt van de vertrouwensketen die is gedefinieerd in de inschrijvingsgroep. Als dit scenario zich voordoet als reactie op een beveiligingsschending, moet u ten minste de specifieke apparaatcertificaten in de groep die als inbreuk worden beschouwd, weigeren. Zie Specifieke apparaten in een inschrijvingsgroep niet inschakelen voor meer informatie
Hoe u het bijwerken van de inschrijvingsvermelding kunt afhandelen, is afhankelijk van of u afzonderlijke inschrijvingen of groepsinschrijvingen gebruikt. De aanbevolen procedures verschillen ook, afhankelijk van of u certificaten rolling bent vanwege een beveiligingsschending of het verlopen van certificaten. In de volgende secties wordt beschreven hoe u deze updates kunt verwerken.
Certificaten voor afzonderlijke inschrijvingen implementeren
Als u certificaten rolt als reactie op een beveiligingsschending, moet u alle gecompromitteerde certificaten onmiddellijk verwijderen.
Als u certificaten rolt om verlopen van certificaten af te handelen, moet u de configuratie van het secundaire certificaat gebruiken om de downtime te verminderen voor apparaten die proberen in te richten. Later, wanneer het secundaire certificaat bijna verloopt en moet worden gerold, kunt u naar de primaire configuratie draaien. Als u op deze manier tussen de primaire en secundaire certificaten roteert, vermindert u de downtime voor apparaten die proberen in te richten.
Inschrijvingsvermeldingen voor rolled certificaten worden bijgewerkt op de pagina Inschrijvingen beheren. Voer de volgende stappen uit om deze pagina te openen:
Meld u aan bij Azure Portal en navigeer naar het Device Provisioning Service-exemplaar met de inschrijvingsvermelding voor uw apparaat.
Selecteer Inschrijvingen beheren.
Selecteer het tabblad Afzonderlijke inschrijvingen en selecteer de vermelding registratie-id in de lijst.
Schakel de selectievakjes Primaire/secundaire certificaten verwijderen of vervangen in als u een bestaand certificaat wilt verwijderen. Selecteer het pictogram van de bestandsmap om naar de nieuwe certificaten te bladeren en te uploaden.
Als een van uw certificaten is aangetast, moet u deze zo snel mogelijk verwijderen.
Als een van uw certificaten bijna is verlopen, kunt u deze behouden zolang het tweede certificaat na die datum nog steeds actief is.
Selecteer Opslaan wanneer u klaar bent.
Als u een gecompromitteerd certificaat uit de inrichtingsservice hebt verwijderd, kan het certificaat nog steeds worden gebruikt om apparaatverbindingen met de IoT-hub te maken zolang er een apparaatregistratie voor bestaat. U kunt dit op twee manieren oplossen:
De eerste manier is om handmatig naar uw IoT-hub te navigeren en onmiddellijk de apparaatregistratie te verwijderen die is gekoppeld aan het gecompromitteerde certificaat. Wanneer het apparaat vervolgens opnieuw wordt ingericht met een bijgewerkt certificaat, wordt er een nieuwe apparaatregistratie gemaakt.
De tweede manier is om herinrichtingsondersteuning te gebruiken om het apparaat opnieuw in te richten op dezelfde IoT-hub. Deze methode kan worden gebruikt om het certificaat voor de apparaatregistratie op de IoT-hub te vervangen. Zie Apparaten opnieuw inrichten voor meer informatie.
Certificaten implementeren voor inschrijvingsgroepen
Als u een groepsinschrijving wilt bijwerken als reactie op een beveiligingsschending, moet u de gecompromitteerde basis-CA of het tussenliggende certificaat onmiddellijk verwijderen.
Als u certificaten voor het afhandelen van verlopen certificaten gebruikt, moet u de configuratie van het secundaire certificaat gebruiken om ervoor te zorgen dat er geen downtime is voor apparaten die proberen in te richten. Later, wanneer het secundaire certificaat ook bijna verloopt en moet worden gerold, kunt u naar de primaire configuratie draaien. Als u op deze manier tussen de primaire en secundaire certificaten roteert, zorgt u ervoor dat er geen downtime is voor apparaten die proberen in te richten.
Basis-CA-certificaten bijwerken
Selecteer Certificaten in de sectie Instellingen van het navigatiemenu voor uw Device Provisioning Service-exemplaar.
Selecteer het gecompromitteerde of verlopen certificaat in de lijst en selecteer vervolgens Verwijderen. Bevestig het verwijderen door de certificaatnaam in te voeren en OK te selecteren.
Volg de stappen die worden beschreven in Geverifieerde CA-certificaten configureren om nieuwe basis-CA-certificaten toe te voegen en te verifiëren.
Selecteer Inschrijvingen beheren in de sectie Instellingen van het navigatiemenu voor uw Device Provisioning Service-exemplaar en selecteer het tabblad Inschrijvingsgroepen.
Selecteer de naam van de inschrijvingsgroep in de lijst.
Selecteer in de sectie X.509-certificaatinstellingen uw nieuwe basis-CA-certificaat om het gecompromitteerde of verlopen certificaat te vervangen of om toe te voegen als secundair certificaat.
Selecteer Opslaan.
Als u een aangetast certificaat uit de inrichtingsservice hebt verwijderd, kan het certificaat nog steeds worden gebruikt om apparaatverbindingen met de IoT-hub te maken zolang er apparaatregistraties voor het certificaat bestaan. U kunt dit op twee manieren oplossen:
De eerste manier is om handmatig naar uw IoT-hub te navigeren en onmiddellijk de apparaatregistraties te verwijderen die zijn gekoppeld aan het gecompromitteerde certificaat. Wanneer uw apparaten vervolgens opnieuw worden ingericht met bijgewerkte certificaten, wordt er voor elk apparaat een nieuwe apparaatregistratie gemaakt.
De tweede manier is om de inrichtingsondersteuning te gebruiken om uw apparaten opnieuw in te richten op dezelfde IoT-hub. Deze methode kan worden gebruikt om certificaten voor apparaatregistraties op de IoT-hub te vervangen. Zie Apparaten opnieuw inrichten voor meer informatie.
Tussenliggende certificaten bijwerken
Selecteer Inschrijvingen beheren in de sectie Instellingen van het navigatiemenu voor uw Device Provisioning Service-exemplaar en selecteer het tabblad Inschrijvingsgroepen.
Selecteer de groepsnaam in de lijst.
Schakel de selectievakjes Primaire/secundaire certificaten verwijderen of vervangen in als u een bestaand certificaat wilt verwijderen. Selecteer het pictogram van de bestandsmap om naar de nieuwe certificaten te bladeren en te uploaden.
Als een van uw certificaten is aangetast, moet u deze zo snel mogelijk verwijderen.
Als een van uw certificaten bijna is verlopen, kunt u deze behouden zolang het tweede certificaat na die datum nog steeds actief is.
Elk tussenliggend certificaat moet worden ondertekend door een geverifieerd basis-CA-certificaat dat al is toegevoegd aan de inrichtingsservice. Zie X.509-certificaten voor meer informatie.
Als u een aangetast certificaat uit de inrichtingsservice hebt verwijderd, kan het certificaat nog steeds worden gebruikt om apparaatverbindingen met de IoT-hub te maken zolang er apparaatregistraties voor het certificaat bestaan. U kunt dit op twee manieren oplossen:
De eerste manier is om handmatig naar uw IoT-hub te navigeren en onmiddellijk de apparaatregistratie te verwijderen die is gekoppeld aan het gecompromitteerde certificaat. Wanneer uw apparaten vervolgens opnieuw worden ingericht met bijgewerkte certificaten, wordt er voor elk apparaat een nieuwe apparaatregistratie gemaakt.
De tweede manier is om de inrichtingsondersteuning te gebruiken om uw apparaten opnieuw in te richten op dezelfde IoT-hub. Deze methode kan worden gebruikt om certificaten voor apparaatregistraties op de IoT-hub te vervangen. Zie Apparaten opnieuw inrichten voor meer informatie.
Het apparaat opnieuw inrichten
Zodra het certificaat is geïmplementeerd op zowel het apparaat als de Device Provisioning Service, kan het apparaat zichzelf opnieuw inrichten door contact op te maken met Device Provisioning Service.
Een eenvoudige manier om apparaten te programmeren om de inrichting opnieuw in te richten, is door het apparaat te programmeren om contact op te nemen met de inrichtingsservice om de inrichtingsstroom te doorlopen als het apparaat een 'niet-geautoriseerde' fout krijgt van een poging om verbinding te maken met de IoT-hub.
Een andere manier is dat zowel de oude als de nieuwe certificaten geldig zijn voor een korte overlapping en dat de IoT-hub een opdracht verzendt naar apparaten om ze opnieuw te laten registreren via de inrichtingsservice om hun IoT Hub-verbindingsgegevens bij te werken. Omdat elk apparaat opdrachten anders kan verwerken, moet u uw apparaat programmeren om te weten wat u moet doen wanneer de opdracht wordt aangeroepen. Er zijn verschillende manieren waarop u uw apparaat kunt opdracht geven via IoT Hub. We raden u aan directe methoden of taken te gebruiken om het proces te starten.
Zodra de inrichting is voltooid, kunnen apparaten verbinding maken met IoT Hub met behulp van hun nieuwe certificaten.
Certificaten niet weigeren
Als reactie op een beveiligingsschending moet u mogelijk een apparaatcertificaat weigeren. Als u een apparaatcertificaat wilt weigeren, schakelt u de inschrijvingsvermelding voor het doelapparaat/certificaat uit. Zie voor meer informatie de toewijzing van apparaten ongedaan maken in het artikel Registratie beheren .
Zodra een certificaat is opgenomen als onderdeel van een uitgeschakelde inschrijvingsvermelding, mislukken pogingen om zich te registreren bij een IoT-hub die deze certificaten gebruikt, zelfs als het is ingeschakeld als onderdeel van een andere inschrijvingsvermelding.
Volgende stappen
- Zie X.509-certificaatverklaring voor meer informatie over X.509-certificaten in Device Provisioning Service
- Zie Certificaten controleren voor certificaten van Azure IoT Hub Device Provisioning Service voor meer informatie over het bewijs van eigendom voor X.509-CA-certificaten
- Zie Apparaatinschrijvingen beheren met Azure Portal voor meer informatie over het gebruik van de portal om een inschrijvingsgroep te maken.