Randomized Clock Cycle Lengths for Secure Boot Sequences
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Computing systems, particularly those executing secure boot sequences, are vulnerable to attacks such as replay attacks, channel analysis, and reset glitching due to predictable timing of operations, which compromises the security of sensitive data.
Innovation Solution
A randomized clock generator uses a random number generator to vary the length of clock cycles in the clock waveform, driven by a pseudo-random number generator seeded with true random number generator information, to create a non-predictable clock waveform that frustrates malicious attacks by making the timing of operations unpredictable.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a fixed clock waveform is used to drive processing circuitry during secure boot sequences, then the timing of operations is predictable and deterministic, but this predictability makes the system vulnerable to replay attacks and other security threats
Solution Approach 1:
The clock waveform is transformed from a static, fixed pattern to a dynamic, randomized pattern where clock cycle lengths vary unpredictably. A random number generator modifies the clock signal in real-time, creating variable cycle lengths that prevent attackers from predicting operation timing while maintaining functional operation of the processing circuitry.
Solution Approach 2:
The clock waveform parameters, specifically the clock cycle length, are changed from fixed values to randomized values. The random number generator continuously varies the clock cycle length parameter, creating a non-deterministic timing pattern that frustrates security attacks while preserving the operational integrity of the secure boot sequence.
2Reliability
If randomization is applied to clock cycle lengths to prevent replay attacks, then the timing of operations becomes unpredictable, but this may cause timing variations that could affect operational reliability
Solution Approach 1:
Randomization is applied selectively to clock cycle lengths rather than all timing parameters. The random variation is constrained to prevent excessive timing deviations that would disrupt normal operation, while still providing sufficient unpredictability to frustrate security attacks. This partial randomization achieves security without compromising operational reliability.
3Reliability
If a pseudo-random number generator is used to randomize clock cycles, then the system achieves a good balance between randomness and operational control, but the security depends on the quality of the seed information
Solution Approach 1:
A pseudo-random number generator acts as an intermediary between the deterministic system and the required randomness. It takes seed information and generates a sequence of pseudo-random values that control the clock cycle lengths, providing a controlled mechanism for introducing unpredictability without requiring a fully deterministic system.
Data Source
AI summary
In general, this disclosure describes techniques for using a random number generator to affect the lengths of clock cycles in a clock waveform that drives the timing of operations performed by processing circuitry. In one example, the processing circuitry includes a central processing unit and a clock generator. The clock generator is configured, upon receiving an indication of a boot command for the processing circuitry, generate a random number using a true random number generator and generate, based at least in part on the random number, an output clock waveform indicating at least a length of a clock cycle for the central processing unit. The central processing unit is configured to execute a boot sequence for at least the processing circuitry using the output clock waveform.


