FAVORITAR
Faça login para como favoritoFechar

Seu Produto com ESP32 Está Realmente Seguro?

A segurança é um aspecto fundamental no desenvolvimento de dispositivos IoT. A Espressif, ciente das ameaças crescentes no ambiente conectado, implementou uma série de medidas de segurança robustas no ESP-IDF para o ESP32. Neste artigo, exploraremos essas medidas e como elas ajudam a proteger seus dispositivos.

Domine o desenvolvimento com ESP32 usando o ESP-IDF, o framework de desenvolvimento IoT oficial da Espressif! Torne-se um desenvolvedor profissional de ESP32. Saiba como aqui.

1. Boot Seguro

O Boot Seguro é uma camada crucial de proteção que verifica a integridade do firmware durante a inicialização do dispositivo. Este processo assegura que apenas firmware autorizado e legítimo seja executado, bloqueando qualquer tentativa de execução de código malicioso que possa comprometer o dispositivo. A verificação de assinatura ocorre tanto na inicialização quanto durante as atualizações OTA, garantindo uma defesa robusta contra possíveis ameaças. Recomenda-se fortemente ativar o Secure Boot em todos os dispositivos de produção para maximizar a segurança.

Boas Práticas para Implementação do Secure Boot

  • Geração da Chave de Assinatura: Utilize um sistema com alta qualidade de entropia para gerar a chave de assinatura.
  • Proteção da Chave Privada: Mantenha a chave de assinatura em segurança absoluta. O vazamento dessa chave comprometerá a eficácia do Secure Boot.
  • Segurança no Processo de Geração e Assinatura: Evite que terceiros tenham acesso ao processo de geração ou assinatura da chave usando o espsecure.py. Esses processos são suscetíveis a ataques de canal lateral ou de temporização.
  • Programação de eFuses de Segurança: Verifique se todos os eFuses de segurança foram corretamente configurados. Isso inclui desativar interfaces de depuração e modos de inicialização não necessários (como o modo UART DL).

2. Criptografia de Flash

A criptografia de flash é uma função essencial para proteger os dados armazenados na memória flash externa. Ao criptografar o conteúdo da flash, a dificuldade para invasores acessarem e extraírem informações de software ou dados é consideravelmente aumentada. Esse mecanismo é fundamental para garantir a segurança dos dados sensíveis em dispositivos IoT.

Boas Práticas para Criptografia de Flash

  • Modo de Liberação de Criptografia: Utilize o modo de liberação de Criptografia de Flash para cenários de produção, garantindo uma proteção eficaz.
  • Chave Única por Dispositivo: É aconselhável ter uma chave de criptografia de flash exclusiva para cada dispositivo, aumentando a segurança individual.
  • Ativação do Secure Boot: Ative o Secure Boot como uma camada adicional de proteção. Isso ajuda a prevenir que um atacante corrompa seletivamente partes do flash antes da inicialização do dispositivo.

3. Interfaces de Depuração

JTAG

A interface JTAG é desativada automaticamente se qualquer funcionalidade de segurança estiver ativada. Além disso, a interface JTAG pode ser desativada independentemente de outras funcionalidades de segurança, utilizando a API eFuse.

Seminário Linux Embarcado 2024: Evento Presencial em São Paulo

Participe do Seminário Linux Embarcado 2024 em São Paulo. Conhecimento técnico, palestras, workshops e oportunidade de networking com profissionais experientes.

Inscreva-se

Modo de Download UART

Para o ESP32 ECO3, o modo de Download UART será desativado se qualquer funcionalidade de segurança estiver ativada na configuração de liberação. Alternativamente, você pode desativar este modo chamando esp_efuse_disable_rom_download_mode() em tempo de execução.

Quando o modo de Download UART está desativado, o esptool.py não funcionará no dispositivo.

4. Segurança de Rede

Wi-Fi

Além dos métodos tradicionais de segurança como WEP, WPA-TKIP e WPA2-CCMP, o driver Wi-Fi no ESP-IDF suporta protocolos de segurança adicionais de última geração para reforçar a proteção da rede.

TLS (Transport Layer Security)

Para garantir a segurança das comunicações externas, como a comunicação com a nuvem e atualizações OTA, é recomendável utilizar o TLS (Transport Layer Security). O ESP-IDF oferece suporte ao Mbed TLS como a pilha TLS oficial.

O TLS está integrado por padrão em vários componentes do ESP-IDF, incluindo o ESP HTTP Client e o HTTPS Server. Para garantir a segurança, é aconselhável utilizar os componentes de protocolo ESP-IDF em sua configuração padrão, evitando desativar HTTPS ou fazer ajustes críticos nas configurações de segurança.

Abstração ESP-TLS

O ESP-IDF inclui uma camada de abstração para as funcionalidades TLS mais utilizadas. Recomenda-se que as aplicações utilizem a API exposta pelo ESP-TLS para simplificar a implementação de TLS.

Pacote de Certificados ESP

A API do ESP x509 Certificate Bundle permite incluir facilmente um pacote de certificados raiz x509 personalizados para a verificação do servidor TLS. Utilizar um pacote de certificados é uma maneira eficiente de assegurar a identidade de servidores TLS padrão.

É altamente recomendável verificar a identidade do servidor usando certificados X.509 para evitar estabelecer comunicação com servidores falsos.

Gerenciamento de Certificados Raiz

Os certificados raiz incorporados na aplicação devem ser gerenciados com atenção. Atualizações na lista de certificados raiz ou no ESP x509 Certificate Bundle podem afetar a conexão TLS com o ponto final remoto, incluindo servidores de atualização OTA. Em alguns casos, isso pode tornar o dispositivo incapaz de realizar atualizações OTA.

Os motivos para atualizar a lista de certificados raiz podem incluir:

  • Novos pontos finais remotos no firmware.
  • Expiração de certificados existentes.
  • Alterações no pacote de certificados a montante.
  • Mudanças na lista de certificados devido a estatísticas de mercado (como CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN).

Diretrizes a serem consideradas:

  • Considere habilitar o rollback OTA e usar a conexão bem-sucedida com o servidor de atualização OTA como um ponto de verificação para o processo de rollback. Isso garante que o firmware atualizado consiga se conectar ao servidor de atualização; caso contrário, o rollback retornará ao firmware anterior.
  • Se optar por habilitar a opção CONFIG_MBEDTLS_HAVE_TIME_DATE, garanta que o mecanismo de sincronização de tempo (SNTP) esteja ativo e que haja um número suficiente de certificados confiáveis.

5. Segurança do Produto

Provisionamento Seguro

O Provisionamento Seguro é um processo que permite integrar o dispositivo ESP de forma segura à rede Wi-Fi. Além disso, ele possibilita o provisionamento de dados de configuração personalizados adicionais durante a fase inicial de provisionamento a partir de uma entidade de provisionamento, como um smartphone.

O ESP-IDF oferece vários esquemas de segurança para garantir uma sessão segura entre o ESP e a entidade de provisionamento.

A Espressif disponibiliza aplicativos para Android e iOS, incluindo o código-fonte, facilitando a personalização conforme as necessidades do produto.

Atualizações OTA Seguras

  • Transporte Seguro: As atualizações OTA devem ser realizadas através de um transporte seguro, como HTTPS.
  • Camada de Abstração: O ESP-IDF oferece uma camada de abstração simplificada com ESP HTTPS OTA.
  • Secure Boot: Se o Secure Boot estiver ativado, a imagem da aplicação deve ser assinada e hospedada pelo servidor.
  • Criptografia de Flash: Com a Criptografia de Flash habilitada, não são necessários passos adicionais no servidor, pois a criptografia será feita no dispositivo durante a gravação na memória flash.
  • Processo de Rollback: O processo de rollback pode ser utilizado para garantir que a aplicação ative apenas após a verificação bem-sucedida de sua funcionalidade.

Proteção contra Rollback

A funcionalidade de proteção contra rollback assegura que o dispositivo execute apenas a aplicação que esteja em conformidade com os critérios de versão de segurança armazenados no eFuse. Mesmo que a aplicação seja assinada por uma chave legítima, o dispositivo rejeitará qualquer aplicação que contenha funcionalidades de segurança ou credenciais revogadas.

O ESP-IDF implementa essa funcionalidade para a aplicação e a gerencia através do bootloader de 2ª etapa. A versão de segurança é armazenada no eFuse e comparada com o cabeçalho da imagem da aplicação durante a inicialização e nas atualizações OTA.

Distribuição de Firmware Criptografado

A distribuição de firmware criptografado durante as atualizações OTA garante que a aplicação permaneça criptografada durante a transmissão do servidor para o dispositivo. Esta abordagem adiciona uma camada extra de proteção, além da comunicação TLS, e ajuda a preservar a integridade da aplicação.

Armazenamento Seguro

O armazenamento seguro refere-se ao armazenamento seguro de dados específicos da aplicação na memória flash externa do dispositivo. Normalmente, esses dados são armazenados em uma partição flash de leitura e escrita e incluem, por exemplo, credenciais de Wi-Fi.

O ESP-IDF fornece o componente de gerenciamento NVS (Non-Volatile Storage), que suporta partições de dados criptografadas. Esta funcionalidade está relacionada à Criptografia de Flash descrita anteriormente.

Por padrão, os componentes ESP-IDF armazenam dados específicos do dispositivo, incluindo credenciais Wi-Fi, na partição NVS padrão. Recomenda-se utilizar a funcionalidade de Criptografia NVS para proteger esses dados.

Controle Seguro do Dispositivo

O ESP-IDF permite o controle seguro de um dispositivo ESP via Wi-Fi/Ethernet + HTTP ou BLE utilizando o componente ESP Local Control.

Conclusão

A segurança é um dos pilares fundamentais no desenvolvimento de dispositivos IoT. À medida que os dispositivos se tornam cada vez mais integrados em nossas vidas, garantir sua segurança se torna uma prioridade inegociável. No entanto, muitos produtos acabam indo para a produção com falhas críticas de segurança devido ao desconhecimento e à falta de treinamento adequado dos desenvolvedores.

Não deixe que sua solução IoT seja uma dessas estatísticas. Esteja um passo à frente da concorrência e assegure-se de que seus produtos estejam protegidos contra ameaças emergentes. Ao se inscrever na Academia ESP32 Profissional, você terá acesso a um curso completo e atualizado sobre todas as melhores práticas e técnicas de segurança para o ESP32, permitindo que você desenvolva produtos com a confiança de que estão seguros e prontos para o mercado.

Inscreva-se agora e transforme seu conhecimento em uma vantagem competitiva. Torne-se um especialista em segurança IoT e evite as falhas comuns que podem comprometer a integridade de seus projetos.

Não perca mais tempo! Sua jornada para se tornar um desenvolvedor ESP32 profissional começa aqui. Clique aqui para garantir sua vaga na Academia ESP32 Profissional e dê o próximo passo em sua carreira de sucesso!

Inscreva-se agora e transforme sua carreira!

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.
Comentários:
Notificações
Notificar
0 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Home » Hardware » Seu Produto com ESP32 Está Realmente Seguro?

EM DESTAQUE

WEBINARS

LEIA TAMBÉM

JUNTE-SE HOJE À COMUNIDADE EMBARCADOS

Talvez você goste:


Seminário de
Sistemas Embarcados e IoT 2024
 
Data: 25/06 | Local: Hotel Holiday Inn Anhembi, São Paulo-SP
 
GARANTA SEU INGRESSO

 
close-link