发布于 2015-06-16 13:19:00
在TRNG结构中,环没有一个共同的启用信号,它们同步的唯一时间点是启动。然后他们自由地跑,每个人都有自己的速度。这本身并不会产生很大的随机性,但这确实会在触发器输入中产生许多故障。希望通过元稳定性创造出更多的随机性。对于PUF,有一个共同的启用,因此环振荡器是相互竞争与一个共同的同步点在开始。挑战输入选择正在竞争的实例。对于给定的挑战和给定的芯片,竞赛的结果总是有相同的结果,因为每个环的精确频率取决于每个阶段的精确物理特性。
这与RO的运行时间无关,这只是输出的使用方式,从而产生了不同的效果。您甚至可以删除PUF中的启用信号,这仍然有效,因为重要的是频率上的差异,而对于TRNG来说,这是采样时的实际输出值。
TRNG可能确实是随机的,但要正确(获得较高的数据速率)是很棘手的。其他基于异步环或混沌映射的构造是更安全的选择。
发布于 2017-01-08 04:05:13
PUF测量振荡器频率,这取决于器件制造过程中原子的排列方式。RNG利用了振荡器频率和相位在较短时间内的随机性。
任何定时装置(钟摆、石英谐振器、RC振荡器等)有一些固有的“噪音”或“抖动”,这是众所周知的设计师。如果我们建立一个输出是脉冲流的振荡器,那么脉冲间的时间是不完全一致的。这种噪声的性质和行为类似于较为常见的噪声类型,而且也是随机的。

在环形振荡器TRNG中,每个振荡器相对于采样时钟的相位随时间漂移。大部分漂移是由于振荡器和采样频率的不同造成的,但也有一些是由抖动引起的。
换句话说,想象一个具有启用输入的单个环形振荡器。在经过一段时间的T后,它被打开,然后进行采样。每个周期持续(1/f)+jitter。经过很长一段时间,大量的抖动值被添加到相位中。输出可以是相同概率的1或0。不幸的是,对于高斯抖动,N抖动值加在一起的标准偏差只有N^0.5的一倍。
该方案效率低,每比特需要多个抖动样本。相分布必须是宽到几乎均匀的。对N环振荡器的输出进行采样,XORed可以产生比在F/N上采样相同的N环振荡器更多的随机比特。有一些统计分析显示了为什么,但它可以直观地理解,通过考虑机会的数量,抖动值必须移动一个振子的相位刚好足以引起一些翻转。过采样每个振荡器产生大量的相关比特。Xoring将它们组合在一起,形成一个白化输出流。
的影响
PUFs的设计是为了减少随机噪声源对其结果的影响。理想的PUF只取决于原子在器件制造过程中的着陆方式。您所展示的PUF设计并不是“预测”某个时候T的环形振荡器的输出值。它计数输出脉冲。输出大致为:"Is the frequency of the first selected ring oscillator higher than that of the second selected ring oscillator?"。对于相当长的运行时间,这不会受到抖动值的显著影响。抖动效应以0.5次方为尺度,计数数呈线性增加。较长的运行时间收敛到一个完美的频率比较。对于频率非常接近的振荡器,抖动在结果中起着很大的作用。这就是为什么在给定的设备上,一些PUF挑战值可能没有明确的1或0答案。
https://security.stackexchange.com/questions/81843
复制相似问题