Cryptographic Key Update in Non-Volatile Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Updating cryptographic keys in non-volatile memory is challenging due to the inability to erase programmed cells and the insecurity of update operations, which can be compromised by attackers.

Innovation Solution

Generating a new instance of an N-bit cryptographic key by negating only unprogrammed bits in the key using a random updating sequence, ensuring the new key has sufficient entropy and is stored in non-volatile memory without altering programmed bits, and using a biased probability for the random sequence to enhance security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If cryptographic keys are updated in non-volatile memory by rewriting cells, then the key can be refreshed for security, but programmed cells cannot be erased and attackers can compromise the update operation

Engineering Contradiction:
Improvesecurity of key updateVSAvoidvulnerability to attacker compromise
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

Instead of trying to overwrite or erase programmed memory cells (the conventional approach), the patent inverts the approach by only programming unprogrammed cells. The update operation programs new key bits into previously unprogrammed cells while leaving already-programmed cells unchanged, thereby avoiding the vulnerability of erasing programmed cells that attackers could exploit.

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The patent performs preliminary actions by generating a random updating sequence before the key update operation and using it to determine which bits to program. This preliminary preparation ensures that the update operation only programs bits that are guaranteed to be unprogrammed, preventing attackers from compromising the operation by interfering with erase cycles.

Inventive Principle:
Principle #10Preliminary action

2Loss of information

If all bits in the cryptographic key are updated randomly, then the new key has high entropy, but programmed bits cannot be changed in non-volatile memory

Engineering Contradiction:
Improvekey entropyVSAvoidability to change programmed bits
Core Design Contradiction:
Loss of informationVSEase of manufacture

Solution Approach 1:

The patent applies local quality by treating different bits of the cryptographic key differently based on their program state. Unprogrammed bits are updated using the random updating sequence to maintain entropy, while already-programmed bits are preserved unchanged. This localized approach to bit updating resolves the contradiction between maintaining entropy and respecting non-volatile memory constraints.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the parameter of the updating process by using a biased random updating sequence where the probability of generating a 1 is greater than 0.5. This parameter change ensures that the updating sequence predominantly contains 0s, which when ANDed with the current key, result in fewer changes to already-programmed bits while still maintaining sufficient entropy in the updated key.

Inventive Principle:
Principle #35Parameter changes

3Loss of information

If the probability of unprogrammed bits in the random sequence is 0.5, then the key has maximum entropy, but the update operation becomes insecure and programmers cannot control the update process

Engineering Contradiction:
Improvekey entropyVSAvoidsecurity of update operation
Core Design Contradiction:
Loss of informationVSReliability

Solution Approach 1:

The patent changes the probability parameter from 0.5 to a value greater than 0.5 (specifically, the probability of generating a 1 is > 0.5). This parameter change creates a biased random updating sequence that maintains sufficient entropy while providing security controls. The bias ensures that the updating sequence contains more 0s than 1s, reducing the likelihood of attempting to program already-programmed bits and enhancing security.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3681100B1Updating cryptographic keys stored in non-volatile memory
Publication Date: 2021.04.28 WINBOND ELECTRONICS CORP
  • EP3681100B1 patent drawingFigure 1
  • EP3681100B1 patent drawingFigure 2~3
  • EP3681100B1 patent drawingFigure 4

AI summary

A method is provided for generating a new instance of an N-bit cryptographic key (Ki+1) for storage in a non-volatile memory (38) in which unprogrammed cells have a particular binary value. The method includes generating a random N-bit updating sequence (Si), and generating the new instance of the N-bit cryptographic key (Ki+1) by negating each bit in a current instance of the N-bit cryptographic key (Ki) that has the particular binary value and differs from a correspondingly-positioned bit in the random N-bit updating sequence (Si), without negating any bits in the current instance of the N-bit cryptographic key (Ki) that do not have the particular binary value. Other embodiments are also described.