Memory Buffer Data Shuffling for Secure Decryption

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Sensitive data stored in plaintext in memory buffers is vulnerable to attackers who can retrieve the entire decrypted data with a single memory dump, allowing them to read it byte by byte once the data's location is identified.

Innovation Solution

Implementing a shuffling technique with a hardware component that uses a unique master seed to securely shuffle decrypted data, mixing it with random bytes and not storing the seed in memory, making it difficult for attackers to reverse the shuffled output.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If decrypted sensitive data is stored in plaintext in memory buffer for compute process usage, then the data is accessible and usable by the compute process, but the data becomes vulnerable to attackers who can retrieve it with a single memory dump

Engineering Contradiction:
Improvedata accessibilityVSAvoidsecurity vulnerability
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The patent divides the decrypted sensitive data into multiple separate memory locations rather than storing it contiguously. Each segment is scattered throughout the memory buffer, making it impossible for an attacker to retrieve complete sensitive data with a single memory dump operation. The data remains accessible to the compute process through indexed access while being secured against unauthorized extraction.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements encryption layers where sensitive data is encrypted within the memory buffer, and additional encryption or obfuscation layers are applied to the memory regions containing the data. This nested encryption approach ensures that even if an attacker accesses the memory, multiple decryption layers must be breached to retrieve the original sensitive data.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Object-affected harmful factors

If data is encrypted in memory buffer, then security is improved, but the data cannot be used by compute process until decrypted

Engineering Contradiction:
Improvesecurity protectionVSAvoiddata usability
Core Design Contradiction:
Object-affected harmful factorsVSProductivity

Solution Approach 1:

The patent performs encryption of sensitive data before it is written to the memory buffer, and maintains this encrypted state throughout storage. The compute process decrypts only the specific portions of data it needs, immediately uses them, and then the data remains encrypted in memory. This preliminary encryption approach ensures security is established before any potential exposure.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts only the specific portions of sensitive data that the compute process needs to use, decrypts only those extracted portions temporarily, and leaves the remainder encrypted in memory. This selective extraction and decryption minimizes the time and scope of plaintext exposure while maintaining data usability for the required operations.

Inventive Principle:
Principle #2Taking out (Extraction)

3Speed

If decrypted data is stored in a single memory buffer location, then access speed is improved, but an attacker can retrieve all sensitive data with one memory dump

Engineering Contradiction:
Improvedata access speedVSAvoiddata exposure risk
Core Design Contradiction:
SpeedVSLoss of information

Solution Approach 1:

The patent segments the decrypted sensitive data into multiple smaller portions and stores each portion in different memory locations. The compute process accesses these segments through indexed or pointer-based mechanisms, maintaining efficient access speeds while ensuring that no single memory dump can retrieve the complete sensitive data set.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent organizes segmented data portions in a multi-dimensional memory structure rather than a simple linear buffer. Data segments are distributed across multiple dimensions (different memory regions, pages, or segments), and the compute process uses multi-dimensional indexing to access them efficiently. This dimensional organization maintains access speed while dramatically increasing the complexity for attackers.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentEP4195081A1Securing sensitive data in memory
Publication Date: 2023.06.14 INTEL CORP
  • EP4195081A1 patent drawingFigure 1
  • EP4195081A1 patent drawingFigure 2A
  • EP4195081A1 patent drawingFigure 2B

AI summary

A method comprises determining a first amount of memory space consumed by a first memory buffer comprising encrypted data to be decrypted for use by a compute process, allocating, in a second memory buffer, a second amount of memory space which is greater than the first amount of memory space consumed the first memory buffer, filling the first amount of memory space with random data, setting a pointer to a fixed memory location of the second memory buffer, and invoking a hardware element to implement an iterative process to generate a unique incarnation value based at least in part on an iteration value input, decrypt a data element that resides at an address of the first memory buffer corresponding to the iteration value to generate a decrypted data element, and write the decrypted data element to the second memory buffer at an address corresponding to the fixed memory address plus the unique incarnation value.