Wat is Azure Sphere?

Azure Sphere is een beveiligd toepassingsplatform op hoog niveau met ingebouwde communicatie- en beveiligingsfuncties voor apparaten met internetverbinding. Het bestaat uit een beveiligde, verbonden, crossover microcontroller unit (MCU), een aangepast besturingssysteem op basis van Linux op hoog niveau en een cloudbeveiligingsservice die continue, hernieuwbare beveiliging biedt.

De Azure Sphere MCU integreert realtimeverwerkingsmogelijkheden met de mogelijkheid om een besturingssysteem op hoog niveau uit te voeren. Een Azure Sphere MCU, samen met het besturingssysteem en het toepassingsplatform, maakt het mogelijk beveiligde, met internet verbonden apparaten te maken die op afstand kunnen worden bijgewerkt, beheerd, bewaakt en onderhouden. Een verbonden apparaat met een Azure Sphere MCU, naast of in plaats van een bestaande MCU, biedt verbeterde beveiliging, productiviteit en mogelijkheden. Bijvoorbeeld:

  • Een beveiligde toepassingsomgeving, geverifieerde verbindingen en het opt-in-gebruik van randapparatuur minimaliseert beveiligingsrisico's als gevolg van onder andere spoofing, rogue software of denial-of-service-aanvallen.
  • Software-updates kunnen automatisch vanuit de cloud worden geïmplementeerd op elk verbonden apparaat om problemen op te lossen, nieuwe functionaliteit te bieden of opkomende aanvalsmethoden tegen te gaan, waardoor de productiviteit van ondersteuningsmedewerkers wordt verbeterd.
  • Gegevens over productgebruik kunnen via een beveiligde verbinding worden gerapporteerd aan de cloud om te helpen bij het diagnosticeren van problemen en het ontwerpen van nieuwe producten, waardoor de kans op productservice, positieve klantinteracties en toekomstige ontwikkeling wordt vergroot.

De Azure Sphere-beveiligingsservice is een integraal aspect van Azure Sphere. Met deze service kunnen Azure Sphere-MCU's veilig en veilig verbinding maken met de cloud en het web. De service zorgt ervoor dat het apparaat alleen wordt opgestart met een geautoriseerde versie van legitieme, goedgekeurde software. Daarnaast biedt het een beveiligd kanaal waarmee Microsoft automatisch besturingssysteemupdates kan downloaden en installeren op geïmplementeerde apparaten in het veld om beveiligingsproblemen te verhelpen. Er is geen tussenkomst van de fabrikant noch van de eindgebruiker vereist, waardoor een gemeenschappelijk beveiligingsgat wordt gesloten.

Opmerking

Azure Sphere verwijst naar de op PAPI gebaseerde interface als Azure Sphere (verouderd) en de geïntegreerde openbare preview van Azure Resource Manager-interface als Azure Sphere (geïntegreerd).

Tijdens openbare preview wordt aanbevolen om Azure Sphere (geïntegreerd) alleen te gebruiken voor ontwikkelings- en testdoeleinden. Als best practice mogen productiegebruiksvoorbeelden geen preview-product gebruiken. Daarom raden we u aan voor productiegebruik de bestaande Azure Sphere Security Service-interface te blijven gebruiken, nu bekend als Azure Sphere (verouderd), die nog steeds volledig wordt ondersteund en algemeen beschikbaar is.

Azure Sphere-scenario

Als u wilt weten hoe Azure Sphere werkt in een praktijkomgeving, kunt u dit scenario overwegen.

Contoso, Ltd., is een fabrikant van witgoedproducten die een Azure Sphere MCU insluit in zijn vaatwassers. De DW100-vaatwasser koppelt de MCU met verschillende sensoren en een onboard-toepassing op hoog niveau die wordt uitgevoerd op de Azure Sphere MCU. De toepassing communiceert met de Azure Sphere-beveiligingsservice en met de cloudservices van Contoso. In het volgende diagram ziet u dit scenario:

Maakt verbinding met IoT, Security Service en fabrikant cloudcatalogusContoso-netwerk verbonden vaatwassers

Beginnend vanaf de linkerbovenhoek en rechtsom:

  • Microsoft brengt updates uit voor het Azure Sphere-besturingssysteem via de Azure Sphere-beveiligingsservice.

  • Contoso product engineering brengt updates voor de DW100-toepassing uit via de Azure Sphere-beveiligingsservice.

  • De Azure Sphere Security Service implementeert het bijgewerkte besturingssysteem en de Contoso DW100-toepassingssoftware veilig in de vaatwassers op locaties van eindgebruikers.

  • Contoso-ondersteuning communiceert met de Azure Sphere-beveiligingsservice om te bepalen welke versie van de Azure Sphere-software en de DW100-toepassingssoftware moeten worden uitgevoerd op elk apparaat van de eindgebruiker en om eventuele foutrapportagegegevens te verzamelen die aan de service zijn gerapporteerd. Ondersteuning voor Contoso-vaatwasser communiceert ook met de Contoso-cloudservice voor aanvullende informatie.

  • Contoso-cloudservices ondersteunen toepassingen voor probleemoplossing, gegevensanalyse en klantinteractie. De cloudservices van Contoso kunnen worden gehost door Microsoft Azure, door de cloudservice van een andere leverancier of door de eigen cloud van Contoso.

  • Contoso DW100-modellen op locaties van eindgebruikers downloaden bijgewerkte besturingssysteem- en toepassingssoftware via hun verbinding met de Azure Sphere-beveiligingsservice. Ze kunnen ook communiceren met de cloudservicetoepassing van Contoso om aanvullende gegevens te rapporteren.

Sensoren op de vaatwasser kunnen bijvoorbeeld de watertemperatuur, de droogtemperatuur en het niveau van de spoelagent bewaken en deze gegevens uploaden naar de cloudservices van Contoso, waar een cloudservicetoepassing deze analyseert op mogelijke problemen. Als de droogtemperatuur ongebruikelijk heet of koel lijkt, wat kan duiden op een mislukt onderdeel, voert Contoso op afstand diagnostische gegevens uit en meldt de klant dat reparaties nodig zijn. Als de vaatwasser onder de garantie valt, kan de cloudservicetoepassing er ook voor zorgen dat de lokale reparatiewerkplaats van de klant het vervangende onderdeel heeft, waardoor onderhoudsbezoeken en voorraadvereisten worden verminderd. Als het spoelmiddel laag is, kan de afwasmachine de klant aangeven meer spoelmiddel rechtstreeks bij de fabrikant te kopen.

Alle communicatie vindt plaats via beveiligde, geverifieerde verbindingen. Ondersteunings- en technisch personeel van Contoso kan gegevens visualiseren met behulp van de Azure Sphere-beveiligingsservice, Microsoft Azure-functies of een contoso-specifieke cloudservicetoepassing. Contoso kan ook klantgerichte web- en mobiele toepassingen bieden, waarmee eigenaren van vaatwassers service kunnen aanvragen, het gebruik van vaatwasmachines kunnen controleren of anderszins met het bedrijf kunnen communiceren.

Met behulp van Azure Sphere-implementatiehulpprogramma's richt Contoso elke toepassingssoftware-update op het juiste vaatwassermodel en distribueert de Azure Sphere-beveiligingsservice de software-updates naar de juiste apparaten. Alleen ondertekende en geverifieerde software-updates kunnen op de vaatwassers worden geïnstalleerd.

Azure Sphere en de zeven eigenschappen van maximaal beveiligde apparaten

Een primair doel van het Azure Sphere-platform is om hoogwaardige beveiliging te bieden tegen lage kosten, zodat prijsgevoelige, microcontroller-aangedreven apparaten veilig en betrouwbaar verbinding kunnen maken met internet. Naarmate speelgoed, apparaten en andere consumentenapparaten via het netwerk gemeengoed worden, is beveiliging van het grootste belang. Niet alleen de hardware van het apparaat zelf moet worden beveiligd, ook de software en cloudverbindingen moeten worden beveiligd. Een beveiligingsprobleem overal in de operationele omgeving bedreigt het hele product en, mogelijk, alles of iedereen in de buurt.

Op basis van de tientallen jaren ervaring van Microsoft met internetbeveiliging heeft het Azure Sphere-team zeven eigenschappen van zeer beveiligde apparaten geïdentificeerd. Het Azure Sphere-platform is ontworpen rond deze zeven eigenschappen:

Vertrouwensbasis op basis van hardware. Een op hardware gebaseerde vertrouwensbasis zorgt ervoor dat het apparaat en de identiteit ervan niet kunnen worden gescheiden, waardoor vervalsing of adresvervalsing van apparaten wordt voorkomen. Elke Azure Sphere MCU wordt geïdentificeerd door een onvergeeflijke cryptografische sleutel die wordt gegenereerd en beveiligd door de door Microsoft ontworpen hardware van het Pluton-beveiligingssubsysteem. Dit zorgt voor een manipulatiebestendige, beveiligde hardware vertrouwensbasis van fabriek tot eindgebruiker.

Diepgaande verdediging. Diepgaande verdediging biedt meerdere beveiligingslagen en dus meerdere risicobeperkingen tegen elke bedreiging. Elke softwarelaag in het Azure Sphere-platform controleert of de laag erboven is beveiligd.

Kleine vertrouwde rekenbasis. De meeste software van het apparaat blijft buiten de vertrouwde rekenbasis, waardoor de oppervlakte voor aanvallen wordt verkleind. Alleen de beveiligde beveiligingsmonitor, de Pluton-runtime en het Pluton-subsysteem, die allemaal door Microsoft worden geleverd, worden uitgevoerd op de vertrouwde computerbasis.

Dynamische compartimenten. Dynamische compartimenten beperken het bereik van een enkele fout. Azure Sphere-MCU's bevatten silicium tegenmaatregelen, waaronder hardwarefirewalls, om te voorkomen dat een beveiligingsschending in het ene onderdeel wordt doorgegeven aan andere onderdelen. Een beperkte runtime-omgeving in de sandbox voorkomt dat toepassingen beveiligde code of gegevens beschadigen.

Verificatie zonder wachtwoord. Het gebruik van ondertekende certificaten, gevalideerd met een onvergeeflijke cryptografische sleutel, biedt veel sterkere verificatie dan wachtwoorden. Voor het Azure Sphere-platform moet elk software-element worden ondertekend. Apparaat-naar-cloud- en cloud-naar-apparaatcommunicatie vereist verdere verificatie, die wordt bereikt met certificaten.

Foutrapportage. Fouten in apparaatsoftware of -hardware zijn gebruikelijk bij opkomende beveiligingsaanvallen; fouten die resulteren in een apparaatfout, vormen een Denial-of-Service-aanval. Apparaat-naar-cloud-communicatie biedt een vroege waarschuwing voor mogelijke fouten. Azure Sphere-apparaten kunnen automatisch operationele gegevens en fouten rapporteren aan een analysesysteem in de cloud en updates en onderhoud kunnen op afstand worden uitgevoerd.

Hernieuwbare beveiliging. De apparaatsoftware wordt automatisch bijgewerkt om bekende beveiligingsproblemen of beveiligingsschendingen te corrigeren, waarbij geen tussenkomst van de fabrikant van het product of de eindgebruiker nodig is. De Azure Sphere-beveiligingsupdate werkt het Azure Sphere-besturingssysteem en uw toepassingen automatisch bij.

Azure Sphere-architectuur

Door samen te werken, maken de Hardware, Software en Security Service van Azure Sphere unieke, geïntegreerde benaderingen voor apparaatonderhoud, -beheer en -beveiliging mogelijk.

De hardwarearchitectuur biedt een fundamenteel beveiligde rekenbasis voor verbonden apparaten, zodat u zich kunt concentreren op uw product.

De softwarearchitectuur, met een beveiligde aangepaste besturingssysteemkernel die wordt uitgevoerd boven op de door Microsoft geschreven beveiligingsmonitor, stelt u op dezelfde manier in staat om uw software-inspanningen te concentreren op IoT-functies met toegevoegde waarde en apparaatspecifieke functies.

De Azure Sphere-beveiligingsservice ondersteunt verificatie, software-updates en foutrapportage via beveiligde cloud-naar-apparaat- en apparaat-naar-cloudkanalen. Het resultaat is een beveiligde communicatie-infrastructuur die ervoor zorgt dat op uw producten het meest recente Azure Sphere-besturingssysteem wordt uitgevoerd. Zie Bladeren door Azure-architecturen voor architectuurdiagrammen en voorbeelden van cloudarchitecturen.

Hardwarearchitectuur

Een Azure Sphere-cross-over-MCU bestaat uit meerdere kernen op één matrijs, zoals in de volgende afbeelding wordt weergegeven.

HardwarearchitectuurAzure Sphere MCU-hardwarearchitectuur

Elke kern en het bijbehorende subsysteem bevinden zich in een ander vertrouwensdomein. De basis van het vertrouwen bevindt zich in het Pluton-beveiligingssubsysteem. Bij elke laag van de architectuur wordt ervan uitgegaan dat de laag erboven mogelijk is aangetast. Binnen elke laag bieden resource-isolatie en dynamische compartimenten extra beveiliging.

Microsoft Pluton-beveiligingssubsysteem

Het Pluton-beveiligingssubsysteem is de op hardware gebaseerde (in silicium) beveiligde vertrouwensbasis voor Azure Sphere. Het omvat een kern van de beveiligingsprocessor, cryptografische engines, een hardwaregenerator voor willekeurige getallen, het genereren van openbare/persoonlijke sleutels, asymmetrische en symmetrische versleuteling, ondersteuning voor ECDSA-verificatie (Elliptic Curve Digital Signature Algorithm) voor beveiligd opstarten, en een gemeten opstarten in silicium ter ondersteuning van externe attestation met een cloudservice, evenals verschillende manipulatie tegenmaatregelen, waaronder een entropiedetectie-eenheid.

Als onderdeel van het beveiligde opstartproces start het Pluton-subsysteem verschillende softwareonderdelen op. Het biedt ook runtimeservices, verwerkt aanvragen van andere onderdelen van het apparaat en beheert kritieke onderdelen voor andere onderdelen van het apparaat.

Toepassingskern op hoog niveau

De toepassingskern op hoog niveau beschikt over een ARM Cortex-A-subsysteem met een MMU (Full Memory Management Unit). Het maakt hardwaregebaseerde compartimentering van processen mogelijk met behulp van de functionaliteit van de vertrouwenszone en is verantwoordelijk voor het uitvoeren van het besturingssysteem, toepassingen op hoog niveau en services. Het ondersteunt twee besturingsomgevingen: Normal World (NW), die code uitvoert in zowel de gebruikersmodus als de supervisormodus, en Secure World (SW), waarin alleen de door Microsoft geleverde beveiligingsmonitor wordt uitgevoerd. Uw toepassingen op hoog niveau worden uitgevoerd in de NW-gebruikersmodus.

Realtime kernen

De realtime kernen zijn voorzien van een ARM Cortex-M I/O-subsysteem dat realtime compatibele toepassingen kan uitvoeren als bare-metalcode of een realtime besturingssysteem (RTOS). Dergelijke toepassingen kunnen randapparatuur toewijzen en communiceren met toepassingen op hoog niveau, maar hebben geen rechtstreeks toegang tot internet.

Connectiviteit en communicatie

De eerste Azure Sphere MCU biedt een 802.11 b/g/n Wi-Fi radio die werkt op zowel 2,4 GHz als 5 GHz. Toepassingen op hoog niveau kunnen het subsysteem voor draadloze communicatie configureren, gebruiken en er query's op uitvoeren, maar ze kunnen het niet rechtstreeks programmeren. Naast of in plaats van Wi-Fi te gebruiken, kunnen Azure Sphere-apparaten die goed zijn uitgerust, communiceren via een Ethernet-netwerk.

Multiplexed I/O

Het Azure Sphere-platform ondersteunt diverse I/O-mogelijkheden, zodat u ingesloten apparaten kunt configureren die voldoen aan uw markt- en productvereisten. I/O-randapparatuur kan worden toegewezen aan de toepassingskern op hoog niveau of aan een realtime kern.

Microsoft-firewalls

Hardwarefirewalls zijn siliciummaatregelen die 'sandbox'-beveiliging bieden om ervoor te zorgen dat I/O-randapparatuur alleen toegankelijk is voor de kern waaraan ze zijn toegewezen. De firewalls leggen compartimentering op, waardoor een beveiligingsrisico dat is gelokaliseerd in de toepassingskern op hoog niveau, geen invloed heeft op de toegang van de realtime kernen tot hun randapparatuur.

Geïntegreerde RAM en flash

Azure Sphere-MCU's bevatten minimaal 4 MB aan geïntegreerd RAM-geheugen en 16 MB geïntegreerd flashgeheugen.

Softwarearchitectuur en besturingssysteem

Het toepassingsplatform op hoog niveau voert het Azure Sphere-besturingssysteem uit, samen met een apparaatspecifieke toepassing op hoog niveau die kan communiceren met zowel internet als met realtime compatibele toepassingen die worden uitgevoerd op de realtime kernen. In de volgende afbeelding ziet u de elementen van dit platform.

Door Microsoft geleverde elementen worden grijs weergegeven.

Toepassingsplatformop hoog niveau

Microsoft biedt en onderhoudt alle software behalve uw apparaatspecifieke toepassingen. Alle software die op het apparaat wordt uitgevoerd, inclusief de toepassing op hoog niveau, wordt ondertekend door de Microsoft-certificeringsinstantie (CA). Toepassingsupdates worden geleverd via de vertrouwde Microsoft-pijplijn en de compatibiliteit van elke update met de Azure Sphere-apparaathardware wordt vóór de installatie gecontroleerd.

Toepassingsruntime

De door Microsoft geleverde toepassingsruntime is gebaseerd op een subset van de POSIX-standaard. Het bestaat uit bibliotheken en runtimeservices die worden uitgevoerd in de NW-gebruikersmodus. Deze omgeving ondersteunt de toepassingen op hoog niveau die u maakt.

Toepassingsbibliotheken ondersteunen netwerk-, opslag- en communicatiefuncties die vereist zijn voor toepassingen op hoog niveau, maar bieden geen ondersteuning voor directe algemene bestands-I/O- of shell-toegang, naast andere beperkingen. Deze beperkingen zorgen ervoor dat het platform beveiligd blijft en dat Microsoft beveiligings- en onderhoudsupdates kan leveren. Bovendien bieden de beperkte bibliotheken een langdurig stabiel API-oppervlak, zodat systeemsoftware kan worden bijgewerkt om de beveiliging te verbeteren met behoud van binaire compatibiliteit voor toepassingen.

Besturingssysteemservices

Besturingssysteemservices hosten de toepassingscontainer op hoog niveau en zijn verantwoordelijk voor de communicatie met de Azure Sphere-beveiligingsservice. Ze beheren netwerkverificatie en de netwerkfirewall voor al het uitgaande verkeer. Tijdens de ontwikkeling communiceren besturingssysteemservices ook met een verbonden pc en de toepassing die wordt opgespoord.

Aangepaste Linux-kernel

De aangepaste Linux-kernel wordt uitgevoerd in de supervisormodus, samen met een opstartlaadprogramma. De kernel is zorgvuldig afgestemd op de flash- en RAM-footprint van de Azure Sphere MCU. Het biedt een surface voor preemptable uitvoering van gebruikersruimteprocessen in afzonderlijke virtuele adresruimten. Het stuurprogrammamodel stelt MCU-randapparatuur beschikbaar voor besturingssysteemservices en -toepassingen. Azure Sphere-stuurprogramma's zijn onder andere Wi-Fi (waaronder een TCP/IP-netwerkstack), UART, SPI, I2C en GPIO.

Beveiligingsmonitor

De door Microsoft geleverde beveiligingsmonitor wordt uitgevoerd in SW. Het is verantwoordelijk voor het beveiligen van beveiligingsgevoelige hardware, zoals geheugen, flash en andere gedeelde MCU-resources en voor het veilig blootstellen van beperkte toegang tot deze resources. De Security Monitor biedt toegang tot het Pluton Security Subsystem en de hardware-basis van vertrouwen en fungeert als waakhond voor de NW-omgeving. Hiermee wordt het opstartlaadprogramma gestart, worden runtimeservices beschikbaar gemaakt voor NW en worden hardwarefirewalls en andere siliciumonderdelen beheerd die niet toegankelijk zijn voor NW.

Azure Sphere-beveiligingsservice

De Azure Sphere-beveiligingsservice bestaat uit drie onderdelen: verificatie zonder wachtwoord, update en foutrapportage.

  • Verificatie zonder wachtwoord. Het verificatieonderdeel biedt externe attestation en verificatie zonder wachtwoord. De externe attestation-service maakt verbinding via een challenge-response-protocol dat gebruikmaakt van de gemeten opstartfunctie op het Pluton-subsysteem. Het controleert niet alleen of het apparaat is opgestart met de juiste software, maar met de juiste versie van die software.

    Nadat attestation is geslaagd, neemt de verificatieservice het over. De verificatieservice communiceert via een beveiligde TLS-verbinding en geeft een certificaat uit dat het apparaat kan presenteren aan een webservice, zoals Microsoft Azure of de privécloud van een bedrijf. De webservice valideert de certificaatketen en controleert zo of het apparaat legitiem is, of de software up-to-date is en of Microsoft de bron is. Het apparaat kan vervolgens veilig en veilig verbinding maken met de onlineservice.

  • Update. De updateservice distribueert automatische updates voor het Azure Sphere-besturingssysteem en voor toepassingen. De updateservice zorgt voor continue werking en maakt het externe onderhoud en het bijwerken van toepassingssoftware mogelijk.

  • Foutrapportage. De foutrapportageservice biedt eenvoudige crashrapportage voor geïmplementeerde software. Gebruik de rapportage- en analysefuncties die deel uitmaken van een Microsoft Azure-abonnement om uitgebreidere gegevens te verkrijgen.

Alle gegevens die zijn opgeslagen met de Azure Sphere-beveiligingsservice, worden standaard versleuteld in rust. De beveiligingsservice slaat gegevens op in Azure Storage, Azure Cosmos DB en Azure Key Vault, met behulp van de implementatie van data encryption at rest voor elk van deze services.