Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:
IoT Edge 1.5
Importante
O IoT Edge 1.5 LTS é a versão suportada. O IoT Edge 1.4 LTS está em fim de vida útil a partir de 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 que protege o dispositivo IoT Edge e seus componentes abstraindo hardware de silício seguro. O gestor de segurança concentra-se no reforço da segurança e fornece um ponto de integração tecnológica aos fabricantes de equipamento original (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 extras.
O gerenciador de segurança do IoT Edge defende a integridade do dispositivo IoT Edge e suas operações de software. 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 do IoT Edge trabalha com hardware de silício seguro (quando disponível) para oferecer as mais altas garantias de segurança possíveis.
O gerenciador de segurança do IoT Edge também 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 essas integrações sempre mantenham a segurança geral do sistema.
O gerenciador de segurança do IoT Edge é responsável por tarefas como:
- Inicializar o dispositivo Azure IoT Edge
- Controlar 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
- Provisionar a identidade do dispositivo e gerenciar a transição de confiança onde necessário
- Certifique-se de que os agentes cliente para serviços como a Atualização de Dispositivo para Hub IoT e o Microsoft Defender para IoT sejam executados com segurança
O gerenciador de segurança do IoT Edge tem três componentes:
- 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)
- 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 gerencia as operações lógicas de segurança do gerenciador de segurança. Na versão 1.2, várias responsabilidades principais são movidas para o subsistema de segurança do Azure IoT Identity Service . Depois que essas tarefas de segurança são movidas do daemon de segurança, seu nome deixa de corresponder à sua função. Para refletir melhor o que esse componente faz na versão 1.2 e posterior, ele é renomeado 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.
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 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 usa os padrões de interface Trusted Platform Module e PKCS#11 para integrar módulos de segurança de hardware (HSMs). Esses padrões permitem integrar praticamente qualquer HSM, incluindo aqueles com interfaces proprietárias. Utilize HSMs para fortalecer a segurança.
Raiz de silício segura do hardware de confiança
O silício seguro ancora a confiança no hardware do dispositivo IoT Edge. O silício seguro inclui o Trusted Platform Module (TPM), o Secure Element (eSE) incorporado, o Arm TrustZone, o Intel SGX e as tecnologias de silício seguro personalizadas. O uso da raiz de silício segura da confiança em dispositivos é importante por causa das ameaças que vêm com o acesso físico aos dispositivos IoT.
O gerenciador de segurança do IoT Edge identifica e isola os componentes que protegem a segurança e a integridade da plataforma Azure IoT Edge para proteção personalizada. Os fabricantes de dispositivos e outros terceiros podem usar 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
Saiba mais sobre como proteger seus dispositivos IoT Edge nestas postagens de blog: