Programmable IC Decryption Key Protection via Failure Counting
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Programmable logic circuits face vulnerabilities in protecting decryption keys from power analysis and repeated-configuration attacks, which can lead to unauthorized access and data tampering.
Innovation Solution
A method is implemented to track the number of failed decryption attempts in a programmable IC's non-volatile memory, and upon exceeding a threshold, countermeasures are taken to prevent further decryption attempts, such as disabling the decryption key or modifying it, thereby obstructing differential power analysis and repeated-configuration attacks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the decryption key is stored in non-volatile memory of the programmable IC, then the bitstream can be decrypted to prevent unauthorized copying, but the decryption key becomes vulnerable to power analysis attacks and repeated-configuration attacks
Solution Approach 1:
The patent implements a countermeasure mechanism that is prepared in advance by storing a failure count in non-volatile memory and establishing a threshold value. When the number of failed decryption attempts exceeds this threshold, the system automatically disables the decryption key before the attacker can extract it through power analysis or repeated configuration attempts.
Solution Approach 2:
The patent converts the harmful effect of repeated configuration attempts (which attackers use to perform power analysis) into a beneficial security feature. Each failed attempt increments a counter, and when the counter exceeds the threshold, the decryption key is disabled, thereby transforming the attacker's repeated attempts into the mechanism that ultimately prevents key extraction.
2Adaptability or versatility
If the system allows repeated configuration attempts, then legitimate users can reconfigure the device, but attackers can perform differential power analysis to extract the decryption key
Solution Approach 1:
The patent implements a feedback mechanism where the system monitors the number of failed decryption attempts and uses this information to control future access. The failure count stored in non-volatile memory provides feedback about attack activity, and when this feedback exceeds the threshold, the system responds by disabling the decryption key, thereby preventing further information loss through power analysis.
3Object-affected harmful factors
If the decryption key is disabled after threshold exceeded, then power analysis attacks are prevented, but legitimate reconfiguration may be blocked
Solution Approach 1:
The patent changes the operational parameters of the decryption key based on the failure count. The key transitions from an enabled state to a disabled state when the number of failed attempts exceeds the threshold. This parameter change effectively blocks both malicious power analysis attacks and legitimate reconfiguration attempts, representing a security decision that prioritizes preventing key extraction over maintaining reconfiguration capability.
Data Source
AI summary
In one embodiment of the invention, a method is provided for protecting against attacks on security of a programmable integrated circuit (IC). At least a portion of an encrypted bitstream input to the programmable IC is decrypted with a cryptographic key stored in the programmable IC. A number of failures to decrypt the encrypted bitstream is tracked. The tracked number is stored in a memory of the programmable IC that retains the number across on-off power cycles of the programmable IC. In response to the number of failures exceeding a threshold, data that prevents the decryption key from being used for a subsequent decryption of a bitstream is stored in the programmable IC.


