solo1
solo1 copied to clipboard
Idea: use HWRNG indirectly
One of the Solokey reviewers recommends avoiding direct RNG use, and instead run its result as seed through secure random generator algorithm. The author has not listed disadvantages of the current solution unfortunately. Idea to discuss.
Excerpt from:
- https://www.assured.se/2020/05/19/a-brief-look-at-open-security-keys-part-one-solokeys/
One thing I noted security wise is that the SoloKeys code uses the TRNG in the MCU directly. I would have expected and recommended using the TRNG as a seed generator for something like a SP 800-90 secure random number generator. And using standardized key derivation algorithms.
Potentially connected:
- https://github.com/solokeys/solo/issues/445
For reference, this is what Trussed does (and solo2 uses) with the externally injected TRNG: https://github.com/trussed-dev/trussed/blob/main/src/service.rs#L561-L628