Pensemos en el ejemplo de una unidad de control electrónico (ECU) que utiliza un software integrado estático tradicional. El gestor de arranque es un componente de software que se utiliza tanto para iniciar el arranque del software principal de la ECU, incluida la copia del software en la RAM, como para realizar cualquier comprobación del software antes del arranque. El gestor de arranque también es responsable de actualizar el software, recibir, comprobar y escribir el software actualizado en la memoria, normalmente en la memoria Flash. Por eso, el término Flash Bootloader también se utiliza habitualmente.
¿Se utilizan los mismos cargadores de arranque en el desarrollo y la producción?
Por lo general, se puede utilizar el mismo gestor de arranque en el desarrollo de vehículos y las ECU asociadas y en la producción normal, con las protecciones para garantizar que las ECU de producción tienen muchas capacidades de desarrollo o ingeniería, los gestores de arranque desactivados. Durante el desarrollo del vehículo, a menudo es conveniente eliminar los mecanismos de seguridad de los cargadores de arranque de producción para permitir un despliegue rápido del software de desarrollo.
Gestor de arranque seguro
Cada vez más, todos los cargadores de arranque tienen que ser seguros. Sin embargo, tradicionalmente esta ha sido una distinción, normalmente implementada para proteger la funcionalidad relacionada con la seguridad y, a veces, el rendimiento.
Los cargadores de arranque suelen comprobar la memoria del software de la ECU al arrancar y reciben el software antes de la actualización del software y en la memoria después.
Los mecanismos suelen incluir:
- Autenticación del software recibido o presente en la memoria al arrancar, a menudo mediante un hash del binario del software para comprobar la exactitud generado a partir de un proceso de compilación seguro de las versiones de software publicadas oficialmente.
- Autenticación del remitente mediante una semilla y una clave, protección de los datos seguros dentro de la ECU mediante memoria segura y mapas de memoria para definir las áreas accesibles y reescribibles.
Gestor de arranque doble
Algunas implementaciones de los cargadores de arranque se dividen en dos partes, de ahí el término gestor de arranque dual. En este caso, el gestor de arranque principal no se puede actualizar, como parte de la protección del gestor de arranque. Esto tiene que ver con el arranque del módulo y la actualización del gestor de arranque secundario. El gestor de arranque secundario se puede actualizar mediante un proceso seguro, lo que permite modificar el proceso de actualización del software, por ejemplo, el mapa de memoria, lo que permite bloquearlos normalmente. Este tipo de gestor de arranque es menos común ahora debido a los nuevos métodos para proteger el proceso de actualización mediante hardware seguro integrado, por ejemplo, el HSM (módulo seguro de hardware).
Tenga en cuenta que este término es como arranque dual, en el que hay dos bloques de arranque o memorias completas disponibles, lo que permite actualizar la versión no utilizada mientras una versión está activa. Esto requiere memoria adicional en cada ECU que admita este método de actualización.
Capital Embedded Bootloader
Capital Embedded Bootloader admite actualizaciones fiables de la ECU durante el desarrollo, la producción del vehículo y durante la vida útil del vehículo, mediante herramientas de diagnóstico conectadas o metodologías inalámbricas. El protocolo UDS estándar ISO 14229 se utiliza en varios buses de red de vehículos comunes, Ethernet, CAN/CAN-FD, LIN, FlexRay, y también es posible utilizar otros métodos, como los protocolos de calibración ASAM. La ciberseguridad es un aspecto clave del flujo de actualizaciones de software y las funciones que permiten la autenticación del software y las opciones de arranque seguro forman parte de la solución. Para cumplir con los requisitos específicos de los OEM (fabricantes de equipos originales) y MCU, hay un amplio soporte disponible para una amplia gama de proyectos de ECU.
¿Cuál es la diferencia entre OTA y FOTA?
La actualización OTA (inalámbrica), o FOTA (firmware inalámbrico), es un método para lograr la recepción del nuevo software para un dispositivo integrado, por ejemplo, la ECU del automóvil, de forma remota, no mediante una herramienta de servicio conectada directamente en un taller. Esto puede requerir alguna capacidad de diagnóstico integrada en una ECU de coordinación y/o capacidades de recuperación y autocomprobación en el propio gestor de arranque.