Сведения об обновлениях по воздуху

Обновления являются важной частью модели безопасности Azure Sphere, поскольку они воплощают свойство возобновляемой безопасности. Регулярное обновление помогает поддерживать соответствие устройств 7 свойствам . Устройства Azure Sphere проверка обновления при первом подключении к Интернету после включения или нажатия кнопки Сброс. После этого проверки выполняются через регулярные интервалы (в настоящее время 20 часов).

Существует три типа обновлений: необходимые обновления, обновления ОС и обновления развертывания. Необходимые обновления используются для обеспечения актуальности компонентов, от которых зависит сам процесс обновления (в настоящее время доверенное хранилище ключей (TKS) и хранилище сертификатов. TKS используется для проверки подлинности образов для скачивания и установки, а хранилище сертификатов проверяет подключения к Интернету. Обновление ОС предназначено для поставляемого корпорацией Майкрософт программного обеспечения на устройстве, включая операционную систему нормального мира, в которую выполняются ваши приложения, а также встроенное ПО более низкого уровня, например подсистему Pluton и монитор безопасности. Обновления развертывания предназначены для собственного программного обеспечения — высокоуровневых приложений и образов конфигурации плат в режиме реального времени (если таковые имеются). Предварительные требования и обновления ОС управляются Azure Sphere; Обновления приложений координируются Azure Sphere на основе развертываний, созданных вашей организацией.

Чтобы любое устройство получало необходимые обновления или обновления ОС, выполните следующие действия.

  • Он должен быть подключен к Интернету.
  • Требования к сети должны быть настроены соответствующим образом.

Чтобы любое устройство обновляло образы конфигурации приложений и плат, выполните указанные ниже действия.

  • Он не должен иметь возможности разработки приложений.
  • Он должен быть запрошен каталогом.
  • Он должен принадлежать группе устройств.
  • Группа устройств, к которой она принадлежит, должна быть нацелена на развертывание.
  • Развертывание должно содержать образы приложений (и, при необходимости, образ конфигурации платы), созданные вашей организацией или от ее имени.
  • Группа устройств должна иметь политику обновления UpdateAll. Обновления приложений для определенной группы устройств можно отключить с помощью команды az sphere device-group update .

Для всех устройств в данной группе устройств развертывания, предназначенные для этой группы устройств, считаются источником истины для создания образа этих устройств. Все образы на устройстве, которые не существуют в развертывании, будут удалены с устройства. Одним из исключений, по состоянию на ОС Azure Sphere 21.04, является то, что образы конфигурации платы не удаляются, если они не будут заменены новым образом конфигурации платы.

Обновление устройства проверка выполняется в три этапа, соответствующие трем типам обновлений:

  • На первом этапе Azure Sphere получает манифест со списком текущих версий TKS и хранилища сертификатов. Если TKS и хранилище сертификатов на устройстве обновлены, обновление продолжается на втором этапе. Если нет, текущие образы загружаются и устанавливаются.
  • На втором этапе Azure Sphere получает манифест со списком текущих версий различных образов компонентов ОС. Если какие-либо образы на устройстве устарели, текущие образы загружаются вместе с образами отката , которые можно использовать для отката устройства до известного хорошего состояния в случае сбоя процесса обновления. Образы ОС и отката загружаются и сохраняются в промежуточной области на устройстве, затем устанавливаются образы ОС и устройство перезагружается.
  • На третьем этапе Azure Sphere проверяет наличие обновлений развертывания, если группа устройств принимает их. Как и в случае с обновлением ОС, образы отката для приложений также размещаются по мере необходимости. Образы приложений и откатов загружаются и сохраняются в промежуточной области, а затем устанавливаются образы приложений.

Откат обновления

Каждая часть процесса обновления включает параметр отката. В предварительно необходимом обновлении образ отката является просто резервной копией состояния перед обновлением. Если обновление завершается сбоем, состояние предварительного обновления восстанавливается.

Откат на любом уровне приводит к откату на всех более высоких уровнях: если какой-либо образ встроенного ПО не загружается, выполняется откат разделов встроенного ПО и приложений.

При обновлении ОС сбой проверки сигнатуры или трудности среды выполнения могут вызвать откат. В случае сбоя проверки сигнатуры предпринимается попытка исправить изображение; В случае сбоя активируется полный откат. При полном откате промежуточные образы отката устанавливаются как для ОС, так и для приложений.

Обновления и развертывания ОС имеют независимые циклы выпуска, поэтому между обновлениями ОС может происходить несколько развертываний. В этом случае важно отметить, что целевыми объектами отката для развертывания является не последнее развертывание, а развертывание на момент последнего обновления ОС. Это гарантирует совместную работу ОС и приложения в состоянии отката.

Прерванные обновления

Если обновление прерывается, например из-за отключения питания или потери подключения, существует четыре возможных сценария для каждого типа обновления:

  • Если полный набор образов успешно скачан и установлен, но еще не установлен, установка завершится при восстановлении питания.
  • Если некоторые, но не все образы были скачаны и поэтапно, обновление продолжит скачивание отсутствующих образов, а затем продолжит установку.
  • Если обновление прерывается во время установки после завершения загрузки, установка будет перезапущена при загрузке.
  • Если образ не был скачан полностью, процесс обновления начнется заново при восстановлении питания, так как для установки не будет ничего готового.

Обновления в сценариях отключения питания

Azure Sphere поддерживает сценарии с низким энергопотреблением, которые позволяют отключать устройства в течение длительного времени для экономии заряда батареи. В таких сценариях важно, чтобы устройство было разрешено периодически проверка обновления. Пример приложения Power Down демонстрирует, как правильно снизить энергопотребление, сохраняя при этом, что устройство будет периодически оставаться в состоянии бодрствования, чтобы проверка обновлений ОС и приложений.

Отложенные обновления

Чтобы предотвратить прерывание критически важных задач обновлениями, высокоуровневые приложения могут включать отложенное обновление. Эта функция позволяет приложению выполнить критически важные задачи, а затем подготовиться к завершению работы, чтобы продолжить обновление. В примере DeferredUpdate показано, как реализовать такое отложенное обновление.