Azure IoT Edge-beveiligingsbeheer
Van toepassing op: IoT Edge 1.1
Belangrijk
Het einde van de ondersteuningsdatum voor IoT Edge 1.1 is 13 december 2022. Raadpleeg het levenscyclusbeleid van Microsoft voor informatie over hoe dit product of deze service, technologie of API wordt ondersteund. Zie IoT Edge bijwerken voor meer informatie over het bijwerken naar de nieuwste versie van IoT Edge.
Azure IoT Edge-beveiligingsbeheer is een goed gebonden beveiligingskern voor het beveiligen van het IoT Edge-apparaat en alle bijbehorende onderdelen door de beveiligde siliciumhardware te abstraheren. De beveiligingsmanager is het centrale punt voor beveiligingbeveiligingsbeveiliging en biedt technologieintegratiepunt aan originele fabrikanten van apparatuur (OEM).
De beveiligingsbeheerder abstraheert de beveiligde siliciumhardware op een IoT Edge-apparaat.
Het IoT Edge-beveiligingsbeheer is erop gericht de integriteit van het IoT Edge-apparaat en alle inherente softwarebewerkingen te verdedigen. De beveiligingsbeheerder gaat over van de onderliggende hardwarebasis van vertrouwenshardware (indien beschikbaar) om de IoT Edge-runtime te bootstrapen en lopende bewerkingen te bewaken. De IoT Edge-beveiligingsmanager is software die samen met beveiligde siliciumhardware (indien beschikbaar) werkt om de hoogst mogelijke beveiligingsgaranties te leveren.
De verantwoordelijkheden van ioT Edge-beveiligingsbeheer omvatten, maar zijn niet beperkt tot:
- Bootstrap van het Azure IoT Edge-apparaat.
- Toegang tot de hardwarehoofdmap van het apparaat beheren via notarisservices.
- Bewaak de integriteit van IoT Edge-bewerkingen tijdens runtime.
- Ontvangt vertrouwensdelegering van de HSM (Hardware Security Module)
- Richt de apparaat-id in en beheer waar van toepassing de overgang van vertrouwen.
- Apparaatonderdelen van cloudservices hosten en beveiligen, zoals Device Provisioning Service.
- IoT Edge-modules inrichten met unieke identiteiten.
Het IoT Edge-beveiligingsbeheer bestaat uit drie onderdelen:
- De IoT Edge-beveiligingsdaemon
- De platformabstractielaag van de hardwarebeveiligingsmodule (HSM PAL)
- Een hardware silicon root van vertrouwen of HSM (optioneel, maar sterk aanbevolen)
De IoT Edge-beveiligingsdaemon
De IoT Edge-beveiligingsdaemon is verantwoordelijk voor de logische beveiligingsbewerkingen van de beveiligingsbeheerder. Het vertegenwoordigt een aanzienlijk deel van de vertrouwde rekenbasis van het IoT Edge-apparaat.
Ontwerpbeginselen
IoT Edge volgt twee kernprincipes: operationele integriteit maximaliseren en bloat en verloop minimaliseren.
Operationele integriteit maximaliseren
De IoT Edge-beveiligingsdaemon werkt met de hoogste integriteit die mogelijk is binnen de verdedigingsmogelijkheid van een bepaalde basis van vertrouwenshardware. Met de juiste integratie wordt de basis van vertrouwde hardwaremetingen en bewaakt de beveiligingsdaemon statisch en tijdens runtime om manipulatie te weerstaan. Schadelijke fysieke toegang tot apparaten is altijd een bedreiging in IoT. Hardwarehoofdmap van vertrouwen speelt een belangrijke rol bij het verdedigen van de integriteit van het IoT Edge-apparaat. Hardwarewortel van vertrouwen komt in twee soorten:
- Beveilig elementen voor de beveiliging van gevoelige informatie, zoals geheimen en cryptografische sleutels.
- Beveilig enclaves voor de beveiliging van geheimen, zoals sleutels en gevoelige workloads, zoals vertrouwelijke machine learning-modellen en meterbewerkingen.
Er bestaan twee soorten uitvoeringsomgevingen voor het gebruik van hardwarehoofdmap van vertrouwen:
- De standaard- of uitgebreide uitvoeringsomgeving (REE) die afhankelijk is van het gebruik van beveiligde elementen om gevoelige informatie te beschermen.
- De vertrouwde uitvoeringsomgeving (TEE) die afhankelijk is van het gebruik van beveiligde enclave-technologie om gevoelige informatie te beschermen en bescherming te bieden voor software-uitvoering.
Voor apparaten die beveiligde enclaves gebruiken als hardwarehoofdmap van vertrouwen, moeten gevoelige logica binnen de IoT Edge-beveiligingsdaemon zich in de enclave bevinden. Niet-gevoelige gedeelten van de beveiligingsdemon kunnen zich buiten de TEE bevinden. In alle gevallen raden we ten zeerste aan dat de oorspronkelijke ontwerpfabrikanten (ODM) en oem-fabrikanten (original equipment manufacturers) de vertrouwensrelatie van hun HSM uitbreiden om de integriteit van de IoT Edge-beveiligingsdaemon tijdens opstarten en runtime te meten en te verdedigen.
Bloat en verloop minimaliseren
Een ander kernprincipe voor de IoT Edge-beveiligingsdaemon is het minimaliseren van het verloop. Voor het hoogste vertrouwensniveau kan de IoT Edge-beveiligingsdaemon nauw worden gekoppeld aan de hardwarehoofdmap van het apparaat en werken als systeemeigen code. In deze gevallen is het gebruikelijk om de IoT Edge-software bij te werken via de hardwarehoofdmap van de beveiligde updatepaden van het vertrouwen in plaats van de updatemechanismen van het besturingssysteem, wat lastig kan zijn. Beveiligingsvernieuwing wordt aanbevolen voor IoT-apparaten, maar overmatige updatevereisten of grote updatepayloads kunnen het bedreigingsoppervlak op veel manieren uitbreiden. U bent bijvoorbeeld geneigd om bepaalde updates over te slaan om de beschikbaarheid van apparaten te maximaliseren. Daarom is het ontwerp van de IoT Edge-beveiligingsdaemon beknopt om de goed geïsoleerde vertrouwde rekenbasis klein te houden om frequente updates aan te moedigen.
Architectuur
De IoT Edge-beveiligingsdaemon profiteert van alle beschikbare hardwarehoofdmap van vertrouwenstechnologie voor beveiligingbeveiliging. Het maakt ook split-world-bewerking mogelijk tussen een standaard/uitgebreide uitvoeringsomgeving (REE) en een VERTROUWDE uitvoeringsomgeving (TEE) wanneer hardwaretechnologieën vertrouwde uitvoeringsomgevingen bieden. Met rolspecifieke interfaces kunnen de belangrijkste onderdelen van IoT Edge de integriteit van het IoT Edge-apparaat en de bijbehorende bewerkingen garanderen.
Cloudinterface
De cloudinterface biedt toegang tot cloudservices die een aanvulling vormen op de beveiliging van apparaten. Met deze interface hebt u bijvoorbeeld toegang tot Device Provisioning Service voor levenscyclusbeheer voor apparaatidentiteiten.
Beheer-API
De beheer-API wordt aangeroepen door de IoT Edge-agent bij het maken/starten/stoppen/verwijderen van een IoT Edge-module. De beveiligingsdaemon slaat 'registraties' op voor alle actieve modules. Deze registraties wijzen de identiteit van een module toe aan bepaalde eigenschappen van de module. Deze module-eigenschappen bevatten bijvoorbeeld de proces-id (pid) van het proces dat wordt uitgevoerd in de container en de hash van de inhoud van de docker-container.
Deze eigenschappen worden gebruikt door de workload-API (hieronder beschreven) om te controleren of de aanroeper is geautoriseerd voor een actie.
De beheer-API is een bevoegde API die alleen kan worden aangeroepen vanuit de IoT Edge-agent. Sinds de IoT Edge-beveiligingsdaemon wordt opgestart en de IoT Edge-agent wordt gestart, wordt gecontroleerd of de IoT Edge-agent niet is geknoeid. Vervolgens kan er een impliciete registratie worden gemaakt voor de IoT Edge-agent. Hetzelfde attestation-proces dat door de workload-API wordt gebruikt, beperkt ook de toegang tot de beheer-API tot alleen de IoT Edge-agent.
Container-API
De container-API communiceert met het containersysteem dat wordt gebruikt voor modulebeheer, zoals Moby of Docker.
Workload-API
De workload-API is toegankelijk voor alle modules. Het biedt een bewijs van identiteit, ofwel als een met HSM geroot token of een X509-certificaat, en de bijbehorende vertrouwensbundel naar een module. De vertrouwensbundel bevat CA-certificaten voor alle andere servers die door de modules moeten worden vertrouwd.
De IoT Edge-beveiligingsdaemon maakt gebruik van een attestation-proces om deze API te beveiligen. Wanneer een module deze API aanroept, probeert de beveiligingsdaemon een registratie voor de identiteit te vinden. Als dit lukt, worden de eigenschappen van de registratie gebruikt om de module te meten. Als het resultaat van het meetproces overeenkomt met de registratie, wordt er een nieuw bewijs van identiteit gegenereerd. De bijbehorende CA-certificaten (vertrouwensbundel) worden geretourneerd naar de module. In de module wordt dit certificaat gebruikt om verbinding te maken met IoT Hub, andere modules of een server te starten. Wanneer het ondertekende token of certificaat bijna verloopt, is het de verantwoordelijkheid van de module om een nieuw certificaat aan te vragen.
Integratie en onderhoud
Microsoft onderhoudt de hoofdcodebasis voor de IoT Edge-beveiligingsdaemon op GitHub.
Installatie en updates
Installatie en updates van de IoT Edge-beveiligingsdaemon worden beheerd via het pakketbeheersysteem van het besturingssysteem. IoT Edge-apparaten met een vertrouwenshoofdmap van hardware moeten extra beveiliging bieden voor de integriteit van de daemon door de levenscyclus ervan te beheren via de veilige beheersystemen voor opstarten en updates. Apparaatmakers moeten deze mogelijkheden verkennen op basis van hun respectieve apparaatmogelijkheden.
Versiebeheer
De IoT Edge-runtime houdt de versie van de IoT Edge-beveiligingsdaemon bij en rapporteert deze. De versie wordt gerapporteerd als het kenmerk runtime.platform.version van de gerapporteerde eigenschap van de IoT Edge-agentmodule.
Hardwarebeveiligingsmodule
De HSM PAL (Platform Abstraction Layer) van de hardwarebeveiligingsmodule abstraheert alle hoofdmap van vertrouwenshardware om de ontwikkelaar of gebruiker van IoT Edge te isoleren van hun complexiteit. Het bevat een combinatie van API-procedures (Application Programming Interface) en transdomeincommunicatieprocedures, bijvoorbeeld communicatie tussen een standaarduitvoeringsomgeving en een beveiligde enclave. De daadwerkelijke implementatie van de HSM PAL is afhankelijk van de specifieke beveiligde hardware die wordt gebruikt. Het bestaan ervan maakt het gebruik van vrijwel elke veilige siliciumhardware mogelijk.
Veilige siliciumhoofdmap van vertrouwenshardware
Veilig silicium is nodig om vertrouwen in de Hardware van het IoT Edge-apparaat te verankeren. Veilig silicium is beschikbaar in verschillende soorten waaronder Trusted Platform Module (TPM), embedded Secure Element (eSE), Arm TrustZone, Intel SGX en aangepaste veilige siliciumtechnologieën. Het gebruik van een veilige siliciumhoofdmap van vertrouwen in apparaten wordt aanbevolen gezien de bedreigingen die zijn gekoppeld aan fysieke toegankelijkheid van IoT-apparaten.
Het IoT Edge-beveiligingsbeheer is gericht op het identificeren en isoleren van de onderdelen die de beveiliging en integriteit van het Azure IoT Edge-platform verdedigen voor aangepaste beveiliging. Derden, zoals apparaatmakers, moeten gebruikmaken van aangepaste beveiligingsfuncties die beschikbaar zijn voor hun apparaathardware.
Meer informatie over het beveiligen van Azure IoT-beveiligingsbeheer met tpm (Trusted Platform Module) met behulp van software of virtuele TPM's:
Een IoT Edge-apparaat maken en inrichten met een virtuele TPM in Linux of Linux in Windows.
Volgende stappen
Lees de volgende blogberichten voor meer informatie over het beveiligen van uw IoT Edge-apparaten: