如果不考虑熵,并且即使提供的熵不足,池也不会阻塞,那么它是否存在潜在的不安全性?
答案1
/dev/random
并没有通过消除对熵的需要来实现非阻塞。事实上,它并没有真正成为非阻塞的。在大多数架构上,它已经变得有效地“最多阻塞很短的时间”,这要归功于使用 CPU 执行抖动作为熵源。
被删除的是阻塞池(这是合并的提交)。这是可能的,因为内核的加密随机数生成器被认为足够好,一旦初始化,就不会要求额外的熵。它仍然可以在初始化时阻塞,但在具有 CPU 执行抖动的架构上,这种情况不会持续很长时间。
这一切都意味着/dev/random
和之间不再有任何有意义的区别/dev/urandom
,因此它们可以合并。那个改变已提交但到目前为止还没有合并。