Gerenciador de segurança do Azure IoT Edge
Aplica-se a: IoT Edge 1.1
Importante
IoT Edge 1.1 a data de término do suporte foi 13 de dezembro de 2022. Confira o Ciclo de Vida do Produto da Microsoft para obter informações sobre o suporte deste produto, serviço, tecnologia ou API. Para obter mais informações sobre como atualizar para a versão mais recente do IoT Edge, consulte Atualizar o IoT Edge.
O gerenciador de segurança do Azure IoT Edge é um núcleo de segurança bem delimitado para proteger o dispositivo IoT Edge e todos os seus componentes, abstraindo o hardware de silício seguro. O gerenciador de segurança é o ponto focal para proteção de segurança e fornece 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.
O gerenciador de segurança do 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 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 IoT Edge inclui 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.
As responsabilidades do gerenciador de segurança do IoT Edge incluem (mas sem limitação):
- Inicialização do dispositivo Azure IoT Edge.
- Controla o acesso à raiz de hardware de confiança do dispositivo por meio de serviços notariais.
- Monitora a integridade das operações do IoT Edge no runtime.
- Recebe a delegação de confiança do HSM (módulo de segurança de hardware)
- Provisione a identidade do dispositivo e gerencie a transição de confiança, quando aplicável.
- Hospede e proteja componentes de dispositivos de serviços em nuvem, como o Serviço de provisionamento de dispositivos.
- Provisione os módulos do IoT Edge com identidades exclusivas.
O gerenciador de segurança do IoT Edge consiste em três componentes:
- O daemon de segurança do IoT Edge
- A camada de abstração da plataforma do módulo de segurança de hardware (HSM PAL)
- Uma raiz de confiança de silício de hardware ou HSM (opcional, mas altamente recomendado)
O daemon de segurança do IoT Edge
O daemon de segurança do IoT Edge é 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.
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 daemon de segurança 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 daemon de segurança do IoT Edge esteja dentro do enclave. As partes não sensíveis do daemon de segurança 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 daemon de segurança do IoT Edge na inicialização e no runtime.
Minimizar a sobrecarga e a variação
Outro princípio fundamental para o daemon de segurança IoT Edge é minimizar a rotatividade. Para obter o mais alto nível de confiança, o daemon de segurança 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 daemon de segurança 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 daemon de segurança do 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 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 daemon de segurança 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 daemon de segurança 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 daemon de segurança do IoT Edge usa um processo de atestado para proteger essa API. Quando um módulo chama essa API, o daemon de segurança 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 principal base de código para o daemon de segurança IoT Edge no GitHub.
Instalação e as atualizações
A instalação e as atualizações do daemon de segurança 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 à integridade do daemon, 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 daemon de segurança 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
A camada de abstração da plataforma do módulo de segurança de hardware (HSM PAL) abstrai toda a raiz do hardware de confiança para isolar o desenvolvedor ou o usuário do IoT Edge de suas complexidades. Ele inclui uma combinação de procedimentos de comunicação de API (interface de programação de aplicativo) e domínios trans, por exemplo, comunicação entre um ambiente de execução padrão e um enclave seguro. A implementação real do HSM PAL depende do hardware seguro específico em uso. Sua existência permite o uso de praticamente qualquer hardware de silício seguro.
Raiz de silício seguro do hardware de confiança
O silício seguro é necessário para ancorar a confiança dentro do hardware do dispositivo IoT Edge. O silício seguro é variado para incluir o Trusted Platform Module (TPM), o Secure Element (eSE) incorporado, o Arm TrustZone, o Intel SGX e as tecnologias de silício seguras personalizadas. O uso de raiz de silício seguro de confiança em dispositivos é recomendado, dadas as ameaças associadas à acessibilidade física de dispositivos IoT.
O objetivo do gerenciador de segurança do IoT Edge é 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 da IoT do Azure 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
Para saber mais sobre como proteger os dispositivos IoT Edge, leia as postagens de blog a seguir: