US20030191942A1

Integrity ordainment and ascertainment of computer-executable instructions

Claim Score by NHIP

Read claim 36, the broadest

Abstract

An implementation of a technology, described herein, for facilitating the protection computer-executable instructions, such as software. At least one implementation, described herein, may generate integrity signatures of multiple sets of computer-executable instructions based upon the output trace and/or an execution trace of such sets. With at least one implementation, described herein, a determination may be made about whether two or more of such sets are unaltered duplicates by comparing integrity signatures of such sets. This abstract itself is not intended to limit the scope of this patent. The scope of the present invention is pointed out in the appending claims.

US20030191942A1, drawing sheet 1
Sheet 1 of 12

Term

Term ended

Projected expiry passed 17 September 2024, 2 years ago.

  1. Priority and filed
  2. Published
  3. Projected expiry
  4. Today

79 claims: 11 independent, 68 dependent

  1. 1
    A method for facilitating the tamper-resistance of computer-executable instructions, the method comprising:first obtaining a first execution-identifying signature of a first program module, the first signature represents one or more execution instances of the first program module with a specified first set of input parameters, the first program module comprising one or more computer-executable instructions;second obtaining a second execution-identifying signature of a second program module, the second signature represents one or more execution instances of the second program module with a specified second set of input parameters, the second program module comprising one or more computer-executable instructions.
  2. 14
    A method for facilitating the tamper-resistance of computer-executable instructions, the method comprising:first obtaining a first output-identifying signature of a first program module, the first signature represents output from multiple execution instances of the first program module with a specified first set of input parameters, the first program module comprising one or more computer-executable instructions;second obtaining a second output-identifying signature of a second program module, the second signature represents output from one or more execution instances of the second program module with a specified second set of input parameters, the second program module comprising one or more computer-executable instructions.
  3. 27
    A method for facilitating the tamper-resistance of computer-executable instructions, the method comprising:first obtaining a first integrity signature of a first program module, the first signature represents one or more execution instances of the first program module with a specified first set of input parameters, the first program module comprising one or more computer-executable instructions;second obtaining a second integrity signature of a second program module, the second signature represents one or more execution instances of the second program module with a specified second set of input parameters, the second program module comprising one or more computer-executable instructions.
  4. 36
    Broadest claimClaim Score 76, broad(NHIP)A method for facilitating the tamper-resistance of a program module having computer-executable instructions, the method comprising:generating an execution trace of one or more execution instances of the instructions of the module with a specified set of input parameters, whereby distinct traces represent one or more execution instances of distinct instructions of the module with the same specified set of input parameters.
  5. 49
    A method for facilitating the tamper-resistance of a digital good, the method comprising:producing an execution-identifying signature, which represents one or more execution instances of computer-executable instructions of the digital good with a specified set of input parameters, whereby distinct signatures represent one or more execution instances of distinct computer-executable instructions with the same a specified set of input parameters.
  6. 63
    A method for facilitating the tamper-resistance of a program module having computer-executable instructions, the method comprising:augmenting an unprotected program module with additional computer-executable instructions (“black code”) to produce a protected program module, wherein the black code generates an execution-identifying signature when the instructions of the protected module are executed with a specified set of input parameters, the signature represents one or more execution instances of the instructions of the protected module with the parameters, whereby distinct signatures represent one or more execution instances of distinct computer-executable instructions with the same specified set of input parameters.
  7. 68
    A method for facilitating the authentication of program modules having computer-executable instructions, the method comprising:first obtaining a first execution-identifying signature of a first program module, the first signature represents one or more execution instances of computer-executable instructions of the first program module with a specified set of input parameters, whereby distinct signatures represent one or more execution instances of distinct computer-executable instructions with the same specified set of input parameters;second obtaining a second execution-identifying signature of a second program module, the second signature represents one or more execution instances of computer-executable instructions of the second program module with the same specified set of input parameters;comparing the first and the second signatures;authenticating the second program module if the signatures are indistinguishable.
  8. 72
    A system facilitating the authentication of program modules having computer-executable instructions, the system comprising:a challenger configured to send a challenge to computer via communications network, the computer having a program module comprising computer-executable instructions;a response-receiver configured to receive a response from the computer, such response including an execution-identifying signature of the program module, the signature representing one or more execution instances of computer-executable instructions of the program module with a specified set of input parameters, whereby distinct signatures represent one or more execution instances of distinct computer-executable instructions with the same specified set of input parameters.
  9. 75
    A system for facilitating the tamper-resistance of digital goods, the system comprising:a memory comprising a set of computer program instructions;and a processor coupled to the memory, the processor being configured to execute the computer program instructions, which comprise: producing an execution-identifying signature, which represents one or more execution instances of computer-executable instructions of the digital good with a specified set of input parameters, whereby distinct signatures represent one or more execution instances of distinct computer-executable instructions with the same specified set of input parameters;storing the execution-identifying signature in the memory.
  10. 78
    A computer-readable medium having computer-executable instructions that, when executed by a computer, performs a method comprising generating an execution trace of one or more execution instances of the computer-executable instructions with a specified set of input parameters, whereby distinct traces represent one or more execution instances of distinct instructions with the same specified set of input parameters.
  11. 79
    A computer-readable medium having computer-executable instructions that, when executed by a computer, performs a method comprising producing an execution-identifying signature, which represents one or more execution instances of computer-executable instructions with a specified set of input parameters, whereby distinct signatures represent one or more execution instances of distinct computer-executable instructions with the same specified set of input parameters.
Independent claims11