Software Entropy Source via Race Conditions
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Reliability
If hardware-based entropy sources are used, then security and reliability are improved, but cost and device complexity increase
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.
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.
2Reliability
If hardware-based entropy sources are used, then security is improved, but cost increases
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.
3Reliability
If hardware-based entropy sources are used, then entropy quality is improved, but availability decreases
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.
4Reliability
If hardware-based entropy sources are used, then unpredictability is improved, but accessibility worsens
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.
Data Source
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.


