Secure Key Storage for Programmable ICs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for protecting programmable integrated circuit designs from unauthorized access and configuration are inadequate, as they either expose decryption keys during configuration or require battery backup for key storage, which is inefficient and vulnerable to reverse engineering.

Innovation Solution

A method involving a registration circuit on the programmable IC generates a black key from a red key using a soft PUF, storing it externally, and then using a pre-configuration circuit to decrypt ciphertext designs into plaintext, erasing the red key from internal memory after configuration, ensuring secure and efficient key management without battery backup.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the decryption key is stored in non-volatile memory of the programmable IC, then the design can be decrypted before being used to configure the programmable logic, but the decryption key can be obtained from the memory cells through reverse engineering

Engineering Contradiction:
Improvedesign securityVSAvoidkey extraction difficulty
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

A secure element acts as an intermediary component that stores the decryption key in a tamper-resistant manner. The secure element is physically separated from the main programmable logic fabric, creating a security boundary. The key never leaves the secure element in plaintext form, and decryption operations are performed through authenticated interfaces that prevent direct memory access and reverse engineering attacks on the key storage.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Duration of action of stationary object

If a battery is required for backup power to maintain the decryption key in the IC, then the key can be maintained, but maintenance issues and complexity increase

Engineering Contradiction:
Improvekey retention durationVSAvoidpower backup complexity
Core Design Contradiction:
Duration of action of stationary objectVSDevice complexity

Solution Approach 1:

The system uses volatile memory for key storage without requiring battery backup, accepting that the key will be lost when power is removed. This is resolved by implementing a key regeneration mechanism where the secure element can re-generate or re-import the decryption key through authenticated communication channels, eliminating the need for expensive and complex non-volatile memory with battery backup while maintaining operational continuity.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Ease of operation

If configuration data is stored external to the programmable logic and transmitted through a configuration access port, then the device can be configured, but the design can easily be revealed to an attacker by monitoring the data

Engineering Contradiction:
Improveconfiguration capabilityVSAvoiddesign exposure to attackers
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The configuration process is segmented into two distinct phases: a secure authentication phase where the secure element verifies the legitimacy of the configuration data using the decryption key, and a separate data transfer phase where only authenticated data is loaded into the programmable logic. This segmentation ensures that even if configuration data is transmitted externally, attackers cannot intercept and reuse it without the decryption key, which remains protected within the secure element.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10044514B1Secure external key storage for programmable ICS
Publication Date: 2018.08.07 XILINX INC
  • US10044514B1 patent drawing
  • US10044514B1 patent drawing
  • US10044514B1 patent drawing

AI summary

The disclosure describes approaches for protecting a circuit design for a programmable integrated circuit (IC). A black key is generated from an input red key by a registration circuit implemented on the programmable IC, and the black key is stored in a memory circuit external to the programmable IC. The programmable IC is configured to implement a pre-configuration circuit, which inputs the black key from the memory circuit and generates the red key from the black key. A ciphertext circuit design is decrypted into a plaintext circuit design by the programmable IC using the red key, and the red key is erased from the programmable IC. The programmable IC is reconfigured with the plaintext circuit design.