Over over-the-air-updates

Updates zijn een belangrijk onderdeel van het Azure Sphere-beveiligingsmodel, omdat ze de eigenschap van hernieuwbare beveiliging belichamen. Door ervoor te zorgen dat er regelmatig updates worden uitgevoerd, blijven uw apparaten compatibel met 7 eigenschappen . Azure Sphere-apparaten controleren op updates wanneer ze voor het eerst verbinding maken met internet nadat ze zijn ingeschakeld of nadat de knop Opnieuw instellen is ingedrukt. Daarna vinden controles plaats met regelmatige tussenpozen (momenteel 20 uur).

Er zijn drie typen updates: vereiste updates, updates van het besturingssysteem en implementatie-updates. Vereiste updates worden gebruikt om ervoor te zorgen dat de onderdelen waarop het updateproces zelf afhankelijk is, op dit moment het vertrouwde sleutelarchief (TKS) en het certificaatarchief, up-to-date zijn. De TKS wordt gebruikt om de installatiekopieën te verifiëren die moeten worden gedownload en geïnstalleerd, terwijl het certificaatarchief internetverbindingen valideert. Een update van het besturingssysteem is gericht op de door Microsoft geleverde software op het apparaat, met inbegrip van het normale besturingssysteem waarin uw toepassingen worden uitgevoerd, maar ook firmware op lager niveau, zoals het Subsysteem Pluton en de Beveiligingsmonitor. Implementatie-updates zijn gericht op uw eigen software: uw toepassingen op hoog niveau en in realtime geschikte toepassingen en installatiekopieën voor bordconfiguratie (indien aanwezig). Vereiste en updates van het besturingssysteem worden beheerd door Azure Sphere; toepassingsupdates worden gecoördineerd door Azure Sphere op basis van implementaties die door uw organisatie zijn gemaakt.

Ga als volgende te werk om ervoor te zorgen dat elk apparaat vereiste of besturingssysteemupdates ontvangt:

  • Het moet zijn verbonden met internet.
  • Netwerkvereisten moeten op de juiste manier worden geconfigureerd.

Ga als volgende te werk om ervoor te zorgen dat elk apparaat de installatiekopieën van de toepassing en de boardconfiguratie kan bijwerken:

  • Het mag niet over de mogelijkheid voor toepassingsontwikkeling beschikken.
  • Deze moet worden geclaimd door een catalogus.
  • Deze moet deel uitmaken van een apparaatgroep.
  • De apparaatgroep waartoe deze behoort, moet worden gericht door een implementatie.
  • De implementatie moet toepassingsinstallatiekopieën (en optioneel een boardconfiguratie-installatiekopieën) bevatten die door of namens uw organisatie zijn gemaakt.
  • De apparaatgroep moet het updatebeleid UpdateAll hebben. U kunt toepassingsupdates voor een bepaalde apparaatgroep uitschakelen met behulp van de opdracht az sphere device-group update .

Voor alle apparaten in een bepaalde apparaatgroep worden implementaties die gericht zijn op die apparaatgroep beschouwd als de bron van waarheid voor het maken van afbeeldingen van die apparaten. Installatiekopieën op het apparaat die niet aanwezig zijn in de implementatie, worden van het apparaat verwijderd. De enige uitzondering, vanaf Azure Sphere OS 21.04, is dat installatiekopieën voor bordconfiguratie niet worden verwijderd, tenzij ze worden vervangen door een nieuwe installatiekopieën voor bordconfiguratie.

De apparaatupdatecontrole vindt plaats in drie fasen die overeenkomen met de drie typen updates:

  • In de eerste fase verkrijgt Azure Sphere een manifest met de huidige versies van de TKS en het certificaatarchief. Als de TKS en het certificaatarchief op het apparaat up-to-date zijn, gaat de update verder met de tweede fase. Zo niet, dan worden de huidige installatiekopieën gedownload en geïnstalleerd.
  • In de tweede fase verkrijgt Azure Sphere een manifest met de huidige versies van de verschillende installatiekopieën van het besturingssysteemonderdeel. Als installatiekopieën op het apparaat verouderd zijn, worden de huidige installatiekopieën gedownload, samen met terugdraaiinstallatiekopieën die kunnen worden gebruikt om het apparaat terug te draaien naar een bekende goede status als het updateproces mislukt. De installatiekopieën van het besturingssysteem en het terugdraaien worden gedownload en opgeslagen in een faseringsgebied op het apparaat, waarna de installatiekopieën van het besturingssysteem worden geïnstalleerd en het apparaat opnieuw wordt opgestart.
  • In de derde fase controleert Azure Sphere op implementatie-updates als de apparaatgroep deze accepteert. Net als bij de update van het besturingssysteem worden terugdraaiinstallatiekopieën voor de toepassingen zo nodig ook gefaseerd. Installatiekopieën voor toepassingen en terugdraaien worden gedownload en opgeslagen in het faseringsgebied, waarna de installatiekopieën van de toepassing worden geïnstalleerd.

Update terugdraaien

Elk onderdeel van het updateproces bevat een optie voor terugdraaien. In de vereiste update is de terugdraaiinstallatiekopieën gewoon een back-up van de status vóór de update. Als de update mislukt, wordt de status van vóór de update hersteld.

Terugdraaien op elk niveau dwingt terugdraaien op alle hogere niveaus af: als een firmware-installatiekopie niet kan worden opgestart, worden zowel de firmware- als toepassingspartities teruggedraaid.

Voor de update van het besturingssysteem kan een mislukte handtekeningverificatie of runtimeproblemen een terugdraaibewerking activeren. In het geval van een mislukte handtekeningverificatie wordt een poging gedaan om de afbeelding te corrigeren; Als dit mislukt, wordt een volledige terugdraaiactie geactiveerd. In een volledige terugdraaiactie worden de gefaseerde terugdraaiinstallatiekopieën geïnstalleerd voor zowel het besturingssysteem als toepassingen.

Besturingssysteemupdates en -implementaties hebben onafhankelijke releasecycli, dus het is mogelijk dat er meerdere implementaties plaatsvinden tussen besturingssysteemupdates. Als dit gebeurt, is het belangrijk te weten dat de terugdraaidoelen voor de implementatie niet de meest recente implementatie zijn, maar de implementatie op het moment van de laatste update van het besturingssysteem. Dit zorgt ervoor dat het besturingssysteem en de toepassing samenwerken in de teruggedraaide status.

Onderbroken updates

Als een update wordt onderbroken, bijvoorbeeld door een stroomstoring of verlies van connectiviteit, zijn er vier mogelijke scenario's voor elk updatetype:

  • Als een volledige set installatiekopieën is gedownload en gefaseerd, maar nog niet is geïnstalleerd, wordt de installatie voltooid wanneer de stroom is hersteld.
  • Als sommige, maar niet alle installatiekopieën zijn gedownload en gefaseerd, blijft de update ontbrekende installatiekopieën downloaden en gaat vervolgens verder met de installatie.
  • Als een update wordt onderbroken tijdens de installatie nadat het downloaden is voltooid, wordt de installatie opnieuw gestart bij het opstarten.
  • Als er geen installatiekopieën volledig zijn gedownload, wordt het updateproces opnieuw gestart wanneer de stroom wordt hersteld, omdat er niets gereed is om te installeren.

Updates in scenario's voor uitschakelen

Azure Sphere biedt ondersteuning voor scenario's met weinig energie waarmee apparaten gedurende langere tijd kunnen worden uitgeschakeld om de levensduur van de batterij te verlengen. In dergelijke scenario's is het belangrijk dat het apparaat regelmatig op updates mag controleren. De power-down-voorbeeldtoepassing laat zien hoe u het energieverbruik goed kunt verminderen terwijl u er toch voor zorgt dat het apparaat periodiek actief blijft om te controleren op updates van het besturingssysteem en de app.

Uitgestelde updates

Om te voorkomen dat kritieke taken worden onderbroken door updates, kunnen toepassingen op hoog niveau uitgestelde updates opnemen. Met deze functie kan de toepassing kritieke taken voltooien en zich vervolgens voorbereiden op afsluiten om de update door te laten gaan. Het Voorbeeld van DeferredUpdate laat zien hoe u een dergelijke uitgestelde update implementeert.