×

Software protection method utilizing hidden application code in a protection dynamic link library object

  • US 7,320,075 B2
  • Filed: 11/18/2002
  • Issued: 01/15/2008
  • Est. Priority Date: 11/20/2001
  • Status: Active Grant
First Claim
Patent Images

1. A method of protecting a software application from unauthorized use, the method comprising:

  • preparing the software application using a computer having a processor and a hardware security device including a secure coprocessor; and

    executing the prepared software on an end-user computer having a processor;

    wherein the preparing software application comprises;

    (a) encrypting a first portion (C) of a compiled application code (A) according to an encryption key (K) using the computer processor to produce an encrypted code (C*);

    (b) storing the encrypted code (C*) in a dynamic link library (DLL) executed by the computer processor and associated with the software application;

    (c) generating a value (Ck) derived from at least a part of the compiled application code (A);

    (d) generating a second value (K*) derived from the value (Ck) and the encryption key (K);

    (e) storing the second value (K*) in the hardware security device; and

    executing the prepared software on the end-user computer comprises;

    (f) generating the value (Ck) derived from the at least a part of the compiled application code (A) with the processor of the end-user computer;

    (k) generating a fifth value (Y) with the secure coprocessor based on the second value (K*);

    (l) transmitting the fifth value (Y) from the hardware security device to the DLL;

    (m) computing a seventh value (K′

    ) with the processor of the end user computer from the fifth value (Y);

    (n) decrypting the encrypted code (C*) with the processor of the end user computer using the seventh value (K′

    ); and

    (o) executing the decrypted code (C) with the processor of the end user computer.

View all claims
  • 11 Assignments
Timeline View
Assignment View
    ×
    ×