Modular software protection
Abstract
A method for modular software protection includes steps for receiving, at a server, a license key registered for a software executable installed on a client device and machine fingerprint data generated at the client device, accessing, using the server, stored usage rights data indicated by the license key, the usage rights data specifying a number of client devices on which the software executable is licensed to operate and which features of the software executable are enabled, determining, using the machine fingerprint data received by the server, whether operation of the software executable on the client device would cause the number of client devices on which the software executable is licensed to operate to be exceeded, and creating, in response to the determining step, an encrypted license file for transmission to the client device that defines separate features of the software executable to be enabled on the client device.
Claims
exact text as granted — not AI-modified1 - 5 . (canceled)
6 . A method, comprising:
generating machine fingerprint data at a client device by reading configuration data indicating non-user-configurable settings for different hardware components of the client device, and aggregating the configuration data to create a defined data series; transmitting the machine fingerprint data and a license key for a software executable to a server; receiving, in response to the machine fingerprint data and the license key, an encrypted license file from the server; reading the license file using the software executable to determine what restrictions apply to operation of the software executable on the client device; and operating the software executable on the client device in accordance with the restrictions defined by the license file.
7 . The method of claim 6 , further comprising decrypting the license file using a public key received from the server.
8 . The method of claim 6 , further comprising decrypting the license file using a PKI-certified public key received from the server.
9 . The method of claim 6 , further comprising decrypting the license file using a private key consisting of the machine fingerprint data.
10 . The method of claim 6 , further comprising selecting data from the defined data series according to selection criteria received from the server to generate the machine fingerprint data.
11 - 20 . (canceled)
21 . A system comprising:
a processor; and memory coupled to the processor, the memory storing computer-readable instructions that when executed by the processor perform the following steps:
generating machine fingerprint data at a client device by reading configuration data indicating non-user-configurable settings for different hardware components of the client device, and aggregating the configuration data to create a defined data series;
transmitting the machine fingerprint data and a license key for a software executable to a server;
receiving, in response to the machine fingerprint data and the license key, an encrypted license file from the server;
reading the license file using the software executable to determine what restrictions apply to operation of the software executable on the client device; and
operating the software executable on the client device in accordance with the restrictions defined by the license file.
22 . The system of claim 21 , wherein the instructions when executed by the processor perform an additional step of decrypting the license file using a public key received from the server.
23 . The system of claim 21 , wherein the instructions when executed by the processor perform an additional step of decrypting the license file using a PKI-certified public key received from the server.
24 . The system of claim 21 , wherein the instructions when executed by the processor perform an additional step of decrypting the license file using a private key consisting of the machine fingerprint data.
25 . The system of claim 21 , wherein the instructions when executed by the processor perform an additional step of selecting data from the defined data series according to selection criteria received from the server to generate the machine fingerprint data.
26 . A non-transitory computer readable medium storing instructions that when executed by a processor perform the following steps:
generating machine fingerprint data at a client device by reading configuration data indicating non-user-configurable settings for different hardware components of the client device, and aggregating the configuration data to create a defined data series; transmitting the machine fingerprint data and a license key for a software executable to a server; receiving, in response to the machine fingerprint data and the license key, an encrypted license file from the server; and reading the license file using the software executable to determine what restrictions apply to operation of the software executable on the client device; and operating the software executable on the client device in accordance with the restrictions defined by the license file.
27 . The medium of claim 26 , wherein the instructions when executed by the processor perform an additional step of decrypting the license file using a public key received from the server.
28 . The medium of claim 26 , wherein the instructions when executed by the processor perform an additional step of decrypting the license file using a PKI-certified public key received from the server.
29 . The medium of claim 26 , wherein the instructions when executed by the processor perform an additional step of decrypting the license file using a private key consisting of the machine fingerprint data.
30 . The medium of claim 26 , wherein the instructions when executed by the processor perform an additional step of selecting data from the defined data series according to selection criteria received from the server to generate the machine fingerprint data.Join the waitlist — get patent alerts
Track US2020184042A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.