Nonce Generation via Hash Subsets for Replay Protection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing techniques for generating freshness values in memory devices, such as monotonic counters and timestamps, face challenges in NAND flash memory due to wear issues and synchronization requirements, making them inefficient for secure communication.
Innovation Solution
Nonce generation using pseudo-random number generation based on a shared seed, allowing for the creation of a freshness value that can be independently generated by communicating parties without the need for precise clock synchronization or frequent storage updates.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If monotonic counters are used for replay protection, then replay protection is provided, but storage device wear increases due to frequent updates
Solution Approach 1:
The patent replaces the mechanical counter update system with a cryptographic hash-based nonce generation system. Instead of incrementing a counter and writing to storage, the system generates nonces using hash functions (e.g., SHA-256) that combine a secret key with a changing input (such as a timestamp or event identifier). This substitution eliminates the need for frequent storage writes while maintaining replay protection, as the nonce's cryptographic properties ensure uniqueness and prevent reuse.
Solution Approach 2:
The nonce generation system is self-service in that it automatically generates unique freshness values without requiring external intervention or storage updates. The system uses its internal secret key and a changing input to generate nonces on-demand, eliminating the need for external counter management and reducing storage device wear while maintaining replay protection.
2Reliability
If timestamps are used for freshness values, then replay protection is achieved, but precise clock synchronization is required between communicating parties
Solution Approach 1:
The patent introduces a secret key as an intermediary element that both communicating parties share. Instead of relying on synchronized timestamps, the system uses this shared secret key combined with a changing input (such as a sequence number or event identifier) to generate nonces. The secret key acts as a mediator that enables both parties to independently generate matching freshness values without requiring clock synchronization, thereby reducing device complexity while maintaining replay protection.
Solution Approach 2:
The system changes the parameter used for freshness generation from time-based (timestamps requiring synchronization) to key-based (secret key combined with changing input). This parameter change allows parties to generate unique freshness values independently using their shared secret key and local changing inputs (such as sequence numbers), eliminating synchronization requirements while maintaining replay protection.
3Reliability
If traditional freshness value generation is used, then replay protection is provided, but the impact on existing device designs is significant
Solution Approach 1:
The patent implements a universal nonce generation mechanism that can be integrated into existing memory device designs with minimal changes. The system uses standard cryptographic hash functions that are widely supported and can be implemented using existing hardware or software components. The nonce generation process is designed to work with various communication protocols and can be applied across different memory device types (NAND, NOR, 3D cross-point), making it a multi-functional solution that reduces design impact while providing replay protection.
Data Source
AI summary
Devices and techniques for replay protection nonce generation are described herein. A hash, of a first length, can be produced from a first input. A first subset of the hash can be extracted as a selector. A second subset of the hash can be selected using the selector. Here, the second subset has a second length that is less than the first length. The second subset can be transmitted as a nonce for a freshness value in a replay protected communication.


