FPGA Configuration Tamper Detection Before User-Mode Entry

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems for securing programmable devices, such as FPGAs, are vulnerable to attacks that decipher encryption keys by bombarding the device with false configuration data before it enters user-mode, where many security algorithms are ineffective.

Innovation Solution

Employing 'dirty bits' and 'sticky error counters' to detect multiple unsuccessful configuration attempts, triggering anti-tampering measures like clearing encryption keys or disabling the device when such attempts are detected, thereby securing sensitive data during the configuration stage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If encryption algorithms are implemented to secure configuration data, then security against copying is improved, but the device remains vulnerable to attacks that bombard it with false configuration data before entering user-mode

Engineering Contradiction:
ImprovesecurityVSAvoidvulnerability to deciphering attacks
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent implements preliminary security checks during the configuration stage before the device enters user-mode. A control block examines incoming configuration data and verifies checksums before loading the data into configuration memory, preventing malicious or false configuration data from being processed. This preliminary action blocks attacks before they can reach the encryption layer.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies preliminary anti-action by implementing validation mechanisms that actively counteract potential deciphering attacks before they can succeed. The control block identifies and rejects false configuration data patterns, and checksum verification prevents corrupted or malicious data from compromising the encryption keys, thereby neutralizing the threat in advance.

Inventive Principle:
Principle #9Preliminary anti-action

2Device complexity

If security measures are activated only in user-mode, then device complexity is reduced, but security protection is ineffective during the configuration stage

Engineering Contradiction:
Improvesecurity implementation complexityVSAvoidsecurity protection during configuration
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent segments security functions into distinct modules: a control block for configuration-stage validation, checksum verification mechanisms, and user-mode encryption. This segmentation allows security to be implemented only where needed during configuration without adding unnecessary complexity to the entire system, while still providing comprehensive protection during the vulnerable configuration stage.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8719957B2Systems and methods for detecting and mitigating programmable logic device tampering
Publication Date: 2014.05.06 ALTERA CORP
  • US8719957B2 patent drawing
  • US8719957B2 patent drawing
  • US8719957B2 patent drawing

AI summary

Systems and methods are disclosed for preventing tampering of a programmable integrated circuit device. Generally, programmable devices, such as FPGAs, have two stages of operation; a configuration stage and a user mode stage. To prevent tampering and/or reverse engineering of a programmable device, various anti-tampering techniques may be employed during either stage of operation to disable the device and/or erase sensitive information stored on the device once tampering is suspected. One type of tampering involves bombarding the device with a number of false configuration attempts in order to decipher encrypted data. By utilizing a dirty bit and a sticky error counter, the device can keep track of the number of failed configuration attempts that have occurred and initiate anti-tampering operations when tampering is suspected while the device is still in the configuration stage of operation.