OTP Unidirectional Counter for Software Rollback Prevention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems lack a mechanism to ensure that software versions can only be updated in one direction, preventing rollback to insecure or obsolete versions, which is crucial for maintaining security and functionality.

Innovation Solution

Implementing unidirectional counters using one-time-programmable memory, such as flash or EEPROM, to store a minimum software version that can only be incremented, ensuring that only newer, secure versions can be installed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional memory devices are used to store software version information, then the version can be updated freely in both directions, but the system cannot prevent rollback to insecure or obsolete versions

Engineering Contradiction:
Improvesoftware version securityVSAvoidversion update flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The memory device is segmented into multiple memory locations, where at least one location stores the version counter and another location stores a counter of ones. This segmentation allows the system to maintain separate control over the version number and its increment state, enabling unidirectional updates while preserving the ability to store comprehensive version history for security purposes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary action by setting a counter of ones to a non-zero value before allowing a version update. This preliminary state change prevents subsequent decreases to the version counter, thereby preventing rollback to insecure or obsolete versions while maintaining update flexibility in the allowed direction.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If a unidirectional counter is implemented using one-time-programmable memory, then the version can only be incremented, but the device complexity increases

Engineering Contradiction:
Improveunidirectional version controlVSAvoidmemory structure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The memory device is designed to serve multiple functions: it stores the version counter, maintains a counter of ones to enforce unidirectionality, and provides tamper detection capabilities. By making the memory structure multi-functional, the patent reduces overall system complexity compared to using separate dedicated components for each function.

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

Solution Approach 2:

The counter of ones acts as an intermediary mechanism between the version counter and the update control logic. Instead of directly preventing version decreases through complex control circuits, the system uses the counter of ones as a mediator that simplifies the enforcement of unidirectional updates through straightforward comparison logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If the version counter is stored in readable memory that can be modified, then the system remains flexible for updates, but tampering with the version information becomes possible

Engineering Contradiction:
Improveversion update easeVSAvoidversion tampering
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The system incorporates feedback mechanisms through tamper detection logic that monitors changes to the version counter and the counter of ones. When unauthorized modifications are detected, the system can respond by blocking updates or alerting the user, thereby maintaining ease of legitimate updates while preventing tampering through continuous monitoring and response.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12505218B2Unidirectional counter
Publication Date: 2025.12.23 MELLANOX TECHNOLOGIES LTD(IL)
  • US12505218B2 patent drawing
  • US12505218B2 patent drawing
  • US12505218B2 patent drawing

AI summary

Apparatuses, systems, and techniques that implement a unidirectional counter with one-time-programmable memory that prevents the counter from reversing direction. In at least one embodiment, a unidirectional counter is implemented with a base value represented as a binary number and an offset represented as a bit field where each bit represents an equal amount.