# US 2014/0157368 A1 · Software authentication

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

- Number: US 2014/0157368 A1
- Document ID: US20140157368A1
- Status: Published application
- Kind: A1
- Application number: 13/705,818
- Filed: 2012-12-05
- Published: 2014-06-05
- Earliest claimed: 2012-12-05
- Inventors: Srujal SHAH; John H. Haller; Daniel Johnson; Lyle D. Kipp; Manish K. Sharma; Richard L. Sohn
- Web page: https://patentgrep.com/patent/US20140157368A1

## CPC

- H04L 63/08: {for authentication of entities (cryptographic mechanisms or cryptographic arrangements for entity authentication H04L9/32)}
- G06F 21/44: Program or device authentication
- G06F 21/629: {to features or functions of an application}
- G06F 21/73: by creating or determining hardware identification, e.g. serial numbers
- G06F 2221/2141: Access rights, e.g. capability lists, access control lists, access tables, access matrices
- G06F 2221/2147: Locking files
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

According to an embodiment, a computing system includes a server configured to provide an authentication indicator to least one software application for enabling the software application to provide at least one computing feature. The authentication indicator is generated based on at least two identifiers that are distinct from a hardware identifier of a device on which a software application is running

## Claims

### Claim 1

A computing system, comprising:
a server configured to provide an authentication indicator to least one software application for enabling the software application to provide at least one computing feature, the authentication indicator being generated with a content of the authentication indicator based on at least two identifiers that are distinct from a hardware identifier of a device on which the software application is running.

### Claim 2 (depends on 1)

The system of claim 1, wherein the at least two identifiers are selected from
an Internet Protocol address of the device,
a domain name associated with the device,
a customer identifier associated with the device,
metadata associated with the device,
an Internet Protocol address associated with another application, and
a domain name associated with another application.

### Claim 3 (depends on 1)

The system of claim 1, wherein the device is part of a cloud computing system.

### Claim 4 (depends on 3)

The system of claim 3, wherein the application is running on at least one virtual machine instance on the device.

### Claim 5 (depends on 1)

The system of claim 1, wherein the device comprises a plurality of computing devices.

### Claim 6 (depends on 1)

The system of claim 1, wherein the software application utilizes the authentication indicator for confirming that the software application is valid.

### Claim 7 (depends on 1)

The system of claim 1, comprising a plurality of applications that communicate with each other, the at least one software application controlling communications with a second one of the applications based on whether the second one of the applications provides a valid authentication indicator.

### Claim 8 (depends on 1)

The system of claim 1, wherein the server is configured to:
provide the application with a key on a preselected schedule; and
verify an authenticity of the application based on whether the application provides a heartbeat message to the server that includes an indication based on the key.

### Claim 9 (depends on 8)

The system of claim 8, wherein
each key provided by the server is different than a most recently provided key; and
the server provides an indication that the application is not authentic if the heartbeat message from the application does not include a proper indication based on the key.

### Claim 10 (depends on 9)

The system of claim 9, wherein the server is configured to generate at least some of the keys using a random number generation process.

### Claim 11

A computing method, comprising:
generating an authentication indicator having a content based on at least two identifiers that are distinct from a hardware identifier of a device on which a software application is running; and
providing the authentication indicator to the software application for enabling the software application to provide at least one computing feature.

### Claim 12 (depends on 11)

The method of claim 11, wherein the at least two identifiers are selected from
an Internet Protocol address of the device,
a domain name associated with the device,
a customer identifier associated with the device,
metadata associated with the device,
an Internet Protocol address associated with another application, and
a domain name associated with another application.

### Claim 13 (depends on 11)

The method of claim 11, wherein the device is part of a cloud computing system.

### Claim 14 (depends on 13)

The method of claim 13, comprising running the software application on at least one virtual machine instance on the device.

### Claim 15 (depends on 11)

The method of claim 11, wherein the device comprises a plurality of computing devices.

### Claim 16 (depends on 11)

The method of claim 11, comprising the software application using the authentication indicator for confirming that the software application is valid.

### Claim 17 (depends on 11)

The method of claim 11, comprising
communicating between the at least one software application and at least a second application;
the at least one software application controlling communications with the second application based on whether the second application provides a valid authentication indicator; and
the second application controlling communications with the at least one software application based on whether the application provides a valid authentication indicator.

### Claim 18 (depends on 11)

The method of claim 11, comprising:
providing the application with a key on a preselected schedule; and
verifying an authenticity of the application based on whether the application provides a heartbeat message to the server that includes an indication based on the key.

### Claim 19 (depends on 18)

The method of claim 18, comprising
generating a new key that is different than a most recently provided key;
providing the new key to the application; and
providing an indication that the application is not authentic if the heartbeat message from the application does not include a proper indication of the provided new key.

### Claim 20 (depends on 19)

The method of claim 19, comprising generating at least the new key using a random number generation process.

### Claim 21 (depends on 11)

The method of claim 11, comprising
using a predetermined algorithm for generating the authentication indicator; and
using the two identifiers as an input to the predetermined algorithm.

### Claim 22 (depends on 21)

The method of claim 21, wherein the predetermined algorithm includes using a concatenation of the two identifiers.

### Claim 23 (depends on 11)

The method of claim 11, wherein
at least a portion of the two identifiers are within the authentication indicator;
at least a portion of the two identifiers are used for the authentication indicator; or
the authentication indicator includes at least a portion of the two identifiers.

### Claim 24 (depends on 1)

The computing system of claim 1, wherein
the server is configured to use a predetermined algorithm for generating the authentication indicator; and
the server is configured to use the two identifiers as an input to the predetermined algorithm.

### Claim 25 (depends on 24)

The computing system of claim 24, wherein the predetermined algorithm includes using a concatenation of the two identifiers.

### Claim 26 (depends on 1)

The computing system of claim 1, wherein
at least a portion of the two identifiers are within the authentication indicator;
at least a portion of the two identifiers are used for the authentication indicator; or
the authentication indicator includes at least a portion of the two identifiers.
