Interposer Module for Transparent Application Data Encryption

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing applications face challenges in retrofitting encryption and decryption logic into existing programs, especially when source code is lost or unavailable, making it difficult to ensure secure data transmission and storage.

Innovation Solution

Implementing a segmentation strategy for encryption using AES-256, where data is divided into segments of uniform size, each encrypted independently with a unique key, and using a shared object shim Interposer module to intercept and manage file operations, providing transparent encryption and decryption services without modifying the application code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If encryption logic is retrofitted into existing applications, then data security is improved, but source code availability and ease of implementation deteriorate

Engineering Contradiction:
Improvedata securityVSAvoidease of implementation
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent introduces an interposer module as an intermediary layer between the application and the standard C library. This module intercepts file I/O function calls (fopen, fread, fwrite, fclose) and applies encryption/decryption operations without requiring modifications to the application source code. The interposer acts as a mediator that transparently secures data flows while maintaining compatibility with existing applications.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If data is encrypted in large blocks, then encryption speed is improved, but ciphertext expansion and memory usage increase

Engineering Contradiction:
Improveencryption speedVSAvoidciphertext expansion
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent implements segmentation by dividing file I/O operations into smaller manageable chunks processed through the interposer module. Instead of encrypting entire files at once, the system processes data in segments as they flow through function calls, applying AES-256 encryption to each segment. This approach maintains security while controlling memory usage and ciphertext expansion.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The encryption buffer size is made dynamic rather than fixed, allowing the system to adjust the amount of data held in memory based on available resources and performance requirements. The interposer module dynamically manages buffer allocation and encryption timing, optimizing the balance between encryption speed and memory consumption.

Inventive Principle:
Principle #15Dynamics

3Speed

If decryption operations are optimized for speed, then data access time is improved, but computational resource usage increases

Engineering Contradiction:
Improvedecryption speedVSAvoidcomputational resource usage
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The system performs preliminary actions by pre-computing and caching cryptographic keys and initialization vectors before actual decryption operations. The interposer module prepares decryption contexts in advance, so when decryption is needed, the computational work has already been partially completed, reducing real-time resource consumption while maintaining high decryption speeds.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11947686B2Dynamically encrypting and decrypting application data using dynamically linked interposer modules
Publication Date: 2024.04.02 SCHWADERER WILLIAM D
  • US11947686B2 patent drawing
  • US11947686B2 patent drawing
  • US11947686B2 patent drawing

AI summary

A computer-implemented method can include encrypting a data file as a multiplicity of independent segments that are each a multiple of a block encryption's block size, encrypting the application data on a segment-by-segment basis using the multiplicity of selected encryption methods and associated information, and creating a programming shared object “shim” Interposer module.