Я проследил код mod_ssl и OpenSSL FIPS, насколько это возможно, и я считаю, что параметр конфигурации SSLRandomSeed
, указанный в файле mod_ssl.conf
, просто не делает ничего полезного, когда Режим FIPS включен в mod_ssl.
Отслеживание кода в ssl_init_Module()
показывает, что функция ssl_rand_seed()
вызывается до установки режима FIPS. ssl_rand_seed()
будет выполнять заполнение из заданных источников, определенных SSLRandomSeed, но как только вы переключитесь в режим FIPS, DRBG воссоздается с нуля без сохранения какой-либо информации.
На самом деле режим OpenSSL FIPS, по-видимому, старается изо всех сил исходить из /dev/urandom, /dev/random и /dev/srandom (именно в таком порядке) в соответствии с макросом DEVRANDOM, определенным в базовом коде OpenSSL e_os.h, когда скомпилирован для стандартной цели Linux.
У кого-нибудь есть опыт работы с этой комбинацией?
Могут ли они прокомментировать, как предоставить выбранный во время выполнения источник энтропии, такой как обработанный файл? Нужно ли мне перекомпилировать OpenSSL и предоставлять новое определение DEVRANDOM каждый раз, когда я хочу изменить источник случайности?