-
-
Notifications
You must be signed in to change notification settings - Fork 280
Stirring in entropy #154
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Indeed a great idea! |
With endless development resources and a different chip, we could also add USB OTG and let people pipe in your infinite noise or a OneRNG 😁 |
Doing it in software is probably the better way. Even if I love the idea of connecting them via OTG, this is not a way to go ;-) Not seen any trustworthy self-auditing RNG's yet. OneRNG just mixes with a CRC (on-chip) function, if I'm correct. And the infnoise requires a special driver with whitening and health monitoring, which is in my opinion the safest way to audit an entropy source, but complex. |
Right :) There is some diagnostics (SECS register, p. 662), but it's far from an "audit". We might want to separately integrate a basic "is the TRNG functioning" test in |
Currently there's a basic entropy test over 16KB in the testing tool. |
For the record:
|
No dought the RNG on the STM chip actually works fine, but as you already said, it's far from being auditable. Also, it's closed-source hardware. At least we know the entropy comes from an ADC. So a way of mixing in entropy from more transparent sources would be great, but it's surely only something for advanced paranoia ;-) @conorpp: Those tests don't run on every device, before a key is created - do they? This would be a solution to at least identify broken/defect RNG's, as silently failing entropy sources are pretty bad. The idea from @nickray is good, but I guess most users won't perform such a test. Maybe if it's integrated into a general self-test. Imho, the firmware should at least verify the entropy source immediately before it's actually used (when no auditing is possible). |
This seems to be a not-so-bad result:
In the other direction, we have solokeys/solo1-cli#18 now. |
Just to add some fuel to the fire: It's worth noting that only the "FIPS" certified product lines were affected, which tells a lot about those security certifcations... Even more fuel: https://www.zdnet.com/article/major-hsm-vulnerabilities-impact-banks-cloud-providers-governments/ A general problem is probably the high re-certification cost, resulting in lack of updates! |
Uh oh!
There was an error while loading. Please reload this page.
In private conversation, @ThomasHabets suggested adding the possibility to add external entropy to the TRNG, in light of the ROCA Infineon incident.
E.g., if you need X bytes of entropy, allow user to provide X independent bytes of entropy (generated e.g. on desktop or otherwise auditable RNG). Use
entropy := device_entropy XOR stir_in_entropy
to generate key.I think this is a great idea and we should do it (e.g.
solo key reset --stir-in-entropy <some bytes in some easily digestible representation>
)cf. https://crypto.stackexchange.com/a/17660
The text was updated successfully, but these errors were encountered: