On Mon, Jan 10, 2022 at 9:18 PM Theodore Ts'o <tytso@xxxxxxx> wrote: > In general, you need FIPS > certification for some specific use cases / application. For example, > if you're going for PCI compliance, then you might only need FIPS > compliance for your OpenSSL library. What the FIPS certification lab > might consider acceptable for its entropy for its DRBG is an > interesting question. For some, simply having the OpenSSL library use > RDSEED or RDRAND might be sufficient. Or it could talk to an actual > physical RNG device. > > So disabling getrandom() is probably not necessary, just so long as > you can demonstrate that the FIPS cryptographic module --- i.e., the > OpenSSL library --- is getting its entropy from an acceptable source. I don't know exactly what these people think they want, but what you say seems probably correct. > I suspect what's actually going on is that some enterprise customers > have FIPS complaince on a check-off list, and they aren't actually > getting a formal FIPS certification. Or they only need something to > wave under the noses of their PCI certification company, and so the > question is what makes them happy. Right. > And this is why some FIPS certification have gotten by just *fine* > with a pure userspace OpenSSL library as their FIPS cryptographic > module. Where you draw the line between a "blessed" entropy source > and one that's just hand-waving is really at the discretion of the > certification lab. Hah, probably correct. So, seen this way, and combined with the solution provided at [1] (or similar) for people who think they need something there, it seems like the FIPS people can likely get what they need without really needing to involve the kernel anyway. Jason [1] https://lore.kernel.org/lkml/YdynXjhhuQfbYuSb@xxxxxxxxx/