Username-Based Authentication Protocol Using Salted Hashes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing authentication methods over insecure channels require passwords to be transmitted in clear text, making them vulnerable to eavesdropping, and often necessitate the same encryption for all passwords, which is inefficient.

Innovation Solution

A username-based authentication protocol that uses a hashed value computed from an encrypted password and a displayed code from a hardware token, where the username is used as a salt value, allowing users to calculate their own hashed password values, and employing Message Authentication Codes (MAC) to secure the process, thereby eliminating the need for clear text password transmission.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If password is transmitted over insecure channel, then authentication can be performed remotely, but password becomes vulnerable to eavesdropping

Engineering Contradiction:
Improveremote authenticationVSAvoideavesdropping vulnerability
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The patent introduces a salt value as an intermediary element that transforms the password before transmission. The salt is combined with the password to create a salted password hash, which serves as the actual transmitted data. This intermediary mechanism allows remote authentication while preventing eavesdropping, as the salted hash cannot be reversed to obtain the original password.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent applies preliminary action by pre-computing and storing salted password hashes in the database before authentication occurs. During authentication, the system retrieves the pre-stored salted hash and compares it with the newly computed hash from the entered password. This preliminary preparation enables secure authentication without requiring transmission of the actual password.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If different encryption is applied to each password, then security is improved, but system complexity increases

Engineering Contradiction:
Improveauthentication securityVSAvoidencryption complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies local quality by making each password entry unique through the use of individual salt values. Each user's password is salted with a unique salt value stored in the database, ensuring that even if two users have the same password, their stored hashes will be different. This localized differentiation maintains security without requiring complex encryption schemes for each password.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the parameter of password storage from raw passwords to salted password hashes. By transforming the password through a deterministic function (hashing) combined with a unique salt parameter, the system achieves security without complex encryption. The salt value acts as a parameter that modifies the password's representation while maintaining reversibility through the same hashing function.

Inventive Principle:
Principle #35Parameter changes

3Ease of manufacture

If clear text password is stored, then authentication is simple, but brute force attacks become easier

Engineering Contradiction:
Improveauthentication simplicityVSAvoidbrute force vulnerability
Core Design Contradiction:
Ease of manufactureVSObject-affected harmful factors

Solution Approach 1:

The patent substitutes the mechanical storage of clear text passwords with a cryptographic hashing mechanism. Instead of storing passwords as plain text, the system stores hashed versions of salted passwords. This substitution maintains authentication simplicity through direct comparison of hashes while providing strong protection against brute force attacks through the computational complexity of hashing.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent applies preliminary action by pre-hashing and pre-salting passwords during the registration phase, storing only the hash values in the database. During authentication, the system retrieves the pre-stored hash and compares it with a newly computed hash from the entered password. This preliminary transformation eliminates the need to store clear text passwords while maintaining simple authentication logic.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9225526B2Multifactor username based authentication
Publication Date: 2015.12.29 RED HAT INC
  • US9225526B2 patent drawing
  • US9225526B2 patent drawing
  • US9225526B2 patent drawing

AI summary

A hashed value is computed from an encrypted password value and a displayed code value from a hardware token at a client. The encrypted password value is based on a username, a context identifier, and a password. The client provides the username and the hashed value to a server. The encrypted password value associated with the username is retrieved at the server. An expected hashed value is computed at the server. The client is validated based on a comparison of the hashed value and the expected hashed value.