Source authentication of a software product
First Claim
Patent Images
1. A method comprising:
- preventing, by one or more processors, installation of unauthorized source code based on a generated compound key, wherein preventing installation of unauthorized source code comprises;
generating, by a key generator, a compound key comprising at least one source file, a hash function run on the at least one source file, and a file size of the at least one source file;
in response to determining a source type during the build process, injecting, by one or more processors, a generated value based on the compound key into each file of a built set of files;
validating, by a key validation tool, the generated value against the compound key by comparing the compound key and the generated value to determine the generated value is equivalent to the compound key before loading the built set of files into a central repository;
in response to determining the compound key and the generated value match producing, by one or more processors, a final product, wherein the final product comprises;
the key validation tool and the generated compound key and installing source code associated with the generated compound key;
in response to determining the compound key and the generated value do not match, uninstalling source code associated with the generated compound key;
determining, by one or more processors, whether there is a difference between the compound key and the generated value;
in response to determining that there is not a difference between the compound key and the value, loading the final product to a repository; and
dynamically updating the compound key in response to a modification of a source file in the built set of files.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
-
Citations
20 Claims
-
1. A method comprising:
-
preventing, by one or more processors, installation of unauthorized source code based on a generated compound key, wherein preventing installation of unauthorized source code comprises; generating, by a key generator, a compound key comprising at least one source file, a hash function run on the at least one source file, and a file size of the at least one source file; in response to determining a source type during the build process, injecting, by one or more processors, a generated value based on the compound key into each file of a built set of files; validating, by a key validation tool, the generated value against the compound key by comparing the compound key and the generated value to determine the generated value is equivalent to the compound key before loading the built set of files into a central repository; in response to determining the compound key and the generated value match producing, by one or more processors, a final product, wherein the final product comprises;
the key validation tool and the generated compound key and installing source code associated with the generated compound key;in response to determining the compound key and the generated value do not match, uninstalling source code associated with the generated compound key; determining, by one or more processors, whether there is a difference between the compound key and the generated value; in response to determining that there is not a difference between the compound key and the value, loading the final product to a repository; and dynamically updating the compound key in response to a modification of a source file in the built set of files. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer program product comprising:
-
one or more computer readable storage media and program instructions stored on the one or more computer readable storage media, the program instructions comprising; program instructions to prevent installation of unauthorized source code based on a generated compound key, wherein the program instructions to prevent installation of unauthorized source code comprise; program instructions to generate by a key generator, a compound key comprising at least one source file, a hash function run on the at least one source file, and a file size of the at least one source file; program instructions to in response to determining a source type during the build process, inject a generated value based on the compound key into each file of a built set of files; program instructions to validate, by a key validation tool, the generated value against the compound key by comparing the compound key and the generated value to determine the generated value is equivalent to the compound key before loading the built set of files into a central repository; program instructions to, in response to determining the compound and the generated value match, produce a final product, wherein the final product comprises;
the key validation tool and the generated compound key and install source code associated with the generated compound key;program instructions to, in response to determining the compound key and the generated value do not match, uninstall source code associated with the generated compound key; program instructions to determine whether there is a difference between the compound key and the generated value; program instructions to, in response to determining that there is not a difference between the compound key and the value, load the final product to a repository, and program instructions to dynamically update the compound key in response to a modification of a source file in the built set of files. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer system comprising:
-
one or more computer processors; one or more computer readable storage media; and program instructions stored on the one or more computer readable storage media for execution by at least one of the one or more computer processors, the program instructions comprising; program instructions to prevent installation of unauthorized source code based on a generated compound key, wherein the program instructions to prevent installation of unauthorized source code comprise; program instructions to generate by a key generator, a compound key comprising at least one source file, a hash function run on the at least one source file, and a file size of the at least one source file; program instructions to inject a generated value based on the compound key into each file of a built set of files; program instructions to validate, by a key validation tool, the generated value against the compound key by comparing the compound key and the generated value to determine the generated value is equivalent to the compound key before loading the built set of files into a central repository; program instructions to, in response to determining the compound and the generated value match, produce a final product, wherein the final product comprises;
the key validation tool and the generated compound key and install source code associated with the generated compound key;program instructions to, in response to determining the compound key and the generated value do not match, uninstall source code associated with the generated compound key; program instructions to determine whether there is a difference between the compound key and the generated value; program instructions to, in response to determining that there is not a difference between the compound key and the value, load the final product to a repository, and program instructions to dynamically update the compound key in response to a modification of a source file in the built set of files. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification