O que é o Azure Sphere?

O Azure Sphere é uma plataforma de aplicativo segura e de alto nível, com recursos internos de comunicação e segurança para dispositivos conectados à Internet. Ele é composto por uma MCU (unidade microcontroladora) cruzada, segura e conectada, por um SO (sistema operacional) personalizado de alto nível baseado em Linux (SO) e por um serviço de segurança baseado em nuvem que fornece segurança contínua e renovável.

A MCU do Azure Sphere integra recursos de processamento em tempo real com a capacidade de executar um sistema operacional de alto nível. Uma MCU do Azure Sphere, em conjunto com seu sistema operacional e sua plataforma de aplicativos, permite criar dispositivos seguros e conectados à Internet que podem ser atualizados, controlados, monitorados e mantidos remotamente. Um dispositivo conectado que inclui um MCU do Azure Sphere, ao lado ou no lugar de um MCU existente, fornece segurança, produtividade e oportunidade aprimoradas. Por exemplo:

  • Um ambiente de aplicativos seguro, conexões autenticadas e uso opcional 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.
  • Atualizações de software podem ser implantadas automaticamente da nuvem para qualquer dispositivo conectado para consertar problemas, fornecer nova funcionalidade ou combater métodos emergentes de ataque, melhorando a produtividade da equipe de suporte.
  • Dados de uso do produto podem ser relatados para a nuvem por uma conexão segura para ajudar a diagnosticar problemas e criar produtos, aumentando a oportunidade para serviço de produtos, interações positivas com os clientes e desenvolvimento futuro.

O serviço de segurança do Azure Sphere é um aspecto integrante do Azure Sphere. Usando esse serviço, as MCUs do Azure Sphere conectam-se com segurança à nuvem e à Web. O serviço garante que o dispositivo seja inicializado apenas com uma versão autorizada do software original e aprovado. Além disso, ele fornece um canal seguro por meio do qual a Microsoft pode baixar e instalar automaticamente atualizações do sistema operacional para dispositivos implantados no campo para mitigar problemas de segurança. Não é necessária intervenção do fabricante nem do usuário final, fechando uma lacuna de segurança comum.

Observação

O Azure Sphere refere-se à interface baseada em PAPI como Azure Sphere (Legacy) 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 brancos que incorpora um MCU do Azure Sphere em suas lavadoras de louça. A lavadora de louça DW100 associa a MCU com vários sensores e um aplicativo integrado de alto nível que é executado no MCU do Azure Sphere. O aplicativo comunica-se com o Serviço de Segurança do Azure Sphere e com os serviços de nuvem da Contoso. O diagrama a seguir ilustra este cenário:

Conecta-se à IoT, ao Serviço de Segurança e ao catálogo de nuvem do fabricanteLavadoras de louça conectadas à rede Contoso

Partindo do canto superior esquerdo e movendo-se no sentido horário:

  • a Microsoft lança atualizações para o sistema operacional Azure Sphere por meio do Serviço de Segurança do Azure Sphere.

  • A engenharia de produtos 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 de modo seguro o sistema operacional atualizado e o software de aplicativo DW100 da Contoso para as lavadoras de louça em locais de usuário final.

  • O suporte à lavadora de louça Contoso comunica-se com o Serviço de Segurança do Azure Sphere para determinar qual versão do software Azure Sphere e do software de aplicativo DW100 deve estar em execução em cada dispositivo do usuário final e para reunir todos os dados de relatório de erros que foram relatados ao serviço. O suporte à lavadora de louça 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 dão suporte a aplicativos para solução de problemas, análise de dados e interação do cliente. Os serviços de nuvem da Contoso podem ser hospedados pelo Microsoft Azure, por um serviço de nuvem de outro fornecedor ou pela nuvem da própria Contoso.

  • Modelos DW100 da Contoso em localizações de usuário final baixam sistema operacional e software de aplicativo pelas conexões 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 lavadora de louça podem monitorar a temperatura da água, a temperatura de secagem e o nível do agente de enxágue, além de fazer upload desses dados para serviços de nuvem da Contoso, em que eles são analisados por um aplicativo do serviço de nuvem em busca de potenciais problemas. Se a temperatura de secagem parece muito quente ou fria (o que pode indicar uma peça com falha) a Contoso executa o diagnóstico remotamente e notifica o cliente que reparos são necessários. Se a lavadora de louça está na garantia, o aplicativo de serviço de nuvem pode também assegurar que a oficina local do cliente tem a peça sobressalente, reduzindo, assim, visitas de manutenção e requisitos de inventário. Da mesma forma, se o nível do agente de enxágue estiver baixo, a lavadora de louça poderá sinalizar o cliente para comprar mais agente diretamente do fabricante.

Todas as comunicações ocorrem em conexões seguras e autenticadas. A equipe de engenharia e suporte da Contoso pode visualizar dados usando o Serviço de Segurança do Azure Sphere, 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 Web voltados para o cliente, com os quais os proprietários de lavadoras de louça podem solicitar serviços, monitorar o uso de recursos da lavadora de louças e interagir de diferentes modos com a empresa.

Usando ferramentas de implantação do Azure Sphere, a Contoso tem como alvo cada atualização de software de aplicativo para o modelo de lavadora de louça apropriado e o serviço de segurança do Azure Sphere distribui as atualizações de software para os dispositivos corretos. Somente atualizações de software assinadas e verificadas podem ser instaladas nas lavadoras de louça.

Azure Sphere e as sete propriedades dos dispositivos altamente protegidos

O objetivo da plataforma Azure Sphere é fornecer segurança de alto valor a baixo custo para que dispositivos com base em microcontrolador sensíveis aos preços possam se conectar com segurança e confiabilidade à Internet. À medida que brinquedos conectados à rede, dispositivos e outros dispositivo de clientes se tornam mais comuns, a segurança é de extrema importância. Não só o próprio hardware do dispositivo deve estar protegido; seu software e suas conexões de nuvem também devem estar protegidas. Um lapso de segurança em qualquer lugar no ambiente operacional ameaça todo o produto e, potencialmente, qualquer coisa ou qualquer pessoa nas proximidades.

Com base nas décadas de experiência em segurança da Internet que a Microsoft tem, a equipe do Azure Sphere identificou sete propriedades de dispositivos altamente protegidos. A plataforma Azure Sphere foi criada 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 do dispositivo. Cada MCU do Azure Sphere é identificado por uma chave de criptografia impossível de falsificar gerada e protegida pelo hardware do subsistema de segurança Pluton criado pela Microsoft. Isso garante uma raiz de confiança de hardware protegida e resistente a falsificação da fábrica ao usuário final.

Defesa completa. A defesa completa fornece várias camadas de segurança e, portanto, várias atenuações em relação a cada ameaça. Cada camada de software na plataforma Azure Sphere verifica se a camada acima está protegida.

Pequena base de computação confiável. A maioria do software do dispositivo fica fora da base de computação confiável, reduzindo, assim, a área de superfície para ataques. Apenas o Monitor de segurança protegido, o runtime e o subsistema do Pluton — todos esses 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. Os MCUs do Azure Sphere contêm contramedidas de silicone, incluindo firewalls de hardware, para impedir que uma violação de segurança em um componente seja propagada para outros componentes. Um ambiente de runtime em área restrita impede que os dados ou o código protegido dos aplicativos sejam corrompidos.

Autenticação sem senha. O uso de certificados assinados, validados por uma chave de criptografia impossível de falsificar, fornece uma autenticação muito mais forte do que senhas. A plataforma Azure Sphere exige que todo elemento de software seja assinado. As comunicações dispositivo-nuvem e nuvem-a-dispositivo exigem autenticação adicional, o que é obtido com certificados.

Relatório de erros. Erros no software ou hardware do dispositivo são típicos em ataques de segurança emergentes; 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 do 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 realizadas remotamente.

Segurança que pode ser renovada. O software do dispositivo é atualizado automaticamente para corrigir vulnerabilidades conhecidas ou violações de segurança, não exigindo intervenção do fabricante do produto ou do usuário final. O Serviço de Segurança do Azure Sphere atualiza o sistema operacional do Azure Sphere e os aplicativos automaticamente.

Arquitetura do Azure Sphere

Trabalhando juntos, o hardware, o software e o serviço de segurança Azure Sphere permitem abordagens exclusivas e integradas à manutenção, ao controle e à segurança do dispositivo.

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 do sistema operacional personalizado protegido em execução no Monitor de Segurança escrito pela Microsoft, permite que você concentre seus esforços de software em recursos de IoT com valor agregado e 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 dispositivo para nuvem. O resultado é uma infraestrutura de comunicações segura que verifica se os seus produtos estão executando o sistema operacional Azure Sphere mais atualizado. Para obter diagramas de arquitetura e exemplos de arquiteturas de nuvem, consulte Procurar arquiteturas do Azure.

Arquitetura de hardware

Uma MCU cruzada do Azure Sphere consiste em vários núcleos em uma única unidade, como mostra a figura a seguir.

Arquitetura de hardwareArquitetura de hardware da MCU do Azure Sphere

Cada núcleo e seu subsistema associado está em um domínio de confiança diferente. A raiz de confiança reside no subsistema de segurança Pluton. Cada camada da arquitetura pressupõe que a camada superior pode ser comprometida. Dentro de 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 Pluton é a raiz protegida (ou seja, em silício) baseada em hardware de confiança para o Azure Sphere. Inclui um núcleo de processador de segurança, mecanismos de criptografia, um gerador de número aleatório de hardware, geração de chaves públicas/privadas, criptografias assimétrica e simétrica, suporte para verificação de ECDSA (algoritmo de assinatura digital de curva elíptica) para inicialização protegida e inicialização medida em silício para dar suporte a atestado remoto com um serviço de nuvem, bem como várias contramedidas a violações, incluindo uma unidade de detecção de entropia.

Como parte do processo de inicialização segura, o subsistema Pluton inicializa diversos componentes de software. Ele também fornece serviços de runtime, processa as solicitações de outros componentes do dispositivo e gerencia componentes críticos para outras partes do dispositivo.

Núcleo do aplicativo de alto nível

O núcleo de alto nível do aplicativo apresenta um subsistema Cortex-A ARM que tem uma MMU (unidade de gerenciamento de memória) cheia. 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 oferece suporte a dois ambientes operacionais: Normal World (NW), que executa código no modo de usuário e no modo 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 do NW.

Núcleos em tempo real

Os núcleos em tempo real apresentam um subsistema de E/S ARM Cortex-M que pode executar aplicativos compatíveis em tempo real como código bare-metal ou um sistema operacional em tempo real (RTOS). Esses aplicativos podem mapear os periféricos e se comunicarem com aplicativos de alto nível, mas não podem acessar a Internet diretamente.

Conectividade e comunicações

A primeira MCU do Azure Sphere fornece uma opção de Wi-Fi 802.11 b/g/n que opera em 2,4 GHz e 5 GHz. Aplicativos cliente de alto nível podem configurar, usar e consultar o subsistema de comunicação sem fio, mas não podem programá-lo diretamente. Além ou em vez de usar o Wi-Fi, os dispositivos do Azure Sphere equipados adequadamente podem se comunicar em uma rede Ethernet.

E/S multiplexada

A plataforma do Azure Sphere dá suporte a uma variedade de recursos de E/S para que os fabricantes possam configurar dispositivos incorporados para atender às suas necessidades de mercado. Periféricos de E/E podem ser mapeados para o núcleo do aplicativo de alto nível ou para um núcleo em tempo real.

Firewalls da Microsoft

Firewalls de hardware são as contramedidas de silício que fornecem proteção de área restrita para garantir que os periféricos de E/S estejam acessíveis apenas para o núcleo para o qual eles são mapeados. Os firewalls impõem compartimentalização, evitando que uma ameaça de segurança localizada no núcleo do aplicativo de alto nível afete o acesso dos núcleos em tempo real a seus periféricos.

RAM e flash integradas

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 SO do Azure Sphere, juntamente com um aplicativo de alto nível específico do dispositivo que pode se comunicar com a Internet e com aplicativos com capacidade para tempo real que são executados nos núcleos em tempo real. A figura a seguir mostra os elementos dessa plataforma.

Elementos fornecidos pela Microsoft são mostrados em cinza.

Plataforma de aplicativoPlataforma do aplicativo de alto nível

A Microsoft fornece e mantém todos os softwares que não sejam de seus aplicativos específicos do dispositivo. Todos os aplicativos de software executados no dispositivo, incluindo o aplicativo, são assinados pela AC (autoridade de certificação) da Microsoft. As atualizações de aplicativo são entregues por meio do pipeline confiável da Microsoft e a compatibilidade de cada atualização com o hardware de dispositivo do Azure Sphere é verificada antes da instalação.

runtime do aplicativo

O runtime do aplicativo fornecido pela Microsoft baseia-se 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 oferece suporte aos aplicativos de alto nível que você cria.

Bibliotecas de aplicativos dão suporte a recursos de rede, armazenamento e as comunicações que são exigidos por aplicativos de alto nível, mas não têm suporte a E/S de arquivo genérico direto ou acesso de shell, entre outras restrições. Essas restrições garantem que a plataforma permaneça protegida e que a Microsoft possa fornecer segurança e atualizações de manutenção. Além disso, as bibliotecas restritas fornecem uma superfície de API estável em longo prazo para que o software do sistema possa ser atualizado para melhorar a segurança enquanto mantém a compatibilidade binária com aplicativos cliente.

Serviços de sistema operacional

Serviços de 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 personalizado do Linux

O kernel personalizado baseado em Linux é executado no modo de supervisor, juntamente com um carregador de inicialização. O kernel é cuidadosamente ajustado para o volume de memória RAM e flash da MCU do Azure Sphere. Ele fornece uma superfície para execução recuperável de processos de espaço do usuário nos espaços de endereço virtual separados. O modelo de driver expõe periféricos da MCU aos serviços e aplicativos do sistema operacional. Drivers do Azure Sphere incluem Wi-Fi (que inclui uma pilha de rede TCP/IP), UART, SPI, I2C, GPIO, entre outros.

Monitor de segurança

O Monitor de Segurança fornecido pela Microsoft é executado em SW. Ele é responsável por proteger o hardware sensível à segurança, como memória, flash e outros recursos de MCU compartilhados e por expor com segurança acesso limitado a esses recursos. O Monitor de Segurança intermedia e retransmite o acesso ao Subsistema de Segurança Pluton e à raiz de hardware da confiança e atua como um watchdog para o ambiente NW. Ele inicia o carregador de inicialização, expõe os serviços de runtime para NW e gerencia firewalls de hardware e outros componentes de silício nã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 conecta-se por meio de um protocolo de desafio/resposta que usa o recurso de inicialização medida no subsistema de Pluton. Ele verifica não apenas se o dispositivo foi inicializado com o software correto, mas com a versão correta do software.

    Depois de o atestado ser bem-sucedido, o serviço de autenticação assume o comando. O serviço de autenticação comunica-se por uma conexão TLS segura e emite um certificado que o dispositivo pode apresentar aos serviços Web, como o Microsoft Azure ou uma nuvem privada da empresa. O serviço Web valida a cadeia de certificados, verificando se o dispositivo é original, se o software está atualizado e se a Microsoft é sua origem. O dispositivo então pode se conectar com segurança ao 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 do funcionamento e permite a manutenção remota e a atualização de software de aplicativo.

  • Relatório de erros. O serviço de relatório de erros fornece relatórios de falhas simples para o software implantado. Para obter dados mais avançados, use os recursos de análise e relatórios incluídos na 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 Cofre de Chaves do Azure, usando a implementação de criptografia de dados em repouso para cada serviço.