可信平台模块如何生成真正的随机数? [英] How does the Trusted Platform Module generate its true random numbers?

查看:74
本文介绍了可信平台模块如何生成真正的随机数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

到目前为止,我知道 TPM 正在使用热噪声来生成真正的随机数.但我也确信 TPM 使用更多的熵源.因为击键时间、驱动器寻道时间或时钟抖动都是可能的.但是 TPM 使用哪些来源?以及如何将它们转换为真正的随机数?

So far I know that the TPM is using thermal noise for generating true random numbers. But I'm also sure that the TPM uses more sources for the entropy. In that that keystroke timings, drive seek time, or clock jitter would be possibilities. But which sources does the TPM use? And how does it convert them into a true random number?

推荐答案

可以在规范中阅读 TPM 的随机数生成器的外观.对于 TPM 1.2,我链接此 PDF:第 1 部分设计原则

How a TPM's random number generator has to look like can be read in the specification. For TPM 1.2, I link this PDF: Part 1 Design Principles

当您查看 4.2.5 随机数生成器部分时,您会大致了解它的工作原理.但是,某个 TPM 的 RNG 如何工作是一个实现细节,取决于制造商.但是,规范中提到了一些可能的熵来源:

When you look at section 4.2.5 Random Number Generator you get a good idea how it works in general. However, how a certain TPM's RNG works is an implementation detail and is up to the manufacturer. However, the specification mentions some possible entropy sources:

来源类型可能包括噪音、时钟变化、空气流动和其他类型的事件

types of sources could include noise, clock variations, air movement, and other types of events

到随机数的转换是使用状态机和混合函数完成的.同样,实现是特定于供应商的.我引用:

The conversion to a random number is done using a state machine and a mixing function. Again, implementation is vendor specific. I cite:

RNG 由一个接受和混合不可预测数据的状态机和一个具有单向功能(例如 SHA-1)的后处理器组成.设计背后的理念是,TPM 可以成为良好的随机性来源,而无需真正的硬件熵来源.

The RNG consists of a state-machine that accepts and mixes unpredictable data and a post-processor that has a one-way function (e.g. SHA-1). The idea behind the design is that a TPM can be good source of randomness without having to require a genuine source of hardware entropy.

这篇关于可信平台模块如何生成真正的随机数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆