O que é o Azure Sphere?

O Azure Sphere é uma plataforma de aplicações segura e de alto nível com funcionalidades de comunicação e segurança incorporadas para dispositivos ligados à Internet. É composta por uma unidade de microcontrolador (MCU) protegida, ligada e cruzada, um sistema operativo baseado em Linux (SO) personalizado e um serviço de segurança baseado 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 seu sistema operativo e plataforma de aplicações, permite a criação de dispositivos seguros e ligados à Internet que podem ser atualizados, controlados, monitorizados e mantidos remotamente. Um dispositivo ligado que inclui um MCU do Azure Sphere, juntamente ou em vez de um MCU existente, proporciona uma maior segurança, produtividade e oportunidade. Por exemplo:

  • Um ambiente de aplicação seguro, ligações autenticadas e a utilização opt-in de periféricos minimizam os riscos de segurança devido a spoofing, software não autorizado ou ataques denial-of-service, entre outros.
  • As atualizações de software podem ser implementadas automaticamente a partir da cloud em qualquer dispositivo ligado para corrigir problemas, fornecer novas funcionalidades ou contrariar métodos de ataque emergentes, melhorando assim a produtividade do pessoal de suporte.
  • Os dados de utilização do produto podem ser comunicados à cloud através de uma ligação segura para ajudar no diagnóstico de problemas e na conceção de novos produtos, aumentando assim a oportunidade para o serviço do produto, interações positivas com os clientes e desenvolvimento futuro.

O Serviço de Segurança do Azure Sphere é um aspeto integral do Azure Sphere. Com este serviço, os MCUs do Azure Sphere ligam-se de forma segura e segura à cloud e à Web. O serviço garante que o dispositivo arranca 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 campo para mitigar problemas de segurança. Não é necessária intervenção do fabricante nem do utilizador final, fechando assim um buraco de segurança comum.

Nota

O Azure Sphere refere-se à interface baseada em PAPI como Azure Sphere (Legado) e à interface integrada de pré-visualização pública do Azure Resource Manager como Azure Sphere (Integrado).

Durante a Pré-visualização Pública, é recomendado utilizar o Azure Sphere (Integrado) apenas para fins de desenvolvimento e teste. Como melhor prática, os casos de utilização de produção não devem utilizar um produto de Pré-visualização. Por conseguinte, para casos de utilização de produção, recomendamos que continue a utilizar a interface do Serviço de Segurança do Azure Sphere existente, agora conhecida como Azure Sphere (Legado), que continua a ser totalmente suportada e geralmente disponível.

Cenário do Azure Sphere

Para compreender como o Azure Sphere funciona num cenário real, considere este cenário.

A Contoso, Ltd., é um fabricante de produtos de bens brancos que incorpora uma MCU do Azure Sphere nas máquinas de lavar louça. A máquina de lavar louça DW100 aloja a MCU com vários sensores e uma aplicação de alto nível integrada que é executada na MCU do Azure Sphere. A aplicação comunica com o Serviço de Segurança do Azure Sphere e com os serviços cloud da Contoso. O diagrama seguinte ilustra este cenário:

Liga-se a máquinas de lavar louça ligadas à rede do IoT, Serviço de Segurança e catálogo de cloud do fabricanteda Contoso

A partir da parte superior esquerda e movendo-se no sentido dos ponteiros do relógio:

  • A Microsoft disponibiliza atualizações para o SO do Azure Sphere através do Serviço de Segurança do Azure Sphere.

  • A engenharia de produtos da Contoso lança atualizações para a respetiva aplicação DW100 através do Serviço de Segurança do Azure Sphere.

  • O Serviço de Segurança do Azure Sphere implementa em segurança o SO atualizado e o software de aplicação Contoso DW100 nas máquinas de lavar louça em localizações do utilizador final.

  • O suporte para máquinas de lavar louça da Contoso comunica com o Serviço de Segurança do Azure Sphere para determinar que versão do software do Azure Sphere e o software de aplicação DW100 devem ser executados em cada dispositivo de utilizador final e para recolher quaisquer dados de relatório de erros comunicados ao serviço. O suporte para máquinas de lavar louça contoso também comunica com o serviço cloud da Contoso para obter informações adicionais.

  • Os serviços cloud da Contoso suportam aplicações para resolução de problemas, análise de dados e interação do cliente. Os serviços cloud da Contoso podem ser alojados pelo Microsoft Azure, pelo serviço cloud de outro fornecedor ou pela própria cloud da Contoso.

  • Os modelos da Contoso DW100 em localizações de utilizador final transferem o SO atualizado e o software de aplicação através da respetiva ligação ao Serviço de Segurança do Azure Sphere. Também podem comunicar com a aplicação de serviço cloud da Contoso para comunicar dados adicionais.

Por exemplo, os sensores na máquina de lavar louça podem monitorizar a temperatura da água, a temperatura de secagem e o nível do agente de lavagem e carregar estes dados para os serviços cloud da Contoso, onde uma aplicação de serviço cloud o analisa para potenciais problemas. Se a temperatura de secagem parecer invulgarmente quente ou esporádica , o que pode indicar uma parte com falhas, a Contoso executa os diagnósticos remotamente e notifica o cliente de que são necessárias reparações. Se a máquina de lavar louça estiver sob garantia, a aplicação de serviço cloud também poderá garantir que a loja 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 lavagem for baixo, a máquina de lavar louça poderá indicar ao cliente para comprar mais agente de lavagem diretamente ao fabricante.

Todas as comunicações ocorrem através de ligações seguras e autenticadas. O suporte e o pessoal de engenharia da Contoso podem visualizar dados com o Serviço de Segurança do Azure Sphere, as funcionalidades do Microsoft Azure ou uma aplicação de serviço cloud específica da Contoso. A Contoso também pode fornecer aplicações Web e móveis destinadas ao cliente, com as quais os proprietários da máquina de lavar louça podem pedir serviço, monitorizar a utilização de recursos da máquina de lavar louça ou interagir com a empresa de outra forma.

Com as ferramentas de implementação do Azure Sphere, a Contoso destina-se a cada atualização de software de aplicação para o modelo de máquina de lavar louça adequado e o Serviço de Segurança do Azure Sphere distribui as atualizações de software para os dispositivos corretos. Apenas as 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 protegidos

Um dos principais objetivos da plataforma do Azure Sphere é fornecer segurança de alto valor a um custo baixo, para que os dispositivos sensíveis a preços e movidos a microcontroladores possam ligar-se de forma segura e fiável à Internet. À medida que os brinquedos, aparelhos e outros dispositivos de consumo ligados à rede se tornam comuns, a segurança é da maior importância. Não só o próprio hardware do dispositivo tem de ser protegido, como o software e as respetivas ligações à cloud também têm de ser protegidos. Um lapso de segurança em qualquer parte do ambiente operativo ameaça todo o produto e, potencialmente, qualquer coisa ou qualquer pessoa nas proximidades.

Com base nas décadas de experiência da Microsoft com segurança na Internet, a equipa do Azure Sphere identificou sete propriedades de dispositivos altamente seguros. A plataforma do Azure Sphere foi concebida em torno destas sete propriedades:

Raiz de fidedignidade baseada em hardware. Uma raiz de fidedignidade baseada em hardware garante que o dispositivo e a respetiva identidade não podem ser separados, impedindo assim a falsificação ou spoofing de dispositivos. Cada MCU do Azure Sphere é identificado por uma chave criptográfica imperdoável que é gerada e protegida pelo hardware do subsistema de segurança Pluton concebido pela Microsoft. Isto garante uma raiz de fidedignidade de hardware protegida e resistente a adulterações de fábrica para utilizador 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 do Azure Sphere verifica se a camada acima está protegida.

Pequena base de computação fidedigna. A maioria do software do dispositivo permanece fora da base de computação fidedigna, reduzindo assim a área de superfície para ataques. Apenas o Monitor de Segurança seguro, o runtime de Plutão e o subsistema Pluton (todos fornecidos pela Microsoft) são executados na base de computação fidedigna.

Compartimentos dinâmicos. Os compartimentos dinâmicos limitam o alcance de qualquer erro individual. Os MCUs do Azure Sphere contêm contramedidas de silício, incluindo firewalls de hardware, para evitar que uma falha de segurança num componente se propague para outros componentes. Um ambiente de runtime "em sandbox" restrito impede que as aplicações corrompam código ou dados protegidos.

Autenticação sem palavra-passe. A utilização de certificados assinados, validados por uma chave criptográfica imperdoável, proporciona uma autenticação muito mais forte do que as palavras-passe. A plataforma do Azure Sphere requer a assinatura de todos os elementos de software. As comunicações do dispositivo para a cloud e da cloud para o dispositivo requerem uma autenticação adicional, que é obtida 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 na falha do dispositivo constituem um ataque denial-of-service. A comunicação dispositivo a cloud fornece um aviso antecipado sobre possíveis erros. Os dispositivos do Azure Sphere podem comunicar automaticamente dados operacionais e erros a um sistema de análise baseado na cloud e as atualizações e manutenção podem ser executadas remotamente.

Segurança renovável. O software do dispositivo é atualizado automaticamente para corrigir vulnerabilidades conhecidas ou falhas de segurança, não exigindo qualquer intervenção do fabricante do produto ou do utilizador final. O Serviço de Segurança do Azure Sphere atualiza automaticamente o SO do Azure Sphere e as suas aplicações.

Arquitetura do Azure Sphere

Trabalhando em conjunto, o hardware, software e Serviço de Segurança do Azure Sphere permitem abordagens exclusivas e integradas à manutenção, controlo e segurança do dispositivo.

A arquitetura de hardware fornece uma base de computação fundamentalmente protegida para dispositivos ligados, permitindo-lhe concentrar-se no seu produto.

A arquitetura de software, com um kernel de SO personalizado seguro em execução no topo do Monitor de Segurança escrito pela Microsoft, também lhe permite concentrar os seus esforços de software em funcionalidades específicas do dispositivo e IoT de valor acrescentado.

O Serviço de Segurança do Azure Sphere suporta a autenticação, atualizações de software e relatórios de erros através de canais protegidos da cloud para o dispositivo e do dispositivo para a cloud. O resultado é uma infraestrutura de comunicações segura que garante que os seus produtos estão a executar o SO do Azure Sphere mais atualizado. Para obter diagramas de arquitetura e exemplos de arquiteturas na cloud, veja Procurar Arquiteturas do Azure.

Arquitetura de hardware

Um MCU de cruzamento do Azure Sphere consiste em múltiplos núcleos num único dado, como mostra a figura seguinte.

Arquitetura de hardware arquitetura do MCU do Azure Sphere

Cada núcleo e o subsistema associado estão num domínio de confiança diferente. A raiz da confiança reside no subsistema de segurança plutónio. Cada camada da arquitetura pressupõe que a camada acima pode estar comprometida. Em cada camada, o isolamento de recursos e os compartimentos dinâmicos fornecem segurança adicional.

Subsistema de segurança do Microsoft Pluton

O subsistema de segurança plutónio é a raiz de confiança protegida por hardware (em silício) para o Azure Sphere. Inclui um núcleo de processador de segurança, motores criptográficos, um gerador de números aleatórios de hardware, geração de chaves públicas/privadas, encriptação assimétrica e simétrica, suporte para verificação de algoritmo de assinatura digital de curva elíptica (ECDSA) para arranque seguro e arranque medido em silicone para suportar atestado remoto com um serviço cloud, bem como várias medidas de adulteração, incluindo uma unidade de deteção de entropia.

Como parte do processo de arranque seguro, o subsistema Plutão arranca vários componentes de software. Também fornece serviços de runtime, processa pedidos de outros componentes do dispositivo e gere componentes críticos para outras partes do dispositivo.

Núcleo de aplicação de alto nível

O núcleo de aplicação de alto nível apresenta um subsistema Cortex-A do ARM que tem uma unidade de gestão de memória completa (MMU). Permite a compartimentação baseada em hardware dos processos através da funcionalidade de zona de fidedignidade e é responsável pela execução do sistema operativo, aplicações de alto nível e serviços. Suporta dois ambientes operativos: Normal World (NW), que executa código no modo de utilizador e no modo de supervisor, e Secure World (SW), que executa apenas o Monitor de Segurança fornecido pela Microsoft. As aplicações de alto nível são executadas no modo de utilizador NW.

Núcleos em tempo real

Os núcleos em tempo real incluem um subsistema de E/S cortex-M do ARM que pode executar aplicações com capacidade em tempo real como código bare-metal ou um sistema operativo em tempo real (RTOS). Estas aplicações podem mapear periféricos e comunicar com aplicações de alto nível, mas não podem aceder diretamente à Internet.

Conectividade e comunicações

O primeiro MCU do Azure Sphere fornece um rádio de 802,11 b/g/n Wi-Fi que funciona a 2,4 GHz e 5 GHz. As aplicações de alto nível podem configurar, utilizar e consultar o subsistema de comunicações sem fios, mas não podem programá-lo diretamente. Além de ou em vez de utilizar Wi-Fi, os dispositivos do Azure Sphere devidamente equipados podem comunicar numa rede Ethernet.

E/S multiplexada

A plataforma do Azure Sphere suporta uma variedade de capacidades de E/S, para que possa configurar dispositivos incorporados de acordo com os seus requisitos de mercado e produtos. Os periféricos de E/S podem ser mapeados para o núcleo de aplicação de alto nível ou para um núcleo em tempo real.

Firewalls da Microsoft

As firewalls de hardware são contramedidas de silício que fornecem proteção "sandbox" para garantir que os periféricos de E/S estão acessíveis apenas ao núcleo para o qual estão mapeados. As firewalls impõem a compartimentação, impedindo assim que uma ameaça de segurança localizada no núcleo de aplicação de alto nível afete o acesso dos núcleos em tempo real aos periféricos.

RAM e flash integrados

Os 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 aplicações de alto nível executa o SO do Azure Sphere juntamente com uma aplicação de alto nível específica do dispositivo que pode comunicar com a Internet e com aplicações com capacidade em tempo real que são executadas nos núcleos em tempo real. A figura seguinte mostra os elementos desta plataforma.

Os elementos fornecidos pela Microsoft são apresentados a cinzento.

Plataforma de Aplicações de Alto Nível da Plataforma de Aplicações

A Microsoft fornece e mantém todo o software que não as aplicações específicas do dispositivo. Todo o software que é executado no dispositivo, incluindo a aplicação de alto nível, é assinado pela autoridade de certificação (AC) da Microsoft. As atualizações de aplicações são fornecidas através do pipeline fidedigno da Microsoft e a compatibilidade de cada atualização com o hardware do dispositivo do Azure Sphere é verificada antes da instalação.

Runtime da aplicação

O runtime de aplicações fornecido pela Microsoft baseia-se num subconjunto da norma POSIX. Consiste em bibliotecas e serviços de runtime que são executados no modo de utilizador NW. Este ambiente suporta as aplicações de alto nível que cria.

As bibliotecas de aplicações suportam funcionalidades de rede, armazenamento e comunicações que são necessárias por aplicações de alto nível, mas não suportam acesso direto genérico de E/S ou shell, entre outras restrições. Estas restrições garantem que a plataforma permanece protegida e que a Microsoft pode fornecer atualizações de segurança e manutenção. Além disso, as bibliotecas restritas fornecem uma superfície de API estável a longo prazo para que o software de sistema possa ser atualizado para melhorar a segurança, mantendo simultaneamente a compatibilidade binária para aplicações.

Serviços de SO

Os serviços de SO alojam o contentor de aplicações de alto nível e são responsáveis pela comunicação com o Serviço de Segurança do Azure Sphere. Gerem a autenticação de rede e a firewall de rede para todo o tráfego de saída. Durante o desenvolvimento, os serviços de SO também comunicam com um PC ligado e com a aplicação que está a ser depurada.

Kernel do Linux personalizado

O kernel personalizado baseado em Linux é executado no modo de supervisor, juntamente com um carregador de arranque. O kernel é cuidadosamente ajustado para a quantidade de flash e RAM da MCU do Azure Sphere. Fornece uma superfície para a execução preventível de processos de espaço de utilizador em espaços de endereços virtuais separados. O modelo de controlador expõe periféricos MCU a serviços e aplicações do SO. Os controladores 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 na SW. É responsável por proteger hardware sensível à segurança, como memória, flash e outros recursos mcU partilhados e por expor com segurança o acesso limitado a estes recursos. Os mediadores e portas do Monitor de Segurança acedem ao Subsistema de Segurança pluton e à raiz de hardware de confiança e atuam como um cão de guarda para o ambiente NW. Inicia o carregador de arranque, expõe os serviços de runtime à NW e gere firewalls de hardware e outros componentes de silicone que não estão acessíveis à NW.

Serviço de Segurança do Azure Sphere

O Serviço de Segurança do Azure Sphere é composto por três componentes: autenticação sem palavra-passe, atualização e relatório de erros.

  • Autenticação sem palavra-passe. O componente de autenticação fornece atestado remoto e autenticação sem palavra-passe. O serviço de atestado remoto liga-se através de um protocolo de resposta a desafios que utiliza a funcionalidade de arranque medido no subsistema plutónio. Verifica não apenas se o dispositivo arrancou com o software correto, mas com a versão correta desse software.

    Após o atestado ser bem-sucedido, o serviço de autenticação assume o comando. 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 que o dispositivo é genuíno, que o software está atualizado e que a Microsoft é a sua origem. Em seguida, o dispositivo pode ligar-se de forma segura e segura ao serviço online.

  • Atualizar. O serviço de atualização distribui atualizações automáticas para o SO do Azure Sphere e para aplicações. O serviço de atualização garante a continuação da operação e ativa a manutenção remota e a atualização do software de aplicação.

  • Relatório de erros. O serviço de relatório de erros fornece relatórios de falhas simples para software implementado. Para obter dados mais avançados, utilize as funcionalidades de relatórios e análises incluídas numa subscrição do Microsoft Azure.

Todos os dados armazenados com o Serviço de Segurança do Azure Sphere estão encriptados inativos por predefinição. O Serviço de Segurança armazena dados no Armazenamento do Azure, no Azure Cosmos DB e no Azure Key Vault, através da encriptação de dados inativa para cada um desses serviços.