On Aug 25, 2010, at 4:37 PM, travis+ml-cryptogra...@subspacefield.org wrote:

I also wanted to double-check these answers before I included them:

1) Is Linux /dev/{u,}random FIPS 140 certified?
No, because FIPS 140-2 does not allow TRNGs (what they call non- deterministic). I couldn't tell if FIPS 140-1 allowed it, but FIPS 140-2 supersedes FIPS 140-1. I assume they don't allow non- determinism because it makes the system harder to test/certify, not because it's less secure.
No one has figured out a way to certify, or even really describe in a way that could be certified, a non-deterministic generator.

3) Is determinism a good idea?
See Debian OpenSSL fiasco.  I have heard Nevada gaming commission
regulations require non-determinism for obvious reasons.

IPS doesn't tell you how to *seed* your deterministic generator. In effect, a FIPS-compliant generator has the property that if you start it with an unpredictable seed, it will produce unpredictable values. Debian's problem was that it violated the "if" condition. The determinism of the algorithm that produced subsequent values wasn't relevant.

4) What about VMs?
Rolling back a deterministic RNG on those systems gives the same
values unless/until you re-seed with something new to this iteration.

I'm not sure what you mean by "rolling back". Yes, if you restart any deterministic RNG with a previously-used internal state, it will generate the same stream it did before. This is true whether you are in a VM or not.

RNG's in VM's are a big problem because the "unpredictable" values used in the non-deterministic parts of the algorithms - whether you use them just for seeding or during updating as well - are often much more predictable in a VM than a "real" machine. (For example, disk timings on real hardware have some real entropy, but in a VM with an emulated disk, that's open to question.)

We had a long discussion on this list a couple of weeks back which came to the conclusion that a hidden, instance-specific state, saved across reboots; combined with (fairly minimal) entropy at boot time; was probably a very good way to go.
                                                        -- Jerry

---------------------------------------------------------------------
The Cryptography Mailing List
Unsubscribe by sending "unsubscribe cryptography" to majord...@metzdowd.com

Reply via email to