Acerca de las actualizaciones sobre el aire

Novedades son una parte importante del modelo de seguridad Azure Sphere, ya que incorporan la propiedad de la seguridad renovable. Garantizar que las actualizaciones se realicen periódicamente ayuda a mantener los dispositivos compatibles con 7 propiedades . Los dispositivos Azure Sphere buscan actualizaciones la primera vez que se conectan a Internet después de encender o después de presionar el botón Restablecer. A partir de entonces, las comprobaciones se realizan a intervalos regulares (actualmente 20 horas).

Existen tres tipos de actualizaciones: actualizaciones de requisitos previos, actualizaciones del sistema operativo y actualizaciones de implementación. Las actualizaciones necesarias se utilizan para garantizar que los componentes en los que se basa el propio proceso de actualización (actualmente el almacén de claves de confianza (TKS) y el almacén de certificados estén actualizados. El TKS se utiliza para autenticar las imágenes que se descargarán e instalarán, mientras que el almacén de certificados valida las conexiones a Internet. Una actualización del sistema operativo se centra en el software suministrado por Microsoft en el dispositivo, incluido el sistema operativo normal en el que se ejecutan las aplicaciones, pero también firmware de nivel inferior, como el subsistema plutón y el monitor de seguridad. Las actualizaciones de implementación se dirigen a su propio software: sus aplicaciones compatibles de alto nivel y en tiempo real e imágenes de configuración de placas (si las hay). Azure Sphere administra las actualizaciones de sistema operativo y los requisitos previos; las actualizaciones de aplicaciones son coordinadas por Azure Sphere en función de las implementaciones creadas por su organización.

Para que cualquier dispositivo reciba las actualizaciones del sistema operativo o los requisitos previos:

Para que cualquier dispositivo actualice sus imágenes de configuración de aplicación y placa:

  • No debe tener la capacidad de desarrollo de aplicaciones.
  • Debe ser reclamado por un catálogo.
  • Debe pertenecer a un grupo de dispositivos.
  • El grupo de dispositivos al que pertenece debe estar dirigido por una implementación.
  • La implementación debe contener imágenes de aplicación (y, opcionalmente, una imagen de configuración de placa) creadas por o en nombre de su organización.
  • El grupo de dispositivos debe tener la directiva de actualización UpdateAll. Puede deshabilitar las actualizaciones de aplicaciones para un grupo de dispositivos determinado mediante el comando az sphere device-group update .

Para todos los dispositivos de un grupo de dispositivos determinado, las implementaciones dirigidas a ese grupo de dispositivos se consideran la fuente de la verdad para la creación de imágenes de esos dispositivos. Las imágenes del dispositivo que no existen en la implementación se quitarán del dispositivo. La única excepción, a partir de Azure Sphere OS 21.04, es que las imágenes de configuración de placa no se quitan a menos que se reemplacen por una nueva imagen de configuración de placa.

La comprobación de actualización de dispositivos se realiza en tres fases correspondientes a los tres tipos de actualizaciones:

  • En la primera fase, Azure Sphere obtiene un manifiesto que enumera las versiones actuales del TKS y del almacén de certificados. Si el TKS y el almacén de certificados del dispositivo están actualizados, la actualización continúa con la segunda fase. Si no es así, las imágenes actuales se descargarán e instalarán.
  • En la segunda fase, Azure Sphere obtiene un manifiesto que enumera las versiones actuales de las distintas imágenes de componentes del sistema operativo. Si alguna de las imágenes del dispositivo no está actualizada, las imágenes actuales se descargan junto con las imágenes de reversión , que se pueden usar para revertir el dispositivo a un estado correcto conocido si se produce un error en el proceso de actualización. El sistema operativo y las imágenes de reversión se descargan y se almacenan en un área de ensayo del dispositivo, después se instalan las imágenes del sistema operativo y se reinicia el dispositivo.
  • En la tercera fase, Azure Sphere comprueba si hay actualizaciones de implementación si el grupo de dispositivos las acepta. Al igual que con la actualización del sistema operativo, las imágenes de reversión para las aplicaciones también se preconfigura según sea necesario. Las imágenes de aplicación y reversión se descargan y se almacenan en el área de ensayo y, a continuación, se instalan las imágenes de la aplicación.

Reversión de actualización

Cada parte del proceso de actualización incluye una opción de reversión. En la actualización necesaria, la imagen de reversión es simplemente una copia de seguridad del estado anterior a la actualización. Si se produce un error en la actualización, se restaura el estado anterior a la actualización.

La reversión en cualquier nivel fuerza la reversión en todos los niveles superiores: si alguna imagen de firmware no puede arrancar, tanto el firmware como las particiones de la aplicación se revierte.

Para la actualización del sistema operativo, un error de comprobación de firma o dificultades en tiempo de ejecución pueden desencadenar una reversión. En caso de error de verificación de firma, se intenta corregir la imagen; si se produce un error, se desencadena una reversión completa. En una reversión completa, las imágenes de reversión preconfigurada se instalan para el sistema operativo y las aplicaciones.

Las actualizaciones del sistema operativo y las implementaciones tienen ciclos de versión independientes, por lo que es posible que se produzcan varias implementaciones entre las actualizaciones del sistema operativo. Si esto ocurre, es importante tener en cuenta que los destinos de reversión para la implementación no son la implementación más reciente, sino la implementación en el momento de la última actualización del sistema operativo. Esto garantiza que el sistema operativo y la aplicación funcionan juntos en el estado revertido.

Actualizaciones interrumpidas

Si se interrumpe una actualización, por ejemplo, por una interrupción del suministro eléctrico o una pérdida de conectividad, hay cuatro escenarios posibles para cada tipo de actualización:

  • Si un conjunto completo de imágenes se ha descargado y preconfigurado correctamente pero aún no se ha instalado, la instalación se completará cuando se restablezca la energía.
  • Si algunas de las imágenes, pero no todas, se descargaron y se preconfiguraron, la actualización seguirá descargando las imágenes que faltan y, a continuación, procederá a la instalación.
  • Si se interrumpe una actualización durante la instalación después de completar la descarga, la instalación se reiniciará al arrancar.
  • Si ninguna imagen se descargó por completo, el proceso de actualización comenzará de cero cuando se restaure la energía, ya que no habrá nada listo para instalar.

Novedades en escenarios de apagado

Azure Sphere admite escenarios de bajo consumo que permiten que los dispositivos se apaguen durante períodos prolongados para prolongar la duración de la batería. En estos casos, es importante que el dispositivo pueda buscar actualizaciones periódicamente. La aplicación de muestra Power Down muestra cómo reducir correctamente el consumo de energía, a la vez que garantiza que el dispositivo permanezca activo periódicamente para comprobar si hay actualizaciones del sistema operativo y de las aplicaciones.

Actualizaciones diferidas

Para evitar que las tareas críticas se interrumpan con actualizaciones, las aplicaciones de alto nivel pueden incorporar la actualización diferida. Esta característica permite a la aplicación completar sus tareas críticas y, a continuación, prepararse para el apagado para permitir que la actualización continúe. En el ejemplo de DeferredUpdate se muestra cómo implementar dicha actualización diferida.