IP Library Granted Patent US 7,197,144
Granted Patent B1
US 7,197,144 · App. 09/590,859 · Granted Mar 27, 2007

Method and apparatus to authenticate a user's system to prevent unauthorized use of software products distributed to users

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,197,144
App. No.
09/590,859
Granted
Mar 27, 2007
Kind
B1
Abstract

A system for providing protection against pirating of software product or products or any other digital information being sent over the Internet, or by physical means, to a computer system. The system generates a set of parameters associated to the authorized user's system and uses those parameters to form a value. Then the invention encrypts that value leaving a set of encrypted forms of the value. The set of encrypted values is then sent to the user's system. The original set of parameters are again generated on the user's system and used to decrypt the set of encrypted values sent to the user. If the result of this decryption yields a minimum number of identical values, a quorum is deemed reached, and the invention allows the user to access to the software product. The software product also may have been encrypted using the initial formed value. Thus, if the quorum is reached, the resultant most identical value will be the initial value formed by the invention, and will then successfully decrypt the encrypted software product.

Claims (41)

1. A process for protecting a software product, sent from a server computer to a computer, from unauthorized usage, the process comprising the steps of:

generating a first set of parameters from the computer before the software product is encrypted at the server,

sending the first set of parameters to the server computer before the software product is encrypted at the server,

creating, at the server computer, a single value from the first set of parameters before the software product is encrypted at the server,

encrypting, at the server computer, the software product by using the single value as the encryption key,

sending the encrypted software product to the computer,

encrypting, at the server computer, the single value by using members of the first set of parameters as encryption keys, to form a set of encrypted single values,

sending the set of encrypted single values to the computer,

generating a second set of parameters from the computer,

decrypting members of the set of encrypted single values using members of the second set of parameters as decryption keys,

determining, at the computer, from the decrypted members of the set of encrypted single values, the single value, and

decrypting the encrypted software product by using the single value as the decryption key.

2. The process of claim 1 wherein the software product comprises at least one data file or streaming data or both.

3. A process for protecting a software product, sent from a server computer to a computer, from unauthorized usage, the process comprising the steps of:

generating a first set of parameters from the computer before the software product is encrypted at the server,

sending the first set of parameters to the server computer before the software product is encrypted at the server,

creating, at the server computer, a single value from the first set of parameters before the software product is encrypted at the server,

encrypting, at the server computer, the single value using members of the first set of parameters as encryption keys, to form a set of encrypted single values,

sending the set of encrypted single values to the computer,

sending the software product to the computer,

generating a second set of parameters from the computer,

decrypting, at the computer, members of the set of encrypted single values by using members of the second set of parameters as decryption keys,

determining, at the computer, from the decrypted members of the set of encrypted single values, the single value, and

authorizing access to the software product at the computer.

4. The process of claim 3 wherein the software product comprises at least one data file or streaming data or both.

5. The process of claim 3 further comprising the step wherein if the said determination yields a quorum of identical single values, then

authorizing access to the software product at the computer.

6. A process for protecting a software product, sent from a server computer to a computer, from unauthorized usage, the process comprising the steps of:

generating a first set of parameters from the computer before the software product is encrypted at the server,

sending the first set of parameters to the server computer, before the software product is encrypted at the server,

creating, at the server computer, a single value from the first set of parameters, before the software product is encrypted at the server,

encrypting, at the server computer, the single value by using members of the first set of parameters as the encryption keys, to form a set of encrypted values,

sending the set of encrypted single values to the computer,

sending the software product to the computer,

generating a second set of parameters from the computer,

decrypting members of the set of encrypted single values by using members of the second set of parameters as the decryption keys,

determining, at the computer, from the decrypted members of the set of encrypted single values, the single value, and

authorizing the execution of the software product on the computer.

7. The process of claim 6 further comprising the step wherein

if the said determination yields a quorum of identical single values, then authorizing the execution of the software product on the computer.

8. The process of claim 6 wherein the software product comprises at least one data file or streaming data or both.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2021
From: UNILOC 2017 LLC
To: ATREUS LABS LLC
Reel/Frame 057453/0790 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2018
From: UNILOC LUXEMBOURG S.A.
To: UNILOC 2017 LLC
Reel/Frame 046532/0088 →
SECURITY INTEREST Recorded Jan 9, 2015
From: UNILOC LUXEMBOURG, S.A.; UNILOC CORPORATION PTY LIMITED; UNILOC USA, INC.
To: FORTRESS CREDIT CO LLC
Reel/Frame 034747/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR PREVIOUSLY RECORDED ON REEL 027426 FRAME 0825. ASSIGNOR(S) HEREBY CONFIRMS THE ETHOS TECHNOLOGIES INC.. Recorded May 21, 2012
From: ETHOS TECHNOLOGIES INC.
To: UNILOC LUXEMBOURG S. A.
Reel/Frame 028246/0082 →