Kernel-Based Dynamic Client Library Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In dynamic client-server network environments, existing methods for validating client-side libraries are inadequate as they rely on installation software for signature verification, which is not applicable when libraries are dynamically downloaded, and self-validation by libraries can be manipulated by attackers, lacking assurance of library integrity.

Innovation Solution

A client-side library validation method that involves a kernel component responsible for computing a hash value using a nonce received from the server, sending it for verification, and ensuring only valid libraries are used by the server, eliminating the need for distributed signatures and public keys.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If cryptographic signatures and public keys are distributed with the library for validation, then library integrity can be verified, but the installation package must perform verification and the application cannot dynamically download new versions without installation software involvement

Engineering Contradiction:
Improvelibrary integrity verificationVSAvoiddynamic library download capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The validation logic is extracted from the installation package and embedded directly into the library file itself. The library contains its own validation routines that can verify integrity without requiring external installation software, enabling dynamic downloads while maintaining security verification.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The library performs self-validation by computing its own hash value and comparing it against the provided public key and signature. This self-service capability eliminates the need for installation software to perform verification, allowing the library to validate itself during dynamic downloads.

Inventive Principle:
Principle #25Self-service

2Ease of operation

If the library validates itself by computing a hash value, then installation software verification is eliminated, but the library can be manipulated by attackers to always succeed or compute known correct hash values

Engineering Contradiction:
Improveinstallation software requirementVSAvoidattacker manipulation of validation
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

A trusted third party (the server) acts as an intermediary in the validation process. The server provides the public key and signature that the library uses to validate itself. This intermediary ensures that the validation process cannot be manipulated by attackers, as the server controls the cryptographic credentials.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The validation process includes feedback mechanisms where the library computes a hash value, receives a signature from the server, and compares the two. This feedback loop ensures that only libraries with valid signatures from the server can be used, preventing attacker manipulation.

Inventive Principle:
Principle #23Feedback

3Loss of time

If traditional signature verification is performed by installation software, then verification can be done once during installation, but the application does not know if the signature was verified or whether the library was modified

Engineering Contradiction:
Improveverification timingVSAvoidverification status awareness
Core Design Contradiction:
Loss of timeVSLoss of information

Solution Approach 1:

The library performs validation as a preliminary action during its own initialization, before any application logic executes. This ensures that verification occurs at the appropriate time without requiring separate verification steps later, and the application is aware that validation has been performed.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11764968B2Verification of valid client library binary file on connecting to server system
Publication Date: 2023.09.19 EMC IP HLDG CO LLC
  • US11764968B2 patent drawing
  • US11764968B2 patent drawing
  • US11764968B2 patent drawing

AI summary

Embodiments for validating a dynamically downloaded client-side library using a kernel that downloads the library and computing a hash value of the library using a nonce value received from a server and the library code. The kernel sends the hash value to the server with a file identifier. The server finds the identified library and compares the received hash value to its own computed value calculated over the file and using the same nonce value. If the client sends the correct value, then the server allows the application to connect to the server and use the server's services. If the client sends a value other than the value calculated by the server, the server closes the connection from the client and denies access to the application.