Embitel Logo

Enabling Secure ECU Reprogramming with Flash Data Security (FDS) and Integrity Validation Data

Tools and Technologies

  • Programming Protocol : UDS over LIN
  • Flash Description : ODX
  • Hash Algorithm : SHA-256
  • Digital Signature : ECDSA (NIST P-256)
  • Secure Communication Capability : ECDH-P192
  • Asymmetric Cryptography Capability : RSA-4096
  • Symmetric Encryption Capability : AES-128 (ECB/CBC/CTR)
  • Compression Capability : LZSS
  • Key Storage : Protected Memory, OTP Memory
  • Diagnostic Standards : Unified Diagnostic Services
  • Validation : Functional Verification, Security Validation, Customer Tool Validation

About the Customer

Our customer is a Tier-1 automotive supplier specializing in lighting systems for premium OEM platforms. They have strong expertise in projection optics, FPGA, and hardware design.


Business Challenge

While working on an FPGA based automotive lighting solution, the customer realized the need for enhanced cybersecurity for ECU flashing through the bootloader.

The original bootloader architecture relied on CRC-based verification, which could detect data corruption during flashing but could not verify firmware authenticity or prevent unauthorized software execution.

Flash Data Security (FDS) and Integrity Validation Data (IVD) were best suited to manage the authenticity and integrity problem.

The implementation needed to address multiple security objectives without disrupting the existing programming workflow, including:

  • Prevention of unauthorized or tampered firmware execution
  • Verification of software authenticity during ECU programming
  • Validation of software integrity throughout the ECU lifecycle after deployment
  • Protection of cryptographic keys against unauthorized modification
  • Meeting stringent flashing-time requirements
  • Compatibility with existing Volkswagen standard ODX-based flashing tools and diagnostic workflows

The project also involved evolving customer expectations around cryptographic algorithms, key storage mechanisms, certificate handling, and compression requirements, necessitating a flexible and scalable security architecture.


Embitel's Solution

Development of Secure Bootloader Architecture with flash data security

We enhanced the existing bootloader with Flash Data Security (FDS), integrating digital signature verification into the standard UDS programming sequence while preserving the established pre-programming, programming, and post-programming workflow.

The secure flashing sequence consisted of:

  1. Security Access authentication.
  2. Firmware download using standard UDS services.
  3. Application programming into flash memory.
  4. Transfer of digital signature information.
  5. ECU-side signature verification.
  6. Controlled application execution only after successful authentication.

This approach ensured that only firmware signed by an authorized source could be executed, protecting the ECU against unauthorized software installation and malicious firmware modification.

FDS-signature
Cryptographic Security Implementation

The security architecture combined integrity verification with asymmetric authentication.

  1. Digital Signature Verification
  2. The implementation utilized ECDSA with the NIST P-256 elliptic curve for firmware authentication.

    • Private keys remained with the authorized flashing environment.
    • Public keys were securely stored within the ECU.
    • Firmware execution was permitted only after successful signature verification.
  3. Integrity Validation
  4. SHA-256 hashing was used to verify firmware integrity throughout the programming process and during post-deployment validation.

    The architecture ensured that firmware could not be altered without detection while providing strong cryptographic assurance of software authenticity.

    Integrity Validation Data (IVD)

    In addition to secure programming, Embitel implemented Integrity Validation Data (IVD) to continuously verify software integrity after deployment.

    Unlike Flash Data Security, which validates software during programming, IVD enables integrity checks throughout the ECU lifecycle.

    After successful programming, Integrity Validation Data (IVD) records the validated software state. During every ECU power-on, the bootloader performs an integrity validation before transferring execution to the application. As part of this startup sequence, the bootloader also verifies that the programmed software is compatible with the target hardware configuration and that the software image is suitable for execution. Only after these validation and compatibility checks are successfully completed does the bootloader hand over control to the application.

    The solution supports:

    • Diagnostic-triggered integrity verification.
    • ECU self-validation routines.
    • SHA-256-based integrity comparison against stored validation data.

    This layered approach improves long-term software reliability by detecting unexpected modifications in ECU flash memory after deployment.

Reusable Cryptographic and Data-Processing Framework

We used a reusable software framework capable of supporting multiple hashing, authentication, key-agreement, encryption, and decompression algorithms. This allowed the security architecture to be adapted to different OEM specifications and MCU platforms without redesigning the complete bootloader.

The framework included support for:

  • SHA-256 and SHA-512 for secure hash generation, digital-signature processing, and firmware-integrity verification.
  • ECDSA with NIST P-256 and P-384 curves for asymmetric signature generation and verification.
  • ECDH P-192 for establishing a shared secret between communicating entities over an untrusted network.
  • RSA-4096 for asymmetric digital-signature generation and verification where required by the OEM security specification.
  • AES-128 in ECB, CBC, and CTR modes for symmetric encryption and decryption of sensitive software or communication data.
  • LZSS decompression for restoring compressed firmware or data packages before programming and validation.

For this ECU implementation, the selected FDS path primarily used SHA-256 with an ECC-256 signature-verification mechanism. The remaining algorithms formed part of the reusable security and data-processing capability available for other customer or platform requirements.

Optimized Flash Programming Performance

To minimize programming time, Embitel optimized the hashing strategy by calculating SHA-256 hash values incrementally as firmware blocks were received.

Instead of performing complete hash computation after programming completion, the ECU processed data block-by-block during transfer.

This optimization:

  • Reduced final verification time.
  • Improved overall flashing efficiency.
  • Helped satisfy customer flashing-time requirements without requiring firmware compression.
Secure Key Management

The cryptographic trust model relied on secure public-key storage within protected MCU memory.

The implementation leveraged MCU security features including:

  • Protected memory regions.
  • One-Time Programmable (OTP) memory for permanent key storage.

Storing public keys in protected memory prevented unauthorized modification of trust anchors and strengthened overall bootloader security.

Separate development and production key environments were maintained, allowing engineering teams to perform validation using development keys while preserving OEM ownership of production keys.

To further strengthen ECU security after production deployment, the solution supports the MCU’s JTAG Permanent Lock feature, which permanently disables debugger access once the ECU is provisioned. This prevents unauthorized firmware extraction, memory access, or modification through the debug interface, complementing the secure bootloader and protected key-storage architecture.

ODX-Based Programming Integration

The secure flashing solution remained fully compatible with the customer’s existing diagnostic infrastructure.

ODX-integration

Programming was performed using:

  • Standard ODX project files.
  • Volkswagen-compliant flashing procedures.
  • Vendor-approved diagnostic programming tools.

The architecture also supports secure distribution of ODX files through digital signature mechanisms, helping maintain integrity throughout the programming ecosystem.

Hardware Security Module (HSM) Readiness

The solution was designed to leverage the MCU’s Hardware Security Module (HSM), which provides hardware-accelerated cryptographic operations such as SHA hashing, digital signature verification, and secure key management.

While the delivered project used Embitel’s reusable software-based security stack, the architecture remains HSM-compatible, enabling future migration to hardware-accelerated cryptographic services for significantly lower computation time, improved performance, and enhanced protection of security assets.

Validation Strategy

Extensive verification and validation activities were conducted to validate both functional behaviour and security robustness.

Testing scenarios included:

  • Power interruption during programming.
  • Communication interruption.
  • Corrupted firmware images.
  • Invalid digital signatures.
  • Unauthorized firmware modification.
  • End-to-end programming verification.
  • Customer tool compatibility validation.

Testing was performed through both internal verification activities and customer validation using OEM-approved flashing tools.

Innovation Highlights
  • Integrated Flash Data Security into an existing UDS bootloader without altering the standard programming workflow.
  • To meet stringent flashing-time requirements, we implemented a pipelined verification approach in which SHA-256 hash computation is performed incrementally as firmware blocks are received during programming. By overlapping data transfer with integrity calculation, the solution significantly reduces post-programming verification time while maintaining cryptographic assurance.
  • Reused Embitel’s proven cryptographic software stack, including SHA-256, ECDSA, and bootloader components, significantly reducing implementation effort.
  • Designed a scalable architecture capable of supporting future enhancements such as AES-based firmware encryption, LZSS (Lempel–Ziv–Storer–Szymanski) compression, and Hardware Security Module (HSM) acceleration.

Embitel's Impact

The implemented solution enabled the customer to strengthen ECU software security while preserving compatibility with existing production programming processes.

Key outcomes included:

  • Prevented execution of unauthorized or tampered firmware through cryptographic authentication.
  • Enabled software integrity verification during both programming and field operation.
  • Achieved flashing-time targets through optimized incremental hash computation.
  • Reduced engineering effort by approximately 2–3 months through reuse of Embitel’s proven security IP.
  • Established a scalable security foundation for future adoption of hardware-accelerated cryptography, secure firmware encryption, and advanced software protection mechanisms.

The project delivered a production-ready secure flashing solution that improved software trust, strengthened ECU cyber resilience, and provided a reusable foundation for future automotive programs.

Statistics
Scroll to Top