Si el firmware de su dispositivo puede hacerse menos complejo que el gestor de arranque requerido para una actualización remota segura, entonces no implemente la actualización remota .
Sé que el consenso es tener un gestor de arranque seguro y robusto, con una sólida autenticación de cifrado público, mecanismos seguros de reinversión, tal vez una pila de red básica, y luego poner encima un RTOS, con una pila de red IP + TLS completa, luego agregar Además de eso su aplicación. Esto es pura locura para un dispositivo de bajo costo y bajo consumo. En mi humilde opinión, esto lleva a productos que se actualizan cada semana más o menos, que tienden a molestar a los usuarios porque a veces las actualizaciones comienzan en el momento equivocado, fallan o rompen algo. Las actualizaciones también consumen mucha energía, por lo que el usuario debe cargar más a menudo. Y la seguridad aún está lejos de estar garantizada ya que la superficie de ataque es grande.
Su dispositivo está haciendo una detección / actuación básica, ¿tal vez alguna activación / visualización local pero no mucho? Salta todo eso.
Escriba código simple, use una pila muy básica, audítelo a fondo, haga alguna verificación formal si es posible Y luego puede estar relativamente seguro de que su dispositivo no tendrá problemas de seguridad durante la próxima década.
Si todo lo que tienes es un martillo, todo parece un clavo. Y es por eso que la mayoría de los codificadores intentan escribir código para asegurar su código existente no seguro. Escribir menos código no siempre es algo natural.