Remote authorization for unlocking electronic data system and method
DCFirst Claim
1. A method for controlling unauthorized use of software distributed by a vendor comprising the steps of:
- generating, with a digital signature algorithm, a verification key;
combining software and the verification key to create distributable software;
inputting identifying information, with the identifying information including user-identifying information, licensing information, batch number, user token, date, or time, or with the identifying information including a hash of user-identifying information, licensing information, batch number, user token, date, or time, to a user-key generator;
converting, with the user-key generator, the identifying information to a numeric representation;
generating, using the numeric representation, a user key, with the digital signature algorithm;
conveying the user key to the user computer system; and
verifying, with the verification key, a relationship between the user key and the identifying information to determine an access level to the software.
1 Assignment
Litigations
0 Petitions
Accused Products
Abstract
Controlling unauthorized access to software distributed to a user by a vendor. A verification key is generated by a product key generator and either embedded in the software prior to distribution or packaged with the software as a self-installing package. The verification key includes a public verification key. The combination of the software and the verification key create distributable software which is distributed to a user. The user installs the software on a user computer system as protected software. To obtain a user key, the user inputs identifying information, which may be for the user or for a group, which is sent to a user key generator. The user key generator converts the identifying information to a numeric representation and then generates, by signing the numeric representation with the private signing key, a user key, which is returned to the user. Using the verification key, a user key verifier verifies a relationship between the user key and the identifying information to determine an access level to the protected software. The system verifies the relationship between the user key and the identifying information every time the software is run to ensure continued protection of the software after installation.
22 Citations
37 Claims
-
1. A method for controlling unauthorized use of software distributed by a vendor comprising the steps of:
-
generating, with a digital signature algorithm, a verification key; combining software and the verification key to create distributable software; inputting identifying information, with the identifying information including user-identifying information, licensing information, batch number, user token, date, or time, or with the identifying information including a hash of user-identifying information, licensing information, batch number, user token, date, or time, to a user-key generator; converting, with the user-key generator, the identifying information to a numeric representation; generating, using the numeric representation, a user key, with the digital signature algorithm; conveying the user key to the user computer system; and verifying, with the verification key, a relationship between the user key and the identifying information to determine an access level to the software. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 37)
-
-
10. A method for controlling unauthorized use of software distributed by a vendor comprising the steps of:
-
generating, with a digital signature algorithm, a verification key; combining software and the verification key to create distributable software; inputting identifying information, with the identifying information including user-identifying information, licensing information, batch number, user token, date, or time, to a user-key generator; converting, with the user-key generator, the identifying information to a numeric representation; generating, using the numeric representation, a user key, with the digital signature algorithm; hashing the identifying information to generate hashed-identifying information; conveying the user key to the user computer system; and verifying, with the verification key, a relationship between the user key and the hashed-identifying information to determine an access level to the software. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. The method as set forth in claim or 10, with the step of verifying including the step of verifying at any of specific date and time, or with a desired frequency.
-
19. A method for controlling unauthorized use of software distributed by a vendor comprising the steps of:
-
generating, with a digital signature algorithm, a verification key; combining software and the verification key to create combined software; inputting identifying information, with the identifying information including user-identifying information, licensing information, batch number, user token, date, or time, or with the identifying information including a hash of user-identifying information, licensing information, batch number, user token, date, or time, to a user-key generator; converting, with the user-key generator, the identifying information to a numeric representation; generating, using the numeric representation, a user key, with the digital signature algorithm; conveying the user key to the user computer system; and verifying, with the verification key, a relationship between the user key and the identifying information to determine an access level to the software. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A method for controlling unauthorized use of software distributed by a vendor comprising the steps of:
-
generating, with a digital signature algorithm, a verification key; combining software and the verification key to create combined software; inputting identifying information, with the identifying information including user-identifying information, licensing information, batch number, user token, date, or time, to a user key generator; converting, with the user-key generator, the identifying information to a numeric representation; generating, using the numeric representation, a user key, with the digital signature algorithm; hashing the identifying information to generate hashed-identifying information; conveying the user key to the user computer system; and verifying, with the verification key, a relationship between the user key and the hashed-identifying information to determine an access level to the software. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36)
-
Specification