Se o firmware do seu dispositivo puder ser menos complexo que o carregador de inicialização necessário para uma atualização remota segura, não implemente a atualização remota .
Eu sei que o consenso é ter um gerenciador de inicialização seguro e robusto, com autenticação criptográfica pública forte, mecanismos de rollover seguros, talvez uma pilha de rede básica, e depois colocar um RTOS, com uma pilha de rede IP + TLS completa, e adicionar Além disso, sua aplicação. Isso é pura insanidade para um dispositivo de baixo consumo e baixo consumo de energia. IMHO, isso leva a produtos que são atualizados a cada semana ou mais, o que tende a incomodar os usuários, porque às vezes as atualizações começam no momento errado, falham ou quebram algo. As atualizações também consomem muita energia, portanto, o usuário precisa cobrar com mais frequência. E a segurança ainda está longe de ser garantida, pois a superfície de ataque é grande.
Seu dispositivo está realizando detecção / atuação básica, talvez algum acionamento / exibição local, mas não muito? Pule tudo isso.
Escreva código bare metal, use uma pilha muito básica, faça uma auditoria completa, faça uma verificação formal, se possível. E então você pode estar relativamente confiante de que seu dispositivo não terá problemas de segurança na próxima década.
Se tudo que você tem é um martelo, tudo parece um prego. E é por isso que a maioria dos codificadores tenta escrever código para proteger o código existente não seguro. Escrever menos código nem sempre é natural.