Secure Channel Between TEE Component and Smart NIC

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Smart Network Interface Controllers (NICs) in cloud environments face security challenges as sensitive data exchanged between CPUs and NICs or between servers can be compromised due to security attacks, highlighting the need for secure data transmission.

Innovation Solution

Implementing a Trusted Execution Environment (TEE) to establish secure communication channels between trusted system components, such as a TEE component and a smart NIC, using cryptographic keys for encryption and decryption of data, ensuring secure data exchange within the system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If sensitive data is exchanged between CPU and smart NIC or between servers, then data processing functionality is improved, but security is worsened due to potential compromise

Engineering Contradiction:
Improvedata processing functionalityVSAvoiddata security
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system is divided into trusted and untrusted components. The smart NIC is segmented into a trusted execution environment (secure region) and untrusted regions. Sensitive cryptographic operations are isolated within the trusted environment, while non-sensitive functions remain in untrusted regions. This segmentation allows data processing to continue while protecting sensitive data through isolation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A trusted execution environment acts as an intermediary between the untrusted smart NIC components and the sensitive data/operations. The TEE verifies the integrity of code and data before allowing access, and it mediates cryptographic operations by providing cryptographic services to untrusted components without exposing sensitive keys or data to them.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If cryptographic keys are stored in untrusted components, then data encryption capability is improved, but security is worsened due to potential key compromise

Engineering Contradiction:
Improvedata encryption capabilityVSAvoidkey security
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

Cryptographic keys are extracted from untrusted components and stored exclusively within the trusted execution environment. The TEE maintains secure storage for cryptographic keys while providing cryptographic services to untrusted smart NIC components through secure interfaces. This extraction ensures keys never reside in untrusted memory or storage.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The trusted execution environment serves as an intermediary that provides cryptographic services to untrusted components without exposing keys. The TEE receives cryptographic service requests from untrusted components, performs operations using securely stored keys, and returns results without exposing the keys themselves to untrusted components.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If secure communication channels are established between trusted and untrusted components, then data security is improved, but system complexity is worsened

Engineering Contradiction:
Improvedata securityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The trusted execution environment performs self-verification through attestation mechanisms. The TEE can verify its own integrity and prove its trusted status to external components without requiring complex external verification infrastructure. This self-service capability simplifies the establishment of secure communication channels.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements attestation feedback mechanisms where the trusted execution environment provides cryptographic proofs of its integrity state to untrusted components. This feedback allows untrusted components to verify the TEE's trusted status before establishing secure communication, creating a simplified trust verification process based on cryptographic feedback rather than complex monitoring.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11251942B2Secure communication channel between encryption/decryption component and trusted execution environment
Publication Date: 2022.02.15 CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD
  • US11251942B2 patent drawing
  • US11251942B2 patent drawing
  • US11251942B2 patent drawing

AI summary

Techniques for establishing a secure communication channel between a trusted portion of a system and another portion of the system and providing data over the secure communication channel are described herein. For example, a system may implement a Trusted Execution Environment (TEE) and a TEE component associated with the TEE. The TEE component may establish a secure communication channel with a Network Interface Controller (NIC) on the system, such as a smart NIC that is configured to encrypt/decrypt data and/or perform other operations. The TEE component may receive one or more cryptographic keys from a service provider and provide the one or more cryptographic keys to the NIC via the secure communication channel. The NIC may use the one or more cryptographic keys to encrypt data to send to another device, decrypt data that is received from another device, or otherwise encrypt/decrypt data.