Rate-Limited Device-Specific Cryptographic Key Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing computing power and ease of brute force attacks on cryptographic keys, particularly for short and simple passwords, make user secrets vulnerable, as attackers can quickly generate all possible combinations on powerful devices.

Innovation Solution

A system and method for generating device-specific cryptographic keys through iterative encryption operations based on a device-specific value, limiting the rate at which keys can be generated, using a dedicated hardware encryption engine and unique device identifiers, ensuring that key generation occurs on the specific device and slows down brute force attacks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If brute force attacks are performed on cryptographic keys using powerful computing devices, then the speed of key generation and attack increases, but the security of user secrets deteriorates

Engineering Contradiction:
Improvekey generation speedVSAvoidsecurity of user secrets
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent performs preliminary actions by pre-computing iteration counts and storing them in the system before an attack occurs. The iteration register is pre-loaded with values that will be used during key generation, allowing the system to perform rate-limited iterations without real-time computation overhead. This preliminary preparation enables the system to maintain security while managing attack speeds effectively

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements periodic action through rate-limited iterative key generation. Instead of allowing continuous or rapid key generation attempts, the system performs a fixed number of iterations (stored in the iteration register) for each key generation request. This periodic, limited iteration approach creates deliberate delays that slow down brute force attacks while still enabling legitimate key generation, effectively trading off some speed for improved security

Inventive Principle:
Principle #19Periodic action

2Reliability

If iterative encryption operations are performed to generate device-specific keys, then security against brute force attacks improves, but the time required for key generation increases

Engineering Contradiction:
Improvesecurity against brute force attacksVSAvoidkey generation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent changes parameters by using device-specific values (such as device identifiers or hardware characteristics) as inputs to the iterative encryption process. This parameter change ensures that each device generates unique cryptographic keys through the same iterative process, providing security without requiring excessive time. The iteration count is also adjusted based on security requirements rather than being fixed, allowing optimization between security and time

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system performs preliminary actions by pre-determining and storing the iteration count in an iteration register before the actual key generation process. This preliminary setup allows the iterative encryption to proceed with a predetermined number of steps, ensuring adequate security while avoiding unnecessary additional iterations that would waste time. The device-specific parameters are also prepared in advance to streamline the iterative process

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8681976B2System and method for device dependent and rate limited key generation
Publication Date: 2014.03.25 APPLE INC
  • US8681976B2 patent drawing
  • US8681976B2 patent drawing
  • US8681976B2 patent drawing

AI summary

Disclosed herein are systems, methods, and non-transitory computer-readable storage media for generating a device dependent cryptographic key in a rate-limited way. A system configured to practice the method first receives data associated with a user. The data associated with the user can be a password, a personal identification number (PIN), or a hash of the password. Then the system performs a first encryption operation on the user data based on a device-specific value to yield first intermediate data and performs a second encryption operation on the first intermediate data based on the device-specific value to yield second intermediate data. Then the system iteratively repeats the second encryption operation until a threshold is met, wherein each second encryption operation is performed on the second intermediate data from a previous second encryption operation. The iterations produce a final cryptographic key which the system can then output or use for a cryptographic operation.