Password-Based Cryptographic Key Generation via Server Intermediary

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for generating secret cryptographic keys from user passwords are vulnerable to offline brute-force attacks, especially when users employ weak passwords and share them across multiple platforms, and often require expensive trusted hardware or multiple servers for secure management.

Innovation Solution

A method that involves a user computer and a server interacting via a network to generate a secret cryptographic key using a secret user value and a secret server value, where the user password is verified by the server without revealing it, ensuring the key is secure against offline guessing attacks and can be regenerated as needed without storing compromising information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a secret key is stored on a user computer and accessed via user password input, then the key is readily available for required use, but the system becomes vulnerable to offline brute-force attacks since user passwords are cryptographically weak and easily guessed

Engineering Contradiction:
Improvereadily available for useVSAvoidsecurity against unauthorized access
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

A server acts as an intermediary between the user computer and the secret key. The server stores a check value derived from the user password and secret user value, and verifies passwords without revealing the secret key. This intermediary prevents direct brute-force attacks on the user computer while maintaining password-based access convenience.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The secret key is extracted from the user computer and stored on a remote server. Only a check value (hash) of the password is stored on the user computer. This separation removes the vulnerable combination of weak password + stored key from the user system, while preserving password-based access through the server intermediary.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If trusted hardware devices such as smart cards or TPM chips are used for secure management of secret keys, then security against unauthorized access is improved, but the system complexity and expense increase

Engineering Contradiction:
Improvesecurity against unauthorized accessVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The invention replaces expensive trusted hardware devices with software-based cryptographic operations on standard computers. The server implements secure key management using only software, eliminating the need for smart cards, TPM chips, or other specialized hardware, thereby reducing system complexity and cost while maintaining security through cryptographic protocols.

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

3Reliability

If multiple servers are used for password-based key generation, then security against server compromise is improved, but the system complexity and cost increase

Engineering Contradiction:
Improvesecurity against server compromiseVSAvoidnumber of servers required
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

A check value is pre-computed and stored on the user computer before any key generation occurs. This check value, derived from the user password and secret user value, enables the user to verify server authenticity and protect against server compromise without requiring multiple servers. The preliminary computation of the check value provides security that would otherwise require multi-server architectures.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10057060B2Password-based generation and management of secret cryptographic keys
Publication Date: 2018.08.21 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10057060B2 patent drawing
  • US10057060B2 patent drawing
  • US10057060B2 patent drawing

AI summary

A user computer generates a secret cryptographic key through communication with a server. A secret user value is provided at the user computer. A secret server value is provided at the server with a check value which encodes the secret user value and a user password. In response to input of an input password, the user computer encodes the secret user value and the input password to produce a first value corresponding to said check value, and communicates the first value to the server. The server compares the first value and check value to check whether the input password equals the user password. If so, the server encodes the first value and secret server value to produce a second value and communicates the second value to the user computer. The user computer generates the secret cryptographic key by encoding the second value, the input password and the secret user value.