IP Library Granted Patent US 7,313,828
Granted Patent B2
US 7,313,828 · App. 09/944,405 · Granted Dec 25, 2007

Method and apparatus for protecting software against unauthorized use

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,313,828
App. No.
09/944,405
Granted
Dec 25, 2007
Kind
B2
Abstract

A method and apparatus which protects software against unauthorized use which is bound to at least one certain hardware device. The hardware device includes unique hardware identification sequences like unique hardware numbers/addresses, serial numbers or other embedded hardware characterization sequences. A special license key has to be passed to the software at the first activation. The license key contains among other things encrypted hardware identification sequences which are compared with the read out sequences of the accessible hardware devices. The use of the software features is permitted if the sequences match.

Claims (38)

1. A method for preventing unauthorized use of software accessing at least one specific hardware module comprising a unique hardware identification sequence wherein said software comprises a license key for being executed, comprising:

reading out said hardware identification sequence of said at least one specific hardware module, said reading out being performed at a processing device executing the software;

retrieving, at the processing device, a predetermined hardware identification sequence contained in said license key;

comparing, at the processing device, said read-out hardware identification sequence with said hardware identification sequence contained in the license key;

permitting execution of said software if both sequences match; and

wherein said hardware identification sequence contained in said license key is encrypted and a first secret key coded in said software is used to decrypt said hardware identification sequence,

wherein at least one of said specific hardware modules is a Bluetooth module comprising a unique Bluetooth hardware address that comprises said hardware identification sequence that is read out, and

wherein said first secret key is encrypted additionally using a public key encryption method, comprising:

a second secret key which is only known to a trusted third authority; and

a public key corresponding to said second secret key; and

wherein said second secret key is used for encrypting said first secret key and said public key is used for decrypting said encrypted first secret key and wherein said public key is the only key which allows decrypting data encrypted by the second secret key.

2. A method for preventing unauthorized use of software accessing at least one specific hardware module comprising a unique hardware identification sequence wherein said software comprises a license key for being executed, comprising:

reading out said hardware identification sequence of said at least one specific hardware module, said reading out being performed at a processing device executing the software;

retrieving, at the processing device, a predetermined hardware identification

sequence contained in said license key;

comparing, at the processing device, said read-out hardware identification sequence with said hardware identification sequence contained in the license key;

permitting execution of said software if both sequences match; and wherein

said hardware identification sequence contained in said license key is encrypted and a secret algorithm coded in said software is used to decrypt said hardware identification sequence, wherein said secret algorithm is encrypted additionally using a public key encryption method, comprising:

a secret key which is only known to a trusted third authority; and

a public key corresponding to said secret key; and

wherein said secret key is used for encrypting said secret algorithm and said public key is used for decrypting said encrypted secret algorithm and wherein said public key is the only key which allows decrypting data encrypted by the secret key.

3. The method according to claim 2 , wherein at least one of said specific hardware modules is a network interface module comprising a unique network interface address.

4. The method according to claim 2 , wherein at least one of said specific hardware modules is a network interface module comprising a unique network interface address.

5. The method according to claim 4 , wherein at least one of said specific hardware modules is a Bluetooth module comprising a unique Bluetooth hardware address.

6. A method for preventing unauthorized use of software accessing at least one specific hardware module comprising a unique hardware identification sequence wherein said software comprises a license key for being executed, comprising:

reading out said hardware identification sequence of said at least one specific hardware module, said reading out being performed at a processing device executing the software;

retrieving, at the processing device, a predetermined hardware identification sequence contained in said license key;

comparing, at the processing device, said read-out hardware identification sequence with said hardware identification sequence contained in the license key;

permitting execution of said software if both sequences match; and

said hardware identification sequence contained in said license key is encrypted and a public key encryption method is used for encrypting and decrypting said unique hardware identification sequence contained in said license key, comprising a secret key which is only known to the license key distribution authorities; and a public key corresponding to said secret key; and wherein

said secret key is used for encrypting said hardware identification sequence and said public key is used for decrypting said hardware identification sequence and wherein said public key is the only key which allows decrypting data encrypted by the secret key, wherein said public key is encrypted additionally using a public key encryption method, comprising:

a second secret key which is only known to a trusted third authority; and

a second public key corresponding to said second secret key; and

wherein said second secret key is used for encrypting said public key and said second public key is used for decrypting said encrypted public key and wherein said second public key is the only key which allows decrypting data encrypted by the second secret key.

7. The method according to claim 6 , wherein at least one of said specific hardware modules is a network interface module comprising a unique network interface address.

8. The method according to claim 7 , wherein at least one of said specific hardware modules is a Bluetooth module comprising a unique Bluetooth hardware address.

9. The method according to claim 6 , wherein at least one of said specific hardware modules is a network interface module comprising a unique network interface address.

10. The method according to claim 6 , wherein at least one of said at least one specific hardware modules is a network interface module comprising a unique network interface address.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2015
From: NOKIA CORPORATION
To: NOKIA TECHNOLOGIES OY
Reel/Frame 035235/0685 →