Nova Patents
EP0913757A2

Protected software

Abstract

The functionality of "protected shareware" is controlled by digitally signed messaging protocol. Protective code within the shareware controls the functionality of the shareware in response to authorization messages which are supplied directly or indirectly by the shareware supplier. These messages are digitally signed in whole or part by or on behalf of the shareware supplier using the supplier's secret signing key. The shareware, in turn, includes the public checking key for this digital signature of the supplier, thereby enabling the protective code to authenticate any such authorization message before acting in reliance upon it. The shareware includes an integrity self-checking routine which is run at appropriate times to ensure that shareware, including its protective code, is in an anticipated state. Typically this is equivalent to a finding that the code has not been altered, but it is conceivable that the code might be dynamically altered in some authorized (i.e., "anticipated") way.

EP0913757A2, drawing sheet 1
Sheet 1 of 6

Term

Term ended

Projected expiry passed 23 October 2018, 7.9 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

5 claims: 1 independent, 4 dependent

  1. 1
    A method for protecting an executable computer program from unauthorized use independently of any methodology for distributing said program to prospective users; said method comprising the steps of:inhibiting at least some functional feature of said program from running on a compatible stored program computer until said computer receives a message that is digitally signed by an authorized party using a secret signing key;providing said program access to a public checking key for said secret signing key in said program;running an integrity self-check over said program to confirm that said program is in an anticipated state;communicating a message that is digitally signed with said secret signing key to said computer for tentatively approving the running of said functional feature of said program on said computer;applying said public checking key to said digitally signed message for authenticating it;and enabling said functional feature to run on said selected computer in response to the authentication of said message, provided that it has been confirmed that said program is in said anticipated state.