Prover–Verifier Remote Attestation for Randomized Memory Layouts

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing remote attestation systems struggle to verify the integrity of software after memory layout randomization, as the verifier device cannot determine the correct memory layout without prior knowledge, and existing solutions either mismatch measurement values or fail to verify integrity during execution.

Innovation Solution

A prover device determines and corrects reference positions in software based on placement information, transmitting this information to a verifier device, which then generates a measurement instruction for hash value calculation, allowing the verifier to verify the integrity of the software even after memory layout randomization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If address space layout randomization (ASLR) is introduced to mitigate vulnerability, then security is improved, but the integrity of software cannot be verified unless the remote side knows in advance what memory layout is adopted

Engineering Contradiction:
ImprovesecurityVSAvoidintegrity verification accuracy
Core Design Contradiction:
ReliabilityVSMeasurement precision

Solution Approach 1:

The system performs preliminary actions by establishing a trusted relationship between prover and verifier devices before runtime. The verifier device stores expected hash values of software in advance, and the prover device transmits placement information and calculated hash values before execution. This allows the system to prepare verification mechanisms in advance without compromising ASLR's security benefits.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces placement information as an intermediary element that bridges the verifier device and the software in memory. This placement information includes metadata about the software's location and characteristics, allowing the verifier to accurately measure the software's hash value without needing to know the actual memory layout in advance, thus resolving the contradiction between ASLR security and verification accuracy.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If memory layout randomization is applied, then vulnerability mitigation is improved, but existing remote attestation mechanisms fail to verify software integrity during execution

Engineering Contradiction:
Improvevulnerability mitigationVSAvoidsoftware integrity verification
Core Design Contradiction:
ReliabilityVSMeasurement precision

Solution Approach 1:

The system implements feedback mechanisms where the prover device transmits placement information and calculated hash values to the verifier device during execution. The verifier device uses this feedback to compare actual software hash values against expected values, enabling continuous verification of integrity while maintaining randomization benefits.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent changes the verification approach by focusing on parameter-independent verification. Instead of relying on fixed memory addresses or layouts, the system uses hash values and placement information that remain valid regardless of memory randomization. This allows integrity verification to work correctly even when memory layout changes dynamically.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20250335567A1Prover device, verifier device, and remote attestation system
Publication Date: 2025.10.30 DENSO CORP
  • US20250335567A1 patent drawing
  • US20250335567A1 patent drawing
  • US20250335567A1 patent drawing

AI summary

A prover device that places software in a memory and executes the software determines placement information indicating a position in the memory at which the software is placed; corrects a reference position included in the software based on the placement information; places the software, in which the reference position has been corrected, at a position in the memory based on the placement information and executes the software; transmits the placement information to a verifier device; receives a measurement instruction from the verifier device; reads the software placed in the memory and calculates a hash value, based on the measurement instruction; and transmits the hash value to the verifier device.