到目前为止,我知道TPM正在使用热噪声来生成真正的随机数。但我也确定TPM使用更多的熵源。 因为键击时序,驱动器寻道时间或时钟抖动都是可能的。但TPM使用哪些来源?它是如何将它们转换为真正的随机数的?
答案 0 :(得分:1)
TPM的随机数生成器必须如何看起来可以在规范中阅读。对于TPM 1.2,我链接此PDF:Part 1 Design Principles
当您查看 4.2.5随机数生成器部分时,您会很好地了解它的工作原理。但是,某个TPM的RNG如何工作是一个实现细节,由制造商决定。但是,规范提到了一些可能的熵源:
类型的来源可能包括噪音,时钟变化,空气流动和其他类型的事件
使用状态机和混合函数完成对随机数的转换。同样,实现是特定于供应商的。我引用:
RNG由接收和混合不可预测数据的状态机和具有单向功能的后处理器(例如SHA-1)组成。设计背后的想法是TPM可以成为随机性的良好来源,而无需真正的硬件熵源。