Monitoring Circuitry for Non-Deterministic Identification Key Generation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for generating unique identifiers for synthetic systems, such as integrated circuits, are deterministic and lack the non-deterministic properties necessary for secure applications, particularly in high-performance computer architectures with complex pipelines and caches.
Innovation Solution
The integration of monitoring circuitry within integrated circuits to observe and combine frequently changing signals, such as cache hit signals, to generate a machine-specific identification key, leveraging existing debug support circuitry to minimize resource duplication and ensure security.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a random number generating algorithm is used to generate unique identifiers, then the identification can be non-deterministic, but the algorithm is inherently deterministic unless based on samples of real world non-deterministic properties
Solution Approach 1:
The system uses its own internal operations (cache hits, pipeline effects) as the source of randomness. The monitoring circuitry observes signals generated by the system's natural execution, making the system self-sufficient for generating non-deterministic identifiers without external random number generators.
Solution Approach 2:
The patent replaces software-based random number generation with hardware-based monitoring of physical system states. By observing actual signals from the CPU pipeline and cache system, the invention substitutes algorithmic randomness with physical non-determinism in the hardware execution path.
2Reliability
If monitoring circuitry is integrated into the integrated circuit to observe frequently changing signals, then a reliable non-deterministic unique identifier can be generated, but existing debug support circuitry must be utilized which may have security implications
Solution Approach 1:
The invention extracts the monitoring function from traditional debug infrastructure and separates it into a dedicated monitoring circuitry block. This extraction allows the monitoring functionality to be isolated from the debug ports and access mechanisms, reducing security risks while maintaining the ability to observe system signals.
Solution Approach 2:
The monitoring circuitry acts as an intermediary between the system signals and the identification generation process. It observes frequently changing signals from the CPU pipeline and cache system, then feeds this information to the manipulation circuitry for key generation, creating a secure separation of concerns.
3Quantity of substance
If existing debug support circuitry is used for monitoring, then resource duplication is minimized, but the debug infrastructure may not be designed for security-critical operations
Solution Approach 1:
The invention merges the monitoring function with the existing debug support circuitry in terms of physical integration, using the same hardware infrastructure to perform both debugging and identification key generation. This merging minimizes resource duplication while the functional separation maintains security reliability.
Solution Approach 2:
The monitoring circuitry is designed to serve multiple functions: it can observe signals for debugging purposes and simultaneously generate identification keys for security applications. This multi-functionality allows the same hardware resources to be utilized for both purposes without compromising security, as the monitoring data is processed through dedicated manipulation circuitry.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
An integrated circuit assembly comprises monitoring circuitry (100) for observing the internal signals (114) of the system so that its properties are captured. The system properties are manipulated so that they can be used as a pseudo random number and or as the basis number for an encryption key. The monitoring circuitry (100) comprises: manipulation circuitry (201) to transform monitored data and combine it with previously manipulated values; and registers (202) to store previously manipulated values; and counters (200) to count events; and condition detection circuitry (203) for detecting when a signal is at a specific value or range of values. Optionally the monitoring circuitry (100) which has the functionality for capturing system properties may be combined with other monitoring circuitry, which has the functionality required by a debug support circuit (300). The monitoring circuitry (100) avoids replication of resources by sharing parts of specific monitoring circuits like counters (200).