Sobre atualizações no ar

Atualizações são uma parte importante do modelo de segurança do Azure Sphere, pois incorporam a propriedade de segurança renovável. Garantir que as atualizações ocorram regularmente ajuda a manter seus dispositivos em conformidade com sete propriedades . Os dispositivos do Azure Sphere marcar para atualizações quando se conectam pela primeira vez à Internet depois de ligar ou depois que o botão Redefinir é pressionado. Depois disso, as verificações ocorrem em intervalos regulares (atualmente 20 horas).

Há três tipos de atualizações: atualizações de pré-requisito, atualizações do sistema operacional e atualizações de implantação. As atualizações de pré-requisito são usadas para garantir que os componentes em que o próprio processo de atualização depende , atualmente o TKS (Trusted Key Store) e o repositório de certificados, estejam atualizados. O TKS é usado para autenticar as imagens a serem baixadas e instaladas, enquanto o repositório de certificados valida as conexões de Internet. Uma atualização do sistema operacional tem como alvo o software fornecido pela Microsoft no dispositivo, incluindo o sistema operacional de mundo normal em que seus aplicativos são executados, mas também firmware de nível inferior, como o subsistema Pluton e o Monitor de Segurança. As atualizações de implantação visam seu próprio software, seus aplicativos capazes de alto nível e em tempo real e imagens de configuração de placa (se houver). As atualizações de pré-requisito e do sistema operacional são gerenciadas pelo Azure Sphere; As atualizações do aplicativo são coordenadas pelo Azure Sphere com base em implantações criadas pela sua organização.

Para que qualquer dispositivo receba atualizações de pré-requisito ou sistema operacional:

Para que qualquer dispositivo atualize suas imagens de configuração do aplicativo e do quadro:

Para todos os dispositivos em um determinado grupo de dispositivos, as implantações direcionadas a esse grupo de dispositivos são consideradas a fonte da verdade para a imagem desses dispositivos. Todas as imagens no dispositivo que não existem na implantação serão removidas do dispositivo. A única exceção, a partir do Azure Sphere OS 21.04, é que as imagens de configuração do board não são removidas, a menos que sejam substituídas por uma nova imagem de configuração de placa.

O marcar de atualização do dispositivo ocorre em três fases correspondentes aos três tipos de atualizações:

  • Na primeira fase, o Azure Sphere obtém um manifesto listando as versões atuais do TKS e do repositório de certificados. Se o TKS e o repositório de certificados no dispositivo estiverem atualizados, a atualização continuará com a segunda fase. Caso contrário, as imagens atuais serão baixadas e instaladas.
  • Na segunda fase, o Azure Sphere obtém um manifesto listando as versões atuais das várias imagens de componente do sistema operacional. Se alguma imagem no dispositivo estiver desatualizada, as imagens atuais serão baixadas junto com imagens de reversão que podem ser usadas para reverter o dispositivo para um bom estado conhecido se o processo de atualização falhar. As imagens de sistema operacional e reversão são baixadas e armazenadas em uma área de preparo no dispositivo, em seguida, as imagens do sistema operacional são instaladas e o dispositivo é reiniciado.
  • Na terceira fase, o Azure Sphere verifica se o grupo de dispositivos está aceitando as atualizações de implantação. Assim como acontece com a atualização do sistema operacional, as imagens de reversão para os aplicativos também são encenadas conforme necessário. As imagens de aplicativo e reversão são baixadas e armazenadas na área de preparo e as imagens do aplicativo são instaladas.

Atualizar a reversão

Cada parte do processo de atualização inclui uma opção de reversão. Na atualização de pré-requisito, a imagem de reversão é simplesmente um backup do estado de pré-atualização. Se a atualização falhar, o estado de pré-atualização será restaurado.

A reversão em qualquer nível força a reversão em todos os níveis mais altos: se alguma imagem de firmware não for inicializada, as partições de firmware e de aplicativo serão revertidas.

Para a atualização do sistema operacional, uma falha de verificação de assinatura ou dificuldades de runtime podem disparar uma reversão. No caso de uma falha de verificação de assinatura, é feita uma tentativa de corrigir a imagem; se isso falhar, uma reversão completa será disparada. Em uma reversão completa, as imagens de reversão em etapas são instaladas para o sistema operacional e aplicativos.

As atualizações e implantações do sistema operacional têm ciclos de versão independentes, portanto, é possível que várias implantações ocorram entre as atualizações do sistema operacional. Se isso acontecer, é importante observar que os destinos de reversão para a implantação não são a implantação mais recente, mas sim a implantação no momento da última atualização do sistema operacional. Isso garante que o sistema operacional e o aplicativo trabalhem juntos no estado reversível.

Atualizações interrompidas

Se uma atualização for interrompida, por exemplo, por uma interrupção de energia ou perda de conectividade, há quatro cenários possíveis para cada tipo de atualização:

  • Se um conjunto completo de imagens foi baixado e encenado com êxito, mas ainda não instalado, a instalação será concluída quando a energia for restaurada.
  • Se algumas, mas não todas as imagens foram baixadas e encenadas, a atualização continuará baixando imagens ausentes e, em seguida, prosseguirá para a instalação.
  • Se uma atualização for interrompida durante a instalação após a conclusão do download, a instalação será reiniciada na inicialização.
  • Se nenhuma imagem foi completamente baixada, o processo de atualização começará de novo quando a energia for restaurada, pois não haverá nada pronto para instalar.

Atualizações em cenários de power-down

O Azure Sphere dá suporte a cenários de baixa potência que permitem que os dispositivos sejam desligados por longos períodos para conservar a duração da bateria. Nesses cenários, é importante que o dispositivo possa marcar para atualizações periodicamente. O aplicativo de exemplo do Power Down demonstra como reduzir adequadamente o consumo de energia, ao mesmo tempo em que garante que o dispositivo permaneça acordado periodicamente para marcar para atualizações de so e aplicativo.

Atualizações adiadas

Para evitar que tarefas críticas sejam interrompidas por atualizações, aplicativos de alto nível podem incorporar a atualização adiada. Esse recurso permite que o aplicativo conclua suas tarefas críticas e, em seguida, prepare-se para o desligamento para permitir que a atualização prossiga. O exemplo DeferredUpdate demonstra como implementar essa atualização adiada.