Считайте параметры 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. Вы не можете получить доступ к этим переменным состояния.

Другие вопросы по тегам