Om uppdateringar över hela luften

Uppdateringar är en viktig del av Azure Sphere-säkerhetsmodellen, eftersom de förkroppsligar egenskapen förnybar säkerhet. Genom att se till att uppdateringar sker regelbundet ser du till att enheternas 7-egenskaper är kompatibla. Azure Sphere-enheter söker efter uppdateringar när de först ansluter till Internet efter att de har aktiverats eller efter att knappen Återställ har tryckts ned. Därefter utförs kontroller med jämna mellanrum (för närvarande 20 timmar).

Det finns tre typer av uppdateringar: nödvändiga uppdateringar, OS-uppdateringar och distributionsuppdateringar. Nödvändiga uppdateringar används för att säkerställa att komponenterna i själva uppdateringsprocessen är beroende av , för närvarande TKS (Trusted Key Store) och certifikatarkivet, är uppdaterade. TKS används för att autentisera avbildningarna som ska laddas ned och installeras, medan certifikatarkivet verifierar Internetanslutningar. En OS-uppdatering riktar sig till programvaran från Microsoft på enheten, inklusive det vanliga operativsystem som dina program körs i, men även inbyggd programvara på lägre nivå, till exempel Pluton-undersystemet och Säkerhetsövervakaren. Distributionsuppdateringar riktar sig till din egen programvara – dina program på hög nivå och i realtid samt konfigurationsbilder för anslagstavlor (om det finns några). Nödvändiga uppdateringar och OS-uppdateringar hanteras av Azure Sphere. programuppdateringar samordnas av Azure Sphere baserat på distributioner som skapats av din organisation.

För att alla enheter ska få förutsättningar eller OS-uppdateringar:

  • Den måste vara ansluten till Internet.
  • Nätverkskrav måste vara korrekt konfigurerade.

För att alla enheter ska kunna uppdatera sina konfigurationsbilder för program och anslagstavlor:

  • Den får inte ha programutvecklingsförmågan.
  • Det måste begäras av en klient.
  • Den måste tillhöra en enhetsgrupp.
  • Enhetsgruppen som den tillhör måste riktas mot en distribution.
  • Distributionen måste innehålla program avbildningar (och eventuellt en avbildning av anslagstavlor) som skapats av eller för din organisations räkning.
  • Enhetsgruppen måste ha UpdateAll-uppdateringsprincipen. Du kan inaktivera programuppdateringar för en viss enhetsgrupp med hjälp av kommandot för uppdatering av azsfärenhetsgrupp .

För alla enheter i en viss enhetsgrupp anses distributioner som riktar sig till den enhetsgruppen vara sanningens källa för avbildning av dessa enheter. Alla avbildningar på enheten som inte finns i distributionen tas bort från enheten. Det enda undantaget från Azure Sphere OS 21.04 är att konfigurationsbilder för anslagstavlor inte tas bort om de inte ersätts med en ny avbildning av anslagstavlor.

Kontrollen av enhetsuppdateringen sker i tre faser som motsvarar de tre typerna av uppdateringar:

  • I den första fasen hämtar Azure Sphere ett manifest med en lista över aktuella versioner av TKS- och certifikatarkivet. Om TKS- och certifikatarkivet på enheten är uppdaterat fortsätter uppdateringen med den andra fasen. Annars laddas de aktuella avbildningarna ned och installeras.
  • I den andra fasen hämtar Azure Sphere ett manifest som listar de aktuella versionerna av de olika OS-komponentbilderna. Om några bilder på enheten är inaktuella laddas de aktuella bilderna ned tillsammans med återställningsbilder som kan användas för att återställa enheten till ett känt bra tillstånd om uppdateringsprocessen misslyckas. Os- och återställningsbilderna laddas ned och lagras i ett mellanlagringsområde på enheten, sedan installeras OS-avbildningarna och enheten startas om.
  • I den tredje fasen söker Azure Sphere efter distributionsuppdateringar om enhetsgruppen accepterar dem. Precis som med OS-uppdateringen mellanlagras även återställningsbilder för programmen efter behov. Program- och återställningsbilder laddas ned och lagras i mellanlagringsområdet och sedan installeras programbilderna.

Återställning av uppdatering

Varje del av uppdateringsprocessen innehåller ett återställningsalternativ. I den nödvändiga uppdateringen är återställningsbilden helt enkelt en säkerhetskopia av föruppdateringstillståndet. Om uppdateringen misslyckas återställs föruppdateringstillståndet.

Återställning på alla nivåer tvingar återställning på alla högre nivåer: om en avbildning av den inbyggda programvaran inte kan startas återställs både den inbyggda programvaran och programpartitionerna.

För OS-uppdateringen kan antingen ett signaturverifieringsfel eller körningsproblem utlösa en återställning. Vid ett signaturverifieringsfel görs ett försök att korrigera avbildningen. Om det misslyckas utlöses en fullständig återställning. I en fullständig återställning installeras de stegvisa återställningsbilderna för både operativsystemet och programmen.

OS-uppdateringar och distributioner har oberoende versionscykler, så det är möjligt att flera distributioner sker mellan OS-uppdateringar. I så fall är det viktigt att observera att återställningsmålen för distributionen inte är den senaste distributionen, utan snarare distributionen vid tidpunkten för den senaste OS-uppdateringen. Detta säkerställer att operativsystemet och programmet fungerar tillsammans i återställningstillståndet.

Avbrutna uppdateringar

Om en uppdatering avbryts, till exempel av ett strömavbrott eller förlust av anslutningen, finns det fyra möjliga scenarier för varje uppdateringstyp:

  • Om en fullständig uppsättning avbildningar har laddats ned och mellanlagerats men ännu inte installerats slutförs installationen när strömmen återställs.
  • Om vissa men inte alla avbildningar laddades ned och mellanlagrades fortsätter uppdateringen att ladda ned saknade bilder och fortsätter sedan till installationen.
  • Om en uppdatering avbryts under installationen när nedladdningen är klar startas installationen om vid start.
  • Om ingen bild har laddats ned helt börjar uppdateringsprocessen på nytt när strömmen återställs, eftersom det inte finns något klart att installera.

Uppdateringar i power down-scenarier

Azure Sphere har stöd för lågenergiscenarier som gör att enheter kan stängas av under längre perioder för att spara batteritid. I sådana fall är det viktigt att enheten tillåts söka efter uppdateringar med jämna mellanrum. Power Down-exempelprogrammet visar hur du minskar strömförbrukningen ordentligt samtidigt som du ser till att enheten med jämna mellanrum håller sig aktiv för att söka efter OS- och appuppdateringar.

Uppskjutna uppdateringar

För att förhindra att kritiska aktiviteter avbryts av uppdateringar kan program på hög nivå införliva uppskjuten uppdatering. Med den här funktionen kan programmet slutföra sina kritiska uppgifter och sedan förbereda för avstängning så att uppdateringen kan fortsätta. Exemplet DeferredUpdate visar hur du implementerar en sådan uppskjuten uppdatering.