为什么几乎每个命令都试图读取urandom?

在嵌入式系统的最新内核(5.x)/ rootfs中(如果重要,请访问mips / MT7628 / busybox),我看到了以下内容:

random: mount: uninitialized urandom read (4 bytes read)
random: fsck.vfat: uninitialized urandom read (4 bytes read)
random: tar: uninitialized urandom read (4 bytes read)
...

一段时间(〜10分钟!)后,我终于看到了:

[  562.001438] random: crng init done

两个问题:

  1. 为什么初始化/ dev / urandom需要这么长时间?
  2. 出于什么原因mounttar应该首先尝试使用它?

注意:对于较旧的内核(3.x),我没有这个问题。

ayaya1234 回答:为什么几乎每个命令都试图读取urandom?

答案来自另一个来源(感谢亚历山德罗·鲁比尼);我在这里将其与以后参考。

  1. 如果在编译内核时选择了“具有加密强度的”随机数,这是可以预期的(不使用专用硬件进行随机化,仅使用中断定时就需要很多时间);如果不需要,请取消选择“加密RNG”(例如我的情况)。
  2. 这与一般的实际命令(尤其是Barebox)无关。看来,加载程序会随机分配虚拟空间中的堆栈位置,以防止缓冲区溢出攻击。
本文链接:https://www.f2er.com/3121727.html

大家都在问