Secure Persistent Memory Counter Recovery Using Encrypted ECC

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Emerging non-volatile memory (NVM) technologies face challenges in persisting encryption counters, leading to security vulnerabilities and performance degradation due to the need for frequent writes and reliance on backup power sources, which are costly and impractical in many scenarios.

Innovation Solution

The ECSC (Osiris) scheme repurposes Error-Correction Code (ECC) bits to verify the correctness of encryption counters, allowing for secure and fast recovery of lost counters without the need for external power sources or software modifications, reducing write traffic and performance overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If encryption counters are persisted frequently to ensure security, then security reliability is improved, but write traffic increases and NVM lifetime decreases

Engineering Contradiction:
Improvesecurity reliabilityVSAvoidNVM lifetime
Core Design Contradiction:
ReliabilityVSDuration of action of stationary object

Solution Approach 1:

The patent changes the parameter of counter persistence frequency by introducing a lazy update mechanism. Instead of persisting counters after every modification, the system accumulates counter changes in a cache and persists them periodically or triggered by specific events (e.g., cache full, power loss detection). This parameter change reduces write traffic from O(n) to O(1) or O(log n), thereby extending NVM lifetime while maintaining security through periodic synchronization.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements preliminary action by pre-allocation of counter cache space and pre-computation of counter values before actual persistence is needed. The system prepares counter updates in memory and only writes to NVM when necessary, rather than writing immediately after each counter change. This preliminary preparation in volatile memory reduces the frequency of NVM writes while ensuring counters are ready for immediate use.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If backup power sources are used to maintain encryption counters, then security reliability is improved, but system cost and complexity increase

Engineering Contradiction:
Improvesecurity reliabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies self-service by designing a counter cache management system that automatically detects power loss conditions and triggers appropriate recovery actions without external intervention. The system monitors cache state, detects power failures through hardware signals or software timeouts, and initiates counter persistence or recovery procedures autonomously. This eliminates the need for complex backup power management while maintaining counter integrity through self-managed fallback mechanisms.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent introduces an intermediary counter cache layer between the encryption logic and NVM storage. This cache acts as a buffer that decouples the frequent counter modifications from persistent storage requirements. The intermediary cache absorbs write amplification and allows the system to maintain counters in volatile memory during normal operation, only synchronizing to NVM when necessary, thereby reducing both complexity and write traffic.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Duration of action of stationary object

If counter-cache schemes are used to reduce write traffic, then NVM lifetime is extended, but security vulnerabilities arise from lost counters

Engineering Contradiction:
ImproveNVM lifetimeVSAvoidcounter persistence reliability
Core Design Contradiction:
Duration of action of stationary objectVSReliability

Solution Approach 1:

The patent implements feedback mechanisms where the system continuously monitors the state of the counter cache and compares it against expected values. After power recovery or suspected data loss, the system verifies counter integrity by checking checksums, version numbers, or cryptographic hashes stored alongside counter values. If verification fails, the system triggers recovery procedures such as re-computing counters from cryptographic primitives or restoring from checkpointed states, thereby maintaining reliability while using cache to extend NVM lifetime.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent applies beforehand cushioning by pre-computing and storing redundant counter information in the cache, such as backup counter values, cryptographic checkpoints, or verification data. This cushioning prepares the system in advance to handle potential counter loss scenarios without requiring complex recovery operations. The pre-stored redundancy acts as a safety buffer that allows the system to recover quickly and reliably from power losses or cache corruptions.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS11323242B2System, secure processor and method for restoration of a secure persistent memory
Publication Date: 2022.05.03 UNIVERSITY OF CENTRAL FLORIDA RESEARCH FOUNDATION INC
  • US11323242B2 patent drawing
  • US11323242B2 patent drawing
  • US11323242B2 patent drawing

AI summary

Disclosed herein are embodiment that are directed to a method comprising storing each encrypted data block, of a cyphertext page, with corresponding encrypted error correction code (ECC) bits in a persistent memory device (PMD). In exemplified embodiments, the encrypted ECC bits verify both an encryption counter value of an encryption operation and a plaintext block of the cyphertext page from a decryption operation. In other embodiments, the method includes decrypting, using the decryption operation during a read operation of a memory controller, a respective one block of the cyphertext file and the corresponding encrypted ECC bits stored in the PMD using a current counter value to form the plaintext block and decrypted ECC bits. Further, the may include verifying the plaintext block with the decrypted ECC bits; and performing a security check of the encryption counter value in response to the plaintext block failing the verification, using the decrypted ECC bits. A system and secure processor that are configured to perform the disclosed methods are provided.