Continue lendo para ver rapidamente como implementar uma inicialização segura e autenticação mútua TLS para seu dispositivo IoT.
Introdução ao Microsoft Azure RTOS e ao Elemento Seguro ATECC608 TrustFLEX
Você usa o Microsoft Azure RTOS, os elementos seguros ATECC608 ou TA100 e deseja implementar uma inicialização segura e autenticação mútua TLS para seu dispositivo de Internet das Coisas (IoT)? Se sim, você está no lugar certo.
A cadeia de confiança da IoT do dispositivo incorporado à segurança da nuvem do Azure é composta por várias camadas. Neste artigo, iremos nos concentrar em estabelecer o conceito mais fundamental, a raiz de confiança, composta pela função de inicialização segura e uma autenticação mútua TLS usando o Microsoft Azure Real Time Operating System (RTOS) e a autenticação segura ATECC608 TrustFLEX Integrada Circuito (IC).
Para começar, como você implementa algum nível de inicialização segura quando seu dispositivo IoT usa um microcontrolador padrão (MCU)? Bem, é aqui que um elemento seguro como o ATECC608 ou o TA100 pode ser útil. É verdade que não há bootROM neste caso, mas entre nenhuma inicialização segura e uma inicialização segura com uma chave pública isolada dentro de um elemento seguro para verificação, o modelo de ameaça e as condições de negócios provavelmente irão favorecer o projeto baseado em elementos seguros. No nosso caso, usaremos o tradicional MCU baseado em SAME54 Arm® Cortex®-M4 e a placa complementar de elemento seguro ATECC608 TrustFLEX para o hardware que representa o nó final da IoT. Agora, se o seu nó final requer multithreading e precisa do Azure RTOS para se beneficiar de toda a API incorporada relacionada ao Azure, como a comunicação entre o MCU e o elemento seguro funciona nesse ambiente RTOS? Precisamos olhar para PKCS#11.
O que é PKCS#11 e como ele se encaixa no Azure RTOS
PKCS#11 significa Public Key Cryptography Standards número 11. É uma interface para acionar operações criptográficas que irão alavancar segredos (as chaves). Em termos simples, é uma interface padrão entre um sistema operacional e um Hardware Security Module (HSM). O HSM em nosso caso é o ATECC608 e — você adivinhou — o sistema operacional é o Azure RTOS.
O Microsoft Azure integrou convenientemente a interface PKCS#11 em seu Azure RTOS.
Os comandos criptográficos passarão pelo Azure RTOS para PKCS#11, mas há uma biblioteca intermediária necessária: Microchip CryptoAuthLib. Esta biblioteca torna o elemento seguro independente do MCU ou processador. CryptoAuthLib já suporta chamadas de uma interface PKCS#11 e as traduz em comandos de baixo nível para o elemento seguro ATECC608 TrustFLEX ou TA100, conforme mostrado no gráfico abaixo.
Inicialização segura e Azure RTOS
O sistema embarcado precisa realizar uma verificação do Algoritmo de Assinatura Digital de Curva Elíptica (ECDSA) com a chave pública associada à chave privada que assinou o código. A chave pública na configuração ATECC608 TrustFLEX TLS é ilustrada abaixo. Ao baixar o Trust Platform Design Suite (TPDS), você pode acessá-lo sem NDA.
Algo a saber é que o Microsoft Azure oferece um serviço de “Device Update”, onde você pode usar um par de chaves pública/privada pré-geradas, em que a chave privada é protegida de forma ideal em um HSM e o Device Update realiza a operação de assinatura do código e cria uma assinatura como saída. A chave pública associada à assinatura seria provisionada (programada com segurança) no slot 15 do Microchip ATECC608 TrustFLEX usando o serviço de provisionamento de chave segura da Microchip. O TPDS orientará você pelo processo de integração. A chave privada que assinou o código nunca deve sair do HSM da empresa nem deve ser fornecida a nenhum Fabricante de Contrato (CMs). Lembre-se, a segurança é um modelo de responsabilidade compartilhada. Agora temos um código assinado que será carregado pelo CM do Device Update em cada MCU durante a fabricação. Forneceremos a chave pública dentro de seus elementos seguros, seja o ATECC608 TrustFLEX ou TA100, usando nossas fábricas equipadas com HSM. O CM também montará o elemento seguro já provisionado e as chaves não serão expostas à cadeia de suprimentos. Agora, a empresa de dispositivos IoT pode permanecer flexível com o CM de sua escolha.
Autenticação mútua
Depois de cuidar da inicialização segura, vem a autenticação mútua entre o dispositivo incorporado e o Hub IoT do Azure. Antes de enviar dados para o Hub IoT do Azure, o dispositivo inserido precisará confiar na nuvem e vice-versa. O dispositivo IoT será autenticado mutuamente com o Device Provisioning Service (DPS). O arquivo manifesto fornecido pela Microchip, que contém os certificados associados à chave privada solicitada pela autenticação mútua TLS, é carregado no DPS. O DPS agora tem a lista de chaves públicas e pode verificar a assinatura emitida dentro do elemento seguro do sistema embarcado para finalizar a cadeia de confiança. A cadeia de confiança é constituída tanto pela inicialização segura quanto pela autenticação mútua, onde a chave pública da inicialização segura e a chave privada da autenticação mútua TLS são protegidas e isoladas do código, pessoas e fabricantes durante todo o desenvolvimento e implantação de dispositivo embutido. O DPS então se comunica com confiança com o Hub IoT do Azure com base em um dispositivo IoT confiável via NetX TLS também com suporte e fornecido pelo Azure RTOS.
A autenticação mútua TLS depende de uma infraestrutura de chave pública (PKI) que pode ser estática ou gerenciada. Para a PKI estática, o Azure acomoda qualquer empresa de certificado raiz, como Digicert, GlobalSign e muito mais. Para a PKI gerenciada, os serviços de gerenciamento de dispositivos estão disponíveis em empresas parceiras de segurança da Microchip, como Crypto Quantique, KeyFACTOR e Kudelski. Sua API pode ser conectada diretamente ao ambiente de nuvem do Azure para revogar, alternar e auditar seus certificados.
Quando se trata dos elementos seguros do TrustFLEX para TLS, eles podem fazer mais do que os dois casos de uso mencionados anteriormente e abordar uma variedade de casos de uso, como:
- Rotação de chave privada para gerenciamento de dispositivos e transferência de propriedade
- Rotação de chave pública para privilégio de acesso do usuário e atualização de versão de firmware controlada
- Proteção de IP de firmware
- Autenticação acessória e descartável
Para resumir, você pode acessar todo o projeto, incluindo o Azure RTOS com uma implementação PKCS#11 para implementar uma inicialização segura e autenticação mútua usando o serviço de provisionamento seguro ATECC608 TrustFLEX e Microchip pré-configurado. Baixe a versão mais recente do TPDS e experimente Azure RTOS e o projeto de código C. Lembre-se de entrar em contato com seu especialista em segurança local da Microchip e confira o Webinar Design Week com o especialista do Azure Tim Stapkov.
Texto original escrito por Xavier Bignalet e publicado em: How to Use Microsoft® Azure® RTOS and the ATECC608 TrustFLEX Secure Element. Traduzido pela Equipe Embarcados.
Veja onde comprar componentes Microchip e solicitar amostras de canais oficiais: Link
Microchip na América Latina
A Artimar é representante comercial das principais fábricas mundiais de componentes eletrônicos. Com 60 anos de tradição, atua em parceria com a Microchip por 31 anos, juntos sempre buscando trazer alta tecnologia com novos recursos e produtos que ajudam no setor de eletroeletrônica em toda a América Latina.
A Artimar pode te ajudar a encontrar a melhor solução para o seu projeto. Possuímos uma equipe de especialistas que estão prontos para te ajudar.
Clique abaixo e tenha acesso ao suporte técnico Artimar, distribuidores autorizados Microchip para adquiri os seus produtos ou entre em contato conosco: https://www.artimar.com.br/comprar-microchip/
Traduzido pela Equipe Embarcados. Visite a página da Microchip No Embarcados
(*) Este post foi patrocinado pela Microchip





show