Kernel Mode Data Plane for Secure Network Encryption

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional VPN implementations in user space or kernel space face limitations in resource access, hindering efficient data processing and secure communication due to operating system restrictions.

Innovation Solution

A system and method where a data plane operates in kernel space for efficient data encryption and transfer, coupled with a control plane in user space for control operations, utilizing an API to facilitate secure communication, allowing most data processing to occur in kernel space.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If VPN implementations reside in user space, then secure communications are easier to implement, but data processing efficiency deteriorates due to limited access to kernel space resources

Engineering Contradiction:
Improvesecure communicationVSAvoiddata processing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system divides the VPN implementation into two separate components: a control plane residing in user space that handles secure communication protocols, and a data plane residing in kernel space that handles data processing. This segmentation allows each component to operate in its optimal environment while maintaining secure communication and achieving high data processing efficiency.

Inventive Principle:
Principle #1Segmentation

2Productivity

If VPN implementations reside in kernel space, then data processing efficiency improves through direct resource access, but ease of implementation deteriorates due to operating system restrictions

Engineering Contradiction:
Improvedata processing efficiencyVSAvoidease of implementation
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The system separates control functions from data processing functions, placing control plane operations in user space where implementation is easier and more flexible, while placing data plane operations in kernel space where direct hardware access provides high performance. This segmentation resolves the contradiction between ease of implementation and data processing efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The control plane acts as an intermediary between user space applications and the kernel space data plane. It manages the complexity of kernel space operations while providing a simplified interface for secure communication implementation, thereby improving ease of implementation without sacrificing data processing efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If all data processing occurs in user space, then ease of operation improves, but resource access deteriorates due to operating system restrictions

Engineering Contradiction:
Improveease of operationVSAvoidresource access
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system segments operations so that control plane functions requiring ease of operation remain in user space, while data plane functions requiring direct resource access move to kernel space. This allows each segment to operate with the appropriate level of access and ease of operation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The control plane in user space maintains copies of necessary control information and coordinates with the kernel space data plane, allowing user space operations to remain simple while still accessing kernel resources through the copied control structures and inter-plane communication mechanisms.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10185599B2Kernel mode accelerator
Publication Date: 2019.01.22 OPENVPN INC
  • US10185599B2 patent drawing

AI summary

A system and method for disposing, in kernel space, a data plane having instructions operable to encrypt and transfer data over a network. The data plane is coupled to a control plane which resides in user space. The control plane has instructions operable to control the transfer of the encrypted data in kernel space. Certain embodiments include an application programming interface (API), which operates to expose a programming interface for encrypted communications which results in a more efficient data transfer because most of the data processing is done in kernel space.