在虚拟化 Linux 系统中耗尽熵似乎是一个常见问题(例如/dev/random 非常慢?,让 linux 缓冲 /dev/random)。尽管使用了硬件随机数生成器 (HRNG),但通常建议使用像HAVEGED这样的熵收集守护进程。但是熵收集守护进程 (EGD) 不能在 Docker 容器内运行,它必须由主机提供。
对于基于 Ubuntu、RHEL 等 Linux 发行版的 docker 主机,使用 EGD 效果很好。让这样的守护进程在基于 Tiny Core Linux (TCL) 的 boot2docker 中工作似乎是另一回事。虽然 TCL 有扩展机制,但熵收集守护进程的扩展似乎不可用。
因此,EGD 似乎是在(生产)托管环境中运行 docker 容器的合适解决方案,但如何解决它以在 boot2docker 中进行开发/测试?
由于在 boot2docker 中运行 EGD 似乎太难了,所以我想简单地使用 /dev/urandom 而不是 /dev/random。使用 /dev/urandom 的安全性稍差一些,但对于大多数不生成长期加密密钥的应用程序来说仍然可以。至少在 boot2docker 中进行开发/测试应该没问题。