Client-Side Player File Verification via Nonlinear Hashing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for verifying the authenticity of player files, such as SWF files, are vulnerable to collisions and reverse engineering, which can lead to unauthorized use and theft of content, as standard hash algorithms can be compromised.

Innovation Solution

Implementing a client-side verification process using modified nonlinear hash functions that operate based on an input key, generating hash values by segmenting the player file into blocks and applying iterative nonlinear functions, and comparing these values with predetermined hash values to authenticate the player file.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If standard hash algorithms are used to verify player files, then the verification process is simple and fast, but the system becomes vulnerable to collisions and reverse engineering

Engineering Contradiction:
Improvesecurity of player file verificationVSAvoidcomplexity of hash verification process
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies dynamics by making the hash algorithm variable rather than fixed. The hash function dynamically changes its operations based on an input key, transforming standard static hashing into a adaptive process that resists reverse engineering while maintaining verification reliability

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameters of the hash algorithm by modifying the operations performed during execution based on an input key. This transforms the hash function from a fixed algorithm to a key-dependent variable algorithm, enhancing security without fundamentally changing the verification mechanism

Inventive Principle:
Principle #35Parameter changes

2Reliability

If client-side verification with modified hash functions is implemented, then security against reverse engineering is improved, but the verification process becomes more complex and slower

Engineering Contradiction:
Improveprotection against reverse engineeringVSAvoidspeed of player file verification
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the player file into blocks and processes them through iterative nonlinear functions. This segmentation allows the complex verification process to be broken down into manageable steps that can be executed efficiently on client devices, balancing security with processing speed

Inventive Principle:
Principle #1Segmentation

3Reliability

If hashing algorithms with high collision resistance are used, then the authenticity verification becomes more secure, but the computational requirements increase

Engineering Contradiction:
Improvecollision resistance of hash functionVSAvoidcomputational energy for hash calculation
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent changes the parameters of the hash algorithm by using key-dependent operations that enhance collision resistance. The modified nonlinear functions and iterative processes provide stronger security while the key-based approach allows for optimized computational efficiency

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8925109B2Client-side player file and content license verification
Publication Date: 2014.12.30 ADOBE INC
  • US8925109B2 patent drawing
  • US8925109B2 patent drawing
  • US8925109B2 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for verifying a message based on application of a hashing algorithm. In one aspect, a method includes obtaining a license, from a remote server, for a content item to be presented using a player file executed by a multimedia player on a computing device. The license includes an encryption key and an authorization to present the content item using one or more authorized player files. A particular player file is received for use in presenting the content item, and a determination is made whether the particular player file is authorized for use in presenting the content item based on the authorization. The content item is decrypted using the encryption key, and the content item is presented using the particular player file in accordance with the determination.