Blockchain Code Integrity Validation via Hash Signing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing information handling systems lack effective mechanisms to validate the integrity of software code contributions and their revisions, particularly in ensuring that referenced libraries or DLLs have not been tampered with during updates or modifications, which can compromise system security and reliability.

Innovation Solution

Implementing a distributed ledger system, such as a public blockchain, to track and validate software developer code contributions by hashing and signing each contribution with a private key, allowing for local caching and verification on user devices, and employing a loader service to validate dependencies before loading, ensuring the integrity of code digests and dependencies before they are loaded into memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If code contributions are updated or modified without validation, then software development efficiency is improved, but system security and reliability deteriorate

Engineering Contradiction:
Improvesoftware development efficiencyVSAvoidsystem security
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary validation of code contributions by computing hashes and verifying digital signatures before the code is loaded or executed. This advance verification ensures that only authentic, un tampered code is introduced into the system, maintaining security while enabling efficient development iterations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A blockchain-based verification mechanism acts as an intermediary between code contributors and the loading system. The blockchain stores cryptographic proofs of code integrity, serving as a trusted mediator that validates code contributions without requiring direct trust between developers and the system, thus maintaining both security and development efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If code contributions are validated using traditional methods, then system security is improved, but processing time and complexity increase

Engineering Contradiction:
Improvecode integrity validationVSAvoidvalidation processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system uses cryptographic hash copies of the original code as verification tokens. Instead of re-examining the entire code base during validation, the system computes a hash (a compact digital fingerprint) of the code and verifies this hash against the blockchain record. This copying approach maintains rigorous validation while dramatically reducing processing time.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent replaces traditional manual or complex automated code review mechanisms with cryptographic verification. Instead of examining code logic or behavior, the system uses mathematical hash functions and digital signature verification to prove code integrity, substituting mechanical validation processes with efficient cryptographic operations.

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

3Adaptability or versatility

If code contributions are modified without tracking, then development flexibility is improved, but code provenance and accountability deteriorate

Engineering Contradiction:
Improvecode modification flexibilityVSAvoidcode provenance
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The blockchain system provides continuous feedback about code provenance by recording each code contribution's cryptographic hash and associated metadata (developer identity, timestamp, version). This feedback mechanism maintains a complete audit trail of code evolution, allowing the system to track modifications while preserving developer accountability and code history.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary registration of code contributions in the blockchain before any modifications occur. Each initial code submission is hashed and recorded with developer attribution, creating a baseline record that enables future tracking of modifications while maintaining flexibility for updates.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10656936B2Systems and methods for software integrity validation using blockchain
Publication Date: 2020.05.19 DELL PROD LP
  • US10656936B2 patent drawing
  • US10656936B2 patent drawing
  • US10656936B2 patent drawing

AI summary

Systems and methods are provided that that may be implemented to track software developer code contributions and their respective revisions. In one exemplary implementation, a distributed ledger may be utilized to track software developer code contributions and their respective revisions. Each code contribution digest, code digest ID, developer public key and previous blockchain block may be compiled for a new block in the blockchain, and the compilation may first be hashed and signed by the private key of the developer. Each developer may have his/her own blockchain that resides within a code repository site and which may also be cached locally on the end user device and used to verify the integrity of the code contribution (e.g., application/service/executable) at the time it is installed on the end user device.