Secure Enclave Data Integrity Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems face challenges in preventing rollback attacks, where an adversary can manipulate version numbers or authentication tags to revert data sets to older versions, compromising data integrity and security, especially in systems with secure enclaves like MCUs or MPUs.

Innovation Solution

Implementing a secure chip with a secure enclave that uses a key update counter and generates a cryptographic authentication tag (CMAC) to verify the validity and up-to-dateness of data sets, ensuring that only valid and updated data sets are used, and incorporating a logic circuit to manage key values and update codes securely.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If version numbers and authentication tags are stored in memory to detect rollback attacks, then data integrity is improved, but the memory circuit becomes vulnerable to manipulation by attackers

Engineering Contradiction:
Improvedata integrityVSAvoidmemory manipulation vulnerability
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent introduces a secure enclave as an intermediary component between the memory circuit and the application logic. This secure enclave is a dedicated hardware module that stores cryptographic keys and performs authentication operations, isolating the sensitive authentication functions from the main memory circuit. The secure enclave acts as a mediator that verifies data integrity without exposing the memory circuit to direct manipulation attacks.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the system into distinct functional components: a secure enclave for cryptographic operations, a memory circuit for data storage, and an application processor for logic execution. By separating the authentication function into a dedicated secure enclave, the system prevents attackers from manipulating memory-based version numbers and authentication tags while maintaining data integrity verification capabilities.

Inventive Principle:
Principle #1Segmentation

2Reliability

If cryptographic authentication tags are generated and stored to verify data set validity, then security against rollback attacks is improved, but device complexity increases

Engineering Contradiction:
Improvesecurity against rollback attacksVSAvoidauthentication mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The secure enclave implements self-service authentication where the hardware module automatically generates, stores, and verifies cryptographic authentication tags without requiring complex software-based authentication mechanisms. The secure enclave uses dedicated hardware cryptographic units to perform MAC calculations and key management operations, eliminating the need for complex software authentication protocols and reducing overall system complexity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces software-based authentication mechanisms with hardware-based cryptographic operations within the secure enclave. Instead of using complex software algorithms for verification, the system employs dedicated hardware cryptographic units that perform authentication tags generation and verification through physical cryptographic operations, significantly simplifying the overall authentication mechanism.

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

3Reliability

If counters are used to track version numbers and prevent rollback, then update verification is improved, but the system becomes vulnerable to counter manipulation attacks

Engineering Contradiction:
Improveupdate verificationVSAvoidcounter manipulation vulnerability
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The secure enclave serves as an intermediary that manages counter-based version tracking and authentication. Rather than storing counters directly in accessible memory where they can be manipulated, the secure enclave maintains secure counters and uses them to generate authentication tags. This intermediary approach allows version verification while preventing direct counter manipulation by attackers.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary authentication actions by generating cryptographic authentication tags before allowing any counter-based verification to occur. The secure enclave pre-computes authentication tags based on counter values and data, and only accepts updates if the authentication tag verifies successfully. This preliminary authentication step prevents counter manipulation attacks by validating data integrity before any state changes occur.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP4312136A1Apparatuses and methods for verification of updated data-set
Publication Date: 2024.01.31 NXP BV
  • EP4312136A1 patent drawingFigure 1
  • EP4312136A1 patent drawingFigure 2
  • EP4312136A1 patent drawingFigure 3

AI summary

In one example, a circuit includes a secure chip storing one of an enclave of key values linked to an update code; a memory to store an updatable data set including the update value which corresponds to and is revised with the update code; and a logic circuit. The logic circuit is to: provide a key value, based to a revision to the update code, from among the enclave of key values, generate an authentication tag as a function of the provided key value, use the authentication tag to verify that the updatable data set is valid and up to date before using the updatable data set in an application specified for the updatable data set, and update the data set by storing a replacement updatable data set in the memory circuit and including, in the replacement updatable data set, a revised update value which corresponds to a revised update code that is used to provide another key value from among the enclave of key values.