IP Library Granted Patent US 10,706,130
Granted Patent B2
US 10,706,130 · App. 15/601,909 · Granted Jul 7, 2020

System and method for software activation and license tracking

Inventor: Oleksandr Kosovan (Kiev, UA)
Assignee: MacPaw Inc.
G06F21/105G06F21/121H04L9/3247H04L63/12G06F2221/0773H04L2209/603
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 10,706,130
App. No.
15/601,909
Granted
Jul 7, 2020
Kind
B2
Abstract

System and method for software activation and further tracking of its states on an end-user computing device (computer) was developed to provide software developers a flexible and secure tool for software distribution and gathering statistics of usage of software activation. The method consists of the following logical steps: (a) obtaining an acquisition confirmation; (b) requesting for a license; (c) issuing and delivering the license to End User, the license being secured with a private key by a server, and the private key is not stored at the client; (d) verification of license on the User's computer; (e) storing the license on the User's computer; (f) periodic tracking of activation state, (g) another action with the User's license, wherein the verifying the license comprises validating, at the client associated with the application, the license received from the server without any modifications, and saving the license to the client.

Claims (50)

1. A method for software activation and license tracking, comprising:

obtaining an acquisition confirmation associated with an acquisition of the software;

providing the acquisition confirmation to an activation server;

requesting a license for a client to be authorized to use the software;

receiving the license, encrypted with a symmetric encryption scheme, and a digital signature generated using a server-side private key of an asymmetric encryption scheme, at the client, wherein the license comprises a hash of at least an identifier of the software, one or more identifiers of the client, and a randomly generated string;

validating the digital signature at the client using a client-side public key of the asymmetric encryption scheme;

after validating the digital signature,

decrypting the license using a decryption key of the symmetric encryption scheme, and

validating the license by generating a hash of at least the identifier of the software, the one or more identifiers of the client, and the randomly generated string, and comparing the generated hash to the hash in the license;

storing the license at the client;

periodically transmitting a request to validate the license to the activation server; and

performing an action on the license at the client, based on an activation state of the license.

2. The method of claim 1 , wherein the acquisition confirmation comprises an activation key, and wherein the method further comprises, at the client, receiving one or more instructions from a server to a user of the client to exchange the acquisition confirmation for the software license.

3. The method of claim 1 , wherein the acquisition confirmation is obtained by one of a direct sale, sale via a third-party reseller, and distribution via online or box version on a physical medium.

4. The method of claim 1 , wherein obtaining the acquisition confirmation comprises, at the client, requesting the acquisition confirmation and being redirected to a uniform resource locator (URL) associated with a server that generates the acquisition confirmation.

5. The method of claim 4 , wherein obtaining the acquisition confirmation further comprises:

submitting required information associated with a user of the client, to the server that generates the acquisition confirmation; and

receiving the acquisition confirmation in exchange for a purchase of the software through the server that generates the acquisition confirmation.

6. The method of claim 1 , wherein the acquisition confirmation is obtained without encryption.

7. The method of claim 1 , further comprising:

identifying a user of the client to the activation server by one or more of providing a unique pair of login and password information, establishing a secure connection with the activation server protected with a security key, or establishing a connection with the activation server and sending a parameter that identifies the user; and

generating a record at the activation server that associates the identified user with the acquisition confirmation.

8. The method of claim 7 , further comprising, at the activation server, after receiving the request for the license from the client:

determining if activation is permitted for the acquisition confirmation; and,

when activation is determined to be permitted, issuing the license to the client based on the identified user.

9. The method of claim 1 , wherein the acquisition confirmation comprises an activation key that has been generated using a pattern that is used by the software to trigger an appearance of a user interface through which a user of the client is to provide information to the activation server, wherein different patterns trigger different appearances of the user interface.

10. A non-transitory computer-readable medium configured to perform operations for software activation and license tracking, the operations comprising:

obtaining an acquisition confirmation associated with an acquisition of the software;

providing the acquisition confirmation to an activation server;

requesting a license for a client to be authorized to use the software;

receiving the license, encrypted with a symmetric encryption scheme, and a digital signature generated using a server-side private key of an asymmetric encryption scheme, at the client, wherein the license comprises a hash of at least an identifier of the software, one or more identifiers of the client, and a randomly generated string;

validating the digital signature at the client using a client-side public key of the asymmetric encryption scheme;

after validating the digital signature,

decrypting the license using a decryption key of the symmetric encryption scheme, and

validating the license by generating a hash of at least the identifier of the software, the one or more identifiers of the client, and the randomly generated string, and comparing the generated hash to the hash in the license;

storing the license at the client;

periodically transmitting a request to validate the license to the activation server; and

performing an action on the license at the client, based on an activation state of the license.

11. The method of claim 10 , wherein obtaining the acquisition confirmation comprises:

at the client, accessing a uniform resource locator (URL) associated with a server that generates the acquisition confirmation;

submitting required information, associated with a user of the client, to the server that generates the acquisition confirmation; and

receiving the acquisition confirmation in exchange for a purchase of the software through the server that generates the acquisition confirmation.

12. The non-transitory computer readable medium of claim 10 , wherein the acquisition confirmation is obtained without encryption.

13. The non-transitory computer readable medium of claim 10 , wherein the operations further comprise:

identifying a user of the client to the activation server by one or more of providing a unique pair of login and password information, establishing a secure connection with the activation server protected with a security key, or establishing a connection with the activation server and sending a parameter that identifies the user; and

generating a record at the activation server that associates the identified user with the acquisition confirmation.

14. The non-transitory computer readable medium of claim 13 , wherein the operations further comprise, at the activation server, after receiving the request for the license from the client:

determining if activation is permitted for the acquisition confirmation; and,

when activation is determined to be permitted, issuing the license to the client based on the identified user,

wherein the acquisition confirmation comprises an activation key that has been generated using a pattern that is used by the software to trigger an appearance of a user interface through which the identified user is to provide information to the activation server, wherein different patterns trigger different appearances of the user interface.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2022
From: MACPAW INC.
To: HILDERBAND LIMITED
Reel/Frame 062148/0351 →
CHANGE OF NAME Recorded Dec 19, 2022
From: HILDERBAND LIMITED
To: MACPAW WAY LTD
Reel/Frame 062148/0444 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2017
From: KOSOVAN, OLEKSANDR
To: MACPAW INC.
Reel/Frame 042460/0793 →
Continuity (3)
Continuation In Part 15017311 · Feb 5, 2016
Provisional Application 62113124 · Feb 6, 2015
Related Publication 20170255762A1 · Sep 7, 2017
Cited By (1)
US 12,244,724