Run-time Code Execution Validation via Anti-Replay MAC

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory devices are vulnerable to man-in-the-middle (MITM) attacks, such as replay attacks, where malicious users can fraudulently repeat or skip execution of critical code routines, leading to security and financial risks, as current validation methods are static and cannot confirm actual execution during runtime.

Innovation Solution

Implementing a run-time code execution validation mechanism using anti-replay mechanisms within a Message Authentication Code (MAC) to ensure that commands are not skipped or fraudulently repeated, by recalculating the MAC with a known anti-replay mechanism and private key to verify the authenticity of code execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If static validation methods are used to verify memory commands, then device complexity is reduced, but security against replay attacks deteriorates

Engineering Contradiction:
Improvevalidation mechanism complexityVSAvoidsecurity against replay attacks
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent implements dynamic validation by introducing a runtime execution verification mechanism that actively monitors and validates command execution status. The system transitions from static validation to dynamic validation by checking whether commands have been actually executed rather than just verifying command integrity, thereby preventing replay attacks without requiring overly complex architectural changes

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent employs feedback mechanisms by implementing a validation process that receives feedback about command execution status from the memory device. The system validates whether commands were actually executed by checking execution status and providing feedback to prevent unauthorized re-execution, creating a closed-loop security system that enhances reliability while maintaining manageable complexity

Inventive Principle:
Principle #23Feedback

2Reliability

If run-time code execution validation is implemented, then security against MITM attacks is improved, but device complexity increases

Engineering Contradiction:
Improvesecurity against MITM attacksVSAvoidvalidation mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-establishing validation rules and execution status tracking mechanisms before potential attacks occur. The system prepares the runtime validation framework in advance, including setting up the execution status checking procedures and anti-replay mechanisms, so that when commands are received, the validation can proceed efficiently without adding excessive complexity during operation

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary validation layer that sits between the command receiver and the execution engine. This intermediary component verifies command execution status and prevents unauthorized re-execution without requiring fundamental changes to the core memory device architecture, thereby improving security while controlling the increase in device complexity through modular design

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11816202B2Run-time code execution validation
Publication Date: 2023.11.14 MICRON TECHNOLOGY INC
  • US11816202B2 patent drawing
  • US11816202B2 patent drawing
  • US11816202B2 patent drawing

AI summary

The present disclosure includes apparatuses, methods, and systems for run-time code execution validation. An embodiment includes a memory, and circuitry configured to monitor run-time executable code stored in a secure array of the memory device and receive an indication that a portion of the run-time executable code executed, wherein the indication includes a received Message Authentication Code (MAC) and take an action in response to the indication that the portion of the run-time executable code failed to execute.