【发布时间】:2014-09-24 15:45:15
【问题描述】:
在虚拟化 Linux 系统中耗尽熵似乎是一个常见问题(例如/dev/random Extremely Slow?、Getting linux to buffer /dev/random)。尽管使用了硬件随机数生成器 (HRNG),但通常建议使用像 HAVEGED 这样的熵收集守护进程。但是熵收集守护进程 (EGD) 不能在 Docker 容器内运行,它必须由主机提供。
对于基于 Ubuntu、RHEL 等 Linux 发行版的 docker 主机,使用 EGD 可以正常工作。让这样的守护进程在基于 Tiny Core Linux (TCL) 的 boot2docker 中运行似乎是另一回事。虽然TCL有一个扩展机制,一个熵收集守护进程doesn't seem to be available的扩展。
因此,EGD 似乎是在(生产)托管环境中运行 docker 容器的合适解决方案,但如何解决它以在 boot2docker 中进行开发/测试?
由于在 boot2docker 中运行 EGD 似乎太难了,所以我考虑过简单地使用 /dev/urandom 而不是 /dev/random。使用 /dev/urandom 的安全性稍差一些,但对于大多数不生成长期加密密钥的应用程序来说仍然可以。至少在 boot2docker 中进行开发/测试应该没问题。
【问题讨论】:
-
openssl 用户
urandom。你在做什么需要更多? -
一些 Java 加密提供程序在 /dev/random 上中继(例如,用于安全随机数生成)。
-
我同意你不能总是控制它。无论如何,在这里你有一些关于 java
SecureRandom与/dev/[u]random- bugs.openjdk.java.net/browse/JDK-4705093 的附加信息
标签: docker boot2docker