Blockchain Code Signing for Autonomous Vehicle Software Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing code signing systems face inefficiencies and security vulnerabilities due to the separation of hashing and signing functionalities, leading to resource wastage and potential authenticity and integrity issues, particularly in large or frequent software releases, where they may fail to meet performance requirements or incorrectly verify software integrity.

Innovation Solution

A blockchain-based system for secure code signing that integrates a build system, code signing worker, and check system to generate and verify software release blockchains, using hash digests and worker signatures to ensure the integrity and authenticity of software artifacts, allowing for efficient and secure distribution and auditing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If hashing and signing functionalities are separated into different systems, then scalability and security of private key are improved, but resource wastage and potential authenticity issues occur

Engineering Contradiction:
Improvesecurity of private keyVSAvoidresource wastage
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system segments the code signing process into distinct components: a build system that generates software artifacts, a signing system that creates digital signatures, and a verification system that validates signatures. Each component operates independently with specific responsibilities, allowing the private key to remain secure in the signing system while the build system continues software generation without accessing sensitive cryptographic materials.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism where the build system sends software artifacts to the signing system, which then returns signed artifacts. This intermediary process ensures that the private key never leaves the signing system, maintaining security while enabling distributed operation. The signing system acts as a trusted intermediary that bridges software generation and distribution.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the entire software program is transferred from build system to signing system for hashing and signing, then code signing can be performed, but network bandwidth and storage capacity are consumed

Engineering Contradiction:
Improvecode signing functionalityVSAvoidnetwork bandwidth and storage capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential software artifact data needed for signing rather than transferring entire software programs. The build system generates artifacts and sends minimal necessary information to the signing system for signature creation, significantly reducing data transfer volume. The signing system receives only what is needed to create signatures, not complete software distributions.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of transferring original software artifacts back and forth between systems, the patent uses copying mechanisms where the build system creates artifact representations and sends these to the signing system. The signing system works with copies of artifact metadata and signatures, avoiding repeated transfers of large binary files while maintaining integrity verification capabilities.

Inventive Principle:
Principle #26Copying

3Loss of energy

If hashing is performed before sending to code signing application, then resource consumption is reduced, but authenticity and integrity problems occur since the signing system cannot verify hash generation

Engineering Contradiction:
Improveresource consumptionVSAvoidauthenticity and integrity verification
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The signing system implements feedback mechanisms where it receives artifacts from the build system, verifies their integrity through cryptographic hashing, and returns signed artifacts with verification data. The system provides feedback loops that allow the build system to confirm successful signing and verification, ensuring authenticity while maintaining efficient resource usage through localized hashing operations.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The build system performs preliminary hashing and integrity verification of software artifacts before sending them to the signing system. This preliminary action ensures that only valid, uncorrupted artifacts are transmitted, reducing the burden on the signing system while maintaining security. The build system prepares artifacts in advance with embedded integrity information that the signing system can verify.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP4155909A1Systems, methods, and computer program products for blockchain secured code signing of autonomous vehicle software artifacts
Publication Date: 2023.03.29 VOLKSWAGEN GROUP OF AMERICA INVESTMENTS LLC
  • EP4155909A1 patent drawingFigure 1
  • EP4155909A1 patent drawingFigure 2
  • EP4155909A1 patent drawingFigure 3A~3C

AI summary

Provided are systems, methods, and computer program products for secure code signing of software artifacts in a permissioned blockchain for recording, distributing, and auditing of software artifacts via hash digests, artifact signatures, and worker signatures, comprising a build system worker to generate a software release blockchain, and insert software artifact blocks including a hash digest of the software artifact, a code signing worker to generate and insert a signature block of a software artifact block comprising a signature of the hash digest in the software artifact block, a check system worker to generate a check block associated with the signature block, the check block comprising an attestation verifying at least the integrity of the hash digest and the authenticity of the signature of the hash digest, and one or more processors, configured to verify the software release blockchain based at least on the check block.