PLD Configuration Data Encryption Without Key Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing programmable logic devices (PLDs) face security challenges in protecting configuration data from unauthorized copying and require complex non-volatile memory for decryption key storage, which delays technology migration and poses security risks.

Innovation Solution

A method where an external storage device encrypts configuration data with a customer-selected encryption key, generating a correction word based on the PLD's ID code, allowing the same key to be used for multiple PLDs with different ID codes, without storing decryption information in the PLD, thus avoiding the need for non-volatile memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a fixed decryption key is hardwired into the PLD, then decryption functionality is provided, but security is weakened because the same key can be used to decrypt configuration data for multiple PLDs

Engineering Contradiction:
Improvedecryption functionalityVSAvoidsecurity vulnerability
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent applies local quality by making the decryption key unique to each PLD instance. Instead of using a common fixed key across all devices, each PLD is programmed with its own distinct decryption key during manufacturing. This ensures that configuration data encrypted for one PLD cannot be decrypted by another PLD, thereby maintaining security while providing the necessary decryption functionality.

Inventive Principle:
Principle #3Local quality

2Object-affected harmful factors

If each PLD uses a different decryption key, then security is improved, but programming complexity increases because different encryption keys are required for each PLD

Engineering Contradiction:
ImprovesecurityVSAvoidprogramming complexity
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-programming each PLD with its unique decryption key during the manufacturing process. This preliminary configuration eliminates the need for customers to manually program different keys for each device. When a customer purchases multiple PLDs, they all come pre-configured with distinct keys, and the programming software automatically handles the key management, thereby maintaining security without increasing user-facing complexity.

Inventive Principle:
Principle #10Preliminary action

3Duration of action of stationary object

If non-volatile memory is included to store decryption keys, then key retention is achieved, but device complexity and manufacturing difficulty increase

Engineering Contradiction:
Improvekey retentionVSAvoiddevice complexity
Core Design Contradiction:
Duration of action of stationary objectVSDevice complexity

Solution Approach 1:

The patent applies the taking out principle by removing the requirement for non-volatile memory elements from the PLD architecture. Instead of embedding complex non-volatile memory (such as PROM, EPROM, EEPROM, or flash memory) within the PLD to store decryption keys, the system extracts this storage function to external non-volatile memory. The PLD itself uses only volatile memory for key storage, simplifying the device architecture while still providing secure key retention through the external storage medium.

Inventive Principle:
Principle #2Taking out (Extraction)

4Duration of action of stationary object

If non-volatile memory is used for key storage, then decryption keys are retained when powered-off, but migration to newer process technologies is delayed

Engineering Contradiction:
Improvekey retentionVSAvoidtechnology migration speed
Core Design Contradiction:
Duration of action of stationary objectVSProductivity

Solution Approach 1:

The patent applies the taking out principle by extracting the non-volatile key storage function from the PLD device itself and placing it in external non-volatile memory. This allows the PLD to be implemented using cutting-edge volatile memory process technologies without being constrained by the need to integrate complex non-volatile memory elements. The external storage handles key persistence, enabling the PLD to benefit from continuous process technology improvements while still maintaining secure key retention across power cycles.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS7716497B1Bitstream protection without key storage
Publication Date: 2010.05.11 XILINX INC
  • US7716497B1 patent drawing
  • US7716497B1 patent drawing
  • US7716497B1 patent drawing

AI summary

An external storage device may transmit encrypted configuration data to a PLD during a configuration operation without transmitting the encryption key to the PLD and without retaining decryption information in the PLD. During a set-up operation, the encryption key is provided to the PLD, which generates an ID code upon power-up. The PLD generates a correction word in response to the encryption key and the ID code. The correction word is output from the PLD, which is powered-down, and is stored with the encrypted configuration data in the storage device. Then, during a configuration operation, the PLD is powered-on and re-generates the ID code. The correction word and the encrypted configuration data are transmitted to the PLD, which generates a decryption key in response to the re-generated ID code and the correction word.