Copyright is owned by Accenture PLC.
Eclipse Heimlig is a Hardware Security Module (HSM) firmware for embedded platforms written in Rust.
As an HSM, Eclipse Heimlig typically runs on dedicated hardware and provides cryptographic services to clients running on other cores. These include:
- Generation and secure storage of cryptographic keys.
- Key use (encryption, decryption, signing, verification) without revealing key material to the client.
- Generation of cryptographically secure random numbers (CSPRNG).
All elements will be developed in Rust, which brings major advantages in terms of security, efficiency, and reliability.
Eclipse Heimlig is a Hardware Security Module (HSM) firmware for embedded platforms written in Rust.
As an HSM, Eclipse Heimlig typically runs on dedicated hardware and provides cryptographic services to clients running on other cores. These include:
- Generation and secure storage of cryptographic keys.
- Key use (encryption, decryption, signing, verification) without revealing key material to the client.
- Generation of cryptographically secure random numbers (CSPRNG).
Eclipse Heimlig implements common cryptographic algorithms:
- Symmetric encryption and decryption (AES-CBC, AES-GCM, AES-CCM, Chacha20Poly1305)
- Signing and verification (ECDSA)
- Key exchange (ECDH)
- Hashing (SHA-2, SHA-3, BLAKE3)
- Random number generation (ChaCha20Rng)
Encryption happens on multiple ECU's inside a vehicle. Having an HSM written in Rust can be of huge advantage and broad acceptance by the SDV development community.
Applying Open Source components in the security domain provides additional credibility of the code itself.
Current limitations and hence open points for future work include:
- Most cryptographic algorithms are implemented in software only, therefore make more use of hardware encryption
- Asynchronous operation
- The code should be independently audited by security experts.
First build already available (MVP)
Some German OEMs
An example implementation is available for the STM32H745XI discovery board as well as for Linux (for development).
- Log in to post comments