Secure Firmware Updates for Automotive Nodes
Fecha
2018-05Autor
Ávila-Gutiérrez, Carlos I.
González-Rodríguez, Jorge A.
Páez-Rodríguez, Tomas I.
Metadatos
Mostrar el registro completo del ítemDescripción
With the fast-growing smart applications in the automotive market, the need to provide a robust, secure, and standardized mechanism to solve firmware defects or improve the features within the node, has become a key factor for the Electronic Control Units (ECUs) in the car. Some research has aimed to solve this mechanism; however, a standardized and secure solution has not been addressed. The objective of this thesis is to provide a robust, secure, and standardized firmware update mechanism for any given ECU. The update process consisted in implementing a bootloader application in charge of the reprogramming process while the new firmware was received through the use of Unified Diagnostic Services (UDS) over the Controller Area Network (CAN) protocol. A secure communication channel was required since an unauthorized access might cause a security risk for car users. This security requirement was fulfilled by implementing a “Seed & Key” mechanism using encryption and decryption algorithms implemented in the hardware. The process described in this thesis does not cover the mechanisms used to transmit the new firmware version (wired or wirelessly), as the application targets the ECU / edge node considerations to achieve a secure and sophisticated firmware update process. The implementation was based on an ARM Cortex® M4 device manufactured by NXP Semiconductors showing satisfactory results as the device was able to update its firmware by connecting a UDS client in charge of sending the new image over the CAN protocol. This update process can be used in further research to address other electronic features, such as the implementation on reduced-memory devices, the use of different encryption/decryption algorithms not implemented in hardware or even extend the functionality to other fast-speed interfaces.Con el crecimiento acelerado de las aplicaciones inteligentes en el mercado automotriz, la necesidad de proveer un mecanismo robusto, seguro y estándar para resolver defectos de firmware o mejorar las características en un nodo, se ha vuelto un factor clave para las unidades de control electrónicas ECU (del inglés, Electronic Control Unit) dentro del automóvil. Algunos estudios se enfocan en resolver dicho mecanismo, sin embargo, no se ha creado una solución estándar y segura. El objetivo de este trabajo es proveer un mecanismo de actualizaciones de firmware robusto, seguro y estándar para cualquier ECU. El proceso de actualización consistió en implementar una aplicación de bootloader que se encarga del proceso de reprogramación al momento de recibir un nuevo firmware por medio del estándar Servicios Unificados de Diagnóstico UDS (del inglés, Unified Diagnostic Services) sobre el protocolo CAN. Se requirió un canal seguro de comunicación dado que un acceso no autorizado podría causar un riesgo de seguridad para los usuarios de los automóviles. Dicho requerimiento de seguridad se cumplió implementando un mecanismo de “semilla y llave” con algoritmos de encriptación y desencriptación por medio de hardware. El proceso descrito en este trabajo no cubre los mecanismos usados para transmitir una nueva versión de firmware (alámbrica o inalámbricamente), ya que la aplicación se enfoca en consideraciones del ECU o nodo para lograr un proceso seguro y sofisticado de actualización de firmware. La implementación se basó en un dispositivo ARM Cortex® M4 fabricado por NXP Semiconductors mostrando resultados satisfactorios, dado que el dispositivo fue capaz de actualizar su propio firmware al conectar un cliente de UDS a cargo de enviar la nueva imagen sobre el protocolo Controller Area Network (CAN). Este proceso se puede usar en investigaciones posteriores para cubrir otras características electrónicas, por ejemplo, la implementación en dispositivos con poca memoria, el uso de diferentes algoritmos de encriptación/desencriptación que no sean por hardware o incluso extender la funcionalidad con otras interfaces de mayor velocidad.
Consejo Nacional de Ciencia y Tecnología