Gerenciador de segurança do Azure IoT Edge

Aplica-se a:Marca de verificação do IoT Edge 1.5 IoT Edge 1.5 Marca de verificação do IoT Edge 1.4 IoT Edge 1.4

Importante

IoT Edge 1.5 LTS e IoT Edge 1.4 LTS são versões suportadas. O IoT Edge 1.4 LTS termina a vida útil em 12 de novembro de 2024. Se tiver uma versão anterior, consulte Atualizar IoT Edge.

O gerenciador de segurança do Azure IoT Edge é um núcleo de segurança bem limitado para proteger o dispositivo IoT Edge e todos os seus componentes, abstraindo o hardware de silício seguro. O gerente de segurança é o ponto focal para proteção de segurança e fornece ponto de integração de tecnologia para fabricantes de equipamentos originais (OEM).

O gerenciador de segurança abstrai o hardware de silício seguro em um dispositivo IoT Edge e fornece uma estrutura de extensibilidade para serviços de segurança adicionais.

O gestor de segurança IoT Edge tem como objetivo defender a integridade do dispositivo IoT Edge e todas as operações de software inerentes. O gerenciador de segurança faz a transição da confiança da raiz de hardware subjacente do hardware confiável (se disponível) para inicializar o tempo de execução do IoT Edge e monitorar operações em andamento. O gerenciador de segurança IoT Edge é um software que trabalha em conjunto com hardware de silício seguro (quando disponível) para ajudar a fornecer as mais altas garantias de segurança possíveis.

Além disso, o gerenciador de segurança do IoT Edge fornece uma estrutura segura para extensões de serviço de segurança por meio de módulos no nível do host. Esses serviços incluem monitoramento de segurança e atualizações que exigem agentes dentro do dispositivo com acesso privilegiado a alguns componentes do dispositivo. A estrutura de extensibilidade garante que tais integrações mantenham consistentemente a segurança geral do sistema.

As responsabilidades do gerenciador de segurança do IoT Edge incluem, mas não estão limitadas a:

  • Inicialize o dispositivo Azure IoT Edge.
  • Controle o acesso à raiz de confiança do hardware do dispositivo através de serviços notariais.
  • Monitore a integridade das operações do IoT Edge em tempo de execução.
  • Provisione a identidade do dispositivo e gerencie a transição de confiança, quando aplicável.
  • Garanta a operação segura de agentes cliente para serviços, incluindo Atualização de Dispositivo para Hub IoT e Microsoft Defender para IoT.

O gerenciador de segurança do IoT Edge consiste em três componentes:

  • O tempo de execução do módulo IoT Edge
  • Abstrações do módulo de segurança de hardware (HSM) através de implementações padrão, como PKCS#11 e TPM (Trusted Platform Module)
  • Uma raiz de silício de hardware de confiança ou HSM (opcional, mas altamente recomendado)

Alterações na versão 1.2 e posterior

Nas versões 1.0 e 1.1 do IoT Edge, um componente chamado daemon de segurança era responsável pelas operações lógicas de segurança do gerenciador de segurança. Na atualização para a versão 1.2, várias responsabilidades principais foram delegadas ao subsistema de segurança do Azure IoT Identity Service . Uma vez que essas tarefas baseadas em segurança foram removidas do daemon de segurança, seu nome não fazia mais sentido. Para refletir melhor o trabalho que esse componente faz na versão 1.2 e posterior, o renomeamos para o tempo de execução do módulo.

O tempo de execução do módulo IoT Edge

O tempo de execução do módulo IoT Edge delega confiança do subsistema de segurança do Azure IoT Identity Service para proteger o ambiente de tempo de execução do contêiner do IoT Edge. Um serviço, agora delegado ao Azure IoT Identity Service, é o serviço automatizado de registro e renovação de certificados por meio de um servidor EST. Para ver como isso funciona e criar um servidor EST de exemplo feito para um dispositivo IoT Edge, tente o tutorial Configurar Registro no Servidor de Transporte Seguro para Azure IoT Edge .

O tempo de execução do módulo é responsável pelas operações lógicas de segurança do gerenciador de segurança. Ele representa uma parte significativa da base de computação confiável do dispositivo IoT Edge. O tempo de execução do módulo usa serviços de segurança do IoT Identity Service, que, por sua vez, é reforçado pela escolha do fabricante do dispositivo do módulo de segurança de hardware (HSM). Recomendamos vivamente a utilização de HSMs para o endurecimento do dispositivo.

Estruturar princípios

O IoT Edge segue dois princípios fundamentais: maximizar a integridade operacional e minimizar o inchaço e a rotatividade.

Maximize a integridade operacional

O tempo de execução do módulo IoT Edge opera com a maior integridade possível dentro da capacidade de defesa de qualquer raiz de hardware de confiança. Com a integração adequada, a raiz do hardware de confiança mede e monitora o daemon de segurança estaticamente e em tempo de execução para resistir a adulterações.

O acesso físico malicioso a dispositivos é sempre uma ameaça na IoT. A raiz de confiança do hardware desempenha um papel importante na defesa da integridade do dispositivo IoT Edge. A raiz de confiança do hardware vem em duas variedades:

  • Elementos seguros para a proteção de informações confidenciais, como segredos e chaves criptográficas.
  • Enclaves seguros para a proteção de segredos, como chaves, e cargas de trabalho confidenciais, como modelos confidenciais de aprendizado de máquina e operações de medição.

Existem dois tipos de ambientes de execução para usar a raiz de confiança de hardware:

  • O ambiente de execução padrão ou avançado (REE) que depende do uso de elementos seguros para proteger informações confidenciais.
  • O ambiente de execução confiável (TEE) que depende do uso de tecnologia de enclave seguro para proteger informações confidenciais e oferecer proteção à execução de software.

Para dispositivos que usam enclaves seguros como raiz de confiança de hardware, a lógica sensível dentro do tempo de execução do módulo IoT Edge deve estar dentro do enclave. Partes não sensíveis do tempo de execução do módulo podem estar fora do TEE. Em todos os casos, recomendamos que os fabricantes de projeto original (ODM) e os fabricantes de equipamento original (OEM) estendam a confiança de seu HSM para medir e defender a integridade do tempo de execução do módulo IoT Edge na inicialização e no tempo de execução.

Minimize o inchaço e a rotatividade

Outro princípio fundamental para o tempo de execução do módulo IoT Edge é minimizar a rotatividade. Para obter o mais alto nível de confiança, o tempo de execução do módulo IoT Edge pode se acoplar firmemente à raiz de confiança do hardware do dispositivo e operar como código nativo. Nesses casos, é comum atualizar o software IoT Edge por meio da raiz de hardware dos caminhos de atualização seguros da confiança, em vez dos mecanismos de atualização do sistema operacional, o que pode ser desafiador. A renovação de segurança é recomendada para dispositivos IoT, mas requisitos de atualização excessivos ou cargas úteis de atualização grandes podem expandir a superfície de ameaças de várias maneiras. Por exemplo, pode sentir-se tentado a ignorar algumas atualizações para maximizar a disponibilidade do dispositivo. Como tal, o design do tempo de execução do módulo IoT Edge é conciso para manter a base de computação confiável bem isolada pequena para incentivar atualizações frequentes.

Arquitetura

O tempo de execução do módulo IoT Edge aproveita qualquer raiz de hardware disponível da tecnologia de confiança para proteção de segurança. Ele também permite a operação de mundo dividido entre um ambiente de execução padrão/rico (REE) e um ambiente de execução confiável (TEE) quando as tecnologias de hardware oferecem ambientes de execução confiáveis. As interfaces específicas da função permitem que os principais componentes do IoT Edge garantam a integridade do dispositivo IoT Edge e suas operações.

Arquitetura de tempo de execução do módulo Azure IoT Edge

Interface na nuvem

A interface na nuvem permite o acesso a serviços na nuvem que complementam a segurança do dispositivo. Por exemplo, essa interface permite o acesso ao Serviço de Provisionamento de Dispositivos para gerenciamento do ciclo de vida da identidade do dispositivo.

API de Gestão

A API de gerenciamento é chamada pelo agente do IoT Edge ao criar/iniciar/parar/remover um módulo do IoT Edge. O tempo de execução do módulo armazena "registros" para todos os módulos ativos. Esses registros mapeiam a identidade de um módulo para algumas propriedades do módulo. Por exemplo, essas propriedades de módulo incluem o identificador de processo (pid) do processo em execução no contêiner e o hash do conteúdo do contêiner do docker.

Essas propriedades são usadas pela API de carga de trabalho (descrita abaixo) para verificar se o chamador está autorizado para uma ação.

A API de gerenciamento é uma API privilegiada, chamável apenas do agente IoT Edge. Como o tempo de execução do módulo IoT Edge inicializa e inicia o agente do IoT Edge, ele verifica se o agente do IoT Edge não foi adulterado e, em seguida, pode criar um registro implícito para o agente do IoT Edge. O mesmo processo de atestado que a API de carga de trabalho usa também restringe o acesso à API de gerenciamento apenas ao agente do IoT Edge.

API de contêiner

A API de contêiner interage com o sistema de contêiner em uso para gerenciamento de módulos, como Moby ou Docker.

API de carga de trabalho

A API de carga de trabalho é acessível a todos os módulos. Ele fornece prova de identidade, seja como um token assinado enraizado no HSM ou um certificado X509, e o pacote de confiança correspondente a um módulo. O pacote de confiança contém certificados de CA para todos os outros servidores nos quais os módulos devem confiar.

O tempo de execução do módulo IoT Edge usa um processo de atestado para proteger essa API. Quando um módulo chama essa API, o tempo de execução do módulo tenta encontrar um registro para a identidade. Se for bem-sucedido, ele usa as propriedades do registro para medir o módulo. Se o resultado do processo de medição corresponder ao registo, é gerada uma nova prova de identidade. Os certificados de autoridade de certificação correspondentes (pacote de confiança) são retornados ao módulo. O módulo usa esse certificado para se conectar ao Hub IoT, outros módulos ou iniciar um servidor. Quando o token ou certificado assinado se aproxima da expiração, é responsabilidade do módulo solicitar um novo certificado.

Integração e manutenção

A Microsoft mantém a base de código principal para o tempo de execução do módulo IoT Edge e o serviço de identidade IoT do Azure no GitHub.

Ao ler a base de código do IoT Edge, lembre-se de que o tempo de execução do módulo evoluiu a partir do daemon de segurança. A base de código ainda pode conter referências ao daemon de segurança.

Instalação e atualizações

A instalação e as atualizações do tempo de execução do módulo IoT Edge são gerenciadas por meio do sistema de gerenciamento de pacotes do sistema operacional. Os dispositivos IoT Edge com raiz de confiança de hardware devem fornecer proteção adicional à integridade do tempo de execução do módulo, gerenciando seu ciclo de vida por meio dos sistemas de gerenciamento de inicialização segura e atualizações. Os fabricantes de dispositivos devem explorar essas vias com base em seus respetivos recursos de dispositivos.

Controlo de Versão

O tempo de execução do IoT Edge rastreia e relata a versão do tempo de execução do módulo IoT Edge. A versão é relatada como o atributo runtime.platform.version da propriedade reportada do módulo do agente IoT Edge.

Módulo de segurança de hardware

O gerenciador de segurança do IoT Edge implementa os padrões de interface Trusted Platform Module e PKCS#11 para integrar módulos de segurança de hardware (HSMs). Com esses padrões, praticamente qualquer HSM, incluindo aqueles com interfaces proprietárias, pode ser integrado. É altamente recomendável usar HSMs para proteção de segurança.

Raiz de silício segura do hardware de confiança

O silício seguro é necessário para ancorar a confiança no hardware do dispositivo IoT Edge. O silício seguro vem em variedade para incluir Trusted Platform Module (TPM), incorporado Secure Element (eSE), Arm TrustZone, Intel SGX e tecnologias de silício seguro personalizadas. O uso de raiz de silício segura de confiança em dispositivos é recomendado dadas as ameaças associadas à acessibilidade física de dispositivos IoT.

O gerenciador de segurança do IoT Edge tem como objetivo identificar e isolar os componentes que defendem a segurança e a integridade da plataforma Azure IoT Edge para proteção personalizada. Terceiros, como fabricantes de dispositivos, devem fazer uso de recursos de segurança personalizados disponíveis com o hardware do dispositivo.

Saiba como proteger o gerenciador de segurança do Azure IoT com o TPM (Trusted Platform Module) usando software ou TPMs virtuais:

Crie e provisione um dispositivo IoT Edge com um TPM virtual no Linux ou Linux no Windows.

Próximos passos

Para saber mais sobre como proteger seus dispositivos IoT Edge, leia as seguintes postagens no blog: