Для ядра Linux 3.13 представлены патчи с улучшением генерации случайных чисел
Разработчик Теодор Тсо представил патч, улучшающий работу с случайными числами для ядра 3.13. Наиболее заметными изменениями является улучшение производительности и повышение качества энтропии, а также ряд улучшений, касающихся работы генератора случайных чисел на платформах, отличных от х86. Например, как один из источников энтропии теперь может использоваться регистр времени, который слишком груб для точного отслеживания времени, однако годится в качестве одного из источников энтропии. Кроме этого реализован режим «канарейки», при котором в лог ядра (printk) выводится сообщение, если программа попытается использовать /dev/urandom до того как он полностью инициализирован, что может потенциально привести к проблемам c надёжностью криптографических операций.
На платформе х86 данная проблема как правило не возникает (у самого разработчика на ноутбуке инициализация этого устройства завершается на 1.5 секунды раньше чем монтируется rootfs и какая либо программа получает шанс использовать устройство), однако предполагается, что это может быть проблемой на платформах ARM или MIPS.
В будущем предполагается реализовать поведение при котором при недостаточном накоплении энтропии выполнение программы приостанавливается до момента когда устройство /dev/urandom будет инициализировано и готово вернуть программе качественные случайные данные, что должно положительно сказаться на безопасности.
© OpenNet