Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:
IoT Edge 1.5
Importante
O IoT Edge 1.5 LTS é a versão com suporte. O IoT Edge 1.4 LTS atingirá o fim da vida útil em 12 de novembro de 2024. Se você estiver em uma versão anterior, confira Atualizar o IoT Edge.
O gerenciador de segurança do Azure IoT Edge é um núcleo de segurança bem definido que protege o dispositivo IoT Edge e seus componentes ao abstrair o hardware de silício seguro. O gerente de segurança concentra-se no endurecimento de segurança e fornece um ponto de integração de tecnologia para os 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 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 do hardware raiz de confiança subjacente (se disponível) para inicializar o runtime do IoT Edge e monitorar as operações em andamento. O gerenciador de segurança do IoT Edge trabalha com hardware de silício seguro (quando disponível) para fornecer as garantias de segurança mais altas 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 de nível de 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 defendam a segurança geral do sistema.
O gerenciador de segurança do IoT Edge é responsável por tarefas como:
- Inicializar o dispositivo do Azure IoT Edge
- Controlar o acesso à raiz de hardware do dispositivo de confiança por meio de serviços de notário
- Monitorar 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 quando necessário
- Verifique se os agentes cliente para serviços como a Atualização de Dispositivo para Hub IoT e o Microsoft Defender para IoT são executados com segurança
O gerenciador de segurança do IoT Edge tem três componentes:
- Runtime do módulo do IoT Edge
- Abstrações do HSM (módulo de segurança de hardware) por meio 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 de segurança lógica do gerenciador de segurança. Na versão 1.2, várias responsabilidades principais são movidas para o subsistema de segurança do Serviço de Identidade IoT do Azure . Depois que essas tarefas de segurança são movidas do daemon de segurança, o seu nome não se encaixa em sua função. Para refletir melhor o que esse componente faz na versão 1.2 e posterior, ele é renomeado para o runtime do módulo.
Runtime do módulo do IoT Edge
O runtime do módulo do IoT Edge delega a confiança do subsistema de segurança do Serviço de Identidade da Internet das Coisas do Azure para proteger o ambiente de runtime do contêiner do IoT Edge. Um serviço, agora delegado ao Serviço de Identidade da Internet das Coisas do Azure, é o serviço automatizado de renovação e registro de certificado por meio de um servidor EST. Para ver como isso funciona e criar um servidor EST de exemplo feito para um dispositivo IoT Edge, experimente o tutorial Configurar registro no Servidor de Transporte Seguro para o Azure IoT Edge.
O runtime do módulo é responsável pelas operações de segurança lógicas do gerenciador de segurança. Ele representa uma parte significativa da base de computação confiável do dispositivo IoT Edge. O runtime do módulo usa serviços de segurança do Serviço de Identidade de IoT, que, por sua vez, é protegido pela escolha do HSM (módulo de segurança de hardware) do fabricante do dispositivo. É fortemente recomendável o uso do HSMs para proteger o dispositivo.
Princípios de design
O IoT Edge segue dois princípios básicos: maximizar a integridade operacional e minimizar a sobrecarga e a rotatividade.
Maximizar a integridade operacional
O runtime do módulo do IoT Edge funciona com a mais alta integridade possível dentro da capacidade de defesa de qualquer hardware de raiz 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 runtime para resistir à violação.
O acesso físico mal-intencionado a dispositivos é sempre uma ameaça na Internet das Coisas. A raiz de hardware de confiança desempenha um papel importante na defesa da integridade do dispositivo IoT Edge. A raiz de hardware de confiança tem 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 de machine learning confidenciais e operações de medição.
Existem dois tipos de ambientes de execução para utilizar a raiz de hardware de confiança:
- O ambiente de REE (ambiente de execução rich) ou padrão que depende do uso de elementos seguros para proteger informações confidenciais.
- O TEE (ambiente de execução confiável) que depende do uso da tecnologia Secure Enclave para proteger informações confidenciais e oferecer proteção à execução de software.
Para dispositivos que usam enclaves seguros como raiz de hardware de confiança, espera-se que a lógica confidencial do runtime do módulo do IoT Edge esteja dentro do enclave. As partes não confidenciais do runtime do módulo podem estar fora do TEE. Em qualquer caso, é extremamente recomendável que os ODMs (fabricantes originais do projeto) e os OEMs (fabricantes de equipamentos originais) estendam a confiança do HSM para medir e defender a integridade do runtime do módulo do IoT Edge na inicialização e no runtime.
Minimizar a sobrecarga e a variação
Outro princípio fundamental para o runtime do módulo do IoT Edge é minimizar a rotatividade. Para obter o mais alto nível de confiança, o runtime do módulo do IoT Edge pode se associar à raiz de hardware do dispositivo e operar como código nativo. Nesses casos, é comum atualizar o software IoT Edge por meio dos caminhos de atualização seguros da raiz de hardware de 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 os requisitos de atualização excessivos ou grandes cargas de atualização podem expandir a superfície de ameaças de várias maneiras. Por exemplo, você pode ficar tentado a ignorar algumas atualizações para maximizar a disponibilidade do dispositivo. Como tal, o design do runtime do módulo do IoT Edge é conciso para manter pequena e bem isolada a base de computação confiável, bem como para encorajar atualizações frequentes.
Arquitetura
O runtime do módulo do IoT Edge aproveita qualquer tecnologia disponível da raiz de hardware de confiança para proteção de segurança. Ele também permite a operação em ambientes divididos entre um REE (ambiente de execução rich)/padrão e um TEE (ambiente de execução confiável) quando as tecnologias de hardware oferecem ambientes de execução confiáveis. As interfaces específicas da função permitem os principais componentes do IoT Edge para garantir a integridade do dispositivo IoT Edge e suas operações.
Interface de nuvem
A interface de nuvem permite o acesso a serviços de nuvem que complementam a segurança do dispositivo. Por exemplo, essa interface permite o acesso ao Serviço de Provisionamento de Dispositivos para o gerenciamento do ciclo de vida de identidades do dispositivo.
API de gerenciamento
A API de gerenciamento é chamada pelo agente do IoT Edge ao criar/iniciar/parar/remover um módulo do IoT Edge. O runtime 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 do módulo incluem o identificador do processo (pid) 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 atestar que o responsável pela chamada está autorizado a executar uma ação.
A API de gerenciamento é uma API privilegiada, que pode ser chamada somente pelo agente IoT Edge. Como o runtime do módulo do IoT Edge inicializa e inicia o agente IoT Edge, ele verifica se o agente IoT Edge não foi adulterado e, em seguida, pode criar um registro implícito para o agente IoT Edge. O mesmo processo de atestado usado pela API da carga de trabalho também restringe o acesso à API de gerenciamento apenas ao agente do IoT Edge.
Contêiner de API
A API do contêiner interage com o sistema de contêiner em uso para o gerenciamento de módulo, como Moby ou Docker.
API de carga de trabalho
A API de carga de trabalho está acessível a todos os módulos. Ele fornece uma prova de identidade, seja um token assinado baseado em HSM, seja um certificado X509, bem como um pacote de confiança correspondente para um módulo. O pacote confiável contém certificados de Autoridade de Certificação para todos os outros servidores nos quais os módulos devem confiar.
O runtime do módulo do IoT Edge usa um processo de atestado para proteger essa API. Quando um módulo chama essa API, o runtime do módulo tenta localizar um registro para a identidade. Se bem sucedido, usa as propriedades do registro para medir o módulo. Se o resultado do processo de medição corresponder ao registro, uma nova prova de identidade será gerada. Os certificados de Autoridade de Certificação correspondentes (pacote confiável) serã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 estiver próximo do término, é de responsabilidade do módulo solicitar um novo certificado.
Integração e manutenção
A Microsoft mantém a base de código principal do runtime do módulo do IoT Edge e do serviço de identidade da Internet das Coisas do Azure no GitHub.
Ao ler a base de código do IoT Edge, lembre-se de que o runtime do módulo evoluiu do daemon de segurança. A base de código ainda pode conter referências ao daemon de segurança.
Instalação e as atualizações
A instalação e as atualizações do runtime do módulo do IoT Edge são gerenciadas por meio do sistema de gerenciamento de pacotes do sistema operacional. Os dispositivos IoT Edge com raiz de hardware de confiança devem fornecer proteção adicional ao runtime do módulo, gerenciando seu ciclo de vida por meio dos sistemas de gerenciamento seguro de inicialização e de atualizações. Os criadores de dispositivos devem explorar esses caminhos com base nas respectivas funcionalidades de dispositivo.
Controle de versão
O runtime do IoT Edge rastreia e relata a versão do runtime do módulo do IoT Edge. A versão é relatada como o atributo runtime.platform.version da propriedade relatada do módulo do agente IoT Edge.
Módulo de segurança de hardware
O gerenciador de segurança do IoT Edge usa o Módulo de Plataforma Confiável e os padrões de interface PKCS#11 para integrar módulos de segurança de hardware (HSMs). Esses padrões permitem que você integre quase qualquer HSM, incluindo aqueles com interfaces proprietárias. Use HSMs para fortalecer a segurança.
Raiz de silício seguro do hardware de confiança
O silício seguro reforça a confiança no hardware dos dispositivos IoT Edge. O silício seguro inclui tpm (Trusted Platform Module), eSE (elemento seguro incorporado), Arm TrustZone, Intel SGX e tecnologias personalizadas de silício seguro. O uso de silício seguro como raiz de confiança em dispositivos é importante devido às ameaças associadas ao acesso físico a dispositivos da Internet das Coisas (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 do IoT Edge com uma TPM virtual no Linux ou no Linux no Windows.
Próximas etapas
Saiba mais sobre como proteger seus dispositivos do IoT Edge nestas postagens no blog: