Weighted Entropy Pool Service for Cryptographic Key Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional pseudo-random number generators (PRNGs) used in computing processes are deterministic and finite, making them inherently periodic and potentially insecure for generating cryptographic keys, as an attacker can predict subsequent keys based on the seed value.

Innovation Solution

An entropy pool service architecture with pluggable and weighted entropy sources that combines system and user entropy sources to provide enhanced randomness, using hashing to distribute entropy and preserve state across system boots, ensuring the quality and unpredictability of the generated random data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If pseudo-random number generators (PRNGs) are used for random data generation, then the system is deterministic and computationally efficient, but the security and unpredictability are compromised because attackers can predict keys based on seed values

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidsecurity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent combines multiple entropy sources (system entropy from hardware events, user entropy from application activities, and environmental entropy from external sources) into a unified entropy pool. This merging of diverse sources creates a composite random generation system that maintains computational efficiency while significantly improving security through increased unpredictability and entropy quality.

Inventive Principle:
Principle #5Merging (Combining)

2Device complexity

If traditional entropy sources are used, then the system structure is simple, but the entropy quality and certainty regarding randomness are insufficient

Engineering Contradiction:
Improvesystem structureVSAvoidentropy quality
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The patent introduces an entropy pool service as an intermediary layer between various entropy sources and the random number generation consumers. This service aggregates entropy from multiple sources, manages entropy quality through weighting mechanisms, and provides standardized random data output. The intermediary structure increases entropy quality and measurement precision while maintaining manageable system complexity through modular design.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If a single entropy source is used, then the system is easy to manage, but the certainty and quality of entropy in the pool are limited

Engineering Contradiction:
Improvesystem managementVSAvoidentropy certainty
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The entropy pool service is designed as a universal system that can accept and process multiple types of entropy sources through standardized interfaces. It implements multi-functionality by supporting system-level entropy collection, user-level entropy contribution, environmental entropy integration, and weighted entropy combination. This universal approach enhances entropy certainty and reliability while maintaining ease of operation through unified management protocols.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS7930332B2Weighted entropy pool service
Publication Date: 2011.04.19 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7930332B2 patent drawing
  • US7930332B2 patent drawing
  • US7930332B2 patent drawing

AI summary

A weighted entropy pool service system and methods. Weights are associated with entropy sources and are used to estimate a quantity of entropy contained in data from the entropy sources. An interface is optionally provided to facilitate connecting user entropy sources to the entropy pool service. The quantity of entropy contained in the system is tracked as entropy is distributed to entropy consumers. A persistent entropy pool state file stores entropy across system restarts.