Description
In UDS (ISO 14229) SecurityAccess service, the seed must be unpredictable because the entire authentication model depends on the ECU issuing a challenge that an attacker cannot anticipate.
The typical flow is:
- Tester requests security access
- ECU sends a seed
- Tester computes
key = f(seed, secret)
- ECU verifies key
If the seed is predictable, repeated, low entropy, or generated from weak pseudo-random logic, the challenge-response scheme becomes vulnerable.
So the Seed must be truly random to minimize the probability of using a seed more than once. The more the Seed is random the more it can prevent replay and brute-forcing attacks using precomputed tables AKA rainbow tables.
Using classic pseudo-random number generators such as rand() or time dependent algorithms can be predictable.
The True Random Number Generator (TRNG) uses physical noise sources and is fundamentally nondeterministic to ensure outputs are not algorithmically predictable. TRNGs can be featured in MCUs that embed Secure Hardware Extensions (SHE) like HSM (Hardware security Module).
This short video demonstrates UDS Security Access Seed generation using TRNG feature of the HSM of Infineon Aurix TC275TP MCU.
Leave a Reply