IP Library Granted Patent US 11,775,621
Granted Patent B2
US 11,775,621 · App. 17/991,592 · Granted Oct 3, 2023

Licensing in the cloud

Inventors: Malini K. Bhandaru (San Jose, CA); Kapil Sood (Portland, OR); Christian Maciocco (Portland, OR); Isaku Yamahata (Urayasu, JP); Yunhong Jiang (San Jose, CA)
Assignee: Intel Corporation
G06F21/105G06F2221/0704G06F2221/0711G06F2221/0773
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 11,775,621
App. No.
17/991,592
Granted
Oct 3, 2023
Kind
B2
Abstract

At least one machine readable medium comprising a plurality of instructions that in response to being executed by a system cause the system to send a unique identifier to a license server, establish a secure channel based on the unique identifier, request a license for activating an appliance from a license server over the secure channel, receive license data from the license server over the secure channel; determine whether the license is valid, and activate the appliance in response to a determination that the license data is valid.

Claims (54)

1. A client host device comprising:

first security circuitry;

computer readable instructions; and

processor circuitry to execute the computer readable instructions to:

access a first unique identifier stored in the first security circuitry;

establish a first secure channel between the first security circuitry and second security circuitry by causing transmission of the first unique identifier to the second security circuitry, the second security circuitry at a remote license server;

cause transmission of license data to the second security circuitry via the first secure channel, the license data corresponding to an appliance;

activate the appliance after an indication of a validity of the license data from the remote license server;

access a second unique identifier via a virtual machine implemented by the client host device; and

establish a second secure channel between the virtual machine and the second security circuitry by causing transmission of the second unique identifier to the second security circuitry.

2. The client host device of claim 1 , wherein the first security circuitry is software guard extension (SGX) circuitry, the first unique identifier is a unique data value stored in the software guard extension (SGX) circuitry.

3. The client host device of claim 1 , wherein the first security circuitry is trusted execution environment (TEE) circuitry, the first unique identifier is a unique data value stored in the trusted execution environment (TEE) circuitry included in the client host device.

4. The client host device of claim 1 , wherein the first unique identifier is a unique data value generated by random number generation circuitry of the client host device.

5. The client host device of claim 1 , wherein the first unique identifier is a unique data value generated by secure clock circuitry associated with the client host device.

6. The client host device of claim 1 , wherein the processor circuitry is to establish the first secure channel by causing transmission of information representative of a unique data value generated based on the license data associated with the appliance and at least one of:

data representative of a media access control (MAC) address of the client host device;

data representative of a client host device name of the client host device;

data representative of a client host device IP address of the client host device; or

data representative of metadata of the client host device.

7. The client host device of claim 1 , wherein the processor circuitry is to cause transmission of at least one of the first unique identifier or the license data to the second security circuitry at a plurality of temporal intervals.

8. The client host device of claim 1 , wherein the processor circuitry is to cause transmission of at least one of the first unique identifier or the license data the second security circuitry on an event driven basis.

9. The client host device of claim 1 , wherein the processor circuitry is to establish the first secure channel between the first security circuitry and the second security circuitry based on receipt of a license request including respective license data corresponding to a plurality of appliances communicatively coupled to the client host device.

10. The client host device of claim 1 , wherein the processor circuitry is to establish the first secure channel between the first security circuitry and the second security circuitry after receipt by the client host device of a license request including respective license data corresponding to a plurality of cloned appliances communicatively coupled to the client host device.

11. The client host device of claim 1 , wherein the processor circuitry is to establish the first secure channel between the first security circuitry and the second security circuitry after receipt of a license request including license data associated with a virtual network function hosted by the client host device.

12. A non-transitory storage device comprising instructions which, when executed, cause a client host device to at least:

access a first unique identifier stored in first security circuitry;

establish a first secure channel between first security circuitry and second security circuitry by causing transmission of the first unique identifier to the second security circuitry, the second security circuitry at a remote license server;

cause transmission of license data to the second security circuitry via the first secure channel, the license data corresponding to an appliance;

activate the appliance after an indication of a validity of the license data from the remote license server;

access a second unique identifier via a virtual machine implemented by the client host device; and

establish a second secure channel between the virtual machine and the second security circuitry by causing transmission of the second unique identifier to the second security circuitry.

13. The storage device of claim 12 , wherein the first security circuitry is software guard extension (SGX) circuitry, the first unique identifier is a unique data value stored in the software guard extension (SGX) circuitry.

14. The storage device of claim 12 , wherein the first security circuitry is trusted execution environment (TEE) circuitry, the first unique identifier is a unique data value stored in the trusted execution environment (TEE) circuitry included in the client host device.

15. The storage device of claim 12 , wherein the first unique identifier is a unique data value generated by random number generation circuitry of the client host device.

16. The storage device of claim 12 , wherein the first unique identifier is a unique data value generated by secure clock circuitry associated with the client host device.

17. The storage device of claim 12 , wherein the instructions cause the client host device to establish the first secure channel by causing transmission of information representative of a unique data value generated based on the license data associated with the appliance and at least one of:

data representative of a media access control (MAC) address of the client host device;

data representative of a client host device name of the client host device;

data representative of a client host device IP address of the client host device; or

data representative of metadata of the client host device.

18. The storage device of claim 12 , wherein the instructions cause the client host device to cause transmission of at least one of the first unique identifier or the license data to the second security circuitry at a plurality of temporal intervals.

19. The storage device of claim 12 , wherein the instructions cause the client host device to cause transmission of at least one of the first unique identifier or the license data the second security circuitry on an event driven basis.

20. The storage device of claim 12 , wherein the instructions cause the client host device to establish the first secure channel between the first security circuitry and the second security circuitry based on receipt of a license request including respective license data corresponding to a plurality of appliances communicatively coupled to the client host device.

21. The storage device of claim 12 , wherein the instructions cause the client host device to establish the first secure channel between the first security circuitry and the second security circuitry after receipt by the client host device of a license request including respective license data corresponding to a plurality of cloned appliances communicatively coupled to the client host device.

22. The storage device of claim 12 , wherein the instructions cause the client host device to establish the first secure channel between the first security circuitry and the second security circuitry after receipt of a license request including license data associated with a virtual network function hosted by the client host device.

23. A method comprising:

accessing a first unique identifier stored in first security circuitry;

establishing, by executing an instruction with one or more processors, a first secure channel between first security circuitry and second security circuitry by causing transmission of the first unique identifier to the second security circuitry, the second security circuitry at a remote license server;

transmitting of license data to the second security circuitry via the first secure channel, the license data corresponding to an appliance;

activating, by executing an instruction with the one or more processors, the appliance after an indication of a validity of the license data from the remote license server;

accessing a second unique identifier via a virtual machine implemented locally; and

establishing, by executing an instruction with the one or more processors, a second secure channel between the virtual machine and the second security circuitry by causing transmission of the second unique identifier to the second security circuitry.

24. The method of claim 23 , wherein the first security circuitry is software guard extension (SGX) circuitry, the first unique identifier is a unique data value stored in the software guard extension (SGX) circuitry.

25. The method of claim 23 , wherein the first security circuitry is trusted execution environment (TEE) circuitry, the first unique identifier is a unique data value stored in the trusted execution environment (TEE) circuitry included locally in a client host device.

Continuity (3)
Continuation 16373300 · Apr 2, 2019
Continuation 14581742 · Dec 23, 2014
Related Publication 20230095881A1 · Mar 30, 2023