Sichern von Azure Sphere

Abgeschlossen

In dieser Lektion erfahren Sie mehr über die Azure Sphere-Sicherheit.

Anwendungen auf Azure Sphere sind standardmäßig sicher. Sie müssen der Anwendung Funktionen zuweisen. Das Zuweisen von Funktionen ist ein wichtiger Bestandteil der Sicherheit von Azure Sphere und ist auch als Prinzip der geringsten Rechte bekannt. Sie sollten der Azure Sphere-Anwendung nur Funktionen zuweisen, die sie für die ordnungsgemäße Ausführung benötigt.

Zu den Anwendungsfunktionen gehört, auf welche Hardware zugegriffen werden kann, welche Netzwerkendpunkte aufgerufen werden können und welche Kommunikation zwischen den Kernen erlaubt ist.

Netzwerkendpunkte für IoT Hub und DPS

Sie müssen alle Netzwerkendpunkte deklarieren, die von der Anwendung verwendet werden. Wenn Sie versuchen, auf einen Endpunkt zuzugreifen, der nicht im Anwendungsmanifest deklariert wurde, schlägt die Anwendung als Sicherheitsfeature fehl, wenn versucht wird, eine Verbindung herzustellen. Diese Sicherheit wird als Netzwerkfirewall implementiert, die erst geändert werden kann, nachdem das Anwendungspaket aktualisiert wurde.

Beim Herstellen einer Verbindung mit IoT Hub müssen Sie sowohl den globalen Dienstendpunkt der Gerätebereitstellung für DPS als auch die Endpunkte für Ihre IoT Hub-Instanz deklarieren. Andernfalls kann Ihre Azure Sphere-Anwendung keine Verbindung mit IoT Hub herstellen.

Funktionen des Netzwerkendpunkts

Netzwerkendpunkte werden in der Anwendungsdatei app_manifest.json im Abschnitt AllowedConnections deklariert.

{
    ...
    "AllowedConnections": [
      "global.azure-devices-provisioning.net",
      "your-iot-hub-network-endpoint",
      "your-dps-network-endpoint"
    ],
    ...
}

Zugriff auf Hardware

Beachten Sie, dass Azure Sphere-Anwendungen standardmäßig sicher sind und Sie den Zugriff auf Hardwareperipheriegeräte deklarieren müssen, die für Ihre Anwendung erforderlich sind. Wenn Sie die Hardware, die für die Anwendung erforderlich ist, nicht deklarieren, schlägt die Anwendung beim Zugriffsversuch auf die Hardware fehl. Der Sicherheitszugriff auf die Hardware wird in der Hardware als Silicon Firewall implementiert. Als zusätzliche Sicherheitsebene bleiben die Einstellungen der Silicon Firewall bestehen, bis das Gerät neu gestartet wird.

Hardwarefunktionen

Die Hardware wird in der Anwendungsdatei app_manifest.json im Abschnitt Capabilities deklariert.

{
  ...
  "Capabilities": {
    "Gpio": [
      "$BUTTON_A",
      "$NETWORK_CONNECTED_LED",
      "$ALERT_LED"
    ],
    "I2cMaster": [
      "$I2cMaster2"
    ],
  ...
  },
  ...
}

Hardwaredefinitionen

Die Azure Sphere-Hardware wird von mehreren Herstellern angeboten, und jeder Hersteller stellt die Features des zugrunde liegenden Chips möglicherweise auf verschiedene Weise zur Verfügung. Azure Sphere-Anwendungen verwalten Hardwareabhängigkeiten mithilfe von Hardwaredefinitionsdateien. Weitere Informationen finden Sie im Artikel Verwalten der Abhängigkeiten für Zielhardware.

Die Labs für dieses Lernmodul verfügen über eine Reihe von Hardwaredefinitionsdateien für die Azure Sphere-Entwicklerboards von AVNET und SEEED Studio. Die Hardwaredefinitionsdatei azure_sphere_learning_path für die einzelnen Labs ist in main.c enthalten.

#include "hw/azure_sphere_learning_path.h"