RDMA NIC Hardware Encryption Offload

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current RDMA data transmission methods rely heavily on CPU for encryption, making the process complex and cumbersome, which offsets the performance advantages of RDMA technology, particularly in securing data transmission, especially in critical applications like online financial systems.

Innovation Solution

Implementing an RDMA-based data transmission method where the RDMA network interface card acquires raw data, determines an encryption algorithm, encrypts the data, encapsulates it into a packet with an encryption algorithm identifier, and sends it to a receiving-end card, enabling secure data transmission without CPU involvement.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If CPU is used for data encryption in RDMA transmission, then data security is improved, but system processing performance deteriorates due to increased CPU processing power requirements

Engineering Contradiction:
Improvedata securityVSAvoidsystem processing performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The encryption function is extracted from the CPU and relocated to a dedicated encryption device or network interface card. This allows the CPU to focus on high-level processing while the encryption/decryption operations are handled by specialized hardware, resolving the contradiction between security and performance.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

An encryption device or encryption module is introduced as an intermediary between the RDMA network interface card and the data transmission channel. This intermediary handles all encryption and decryption operations, preventing the CPU from being directly involved in cryptographic operations while maintaining data security.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If CPU is involved in encryption and decryption operations, then data security is improved, but CPU cycles are consumed increasing system complexity

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

Solution Approach 1:

The encryption and decryption operations are extracted from the CPU's responsibility and assigned to dedicated encryption hardware. This reduces the CPU's operational burden and simplifies the overall system architecture by clearly separating security functions from general processing functions.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If conventional TCP transmission mode is used, then data security can be maintained through CPU-based encryption, but memory bandwidth and CPU cycles are consumed reducing transmission efficiency

Engineering Contradiction:
Improvedata securityVSAvoidtransmission efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The mechanical CPU-based encryption system is replaced with a hardware-based encryption system integrated into the network interface card. This substitution eliminates the overhead of CPU involvement in encryption operations, preserving RDMA's high transmission efficiency while maintaining security.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS11082411B2RDMA-based data transmission method, network interface card, server and medium
Publication Date: 2021.08.03 ADVANCED NEW TECHNOLOGIES CO LTD
  • US11082411B2 patent drawing
  • US11082411B2 patent drawing
  • US11082411B2 patent drawing

AI summary

A Remote Direct Memory Access (RDMA) based data transmission method is disclosed. In this method, an RDMA network interface card is used to encrypt data to improve the security of data transmission. In addition, the data encryption and decryption operation is implemented inside the RDMA network interface card and is transparent to software, thereby ensuring security without adversely affecting performance of an application program.