Method and apparatus to authenticate a user's system to prevent unauthorized use of software products distributed to users
First Claim
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, anddecrypting the encrypted software product by using the single value as the decryption key.
6 Assignments
0 Petitions
Accused Products
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.
30 Citations
8 Claims
-
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. - View Dependent Claims (2)
-
-
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. - View Dependent Claims (4, 5)
-
-
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. - View Dependent Claims (7, 8)
-
Specification