×

Method and system for providing tamper-resistant executable software

  • US 6,567,917 B1
  • Filed: 02/01/1999
  • Issued: 05/20/2003
  • Est. Priority Date: 02/01/1999
  • Status: Expired due to Term
First Claim
Patent Images

1. A method for providing tamper-resistant software, comprising:

  • receiving an executable file;

    determining an initial hash value for the executable file;

    encrypting the executable file based on the initial hash value;

    inserting the initial hash value into the encrypted executable file;

    determining an encrypted hash value for the encrypted executable file;

    inserting the encrypted hash value into the encrypted executable file;

    coupling a security file to the encrypted executable file for transport with the encrypted executable file;

    transporting the encrypted executable file and the coupled security file to a remote location;

    storing the encrypted executable file and the coupled security file at the remote location, wherein the security file is operable, while the encrypted executable filed is stored at the remote location, to;

    extract the encrypted hash value from the encrypted executable file;

    determine a storage hash value for the encrypted executable file;

    compare the storage hash value to the encrypted hash value;

    generate an alarm unless the storage hash value matches the encrypted hash value;

    receiving a request to execute the encrypted executable file at the remote location; and

    in response to receiving a request to execute the encrypted executable file at the remote location, executing the security file, wherein the security file is operable to;

    extract the initial hash value from the encrypted executable file;

    decrypt the encrypted executable file based on the initial hash value;

    determine an execution-time hash value for the decrypted executable file;

    compare the execution-time hash value to the initial hash value; and

    prevent execution of the decrypted executable file unless the execution-time hash value matches the initial hash value.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×