Hi,
I'm working on a V4FX design that contains cryptographic primitives.
To secure the system against an expected threat, it is necessary to produce a different seed for every session. The seed doesn't have to be random nor unpredictable, but the same seed should never be used more than once.
The system contains non-volatile storage for the purpose of generating a non-repeating seed. However the storage is external to the V4FX. An attacker could isolate the V4FX and make it repeat a seed by replaying the external stimulus (as recorded from a previous session).
To counter this threat, I wish to mix the externally acquired seed with on-chip generated "randomness". That would result in a different seed even during a stimulus replay attack. I know that chips are designed to behave as repeatable as possible, and I'm asking for quite the opposite. But at least I want to try, given that even a small amount of entropy can discourage an attack.
For example I'm thinking about an oscillating combinatorial loop, sampled during the regular clock events. I expect the output would vary (at least a little bit) with temperature, supply voltage and perhaps moon phase.
What other V4FX resources could be (mis)used for this purpose? I'd like to use two or three unrelated methods.
If you have any suggestion or experience, I'd highly appreciate your input.
Regards, Marc