Informationen zu Over-the-Air-Updates
Updates sind ein wichtiger Bestandteil des Azure Sphere-Sicherheitsmodells, da sie die Eigenschaft der Sicherheit für erneuerbare Energien verkörpern. Wenn Sie sicherstellen, dass regelmäßig Updates durchgeführt werden, können Sie ihre Geräte mit 7 Eigenschaften konform halten. Azure Sphere-Geräte suchen nach Updates, wenn sie nach dem Einschalten oder beim Drücken der Schaltfläche Zurücksetzen zum ersten Mal eine Verbindung mit dem Internet herstellen. Danach erfolgt die Überprüfung in regelmäßigen Abständen (derzeit 20 Stunden).
Es gibt drei Arten von Updates: Erforderliche Updates, Betriebssystemupdates und Bereitstellungsupdates. Erforderliche Updates werden verwendet, um sicherzustellen, dass die Komponenten, auf denen der Updateprozess selbst basiert – derzeit der vertrauenswürdige Schlüsselspeicher (Trusted Key Store, TKS) und der Zertifikatspeicher – auf dem neuesten Stand sind. Das TKS wird verwendet, um die Images zu authentifizieren, die heruntergeladen und installiert werden sollen, während der Zertifikatspeicher Internetverbindungen überprüft. Ein Betriebssystemupdate zielt auf die von Microsoft bereitgestellte Software auf dem Gerät ab, einschließlich des normalen Betriebssystems, in dem Ihre Anwendungen ausgeführt werden, aber auch auf niedrigerer Firmware wie das Pluton-Subsystem und den Sicherheitsmonitor. Bereitstellungsupdates richten sich an Ihre eigene Software – Ihre allgemeinen und Echtzeit-fähigen Anwendungen und Boardkonfigurationsimages (falls vorhanden). Erforderliche Updates und Betriebssystemupdates werden von Azure Sphere verwaltet. Anwendungsupdates werden von Azure Sphere basierend auf Bereitstellungen koordiniert, die von Ihrem organization erstellt wurden.
Damit jedes Gerät erforderliche Updates oder Betriebssystemupdates erhält:
- Es muss mit dem Internet verbunden sein.
- Die Netzwerkanforderungen müssen entsprechend konfiguriert werden.
Damit jedes Gerät seine Anwendungs- und Boardkonfigurationsimages aktualisieren kann:
- Sie darf nicht über die Anwendungsentwicklungsfunktion verfügen.
- Sie muss von einem Katalog beansprucht werden.
- Sie muss zu einer Gerätegruppe gehören.
- Die Gerätegruppe, zu der sie gehört, muss von einer Bereitstellung als Ziel verwendet werden.
- Die Bereitstellung muss Anwendungsimages (und optional ein Boardkonfigurationsimage) enthalten, die von oder im Namen Ihrer organization erstellt wurden.
- Die Gerätegruppe muss über die Updaterichtlinie UpdateAll verfügen. Sie können Anwendungsupdates für eine bestimmte Gerätegruppe mit dem Befehl az sphere device-group update deaktivieren.
Für alle Geräte in einer bestimmten Gerätegruppe werden Bereitstellungen, die auf diese Gerätegruppe abzielen, als Quelle der Wahrheit für die Imageerstellung dieser Geräte angesehen. Alle Images auf dem Gerät, die in der Bereitstellung nicht vorhanden sind, werden vom Gerät entfernt. Die einzige Ausnahme ab Azure Sphere OS 21.04 besteht darin, dass Boardkonfigurationsimages nur entfernt werden, wenn sie durch ein neues Boardkonfigurationsimage ersetzt werden.
Die Überprüfung des Geräteupdates erfolgt in drei Phasen, die den drei Arten von Updates entsprechen:
- In der ersten Phase ruft Azure Sphere ein Manifest ab, das die aktuellen Versionen des TKS und des Zertifikatspeichers auflistet. Wenn der TKS- und Zertifikatspeicher auf dem Gerät auf dem neuesten Stand sind, wird das Update mit der zweiten Phase fortgesetzt. Andernfalls werden die aktuellen Images heruntergeladen und installiert.
- In der zweiten Phase ruft Azure Sphere ein Manifest ab, das die aktuellen Versionen der verschiedenen Betriebssystemkomponentenimages auflistet. Wenn Images auf dem Gerät veraltet sind, werden die aktuellen Images zusammen mit Rollbackimages heruntergeladen, die verwendet werden können, um ein Rollback des Geräts in einen bekannten fehlerfreien Zustand zurück zu setzen, wenn der Updatevorgang fehlschlägt. Die Betriebssystem- und Rollbackimages werden heruntergeladen und in einem Stagingbereich auf dem Gerät gespeichert. Anschließend werden die Betriebssystemimages installiert, und das Gerät wird neu gestartet.
- In der dritten Phase sucht Azure Sphere nach Bereitstellungsupdates, ob diese von der Gerätegruppe akzeptiert werden. Wie beim Betriebssystemupdate werden auch Rollbackimages für die Anwendungen nach Bedarf bereitgestellt. Anwendungs- und Rollbackimages werden heruntergeladen und im Stagingbereich gespeichert. Anschließend werden die Anwendungsimages installiert.
Updaterollback
Jeder Teil des Updateprozesses enthält eine Rollbackoption. Im Erforderlichen Update ist das Rollbackimage einfach eine Sicherung des Zustands vor der Aktualisierung. Wenn das Update fehlschlägt, wird der Zustand vor dem Update wiederhergestellt.
Rollback auf jeder Ebene erzwingt ein Rollback auf allen höheren Ebenen: Wenn ein Firmwareimage nicht gestartet werden kann, wird sowohl für die Firmware- als auch für die Anwendungspartition ein Rollback ausgeführt.
Für das Betriebssystemupdate können entweder ein Fehler bei der Signaturüberprüfung oder Laufzeitprobleme einen Rollback auslösen. Im Falle eines Fehlers bei der Signaturüberprüfung wird versucht, das Bild zu korrigieren. Wenn dies fehlschlägt, wird ein vollständiges Rollback ausgelöst. In einem vollständigen Rollback werden die bereitgestellten Rollbackimages sowohl für das Betriebssystem als auch für anwendungen installiert.
Betriebssystemupdates und -bereitstellungen verfügen über unabhängige Releasezyklen, sodass es möglich ist, dass mehrere Bereitstellungen zwischen Betriebssystemupdates stattfinden. In diesem Fall ist es wichtig zu beachten, dass die Rollbackziele für die Bereitstellung nicht die neueste Bereitstellung sind, sondern die Bereitstellung zum Zeitpunkt des letzten Betriebssystemupdates. Dadurch wird sichergestellt, dass das Betriebssystem und die Anwendung im Rollback-Zustand zusammenarbeiten.
Unterbrochene Updates
Wenn ein Update unterbrochen wird, z. B. durch einen Stromausfall oder einen Konnektivitätsverlust, gibt es für jeden Updatetyp vier mögliche Szenarien:
- Wenn ein vollständiger Satz von Images erfolgreich heruntergeladen und bereitgestellt, aber noch nicht installiert wurde, wird die Installation abgeschlossen, wenn die Stromversorgung wiederhergestellt wird.
- Wenn einige, aber nicht alle Images heruntergeladen und bereitgestellt wurden, fährt das Update mit dem Herunterladen fehlender Images fort und fährt dann mit der Installation fort.
- Wenn ein Update während der Installation nach Abschluss des Downloads unterbrochen wird, wird die Installation beim Start neu gestartet.
- Wenn kein Image vollständig heruntergeladen wurde, beginnt der Updatevorgang neu, wenn die Stromversorgung wiederhergestellt wird, da nichts zur Installation bereit ist.
Updates in Herunterschaltszenarien
Azure Sphere unterstützt Szenarien mit geringem Stromverbrauch, die es ermöglichen, Geräte für längere Zeiträume herunterzuschalten , um die Akkulaufzeit zu sparen. In solchen Szenarien ist es wichtig, dass das Gerät in regelmäßigen Abständen nach Updates suchen darf. Die Power Down-Beispielanwendung zeigt, wie Sie den Stromverbrauch ordnungsgemäß reduzieren und gleichzeitig sicherstellen, dass das Gerät regelmäßig aktiv bleibt, um nach Betriebssystem- und App-Updates zu suchen.
Verzögerte Updates
Um zu verhindern, dass kritische Aufgaben durch Updates unterbrochen werden, können allgemeine Anwendungen verzögerte Updates integrieren. Mit diesem Feature kann die Anwendung ihre kritischen Aufgaben ausführen und sich dann auf das Herunterfahren vorbereiten, damit das Update fortgesetzt werden kann. Im DeferredUpdate-Beispiel wird veranschaulicht, wie ein solches verzögertes Update implementiert wird.