Cryptographic Key Update in Non-Volatile Memory Using Bitwise Negation

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 the 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 securely 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 changed to maintain security, but programmed cells cannot be erased and attackers can compromise the update operation

Engineering Contradiction:
Improvesecurity of key updateVSAvoidability to update key
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system performs preliminary actions by generating a new key instance in volatile memory before committing it to non-volatile memory. The update operation is structured so that the new key is fully generated and validated before any permanent storage changes occur, ensuring that if an attack interrupts the process, the old key remains intact and functional.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Volatile memory serves as an intermediary between the current key in non-volatile memory and the update operation. The new key is constructed in volatile memory using bitwise operations on the current key, acting as a temporary workspace that isolates the update process from direct manipulation of the permanent storage, thereby preventing attackers from compromising the NVM update operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If all bits in the cryptographic key are updated randomly, then the new key has high entropy and security, but programmed cells that cannot be erased cannot be changed

Engineering Contradiction:
Improveentropy of new keyVSAvoidcompatibility with NVM constraints
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The update operation applies different treatment to different bits of the key based on their current state. Unprogrammed bits (value 1) are subject to random negation with probability p > 0.5, while programmed bits (value 0) are left unchanged. This local differentiation allows the system to maximize entropy in modifiable positions while respecting the physical constraints of one-time programmable memory.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system changes the probability parameter p of bit negation to be greater than 0.5 for unprogrammed bits, creating a biased random update. This parameter change ensures that the new key has sufficient entropy (H(p) > 0.5) while maintaining compatibility with NVM constraints by never attempting to change programmed bits from 0 to 1.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If the updating probability p is greater than 0.5, then the new key has sufficient entropy for security, but the update operation may alter too many bits increasing risk

Engineering Contradiction:
Improveentropy of new keyVSAvoidrisk during update operation
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The new key instance is fully constructed in volatile memory using bitwise AND operations with the random updating sequence before any permanent storage update occurs. This preliminary construction allows the system to verify the update and roll back if necessary, reducing the risk exposure despite using a high probability p > 0.5 for bit changes.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10951403B2Updating cryptographic keys stored in non-volatile memory
Publication Date: 2021.03.16 WINBOND ELECTRONICS CORP
  • US10951403B2 patent drawing
  • US10951403B2 patent drawing
  • US10951403B2 patent drawing

AI summary

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