读取Intel DRBG参数

Fal*_*mot 5 security intel prng rdrand

较新的英特尔处理器包括一个DRBG,它可以生成随机数,您可以使用RDRAND指令读取这些数字.它涉及从硬件熵源产生的256位种子S,其取决于亚稳振荡器中的噪声.用于得到数字的算法是有效的AES(K,V),其中K是从S的一半导出的短暂密钥,V是从S的另一半导出的IV.无论如何,我认为; 一些审计过的人更好地解释了这一点.

出于各种原因,我想以编程方式原位审计此机制的性能,这需要能够读取或导出两件事:

  • S的值
  • K或V的值

在多次迭代中使用此输出和RDRAND输出将为我提供所需的测试数据以进行此确定.

但是,在软件开发人员手册或其他地方,我找不到任何记录完成这些任务的方法.

假设我愿意编写一个Linux内核模块来实现这一点,并且我愿意使用RDMSR或任何其他可用方法,包括调用片上设备(如MEI),是否可以获取这些数据?

Dav*_*ton 2

DRBG 的内部状态位于符合 FIPS 140-2 的安全边界内。您无法访问这些状态变量。