¿Qué es Azure Sphere?
Azure Sphere es una plataforma de aplicaciones segura y de alto nivel con características de comunicación y seguridad integradas para dispositivos conectados a Internet. Consta de una unidad de microcontrolador híbrida, protegida y conectada; un sistema operativo (SO) basado en Linux de alto nivel y personalizado, y un servicio de seguridad basado en la nube que proporciona seguridad de forma continua y renovable.
La unidad de microcontrolador de Azure Sphere integra capacidades de procesamiento en tiempo real, además de la capacidad de ejecutar un sistema operativo de alto nivel. Esta unidad de microcontrolador de Azure Sphere, junto con su sistema operativo y plataforma de aplicaciones, permite crear dispositivos protegidos con conexión a Internet que se pueden actualizar, controlar, supervisar y mantener de forma remota. Un dispositivo conectado que incluye una MCU de Azure Sphere, junto o en lugar de una MCU existente, proporciona seguridad, productividad y oportunidad mejoradas. Por ejemplo:
- Un entorno de aplicación protegido, conexiones autenticadas y uso opcional de periféricos minimiza los riesgos de seguridad debido a suplantación de identidad, software no autorizado o ataques por denegación de servicio, entre otros.
- Las actualizaciones de software se pueden implementar automáticamente desde la nube en cualquier dispositivo conectado para solucionar problemas, proporcionar nuevas funcionalidades o contrarrestar métodos emergentes de ataque, lo que permite mejorar la productividad del personal de soporte técnico.
- Los datos de uso de productos se pueden notificar a la nube a través de una conexión segura para ayudar a diagnosticar problemas y diseñar nuevos productos, lo que aumenta la oportunidad de servicio de productos, interacciones positivas con los clientes y desarrollos futuros.
El servicio de seguridad de Azure Sphere es un aspecto integral de Azure Sphere. Con este servicio, los MCU de Azure Sphere se conectan de manera segura y protegida a la nube y la web. El servicio asegura que el dispositivo arranque solo con una versión autorizada de software original aprobado. Además, proporciona un canal protegido a través del cual Microsoft puede descargar e instalar automáticamente actualizaciones del sistema operativo en dispositivos implementados en el campo para mitigar los problemas de seguridad. No es necesaria la intervención del fabricante ni del usuario final, lo que elimina una vulnerabilidad de seguridad común.
Nota:
Azure Sphere hace referencia a la interfaz basada en PAPI como Azure Sphere (heredado) y la interfaz integrada de Azure Resource Manager como Azure Sphere (integrado).
Escenario de Azure Sphere
Para entender cómo funciona Azure Sphere en una situación del mundo real, considere este escenario.
Contoso, Ltd., es un fabricante de productos de línea blanca que incorpora un MCU de Azure Sphere en sus lavavajillas. El lavavajillas DW100 acompaña al MCU con varios sensores y una aplicación incorporada de alto nivel que se ejecuta en el MCU de Azure Sphere. La aplicación se comunica con el servicio de seguridad de Azure Sphere y con los servicios en la nube de Contoso. En el siguiente diagrama, se ilustra este escenario:
Lavavajillas de Contoso conectadas a la red
Desde la esquina superior izquierda y en el sentido de las manecillas:
Microsoft publica actualizaciones para el sistema operativo de Azure Sphere a través del servicio de seguridad de Azure Sphere.
La ingeniería de producto de Contoso publica actualizaciones para su aplicación DW100 a través del servicio de seguridad de Azure Sphere.
El servicio de seguridad de Azure Sphere implementa de forma segura el sistema operativo actualizado y el software de la aplicación Contoso DW100 en el lavavajillas en las ubicaciones del usuario final.
EL lavavajillas de Contoso se comunica con el servicio de seguridad de Azure Sphere para determinar qué versión del software de Azure Sphere y del software de aplicación DW100 debe ejecutarse en cada dispositivo del usuario final y recopilar los datos de informe de errores que se notifican al servicio. El lavavajillas de Contoso también se comunica con el servicio en la nube de Contoso para obtener más información.
Los servicios en la nube de Contoso admiten aplicaciones para solucionar problemas, analizar datos e interactuar con el cliente. Los servicios en la nube de Contoso pueden hospedarse en Microsoft Azure, en un servicio en la nube de otro vendedor o en la propia nube de Contoso.
Los modelos DW100 de Contoso en ubicaciones de usuario final descargan el software de la aplicación y el sistema operativo actualizados a través de su conexión al servicio de seguridad de Azure Sphere. También pueden comunicarse con la aplicación de servicio en la nube de Contoso para notificar sobre datos adicionales.
Por ejemplo, los sensores del lavavajillas podrían supervisar la temperatura de agua, la temperatura de secado y el nivel del agente de enjuague y cargar estos datos a los servicios en la nube de Contoso, donde una aplicación de servicio en la nube los analiza para detectar posibles problemas. Si la temperatura de secado parece demasiado alta o baja (lo que podría indicar que una pieza tiene errores), Contoso ejecuta un diagnóstico remoto y notifica al cliente sobre la necesidad de hacer reparaciones. Si el lavavajillas aún tiene garantía, la aplicación de servicio en la nube puede asegurarse de que el taller de reparación local del cliente tiene la pieza de reemplazo, lo que reduce las visitas de mantenimiento y los requisitos de inventario. De igual modo, si el agente de enjuague es bajo, el lavavajillas podría indicar al cliente que compre más directamente del fabricante.
Todas las comunicaciones tienen lugar a través de conexiones autenticadas y seguras. El personal de soporte técnico e ingeniería de Contoso puede visualizar datos mediante el servicio de seguridad de Azure Sphere, las características de Microsoft Azure o una aplicación de servicio en la nube específica para Contoso. Contoso también puede proporcionar aplicaciones web o móviles para el cliente, con las que los propietarios de lavavajillas puedan solicitar el servicio de mantenimiento, supervisar el uso de los recursos del lavavajillas o interactuar con la empresa.
Mediante las herramientas de implementación de Azure Sphere, Contoso envía cada actualización de software de aplicación al modelo de lavavajillas adecuado y el servicio de seguridad de Azure Sphere distribuye las actualizaciones de software a los dispositivos correctos. Únicamente las actualizaciones de software verificadas y firmadas se pueden instalar en los lavavajillas.
Azure Sphere and the seven properties of highly secured devices (Azure Sphere y las siete propiedades de dispositivos muy protegidos)
Un objetivo principal de la plataforma de Azure Sphere pretende proporcionar seguridad de alto valor a un bajo costo para que los dispositivos con tecnología de microcontroladores e interesados en los precios puedan conectarse de forma segura y confiable a Internet. A medida que los juguetes, electrodomésticos y otros dispositivos del consumidor conectados a la red se vuelven más comunes, la seguridad es de máxima importancia. No solo se debe proteger el hardware del dispositivo, sino también el software y las conexiones a la nube. Un error de seguridad en cualquier parte del entorno operativo plantea una amenaza para todo el producto y, potencialmente, cualquier cosa o persona cercanas.
Según las décadas de experiencia de Microsoft en seguridad de Internet, el equipo de Azure Sphere ha identificado siete propiedades de los dispositivos de alta seguridad. La plataforma de Azure Sphere está diseñada en torno a estas siete propiedades:
Fuente de confianza basada en el hardware. Una fuente de confianza basada en el hardware garantiza que el dispositivo y su identidad no se pueden separar; por lo tanto, se evitan la falsificación del dispositivo o la suplantación de identidad. Cada MCU de Azure Sphere se identifica mediante una clave criptográfica infalsificable que el hardware del subsistema de seguridad Pluton diseñado por Microsoft genera y protege. Esto garantiza una fuente de confianza protegida por el software y resistente a alteraciones desde la fábrica hasta el usuario final.
Defensa en profundidad. La defensa en profundidad proporciona varios niveles de seguridad y, por tanto, varias mitigaciones contra cada amenaza. Cada nivel de software en la plataforma de Azure Sphere comprueba que el nivel anterior esté protegido.
Pequeña base informática de confianza. La mayor parte del software del dispositivo permanece fuera de la base informática de confianza, lo que reduce el área expuesta a ataques. Únicamente el monitor de seguridad protegido, el runtime de Pluton y el subsistema de Pluton (todos proporcionados por Microsoft) se ejecutan en la base de computación de confianza.
Compartimientos dinámicos. Los compartimientos dinámicos limitan el alcance de cualquier único error. Los MCU de Azure Sphere contienen medidas defensivas de silicio, como firewalls de hardware, para evitar que una vulneración de seguridad en un componente se propague a otros componentes. Un entorno en tiempo de ejecución restringido y "aislado" impide que las aplicaciones dañen datos o código protegidos.
Autenticación sin contraseña. El uso de certificados firmados y validados con una clave criptográfica infalsificable, proporciona una autenticación mucho más segura que las contraseñas. La plataforma de Azure Sphere necesita que todos los elementos de software se firmen. Las comunicaciones de dispositivo a nube y de nube a dispositivo requieren una autenticación adicional, lo que se logra con los certificados.
Informe de errores. Los errores en el software o hardware del dispositivo son típicos en los ataques de seguridad emergentes; los errores que producen un error de dispositivo constituyen un ataque por denegación de servicio. La comunicación de dispositivo a nube proporciona una advertencia temprana de posibles errores. Los dispositivos de Azure Sphere pueden notificar automáticamente los datos operativos y los errores a un sistema de análisis basado en la nube, y las actualizaciones y el mantenimiento se pueden realizar de forma remota.
Seguridad renovable. El software del dispositivo se actualiza automáticamente para corregir vulnerabilidades conocidas o infracciones de seguridad, lo que no requiere ninguna intervención del fabricante del producto o del usuario final. El servicio de seguridad de Azure Sphere actualiza automáticamente las aplicaciones y el sistema operativo de Azure Sphere.
Arquitectura de Azure Sphere
Al funcionar en conjunto, el hardware, software y el servicio de seguridad de Azure Sphere permiten enfoques integrados exclusivos para el mantenimiento, el control y la seguridad de los dispositivos.
La arquitectura de hardware proporciona una base informática fundamentalmente segura para los dispositivos conectados, lo que le permite centrarse en su producto.
La arquitectura de software, con un kernel de SO personalizado seguro que se ejecuta en el Monitor de seguridad escrito por Microsoft, permite de forma similar concentrar sus esfuerzos de software en características específicas de los dispositivo y de IoT que aportan valor añadido.
El servicio de seguridad de Azure Sphere admite la autenticación, las actualizaciones de software y los informes de errores a través de canales protegidos de nube a dispositivo y de dispositivo a nube. El resultado es una infraestructura de comunicaciones segura que garantiza que los productos ejecutan el sistema operativo de Azure Sphere más actualizado. Para ver diagramas de arquitectura y ejemplos de arquitecturas en la nube, consulte Examinar arquitecturas de Azure.
Arquitectura de hardware
Un MCU cruzado de Azure Sphere consta de varios núcleos en una única matriz, como se muestra en la figura siguiente.
Arquitectura de hardware de MCU de Azure Sphere
Cada núcleo, y su subsistema asociado, está en un dominio de confianza diferente. La raíz de confianza se encuentra en el subsistema de seguridad de Pluton. Cada capa de la arquitectura supone que la capa superior puede estar en peligro. Dentro de cada capa, el aislamiento de recursos y los compartimientos dinámicos proporcionan seguridad adicional.
Subsistema de seguridad de Microsoft Pluton
El subsistema de seguridad de Pluton es la raíz de confianza segura basada en hardware (en chips) para Azure Sphere. Incluye un núcleo de procesador de seguridad, motores de cifrado, un generador de números aleatorios de hardware, generación de claves pública y privada, cifrado simétrico y asimétrico, soporte para la comprobación del algoritmo de firma digital de curva elíptica (ECDSA) para arranque seguro y arranque medido en chips para admitir la atestación remota con un servicio en la nube, así como diversas contramedidas antimanipulación, incluida una unidad de detección de entropía.
Como parte del proceso de arranque seguro, el subsistema Pluton arranca diversos componentes de software. También proporciona servicios en tiempo de ejecución, procesa las solicitudes de otros componentes del dispositivo y administra los componentes críticos para otras piezas del dispositivo.
Núcleo de una aplicación de alto nivel
El núcleo de una aplicación de alto nivel presenta un subsistema ARM Cortex-A que tiene una unidad de administración de memoria (MMU) completa. Permite la compartimentación basada en hardware de los procesos mediante la funcionalidad de zona de confianza y es responsable de ejecutar el sistema operativo, las aplicaciones de alto nivel y los servicios. Admite dos entornos operativos: Normal World (NW), que ejecuta código tanto en modo de usuario como en modo de supervisor, y en Secure World (SW), que ejecuta solo el Monitor de seguridad proporcionado por Microsoft. Las aplicaciones de alto nivel se ejecutan en el modo de usuario NW.
Núcleos en tiempo real
Los núcleos en tiempo real cuentan con un subsistema de E/S arm Cortex-M que puede ejecutar aplicaciones compatibles en tiempo real como código sin sistema operativo o un sistema operativo en tiempo real (RTOS). Estas aplicaciones pueden asignar periféricos y comunicarse con aplicaciones de alto nivel, pero no pueden acceder directamente a Internet.
Conectividad y comunicaciones
El primer MCU de Azure Sphere proporciona una radio Wi-Fi 802.11 g/b/n que funciona tanto a 2,4 GHz como a 5 GHz. Las aplicaciones de alto nivel pueden configurar, usar y consultar el subsistema de comunicaciones inalámbricas, pero no pueden programarlo directamente. Además de o en lugar de usar Wi-Fi, los dispositivos de Azure Sphere equipados correctamente pueden comunicarse en una red Ethernet.
Multiplexación de E/S
La plataforma Azure Sphere admite una variedad de funcionalidades de E/S, para poder configurar dispositivos insertados que se adapten a los requisitos de producto y de comercialización. Los periféricos de E/S pueden asignarse al núcleo de la aplicación de alto nivel o a un núcleo en tiempo real.
Firewalls de Microsoft
Los firewalls de hardware son contramedidas en chip que proporcionan protección de "espacio aislado" para asegurarse de que los periféricos de E/S sean accesibles solo desde el núcleo al que están asignados. Los firewalls imponen compartimentación, para evitar que una amenaza de seguridad ubicada en el núcleo de la aplicación de alto nivel afecte al acceso de los núcleos en tiempo real a sus dispositivos periféricos.
RAM y flash integradas
Los MCU de Azure Sphere incluyen un mínimo de 4 MB de RAM integrada y 16 MB de memoria flash integrada.
Sistema operativo y arquitectura de software
La plataforma de aplicaciones de alto nivel ejecuta el sistema operativo de Azure Sphere junto con una aplicación de alto nivel específica del dispositivo que puede comunicarse con Internet y con las aplicaciones con respuesta en tiempo real que se ejecutan en los núcleos en tiempo real. En la siguiente ilustración se muestran los elementos de esta plataforma.
Los elementos proporcionados por Microsoft se muestran en gris.
Plataforma de aplicaciones de alto nivel
Microsoft proporciona y mantiene todo el software que no sean las aplicaciones específicas del dispositivo. Todo el software que se ejecuta en el dispositivo, incluida la aplicación de alto nivel, está firmado por la entidad de certificación (CA) de Microsoft. Las actualizaciones de la aplicación se entregan a través de la canalización de Microsoft de confianza, y la compatibilidad de cada actualización se comprueba con el hardware del dispositivo Azure Sphere antes de la instalación.
Entorno de ejecución de la aplicación
En entorno de ejecución de la aplicación proporcionada por Microsoft se basa en un subconjunto del estándar POSIX. Consta de bibliotecas y servicios en tiempo de ejecución que se ejecutan en modo de usuario NW. Este entorno es compatible con las aplicaciones de alto creadas.
Las bibliotecas de aplicaciones admiten características de redes, almacenamiento y comunicaciones que necesitan las aplicaciones de alto nivel, pero no admiten la E/S de archivo genérico directo o el acceso mediante shell, entre otras restricciones. Estas restricciones aseguran que la plataforma siga estando protegida y que Microsoft pueda ofrecer actualizaciones de seguridad y mantenimiento. Además, las bibliotecas restringidas proporcionan una superficie de API estable a largo plazo para que se pueda actualizar el software del sistema para mejorar la seguridad, a la vez que se conserva la compatibilidad binaria con las aplicaciones.
Servicios del sistema operativo
Los servicios del SO hospedan el contenedor de aplicaciones de alto nivel y son responsables de comunicarse con el servicio de seguridad de Azure Sphere. Administran la autenticación de red y el firewall de red para todo el tráfico saliente. Durante el desarrollo, los servicios del sistema operativo también se comunican con un equipo conectado y la aplicación que se está depurando.
Kernel Linux personalizado
El kernel personalizado basado en Linux se ejecuta en modo de supervisor, junto con un cargador de arranque. El kernel está optimizado cuidadosamente para la superficie de memoria flash y RAM del MCU de Azure Sphere. Proporciona una superficie para una ejecución predominante de procesos del espacio de usuario en espacios independientes de direcciones virtuales. El modelo de controlador expone periféricos MCU a las aplicaciones y los servicios de SO. Los controladores de Azure Sphere incluyen Wi-Fi (que incluye una pila de red TCP/IP), UART, SPI, I2C y GPIO, entre otros.
Monitor de seguridad
El Monitor de seguridad proporcionado por Microsoft se ejecuta en SW. Es responsable de proteger el hardware de seguridad, como memoria, flash y otros recursos de MCU compartidos, y para exponer de forma segura un acceso limitado a estos recursos. El Monitor de seguridad intermedia y controla el acceso al subsistema de seguridad Pluton y a la raíz de hardware de confianza, y actúa como guardián para el entorno de NW. Inicia el cargador de arranque, expone los servicios de tiempo de ejecución a NW, y administra los firewalls de hardware y otros componentes de chips que no tienen acceso a NW.
Servicio de seguridad de Azure Sphere
El servicio de seguridad de Azure Sphere consta de tres componentes: autenticación sin contraseña, actualización e informes de errores.
Autenticación sin contraseña. El componente de autenticación proporciona atestación remota y autenticación sin contraseña. El servicio de atestación remota se conecta a través de un protocolo de desafío/respuesta que usa la característica de arranque medido en el subsistema Pluton. No simplemente comprueba que el dispositivo haya arrancado con el software correcto, sino también con la versión correcta de ese software.
Después de que la atestación se realiza correctamente, viene el servicio de autenticación. El servicio de autenticación se comunica a través de una conexión TLS protegida y emite un certificado que el dispositivo puede presentar a un servicio web, como Microsoft Azure o una nube privada de la compañía. El servicio web valida la cadena de certificados, comprobando así que el dispositivo sea original, que su software esté actualizado y que Microsoft sea su origen. Luego, el dispositivo puede conectarse de manera segura con el servicio en línea.
Actualización. El servicio de actualización distribuye las actualizaciones automáticas para el sistema operativo de Azure Sphere y para las aplicaciones. El servicio de actualización garantiza un funcionamiento continuado y permite la actualización y el mantenimiento remoto del software de la aplicación.
Informe de errores. El servicio de informes de errores proporciona informes de bloqueo sencillos para el software implementado. Para obtener datos enriquecidos, use las características de informes y análisis que se incluyen con una suscripción a Microsoft Azure.
Todos los datos almacenados con el servicio de seguridad de Azure Sphere se cifran en reposo de forma predeterminada. El servicio de seguridad almacena datos en Azure Storage, Azure Cosmos DB y Azure Key Vault mediante la implementación de cifrado de datos en reposo para cada servicio de este tipo.