Nonvolatile Counter for Selective Memory Scrubbing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern computer systems face challenges in securely clearing secret data from memory, particularly when a Trusted Platform Module (TPM) releases sensitive information, as the data may not be cleaned up before system reboot, risking exposure to malevolent users, and widespread RAM clearing is inefficient and user-unfriendly.

Innovation Solution

A system and method that utilize a counter initialized in nonvolatile memory to track the usage of secret data, incrementing it when released and decrementing it when the data is scrubbed from memory, with the BIOS scrubbing memory areas if the counter is not reset to zero upon reboot.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all RAM is cleared every time the system is rebooted, then secret data is protected from malevolent users, but user wait time increases significantly due to the time required to clear large amounts of memory

Engineering Contradiction:
Improvedata protectionVSAvoiduser wait time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the memory clearing operation by tracking which specific memory regions contain secret data through a counter mechanism in non-volatile memory. Instead of clearing entire RAM, only the specific regions associated with active secrets are cleared, reducing the time required while maintaining security.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a feedback mechanism where the counter in non-volatile memory tracks the number of active secrets. When the system boots, it reads this counter value and only clears memory regions corresponding to the tracked secrets, rather than clearing all memory. This feedback loop enables selective clearing based on actual secret usage.

Inventive Principle:
Principle #23Feedback

2Reliability

If requestors are responsible for cleaning up secret data, then data protection is improved, but the system becomes more complex and requestors must manage memory cleanup manually

Engineering Contradiction:
Improvedata protectionVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements self-service by having the system automatically track and manage secret data cleanup through a counter mechanism in non-volatile memory. The system autonomously determines which memory regions need clearing based on the counter state, eliminating the need for manual memory management by requestors while maintaining strong data protection.

Inventive Principle:
Principle #25Self-service

3Reliability

If the system waits for requestors to clean up secrets before rebooting, then data protection is improved, but system availability decreases due to extended wait times

Engineering Contradiction:
Improvedata protectionVSAvoidsystem availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by having the counter in non-volatile memory continuously track the number of active secrets before the system needs to reboot. This advance tracking allows the system to prepare memory clearing operations in advance or execute them immediately upon reboot without waiting for requestors to manually clean up, thus maintaining both security and system availability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8312534B2System and method for securely clearing secret data that remain in a computer system memory
Publication Date: 2012.11.13 LENOVO SWITZERLAND INTERNATIONAL GMBH
  • US8312534B2 patent drawing
  • US8312534B2 patent drawing
  • US8312534B2 patent drawing

AI summary

A system, method, and program product is provided that initializes a counter maintained in a nonvolatile memory of a security module to an initialization value. The security module receives requests for a secret from requesters. The security module releases the secret to the requesters and the released secrets are stored in memory areas allocated to the requesters. A counter is incremented when the secret is released. Requestors send notifications to the security module indicating that the requestor has removed the secret from the requestor's memory area. The security module decrements the counter each time a notification is received. When the computer system is rebooted, if the counter is not at the initialization value, the system memory is scrubbed erasing any secrets that remain in memory.