3

我最近遇到了一个错误,当我的 linux 服务器上的熵变得太低并且 /dev/urandom 的读取返回的字节数少于预期的字节数时,我没有正确处理。

如何通过测试重新创建它?有没有办法降低系统的熵或可靠地清空 /dev/urandom?

我希望能够进行回归测试来验证我的修复。我正在使用 Ubuntu 12.04。

4

1 回答 1

8

根据random(4)手册页,

read from the /dev/urandom device will not block

如果你想让它阻塞,你应该从/dev/random(没有任何)读取很多字节。u(有多少取决于硬件和系统)。

所以你不能“exaust” /dev/urandom,因为

 A read from the /dev/urandom device will not block waiting for 
 more entropy. As a result, if there is not sufficient entropy in 
 the entropy pool, the returned values are theoretically vulnerable 
 to a cryptographic attack on the algorithms used by the driver.

我相信你应该使用/dev/randomwhich 确实可以用尽,通过阻塞。但是你不应该从中读取超过 256 位。

于 2012-10-22T18:27:55.793 回答