IoT Device Cryptographic Key Generation via SRAM Initialization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

IoT devices without pre-manufactured cryptographic keys cannot securely communicate with servers or other devices, as they lack the necessary circuitry for generating random values required for encryption.

Innovation Solution

Generating a cryptographic key based on the unique random initialization values of the device's SRAM, using a hash function provided in a software package from the management service, which allows the device to create a secure communication key without additional circuitry for random number generation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If IoT devices are manufactured without pre-stored cryptographic keys to reduce manufacturing complexity and cost, then device complexity and manufacturing cost are reduced, but the devices cannot securely communicate with servers or other devices

Engineering Contradiction:
Improvemanufacturing complexityVSAvoidsecure communication capability
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent applies preliminary action by utilizing the random initialization values that are automatically generated during the SRAM initialization phase before the device is put into service. These initialization values serve as the foundation for generating cryptographic keys, eliminating the need for separate random number generation circuitry while ensuring each device has unique cryptographic material from the outset.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements self-service by enabling devices to generate their own cryptographic keys using their unique SRAM initialization values without requiring external intervention or pre-manufactured keys. The device leverages its existing memory components to autonomously create secure communication capabilities, reducing both manufacturing complexity and the need for additional dedicated hardware.

Inventive Principle:
Principle #25Self-service

2Reliability

If additional circuitry for random number generation is added to enable secure communication, then secure communication capability is improved, but device complexity and manufacturing cost increase

Engineering Contradiction:
Improvesecure communication capabilityVSAvoidcircuitry complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies universality by making the SRAM serve multiple functions: it serves as both the data storage memory and the source of random values for cryptographic key generation. This multi-functionality eliminates the need for separate dedicated random number generation circuitry, reducing device complexity while maintaining secure communication capabilities.

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

Solution Approach 2:

The patent uses the SRAM initialization values as an intermediary element that bridges the gap between the device's existing memory components and the requirement for cryptographic randomness. These initialization values act as a mediator that enables secure communication without requiring additional specialized hardware, as they can be directly processed by the device's existing computational resources.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11936783B2Generating a key at a device based on a memory of the device
Publication Date: 2024.03.19 CRYPTOGRAPHY RESEARCH INC
  • US11936783B2 patent drawing
  • US11936783B2 patent drawing
  • US11936783B2 patent drawing

AI summary

An indication of a key generation function may be received from a server. A random value may be received based on a volatile memory of a device. A cryptographic key may be generated based on the key generation function from the server and the random value that is based on the volatile memory of the device. The cryptographic key may be stored at a non-volatile memory of the device.