Entropy Collection via Software Timers for PRNG Reseeding

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
ImprovePRNG management complexityVSAvoidforward security
Core Design Contradiction:
Device complexityVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #19Periodic action

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

Engineering Contradiction:
Improveentropy source configurationVSAvoidentropy quality
Core Design Contradiction:
Ease of operationVSReliability

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.

Inventive Principle:
Principle #25Self-service

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.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If multiple entropy sources are collected with different frequencies, then entropy quality is improved, but device complexity and timing management are increased

Engineering Contradiction:
Improveentropy qualityVSAvoidtimer management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #23Feedback

4Productivity

If entropy is collected continuously without buffering, then productivity is improved, but security is compromised due to insufficient entropy accumulation

Engineering Contradiction:
Improveentropy collection rateVSAvoidseeding adequacy
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentEP3500923B1Collecting entropy from diverse sources
Publication Date: 2020.08.05 ORACLE INT CORP
  • EP3500923B1 patent drawingFigure 1
  • EP3500923B1 patent drawingFigure 2
  • EP3500923B1 patent drawingFigure 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.