Virtual Monotonic Counter for Hardware Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Information processing systems face limitations in the number of available hardware monotonic counters, which restricts their ability to provide adequate security measures, particularly in scenarios where power loss or reset attacks can compromise security.

Innovation Solution

The implementation of virtual monotonic counters, which allows for an increase in the number of available counters through scalable virtualization, ensuring robust operation even in the event of power loss by utilizing a management engine with secure enclaves and trusted paths for secure communication and data protection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If hardware monotonic counters are used to protect against replay attacks, then security is improved, but the number of available counters is limited

Engineering Contradiction:
ImprovesecurityVSAvoidnumber of counters
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent creates virtual copies of hardware monotonic counters by software emulation. The virtual monotonic counter module generates multiple virtual counter instances that behave like hardware counters but are implemented in software, allowing numerous counters to be created without additional physical hardware. Each virtual counter is associated with a secure enclave and can independently protect against replay attacks.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent transitions from physical hardware dimension to virtual software dimension. Instead of adding more physical counter hardware, the system creates counters in the virtual dimension through software emulation, managed by a virtual monotonic counter module that orchestrates multiple virtual counter instances across different secure enclaves.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If more hardware monotonic counters are provided, then security coverage is improved, but device complexity and cost increase

Engineering Contradiction:
Improvesecurity coverageVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The virtual monotonic counter module serves multiple functions: it manages numerous virtual counter instances, handles secure enclave communications, provides replay attack protection, and maintains counter state persistence. This single software module replaces what would otherwise require multiple dedicated hardware counter circuits, reducing overall system complexity while expanding security coverage.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Quantity of substance

If virtual monotonic counters are implemented, then the number of available counters increases, but system complexity increases

Engineering Contradiction:
Improvenumber of countersVSAvoidvirtualization complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The virtual monotonic counter module acts as an intermediary layer between the hardware secure enclaves and the applications needing counter protection. It manages the complexity of virtualization internally while presenting a simple interface to applications, and interfaces with hardware enclaves through standardized protocols, thereby isolating and managing virtualization complexity within a dedicated software component.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9465933B2Virtualizing a hardware monotonic counter
Publication Date: 2016.10.11 INTEL CORP
  • US9465933B2 patent drawing
  • US9465933B2 patent drawing
  • US9465933B2 patent drawing

AI summary

Embodiments of an invention for virtualizing a hardware monotonic counter are disclosed. In one embodiment, an apparatus includes a hardware monotonic counter, virtualization logic, a first non-volatile storage location, and a second non-volatile storage location. The virtualization logic is to create a virtual monotonic counter from the hardware monotonic counter. The first non-volatile storage location is to store an indicator that the count of the hardware monotonic counter has changed. The second non-volatile storage location is to store an indicator that the count of the virtual monotonic counter has changed.