Secure Software Enablement Over Narrow Bandwidth Channels

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for secure software enablement over narrow bandwidth channels, such as telephone channels, face limitations due to the need for short validation codes that are specific to an entitlement and hard to generate by anyone but the software vendor, while avoiding shared secrets between the vendor and client, and are vulnerable to attacks like fixed string, dictionary, and fixed index attacks.

Innovation Solution

A system where vendor-side messages are stored on a server, and their hashes are stored on client machines, allowing clients to verify validation codes by computing hash functions, using tables of messages and hashes to ensure security without relying on shared secrets, and using pseudorandom numbers and hashing to create vendor-side secrets that can be easily verified by clients.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If public key digital signature algorithms are used to ensure security, then the validation code becomes hard to generate by anyone but the software vendor, but the code length increases to more than 78 digits which is unsuitable for narrow bandwidth channels

Engineering Contradiction:
ImprovesecurityVSAvoidcode length
Core Design Contradiction:
ReliabilityVSLength of moving object

Solution Approach 1:

The validation code is segmented into two parts: a first portion transmitted over the narrow bandwidth channel and a second portion stored locally on the client device. This segmentation allows the use of a secure but longer cryptographic signature while presenting only a short code to the user for verbal transmission.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The solution moves from a single-dimensional code transmission to a two-dimensional verification process involving both a transmitted code portion and a locally stored verification portion. This dimensional change enables secure verification without requiring the full cryptographic signature to be transmitted over the narrow channel.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Length of moving object

If symmetric key encryption is used to reduce code length, then the validation code becomes short enough for narrow bandwidth channels, but the shared secret must be stored on the user's computer which opens it to security risks

Engineering Contradiction:
Improvecode lengthVSAvoidsecurity vulnerability
Core Design Contradiction:
Length of moving objectVSObject-affected harmful factors

Solution Approach 1:

The vulnerable shared secret is extracted from the user's computer and replaced with a locally stored hash value. The actual secret remains only on the vendor's secure server, while the client device stores only a one-way hashed version that cannot be reverse-engineered to reveal the original secret.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The symmetric key encryption mechanism is replaced with a cryptographic hash function. Instead of using reversible encryption that requires storing the key, the system uses one-way hashing where the original data cannot be recovered from the hash, eliminating the need to store vulnerable secrets on client devices.

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

3Ease of operation

If a short validation code is used to accommodate narrow bandwidth channels, then the code is easy for users to handle, but the number of possible codes decreases making it easier for hackers to brute force

Engineering Contradiction:
Improveuser handlingVSAvoidsecurity against brute force
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The validation code is segmented into a transmitted portion and a locally stored portion. The transmitted portion can be kept short for ease of user handling, while the locally stored portion (combined with the transmitted portion during verification) provides the additional entropy needed to resist brute force attacks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The client device performs preliminary verification by computing a hash of the received code portion and comparing it against a locally stored hash value before completing the validation process. This preliminary action enables fast verification of short codes while maintaining security through the cryptographic hash function.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8666900B1Secure product enablement over channels with narrow bandwidth
Publication Date: 2014.03.04 INTUIT INC
  • US8666900B1 patent drawing
  • US8666900B1 patent drawing
  • US8666900B1 patent drawing

AI summary

A system and method provide an enablement scheme that accommodates small bandwidth channels and does not rely on shared secrets between parties. This is accomplished by storing a table of messages on a vendor server and a table of hashes of the message on client machines. A process is used by the vendor to select a message from the table to use for a validation code for enablement, and an identical process is used by the client to find a corresponding hash in the hash table. By comparing the hash in the hash table to a hash of the validation code received, the client can verify the validation code. The system includes software portions for enabling the method.