Programmable Device Signature Verification for Secure Configuration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Programmable logic devices using SRAM storage are vulnerable to unauthorized reprogramming due to volatile nature of SRAM, allowing unauthorized configuration data to be loaded upon power-up, and recent authentication methods can be bypassed by sophisticated attackers.

Innovation Solution

Implementing a programmable integrated circuit device with nonvolatile and volatile signature storage, where configuration data must match a previously stored signature, and using secure boot options to control decryption keys for authenticating and configuring the device.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If SRAM storage is used for configuration data, then device size is reduced and speed is improved, but security against unauthorized reprogramming deteriorates

Engineering Contradiction:
Improvedevice speedVSAvoidsecurity against unauthorized reprogramming
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent applies preliminary action by pre-storing a signature of the authorized configuration data in nonvolatile storage before the device operates. This signature serves as a predetermined reference that the device can use to verify configuration data integrity during operation, preventing unauthorized reprogramming while maintaining SRAM-based fast configuration loading.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If nonvolatile storage is used for configuration data, then security is improved, but device size increases and speed decreases

Engineering Contradiction:
Improvesecurity against unauthorized reprogrammingVSAvoidconfiguration loading speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent segments the configuration data handling into two parts: authorized configuration data is stored in fast SRAM for operational speed, while only a cryptographic signature of this data is stored in nonvolatile storage for security verification. This segmentation allows the device to load configuration quickly from SRAM while maintaining security through the nonvolatile signature check.

Inventive Principle:
Principle #1Segmentation

3Reliability

If authentication tags are added to configuration data, then authentication capability is improved, but vulnerability to sophisticated attackers deteriorates

Engineering Contradiction:
Improveauthentication capabilityVSAvoidvulnerability to sophisticated attackers
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent extracts the authentication mechanism from the configuration data itself and places it in separate nonvolatile storage. Instead of relying on authentication tags within the configuration bitstream that can be bypassed by sophisticated attackers, the system separates the authorized configuration data (loaded from any source) from its cryptographic signature (stored securely in nonvolatile memory), making extraction attacks ineffective.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9870488B1Method and apparatus for securing programming data of a programmable device
Publication Date: 2018.01.16 ALTERA CORP
  • US9870488B1 patent drawing
  • US9870488B1 patent drawing
  • US9870488B1 patent drawing

AI summary

Circuitry and methods prevent unauthorized programming, or reprogramming, of a programmable device, by requiring a signature in the configuration data to match a signature previously stored in the programmable device. A programmable integrated circuit device includes an input for configuration data, and programming control circuitry operable to derive a current signature from the configuration data, examine a first bit stored in the programmable integrated circuit device, and when the first bit is in a first state, compare the current signature to a first predetermined signature stored in the programmable integrated circuit device and configure the programmable integrated circuit device according to the configuration data only when the current signature matches the first predetermined signature, and when the first bit is in a second state, configure the programmable integrated circuit device according to the configuration data without comparing the current signature to the first predetermined signature.