Tunable Key Derivation Function Decoupling Memory and Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing password-based key derivation functions in computer security are limited by their dependency on both memory and processing resources, making them vulnerable to brute force attacks, and lack flexibility in adjusting protection strength over time without access to the original passwords.

Innovation Solution

The method decouples processing time from memory requirements, allowing for tunable performance and protection strength through a two-stage core hashing operation with separate iterations and memory block parameters, enabling system administrators to increase protection strength without the original passwords.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If password hashing is used to protect user passwords, then security against unauthorized access is improved, but the system becomes vulnerable to brute force attacks due to limited password space

Engineering Contradiction:
ImprovesecurityVSAvoidbrute force attack vulnerability
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent applies preliminary action by pre-computing a large array of memory blocks containing pseudo-random data based on the password before any attack occurs. This pre-computed array is then used during authentication to derive the final hash. The preliminary computation creates a computational barrier that must be overcome during any brute force attempt, significantly increasing the cost of such attacks before they even begin.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by creating multiple copies of hash computations through the array of memory blocks. Instead of computing a single hash value, the system generates an array of blocks where each block contains a copy or variation of the hashing process. This multiplication of computational copies increases the total work factor for attackers while maintaining the same security goal.

Inventive Principle:
Principle #26Copying

2Reliability

If more memory and processing resources are required for key derivation, then brute force attack cost increases, but normal system performance deteriorates

Engineering Contradiction:
Improveprotection strengthVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies dynamics by making the memory and processing requirements configurable through parameters. The system can dynamically adjust the number of iterations and the size of the memory array based on security requirements and performance constraints. This dynamic configuration allows administrators to tune the balance between protection strength and system performance rather than being locked into fixed resource requirements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent uses parameter changes by introducing configurable parameters that control the computational complexity of the key derivation function. By changing parameters such as the number of iterations and array size, the system can adjust both the protection strength and the resource consumption. This allows the same algorithm to provide different levels of security and performance characteristics based on the applied parameters.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If the number of hashing operations is increased to strengthen protection, then brute force resistance improves, but processing time increases

Engineering Contradiction:
Improveprotection strengthVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies segmentation by dividing the hashing operations into distinct segments or stages. Instead of performing a single long computational sequence, the system breaks down the key derivation into multiple smaller hashing operations that work on different segments of the password or different portions of the generated array. This segmentation allows for better optimization and potential parallelization, reducing overall processing time while maintaining protection strength.

Inventive Principle:
Principle #1Segmentation

4Reliability

If protection strength is increased over time to counter growing computing power, then security against modern attacks improves, but access to original passwords is required which may not be feasible

Engineering Contradiction:
Improveprotection strengthVSAvoidpassword recovery feasibility
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent applies the disposable principle by using a salt value that is discarded after use. The salt is a random value used during the key derivation process to ensure uniqueness and prevent pre-computation attacks. After the derived key is generated, the salt is no longer needed and can be discarded. This allows the system to increase protection strength by using different salts or adjusting parameters without requiring retention of sensitive original password material.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS9594918B1Computer data protection using tunable key derivation function
Publication Date: 2017.03.14 EMC IP HLDG CO LLC
  • US9594918B1 patent drawing
  • US9594918B1 patent drawing
  • US9594918B1 patent drawing

AI summary

A computer-implemented method of protecting digital data includes applying a key derivation function to a first value to generate a first derived key, the first value being equal to or derived from a first input password. The first derived key is combined with the digital data to generate a protected record stored in the computer. Subsequently, the key derivation function is applied to a second value to generate a second derived key, the second value being equal to or derived from a second input password. The protected record is processed using the second derived key to permit access to the digital data when the second derived key matches the first derived key. The key derivation function includes iterations of a two-stage hashing operation creating and using an array of memory blocks whose size is specified independently of the number of iterations to decouple processing and memory requirements.