Cryptographic Key Update in Non-Volatile Memory Using Bitwise Negation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
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.


