Entropy Collection via Software Timers for PRNG Reseeding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The OpenSSL entropy model is considered weak, leading to potential security vulnerabilities, particularly in FIPS mode where it relies on external entropy sources without ensuring quality, and lacks reseeding of its pseudo-random number generator (PRNG), which can compromise forward security.
Innovation Solution
Implement a method involving multiple software timers to collect entropy from diverse sources, adjust frequencies based on PRNG output, and accumulate entropy in buffers before seeding the PRNG, ensuring robust and frequent reseeding to enhance security.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If OpenSSL uses a single global PRNG without reseeding, then device complexity is reduced, but security and forward secrecy are compromised
Solution Approach 1:
The patent divides the single global PRNG into multiple independent PRNG instances, each seeded from different entropy sources. This segmentation allows each PRNG to operate independently with its own seed, providing forward security while maintaining manageable complexity through modular architecture.
Solution Approach 2:
The patent implements periodic reseeding of the PRNG with fresh entropy collected from multiple diverse sources. This periodic action ensures that the PRNG is continuously refreshed with new entropy, maintaining forward security without requiring complex manual intervention.
2Ease of operation
If OpenSSL relies on external entropy sources without quality assessment, then ease of operation is improved, but entropy quality and security are compromised
Solution Approach 1:
The patent implements self-service entropy quality assessment where the system automatically evaluates and selects from multiple entropy sources without requiring user intervention. The entropy collection mechanism autonomously monitors source quality and adjusts collection strategies, maintaining ease of operation while ensuring high entropy quality through automated validation.
Solution Approach 2:
The patent dynamically changes entropy collection parameters based on source quality assessment. When entropy sources are evaluated, the system adjusts collection frequencies, buffer sizes, and selection criteria accordingly, optimizing both ease of operation and entropy quality through adaptive parameter modification.
3Reliability
If multiple entropy sources are collected with different frequencies, then entropy quality is improved, but device complexity and timing management are increased
Solution Approach 1:
The patent implements dynamic timer management where collection frequencies are adjusted based on real-time entropy source performance and system conditions. This dynamic approach allows the system to optimize entropy quality by adapting collection rates to actual source capabilities, reducing unnecessary complexity from rigid fixed-frequency scheduling.
Solution Approach 2:
The patent incorporates feedback mechanisms that monitor entropy source quality and collection effectiveness, using this information to automatically adjust timer frequencies and collection strategies. This feedback loop optimizes the balance between entropy quality and timing management complexity by learning from past performance.
4Productivity
If entropy is collected continuously without buffering, then productivity is improved, but security is compromised due to insufficient entropy accumulation
Solution Approach 1:
The patent implements preliminary entropy accumulation in buffers before actual seeding occurs. This preliminary action allows the system to gather sufficient entropy from multiple sources in advance, ensuring that when seeding is needed, adequate entropy is already available. The buffer mechanism prepares entropy ahead of time without delaying critical security operations.
Solution Approach 2:
The patent maintains continuous entropy collection through overlapping buffer fills and asynchronous seeding operations. This continuity ensures that entropy gathering never stops, while the buffering mechanism ensures sufficient accumulation before each seed operation, maintaining both productivity and security through uninterrupted useful action.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Methods and systems are disclosed for generating more random data or ensuring more random data than provided by single sources. Entropy is gathered among multiple random or pseudo-random sources at different frequencies. The entropy is pushed, pulled, or otherwise presented to a pseudo-random number generator when there is enough entropy. The determination of enough entropy can be through a modified Hamming distance. The frequencies of polling for entropy from the entropy sources can be jittered by a random amount.