O que é o Azure Sphere?
O Azure Sphere é uma plataforma de aplicações segura e de elevado nível com funcionalidades de comunicação e segurança integradas para dispositivos ligados à Internet. É composto por uma unidade de microcontrolador (MCU) de cruzamento segura e ligada, um sistema operativo (SO) baseado em Linux personalizado e um serviço de segurança com base na cloud que fornece segurança contínua e renovável.
O MCU do Azure Sphere integra capacidades de processamento em tempo real com a capacidade de executar um sistema operativo de alto nível. Um MCU do Azure Sphere, juntamente com o respetivo sistema operativo e a plataforma de aplicação, permite a criação de dispositivos seguros e ligados à Internet que podem ser atualizados, controlados, monitorizados e mantidos remotamente. Um dispositivo conectado que inclui uma MCU do Azure Sphere, ao lado ou no lugar de uma MCUs existente, oferece segurança, produtividade e oportunidade aprimoradas. Por exemplo:
- Um ambiente de aplicativo seguro, conexões autenticadas e uso opt-in de periféricos minimiza os riscos de segurança devido a falsificação, software não autorizado ou ataques de negação de serviço, entre outros.
- As atualizações de software podem ser implantadas automaticamente da nuvem em qualquer dispositivo conectado para corrigir problemas, fornecer novas funcionalidades ou combater métodos emergentes de ataque, aumentando assim a produtividade do pessoal de suporte.
- Os dados de uso do produto podem ser relatados para a nuvem por meio de uma conexão segura para ajudar no diagnóstico de problemas e no design de novos produtos, aumentando assim a oportunidade de atendimento ao produto, interações positivas com o cliente e desenvolvimento futuro.
O Serviço de Segurança do Azure Sphere é um aspeto integral do Azure Sphere. Usando esse serviço, as MCUs do Azure Sphere se conectam com segurança à nuvem e à Web. O serviço garante que o dispositivo inicialize apenas com uma versão autorizada de software genuíno e aprovado. Além disso, fornece um canal seguro através do qual a Microsoft pode transferir e instalar automaticamente atualizações do SO para dispositivos implementados no terreno para mitigar problemas de segurança. Não é necessária a intervenção do fabricante nem do utilizador final, colmatando assim uma falha de segurança comum.
Nota
Azure Sphere refere-se à interface baseada em PAPI como Azure Sphere (Legado) e à interface integrada do Azure Resource Manager como Azure Sphere (Integrado).
Cenário do Azure Sphere
Para entender como o Azure Sphere funciona em uma configuração do mundo real, considere este cenário.
A Contoso, Ltd. é um fabricante de produtos de linha branca que incorpora uma MCU do Azure Sphere em suas máquinas de lavar louça. A máquina de lavar louça DW100 combina o MCU com vários sensores e um aplicativo de alto nível integrado que é executado no Azure Sphere MCU. O aplicativo se comunica com o Serviço de Segurança do Azure Sphere e com os serviços de nuvem da Contoso. O diagrama a seguir ilustra esse cenário:
Máquinas de lavar louça conectadas à rede da Contoso
Começando pelo canto superior esquerdo e movendo-se no sentido horário:
a Microsoft lança atualizações para o SO do Azure Sphere através do Serviço de Segurança do Azure Sphere.
A engenharia de produto da Contoso lança atualizações para seu aplicativo DW100 por meio do Serviço de Segurança do Azure Sphere.
O Serviço de Segurança do Azure Sphere implanta com segurança o sistema operacional atualizado e o software do aplicativo Contoso DW100 nas máquinas de lavar louça nos locais do usuário final.
O suporte da máquina de lavar louça da Contoso se comunica com o Serviço de Segurança do Azure Sphere para determinar qual versão do software Azure Sphere e do software do aplicativo DW100 deve ser executada em cada dispositivo do usuário final e para coletar quaisquer dados de relatório de erros que tenham sido relatados ao serviço. O suporte à máquina de lavar louça da Contoso também se comunica com o serviço de nuvem da Contoso para obter informações adicionais.
Os serviços de nuvem da Contoso oferecem suporte a aplicativos para solução de problemas, análise de dados e interação com o cliente. Os serviços de nuvem da Contoso podem ser hospedados pelo Microsoft Azure, pelo serviço de nuvem de outro fornecedor ou pela própria nuvem da Contoso.
Os modelos DW100 da Contoso em locais de usuários finais baixam o sistema operacional e o software de aplicativo atualizados em sua conexão com o Serviço de Segurança do Azure Sphere. Eles também podem se comunicar com o aplicativo de serviço de nuvem da Contoso para relatar dados adicionais.
Por exemplo, sensores na máquina de lavar louça podem monitorar a temperatura da água, a temperatura de secagem e o nível do agente de lavagem e carregar esses dados para os serviços de nuvem da Contoso, onde um aplicativo de serviço de nuvem os analisa em busca de possíveis problemas. Se a temperatura de secagem parecer excepcionalmente quente ou fria, o que pode indicar uma peça com defeito, a Contoso executa diagnósticos remotamente e notifica o cliente de que os reparos são necessários. Se a máquina de lavar louça estiver dentro da garantia, a aplicação de serviço na nuvem também pode garantir que a oficina de reparação local do cliente tem a peça de substituição, reduzindo assim as visitas de manutenção e os requisitos de inventário. Da mesma forma, se o agente de enxaguamento for baixo, a máquina de lavar louça pode sinalizar ao cliente para comprar mais agente de enxaguamento diretamente do fabricante.
Todas as comunicações ocorrem através de ligações seguras e autenticadas. A equipe de suporte e engenharia da Contoso pode visualizar dados usando o Serviço de Segurança do Azure Sphere, os recursos do Microsoft Azure ou um aplicativo de serviço de nuvem específico da Contoso. A Contoso também pode fornecer aplicativos móveis e da Web voltados para o cliente, com os quais os proprietários de lava-louças podem solicitar serviço, monitorar o uso de recursos de lava-louças ou interagir com a empresa de outra forma.
Usando as ferramentas de implantação do Azure Sphere, a Contoso direciona cada atualização de software de aplicativo para o modelo de lava-louças apropriado e o Serviço de Segurança do Azure Sphere distribui as atualizações de software para os dispositivos corretos. Apenas atualizações de software assinadas e verificadas podem ser instaladas nas máquinas de lavar louça.
Azure Sphere e as sete propriedades de dispositivos altamente seguros
Um dos principais objetivos da plataforma Azure Sphere é fornecer segurança de alto valor a um baixo custo, para que dispositivos sensíveis a preços e alimentados por microcontroladores possam se conectar à Internet de forma segura e confiável. À medida que brinquedos, eletrodomésticos e outros dispositivos de consumo conectados à rede se tornam comuns, a segurança é de extrema importância. Não só o hardware do dispositivo em si deve ser protegido, o seu software e as suas ligações à nuvem também devem ser protegidos. Um lapso de segurança em qualquer lugar do ambiente operacional ameaça todo o produto e, potencialmente, qualquer coisa ou qualquer pessoa próxima.
Com base nas décadas de experiência da Microsoft com segurança na Internet, a equipe do Azure Sphere identificou sete propriedades de dispositivos altamente seguros. A plataforma Azure Sphere foi projetada em torno destas sete propriedades:
Raiz de confiança baseada em hardware. Uma raiz de confiança baseada em hardware garante que o dispositivo e sua identidade não possam ser separados, evitando assim a falsificação ou falsificação do dispositivo. Cada MCU do Azure Sphere é identificado por uma chave criptográfica não falsificável que é gerada e protegida pelo hardware do subsistema de segurança Pluton projetado pela Microsoft. Isso garante uma raiz de confiança de hardware segura e resistente a adulterações desde a fábrica até o usuário final.
Defesa em profundidade. A defesa em profundidade fornece várias camadas de segurança e, portanto, várias mitigações contra cada ameaça. Cada camada de software na plataforma Azure Sphere verifica se a camada acima dela está protegida.
Pequena base de computação confiável. A maioria do software do dispositivo permanece fora da base de computação confiável, reduzindo assim a área de superfície para ataques. Apenas o Security Monitor seguro, o tempo de execução do Pluton e o subsistema Pluton — todos fornecidos pela Microsoft — são executados na base de computação confiável.
Compartimentos dinâmicos. Os compartimentos dinâmicos limitam o alcance de qualquer erro. As MCUs do Azure Sphere contêm contramedidas de silício, incluindo firewalls de hardware, para impedir que uma violação de segurança em um componente se propague para outros componentes. Um ambiente de tempo de execução restrito e "em área restrita" impede que os aplicativos corrompam código ou dados protegidos.
Autenticação sem senha. O uso de certificados assinados, validados por uma chave criptográfica não falsificável, fornece uma autenticação muito mais forte do que as senhas. A plataforma Azure Sphere requer que todos os elementos de software sejam assinados. As comunicações dispositivo-nuvem e nuvem-a-dispositivo requerem autenticação adicional, o que é conseguido com certificados.
Relatório de erros. Os erros no software ou hardware do dispositivo são típicos em ataques de segurança emergentes; Os erros que resultam em falha do dispositivo constituem um ataque de negação de serviço. A comunicação dispositivo-nuvem fornece aviso antecipado de possíveis erros. Os dispositivos Azure Sphere podem relatar automaticamente dados operacionais e erros para um sistema de análise baseado em nuvem, e as atualizações e a manutenção podem ser executadas remotamente.
Segurança renovável. O software do dispositivo é atualizado automaticamente para corrigir vulnerabilidades ou violações de segurança conhecidas, não exigindo nenhuma intervenção do fabricante do produto ou do usuário final. O Serviço de Segurança do Azure Sphere atualiza o sistema operacional Azure Sphere e seus aplicativos automaticamente.
Arquitetura do Azure Sphere
Trabalhando em conjunto, o hardware, o software e o Serviço de Segurança do Azure Sphere permitem abordagens exclusivas e integradas para manutenção, controlo e segurança de dispositivos.
A arquitetura de hardware fornece uma base de computação fundamentalmente segura para dispositivos conectados, permitindo que você se concentre em seu produto.
A arquitetura de software, com um kernel de sistema operacional personalizado seguro executado sobre o Monitor de Segurança escrito pela Microsoft, também permite que você concentre seus esforços de software em IoT de valor agregado e recursos específicos do dispositivo.
O Serviço de Segurança do Azure Sphere dá suporte à autenticação, atualizações de software e relatórios de erros em canais seguros de nuvem para dispositivo e de dispositivo para nuvem. O resultado é uma infraestrutura de comunicações segura que garante que os seus produtos têm o SO mais recente do Azure Sphere. Para obter diagramas de arquitetura e exemplos de arquiteturas de nuvem, consulte Procurar arquiteturas do Azure.
Arquitetura de hardware
Um MCU cruzado do Azure Sphere consiste em vários núcleos em um único die, como mostra a figura a seguir.
Arquitetura de hardware do Azure Sphere MCU
Cada núcleo, e seu subsistema associado, está em um domínio de confiança diferente. A raiz da confiança reside no subsistema de segurança Pluton. Cada camada da arquitetura assume que a camada acima dela pode estar comprometida. Dentro de cada camada, o isolamento de recursos e os compartimentos dinâmicos fornecem segurança adicional.
Subsistema de segurança Microsoft Pluton
O subsistema de segurança Pluton é a raiz de confiança segura baseada em hardware (em silício) para o Azure Sphere. Ele inclui um núcleo de processador de segurança, mecanismos criptográficos, um gerador de números aleatórios de hardware, geração de chave pública/privada, criptografia assimétrica e simétrica, suporte para verificação de algoritmo de assinatura digital de curva elíptica (ECDSA) para inicialização segura e inicialização medida em silício para suportar atestado remoto com um serviço de nuvem, bem como várias contramedidas de adulteração, incluindo uma unidade de deteção de entropia.
Como parte do processo de inicialização segura, o subsistema Pluton inicializa vários componentes de software. Ele também fornece serviços de tempo de execução, processa solicitações de outros componentes do dispositivo e gerencia componentes críticos para outras partes do dispositivo.
Núcleo de aplicativo de alto nível
O núcleo do aplicativo de alto nível apresenta um subsistema ARM Cortex-A que possui uma unidade de gerenciamento de memória completa (MMU). Ele permite a compartimentação de processos baseada em hardware usando a funcionalidade de zona de confiança e é responsável pela execução do sistema operacional, aplicativos de alto nível e serviços. Ele suporta dois ambientes operacionais: Normal World (NW), que executa código no modo de usuário e supervisor, e Secure World (SW), que executa apenas o Monitor de Segurança fornecido pela Microsoft. Seus aplicativos de alto nível são executados no modo de usuário NW.
Núcleos em tempo real
Os núcleos em tempo real apresentam um subsistema de E/S ARM Cortex-M que pode executar aplicações capazes de executar aplicações capazes em tempo real como código bare-metal ou um sistema operativo em tempo real (RTOS). Tais aplicativos podem mapear periféricos e se comunicar com aplicativos de alto nível, mas não podem acessar a internet diretamente.
Conectividade e comunicações
O primeiro Azure Sphere MCU fornece um rádio Wi-Fi 802.11 b/g/n que opera a 2,4 GHz e 5 GHz. Os aplicativos de alto nível podem configurar, usar e consultar o subsistema de comunicações sem fio, mas não podem programá-lo diretamente. Além ou em vez de usar Wi-Fi, os dispositivos do Azure Sphere que estão devidamente equipados podem se comunicar em uma rede Ethernet.
E/S multiplexada
A plataforma Azure Sphere dá suporte a uma variedade de recursos de E/S, para que você possa configurar dispositivos incorporados para atender às suas necessidades de mercado e produto. Os periféricos de E/S podem ser mapeados para o núcleo do aplicativo de alto nível ou para um núcleo em tempo real.
Firewalls da Microsoft
Os firewalls de hardware são contramedidas de silício que fornecem proteção "sandbox" para garantir que os periféricos de E/S sejam acessíveis apenas ao núcleo para o qual são mapeados. Os firewalls impõem compartimentação, evitando assim que uma ameaça à segurança localizada no núcleo do aplicativo de alto nível afete o acesso dos núcleos em tempo real aos seus periféricos.
RAM e flash integrados
As MCUs do Azure Sphere incluem um mínimo de 4 MB de RAM integrada e 16 MB de memória flash integrada.
Arquitetura de software e SO
A plataforma de aplicativos de alto nível executa o sistema operacional Azure Sphere junto com um aplicativo de alto nível específico do dispositivo que pode se comunicar com a Internet e com aplicativos capazes de executar em tempo real nos núcleos em tempo real. A figura a seguir mostra os elementos dessa plataforma.
Os elementos fornecidos pela Microsoft são mostrados em cinza.
Plataforma de aplicativos de alto nível
A Microsoft fornece e mantém todo o software que não seja o aplicativo específico do dispositivo. Todo o software executado no dispositivo, incluindo o aplicativo de alto nível, é assinado pela autoridade de certificação (CA) da Microsoft. As atualizações de aplicativos são entregues por meio do pipeline confiável da Microsoft e a compatibilidade de cada atualização com o hardware do dispositivo Azure Sphere é verificada antes da instalação.
Tempo de execução do aplicativo
O tempo de execução do aplicativo fornecido pela Microsoft é baseado em um subconjunto do padrão POSIX. Ele consiste em bibliotecas e serviços de tempo de execução que são executados no modo de usuário NW. Esse ambiente suporta os aplicativos de alto nível que você cria.
As bibliotecas de aplicativos oferecem suporte a recursos de rede, armazenamento e comunicação que são exigidos por aplicativos de alto nível, mas não suportam E/S de arquivos genéricos diretos ou acesso a shell, entre outras restrições. Essas restrições garantem que a plataforma permaneça segura e que a Microsoft possa fornecer atualizações de segurança e manutenção. Além disso, as bibliotecas restritas fornecem uma superfície API estável a longo prazo para que o software do sistema possa ser atualizado para melhorar a segurança, mantendo a compatibilidade binária para aplicativos.
Serviços de SO
Os serviços do sistema operacional hospedam o contêiner de aplicativo de alto nível e são responsáveis pela comunicação com o Serviço de Segurança do Azure Sphere. Eles gerenciam a autenticação de rede e o firewall de rede para todo o tráfego de saída. Durante o desenvolvimento, os serviços do sistema operacional também se comunicam com um PC conectado e o aplicativo que está sendo depurado.
Kernel Linux personalizado
O kernel personalizado baseado em Linux é executado no modo supervisor, juntamente com um carregador de inicialização. O kernel é cuidadosamente ajustado para a pegada de flash e RAM do Azure Sphere MCU. Ele fornece uma superfície para a execução antecipada de processos de espaço do usuário em espaços de endereço virtual separados. O modelo de driver expõe periféricos MCU a serviços e aplicativos do sistema operacional. Os drivers do Azure Sphere incluem Wi-Fi (que inclui uma pilha de rede TCP/IP), UART, SPI, I2C e GPIO, entre outros.
Monitor de Segurança
O Monitor de Segurança fornecido pela Microsoft é executado em SW. Ele é responsável por proteger hardware sensível à segurança, como memória, flash e outros recursos compartilhados do MCU, e por expor com segurança o acesso limitado a esses recursos. O Monitor de Segurança intermedeia e porta o acesso ao Subsistema de Segurança Pluton e à raiz de confiança do hardware e atua como um cão de guarda para o ambiente NW. Ele inicia o carregador de inicialização, expõe serviços de tempo de execução para NW e gerencia firewalls de hardware e outros componentes de silício que não são acessíveis para NW.
Serviço de Segurança do Azure Sphere
O Serviço de Segurança do Azure Sphere compreende três componentes: autenticação sem senha, atualização e relatório de erros.
Autenticação sem senha. O componente de autenticação fornece atestado remoto e autenticação sem senha. O serviço de atestado remoto se conecta por meio de um protocolo desafio-resposta que usa o recurso de inicialização medida no subsistema Pluton. Ele verifica não apenas se o dispositivo inicializou com o software correto, mas com a versão correta desse software.
Depois que o atestado é bem-sucedido, o serviço de autenticação assume o controle. O serviço de autenticação comunica através de uma ligação TLS segura e emite um certificado que o dispositivo pode apresentar a um serviço Web, como o Microsoft Azure ou a nuvem privada de uma empresa. O serviço Web valida a cadeia de certificados, verificando assim se o dispositivo é genuíno, se o seu software está atualizado e se a Microsoft é a sua fonte. O dispositivo pode então ligar-se de forma segura com o serviço online.
Atualizar. O serviço de atualização distribui atualizações automáticas para o sistema operacional Azure Sphere e para aplicativos. O serviço de atualização garante a continuidade da operação e permite a manutenção remota e a atualização do software do aplicativo.
Relatório de erros. O serviço de relatório de erros fornece relatórios de falhas simples para software implantado. Para obter dados mais avançados, use os recursos de relatório e análise incluídos em uma assinatura do Microsoft Azure.
Todos os dados armazenados com o Serviço de Segurança do Azure Sphere são criptografados em repouso por padrão. O Serviço de Segurança armazena dados no Armazenamento do Azure, no Azure Cosmos DB e no Azure Key Vault, usando a implementação de criptografia de dados em repouso para cada serviço.