Kernel-Based Dynamic Client Library Validation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
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.


