Считайте параметры Intel DRBG
Более новые процессоры Intel включают DRBG, которая генерирует случайные числа, которые вы можете прочитать с помощью инструкции RDRAND. Он включает 256-битовое начальное число S, сгенерированное из аппаратного источника энтропии, зависящего от шума в метастабильном генераторе. Алгоритм, используемый для получения чисел, эффективно AES(K,V)
где K - это эфемерный ключ, полученный из половины S, а V - это IV, полученный из другой половины S. Я думаю, в любом случае; это лучше объясняется некоторыми людьми, которые проверяли это.
По разным причинам я хотел бы программно проверить работу этого механизма на месте, что требует умения читать или получать две вещи:
- Значение S
- Значение либо K, либо V
Использование этого и вывода RDRAND в течение нескольких итераций предоставит мне необходимые тестовые данные для такого определения.
Тем не менее, нигде в руководстве разработчика программного обеспечения или в другом месте я не могу найти какие-либо документированные средства для выполнения любой из этих задач.
Предполагая, что я готов написать модуль ядра Linux для этого, и что я готов использовать RDMSR для него или любые другие доступные средства, включая обращения к встроенным устройствам, таким как MEI, возможно ли получить эти данные?
1 ответ
Внутреннее состояние DRBG находится в пределах границы безопасности, соответствующей FIPS 140-2. Вы не можете получить доступ к этим переменным состояния.