KR20200075723A - High-speed cryptographic communication system and method using data plane acceleration technology and hardware encryption processing device - Google Patents

High-speed cryptographic communication system and method using data plane acceleration technology and hardware encryption processing device Download PDF

Info

Publication number
KR20200075723A
KR20200075723A KR1020190086170A KR20190086170A KR20200075723A KR 20200075723 A KR20200075723 A KR 20200075723A KR 1020190086170 A KR1020190086170 A KR 1020190086170A KR 20190086170 A KR20190086170 A KR 20190086170A KR 20200075723 A KR20200075723 A KR 20200075723A
Authority
KR
South Korea
Prior art keywords
packet
internet protocol
security
network
processing unit
Prior art date
Application number
KR1020190086170A
Other languages
Korean (ko)
Other versions
KR102304584B1 (en
Inventor
오희국
류승호
Original Assignee
한양대학교 에리카산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한양대학교 에리카산학협력단 filed Critical 한양대학교 에리카산학협력단
Publication of KR20200075723A publication Critical patent/KR20200075723A/en
Application granted granted Critical
Publication of KR102304584B1 publication Critical patent/KR102304584B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0485Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Disclosed are a high-speed cryptographic communication system using a data plane acceleration technology and a hardware encryption processing device, and a method thereof. According to an embodiment of the present invention, the high-speed cryptographic communication system comprises: a packet processing unit for processing a network packet received; a security processing unit connected in hardware to the packet processing unit and performing Internet protocol security (IPsec) on the processed network packet; and an acceleration unit which bypasses the kernel and delivers the network packet for which IPsec is performed by the security processing unit or the network packet processed by the packet processing unit to a user space application.

Description

데이터 플레인 가속화 기술과 하드웨어 암호화 처리 장치를 이용한 초고속 암호 통신 시스템 및 그 방법 {HIGH-SPEED CRYPTOGRAPHIC COMMUNICATION SYSTEM AND METHOD USING DATA PLANE ACCELERATION TECHNOLOGY AND HARDWARE ENCRYPTION PROCESSING DEVICE}High-speed cryptographic communication system and its method using data plane acceleration technology and hardware encryption processing device

본 발명은 초고속 암호 통신 기술에 관한 것으로서, 보다 구체적으로 데이터 플레인 가속화(DPA; Data Plane Acceleration)를 사용한 초고속 네트워크 환경에서 IPsec(IP security protocol)을 적용함으로써, 패킷 처리 속도와 보안성을 향상시킬 수 있는 초고속 암호 통신 시스템 및 그 방법에 관한 것이다.The present invention relates to an ultra-fast cryptographic communication technology, and more specifically, by applying IPsec (IP security protocol) in an ultra-high-speed network environment using Data Plane Acceleration (DPA), it is possible to improve packet processing speed and security. It relates to a high-speed cryptographic communication system and method.

현대에는 급증하고 있는 온라인 거래와 다양한 인터넷 서비스의 확대로 인하여 인터넷을 통해 많은 사람이 쉽게 정보를 주고받을 수 있다. 이처럼 인터넷의 사용자와 서비스가 증가하면 이를 노리는 바이러스 또는 해킹과 같은 사이버 테러로 인해 개인의 사생활 정보 유출은 물론 국가적 안보까지 위협받을 수 있다. 또한, 네트워크 통신의 증가로 인해 많은 양의 데이터를 빠르게 처리할 수 있는 통신 기술의 필요성도 커진다.In modern times, due to the rapidly increasing online transactions and the expansion of various Internet services, many people can easily exchange information through the Internet. As the number of users and services on the Internet increases, cyber terrorism such as viruses or hacks that target them can threaten not only personal privacy information leakage but also national security. In addition, due to the increase in network communication, a need for a communication technology capable of rapidly processing a large amount of data increases.

그러나, 현대 네트워크 환경에서 안전하면서 고속의 데이터 통신을 제공하기는 매우 어려운 문제다. 이는 네트워크 환경에서 안전을 위해 보안 기능을 강화할수록 각 패킷을 처리하는데 필요한 작업량 또한 함께 증가하기 때문이다.However, it is very difficult to provide safe and high-speed data communication in a modern network environment. This is because the amount of work required to process each packet increases as security functions are strengthened for safety in a network environment.

현재 인터넷 보안의 주류를 이루는 것은 VPN(Virtual Private Network), 방화벽(Firewall)과 침입 탐지 시스템(Intrusion Detection System) 등이 있다. 이 중 VPN은 적절한 암호기술을 이용하여서 한 조직의 내부 사용자들이 인터넷(공중망)을 통해 내부 혹은 외부와 서로 안전하게 통신할 수 있는 채널을 형성해 주며 보안에 필요한 접근제어 기능 또한 제공해 준다. VPN에 사용된 터널링 프로토콜로는 PPTP, L2TP, IPsec 등이 있는데, 현재 가장 많이 쓰이는 IPsec은 강력하고 유연한 보안 환경을 제공할 수 있어 업계 표준으로 지정되었으며 최신 VPN 보안 장비는 이를 기본적으로 지원해야 한다.Currently, the mainstream of Internet security is a virtual private network (VPN), a firewall, and an intrusion detection system. Among them, VPN uses a suitable encryption technology to form a channel through which the internal users of an organization can safely communicate with each other through the Internet (public network) and also provides access control functions necessary for security. Tunneling protocols used in VPNs include PPTP, L2TP, and IPsec. Currently, the most popular IPsec is an industry standard because it can provide a strong and flexible security environment, and the latest VPN security equipment should basically support it.

그러나 VPN은 전용선과는 달리 기업이 직접 제어하기 어려운 공중망에 기반을 두고 있으므로 QoS(서비스 품질) 보장이 중요하며, IPsec을 사용할 경우에 암호화에 따른 전체 네트워크 성능의 저하 및 유지 비용의 상승 등에 대한 적절한 해결책이 필요하다. IPsec은 기본적으로 패킷 보호를 위한 암호화 및 키분배 문제로 원래 데이터의 크기보다 더 큰 패킷을 보내야 하며, 상호 인증을 위한 추가적인 통신 절차로 인해 처리량이 상당히 증가하기 때문이다.However, unlike a dedicated line, VPN is based on a public network that is difficult for the company to directly control, so it is important to guarantee QoS (Quality of Service), and when using IPsec, it is appropriate to reduce the overall network performance due to encryption and increase the maintenance cost. I need a solution. This is because IPsec basically needs to send packets larger than the size of the original data due to the encryption and key distribution for packet protection, and the throughput increases significantly due to the additional communication procedure for mutual authentication.

최근 많은 서버/네트워크 장비의 인터페이스 처리속도가 10Gbps를 넘어가면서 네트워크 장비의 인터페이스에 연결되는 서버 NIC 또한 10Gbps급 장비로 교체되기 시작하였다. 고성능의 패킷 처리를 위해서는 좀 더 효과적인 패킷 처리 기능이 요구된다. 그러나 기존의 전통적인 OS에서 제공하는 패킷 처리 방식의 구조적 한계로 인해 패킷 처리 속도의 제약이 발생한다.Recently, as the interface processing speed of many server/network equipment exceeded 10 Gbps, the server NIC connected to the interface of the network equipment also began to be replaced with 10 Gbps class equipment. More efficient packet processing is required for high-performance packet processing. However, the packet processing speed is limited due to the structural limitations of the packet processing method provided by the conventional OS.

일반적으로 기존 인터럽트 기반의 패킷 처리 방식은 1bit의 처리(송/수신)를 위하여 1Hz의 CPU cycle 이 요구되는 것으로 알려져 있다. 예를 들어, 5Gbps의 패킷 처리를 위하여는 2.5GHz의 CPU core 2개가 요구되는 셈이다. 이러한 한계를 극복하기 위해 여러 기술이 제안되었지만, 근본적으로 여전히 높은 지연시간과 패킷처리에 많은 CPU 사용률을 요구한다.In general, the existing interrupt-based packet processing method is known to require a 1Hz CPU cycle for 1-bit processing (transmission/reception). For example, two 2.5GHz CPU cores are required for 5Gbps packet processing. Several techniques have been proposed to overcome this limitation, but essentially still require high latency and high CPU utilization for packet processing.

이 외에도 컨텍스트 스위칭 오버헤드, CPU 캐시율 저하(MMU에 대한 성능 저하), 커널 공간과 사용자 공간 사이의 중복된 메모리 복사, 커널 네트워크 스택처리에서 공유 자원에서 사용하는 lock 구조 등의 문제점이 커널에 산재하고 있다. 이처럼 많은 병목점들로 인해 커널은 NIC가 지원하는 속도만큼 빠른 패킷 처리가 불가능한 상태이다.In addition to this, problems such as context switching overhead, CPU cache rate degradation (performance degradation for MMU), duplicate memory copy between kernel space and user space, and lock structure used by shared resources in kernel network stack processing are scattered in the kernel. Doing. Because of these many bottlenecks, the kernel is unable to process packets as fast as the NIC supports.

설계와 구현, 수정 및 업데이트의 용이성으로 인해 대부분의 보안 모듈은 소프트웨어로 만들어지고 사용된다. IPsec 또한 마찬가지로 이렇게 구현되어 제공되는 오픈소스 프로그램(FreeS/WAN, Openswan, strongSwan 등)이 많이 있다. 그러나 문제는 이 프로그램들이 운영체제에 의존적인 형태로 구현되어 있다는 점이다. 그래서 운영체제에 의한 병목현상에 영향을 받을 수 밖에 없고, 컴퓨팅 자원을 온전히 통신 처리에 활용하기 어렵다. 일반적으로 범용 서버에서 가상사설망 기능을 구현하기 위해 IPSec을 소프트웨어로 구현하는 경우 CPU 연산능력의 약 95%가 사용된다고 알려져 있다. 이러한 문제 때문에 고속 처리가 필요한 몇몇 네트워크 장비 혹은 컴퓨팅 파워가 낮거나 운영체제가 없는 임베디드 장비에 IPsec 전체 혹은 일부 처리를 담당하는 하드웨어 장치를 사용하기도 한다.Due to the ease of designing, implementing, modifying and updating, most security modules are made and used in software. IPsec also has many open source programs (FreeS/WAN, Openswan, strongSwan, etc.) that are implemented and provided like this. The problem, however, is that these programs are implemented in an operating system dependent fashion. Therefore, it is bound to be affected by the bottleneck caused by the operating system, and it is difficult to fully utilize computing resources for communication processing. In general, it is known that about 95% of CPU computing power is used when IPSec is implemented in software to implement a virtual private network function in a general-purpose server. Because of this problem, hardware devices that handle all or part of IPsec are used for some network equipment that requires high-speed processing or embedded equipment that has low computing power or no operating system.

본 발명의 실시예들은, 데이터 플레인 가속화(DPA)를 사용한 초고속 네트워크 환경에서 IPsec을 적용함으로써, 패킷 처리 속도와 보안성을 향상시킬 수 있는 초고속 암호 통신 시스템 및 그 방법을 제공한다.SUMMARY Embodiments of the present invention provide an ultra-fast cryptographic communication system and method for improving packet processing speed and security by applying IPsec in an ultra-high-speed network environment using data plane acceleration (DPA).

본 발명의 일 실시예에 따른 초고속 암호 통신 시스템은 수신되는 네트워크 패킷을 처리하는 패킷 처리부; 상기 패킷 처리부와 하드웨어적으로 연결되고, 상기 처리된 네트워크 패킷에 대한 인터넷 프로토콜 보안(IPsec)을 수행하는 보안 처리부; 및 상기 보안 처리부에 의해 인터넷 프로토콜 보안이 수행된 네트워크 패킷 또는 상기 패킷 처리부에 의해 처리된 네트워크 패킷을 커널을 바이패스하여 사용자 공간 애플리케이션으로 전달하는 가속화부를 포함한다.A high-speed cryptographic communication system according to an embodiment of the present invention includes a packet processing unit for processing received network packets; A security processing unit hardware-connected to the packet processing unit and performing Internet protocol security (IPsec) for the processed network packets; And an accelerating unit that bypasses the kernel and transmits the network packet processed by the security processing unit to the Internet packet or the network packet processed by the packet processing unit to a user space application.

상기 보안 처리부는 상기 패킷 처리부에 의해 처리된 네트워크 패킷의 헤더를 분석하여 인터넷 프로토콜 보안의 수행 여부를 판단하고, 인터넷 프로토콜 보안의 수행이 필요한 것으로 판단되면 상기 처리된 네트워크 패킷에 대한 인터넷 프로토콜 보안을 수행할 수 있다.The security processing unit analyzes the header of the network packet processed by the packet processing unit to determine whether Internet protocol security is performed, and if it is determined that the Internet protocol security is necessary, performs Internet protocol security for the processed network packet. can do.

상기 보안 처리부는 상기 패킷 처리부와 하드웨어적으로 직접 연결되거나 시스템 온 칩(SOC) 형태로 상기 패킷 처리부 내부에 장착된 형태를 가질 수 있다.The security processing unit may be directly connected in hardware with the packet processing unit or may have a form mounted inside the packet processing unit in the form of a system-on-chip (SOC).

본 발명의 일 실시예에 따른 초고속 암호 통신 방법은 네트워크 인터페이스 제어기(NIC)에서 수신되는 네트워크 패킷을 처리하는 단계; 상기 네트워크 인터페이스 제어기와 하드웨어적으로 연결되는 인터넷 프로토콜 보안 처리기(IPsec)에서 상기 처리된 네트워크 패킷에 대한 인터넷 프로토콜 보안을 수행하는 단계; 및 상기 인터넷 프로토콜 보안이 수행된 네트워크 패킷 또는 상기 처리된 네트워크 패킷을 커널을 바이패스하여 사용자 공간 애플리케이션으로 전달하는 단계를 포함한다.An ultra-fast cryptographic communication method according to an embodiment of the present invention includes processing a network packet received from a network interface controller (NIC); Performing Internet protocol security for the processed network packets in an Internet protocol security processor (IPsec) hardware-connected to the network interface controller; And bypassing the kernel to which the Internet protocol security is performed or the processed network packet is delivered to a user space application.

상기 인터넷 프로토콜 보안을 수행하는 단계는 상기 처리된 네트워크 패킷의 헤더를 분석하여 인터넷 프로토콜 보안의 수행 여부를 판단하고, 인터넷 프로토콜 보안의 수행이 필요한 것으로 판단되면 상기 처리된 네트워크 패킷에 대한 인터넷 프로토콜 보안을 수행할 수 있다.In the step of performing the Internet protocol security, the header of the processed network packet is analyzed to determine whether Internet protocol security is performed, and if it is determined that the execution of the Internet protocol security is necessary, the Internet protocol security for the processed network packet is secured. It can be done.

상기 인터넷 프로토콜 보안을 수행하는 단계는 상기 네트워크 인터페이스 제어기와 하드웨어적으로 직접 연결되거나 시스템 온 칩(SOC) 형태로 상기 네트워크 인터페이스 제어기 내부에 장착된 형태를 가지는 상기 인터넷 프로토콜 보안 처리기에서 수행할 수 있다.The step of performing the Internet protocol security may be performed by the Internet protocol security processor having a form directly connected in hardware with the network interface controller or mounted inside the network interface controller in the form of a system-on-chip (SOC).

본 발명의 실시예들에 따르면, 데이터 플레인 가속화를 사용한 초고속 네트워크 환경에서 IPsec을 적용함으로써, 패킷 처리 속도와 보안성을 향상시킬 수 있다.According to embodiments of the present invention, by applying IPsec in an ultra-high-speed network environment using data plane acceleration, it is possible to improve packet processing speed and security.

본 발명의 실시예들에 따르면, 기존의 한가지 해결책만 제시하던 기술들을 효율적으로 활용하여 고속 보안 통신 처리 시스템을 구성함으로써, 해킹의 위험없이 서버의 네트워크 처리 속도를 올릴 수 있다.According to the embodiments of the present invention, by configuring the high-speed secure communication processing system by efficiently utilizing the existing technologies that have presented only one solution, it is possible to increase the network processing speed of the server without the risk of hacking.

이러한 본 발명은 라우터, 서버 등 고속 네트워크 데이터 처리 장치, 서버용 컴퓨터 및 단순 데이터 전달용 허브가 아닌 패킷 처리를 위해 컴퓨팅이 필요한 초고속 통신 장비들 전반에 적용할 수 있다.The present invention can be applied to high-speed network data processing devices such as routers and servers, computers for servers, and ultra-high-speed communication equipment requiring computing for packet processing rather than a hub for simple data transmission.

도 1은 본 발명의 실시예에 따른 시스템 모델과 기존 시스템 모델을 비교한 일 예시도를 나타낸 것이다.
도 2는 도 1에 도시된 본 발명의 시스템에서의 일 실시예 동작 흐름도를 나타낸 것이다.
1 shows an exemplary diagram comparing a system model and an existing system model according to an embodiment of the present invention.
FIG. 2 is a flowchart illustrating an embodiment of the operation of the system of the present invention shown in FIG. 1.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Advantages and features of the present invention, and methods for achieving them will be clarified with reference to embodiments described below in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in various different forms, and only the present embodiments allow the disclosure of the present invention to be complete, and common knowledge in the art to which the present invention pertains. It is provided to completely inform the person having the scope of the invention, and the present invention is only defined by the scope of the claims.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며, 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.The terminology used herein is for describing the embodiments, and is not intended to limit the present invention. In the present specification, the singular form also includes the plural form unless otherwise specified in the phrase. As used herein, "comprises" and/or "comprising" refers to the elements, steps, operations and/or elements mentioned above, the presence of one or more other components, steps, operations and/or elements. Or do not exclude additions.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used in the present specification may be used as meanings commonly understood by those skilled in the art to which the present invention pertains. In addition, terms defined in the commonly used dictionary are not ideally or excessively interpreted unless explicitly defined.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예들을 보다 상세하게 설명하고자 한다. 도면 상의 동일한 구성요소에 대해서는 동일한 참조 부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. The same reference numerals are used for the same components in the drawings, and duplicate descriptions for the same components are omitted.

고품질 콘텐츠의 발달로 대용량의 데이터 처리를 요구하는 작업이 많아졌다. 하드웨어가 발달하면서 물리적으로 속도 향상을 위한 발판은 갖추어 졌지만, 이를 다루는 소프트웨어의 병목으로 인해 전체 처리 속도의 저하가 발생하고 있다. 병목 해결을 위해 데이터 플레인 가속화(DPA; Data Plane Acceleration) 기술을 개발하여 사용하고 있지만 해당 기술은 속도 향상에만 신경 쓰고 보안적인 측면에 대한 고려가 부족하다. 따라서, 악의적인 의도를 가진 제3자가 쉽게 데이터를 가로채거나 수정하는 등의 공격을 수행할 수 있는 가능성이 높다.Due to the development of high-quality content, a lot of work is required to process large amounts of data. With the development of hardware, a stepping stone for physically improving the speed of speed has been prepared, but the overall processing speed has been reduced due to the bottleneck of the software dealing with it. Data Plane Acceleration (DPA) technology has been developed and used to solve the bottleneck, but the technology focuses only on speed improvement and lacks security considerations. Therefore, there is a high possibility that a third party with malicious intention can easily perform an attack such as intercepting or modifying data.

본 발명의 실시예들은, DPA를 사용한 초고속 네트워크 환경에서 IPsec(IP security protocol)을 적용함으로써, 패킷 처리 속도와 보안성을 향상시키는 것을 그 요지로 한다.It is an object of the present invention to improve packet processing speed and security by applying IP security protocol (IPsec) in a high-speed network environment using DPA.

도 1은 본 발명의 실시예에 따른 시스템 모델과 기존 시스템 모델을 비교한 일 예시도를 나타낸 것이다.1 shows an exemplary diagram comparing a system model and an existing system model according to an embodiment of the present invention.

도 1에 도시된 바와 같이, DPA가 적용되지 않은 기존의 방법은 IPsec가 커널 공간에 구성되고, NIC에 수신된 패킷 데이터를 커널에서 처리하여 사용자 응용 애플리케이션으로 전달하며, DPA가 적용된 기존 방법은 DPA 기술 예를 들어, 인텔의 DPDK이 적용된 소프트웨어 단에서 IPsec을 처리하기 때문에 패킷 처리 속도가 떨어질 수 있다.As shown in FIG. 1, in the existing method in which DPA is not applied, IPsec is configured in the kernel space, and packet data received in the NIC is processed by the kernel and delivered to the user application application, and the existing method in which DPA is applied is DPA For example, IPsec is processed by the software stage applied by Intel's DPDK, so the packet processing speed may be reduced.

반면 본 발명의 모델은 DPA를 적용하여 패킷 처리 속도를 끌어올리고, IPsec을 적용하여 보안성을 올리도록 한다. 그러나 IPsec을 적용하는 단계에서 기존의 오픈소스 프로그램을 이용한 소프트웨어 단에서의 처리를 피하고 IPsec 처리에 최적화된 하드웨어를 NIC(Network Interface Controller/Card)에 직접 연결하거나 시스템 온 칩(SOC) 형태로 NIC 내부에 장착된 형태를 사용한다.On the other hand, the model of the present invention increases the packet processing speed by applying DPA and increases security by applying IPsec. However, in the step of applying IPsec, avoid processing at the software stage using the existing open source program and connect the hardware optimized for IPsec processing directly to the NIC (Network Interface Controller/Card) or in the form of a system-on-chip (SOC) inside the NIC. Use the form mounted on.

이를 통해 기존 운영체제에서는 최종 처리된 즉, 암호화가 되어있지 않은 일반 패킷을 처리하는 것과 같은 속도로 고속 네트워크 환경을 구성할 수 있다.Through this, in the existing operating system, a high-speed network environment can be constructed at the same speed as that of processing a normal packet that has been processed, that is, not encrypted.

본 발명에서 DPA는 인텔의 DPDK를 사용할 수 있지만, 이로 한정하지 않으며, 사용 가능한 모든 DPA를 사용할 수 있다. 여기서, DPDK는 지원하는 NIC가 없으면 동작하지 않는 기술이지만, 해당 인텔 칩셋을 장착한 NIC를 사용하면 최적화된 프로그램 코드를 제공하여 NIC의 최고 속도에 근접하게 동작할 수 있는 환경을 조성해준다. In the present invention, DPA may use Intel's DPDK, but is not limited thereto, and any available DPA may be used. Here, DPDK is a technology that does not work without a supported NIC, but using an NIC equipped with the corresponding Intel chipset provides an optimized program code to create an environment that can operate close to the maximum speed of the NIC.

DPDK는 EAL이란 추상환경을 통해 NIC에 수신된 패킷 데이터를 커널에서 처리 하지 않고 바이패스(bypass) 하도록 하여 사용자 응용 애플리케이션 수준으로 바로 전달해 주게 된다. 이런 동작을 통해 운영체제의 병목을 피할 수 있다.DPDK allows the packet data received by the NIC to be bypassed without being processed by the kernel through the abstract environment called EAL, and is directly delivered to the user application level. This behavior avoids bottlenecks in the operating system.

또한, 본 발명은 해당 코드를 일부 수정하여 NIC와 IPsec 처리 하드웨어간의 통신이 가능하도록 구현할 수 있으며, 이렇게 구현함으로써 최소한의 수정을 통해 기존의 도구들을 활용하여 시스템을 구성할 수 있다.In addition, the present invention can be implemented to enable communication between the NIC and the IPsec processing hardware by partially modifying the corresponding code, and by implementing this, the system can be configured by utilizing existing tools with minimal modification.

즉, 본 발명의 실시예에 따른 초고속 암호 통신 시스템은 하드웨어 NIC에 대응하는 패킷 처리부, 하드웨어 IPsec에 대응하는 보안 처리부 및 DPDK에 대응하는 가속화부를 포함한다.That is, the ultra-fast cryptographic communication system according to an embodiment of the present invention includes a packet processing unit corresponding to a hardware NIC, a security processing unit corresponding to a hardware IPsec, and an acceleration unit corresponding to a DPDK.

패킷 처리부는 수신되는 네트워크 패킷을 처리하여 보안 처리부로 제공한다.The packet processing unit processes the received network packet and provides it to the security processing unit.

보안 처리부는 패킷 처리부에 의해 처리된 네트워크 패킷의 헤더를 분석하여 IPsec 패킷 처리 여부를 판단하고, IPsec 패킷 처리가 필요한 경우 IPsec 패킷 처리를 수행하며 IPsec 패킷 처리가 필요하지 않은 경우 IPsec 패킷 처리를 수행하지 않는다.The security processing unit analyzes the header of the network packet processed by the packet processing unit to determine whether to process IPsec packets, performs IPsec packet processing when IPsec packet processing is required, and does not perform IPsec packet processing when IPsec packet processing is not required. Does not.

가속화부는 보안 처리부에 의해 IPsec 패킷 처리가 수행된 패킷 또는 IPsec 패킷 처리가 수행되지 않은 패킷을 커널을 바이패스하여 사용자 공간 애플리케이션으로 전달함으로써, 사용자 공간 애플리케이션 처리를 수행한다.The accelerator performs user space application processing by bypassing the kernel and forwarding packets in which IPsec packet processing has been performed or packets without IPsec packet processing to the user space application by the security processing unit.

도 2는 도 1에 도시된 본 발명의 시스템에서의 일 실시예 동작 흐름도를 나타낸 것이다.FIG. 2 is a flowchart illustrating an embodiment of the operation of the system of the present invention shown in FIG. 1.

도 2를 참조하면, 본 발명의 실시예에 따른 초고속 암호 통신 방법은 NIC에서 네트워크 패킷을 수신하고, 수신된 네트워크 패킷을 NIC에서 처리한다(S210, S220).Referring to FIG. 2, in the ultra-fast cryptographic communication method according to an embodiment of the present invention, a network packet is received by a NIC, and the received network packet is processed by the NIC (S210, S220).

단계 S220에 의해 네트워크 패킷이 처리되면, 처리된 네트워크 패킷의 헤더를 통해 해당 네트워크 패킷에 대하여 IPsec 처리가 필요한지 판단한다(S230).When the network packet is processed by step S220, it is determined whether IPsec processing is required for the corresponding network packet through the header of the processed network packet (S230).

단계 S230이 판단 결과, IPsec 처리가 필요한 것으로 판단되면, NIC에서 드라이버 IPC를 통하여 IPsec 하드웨어로 처리된 네트워크 패킷을 전달하고, IPsec 하드웨어에서 네트워크 패킷에 대하여 IPsec 처리를 수행한다(S240, S250).As a result of the determination in step S230, when it is determined that IPsec processing is necessary, the NIC transmits the processed network packet to the IPsec hardware through the driver IPC, and performs IPsec processing on the network packet in the IPsec hardware (S240, S250).

단계 S250에 의해 IPsec 처리된 네트워크 패킷을 UIO 드라이버를 통하여 커널을 바이패스하여 DPDK로 전달함으로써, 유저 공간 애플리케이션에서 네트워크 패킷을 처리한다(S260, S270).By bypassing the kernel through the UIO driver and passing the network packet processed in step S250 to the DPDK, the user space application processes the network packet (S260, S270).

반면, 단계 S230에서 IPsec 처리가 불필요한 것으로 판단되면 바로 DPDK의 UIO로 구현된 EAL을 통해 커널을 바이패스하여 유저 공간 애플리케이션으로 패킷 데이터를 넘겨준다(S260, S270).On the other hand, if it is determined in step S230 that IPsec processing is unnecessary, the kernel is bypassed through the EAL implemented as the UIO of DPDK to pass packet data to the user space application (S260, S270).

이와 같이, 본 발명의 실시예들들은 데이터 플레인 가속화를 사용한 초고속 네트워크 환경에서 IPsec을 적용함으로써, 패킷 처리 속도와 보안성을 향상시킬 수 있으며, 구체적으로 IPsec 처리에 최적화된 하드웨어를 NIC에 직접 연결하거나 시스템 온 칩(SOC) 형태로 NIC 내부에 장착된 형태를 사용함으로써, 해킹의 위험없이 서버의 네트워크 처리 속도를 올릴 수 있다. As described above, embodiments of the present invention can improve packet processing speed and security by applying IPsec in an ultra-high-speed network environment using data plane acceleration, and specifically, directly connect hardware optimized for IPsec processing to the NIC or By using the system-on-chip (SOC) type mounted inside the NIC, the server's network processing speed can be increased without the risk of hacking.

비록, 도 2의 방법에서 그 설명이 생략되었더라도, 도 2의 방법은 상기 도 1에서 설명한 내용을 모두 포함할 수 있으며, 이러한 사항은 본 발명의 기술 분야에 종사하는 당업자에게 있어서 자명하다.Although the description of the method of FIG. 2 is omitted, the method of FIG. 2 may include all of the contents described in FIG. 1, which is obvious to those skilled in the art.

이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 시스템, 장치 및 구성요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The system or device described above may be implemented with hardware components, software components, and/or combinations of hardware components and software components. For example, the systems, devices, and components described in embodiments include, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors (micro signal processors), microcomputers, and field programmable arrays (FPAs). ), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions, may be implemented using one or more general purpose computers or special purpose computers. The processing device may run an operating system (OS) and one or more software applications running on the operating system. Further, the processing device may access, store, manipulate, process, and generate data in response to the execution of the software. For convenience of understanding, a processing device may be described as one being used, but a person having ordinary skill in the art, the processing device may include a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that may include. For example, the processing device may include a plurality of processors or a processor and a controller. In addition, other processing configurations, such as parallel processors, are possible.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 수송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instruction, or a combination of one or more of these, and configure the processing device to operate as desired, or process independently or collectively You can command the device. Software and/or data may be interpreted by a processing device, or to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. , Or permanently or temporarily embodied in the signal wave being transported. The software may be distributed on networked computer systems and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described by a limited embodiment and drawings, those skilled in the art can make various modifications and variations from the above description. For example, the described techniques are performed in a different order than the described method, and/or the components of the described system, structure, device, circuit, etc. are combined or combined in a different form from the described method, or other components Alternatively, proper results can be achieved even if replaced or substituted by equivalents.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (6)

수신되는 네트워크 패킷을 처리하는 패킷 처리부;
상기 패킷 처리부와 하드웨어적으로 연결되고, 상기 처리된 네트워크 패킷에 대한 인터넷 프로토콜 보안(IPsec)을 수행하는 보안 처리부; 및
상기 보안 처리부에 의해 인터넷 프로토콜 보안이 수행된 네트워크 패킷 또는 상기 패킷 처리부에 의해 처리된 네트워크 패킷을 커널을 바이패스하여 사용자 공간 애플리케이션으로 전달하는 가속화부
를 포함하는 초고속 암호 통신 시스템.
A packet processing unit that processes received network packets;
A security processing unit hardware-connected to the packet processing unit and performing Internet protocol security (IPsec) for the processed network packets; And
An accelerator for bypassing the kernel to a network packet in which Internet protocol security has been performed by the security processor or a network packet processed by the packet processor to a user space application.
High-speed cryptographic communication system comprising a.
제1항에 있어서,
상기 보안 처리부는
상기 패킷 처리부에 의해 처리된 네트워크 패킷의 헤더를 분석하여 인터넷 프로토콜 보안의 수행 여부를 판단하고, 인터넷 프로토콜 보안의 수행이 필요한 것으로 판단되면 상기 처리된 네트워크 패킷에 대한 인터넷 프로토콜 보안을 수행하는 것을 특징으로 하는 초고속 암호 통신 시스템.
According to claim 1,
The security processing unit
It is characterized by analyzing the header of the network packet processed by the packet processing unit to determine whether or not Internet protocol security is performed, and if it is determined that Internet protocol security is required, Internet protocol security is performed on the processed network packet. High-speed cryptographic communication system.
제1항에 있어서,
상기 보안 처리부는
상기 패킷 처리부와 하드웨어적으로 직접 연결되거나 시스템 온 칩(SOC) 형태로 상기 패킷 처리부 내부에 장착된 형태를 가지는 것을 특징으로 하는 초고속 암호 통신 시스템.
According to claim 1,
The security processing unit
An ultra-fast cryptographic communication system, characterized in that it has a form that is directly connected in hardware with the packet processing unit or mounted inside the packet processing unit in the form of a system-on-chip (SOC).
네트워크 인터페이스 제어기(NIC)에서 수신되는 네트워크 패킷을 처리하는 단계;
상기 네트워크 인터페이스 제어기와 하드웨어적으로 연결되는 인터넷 프로토콜 보안 처리기(IPsec)에서 상기 처리된 네트워크 패킷에 대한 인터넷 프로토콜 보안을 수행하는 단계; 및
상기 인터넷 프로토콜 보안이 수행된 네트워크 패킷 또는 상기 처리된 네트워크 패킷을 커널을 바이패스하여 사용자 공간 애플리케이션으로 전달하는 단계
를 포함하는 초고속 암호 통신 방법.
Processing network packets received at the network interface controller (NIC);
Performing Internet protocol security for the processed network packets in an Internet protocol security processor (IPsec) hardware-connected to the network interface controller; And
Bypassing the network packet with the Internet protocol security or the processed network packet to the user space application by bypassing the kernel
Super fast encryption communication method comprising a.
제4항에 있어서,
상기 인터넷 프로토콜 보안을 수행하는 단계는
상기 처리된 네트워크 패킷의 헤더를 분석하여 인터넷 프로토콜 보안의 수행 여부를 판단하고, 인터넷 프로토콜 보안의 수행이 필요한 것으로 판단되면 상기 처리된 네트워크 패킷에 대한 인터넷 프로토콜 보안을 수행하는 것을 특징으로 하는 초고속 암호 통신 방법.
According to claim 4,
The step of performing the Internet protocol security is
High-speed cryptographic communication characterized in that it is determined whether Internet protocol security is performed by analyzing the header of the processed network packet, and if it is determined that Internet protocol security is required, Internet protocol security is performed on the processed network packet. Way.
제4항에 있어서,
상기 인터넷 프로토콜 보안을 수행하는 단계는
상기 네트워크 인터페이스 제어기와 하드웨어적으로 직접 연결되거나 시스템 온 칩(SOC) 형태로 상기 네트워크 인터페이스 제어기 내부에 장착된 형태를 가지는 상기 인터넷 프로토콜 보안 처리기에서 수행하는 것을 특징으로 하는 초고속 암호 통신 시스템.
According to claim 4,
The step of performing the Internet protocol security is
A high-speed cryptographic communication system, characterized in that it is performed in the Internet protocol security processor having a form directly connected in hardware with the network interface controller or mounted in the network interface controller in the form of a system-on-chip (SOC).
KR1020190086170A 2018-12-18 2019-07-17 High-speed cryptographic communication system and method using data plane acceleration technology and hardware encryption processing device KR102304584B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20180164435 2018-12-18
KR1020180164435 2018-12-18

Publications (2)

Publication Number Publication Date
KR20200075723A true KR20200075723A (en) 2020-06-26
KR102304584B1 KR102304584B1 (en) 2021-09-24

Family

ID=71136752

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190086170A KR102304584B1 (en) 2018-12-18 2019-07-17 High-speed cryptographic communication system and method using data plane acceleration technology and hardware encryption processing device

Country Status (1)

Country Link
KR (1) KR102304584B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060064973A (en) * 2004-12-09 2006-06-14 한국전자통신연구원 Apparatus for accelerating vpn ipsec
JP2012510126A (en) * 2008-11-26 2012-04-26 マイクロソフト コーポレーション Hardware acceleration for remote desktop protocol
KR20150057289A (en) * 2013-11-19 2015-05-28 주식회사 시큐아이 Method and apparatus for packet processing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060064973A (en) * 2004-12-09 2006-06-14 한국전자통신연구원 Apparatus for accelerating vpn ipsec
JP2012510126A (en) * 2008-11-26 2012-04-26 マイクロソフト コーポレーション Hardware acceleration for remote desktop protocol
KR20150057289A (en) * 2013-11-19 2015-05-28 주식회사 시큐아이 Method and apparatus for packet processing

Also Published As

Publication number Publication date
KR102304584B1 (en) 2021-09-24

Similar Documents

Publication Publication Date Title
KR102041584B1 (en) System and method for decrypting network traffic in a virtualized environment
Sun et al. Security-as-a-service for microservices-based cloud applications
US9665503B2 (en) Efficient packet handling, redirection, and inspection using offload processors
US8156230B2 (en) Offload stack for network, block and file input and output
US10652281B1 (en) Network policy implementation in a tag-based policy architecture
US11431681B2 (en) Application aware TCP performance tuning on hardware accelerated TCP proxy services
US20070234412A1 (en) Using a proxy for endpoint access control
US20050108518A1 (en) Runtime adaptable security processor
US11711345B2 (en) Split tunnel-based security
US10542039B2 (en) Security against side-channel attack in real-time virtualized networks
KR20150013041A (en) Network interface card with virtual switch and traffic flow policy enforcement
He et al. Masq: Rdma for virtual private cloud
WO2017074626A1 (en) Synchronous execution of designated computing events using hardware-assisted virtualization
Van Tu et al. Accelerating virtual network functions with fast-slow path architecture using express data path
US20020116644A1 (en) Adapter card for wirespeed security treatment of communications traffic
Simpson et al. Securing {RDMA} for {High-Performance} Datacenter Storage Systems
EP4097596A1 (en) Proxy service through hardware acceleration using an io device
US10250595B2 (en) Embedded trusted network security perimeter in computing systems based on ARM processors
US9306908B2 (en) Anti-malware system, method of processing packet in the same, and computing device
Dastidar et al. Amd 400g adaptive smartnic soc–technology preview
Trach et al. Slick: Secure middleboxes using shielded execution
KR102304584B1 (en) High-speed cryptographic communication system and method using data plane acceleration technology and hardware encryption processing device
US20220385631A1 (en) Distributed traffic steering and enforcement for security solutions
KR102078744B1 (en) Network interface card having hybrid architecture with multi-core processor and general purpose network controller
Schultz et al. Performance analysis of packet capture methods in a 10 gbps virtualized environment

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant