Si le micrologiciel de votre appareil peut être rendu moins complexe que le chargeur de démarrage requis pour une mise à jour à distance sécurisée, alors n'implémentez pas la mise à jour à distance .
Je sais que le consensus est d'avoir un chargeur de démarrage sécurisé et robuste, avec une authentification cryptographique publique forte, des mécanismes de basculement sûrs, peut-être une pile réseau de base, puis mettre en plus un RTOS, avec une pile réseau IP + TLS complète, puis ajouter en plus de cela, votre application. C'est de la folie pure pour un appareil à faible consommation et à faible coût. À mon humble avis, cela conduit à des produits qui sont mis à jour toutes les semaines environ, ce qui a tendance à déranger les utilisateurs car parfois les mises à jour commencent au mauvais moment, échouent ou cassent quelque chose. Les mises à jour consomment également beaucoup d'énergie, de sorte que l'utilisateur doit charger plus souvent. Et la sécurité est encore loin d'être garantie car la surface d'attaque est grande.
Votre appareil effectue une détection / activation de base, peut-être un certain déclenchement / affichage local mais pas beaucoup? Sautez tout ça.
Écrivez du code nu, utilisez une pile très basique, auditez-la soigneusement, faites une vérification formelle si possible. Et puis, vous pouvez être relativement confiant que votre appareil n'aura pas de problèmes de sécurité pour la prochaine décennie.
Si vous n'avez qu'un marteau, tout ressemble à un clou. Et c'est pourquoi la plupart des codeurs essaient d'écrire du code pour sécuriser leur code existant non sécurisé. Écrire moins de code ne vient pas toujours naturellement.