O que é o Azure Sphere?

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

O MCU do Azure Sphere integra recursos de processamento em tempo real com a capacidade de executar um sistema operacional de alto nível. Um MCU do Azure Sphere, juntamente com seu sistema operacional e plataforma de aplicativos, permite a criação de dispositivos protegidos 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 MCUs existente, fornece segurança, produtividade e oportunidade aprimoradas. Por exemplo:

  • Um ambiente de aplicativo protegido, conexões autenticadas e uso de periféricos minimiza os riscos de segurança devido à falsificação, software desonesto ou ataques de negação de serviço, entre outros.
  • As atualizações de software podem ser implantadas automaticamente da nuvem para 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 à nuvem por meio de uma conexão segura para ajudar a diagnosticar problemas e projetar novos produtos, aumentando assim a oportunidade de serviço de produto, interações positivas do cliente e desenvolvimento futuro.

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

Cenário do Azure Sphere

Para entender como o Azure Sphere funciona em uma configuração do mundo real, considere esse cenário.

Contoso, Ltd., é um fabricante de produtos de produtos brancos que insere um MCU do Azure Sphere em suas máquinas de lavar louça. A máquina de lavar louça DW100 casa o MCU com vários sensores e um aplicativo de alto nível integrado que é executado no MCU do Azure Sphere. 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 este cenário:

Conecta-se a lava-louças conectadas à rede IoT, Serviço de Segurança e locatário de nuvem do fabricanteContoso

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

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

  • A Contoso product engineering libera 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 de aplicativo Contoso DW100 para as máquinas de lavar louça em locais de usuário final.

  • O suporte à máquina de lavar louça contoso se comunica com o Serviço de Segurança do Azure Sphere para determinar qual versão do software do Azure Sphere e o software de aplicativo DW100 devem estar em execução em cada dispositivo de usuário final e para obter quaisquer dados de relatório de erro relatados ao serviço. O suporte à máquina de lavar louça Contoso também se comunica com o serviço de nuvem 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, pelo serviço de nuvem de outro fornecedor ou pela própria nuvem da Contoso.

  • Os modelos Contoso DW100 em locais de usuário final baixam o sistema operacional e o software de aplicativo atualizados por meio da 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, os sensores na máquina de lavar louça podem monitorar a temperatura da água, a temperatura de secagem e enxaguar o nível do agente e carregar esses dados nos serviços de nuvem da Contoso, onde um aplicativo de serviço de nuvem o analisa para possíveis problemas. Se a temperatura de secagem parecer extraordinariamente quente ou fria, o que pode indicar uma parte com falha, a Contoso executará o diagnóstico remotamente e notificará o cliente de que os reparos são necessários. Se a máquina de lavar louça estiver sob garantia, o aplicativo de serviço de nuvem também poderá garantir que a repositório local do cliente tenha a parte de substituição, reduzindo assim as visitas de manutenção e os requisitos de inventário. Da mesma forma, se o agente de enxágüe estiver baixo, a máquina de lavar louça poderá sinalizar ao cliente para comprar mais agente de lavagem diretamente do fabricante.

Todas as comunicações ocorrem em conexões protegidas e autenticadas. O pessoal de suporte e engenharia da Contoso pode visualizar dados usando o Serviço de Segurança do Azure Sphere, Microsoft recursos do Azure ou um aplicativo de serviço de nuvem específico da Contoso. A Contoso também pode fornecer aplicativos web e móveis 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.

Usando ferramentas de implantação do Azure Sphere, a Contoso destina 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. Somente 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 objetivo principal da plataforma do Azure Sphere é fornecer segurança de alto valor a um custo baixo, de modo que dispositivos movidos a microcontroladores e sensíveis a preços possam se conectar com segurança e confiabilidade à Internet. À medida que brinquedos, dispositivos 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, seu software e suas conexões de nuvem também devem ser protegidos. Um lapso de segurança em qualquer lugar no 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 a segurança da Internet, a equipe do Azure Sphere identificou sete propriedades de dispositivos altamente protegidos. A plataforma do Azure Sphere foi projetada em torno dessas 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, impedindo assim a falsificação ou falsificação de dispositivos. Cada MCU do Azure Sphere é identificado por uma chave criptográfica imperdoável gerada e protegida pelo hardware do subsistema de segurança Pluton projetado Microsoft. Isso garante uma raiz de hardware protegida e resistente a adulterações de confiança de fábrica para 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 do Azure Sphere verifica se a camada acima dela está protegida.

Pequena base de computação confiável. A maior parte do software do dispositivo permanece 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 pluton e o subsistema Pluton, todos os quais Microsoft fornece, são executados na base de computação confiável.

Compartimentos dinâmicos. 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 evitar que uma falha de segurança em um componente se propaga para outros componentes. Um ambiente de runtime restrito e "sandboxed" impede que os aplicativos corrompam o código ou os dados protegidos.

Autenticação sem senha. O uso de certificados assinados, validados por uma chave criptográfica imperdoável, fornece autenticação muito mais forte do que senhas. A plataforma do Azure Sphere exige que todos os elementos de software sejam assinados. As comunicações de dispositivo para nuvem e nuvem para dispositivo exigem autenticação adicional, que é obtida 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 a nuvem fornece um 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 executadas remotamente.

Segurança renovável. O software do dispositivo é atualizado automaticamente para corrigir vulnerabilidades conhecidas ou violações de segurança, 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 do Azure Sphere e seus aplicativos automaticamente.

Arquitetura do Azure Sphere

Trabalhando juntos, o hardware, o software e o Serviço de Segurança do Azure Sphere habilitam abordagens exclusivas e integradas à manutenção, controle e segurança do dispositivo.

A arquitetura de hardware fornece uma base de computação fundamentalmente protegida para dispositivos conectados, permitindo que você se concentre em seu produto.

A arquitetura de software, com um kernel de sistema operacional personalizado protegido em execução no topo do Monitor de Segurança escrito por Microsoft, também permite que você concentre seus esforços de software em recursos específicos do IoT e do dispositivo adicionados por valor.

O Serviço de Segurança do Azure Sphere dá suporte a autenticação, atualizações de software e relatórios de erros em canais protegidos de nuvem para dispositivo e dispositivo para nuvem. O resultado é uma infraestrutura de comunicação protegida que garante que seus produtos estejam executando o sistema operacional mais atualizado do Azure Sphere. Para diagramas de arquitetura e exemplos de arquiteturas de nuvem, consulte Procurar Arquiteturas do Azure.

Arquitetura de hardware

Um MCU de crossover do Azure Sphere consiste em vários núcleos em um único dado, como mostra a figura a seguir.

Arquitetura de hardwarearquitetura do MCU do Azure Sphere

Cada núcleo e seu subsistema associado estão em um domínio de confiança diferente. A raiz da confiança reside no subsistema de segurança pluton. Cada camada da arquitetura pressupõe que a camada acima dela possa ser comprometida. Em cada camada, o isolamento de recursos e os compartimentos dinâmicos fornecem segurança adicional.

Microsoft subsistema de segurança pluton

O subsistema de segurança pluton é a raiz de confiança protegida por 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úmero aleatório de hardware, geração de chave pública/privada, criptografia 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 no silício para dar suporte a atestado remoto com um serviço de nuvem, bem como várias contramedidos de adulteração, incluindo uma unidade de detecção de entropia.

Como parte do processo de inicialização protegido, o subsistema Pluton inicializa vários componentes de software. Ele também fornece serviços de runtime, 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 de aplicativo de alto nível apresenta um subsistema ARM Cortex-A que tem uma MMU (unidade de gerenciamento de memória completa). Ele permite a compartimentalização de processos com base em hardware usando a funcionalidade da zona de confiança e é responsável por executar o sistema operacional, aplicativos de alto nível e serviços. Ele dá suporte a dois ambientes operacionais: o Normal World (NW), que executa o código no modo de usuário e no modo supervisor, e o Secure World (SW), que executa apenas o Monitor de Segurança fornecido por 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 arm Cortex-M E/S que pode executar aplicativos capazes em tempo real como código bare-metal ou um RTOS (sistema operacional em tempo real). Esses 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 MCU do Azure Sphere fornece um rádio 802.11 b/g/n Wi-Fi que opera em 2.4GHz e 5GHz. 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 o Wi-Fi, os dispositivos do Azure Sphere que estão devidamente equipados podem se comunicar em uma rede Ethernet.

E/S multiplexed

A plataforma do Azure Sphere dá suporte a uma variedade de recursos de E/S para que você possa configurar dispositivos inseridos para atender aos seus requisitos de mercado e produto. Os periféricos de E/S podem ser mapeados para o núcleo de aplicativo de alto nível ou para um núcleo em tempo real.

firewalls 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 estejam acessíveis apenas ao núcleo ao qual são mapeados. Os firewalls impõem compartimentalização, evitando que uma ameaça de segurança localizada no núcleo de aplicativos 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 4MB de RAM integrada e 16MB de memória flash integrada.

Arquitetura de software e sistema operacional

A plataforma de aplicativo de alto nível executa o sistema operacional do 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 em tempo real que são executados nos núcleos em tempo real. A figura a seguir mostra os elementos dessa plataforma.

elementos fornecidos por Microsoft são mostrados em cinza.

Plataforma de aplicativos de alto nível plataforma de aplicativos

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

Runtime do aplicativo

O runtime do aplicativo fornecido Microsoft é baseado em um subconjunto do padrão POSIX. Ele consiste em bibliotecas e serviços de runtime executados no modo de usuário NW. Esse ambiente dá suporte aos aplicativos de alto nível que você cria.

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

Serviços do sistema operacional

Os serviços do sistema operacional hospedam o contêiner de aplicativo de alto nível e são responsáveis por se comunicar 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 de sistema operacional também se comunicam com um computador conectado e o aplicativo que está sendo depurado.

Kernel do Linux personalizado

O kernel baseado em Linux personalizado é executado no modo supervisor, juntamente com um carregador de inicialização. O kernel é cuidadosamente ajustado para o flash e a pegada de RAM do MCU do Azure Sphere. Ele fornece uma superfície para execução preempível 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 por Microsoft é executado no SW. Ele é responsável por proteger hardwares sensíveis à segurança, como memória, flash e outros recursos compartilhados do MCU e por expor com segurança o acesso limitado a esses recursos. Os agentes e portões do Monitor de Segurança acessam o Subsistema de Segurança pluton e a raiz de hardware da confiança e atuam como um cão de guarda para o ambiente NW. Ele inicia o carregador de inicialização, expõe serviços de runtime para NW e gerencia firewalls de hardware e outros componentes de silício que não são acessíveis ao 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 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 de resposta a desafios que usa o recurso de inicialização medido no subsistema Pluton. Ele verifica não apenas que o dispositivo foi inicializado com o software correto, mas com a versão correta desse software.

    Depois que o atestado for bem-sucedido, o serviço de autenticação assume o comando. O serviço de autenticação se comunica por meio de uma conexão TLS protegida e emite um certificado que o dispositivo pode apresentar a um serviço Web, como Microsoft Azure ou a nuvem privada de uma empresa. O serviço Web valida a cadeia de certificados, verificando se o dispositivo é genuíno, que seu software está atualizado e que Microsoft é sua origem. Em seguida, o dispositivo pode se conectar com segurança e segurança com o serviço online.

  • Atualização. O serviço de atualização distribui atualizações automáticas para o sistema operacional do Azure Sphere e para aplicativos. O serviço de atualização garante a operação contínua e habilita a manutenção remota e a atualização do software de aplicativo.

  • Relatório de erros. O serviço de relatório de erros fornece relatórios de falha simples para software implantado. Para obter dados mais avançados, use os recursos de relatório e análise incluídos com uma assinatura Microsoft do 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 criptografia de dados em implementação em repouso para cada serviço desse tipo.