# US 11,113,366 B2 · Cryptographic mechanisms for software setup using token-based two-factor authentication

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,113,366 B2
- Document ID: US11113366B2
- Status: Granted
- Kind: B2
- Application number: 15/795,115
- Filed: 2017-10-26
- Published: 2018-12-06
- Granted: 2021-09-07
- Earliest claimed: 2017-06-06
- Assignees: Infosys Limited
- Applicants: Infosys Limited
- Inventors: Sudipto Shankar Dasgupta; Mayoor Rao; Gopinath Srungarapu; Vivek Sinha; Swaminathan Natarajan; Sairam Yeturi
- Web page: https://patentgrep.com/patent/US11113366B2

## CPC

- G06F 21/121: {Restricting unauthorised execution of programs}
- H04L 9/0819: {Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) (network architectures or network communication protocols for key distribution in a packet data network H04L63/062)}
- H04L 9/0863: {involving passwords or one-time passwords (network architectures or network communication protocols for using one-time keys in a packet data network H04L63/067)}
- H04L 9/14: using a plurality of keys or algorithms
- H04L 9/3226: {using a predetermined code, e.g. password, passphrase or PIN (network architectures or network communication protocols for supporting authentication of entities using passwords in a packet data network H04L63/083)}
- H04L 9/3228: {One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key}
- G06F 21/1014: {to tokens}
- G06F 21/107: {License processing; Key processing}
- H04L 2209/603: Digital right managament [DRM]
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method and system for authenticating software licenses of a software includes a request for a software authentication received from one or more software subscribers and one or more electronic licenses distributed between one or more software vendors and the one or more software subscribers. Further, one or more tokens are validated through an authentication engine at a delivery packet delivered to the software subscriber. A license key associated with each validated token is generated and distributed through a licensing engine. The software is initiated to be enabled through the license key.

## Claims

### Claim 1

A method comprising;
receiving, by a computing device, a request for software authentication from a client machine of a software subscriber;
distributing, by the computing device, an electronic license between a software vendor and the client machine of the software subscriber based on the received request for the software authentication, wherein the electronic license comprises software responsive to the request and a token configured to interact with an authentication engine at the client machine for one or more validation checks;
generating, by the computing device, a license key in response to a received notification of the validation of the token by the authentication engine at the client machine; and
distributing, by the computing device, the generated license key to the client machine of the software subscriber, wherein the distributed license key is configured to initiate enablement of the software at the client machine.

### Claim 2 (depends on 1)

The method as set forth in claim 1 wherein the token is a one-time encrypted token.

### Claim 3 (depends on 1)

The method as set forth in claim 1 wherein the token is further configured to interact with the authentication engine at the client machine for the one or more validation checks comprising a determination if the token has previously been used.

### Claim 4 (depends on 1)

The method as set forth in claim 1 further comprising:
reissuing, by the computing device, the generated token in response to a received notification of the validation of the token by the authentication engine at the client machine and an issue with the enablement of the software at the client machine.

### Claim 5

A non-transitory machine readable medium having stored thereon instructions comprising machine executable code which when executed by at least one machine causes the machine to:
receive a request for software authentication from a client machine of a software subscriber;
distribute an electronic license between a software vendor and the client machine of the software subscriber based on the received request for the software authentication, wherein the electronic license comprises software responsive to the request and a token configured to interact with an authentication engine at the client machine for one or more validation checks;
generate a license key in response to a received notification of the validation of the token by the authentication engine at the client machine; and
distribute the generated license key to the client machine of the software subscriber, wherein the distributed license key is configured to initiate enablement of the software at the client machine.

### Claim 6 (depends on 5)

The medium as set forth in claim 5 wherein the token is a one-time encrypted token.

### Claim 7 (depends on 5)

The medium as set forth in claim 5 wherein the token is further configured to interact with the authentication engine at the client machine for the one or more validation checks comprising a determination if the token has previously been used.

### Claim 8 (depends on 4)

The medium as set forth in claim 4 wherein the instructions further comprise machine executable code which when executed by at least one machine causes the machine to:
reissue the generated token in response to a received notification of the validation of the token by the authentication engine at the client machine and an issue with the enablement of the software at the client machine.

### Claim 9

A computing device comprising:
a memory containing non-transitory machine readable medium comprising machine executable code having stored thereon instructions for managing workload within a storage system; and
a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to:
receive a request for software authentication from a client machine of a software subscriber;
distribute an electronic license between a software vendor and the client machine of the software subscriber based on the received request for the software authentication, wherein the electronic license comprises software responsive to the request and a token configured to interact with an authentication engine at the client machine for one or more validation checks;
generate a license key in response to a received notification of the validation of the token by the authentication engine at the client machine; and
distribute the generated license key to the client machine of the software subscriber, wherein the distributed license key is configured to initiate enablement of the software at the client machine.

### Claim 10 (depends on 9)

The device as set forth in claim 9 wherein the token is a one-time encrypted token.

### Claim 11 (depends on 9)

The device as set forth in claim 9 wherein the token is further configured to interact with the authentication engine at the client machine for the one or more validation checks comprising a determination if the token has previously been used.

### Claim 12 (depends on 9)

The device as set forth in claim 9 wherein the processor is further configured to execute the machine executable code to further cause the processor to:
reissue the generated token in response to a received notification of the validation of the token by the authentication engine at the client machine and an issue with the enablement of the software at the client machine.
