Nova Patents
EP0803789A2

Software copy protection mechanism

Abstract

A copy protection mechanism for protecting software against copying, consists of a challenge mechanism embedded in each protected item of software. The challenge mechanism has no access to the customer's private keying material. In operation, the challenge mechanism sends a random challenge to the customer's signature server. The signature server signs the challenge, using the customer's private keying material and then returns the signed challenge to the challenge mechanism. The challenge mechanism then verifies the signed challenge, using the customer's public keying material, and prohibits the customer from using some or all of the protected item of software unless the verification is successful. The mechanism permits every customer to receive an identical copy of the copy protected program with the embedded challenge mechanism.

EP0803789A2, drawing sheet 1
Sheet 1 of 5

Term

Term ended

Projected expiry passed 11 April 2017, 9.5 years ago.

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

18 claims: 3 independent, 15 dependent

  1. 1
    A computer system comprising a copy protection mechanism for protecting software against copying, the copy protection mechanism comprising challenge means associated with a protected item of software, and response means in which a customer's private keying material is securely stored, wherein:(a) the challenge means has no access to the customer's private keying material;(b) the response means comprises means for signing information using the customer's private keying material and then returning the signed information to the challenge means, and(c) the challenge means comprises means for verifying said signed information, using the customer's public keying material, and for prohibiting the customer from using some or all of said item of software unless said verification is successful.
  2. 7
    A computer system comprising:(a) means for inputting a program to be copy-protected, and for embedding a challenge means in that program;and(b) means for inputting a plurality of units of public keying material from a plurality of customers, and for generating, for each of said customers, a keyfile containing that customer's public keying material;(c) wherein said challenge means comprises means for verifying signed information, using a customer's public keying material held in the relevant keyfile, but without access to the customer's private keying material, and for prohibiting the customer from using some or all of said item of software unless said verification is successful.
  3. 16
    A computer system including a random number generator for generating random numbers by timing responses to disk accesses, wherein said random number generator is embedded in a program and runs in that program's address space.