Vad är Azure Sphere?
Azure Sphere är en säker högnivåplattform för program med inbyggda funktioner för kommunikation och säkerhet för internetanslutna enheter. Det omfattar en skyddad, ansluten MCU (Crossover Microcontroller Unit), ett anpassat Linux-baserat operativsystem (OS) på hög nivå samt en molnbaserad säkerhetstjänst som tillhandahåller kontinuerlig förnybar säkerhet.
Azure Sphere MCU integrerar funktioner för realtidsbearbetning med möjligheten att köra ett operativsystem på hög nivå. Med en Azure Sphere MCU samt dess operativsystem och programplattform går det att skapa skyddade Internetanslutna enheter som kan uppdateras, kontrolleras, övervakas och underhållas på distans. En ansluten enhet som innehåller en Azure Sphere MCU, antingen tillsammans med eller i stället för en befintlig MCU, ger förbättrad säkerhet, produktivitet och möjligheter. Till exempel:
- En säker programmiljö, autentiserade anslutningar och användning av kringutrustning minimerar säkerhetsrisker på grund av förfalskning, falsk programvara eller överbelastningsattacker.
- Programuppdateringar kan distribueras automatiskt från molnet till alla anslutna enheter för att åtgärda problem, tillhandahålla nya funktioner eller motverka nya angreppsmetoder, vilket ökar supportpersonalens produktivitet.
- Produktanvändningsdata kan rapporteras till molnet via en säker anslutning för att hjälpa till att diagnostisera problem och utforma nya produkter, vilket ökar möjligheten till produkttjänst, positiva kundinteraktioner och framtida utveckling.
Azure Sphere Security Service är en integrerad aspekt av Azure Sphere. Med den här tjänsten ansluter Azure Sphere MCUs på ett säkert sätt till molnet och webben. Tjänsten säkerställer att enheten endast startas med en auktoriserad version av äkta, godkänd programvara. Dessutom tillhandahåller den en säker kanal genom vilken Microsoft automatiskt kan ladda ned och installera OS-uppdateringar till distribuerade enheter i fältet för att minska säkerhetsproblemen. Varken tillverkare eller slutanvändare behöver ingripa, vilket gör att ett gemensamt säkerhetshål stängs.
Kommentar
Azure Sphere refererar till det PAPI-baserade gränssnittet som Azure Sphere (Legacy) och det integrerade Azure Resource Manager-gränssnittet som Azure Sphere (integrerat).
Azure Sphere-scenario
Tänk på det här scenariot om du vill förstå hur Azure Sphere fungerar i en verklig miljö.
Contoso, Ltd., är en tillverkare av vitvaror som bäddar in en Azure Sphere MCU i sina diskmaskiner. DW100-diskmaskinen kopplar ihop MCU med flera sensorer och ett onboard-program på hög nivå som körs på Azure Sphere MCU. Programmet kommunicerar med Azure Sphere Security Service och contosos molntjänster. Följande diagram illustrerar det här scenariot:
Contosos nätverksanslutna diskmaskiner
Från det övre vänstra hörnet och rör sig medsols:
Microsoft släpper uppdateringar för Azure Sphere-operativsystemet via Azure Sphere Security Service.
Contosos produktteknik släpper uppdateringar av sitt DW100-program via Azure Sphere Security Service.
Azure Sphere Security Service distribuerar säkert det uppdaterade operativsystemet och Contoso DW100-programprogramvaran till diskmaskinerna på slutanvändarplatser.
Contosos stöd för diskmaskin kommunicerar med Azure Sphere Security Service för att avgöra vilken version av Azure Sphere-programvaran och DW100-programprogramvaran som ska köras på varje slutanvändarens enhet och för att samla in eventuella felrapporteringsdata som har rapporterats till tjänsten. Contosos diskmaskinsstöd kommunicerar också med Contosos molntjänst för ytterligare information.
Contosos molntjänster stöder program för felsökning, dataanalys och kundinteraktion. Contosos molntjänster kan hanteras av Microsoft Azure, av en annan leverantörs molntjänst eller av Contosos eget moln.
Contoso DW100-modeller på slutanvändarplatser laddar ned uppdaterad operativsystem- och programprogramvara via anslutningen till Azure Sphere Security Service. De kan också kommunicera med Contosos molntjänstprogram för att rapportera ytterligare data.
Sensorer i diskmaskinen kan till exempel övervaka vattentemperatur, torkningstemperatur och sköljmedelsnivå och ladda upp dessa data till Contosos molntjänster, där ett molntjänstprogram analyserar dem efter potentiella problem. Om torkningstemperaturen verkar ovanligt varm eller sval – vilket kan tyda på en misslyckad del – kör Contoso diagnostik på distans och meddelar kunden att reparationer behövs. Om diskmaskinen är under garanti kan molntjänstprogrammet också säkerställa att kundens lokala reparationsverkstad har ersättningsdelen, vilket minskar underhållsbesöken och inventeringskraven. På samma sätt, om sköljmedlet är lågt, kan diskmaskinen signalera kunden att köpa mer sköljmedel direkt från tillverkaren.
All kommunikation sker via skyddade, autentiserade anslutningar. Contosos support- och teknikpersonal kan visualisera data med hjälp av Azure Sphere Security Service, Microsoft Azure-funktioner eller ett Contoso-specifikt molntjänstprogram. Contoso kan också tillhandahålla kundriktade webb- och mobilprogram, med vilka diskmaskinsägare kan begära service, övervaka användningen av diskmaskinsresurser eller på annat sätt interagera med företaget.
Med hjälp av Azure Sphere-distributionsverktyg riktar Contoso varje programprogramuppdatering mot rätt diskmaskinsmodell och Azure Sphere Security Service distribuerar programuppdateringarna till rätt enheter. Endast signerade och verifierade programuppdateringar kan installeras på diskmaskinerna.
Azure Sphere och de sju egenskaperna för högsäkra enheter
Ett primärt mål för Azure Sphere-plattformen är att tillhandahålla högvärdessäkerhet till en låg kostnad, så att priskänsliga mikrostyrenhetsdrivna enheter på ett säkert och tillförlitligt sätt kan ansluta till Internet. I takt med att nätverksanslutna leksaker, apparater och andra konsumentenheter blir vanliga är säkerheten av yttersta vikt. Enhetens maskinvara måste inte bara skyddas, dess programvara och dess molnanslutningar måste också skyddas. En säkerhetsförfall var som helst i driftmiljön hotar hela produkten och eventuellt allt eller någon i närheten.
Baserat på Microsofts årtionden av erfarenhet av internetsäkerhet har Azure Sphere-teamet identifierat sju egenskaper för starkt skyddade enheter. Azure Sphere-plattformen är utformad kring dessa sju egenskaper:
Maskinvarubaserad rot av förtroende. En maskinvarubaserad rot av förtroende säkerställer att enheten och dess identitet inte kan separeras, vilket förhindrar förfalskning eller förfalskning av enheter. Varje Azure Sphere MCU identifieras av en oförutsebar kryptografisk nyckel som genereras och skyddas av den Microsoft-designade plutonsäkerhetsundersystemmaskinvaran. Detta säkerställer en manipuleringsbeständig, skyddad maskinvarurot av förtroende från fabrik till slutanvändare.
Skydd på djupet. Skydd på djupet ger flera säkerhetslager och därmed flera minskningar mot varje hot. Varje lager av programvara i Azure Sphere-plattformen verifierar att lagret ovanför det är skyddat.
Liten betrodd beräkningsbas. De flesta av enhetens programvara förblir utanför den betrodda beräkningsbasen, vilket minskar ytan för attacker. Endast det skyddade undersystemet Security Monitor, Pluton runtime och Pluton – som Microsoft tillhandahåller – körs på den betrodda databehandlingsbasen.
Dynamiska fack. Dynamiska fack begränsar räckvidden för ett enskilt fel. Azure Sphere MCU:er innehåller kiselräknare, inklusive maskinvarubrandväggar, för att förhindra att en säkerhetsöverträdelse i en komponent sprids till andra komponenter. En begränsad körningsmiljö med begränsat läge hindrar program från att skada skyddad kod eller data.
Lösenordsfri autentisering. Användningen av signerade certifikat, som verifieras av en oförutsebar kryptografisk nyckel, ger mycket starkare autentisering än lösenord. Azure Sphere-plattformen kräver att alla programvaruelement signeras. Kommunikation från enhet till moln och från moln till enhet kräver ytterligare autentisering, vilket uppnås med certifikat.
Felrapportering. Fel i enhetsprogramvara eller maskinvara är typiska vid nya säkerhetsattacker. fel som resulterar i enhetsfel utgör en överbelastningsattack. Kommunikation från enhet till moln ger en tidig varning om potentiella fel. Azure Sphere-enheter kan automatiskt rapportera driftdata och fel till ett molnbaserat analyssystem, och uppdateringar och service kan utföras via fjärranslutning.
Förnybar säkerhet. Enhetens programvara uppdateras automatiskt för att korrigera kända säkerhetsrisker eller säkerhetsöverträdelser, vilket inte kräver några åtgärder från produkttillverkaren eller slutanvändaren. Azure Sphere Security Service uppdaterar Azure Sphere-operativsystemet och dina program automatiskt.
Arkitekturen i Azure Sphere
Genom att arbeta tillsammans möjliggör Azure Sphere-maskinvara, programvara och Security Service unika, integrerade metoder för enhetsunderhåll, kontroll och säkerhet.
Maskinvaruarkitekturen tillhandahåller en grundläggande säker beräkningsbas för anslutna enheter, så att du kan fokusera på din produkt.
Programvaruarkitekturen, med en skyddad anpassad OS-kernel som körs ovanpå Den Microsoft-skrivna säkerhetsövervakaren, gör att du på samma sätt kan koncentrera dina programvaruinsatser på mervärdesfunktioner i IoT och enhetsspecifika funktioner.
Azure Sphere Security Service stöder autentisering, programuppdateringar och felrapportering över skyddade moln-till-enhet- och enhets-till-moln-kanaler. Resultatet är en infrastruktur för säker kommunikation som garanterar att dina produkter kör det senaste Azure Sphere-operativsystemet. Arkitekturdiagram och exempel på molnarkitekturer finns i Bläddra i Azure-arkitekturer.
Maskinvaruarkitektur
En Azure Sphere-crossover-MCU består av flera kärnor på en enda stans, som följande bild visar.
Maskinvaruarkitektur för Azure Sphere MCU
Varje kärna och dess associerade undersystem finns i en annan förtroendedomän. Roten för förtroende finns i plutonsäkerhetsundersystemet. Varje lager i arkitekturen förutsätter att lagret ovanför det kan komprometteras. I varje lager ger resursisolering och dynamiska fack ökad säkerhet.
Microsoft Pluton-säkerhetsundersystem
Pluton-säkerhetsundersystemet är den maskinvarubaserade (i kisel) skyddade roten av förtroende för Azure Sphere. Den innehåller en säkerhetsprocessorkärna, kryptografiska motorer, en maskinvarugenerator för slumptal, offentlig/privat nyckelgenerering, asymmetrisk och symmetrisk kryptering, stöd för ecdSA-verifiering (elliptisk kurva för digital signaturalgoritm) för säker start och uppmätt start i kisel för att stödja fjärrattestering med en molntjänst samt olika manipuleringsräknare, inklusive en entropiidentifieringsenhet.
Som en del av den säkra startprocessen startar Pluton-undersystemet olika programvarukomponenter. Den tillhandahåller även körningstjänster, bearbetar begäranden från andra komponenter på enheten och hanterar kritiska komponenter för andra delar av enheten.
Högnivåprogramkärna
Programkärnan på hög nivå har ett ARM Cortex-A-undersystem som har en fullständig minneshanteringsenhet (MMU). Det möjliggör maskinvarubaserad indelning av processer med hjälp av förtroendezonsfunktioner och ansvarar för att köra operativsystemet, högnivåprogram och tjänster. Det stöder två driftsmiljöer: Normal World (NW), som kör kod i både användarläge och övervakarläge, och Secure World (SW), som endast kör Säkerhetsövervakaren från Microsoft. Dina högnivåprogram körs i NW-användarläge.
Realtidskärnor
Realtidskärnorna har ett ARM Cortex-M I/O-undersystem som kan köra realtidskompatibla program som antingen bare metal-kod eller ett realtidsoperativsystem (RTOS). Sådana program kan mappa kringutrustning och kommunicera med högnivåprogram men kan inte komma åt Internet direkt.
Anslutning och kommunikation
Den första Azure Sphere MCU tillhandahåller en 802.11 b/g/n Wi-Fi-radio som körs på både 2,4 GHz och 5 GHz. Högnivåprogram kan konfigurera, använda och köra frågor mot undersystemet för trådlös kommunikation, men de kan inte programmera det direkt. Utöver eller i stället för att använda Wi-Fi kan Azure Sphere-enheter som är korrekt utrustade kommunicera i ett Ethernet-nätverk.
Multiplexerad I/O
Azure Sphere-plattformen stöder en mängd olika I/O-funktioner, så att du kan konfigurera inbäddade enheter som passar dina marknads- och produktkrav. I/O-kringutrustning kan mappas till antingen högnivåprogramkärnan eller till en realtidskärna.
Microsoft-brandväggar
Maskinvarubrandväggar är kisel motåtgärder som ger "sandbox-skydd" för att säkerställa att I/O-kringutrustning endast är tillgängliga för den kärna som de mappas till. Brandväggarna medför indelning, vilket förhindrar att ett säkerhetshot som lokaliseras i programkärnan på hög nivå påverkar realtidskärnornas åtkomst till kringutrustningen.
Integrerat RAM-minne och blixt
Azure Sphere-MCU:er innehåller minst 4 MB integrerat RAM-minne och 16 MB integrerat flashminne.
Programvaruarkitektur och operativsystem
Programplattformen på hög nivå kör Azure Sphere-operativsystemet tillsammans med ett enhetsspecifikt högnivåprogram som kan kommunicera både med Internet och med realtidskompatibla program som körs i realtidskärnor. Följande bild visar elementen i den här plattformen.
Microsoft-angivna element visas i grått.
Programplattform på hög nivå
Microsoft tillhandahåller och underhåller all programvara förutom dina enhetsspecifika program. All programvara som körs på enheten, inklusive högnivåprogrammet, signeras av Microsoft-certifikatutfärdare (CA). Programuppdateringar levereras via den betrodda Microsoft-pipelinen och kompatibiliteten för varje uppdatering med Azure Sphere-enhetens maskinvara verifieras före installationen.
Programkörning
Programkörningen som tillhandahålls av Microsoft baseras på en delmängd av POSIX-standarden. Den består av bibliotek och körningstjänster som körs i NW-användarläge. Den här miljön stöder de högnivåprogram som du skapar.
Programbibliotek stöder nätverks-, lagrings- och kommunikationsfunktioner som krävs av program på hög nivå, men som inte stöder direkt allmän fil-I/O- eller gränssnittsåtkomst, bland andra begränsningar. Dessa begränsningar säkerställer att plattformen förblir skyddad och att Microsoft kan tillhandahålla säkerhets- och underhållsuppdateringar. Dessutom ger de begränsade biblioteken en långsiktig stabil API-yta så att systemprogramvaran kan uppdateras för att förbättra säkerheten samtidigt som binär kompatibilitet bevaras för program.
OS-tjänster
OS-tjänster är värd för programcontainern på hög nivå och ansvarar för att kommunicera med Azure Sphere Security Service. De hanterar nätverksautentisering och nätverksbrandväggen för all utgående trafik. Under utvecklingen kommunicerar OS-tjänsterna även med en ansluten dator och det program som kopplas från.
Anpassad Linux-kernel
Den anpassade Linux-baserade kerneln körs i övervakarläge tillsammans med en startinläsare. Kerneln är noggrant justerad för flash- och RAM-fotavtrycket för Azure Sphere MCU. Den ger en yta för förebyggande körning av användarutrymmesprocesser i separata virtuella adressutrymmen. Drivrutinsmodellen exponerar MCU-kringutrustning för OS-tjänster och program. Azure Sphere-drivrutiner inkluderar Bland annat Wi-Fi (som innehåller en TCP/IP-nätverksstack), UART, SPI, I2C och GPIO.
Säkerhetsövervakare
Säkerhetsövervakaren från Microsoft körs i SW. Den ansvarar för att skydda säkerhetskänslig maskinvara, till exempel minne, flash och andra delade MCU-resurser och för att på ett säkert sätt exponera begränsad åtkomst till dessa resurser. Security Monitor-koordinatorerna och portarna har åtkomst till Pluton Security-undersystemet och maskinvaruroten för förtroende och fungerar som en vakthund för NW-miljön. Den startar startinläsaren, exponerar runtime-tjänster för NW och hanterar maskinvarubrandväggar och andra kiselkomponenter som inte är tillgängliga för NW.
Azure Sphere Security Service
Azure Sphere Security Service består av tre komponenter: lösenordsfri autentisering, uppdatering och felrapportering.
Lösenordsfri autentisering. Autentiseringskomponenten tillhandahåller fjärrattestering och lösenordsfri autentisering. Fjärrattesteringstjänsten ansluter via ett protokoll för utmaningssvar som använder den uppmätta startfunktionen i Pluton-undersystemet. Det verifierar inte bara att enheten startade med rätt programvara, utan med rätt version av programvaran.
När attesteringen har slutförts tar autentiseringstjänsten över. Autentiseringstjänsten kommunicerar via en skyddad TLS-anslutning och utfärdar ett certifikat som enheten kan presentera för en webbtjänst, till exempel Microsoft Azure eller ett företags privata moln. Webbtjänsten validerar certifikatkedjan och kontrollerar därför att enheten är äkta, att dess programvara är uppdaterad och att Microsoft är dess källa. Enheten kan sedan ansluta säkert och säkert till onlinetjänsten.
Uppdatera. Uppdateringstjänsten distribuerar automatiska uppdateringar för Azure Sphere OS och för program. Uppdateringstjänsten säkerställer fortsatt drift och möjliggör fjärrservice och uppdatering av programprogramvara.
Felrapportering. Felrapporteringstjänsten tillhandahåller enkel kraschrapportering för distribuerad programvara. Om du vill hämta mer omfattande data använder du de rapporterings- och analysfunktioner som ingår i en Microsoft Azure-prenumeration.
Alla data som lagras med Azure Sphere Security Service krypteras som standard i vila. Security Service lagrar data i Azure Storage, Azure Cosmos DB och Azure Key Vault med hjälp av datakryptering vid viloimplementering för varje sådan tjänst.