Was ist Azure Sphere?
Azure Sphere ist eine gesicherte, allgemeine Anwendungsplattform mit integrierten Kommunikations- und Sicherheitsfeatures für Geräte, die mit dem Internet verbunden sind. Diese besteht aus einer sicheren, verbundenen Crossover-Mikrocontrollereinheit (MPU), einem benutzerdefinierten allgemeinen Betriebssystem, das auf Linux basiert, und einem cloudbasierten Sicherheitsdienst, der kontinuierliche, erneuerbare Sicherheit bietet.
Die Azure Sphere-MPU integriert Funktionen für die Echtzeitverarbeitung mit der Möglichkeit, ein allgemeines Betriebssystem auszuführen. Eine Azure Sphere-MPU ermöglicht gemeinsam mit dem Betriebssystem und der Anwendungsplattform die Erstellung sicherer, mit dem Internet verbundener Geräte, die remote aktualisiert, gesteuert, überwacht und verwaltet werden können. Ein verbundenes Gerät, das eine Azure Sphere MCU enthält, entweder neben oder anstelle einer vorhandenen MCUs, bietet erhöhte Sicherheit, Produktivität und Gelegenheit. Zum Beispiel:
- Eine gesicherte Anwendungsumgebung, authentifizierte Verbindungen und die Verwendung von Peripheriegeräten minimieren Sicherheitsrisiken aufgrund von Spoofing-, nicht autorisierten Software- oder Denial-of-Service-Angriffen.
- Softwareupdates können automatisch und aus der Cloud an jedes verbundene Gerät verteilt werden, um Probleme zu beheben, neue Funktionen bereitzustellen oder neu entdeckten Angriffsmethoden entgegenzuwirken und so die Produktivität des Supportpersonals zu steigern.
- Produktnutzungsdaten können über eine gesicherte Verbindung an die Cloud gemeldet werden, um bei der Diagnose von Problemen und der Entwicklung neuer Produkte zu helfen und so die Möglichkeiten für Produktservice, positive Kundeninteraktionen und zukünftige Entwicklungen zu erhöhen.
Der Azure Sphere-Sicherheitsdienst ist ein wesentlicher Aspekt von Azure Sphere. Über diesen Dienst stellen Azure Sphere-Mikrocontroller problemlos und sicher eine Verbindung mit der Cloud und dem Web her. Der Dienst stellt sicher, dass das Gerät nur mit einer autorisierten Version der echten, zugelassenen Software gestartet wird. Darüber hinaus stellt es einen sicheren Kanal bereit, über den Microsoft Betriebssystemupdates automatisch auf bereitgestellte Geräte im Feld herunterladen und installieren kann, um Sicherheitsprobleme zu beheben. Es ist weder ein Eingreifen der Hersteller noch der Endbenutzer erforderlich, wodurch eine verbreitete Sicherheitslücke geschlossen wird.
Hinweis
Azure Sphere bezieht sich auf die PAPI-basierte Schnittstelle als Azure Sphere (Legacy) und die integrierte Azure Resource Manager-Schnittstelle als Azure Sphere (Integriert).
Azure Sphere-Szenario
Um die Funktionsweise von Azure Sphere in einer realitätsnahen Umgebung zu verstehen, betrachten Sie folgendes Szenario.
Contoso, Ltd. ist ein Hersteller von Haushaltsgeräten, der einen Azure Sphere-Mikrocontroller in seine Geschirrspüler einbettet. Die Spülmaschine DW100 koppelt die MPU mit mehreren Sensoren und einer integrierten allgemeinen Anwendung, die auf der Azure Sphere-MPU ausgeführt wird. Die Anwendung kommuniziert mit dem Azure Sphere-Sicherheitsdienst und den Clouddiensten von Contoso. Das folgende Diagramm veranschaulicht dieses Szenario:
Mit dem Contoso-Netzwerk verbundene Geschirrspüler
Von oben links aus im Uhrzeigersinn:
Microsoft veröffentlicht Updates für das Azure Sphere-Betriebssystem über den Azure Sphere-Sicherheitsdienst.
Contoso-Produktentwicklung veröffentlicht Updates für die DW100-Anwendung über den Azure Sphere-Sicherheitsdienst.
Der Azure Sphere-Sicherheitsdienst stellt das aktualisierte Betriebssystem und die DW100-Anwendungssoftware von Contoso auf sichere Weise für die Geschirrspüler an den Standorten der Verbraucher bereit.
Der Contoso-Geschirrspülersupport kommuniziert mit dem Azure Sphere-Sicherheitsdienst, um festzustellen, welche Version der Azure Sphere-Software und der DW100-Anwendungssoftware auf den einzelnen Geräten der Verbraucher ausgeführt werden soll, und um alle Fehlerberichtsdaten zu sammeln, die an den Dienst gemeldet wurden. Der Contoso-Geschirrspülersupport kommuniziert auch mit dem Contoso-Clouddienst, um zusätzliche Informationen zu erhalten.
Contoso-Clouddienste unterstützen Anwendungen für Problembehandlung, Datenanalyse und Kundeninteraktion. Contoso-Clouddienste können von Microsoft Azure, dem Clouddienst eines anderen Anbieters oder der eigenen Cloud von Contoso gehostet werden.
Contoso DW100-Modelle an den Standorten der Verbraucher laden aktualisierte Betriebssystem- und Anwendungssoftware über ihre Verbindung mit dem Azure Sphere-Sicherheitsdienst herunter. Sie können auch mit der Clouddienstanwendung von Contoso kommunizieren, um zusätzliche Daten zu melden.
So können beispielsweise Sensoren an der Geschirrspülmaschine die Wassertemperatur, die Trocknungstemperatur und den Füllstand des Klarspülers überwachen und diese Daten in die Clouddienste von Contoso hochladen, wo eine Clouddienstanwendung sie auf mögliche Probleme analysiert. Wenn die Trocknungstemperatur ungewöhnlich heiß oder kühl ist – was auf ein defektes Teil hindeuten könnte – führt Contoso die Diagnose aus der Ferne durch und benachrichtigt den Kunden, dass Reparaturen erforderlich sind. Wenn für die Geschirrspülmaschine noch Garantie besteht, kann die Clouddienstanwendung auch sicherstellen, dass die lokale Werkstatt des Kunden über das Ersatzteil verfügt, was Wartungsbesuche und den Inventarbedarf reduziert. Ebenso kann der Geschirrspüler bei niedrigem Füllstand des Klarspülers dem Kunden signalisieren, direkt vom Hersteller neuen Klarspüler zu beziehen.
Die gesamte Kommunikation erfolgt über gesicherte, authentifizierte Verbindungen. Das Support- und Technikpersonal von Contoso kann Daten mithilfe des Azure Sphere-Sicherheitsdiensts, der Microsoft Azure-Funktionen oder einer Contoso-spezifischen Clouddienstanwendung anzeigen. Contoso kann auch kundenorientierte Web- und Mobilanwendungen bereitstellen, mit denen der Besitzer der Geschirrspüler eine Wartung anfordern, den Verbrauch von Geschirrspülmittel überwachen oder anderweitig mit dem Unternehmen interagieren kann.
Mit den Azure Sphere-Bereitstellungstools stellt Contoso jedes Anwendungssoftwareupdate dem entsprechenden Spülmaschinenmodell bereit, und der Azure Sphere-Sicherheitsdienst verteilt die Softwareupdates an die richtigen Geräte. Nur signierte und verifizierte Softwareupdates können auf den Geschirrspülern installiert werden.
Azure Sphere und die sieben Eigenschaften hochsicherer Geräte
Eines der Hauptziele der Azure Sphere-Plattform besteht darin, hohe Sicherheit zu niedrigen Kosten zu bieten, sodass preissensible, mikrocontrollergesteuerte Geräte sicher und zuverlässig mit dem Internet verbunden werden können. Da mit dem Netzwerk verbundene Spielzeuge, Appliances und andere Verbrauchergeräte immer häufiger vorkommen, ist Sicherheit von größter Bedeutung. Nicht nur die Gerätehardware selbst, auch die Software und die Cloudverbindungen müssen gesichert werden. Ein Sicherheitsverlust an beliebiger Stelle in der Betriebssystemumgebung stellt eine Bedrohung für das gesamte Produkt und möglicherweise alles oder jeden in seiner Nähe dar.
Basierend auf der jahrzehntelangen Erfahrung von Microsoft mit Internetsicherheit hat das Azure Sphere-Team sieben Eigenschaften von hochgradig gesicherten Geräten identifiziert. Die Azure Sphere-Plattform basiert auf diesen sieben Eigenschaften:
Hardwarebasierte Vertrauensgrundlage. Eine hardwarebasierte Vertrauensgrundlage stellt sicher, dass das Gerät und seine Identität nicht getrennt werden können und verhindert so Gerätefälschungen oder Spoofing. Jeder Azure Sphere-Mikrocontroller (MCU) wird durch einen fälschungssicheren kryptographischen Schlüssel identifiziert, der von der von Microsoft entwickelten Pluton-Sicherheitssubsystem-Hardware generiert und geschützt wird. Dies gewährleistet eine manipulationssichere, gesicherte hardwarebasierte Vertrauensgrundlage vom Werk bis zum Endbenutzer.
Tiefgehende Verteidigung. Die tiefgehende Verteidigung ermöglicht mehrere Sicherheitsebenen und somit mehrere Abwehrmaßnahmen gegen jede einzelne Bedrohung. Jede Softwareebene in der Azure Sphere-Plattform stellt sicher, dass die darüber liegenden Ebene gesichert wird.
Kleine vertraute Computerbasis (Trusted Computer Base). Der Großteil der Gerätesoftware befindet sich außerhalb der vertrauenswürdigen Computerbasis, wodurch die Angriffsfläche reduziert wird. Auf der vertrauenswürdigen Computerbasis werden nur der gesicherte Sicherheitsmonitor, die Pluton-Laufzeit und das Pluton-Subsystem ausgeführt, die alle von Microsoft bereitgestellt werden.
Dynamische Fächer. Dynamische Fächer begrenzen die Reichweite eines einzelnen Fehlers. Die Azure Sphere-Mikrocontroller enthalten Gegenmaßnahmen auf Chipebene, beispielsweise Hardwarefirewalls, um zu verhindern, dass sich ein Sicherheitsverstoß in einer Komponente auf andere Komponenten ausbreitet. Eine eingeschränkte „Sandbox“-Laufzeitumgebung verhindert, dass Anwendungen gesicherten Code oder gesicherte Daten beschädigen.
Kennwortlose Authentifizierung. Die Verwendung von signierten Zertifikaten, die durch einen fälschungssicheren kryptografischen Schlüssel validiert werden, bietet eine wesentlich stärkere Authentifizierung als Passwörter. Die Azure Sphere-Plattform erfordert, dass jedes Softwareelement signiert wird. Geräte-zu-Cloud- und Cloud-zu-Gerät-Kommunikation erfordern eine weitere Authentifizierung, die mit Zertifikaten erreicht wird.
Fehlerberichterstattung. Fehler in Gerätesoftware oder -hardware sind typisch für aufkommende Sicherheitsangriffe; Fehler, die zu Gerätefehlern führen, stellen einen Denial-of-Service-Angriff dar. Geräte-zu-Cloud-Kommunikation bietet frühzeitige Warnungen potenzieller Fehler. Azure Sphere-Geräte können betriebstechnische Daten und Fehler automatisch an ein cloudbasiertes Analysesystem melden, und Updates und Wartungen können remote ausgeführt werden.
Erneuerbare Sicherheit. Die Gerätesoftware wird automatisch aktualisiert , um bekannte Sicherheitslücken oder Sicherheitsverletzungen zu korrigieren, sodass kein Eingreifen des Produktherstellers oder des Endbenutzers erforderlich ist. Der Azure Sphere-Sicherheitsdienst aktualisiert das Azure Sphere-Betriebssystem und Ihre Anwendungen automatisch.
Azure Sphere-Architektur
Zusammen ermöglichen Hardware, Software und Sicherheitsdienste von Azure Sphere einzigartige, integrierte Ansätze für die Verwaltung, Steuerung und Sicherheit von Geräten.
Die Hardwarearchitektur bietet eine grundlegend geschützte Computinggrundlage für verbundene Geräte, sodass Sie sich ganz auf Ihr Produkt konzentrieren können.
Die Softwarearchitektur mit einem geschützten, angepassten Betriebssystemkernel, der über dem von Microsoft geschriebenen Sicherheitsmonitor ausgeführt wird, trägt ebenfalls dazu bei, dass Sie Ihre Softwarebemühungen auf wertschöpfende IoT-Funktionen und gerätespezifische Features konzentrieren können.
Der Azure Sphere Security Service unterstützt die Authentifizierung, Softwareupdates und Fehlerberichterstattung über gesicherte Cloud-zu-Gerät- und Geräte-zu-Cloud-Kanäle. Das Ergebnis ist eine gesicherte Kommunikationsinfrastruktur, die sicherstellt, dass Ihre Produkte mit dem aktuellsten Azure Sphere-Betriebssystem ausgeführt werden. Architekturdiagramme und Beispiele für Cloudarchitekturen finden Sie unter Durchsuchen von Azure-Architekturen.
Hardwarearchitektur
Ein Azure Sphere Crossover-Mikrocontroller besteht aus mehreren Kernen auf einem einzigen Chip, wie die folgende Abbildung zeigt.
Azure Sphere-MCU-Hardwarearchitektur
Jeder Kern und sein zugehöriges Subsystem befindet sich in einer anderen vertrauenswürdigen Domäne. Die Vertrauensgrundlage liegt im Pluton-Sicherheitssubsystem. Jede Architekturebene geht davon aus, dass die darüber liegende Ebene kompromittiert sein könnte. Innerhalb jeder Ebene bieten Ressourcenisolation und dynamische Bereiche zusätzliche Sicherheit.
Microsoft Pluton-Sicherheitssubsystem
Das Pluton-Sicherheitssubsystem ist die hardwarebasierte (auf Chipebene) geschützte Vertrauensgrundlage für Azure Sphere. Es umfasst einen Sicherheitsprozessorkern, kryptographische Engines, einen Hardware-Zufallszahlengenerator, Generierung von öffentlichen/privaten Schlüsseln, asymmetrische und symmetrische Verschlüsselung, Unterstützung für die Verifizierung des ECDSA-Algorithmus (Elliptic Curve Digital Signature Algorithmus) für gesichertes Starten und kontrolliertes Starten auf Chipebene zur Unterstützung des Remotenachweises mit einem Clouddienst sowie verschiedene Gegenmaßnahmen für Manipulationen, einschließlich einer Entropieerkennungseinheit.
Als Teil des gesicherten Startvorgangs startet das Pluton-Subsystem verschiedene Softwarekomponenten. Zudem bietet es Laufzeitdienste, verarbeitet Anforderungen von anderen Komponenten des Geräts und verwaltet kritische Komponenten für andere Teile des Geräts.
Allgemeiner Anwendungskern
Der allgemeine Anwendungskern verfügt über ein ARM Cortex-A-Subsystem mit einer vollständigen Speicherverwaltungseinheit (Memory Management Unit, MMU). Sie ermöglicht die hardwarebasierte Abteilung von Prozessen mithilfe von Vertrauenszonenfunktionen und ist für die Ausführung des Betriebssystems, der allgemeinen Anwendungen und Dienste verantwortlich. Es unterstützt zwei Betriebssystemumgebungen: Normal World (NW), die Code sowohl im Benutzermodus als auch im Aufsichtsmodus ausführt, und Secure World (SW), die nur den von Microsoft bereitgestellten Sicherheitsmonitor ausführt. Ihre allgemeinen Anwendungen werden im NW-Benutzermodus ausgeführt.
Echtzeitkerne
Die Echtzeitkerne verfügen über ein ARM Cortex-M I/O-Subsystem, das Echtzeit-fähige Anwendungen entweder als Bare-Metal-Code oder als Echtzeitbetriebssystem (RTOS) ausführen kann. Solche Anwendungen können Peripheriegeräte zuordnen und mit allgemeinen Anwendungen kommunizieren, aber nicht direkt auf das Internet zugreifen.
Konnektivität und Kommunikation
Die erste Azure Sphere-MPU bietet WLAN vom Typ 802.11 b/g/n mit 2,4 GHz und 5 GHz. Allgemeine Anwendungen können das drahtlose Kommunikationssubsystem konfigurieren, verwenden und abfragen, aber nicht direkt programmieren. Neben oder anstelle der Verwendung von WLAN können entsprechend ausgestattete Azure Sphere-Geräte auch über ein Ethernetnetzwerk kommunizieren.
Multiplex-E/A
Die Azure Sphere-Plattform unterstützt eine Vielzahl von E/A-Funktionen. Dadurch können Sie Embedded-Geräte gemäß Ihren Markt- und Produktanforderungen konfigurieren. E/A-Peripheriegeräte können entweder dem allgemeinen Anwendungskern oder einem Echtzeitkern zugeordnet werden.
Microsoft-Firewalls
Hardwarefirewalls sind Gegenmaßnahmen auf Chipebene, die einen „Sandbox“-Schutz bieten, um sicherzustellen, dass E/A-Peripheriegeräte nur für den Core zugänglich sind, dem sie zugeordnet sind. Die Firewalls bewirken eine Trennung und verhindern so, dass eine im allgemeinen Anwendungskern lokalisierte Sicherheitsbedrohung den Zugriff der Echtzeitkerne auf ihre Peripheriegeräte beeinträchtigt.
Integrierter RAM und Flashspeicher
Azure Sphere-Mikrocontroller verfügen über mindestens 4 MB integrierten RAM und 16 MB integrierten Flashspeicher.
Softwarearchitektur und Betriebssystem
Die allgemeine Anwendungsplattform führt das Azure Sphere-Betriebssystem zusammen mit einer gerätespezifischen allgemeinen Anwendung aus, die sowohl mit dem Internet als auch mit auf den Echtzeitkernen ausgeführten Echtzeitanwendungen kommunizieren kann. Die folgende Abbildung veranschaulicht die Elemente dieser Plattform.
Von Microsoft bereitgestellte Elemente sind grau dargestellt.
Allgemeine Anwendungsplattform
Mit Ausnahme Ihrer gerätespezifischen Anwendungen wird sämtliche Software von Microsoft bereitgestellt und verwaltet. Sämtliche auf dem Gerät ausgeführte Software (einschließlich der allgemeinen Anwendung) ist von der Microsoft-Zertifizierungsstelle signiert. Anwendungsupdates werden über die vertrauenswürdige Microsoft-Pipeline bereitgestellt, und die Kompatibilität der einzelnen Updates mit der Azure Sphere-Gerätehardware wird vor der Installation überprüft.
Anwendungslaufzeit
Die von Microsoft bereitgestellte Anwendungslaufzeit basiert auf einer Teilmenge des POSIX-Standards. Sie besteht aus Bibliotheken und Laufzeitdiensten, die im NW-Benutzermodus ausgeführt werden. Diese Umgebung unterstützt die allgemeinen Anwendungen, die Sie erstellen.
Anwendungsbibliotheken unterstützen Netzwerk-, Speicher- und Kommunikationsfeatures, die von allgemeinen Anwendungen benötigt werden, aber keine direkte generische Datei-E/A und keinen Shellzugriff (neben anderen Einschränkungen). Diese Einschränkungen stellen sicher, dass die Plattform gesichert bleibt und Microsoft Sicherheits- und Wartungsupdates bereitstellen kann. Darüber hinaus bieten die eingeschränkten Bibliotheken eine langfristig stabile API-Oberfläche, sodass die Systemsoftware aktualisiert werden kann, um die Sicherheit zu erhöhen, und gleichzeitig die Binärkompatibilität für Anwendungen erhalten bleibt.
Betriebssystemdienste
Betriebssystemdienste hosten den allgemeinen Anwendungscontainer und sind für die Kommunikation mit dem Azure Sphere-Sicherheitsdienst zuständig. Sie verwalten die Netzwerkauthentifizierung und die Netzwerkfirewall für den gesamten ausgehenden Datenverkehr. Während der Entwicklung kommunizieren Betriebssystemdienste auch mit einem verbundenen PC und der Anwendung, die gedebuggt wird.
Benutzerdefinierter Linux-Kernel
Der benutzerdefinierte Linux-basierte Kernel wird im Supervisormodus ausgeführt, zusammen mit einem Startladeprogramm. Der Kernel ist sorgfältig auf den Speicherbedarf von Flashspeicher und RAM des Azure Sphere-Mikrocontrollers abgestimmt. Er bietet eine Oberfläche für die unterbrechungsfreie Ausführung von Benutzer-Raum-Prozessen in separaten virtuellen Adressräumen. Das Treibermodell stellt den Betriebssystemdiensten und Anwendungen die MCU-Peripheriegeräte zur Verfügung. Zu den Treibern von Azure Sphere gehören unter anderem WLAN (mit einem TCP/IP-Netzwerkstapel), UART, SPI, I2C und GPIO.
Sicherheitsmonitor
Der von Microsoft bereitgestellte Sicherheitsmonitor wird in der SW ausgeführt. Er ist dafür verantwortlich, sicherheitsrelevante Hardware wie Arbeitsspeicher, Flashspeicher und andere gemeinsam genutzte MCU-Ressourcen zu schützen und den eingeschränkten Zugriff auf diese Ressourcen sicher verfügbar zu machen. Der Sicherheitsmonitor vermittelt und steuert den Zugriff auf das Pluton-Sicherheitssubsystem und die hardwarebasierte Vertrauensgrundlage und fungiert als Watchdog für die NW-Umgebung. Er startet das Startladeprogramm, stellt Laufzeitdienste für die NW bereit und verwaltet Hardwarefirewalls und andere Komponenten auf Chipebene, die für die NW nicht zugänglich sind.
Azure Sphere-Sicherheitsdienst
Der Azure Sphere Security Service umfasst drei Komponenten: Kennwortlose Authentifizierung, Aktualisierung und Fehlerberichterstattung.
Kennwortlose Authentifizierung. Die Authentifizierungskomponente bietet Remotenachweis und kennwortlose Authentifizierung. Der Remotenachweisdienst stellt eine Verbindung über ein Abfrage/Rückmeldung-Protokoll her, das die Funktion zum kontrollierten Starten auf dem Pluton-Subsystem verwendet. Es wird nicht nur überprüft, ob das Gerät mit der richtigen Software gestartet wurde, sondern auch mit der richtigen Version dieser Software.
Nach erfolgreichem Nachweis übernimmt der Authentifizierungsdienst. Der Authentifizierungsdienst kommuniziert über eine geschützte TLS-Verbindung und stellt ein Zertifikat aus, das das Gerät an einen Webdienst wie Microsoft Azure oder an eine private Cloud eines Unternehmens übergeben kann. Der Webservice validiert die Zertifikatkette und stellt auf diese Weise sicher, dass das Gerät echt ist, dass seine Software auf dem neuesten Stand ist und dass Microsoft seine Quelle ist. Das Gerät kann sich dann sicher und geschützt mit dem Onlinedienst verbinden.
Aktualisieren. Der Updatedienst verteilt automatische Updates für das Azure Sphere-Betriebssystem und für Anwendungen. Der Aktualisierungsdienst gewährleistet einen unterbrechungsfreien Betrieb und ermöglicht die Remotewartung und -aktualisierung von Anwendungssoftware.
Fehlerberichterstattung. Der Fehlerberichterstattungsdienst bietet einfache Absturzberichte für bereitgestellte Software. Umfassendere Daten erhalten Sie mithilfe der in Microsoft Azure-Abonnements enthaltenen Berichts- und Analysefeatures.
Alle mit dem Azure Sphere-Sicherheitsdienst gespeicherten Daten sind im Ruhezustand standardmäßig verschlüsselt. Der Sicherheitsdienst speichert Daten in Azure Storage, Azure Cosmos DB und Azure Key Vault, wobei die Datenverschlüsselung zur Ruhezustandsimplementierung für jeden solchen Dienst verwendet wird.