Non-Contiguous Memory Storage for Encrypted Data Structures

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional approaches to reading and processing encrypted files leave decrypted clear-text information in memory, making it vulnerable to unauthorized access when the application is paused or killed, as the clear-text information remains in a readable core image.

Innovation Solution

The method involves processing an input file to create internal data structures, serializing and encrypting them, and writing them to an output file, which is then decrypted and deserialized for further processing, ensuring that valuable information is never represented in clear-text form in memory by storing decrypted internal data structures at non-contiguous physical and/or virtual locations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the application decrypts the encrypted file and stores the clear-text form in memory for processing, then the application can process the file efficiently, but the clear-text information is left in a readable core image when the application is paused or killed, making it vulnerable to unauthorized access

Engineering Contradiction:
Improvefile processing efficiencyVSAvoidsecurity vulnerability
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent divides the decrypted data into multiple internal data structures and stores them at non-contiguous memory locations. This segmentation prevents attackers from easily reconstructing the complete clear-text information by scanning memory, as the data is scattered across multiple isolated segments rather than stored contiguously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces internal data structures as an intermediary representation between the encrypted file and the application's processing requirements. These internal data structures serve as a secure intermediary that holds decrypted information in a transformed, non-contiguous format, allowing the application to process the data while preventing direct exposure of clear-text in memory.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If the application stores decrypted information in clear-text form in memory, then the application can access and process the information easily, but the information can be easily found and extracted by utility programs when the application is paused or killed

Engineering Contradiction:
Improvedata accessibilityVSAvoidattack detection difficulty
Core Design Contradiction:
Ease of operationVSDifficulty of detecting and measuring

Solution Approach 1:

The patent segments the decrypted information into multiple internal data structures stored at non-contiguous memory locations. This makes it difficult for attackers to detect and extract clear-text information, as the data is scattered across multiple isolated segments rather than stored in a contiguous, easily scanable format.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different storage characteristics to different parts of the data. By storing internal data structures at non-contiguous locations with varying memory addresses, the patent creates local variations in data storage patterns that prevent uniform scanning and extraction by utility programs, while still allowing the application to access the data through its internal structure references.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8819420B1Encryption and decryption approach that prevents exposing clear-text in memory
Publication Date: 2014.08.26 MATHWORKS INC
  • US8819420B1 patent drawing
  • US8819420B1 patent drawing
  • US8819420B1 patent drawing

AI summary

The present invention provides an encryption/decryption approach to protect valuable information from being represented in a clear-text form when an application processes the valuable information. The present invention processes a structured input file to create internal data structures and generates an encrypted output file from the extracted internal data structures. The encrypted file of internal data structures can be decrypted to enable further processing of the valuable information without representing the valuable information as clear-text in memory. Further, the decrypted internal data structures are stored at different locations in memory.