Code-Based Power Telemetry Side-Channel Leakage Mitigation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software countermeasures fail to effectively mitigate power side-channel attacks by not addressing data-dependent power consumption leakage from internal system buses in computing systems, allowing attackers to deduce secret keys through power telemetry data.
Innovation Solution
A code-based countermeasure is introduced that inserts additional instructions into program code to make power consumption profiles invariant to secret data, preventing attackers from deducing secret information from power telemetry readings, using properties like Hamming weight and Hamming distance to suppress side-channel information leakage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If hardware modification is used to mitigate power side-channel attacks, then security against power telemetry attacks is improved, but device complexity and manufacturing difficulty increase
Solution Approach 1:
The patent replaces hardware-based mitigation mechanisms with software-based countermeasures. Specifically, it uses code insertion techniques that modify program logic to prevent data-dependent power consumption patterns, thereby eliminating the need for hardware modifications while achieving the same security goal of mitigating power side-channel attacks
Solution Approach 2:
The patent changes the operational parameters of the system by inserting additional instructions that alter the execution timeline and power consumption profile. By controlling when and how data is processed, the solution transforms the power consumption characteristics to be independent of secret data values, achieving security without hardware changes
2Ease of operation
If existing software countermeasures are used, then ease of operation is maintained, but they fail to effectively mitigate power side-channel attacks from system buses
Solution Approach 1:
The patent segments the protection approach by specifically targeting system bus operations separately from general processor operations. It inserts countermeasure instructions at specific points in the code that address power consumption during bus transactions, thereby providing focused protection against the identified vulnerability while maintaining overall software operation simplicity
Solution Approach 2:
The patent introduces intermediary countermeasure instructions that act as mediators between the cryptographic operations and the system bus. These inserted instructions serve as a buffer that prevents direct correlation between secret data and power consumption patterns during bus transactions, thereby enhancing security while maintaining ease of operation
3Reliability
If code-based countermeasures with instruction insertion are used, then power telemetry side-channel leakage is reduced, but execution time increases
Solution Approach 1:
The patent applies partial countermeasures by inserting countermeasure instructions only at specific critical points in the code where system bus transactions occur, rather than throughout the entire program. This selective approach provides sufficient protection against power telemetry attacks while minimizing the overall execution time overhead
Solution Approach 2:
The patent applies local quality by making the countermeasure application targeted and location-specific. The inserted instructions are placed only where system bus interactions occur, providing localized protection exactly where power side-channel leakage is problematic, thereby reducing the overall time penalty compared to global countermeasure approaches
Data Source
AI summary
The technology disclosed herein determining one or more vulnerable instructions in workload code and determining one or more additional instructions to be inserted in the workload code based at least in part on a power model of a system bus of a processor, when a power model of a processor is dependent on an order of instructions of workload code, inserting the one or more additional instructions with dependency to the workload code to produce complementary power consumption of the system bus to power consumption of the system bus from executing the one or more vulnerable instructions; and when the power model is not dependent on the order of instructions of workload code, inserting the one or more additional instructions without dependency to the workload code to produce complementary power consumption of the system bus to power consumption of the system bus from executing the one or more vulnerable instructions.


