Beyond Total Locking: Demonstrating and Measuring Mutual Influence on a RO-Based True Random Number Generator on an FPGA
Résumé
Ring oscillator-based true random number generators are of interest because of their well-known and well-characterised conversion of analog noise into random numbers. The main drawback of using ring oscillators as a source of randomness is their tendency to be influenced by their environment. In particular, oscillators may lock to another signal at a frequency close to the nominal frequency of the ring, or two or more rings may even lock to each other. This is particularly dangerous for generators with multiple rings, which require the rings to be independent of each other. Furthermore, to reduce the risk of manipulable global noise sources, the rings should have the same structure and topology, making them even more vulnerable to locking. The metrics commonly used to quantify the degree of locking have limitations that can lead to erroneous conclusions as to whether a ring is locked or not. This is why we prefer to use the term mutual influence. In this paper, we propose a clear definition of the mutual influence between ring oscillators used as sources of randomness. One of the advantages of this definition is that it can easily be extended to include the case of the total locking of rings. Based on this definition, we introduce a new metric to quantify the mutual influence, which evaluates a statistical distance between the current distribution of phase differences and uniform distribution. The experimental results of several FPGA implementations of ring oscillators highlighted the suitability of the Kolmogorov-Smirnov test as a metric for detecting mutual influence.