MemPoline Software Countermeasure for Memory Side-Channel Attack Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methodologies to protect against memory-based side-channel attacks are inefficient and inadequate, particularly in software solutions that require hardware modifications or incur significant performance overhead.

Innovation Solution

The MemPoline software countermeasure employs parameter-directed permutations to randomly shuffle sensitive data within memory, providing efficient security against memory-based side-channel attacks without hardware modifications, applicable to various cryptographic algorithms like AES and RSA across different architectures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If existing software countermeasures are used to protect against memory-based side-channel attacks, then security is improved, but performance overhead increases significantly

Engineering Contradiction:
ImprovesecurityVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies parameter changes by modifying the memory address parameters through XOR operations with random values. This transforms the original memory access addresses into permuted addresses, thereby changing the parameter representation while maintaining the same underlying data access patterns. This approach provides security against side-channel attacks without requiring complex computational operations, thus achieving good performance.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent replaces complex cryptographic randomization mechanisms with a simpler bitwise XOR operation combined with random number generation. Instead of using heavy cryptographic primitives for memory address randomization, the invention substitutes them with lightweight XOR operations that are computationally efficient and provide sufficient security against memory-based side-channel attacks.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If hardware modifications are made to protect against side-channel attacks, then security is improved, but device complexity increases

Engineering Contradiction:
ImprovesecurityVSAvoidhardware complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent substitutes hardware-based protection mechanisms with software-based countermeasures implemented through XOR operations and random number generation. This replacement eliminates the need for specialized hardware modifications while achieving equivalent or superior security against memory-based side-channel attacks, thereby reducing device complexity.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent introduces a software intermediary layer that sits between the cryptographic algorithm and the memory system. This intermediary performs address permutation through XOR operations with random values, acting as a mediator that protects memory access patterns without requiring modifications to either the cryptographic algorithm or the underlying hardware memory system.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If random data shuffling is implemented to protect against attacks, then security is improved, but computational overhead increases

Engineering Contradiction:
ImprovesecurityVSAvoidcomputational energy
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent changes the parameter representation of memory addresses through XOR operations with random values. This parameter transformation provides random data shuffling for security purposes while requiring minimal computational energy, as XOR is a lightweight bitwise operation that does not involve complex calculations or significant energy consumption.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent uses disposable random values that are generated and then discarded after a single use in XOR operations. These short-living random objects provide sufficient entropy for security without requiring long-term storage or complex management, thereby minimizing computational and memory overhead while maintaining strong security against side-channel attacks.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS12177328B2Methods and systems for protecting against memory-based side-channel attacks
Publication Date: 2024.12.24 NORTHEASTERN UNIV (US)
  • US12177328B2 patent drawing
  • US12177328B2 patent drawing
  • US12177328B2 patent drawing

AI summary

Embodiments protect against memory-based side-channel attacks by efficiently shuffling data. In an example implementation, in response to a data access request by an encryption methodology regarding a first data element from amongst a plurality of data elements stored in memory, a storage address of a second data element of the plurality is determined. This storage address is determined using (i) an address of the first data element in the memory, (ii) a permutation function, and (iii) a random number. In turn, the first data element is stored at the determined storage address of the second data element and the second data element is stored at the address of the first data element. In this way, embodiments protect encryption methodologies from memory-based side-channel attacks.