Software Entropy Source via Race Conditions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Hardware-based entropy sources are not universally available, particularly in IoT devices and virtualized platforms, and are costly and prone to failures, making them impractical for lower-end computing devices and insecure without direct access.

Innovation Solution

Implementing software-based entropy sources derived from race conditions, Rowhammer DRAM vulnerability, and DRAM access latencies, which leverage software processes and physical phenomena to generate unpredictable data for random number generation, enhancing security and reliability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If hardware-based entropy sources are used, then security and reliability are improved, but cost and device complexity increase

Engineering Contradiction:
Improveentropy source reliabilityVSAvoidentropy source complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates a software-based copy of hardware entropy source functionality by implementing entropy generation through software processes that exploit race conditions in multi-threaded execution. This copying approach allows systems without dedicated hardware entropy sources to achieve similar security properties through software implementations of random number generation.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent replaces hardware-based entropy generation mechanisms with software-based alternatives that utilize computational race conditions. By substituting physical hardware entropy sources with software processes that exploit timing variations and non-deterministic execution paths, the system achieves entropy generation without requiring specialized hardware components.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If hardware-based entropy sources are used, then security is improved, but cost increases

Engineering Contradiction:
Improvecryptographic securityVSAvoiddevice cost
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent employs software-based entropy sources that can be implemented on standard, inexpensive processors without requiring costly hardware entropy modules. By using software processes that exploit race conditions in multi-threaded execution, the system achieves cryptographic-grade randomness on budget devices, effectively replacing expensive hardware components with affordable software solutions.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Reliability

If hardware-based entropy sources are used, then entropy quality is improved, but availability decreases

Engineering Contradiction:
Improveentropy qualityVSAvoidplatform availability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal software-based entropy source that can operate on any platform with multi-threaded processing capabilities, regardless of whether hardware entropy sources are present. This universal approach allows the same software implementation to provide high-quality entropy on diverse platforms including IoT devices, mobile phones, and servers, making the solution adaptable to virtually any computing environment.

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

4Reliability

If hardware-based entropy sources are used, then unpredictability is improved, but accessibility worsens

Engineering Contradiction:
Improverandomness unpredictabilityVSAvoidentropy source accessibility
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces software as an intermediary layer that captures and processes entropy from race conditions in multi-threaded execution. This software intermediary extracts unpredictable data from timing variations and execution path differences, making entropy accessible to applications without requiring direct hardware access. The software layer mediates between the underlying hardware execution variability and the application's need for random numbers.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20230315392A1Software-based entropy source based on race conditions
Publication Date: 2023.10.05 VMWARE INC
  • US20230315392A1 patent drawing
  • US20230315392A1 patent drawing
  • US20230315392A1 patent drawing

AI summary

In one set of embodiments, a computer system can initialize a counter that is shared by a plurality of software processes, where each software process is programmed to increment the counter a predefined number of times. The computer system can further run the plurality of software processes concurrently. Upon completion of the plurality of software processes, the computer system can apply one or more functions to the shared counter and output the result as an entropy sample.