Source Code Authentication via Compound Key Validation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The complexity of software build processes, particularly in delivering fix packs, often results in incorrect or unauthorized files being inadvertently included, which can lead to inconsistencies and errors in the final product.
Innovation Solution
A method and system for authenticating source code by generating a compound key during extraction and embedding unique keys in each file during the build process, allowing for validation of the delivered product by comparing the compound key with embedded keys in the final binaries.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If standard fix pack building procedures are used to extract and build files, then the build process can be completed efficiently, but incorrect or unauthorized files may be inadvertently included in the final product
Solution Approach 1:
The patent applies preliminary action by generating a compound key during the source code extraction phase before the build process begins. This compound key is created by hashing the source code files and storing the hash values, so that any changes or substitutions to the source files during extraction or build will be detected when the compound key is validated against the built files. This advance preparation ensures file authenticity without slowing down the actual build process.
2Adaptability or versatility
If multiple fix packs are delivered over time to meet customer needs, then the software can be continuously updated with bug fixes and enhancements, but the complexity of tracking and validating all delivered files increases
Solution Approach 1:
The patent applies segmentation by dividing the validation process into discrete, manageable components. Each fix pack or software delivery is assigned a unique compound key that is generated independently for that specific build. The validation process then simply compares the compound key of the delivered files against the expected compound key, reducing the complexity of tracking multiple files across multiple deliveries to a simple key matching operation.
3Adaptability or versatility
If source code is extracted from central repositories and built on customized platforms, then the build process can accommodate different platforms and customized fixes, but the risk of including incorrect files increases
Solution Approach 1:
The patent applies feedback by implementing a validation mechanism that provides immediate feedback on file correctness after the build process. The compound key, which is generated from the source code files during extraction, is stored and later used to validate the built files. When validation occurs, the system compares the compound key against the actual files in the build output, providing feedback on whether the files match the expected source code. This feedback loop ensures file correctness while allowing platform customization during the build process.
Data Source
AI summary
Embodiments of the present invention provide systems and methods for authenticating the source code of a software end product. The method includes generating a compound key, which is composed of a set of unique keys generated from a source file. A set of files are separately build based on a received source code, and a key generated and embedded into the files at the time of the build. A validation tool is used to compare the values of the generated compound key to the values of the embedded key to determine if the values match.


