【发布时间】:2014-12-06 02:52:41
【问题描述】:
我已尽我所能跟踪 mod_ssl 和 OpenSSL FIPS 代码,并且我相信 mod_ssl.conf 文件中给出的 SSLRandomSeed 配置参数很简单在 mod_ssl 中启用 FIPS 模式时不会做任何有用的事情。
跟踪ssl_init_Module() 中的代码似乎表明函数ssl_rand_seed() 在设置FIPS 模式之前被调用。 ssl_rand_seed() 将从给定的 SSLRandomSeed 定义的源执行播种,但一旦您切换到 FIPS 模式,DRBG 将从头开始重新创建,而不保留任何信息。
事实上,根据 OpenSSL 基本代码 e_os 中定义的 DEVRANDOM 宏,OpenSSL 的 FIPS 模式似乎不遗余力地从 /dev/urandom、/dev/random 和 /dev/srandom(按此顺序)获取源.h 为标准 Linux 目标编译时。
有人有这种组合的经验吗?
他们能否评论如何提供运行时选定的熵源,例如已处理的文件?每次我想更改随机源时,是否必须重新编译 OpenSSL 并提供新的 DEVRANDOM 定义?
【问题讨论】: