IP Library Granted Patent US 11,929,999
Granted Patent B2
US 11,929,999 · App. 17/200,423 · Granted Mar 12, 2024

Device and method for attesting distributed services

Inventors: Dan Touitou (Munich, DE); Avigail Oron (Hod Hasharon, IL)
Assignee: HUAWEI CLOUD COMPUTING TECHNOLOGIES CO., LTD.
H04L63/08G06F21/71G06F2221/2149
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,929,999
App. No.
17/200,423
Granted
Mar 12, 2024
Kind
B2
Abstract

A node provides a service to a client node in a network. The node is configured to execute a code for providing the service to the client node in an enclave of a trusted execution environment (TEE) and to execute a code library in the enclave to attest to the client node the identity of the service provided. The service provided to the client node may be a distributed service including a result of a cooperation of a plurality of neighbor nodes, which are connected to the node either directly or through other intermediate nodes. The code library is configured to attest to the client node the identity of the distributed service.

Claims (40)

1. A node for providing a service to a client node in a network, the node comprising a hardware processor, the hardware processor being configured to:

execute a code configured to provide the service to the client node in an enclave of a trusted execution environment (TEE); and

execute a code library in the enclave to attest to the client node an identity of the service provided,

wherein the service provided to the client node is a distributed service comprising a result of a cooperation of a plurality of neighbor nodes, which are connected to the node either directly or through other intermediate nodes, and

wherein the code library is configured to attest to the client node the identity of the distributed service by calculating, when executed, a trusted distributed identity (TDID), which is an injective function of a topology and a code base of the distributed service.

2. The node according to claim 1 , wherein the code library is further configured to attest to the client node the identity of the distributed service by sending a report to the client node when executed, wherein the report comprises the TDID.

3. The node according to claim 1 , wherein the node is further configured to:

collect a trusted local ID (TLID) of each of the plurality of neighbor nodes, wherein the TLID is provided and attested by the TEE through a respective secured communication channel;

combine values of the TLID of each of the plurality of neighbor nodes; and

calculate the TDID of the distributed service based on the combined values of the TLID of each of the plurality of neighbor nodes.

4. The node according to claim 3 , wherein the TDID is calculated according to the following recursive equation:

TDID=TDID( v )=0 if neighbor node v has no neighbors;TDID( n )=hash(TLID1,TDID( n 1),TLID2,TDID( n 2), . . . ,TLIDN,TDID( RN ));

where TLIDx is the TLID of each of the plurality of neighbor nodes received on the respective secured communication channel.

5. The node according to claim 1 , wherein the TEE is based on instruction codes provided by software guard extensions (SGX) technology.

6. A system for providing a service to a client node in a network, the system comprising:

a node comprising a hardware processor, the hardware processor being configured to:

execute a code for providing the service to the client node in an enclave of a trusted execution environment (TEE), and

execute a code library in the enclave to attest to the client node an identity of the service provided; and

a plurality of neighbor nodes connected with the node,

wherein the node and the plurality of neighbor nodes form a distributed or micro service based system and are each configured to execute code in the TEE,

wherein each of the plurality of neighbor nodes is configured to generate a respective trusted distributed identity (TLID) and a respective local instance ID (LIID), wherein every instance of service code to be executed on an additionally installed neighbor node has a unique LIID, and

wherein each of the plurality of neighbor nodes is configured to:

receive a probe request by the node to generate the respective TLID;

in a state where the respective one of the neighbor nodes is running an instance of a same service code or has no further neighbors, notify the node and return the respective TLID; and

in other states, forward the probe request to further ones of the neighbor nodes.

7. The system according to claim 6 , wherein one of the plurality of neighbor nodes is configured to stop receiving requests in the state where the respective one of the neighbor nodes is running the instance of the same service code, and in the other states returns a TLID, which differs from the TLID of another instance of the same service code.

8. The system according to claim 7 , wherein the one of the plurality of neighbor nodes is further configured to recalculate the associated TLID, when a trusted channel has been reestablished.

9. A method for providing a service to a client node in a network, comprising:

executing, by a node, a code configured to provide the service to the client node in an enclave of a trusted execution environment (TEE); and

executing, by the node, a code library in the enclave to attest an identity of the service provided to the client node,

wherein the service provided to the client node is a distributed service comprising a result of a cooperation of a plurality of neighbor nodes, which are connected to the node either directly or through other intermediate nodes, and

wherein the code library is configured to attest to the client node the identity of the distributed service by calculating, when executed, a trusted distributed identity (TDID), which is an infective function of a topology and a code base of the distributed service.

10. The method according to claim 9 , wherein the code library is further configured to attest to the client node the identity of the distributed service by sending a report to the client node when executed, wherein the report comprises the TDID.

11. The method according to claim 9 , wherein the method further comprises:

collecting a trusted local ID (TLID) of each of the plurality of neighbor nodes, whereby the TLID is provided and attested by the TEE through a respective secured communication channel and combine the values of the TLIDs; and

calculating the TDID of the distributed service based on the combined values of the TLIDs.

12. The method according to claim 11 , wherein the TDID is calculated according to the recursive equation:

TDID=TDID( v )=0 if neighbor node v has no neighbors;TDID( n )=hash(TLID1,TDID( n 1),TLID2,TDID( n 2), . . . ,TLIDN,TDID( RN ));

wherein TLIDx is the TLID of each of the plurality of neighbor nodes received on the respective secured communication channel.

13. The method according to claim 9 , wherein the TEE is based on instruction codes provided by software guard extensions (SGX) technology.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2022
From: HUAWEI TECHNOLOGIES CO., LTD.
To: HUAWEI CLOUD COMPUTING TECHNOLOGIES CO., LTD.
Reel/Frame 059267/0088 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2021
From: TOUITOU, DAN; ORON, AVIGAIL
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 056510/0234 →