Cryptoprocessor Register Protection Against Unidirectional Laser Attacks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing mechanisms for protecting encryption keys in cryptoprocessors are vulnerable to unidirectional disturbances, where attackers can force bits to a single state, making it difficult to detect and counter such attacks without revealing key information, and current solutions require frequent key reloading or hardware modifications.

Innovation Solution

A method involving submitting the key to a first function and storing the result in multiple registers, with a second function applied when the key is needed, using a selection value to ensure the key is correctly provided to the algorithm without storing the result, thus masking the key's state and location, making it harder for attackers to determine the key's value.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the key is stored in a register and accessed directly, then the encryption algorithm can operate efficiently, but the key becomes vulnerable to unidirectional laser attacks that force bits to a single state

Engineering Contradiction:
Improveencryption algorithm efficiencyVSAvoidkey security against unidirectional attacks
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The key is divided into multiple representations across different registers (first register with key bits, second register with transformed key bits). This segmentation ensures that a laser attack on one register cannot compromise the entire key, as the attacker cannot simultaneously force all key bit representations to the same state.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A transformation function acts as an intermediary between the original key and the registers. The transformation creates a relationship where the key bits and transformed key bits are dependent on each other, allowing the system to detect when a laser attack has modified the key, as the transformation would no longer hold.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the key is reloaded frequently to check integrity, then the key can be protected against modification during transfer, but the system complexity and time consumption increase

Engineering Contradiction:
Improvekey integrity protectionVSAvoidkey management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The transformation of the key into multiple representations is performed in advance before the key is used for encryption. This preliminary action establishes the protective structure once, eliminating the need for frequent reloading and integrity checks during subsequent encryption operations.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If integrity checking mechanisms are implemented, then key modification can be detected, but the mechanism may reveal information about key bit values to the attacker

Engineering Contradiction:
Improvekey modification detectionVSAvoidkey information leakage
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

Different registers store different transformations of the key with different properties. The first register stores the original key bits while the second register stores transformed bits. This local differentiation means that attacks on one register do not provide information about the other register, preventing information leakage.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9558375B2Protection of registers against unilateral disturbances
Publication Date: 2017.01.31 STMICROELECTRONICS (ROUSSET) SAS
  • US9558375B2 patent drawing
  • US9558375B2 patent drawing
  • US9558375B2 patent drawing

AI summary

A device includes one or more registers and circuitry. The circuitry subjects a key having a number of bits to a first function which takes a selection value into account, generating a result having a number of bits which is twice the number of bits of the key, and stores the result in the one or more registers. In response to a call for the key, the circuitry subjects the result stored in the one or more registers to a second function which takes the selection value into account to generate a response having a same value as the key.