Git Commit Authentication via Central Registry

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

There is a need to authenticate commits in a git repository to prevent bad actors from altering software code outside of the development system and storing corrupted commits in the external git repository, which can eventually spoil the production system.

Innovation Solution

A central commit registry is implemented to ensure the integrity of code within a git repository. This involves generating a git commit file with a unique ID or hash that is stored in a separate git version repository. The target system can then authenticate the commit by comparing the information in the git commit file with the actual commit, ensuring it originated from the source system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a git repository is used to store and share code commits, then code collaboration and version control are improved, but the risk of code corruption and unauthorized alterations increases

Engineering Contradiction:
Improvecode collaborationVSAvoidcode integrity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

A signature verification mechanism acts as an intermediary between the git repository and the target system. The signature file, stored separately from the code commit, serves as a mediator that proves the authenticity of the commit without being part of the code itself. This intermediary layer prevents unauthorized code alterations while maintaining collaboration capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The signature verification is performed in advance before the code commit is applied to the target system. By checking the signature file against the commit hash before deployment, the system proactively prevents corrupted or unauthorized code from being introduced, ensuring reliability before the code becomes operational.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If code commits are stored in an external git repository, then code management flexibility is improved, but the ability to authenticate commit authenticity deteriorates

Engineering Contradiction:
Improvecode managementVSAvoidcommit authentication
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The authentication mechanism is segmented into separate components: the code commit, the commit hash, and the signature file. The signature file contains the commit hash and is stored as a separate entity in the git repository, allowing easy code management while providing precise authentication through the separate verification process.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The commit hash is copied into the signature file as a reference. This copy allows the target system to verify the commit's authenticity by comparing the hash in the signature file with the hash of the received code commit, providing precise authentication without restricting code management flexibility.

Inventive Principle:
Principle #26Copying

3Reliability

If signature verification is performed for each commit, then code security is improved, but the complexity of the deployment process increases

Engineering Contradiction:
Improvecode securityVSAvoiddeployment process
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The git repository and target system automatically perform signature verification without requiring manual intervention. The system itself checks whether the signature file exists and whether the commit hash matches, making the security verification self-service and reducing the perceived complexity for users.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The verification process checks for the existence of the signature file and compares hashes, which are relatively simple operations compared to full code analysis. This partial verification approach provides adequate security without excessive complexity in the deployment process.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS20250181346A1Code authentication in a git repository
Publication Date: 2025.06.05 SAP SE
  • US20250181346A1 patent drawing
  • US20250181346A1 patent drawing
  • US20250181346A1 patent drawing

AI summary

Embodiments implement a central commit registry to ensure integrity of code within a Git repository, and the authentication of that code with the requirements of a particular computing system. The git repository stores snapshots of the software code as git commits while a version repository stores git commit files that contain information to uniquely identify git commits that originated from the source system. The git commit files are created with a version repository user that is only shared between a version repository, a source system and a target system. Before the target system deploys git commits received from the git repository, the target system authenticates the git commit by remotely logging into the version repository as a version repository user, querying the version repository for a git commit file that corresponds to the git commit, and verifying that the contents of the git commit file uniquely identifies the git commit.