Vad är Azure Sphere?

Azure Sphere är en säker programplattform på hög nivå med inbyggda kommunikations- och säkerhetsfunktioner för Internetanslutna enheter. Den består av en säker, ansluten mikrostyrenhet (CROSSOVER MicroController Unit) (MCU), ett anpassat Linux-baserat högnivåoperativsystem (OS) och en molnbaserad säkerhetstjänst som ger kontinuerlig, förnybar säkerhet.

Azure Sphere MCU integrerar funktioner för realtidsbearbetning med möjligheten att köra ett högnivåoperativsystem. Med en Azure Sphere MCU kan du, tillsammans med dess operativsystem och programplattform, skapa säkra, Internetanslutna enheter som kan uppdateras, kontrolleras, övervakas och underhållas på distans. En ansluten enhet som innehåller en Azure Sphere MCU, tillsammans med eller i stället för befintliga MCU:er, ger förbättrad säkerhet, produktivitet och möjlighet. Till exempel:

  • En säker programmiljö, autentiserade anslutningar och användning av kringutrustning minimerar säkerhetsriskerna på grund av förfalskning, oseriös programvara eller överbelastningsattacker, bland annat.
  • Programuppdateringar kan distribueras automatiskt från molnet till alla anslutna enheter för att åtgärda problem, ge nya funktioner eller motverka nya attackmetoder, vilket förbättrar 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, positiv kundinteraktion och framtida utveckling.

Azure Sphere Security Service är en viktig del av Azure Sphere. Med den här tjänsten kan Azure Sphere MCUs ansluta säkert 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 tillverkaren eller slutanvändaren behöver ingripa och därmed stänga ett gemensamt säkerhetshål.

Observera

Azure Sphere refererar till DET PAPI-baserade gränssnittet som Azure Sphere (äldre) och azure Resource Manager-gränssnittet för integrerad förhandsversion som Azure Sphere (integrerad).

Under den offentliga förhandsversionen rekommenderar vi att du endast använder Azure Sphere (integrerad) i utvecklings- och testsyfte. Vi rekommendationer är att produktionsanvändningsfall inte ska använda en förhandsversionsprodukt. För produktionsanvändningsfall rekommenderar vi därför att du fortsätter att använda det befintliga Azure Sphere Security Service-gränssnittet, som nu kallas Azure Sphere (äldre version), som fortfarande stöds fullt ut och är allmänt tillgängligt.

Azure Sphere-scenario

Tänk på det här scenariot för att 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 diskmaskin par MCU med flera sensorer och en inbyggd hög nivå ansökan som körs på Azure Sphere MCU. Programmet kommunicerar med Azure Sphere Security Service och med Contosos molntjänster. I följande diagram visas det här scenariot:

Ansluter till IoT, Security Service och tillverkarens molnkatalogContoso nätverksanslutna diskmaskiner

Med början från det övre vänstra hörnet och medurs:

  • Microsoft släpper uppdateringar för Azure Sphere-operativsystemet via Azure Sphere-säkerhetstjänsten.

  • Contosos produktteknik släpper uppdateringar av DW100-programmet 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ändarenhet och för att samla in eventuella felrapporteringsdata som har rapporterats till tjänsten. Contosos stöd för diskmaskiner 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 uppdaterade operativsystem och programprogramvara via sin anslutning till Azure Sphere Security Service. De kan också kommunicera med Contosos molntjänstprogram för att rapportera ytterligare data.

Sensorer på diskmaskinen kan till exempel övervaka vattentemperaturen, torkningstemperaturen och sköljmedelsnivån och ladda upp dessa data till Contosos molntjänster, där ett molntjänstprogram analyserar det för potentiella problem. Om torktemperaturen verkar ovanligt varm eller sval – vilket kan tyda på att delar inte fungerar – kör Contoso diagnostik på distans och meddelar kunden att reparationer behövs. Om diskmaskinen omfattas av garanti kan molntjänstprogrammet också säkerställa att kundens lokala reparationsverkstad har ersättningsdelen, vilket minskar underhållsbesök och lagerkrav. 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 över säkra, 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 kundinriktade webb- och mobilprogram, med vilka diskmaskinsägare kan begära service, övervaka användning av diskmaskinsresurser eller interagera på annat sätt med företaget.

Med azure sphere-distributionsverktyg riktar Contoso varje programuppdatering till lämplig 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ögskyddade enheter

Ett primärt mål med Azure Sphere-plattformen är att tillhandahålla högvärdessäkerhet till en låg kostnad, så att priskänsliga mikrostyrenhetsdrivna enheter kan ansluta till Internet på ett säkert sätt. I takt med att nätverksanslutna leksaker, vitvaror och andra konsumentenheter blir vanliga är säkerheten ytterst viktig. Enhetens maskinvara måste inte bara skyddas, dess programvara och dess molnanslutningar måste också skyddas. Ett säkerhetsfel någonstans i operativsystemet hotar hela produkten och eventuellt vad som helst i närheten.

Baserat på Microsofts årtionden av erfarenhet av internetsäkerhet har Azure Sphere-teamet identifierat sju egenskaper hos enheter med hög säkerhet. Azure Sphere-plattformen är utformad kring följande 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 enhetsförfalskning eller förfalskning. Alla Azure Sphere MCU-filer identifieras med en oförlåtlig kryptografinyckel som genereras och skyddas av Den Microsoft-utformade plutonsäkerhetsundersystemmaskinvaran. Detta säkerställer en manipuleringsbeständig, säker maskinvarurot av förtroende från fabrik till slutanvändare.

Försvar på djupet. Försvar på djupet ger flera lager av säkerhet och därmed flera lösningar mot varje hot. Varje programvarulager i Azure Sphere-plattformen verifierar att lagret ovanför är skyddat.

Liten betrodd datorbas. Större delen av enhetens programvara är fortfarande utanför den betrodda datorbasen, vilket minskar ytans yta för attacker. Endast det skyddade undersystemet Security Monitor, Pluton runtime och Pluton – som microsoft tillhandahåller – körs på den betrodda datorbasen.

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 miljö med begränsat läge hindrar program från att skada säker kod eller data.

Lösenordsfri autentisering. Användningen av signerade certifikat, verifierade med en oförlåtlig kryptografinyckel, ger mycket starkare autentisering än lösenord. Azure Sphere-plattformen kräver att alla programvaruelement signeras. Kommunikation från enhet till moln och kommunikation från moln till enhet kräver ytterligare autentisering, vilket uppnås med certifikat.

Felrapportering. Fel i enhetsprogramvara eller maskinvara är vanliga vid nya säkerhetsattacker. fel som resulterar i enhetsfel utgör en överbelastningsattack. Enhets-till-moln-kommunikation ger en tidig varning om potentiella fel. Azure Sphere-enheter kan automatiskt rapportera driftdata och fel till ett molnbaserat analyssystem, och uppdateringar och underhåll kan utföras via fjärranslutning.

Förnybar säkerhet. Enhetens programvara uppdateras automatiskt för att korrigera kända sårbarheter eller säkerhetsbrister, vilket inte kräver någon åtgärd från produkttillverkaren eller slutanvändaren. Azure Sphere-säkerhetstjänsten uppdaterar Azure Sphere-operativsystemet och dina program automatiskt.

Azure Sphere-arkitekturen

Tillsammans möjliggör Azure Sphere-maskinvaran, programvaran och säkerhetstjänsten unika, integrerade metoder för enhetsunderhåll, kontroll och säkerhet.

Maskinvaruarkitekturen är en i grunden säker datorbas för anslutna enheter, så att du kan fokusera på din produkt.

Programvaruarkitekturen, med en säker anpassad OS-kernel som körs ovanpå den Microsoft-skrivna Säkerhetsövervakaren, gör det också möjligt att koncentrera din programvara på mervärdes-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 säker kommunikationsinfrastruktur som säkerställer 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 matris, som visas i bilden nedan.

MaskinvaruarkitekturAzure Sphere MCU-maskinvaruarkitektur

Varje kärna, och dess associerade undersystem, finns i en annan förtroendedomän. Roten till förtroende finns i Plutons säkerhetsundersystem. Varje lager i arkitekturen förutsätter att lagret ovanför det kan kapas. I varje lager ger resursisolering och dynamiska utrymmen ökad säkerhet.

Microsoft Pluton säkerhetsundersystem

Pluton-säkerhetsundersystemet är den maskinvarubaserade (i silicon) säkra roten av förtroende för Azure Sphere. Den innehåller en säkerhetsprocessorkärna, kryptografiska motorer, en slumpmässig nummergenerator för maskinvara, allmän/privat nyckelgenerering, asymmetrisk och symmetrisk kryptering, stöd för ECDSA-verifiering (elliptisk kurva) 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 entropy-identifieringsenhet.

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 viktiga komponenter för andra delar av enheten.

Programkärna på hög nivå

Den hög nivå ansökan kärna har en ARM Cpu-A delsystem som har en fullständig minneshanteringsenhet (MMU). Det möjliggör maskinvarubaserad indelning av processer genom att använda förtroendezonsfunktioner och ansvarar för att köra operativsystemet, program på hög nivå och tjänster. Den har stöd för två operativsystem: Normal World (NW), som kör kod i både användarläge och övervakningsläge, och Secure World (SW), som endast kör Den Microsoft-levererade säkerhetsövervakaren. Dina program på hög nivå körs i NW-användarläge.

Kärnor i realtid

Realtidskärnor har ett ARM Emoji-M I/O-undersystem som kan köra realtids kapabla program som antingen bare-metal-kod eller ett realtidsoperativsystem (RTOS). Sådana program kan mappa kringutrustning och kommunicera med program på hög nivå, men kan inte ansluta direkt till Internet.

Anslutning och kommunikation

Den första Azure Sphere MCU tillhandahåller en 802,11 b/g/n Wi-Fi radio som fungerar på både 2,4 GHz och 5 GHz. Program på hög nivå kan konfigurera, använda och fråga 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.

Multiplexed I/O

Azure Sphere-plattformen har stöd för en mängd olika I/O-funktioner, så att du kan konfigurera inbäddade enheter så att de passar dina marknads- och produktkrav. I/O-kringutrustning kan mappas till programkärnan på hög nivå eller till en kärnpunkt i realtid.

Microsoft-brandväggar

Maskinvarubrandväggar är silicon countermeasures som ger "sandbox"-skydd för att säkerställa att I/O-kringutrustning endast är tillgängliga för kärnan som de mappas till. Brandväggarna har indelning, vilket förhindrar ett säkerhetshot som lokaliseras i den högnivåprogramkärnan från att påverka realtidskärnornas åtkomst till deras kringutrustning.

Integrerad RAM 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 program på hög nivå som kan kommunicera både med Internet och med realtidsdugliga program som körs på realtidskärnor. I följande bild visas elementen i den här plattformen.

Microsoft-levererade element visas i grått.

Programplattformhögnivåprogramplattform

Microsoft tillhandahåller och underhåller all programvara utom dina enhetsspecifika program. All programvara som körs på enheten, inklusive programmet på hög nivå, 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

Programmet runtime som tillhandahålls av Microsoft baseras på en delmängd av POSIX-standarden. Den består av bibliotek och runtime-tjänster som körs i NW-användarläge. Den här miljön har stöd för de program på hög nivå som du skapar.

Programbibliotek har stöd för 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 annat. Dessa begränsningar säkerställer att plattformen förblir säker 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 bibehålls för program.

OS-tjänster

OS-tjänster är värd för den högnivåprogrambehållaren och ansvarar för att kommunicera med Azure Sphere Security Service. De hanterar nätverksautentisering och nätverkets brandvägg för all utgående trafik. Under utvecklingen kommunicerar OS-tjänsterna också med en ansluten dator och programmet som kopplas bort.

Custom Linux kernel

Den anpassade Linux-baserade kerneln körs i handledarläge tillsammans med en startinläsningsprogram. Kärnan är noggrant inställd för flash- och RAM-fotavtrycket för Azure Sphere MCU. Den tillhandahåller en yta för preemptable körning av processer för användarutrymmen 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ätverksstapel), UART, SPI, I2C och GPIO.

Säkerhetsövervakaren

Den Microsoft-levererade säkerhetsövervakaren 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 mäklare och grindar tillgång till Pluton Security Subsystem och maskinvaruroten av förtroende och fungerar som en vakthund för NW-miljön. Startinläsningsprogrammet startas, runtime-tjänster exponeras för NW och maskinvarubrandväggar och andra silicon-komponenter som inte är tillgängliga för NW.

Azure Sphere-säkerhetstjänst

Azure Sphere Security Service består av tre komponenter: lösenordsfri autentisering, uppdatering och felrapportering.

  • Lösenordsfri autentisering. Autentiseringskomponenten tillhandahåller fjärrdämpning och lösenordsfri autentisering. Fjärrstationen ansluts via ett challenge-response-protokoll som använder den uppmätta startfunktionen på Pluton-undersystemet. Det verifierar inte bara att enheten startades med rätt programvara, utan med rätt version av programvaran.

    När attestation lyckas tar autentiseringstjänsten över. Autentiseringstjänsten kommunicerar via en säker 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 verifierar certifikatkedjan och verifierar därför att enheten är äkta, att programvaran är uppdaterad och att Microsoft är dess källa. Enheten kan sedan ansluta säkert och säkert till onlinetjänsten.

  • Uppdatering. Uppdateringstjänsten distribuerar automatiska uppdateringar för Azure Sphere-operativsystemet och för program. Uppdateringstjänsten säkerställer fortsatt drift och möjliggör fjärrunderhåll och uppdatering av programprogramvara.

  • Felrapportering. Felrapporteringstjänsten tillhandahåller enkel kraschrapportering för distribuerad programvara. Använd de rapporterings- och analysfunktioner som ingår i en Microsoft Azure-prenumeration för att få rikare data.

Alla data som lagras med Azure Sphere-säkerhetstjänsten krypteras som standard i vila. Säkerhetstjänsten lagrar data i Azure Storage, Azure Cosmos DB och Azure Key Vault, med hjälp av datakrypteringen vid viloimplementering för varje sådan tjänst.