Secure Memory Programming via Pre-Generated Digital Signatures

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory system programming methods face challenges in securely configuring memory systems without exposing cryptographic keys, particularly in distributed environments where multiple memory systems need to be programmed.

Innovation Solution

The use of a command file containing pre-generated digital signatures allows a programming appliance to program memory systems securely without needing to receive cryptographic keys, by verifying the digital signatures using the memory system's cryptographic key.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If cryptographic keys are transmitted to programming appliance for memory system configuration, then programming capability is enabled, but security risk increases due to potential key exposure

Engineering Contradiction:
Improveprogramming capabilityVSAvoidsecurity risk
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The patent extracts the cryptographic key from the programming process by implementing read-only memory structures that contain hardcoded cryptographic identifiers. Instead of transmitting keys to the programming appliance, the memory device itself contains the verification credentials, eliminating the security vulnerability of key exposure while maintaining programming capability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces cryptographic identifiers stored in read-only memory as an intermediary between the programming appliance and the memory device. These identifiers serve as a trusted mediator that enables secure verification without requiring direct key transmission, thus resolving the contradiction between programming ease and security.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If cryptographic keys are stored in programming appliance, then memory system programming is enabled, but device complexity increases due to key management requirements

Engineering Contradiction:
Improveprogramming capabilityVSAvoidkey management
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent removes key management complexity from the programming appliance by extracting the cryptographic verification function and embedding it directly in the memory device through read-only memory structures. This eliminates the need for the programming appliance to store or manage cryptographic keys, significantly reducing device complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If distributed programming across multiple locations is implemented, then programming flexibility increases, but security control becomes more difficult

Engineering Contradiction:
Improveprogramming flexibilityVSAvoidsecurity control
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent enables distributed programming by copying the read-only memory structure containing cryptographic identifiers to multiple memory devices. Each device independently verifies programming commands using its embedded identifiers, maintaining security control across distributed locations without requiring centralized key management.

Inventive Principle:
Principle #26Copying

Data Source

PatentEP3830734B1Secure memory system programming
Publication Date: 2025.04.16 MICRON TECHNOLOGY INC
  • EP3830734B1 patent drawingFigure 1
  • EP3830734B1 patent drawingFigure 2
  • EP3830734B1 patent drawingFigure 3

AI summary

Various examples are directed to systems and methods for programming memory. A programming appliance may receive a command file comprising a first pre-generated digital signature. The first pre-generated digital signature may be associated with a memory system, with a first command and with a first memory system counter value. The programming appliance may send to a memory system a first command message. The first command system may comprise the first command and the first pre-generated digital signature.