Vault Device for Secure Source Code Commit Signing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems lack control over signing keys used for source code commits, allowing developers to leave companies with keys, enabling unauthorized access and potential malicious activities.

Innovation Solution

Implementing a vault device to manage and store signing keys, ensuring they are not resident on client devices, and using an identity provider to authenticate developers, thus reducing the risk of malicious use.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If developers store signing keys on their own devices, then developers can easily sign commits, but company control over signing keys is lost and security risks increase

Engineering Contradiction:
Improveease of commit signingVSAvoidsecurity control
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent introduces a server as an intermediary between developers and signing keys. The server stores signing keys securely and provides them to developers only when needed for commit signing. This mediator approach maintains developer convenience while restoring company control and security oversight, directly resolving the contradiction between ease of operation and reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If signing keys are distributed to developers, then commit signing is convenient, but unauthorized parties can potentially compromise keys and inject malicious code

Engineering Contradiction:
Improvecommit efficiencyVSAvoidmalicious code injection risk
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The server acts as a secure intermediary that controls signing key distribution. Instead of developers having permanent access to keys on their devices, the server provides keys temporarily only when a valid commit request is made. This eliminates the risk of key compromise while maintaining commit efficiency, as the intermediary verifies authenticity before allowing signing operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary verification of developer identity and commit legitimacy before providing signing keys. The server authenticates developers and validates commit requests in advance, ensuring that only authorized operations receive signing keys. This preliminary action prevents malicious code injection by blocking unauthorized access before it can occur.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If developers can take signing keys when leaving the company, then developers maintain signing capability, but company security control is compromised

Engineering Contradiction:
Improvedeveloper mobilityVSAvoidcompany security control
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The server intermediary maintains centralized control over signing keys, preventing developers from taking keys when leaving the company. The server can revoke access rights centrally, ensuring that departed employees cannot access signing keys. This maintains company security control while still allowing legitimate developers to sign commits during their employment.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements dynamic control of signing key access based on employment status and authorization levels. Access rights are not static but can be modified in real-time by administrators. When a developer leaves the company, their access rights are revoked dynamically, preventing them from using signing keys. This dynamic approach maintains both developer mobility during employment and security control when employment ends.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20240323032A1Commit signing service
Publication Date: 2024.09.26 SNOWFLAKE INC
  • US20240323032A1 patent drawing
  • US20240323032A1 patent drawing
  • US20240323032A1 patent drawing

AI summary

Verifying signed source code using a vault device is described. An example method can include receiving, at a vault device, an object verification request, the object verification request comprising developer credentials associated with the object verification request, an object, and a first commit signature associated with the object. The method can further include determining a identity associated with the developer credentials, obtaining a signing key associated with the identity, and generating a local commit signature using the signing key. In addition, the method can include comparing the local commit signature with the first commit signature, and upon determining that the first commit signature and the local commit signature match, returning an indication of a successful verification.