Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
              Gäller för: IoT Edge 1.5
 IoT Edge 1.5
Viktigt!
IoT Edge 1.5 LTS är den version som stöds. IoT Edge 1.4 LTS upphör från och med den 12 november 2024. Om du har en tidigare version läser du Uppdatera IoT Edge.
Azure IoT Edge-säkerhetshanteraren är en välbegränsad säkerhetskärna som skyddar IoT Edge-enheten och dess komponenter genom att abstrahera säker kiselmaskinvara. Säkerhetschefen fokuserar på säkerhetshärdning och ger en teknikintegreringspunkt till OEM.
Säkerhetshanteraren abstraherar säker kiselmaskinvara på en IoT Edge-enhet och ger ett utökningsramverk för extra säkerhetstjänster.
IoT Edge-säkerhetshanteraren försvarar IoT Edge-enhetens integritet och dess programvarudrift. Säkerhetshanteraren övergår förtroendet från den underliggande maskinvaruroten för betrodd maskinvara (om tillgängligt) för att starta IoT Edge-körningen och övervaka pågående åtgärder. IoT Edge-säkerhetshanteraren arbetar med säker kiselmaskinvara (där det är tillgängligt) för att ge högsta möjliga säkerhetsgarantier.
IoT Edge-säkerhetshanteraren ger också ett säkert ramverk för säkerhetstjänsttillägg via moduler på värdnivå. Dessa tjänster omfattar säkerhetsövervakning och uppdateringar som kräver agenter på enheten med privilegierad åtkomst till vissa enhetskomponenter. Utökningsramverket ser till att dessa integreringar alltid upprätthåller den övergripande systemsäkerheten.
IoT Edge-säkerhetshanteraren ansvarar för uppgifter som:
- Konfigurera Azure IoT Edge-enheten
- Kontrollera åtkomst till enhetens hårdvarurot för förtroende genom notarietjänster
- Övervaka integriteten i IoT Edge-processer under körningstid
- Etablera enhetsidentiteten och hantera övergången av förtroende där det behövs
- Se till att klientagenter för tjänster som Enhetsuppdatering för IoT Hub och Microsoft Defender för IoT körs på ett säkert sätt
IoT Edge-säkerhetshanteraren har tre komponenter:
- Körning av IoT Edge-modul
- HSM-abstraktioner (Hardware Security Module) via standardimplementeringar som PKCS#11 och Trusted Platform Module (TPM)
- Säkerhetsrot i hårdvara eller HSM (valfritt, men rekommenderas starkt)
Ändringar i version 1.2 och senare
I versionerna 1.0 och 1.1 av IoT Edge hanterar en komponent som kallas säkerhetsdaemon de logiska säkerhetsåtgärderna för säkerhetshanteraren. I version 1.2 flyttas flera viktiga ansvarsområden till säkerhetsundersystemet Azure IoT Identity Service . När dessa säkerhetsuppgifter har flyttats från säkerhetsdaemonen passar inte längre dess namn dess roll. För att bättre återspegla vad den här komponenten gör i version 1.2 och senare byter den namn till module runtime.
IoT Edge-modulens körning
IoT Edge-modulens körning delegerar förtroende från säkerhetsundersystemet Azure IoT Identity Service för att skydda IoT Edge-containerkörningsmiljön. En tjänst, som nu delegeras till Azure IoT Identity Service, är den automatiserade certifikatregistrerings- och förnyelsetjänsten via en EST-server. Om du vill se hur detta fungerar och skapa en EST-exempelserver som skapats för en IoT Edge-enhet kan du prova självstudien Konfigurera registrering över säker transportserver för Azure IoT Edge .
Modulkörningen ansvarar för säkerhetshanterarens logiska säkerhetsåtgärder. Den representerar en betydande del av den betrodda beräkningsbasen för IoT Edge-enheten. Modulkörningen använder säkerhetstjänster från IoT Identity Service, som i sin tur härdas av enhetstillverkarens val av maskinvarusäkerhetsmodul (HSM). Vi rekommenderar starkt att du använder HSM:er för enhetshärdning.
Designprinciper
IoT Edge följer två grundläggande principer: maximera driftintegriteten och minimera uppblåsthet och omsättning.
Maximera driftintegriteten
Körningen av IoT Edge-modulen fungerar med högsta möjliga integritet inom försvarskapaciteten för en viss rot av betrodd maskinvara. Med rätt integrering mäter roten av betrodd maskinvara och övervakar säkerhetsdaemon statiskt och vid körning för att motstå manipulering.
Skadlig fysisk åtkomst till enheter är alltid ett hot i IoT. Maskinvaruroten för förtroende spelar en viktig roll när det gäller att försvara IoT Edge-enhetens integritet. Maskinvaruroten för förtroende finns i två sorter:
- Skydda element för skydd av känslig information som hemligheter och kryptografiska nycklar.
- Skydda enklaver för skydd av hemligheter som nycklar och känsliga arbetsbelastningar som konfidentiella maskininlärningsmodeller och mätningsåtgärder.
Det finns två typer av körningsmiljöer för att använda maskinvaruroten för förtroende:
- Den standard- eller omfattande körningsmiljö (REE) som förlitar sig på användningen av säkra element för att skydda känslig information.
- Den betrodda körningsmiljön (TEE) som förlitar sig på användningen av säker enklavteknik för att skydda känslig information och erbjuda skydd för programvarukörning.
För enheter som använder säkra enklaver som maskinvarurot för förtroende bör känslig logik i IoT Edge-modulens körning finnas i enklaven. Icke-känsliga delar av modulkörningen kan ligga utanför TEE. I samtliga fall rekommenderar vi starkt att originaldesigntillverkare (ODM) och oem-tillverkare (originalutrustning) utökar förtroendet från sin HSM för att mäta och försvara integriteten hos IoT Edge-modulens körning vid start och körning.
Minimera uppblåsthet och omsättning
En annan grundläggande princip för IoT Edge-modulens körning är att minimera omsättning. För den högsta förtroendenivån kan IoT Edge-modulkörningen nära kopplas till enhetens maskinvarurot för förtroende och fungera som intern kod. I dessa fall är det vanligt att uppdatera IoT Edge-programvaran via maskinvaruroten för förtroendes säkra uppdateringsvägar i stället för operativsystemets uppdateringsmekanismer, vilket kan vara en utmaning. Säkerhetsförnyelse rekommenderas för IoT-enheter, men överdrivna uppdateringskrav eller stora uppdateringsnyttolaster kan utöka hotytan på många sätt. Du kan till exempel vara frestad att hoppa över vissa uppdateringar för att maximera enhetens tillgänglighet. Därför är utformningen av IoT Edge-modulkörningen kortfattad för att hålla den välisolerade betrodda beräkningsbasen liten för att uppmuntra frekventa uppdateringar.
Arkitektur
Körningen av IoT Edge-modulen drar nytta av alla tillgängliga maskinvaruroten med förtroendeteknik för säkerhetshärdning. Det möjliggör också split-world-drift mellan en standard-/omfattande körningsmiljö (REE) och en betrodd körningsmiljö (TEE) när maskinvarutekniker erbjuder betrodda körningsmiljöer. Med rollspecifika gränssnitt kan de viktigaste komponenterna i IoT Edge säkerställa IoT Edge-enhetens integritet och dess åtgärder.
               
              
            
Molngränssnitt
Molngränssnittet ger åtkomst till molntjänster som kompletterar enhetssäkerheten. Det här gränssnittet ger till exempel åtkomst till Enhetsetableringstjänsten för livscykelhantering för enhetsidentitet.
API för hantering
Hanterings-API:et anropas av IoT Edge-agenten när du skapar/startar/stoppar/tar bort en IoT Edge-modul. Modulkörningen lagrar "registreringar" för alla aktiva moduler. Dessa registreringar mappar en moduls identitet till vissa egenskaper för modulen. De här modulegenskaperna inkluderar till exempel processidentifieraren (pid) för processen som körs i containern och hashen för dockercontainerns innehåll.
Dessa egenskaper används av arbetsbelastnings-API:et för att verifiera att anroparen har behörighet för en åtgärd.
Hanterings-API:et är ett privilegierat API som endast kan anropas från IoT Edge-agenten. Eftersom IoT Edge-modulen kör bootstraps och startar IoT Edge-agenten verifierar den att IoT Edge-agenten inte har manipulerats. Sedan kan den skapa en implicit registrering för IoT Edge-agenten. Samma attesteringsprocess som arbetsbelastnings-API:et använder begränsar också åtkomsten till hanterings-API:et till endast IoT Edge-agenten.
Container-API
Container-API:et interagerar med containersystemet som används för modulhantering, till exempel Moby eller Docker.
API för arbetsbelastning
Arbetsbelastnings-API:et är tillgängligt för alla moduler. Den innehåller identitetsbevis, antingen som en HSM-rotad signerad token eller ett X509-certifikat, och motsvarande förtroendepaket till en modul. Förtroendepaketet innehåller CA-certifikat för alla andra servrar som modulerna ska lita på.
IoT Edge-modulens körning använder en attesteringsprocess för att skydda detta API. När en modul anropar det här API:et försöker modulkörningen hitta en registrering för identiteten. Om det lyckas använder den egenskaperna för registreringen för att mäta modulen. Om resultatet av mätningsprocessen matchar registreringen genereras ett nytt identitetsbevis. Motsvarande CA-certifikat (förtroendepaket) returneras till modulen. Modulen använder det här certifikatet för att ansluta till IoT Hub, andra moduler eller starta en server. När den signerade token eller certifikatet snart upphör att gälla är det modulens ansvar att begära ett nytt certifikat.
Integrering och underhåll
Microsoft har huvudkodbasen för IoT Edge-modulkörningenoch Azure IoT-identitetstjänsten på GitHub.
När du läser IoT Edge-kodbasen bör du komma ihåg att modulkörningen utvecklades från säkerhetsdaemonen. Kodbasen kan fortfarande innehålla referenser till säkerhetsdaemonen.
Installation och uppdateringar
Installation och uppdateringar av IoT Edge-modulens körning hanteras via operativsystemets pakethanteringssystem. IoT Edge-enheter med maskinvarurot av förtroende bör ge ytterligare härdning till integriteten för modulkörningen genom att hantera dess livscykel via hanteringssystemen för säker start och uppdateringar. Enhetsskapare bör utforska dessa vägar baserat på deras respektive enhetsfunktioner.
Versionshantering
IoT Edge-körningen spårar och rapporterar versionen av IoT Edge-modulens körning. Versionen rapporteras som attributet runtime.platform.version för den rapporterade egenskapen för IoT Edge-agentmodulen.
Modul för maskinvarusäkerhet
IoT Edge-säkerhetshanteraren använder gränssnittsstandarderna Trusted Platform Module och PKCS#11 för att integrera maskinvarusäkerhetsmoduler (HSM). Med de här standarderna kan du integrera nästan alla HSM-enheter, inklusive de med egna gränssnitt. Använd HSM:er för att stärka säkerheten.
Skydda kiselroten för betrodd maskinvara
Skydda kiselfästpunkternas förtroende för IoT Edge-enhetens maskinvara. Säker kisel innehåller TPM (Trusted Platform Module), embedded Secure Element (eSE), Arm TrustZone, Intel SGX och anpassade tekniker för säker kisel. Att använda säker kiselrot av förtroende för enheter är viktigt på grund av de hot som kommer med fysisk åtkomst till IoT-enheter.
IoT Edge-säkerhetshanteraren identifierar och isolerar de komponenter som skyddar säkerheten och integriteten för Azure IoT Edge-plattformen för anpassad härdning. Enhetstillverkare och andra tredje parter kan använda anpassade säkerhetsfunktioner som är tillgängliga med deras enhetsmaskinvara.
Lär dig hur du härdar Azure IoT-säkerhetshanteraren med Trusted Platform Module (TPM) med hjälp av programvara eller virtuella TPM:er:
Skapa och etablera en IoT Edge-enhet med en virtuell TPM på Linux eller Linux i Windows.
Nästa steg
Läs mer om hur du skyddar dina IoT Edge-enheter i följande blogginlägg: