Claims Analysis
Total Claims: 8
Claim 1
Independent Claim
262 words
A method of preventing an incorrect program version from executing in a computer system, comprising the steps of: a) encrypting a load module (11), containing a correct program version to be protected and a respective synchronization key (29), with the synchronization key (29) when one wishes to store the correct program version for future execution; b) storing the respective synchronization key (29) and the name of the load module (11) in a table (15) of a secure memory when one wishes to store the correct program version as in step (a); c) obtaining a synchronization key (29) corresponding to the name of a requested program to be executed from the table (15) in the secure memory if one wishes to execute the requested program, which requested program was stored in the same manner as provided for in steps (a) and (b); d) decrypting the load module putatively containing the requested program with the synchronization key obtained in step (c) if one wishes to execute the requested program, the load module in this step being encrypted as in step (a) before being decrypted as in this step; e) extracting the synchronization key in the decrypted load module of step (d) if one wishes to execute the requested program; f) comparing the synchronization key obtained in step (c) with the synchronization key extracted in step (e) if one wishes to execute the requested program; and g) allowing the requested program, which was decrypted in step (d), to be executed if the synchronization keys compared in step (f) are found to have some predetermined relationship.
Claim 2
Independent Claim
262 words
A method of preventing an incorrect program version from executing in a computer system, comprising the steps of: a) encrypting a load module (11), containing a correct program version to be protected and a respective synchronization key (29), with the synchronization key (29) when one wishes to store the correct program version for future execution; b) storing the respective synchronization key (29) and the name of the load module (11) in a table (15) of a secure memory when one wishes to store the correct program version as in step (a); c) obtaining a synchronization key (29) corresponding to the name of a requested program to be executed from the table (15) in the secure memory if one wishes to execute the requested program, which requested program was stored in the same manner as provided for in steps (a) and (b); d) decrypting the load module putatively containing the requested program with the synchronization key obtained in step (c) if one wishes to execute the requested program, the load module in this step being encrypted as in step (a) before being decrypted as in this step; e) extracting the synchronization key in the decrypted load module of step (d) if one wishes to execute the requested program; f) comparing the synchronization key obtained in step (c) with the synchronization key extracted in step (e) if one wishes to execute the requested program; and g) allowing the requested program, which was decrypted in step (d), to be executed if the synchronization keys compared in step (f) are found to have some predetermined relationship.
Claim 3
Dependent Claim
19 words
2) A method as recited in claim 1, wherein the load module is stored in a load library (14).
Claim 4
Dependent Claim
40 words
3) A method as recited in claim 2, wherein the load library (14) comprises a partitioned data set directory with each entry of the directory having an attribute field (42) to indicate whether a corresponding program is a protected program.
Claim 5
Dependent Claim
26 words
4) A method as recited in claim 1, wherein the synchronization key (29) is developed from a random number (17) generated internally by the computer system.
Claim 6
Dependent Claim
41 words
5) A method as recited in claim 1, wherein the synchronization key (29) corresponding to the requested program is obtained by accessing the protected table (15) by using a table look up search algorithm using program name columns as key fields.
Claim 7
Dependent Claim
270 words
6) A method of preventing an incorrect program from executing in a computer system, comprising the steps of: a) encrypting a load module (11), containing a correct program version (26) to be protected and a respective synchronization key (29), with the synchronization key (29) when one wishes to store the correct program version for future execution; b) storing the respective synchronization key (29) and the name of the load module (11) in a table (15) of a secure memory when one wishes to store the correct program version as in step (a); c) obtaining a synchronization key (29) corresponding to the name of a requested program to be executed from the table (15) in the secure memory if one wishes to execute the requested program, which requested program was stored in the same manner as provided for in steps (a) and (b); d) decrypting the load module putatively containing the requested program with the synchronization key obtained in step (c) if one wishes to execute the requested program, the load module in this step being encrypted as in step (a) before being decrypted as in this step; e) extracting the synchronization key in the decrypted load module of step (d) if one wishes to execute the requested program; f) comparing the synchronization key obtained in step (c) with the synchronization key extracted in step (e) if one wishes to execute the requested program; and g) loading the requested program, which was decrypted in step (d), in the main memory of the computer system for execution thereof, if the synchronization keys compared in step (f) are found to be the same.
Claim 8
Dependent Claim
270 words
6) A method of preventing an incorrect program from executing in a computer system, comprising the steps of: a) encrypting a load module (11), containing a correct program version (26) to be protected and a respective synchronization key (29), with the synchronization key (29) when one wishes to store the correct program version for future execution; b) storing the respective synchronization key (29) and the name of the load module (11) in a table (15) of a secure memory when one wishes to store the correct program version as in step (a); c) obtaining a synchronization key (29) corresponding to the name of a requested program to be executed from the table (15) in the secure memory if one wishes to execute the requested program, which requested program was stored in the same manner as provided for in steps (a) and (b); d) decrypting the load module putatively containing the requested program with the synchronization key obtained in step (c) if one wishes to execute the requested program, the load module in this step being encrypted as in step (a) before being decrypted as in this step; e) extracting the synchronization key in the decrypted load module of step (d) if one wishes to execute the requested program; f) comparing the synchronization key obtained in step (c) with the synchronization key extracted in step (e) if one wishes to execute the requested program; and g) loading the requested program, which was decrypted in step (d), in the main memory of the computer system for execution thereof, if the synchronization keys compared in step (f) are found to be the same.