到目前为止,我知道TPM正在使用热噪声产生真正的随机数。但我也确信TPM使用了更多的熵源。在这种情况下,敲击时间、驱动寻觅时间或时钟抖动都是可能的。但是TPM使用的是哪些来源呢?它如何将它们转换成一个真正的随机数呢?
发布于 2016-01-13 23:13:21
TPM的随机数生成器的外观如何可以在规范中读到。对于TPM1.2,我链接这个PDF:第一部分设计原则
当您查看4.2.5节中的随机数生成器时,您可以很好地了解它的一般工作原理。但是,某个TPM的RNG是如何工作的,这是一个实现细节,取决于制造商。然而,规范提到了一些可能的熵源:
源的类型可以包括噪音、时钟变化、空气运动和其他类型的事件。
向随机数的转换使用状态机和混合函数进行。同样,实现是特定于供应商的。我引述:
RNG由接受和混合不可预测数据的状态机和具有单向功能(例如SHA-1)的后处理器组成。设计背后的理念是,TPM可以是很好的随机性来源,而不必需要真正的硬件熵源。
https://stackoverflow.com/questions/33941957
复制相似问题