PUF-Based Random Number Generator Trustworthiness Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods fail to effectively verify the trustworthiness of true random number generators (TRNGs) due to their non-deterministic nature, which is crucial for security-critical applications like key generation and authentication, especially in cloud computing environments where hardware trustworthiness is difficult to assure.
Innovation Solution
Implementing a physically unclonable function (PUF) module as an entropy source allows for a known-answer test, enabling pre-computation of test data-test result pairs to verify the trustworthiness of the random number generator, ensuring its authenticity and cryptographic strength.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a true random number generator (TRNG) is used to collect entropy from physical world effects, then cryptographic security is improved, but the ability to verify trustworthiness deteriorates due to non-deterministic nature
Solution Approach 1:
The patent introduces a verification module as an intermediary between the TRNG and the application. This module performs statistical tests and health checks on the TRNG output, mediating the verification process. The intermediary analyzes the entropy source output using predetermined statistical parameters and determines whether the TRNG is functioning correctly, thus enabling verification of the non-deterministic TRNG without compromising its cryptographic security
Solution Approach 2:
The patent implements feedback mechanisms where the verification module continuously monitors TRNG output and provides feedback about the health status of the entropy source. The system performs runtime health checks and uses the results to determine whether the TRNG should be trusted. This feedback loop enables ongoing verification of the TRNG's trustworthiness while maintaining its non-deterministic cryptographic functionality
2Productivity
If a pseudorandom number generator (PRNG) is used to expand seed output, then productivity is improved, but the detectability of TRNG flaws deteriorates
Solution Approach 1:
The patent segments the random number generation system into distinct functional components: an entropy source (TRNG), a verification module, and a PRNG. The verification module specifically tests the TRNG output before it is passed to the PRNG for expansion. This segmentation allows statistical tests to be applied directly to the TRNG seed generation, enabling flaw detection in the entropy source while still utilizing the PRNG for high-productivity random number generation
Solution Approach 2:
The patent performs preliminary verification of the TRNG output before it is used to seed the PRNG. The system conducts statistical tests and health checks on the entropy source output in advance, determining whether the TRNG is functioning correctly before allowing its output to influence the PRNG. This preliminary action ensures that flawed TRNG output does not propagate through the PRNG, maintaining flaw detectability while preserving productivity
3Measurement precision
If statistical tests are applied to TRNG output, then measurement precision is improved, but the ability to detect systematic flaws deteriorates
Solution Approach 1:
The patent employs multiple statistical parameters and test methods to evaluate TRNG output, including but not limited to uniformity tests, autocorrelation tests, and entropy measurements. By changing and varying the statistical parameters used for testing, the system can detect different types of flaws in the TRNG. The verification module uses a suite of statistical tests with different parameters to comprehensively assess TRNG health, making it difficult for systematic flaws to evade detection
Data Source
AI summary
A method (40) is provided for performing a trustworthiness test on a random number generator, RNG, (20) comprising a physical unclonable function, PUF-module (21). The trustworthiness test is implemented as a known answer test, KAT, and the method (40) comprises: receiving (41), in the PUF-module (21), an input based on test data, T, received from a verifier (11) provided with at least one test data-test result pair, (T, R), providing (42) an output from the PUF-module (21), determining (43) a test result, R′, based on the output from the PUF-module (21), and providing (44) the test result, R′, to the verifier (11). A random number generator (20), computer program and computer program products and a method performed by or in a verifier are also provided.


