KR101424508B1 - 부하 분산을 위한 암호화/복호화 장치 및 방법 - Google Patents

부하 분산을 위한 암호화/복호화 장치 및 방법 Download PDF

Info

Publication number
KR101424508B1
KR101424508B1 KR1020120129732A KR20120129732A KR101424508B1 KR 101424508 B1 KR101424508 B1 KR 101424508B1 KR 1020120129732 A KR1020120129732 A KR 1020120129732A KR 20120129732 A KR20120129732 A KR 20120129732A KR 101424508 B1 KR101424508 B1 KR 101424508B1
Authority
KR
South Korea
Prior art keywords
packet
esp
session information
original
original packet
Prior art date
Application number
KR1020120129732A
Other languages
English (en)
Other versions
KR20140062860A (ko
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 주식회사 시큐아이
Priority to KR1020120129732A priority Critical patent/KR101424508B1/ko
Publication of KR20140062860A publication Critical patent/KR20140062860A/ko
Application granted granted Critical
Publication of KR101424508B1 publication Critical patent/KR101424508B1/ko

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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks

Abstract

본 발명은 ESP 패킷의 생성 시, 오리지널 패킷의 세션 정보를 포함시키고, ESP 패킷의 복호화 시, ESP 패킷에 포함된 오리지널 패킷의 세션 정보에 기초하여 다중 프로세서 중 ESP 패킷을 처리할 프로세서를 결정함으로써, 패킷이 여러 프로세서로 분산하여 할당하게 할 수 있다. 이를 통해, 본 발명은 패킷 뒤바뀜 현상 또는 VPN 장치 간의 패킷 전송이 단일 세션으로 처리됨으로써 발생하는 부하 편중 문제를 해결하고 성능을 향상시킬 수 있다.

Description

부하 분산을 위한 암호화/복호화 장치 및 방법{ENCRYPTING/DECRYPTING APPRATUS FOR LOAD BALANCING AND METHOD THEREOF}
본 발명은 IPSec VPN에서의 패킷 처리 기술에 관한 것으로서, 더 구체적으로는, 패킷 암호화 및 복호화에 관한 부하를 분산하기 위한 패킷 처리 기술에 관한 것입니다.
가상 사설망(Virtual Private Network, VPN)은 원거리 네트워크 간에 공개된 인터넷과 같은 공중 교환 회선망(Public Switched Network)을 통해 전용망과 같이 안전하게 통신하게 하는 네트워크 서비스이다. 즉, VPN을 통해 물리적인 네트워크의 구성과는 무관하게 논리적인 회선을 설정함으로써, 별도의 전용망을 구축하지 않고도 공중 교환 회선에서의 안정성을 보장하기 위한 가상 사설 통신망을 구축할 수 있다.
VPN은 공개된 인터넷 통신망을 이용하기 때문에, 데이터를 보호하기 위해 송신 측은 데이터 패킷을 암호화하여 전송하고, 수신 측은 암호화된 패킷을 복호화 하여 전달하게 된다. 특히, 네트워크 계층에서 암호화를 수행하는 VPN을 IPSec(Internet Protocol Security) VPN이라 하는데, 여기서 IPSec는 보안에 취약한 IP 프로토콜에서 안정성 있는 서비스를 제공하기 위해 IETF 워킹그룹에서 표준(RFC2401-2412)으로 제정한 보안 프로토콜에 해당한다. IPSec은 네트워크 계층에서 암호화를 수행하기 때문에 원격지 VPN 구성뿐 아니라 원격 접속 VPN까지 완벽히 지원하며, 다른 VPN 프로토콜과는 달리 애플리케이션과 독립적으로 구현할 수 있다.
IPSec에서 실제 데이터 전송과 관련된 프로토콜로 AH(Authentication Header) 와 ESP(Encapsulating Security Payload)가 있다. AH는 인증 및 무결성 기능만 제공하는 데 반해 ESP는 데이터 암호화 기능도 제공하기 때문에 보안 면에서 더욱 우수하며, 그래서 실제 가장 많이 쓰이는 프로토콜이 ESP이다. 이러한 ESP의 암호화 방식은 터널모드(tunnel mode)와 트랜스포트 모드(transport mode)로 구분될 수 있다. 이와 관련하여, 도 1은 데이터 패킷 구조의 예시를 도시한다.
도 1의 (a)는 오리지널 패킷(original packet)의 예시적인 구조를 도시한다. 오리지널 패킷은 암호화가 수행되지 않은 원본 패킷을 의미하며, 도시되는 바와 같이, IP 헤더와 IP 페이로드(TCP 헤더 및 TCP 페이로드를 포함함)로 이루어진다.
도 1의 (b)는 ESP 트랜스포트 모드의 패킷의 예시적인 구조를 도시한다. 도시되는 바와 같이, ESP 트랜스포트 모드의 패킷은, 오리지널 패킷의 IP 헤더 및 이에 후속하는, ESP 헤더, 오리지널 패킷의 IP 페이로드, ESP 트레일러, 및 ESP 인증 데이터로 이루어지며, 여기서 오리지널 패킷의 IP 페이로드 및 ESP 트레일러가 암호화되는 부분에 해당한다.
도 1의 (c)는 ESP 터널 모드의 패킷의 예시적인 구조를 도시한다. 도시되는 바와 같이, ESP 터널 모드의 패킷은 신규 IP 헤더, ESP 헤더, 오리지널 패킷의 IP 헤더, 오리지널 패킷의 IP 페이로드, ESP 트레일러 및 ESP 인증 데이터로 이루어지며, 여기서, 오리지널 패킷의 IP 헤더, 오리지널 패킷의 IP 페이로드 및 ESP 트레일러가 암호화되는 부분에 해당한다.
즉, ESP 트랜스포트 모드의 경우, 오리지널 패킷의 IP 헤더가 암호화가 되지 않기 때문에 헤더 정보에 대한 보안을 할 수 없는데 반해, ESP 터널 모드의 경우, 오리지널 패킷의 IP 페이로드뿐만 아니라, IP 헤더까지 암호화를 수행하여 보안을 보장할 수 있다. 따라서 ESP 터널 모드는 사이트-투-사이트(site-to-site) VPN 환경에서 일반적으로 이용되며, 클라이언트-투-클라이언트(client-to-client) VPN 환경에서 이용될 수 있다.
한편, 다중 프로세서를 포함하는 VPN 장치는 패킷을 처리(예를 들어, 오리지널 패킷을 암호화하여 ESP 패킷을 생성하거나, ESP 패킷을 복호화 하여 오리지널 패킷을 생성)하는데 있어, 부하 분산을 고려하여 다중 프로세서 중 패킷을 처리할 프로세서를 선택하게 된다. 이러한 프로세서 선택 방식에는 크게 라운드 로빈 방식과 세션 방식이 있다.
라운드 로빈 방식은, 부하 분산을 위해 패킷이 수신되는 순서대로 프로세서에 할당하는 방식이다. 이러한 방식은 다중 프로세서의 효율을 증가시키고, 부하 분산을 달성할 수 있다. 그러나 패킷을 처리하는데 소요되는 시간이 프로세서마다 상이할 수 있기 때문에, 패킷 뒤바뀜(Out of Sequence) 현상이 발생할 수 있으며, 이 경우, 종단에서 패킷의 순서를 다시 맞춰야 하기 때문에 부가적인 부하가 발생하게 된다.
이에 반해, 세션 방식은 세션에 따라 프로세서를 결정하고, 이와 같이 결정된 하나의 프로세서가 상기 세션과 관련되는 패킷을 처리하기 때문에, 패킷 뒤바뀜 현상이 발생하지 않는다. 그러나 이 방식에 의하면, 하나의 세션만 유입되는 경우, 다중 프로세서 중 하나의 프로세서만이 동작하게 되어 실질적으로 부하 편중이 발생하게 된다. 특히, 도 1에서 설명한 바와 같이, ESP 터널 모드의 경우, 오리지널 IP 헤더가 암호화되고 신규 IP 헤더가 생성되는데, 이러한 신규 IP 헤더는 VPN 장치의 IP 주소를 포함하기 때문에, VPN 장치의 IP 주소가 동일하다면 VPN 장치 간에 이루어지는 패킷 전송은 오리지널 패킷의 IP 주소에 관계없이 모두 단일 세션을 형성하게 된다. 즉, ESP 터널 모드에서 동작하는 VPN 장치가 다른 임의의 VPN 장치와 통신하는 경우, 이러한 VPN 장치들 간에 통신되는 패킷은 상기 VPN 장치들에 의해 통신이 이루어지는 내트워크 내의 엔드 포인트(end point)와는 관계없이 동일한 세션을 형상하게 되고, 따라서 동일한 프로세서에서 패킷을 처리하게 되므로 부하가 편중되고 성능을 제대로 발휘하기 힘들게 된다.
따라서 터널 모드의 ESP 패킷에 대해서도 용이한 방식으로 부하분산을 달성할 수 있는 패킷 처리 기술이 요구된다.
본 발명은 상기 문제점들을 해결하기 위한 것으로서, 터널 모드의 ESP 패킷의 경우 VPN 장치의 IP 주소에 의해 세션이 결정됨으로써 발생하는 부하 편중 현상 또는 패킷 뒤바꿈 현상을 해결하기 위한 패킷 처리 기술을 제공하는 것을 그 목적으로 한다.
본 발명의 일 실시예에 따라, 부하 분산을 위한 복호화 방법이 개시된다. 상기 방법은 ESP 패킷을 수신하는 단계; 상기 수신된 ESP 패킷으로부터 오리지널 패킷의 세션정보를 추출하는 단계; ESP 패킷을 복호화하기 위한 다중 프로세서 중 상기 세션정보에 의해 결정되는 하나의 프로세서에 상기 수신된 ESP 패킷을 할당하는 단계; 및 상기 하나의 프로세서가 상기 수신된 ESP 패킷을 복호화함으로써 오리지널 패킷을 생성하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따라, 부하 분산을 위한 암호화 방법이 개시된다. 상기 방법은 오리지널 패킷을 수신하는 단계; 상기 오리지널 패킷의 세션정보를 생성하는 단계; 오리지널 패킷을 암호화하기 위한 다중 프로세서 중 상기 세션정보에 의해 결정되는 하나의 프로세서에 상기 오리지널 패킷을 할당하는 단계; 및 상기 하나의 프로세서가 상기 오리지널 패킷을 암호화함으로써 ESP 패킷을 생성하는 단계를 포함하고, 상기 생성된 ESP 패킷은 상기 세션정보를 포함할 수 있다.
본 발명의 일 실시예에 따라, 부하 분산을 위한 암호화 및 복호화 장치가 개시된다. 상기 장치는 오리지널 패킷 또는 ESP 패킷을 수신하기 위한 수신부; ESP 패킷을 복호화하여 오리지널 패킷을 생성하거나, 오리지널 패킷을 암호화하여 ESP 패킷을 생성하기 위한 다중 프로세서; 상기 수신부에 의해 수신된 ESP 패킷으로부터 오리지널 패킷의 세션정보를 추출하기 위한 세션정보 추출부; 상기 다중 프로세서 중 상기 세션정보 추출부에 의해 추출된 오리지널 패킷의 세션정보에 의해 결정되는 하나의 프로세서에 상기 수신된 ESP 패킷을 할당하기 위한 패킷 할당부를 포함하고, 상기 하나의 프로세서는 상기 패킷 할당부에 의해 할당된 ESP 패킷을 복호화하여 오리지널 패킷을 생성할 수 있다.
부가적인 실시예에서, 상기 장치는 상기 수신부에 의해 수신된 오리지널 패킷의 세션정보를 생성하기 위한 세션정보 생성부를 더 포함하고, 상기 패킷 할당부는 상기 다중 프로세서 중 상기 세션정보 생성부에 의해 생성된 세션정보에 의해 결정되는 하나의 프로세서에 상기 수신된 오리지널 패킷을 할당하고, 상기 하나의 프로세서는 상기 패킷 할당부에 의해 할당된 오리지널 패킷을 암호화하여 ESP 패킷을 생성하게 하며, 상기 생성된 ESP 패킷은 상기 세션정보 생성부에 의해 생성된 오리지널 패킷의 세션정보를 포함할 수 있다.
본 발명은 ESP 패킷에 오리지널 패킷의 세션 정보를 포함시키고, 세션 정보에 기초하여 선택되는 프로세서로 하여금 패킷을 처리하게 함으로써, 패킷을 여러 프로세서로 분산하여 할당하게 하고, 이를 통해, 패킷 뒤바뀜 현상 및 VPN 장치 간의 패킷 전송이 단일 세션으로 처리됨으로써 발생하는 부하 편중 문제를 해결하고 성능을 향상시킬 수 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 데이터 패킷 구조의 예시를 도시한다.
도 2는 본 발명의 일 실시예에 따른 IPSec VPN 시스템을 도시한다.
도 3은 ESP 헤더 구조의 예시를 도시한다.
도 4는 본 발명의 일 실시예에 따른 암호화 방법을 도시한다.
도 5는 본 발명의 일 실시예에 따른 복호화 방법을 도시한다.
도 6은 본 발명의 일 실시예에 따른 암호화 및 복호화 장치를 도시한다.
이하, 본 발명에 따른 실시예들은 첨부된 도면들을 참조하여 설명한다. 한편, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다. 또한, 이하에서 본 발명의 실시예들을 설명할 것이나, 본 발명의 기술적 사상은 이에 한정되거나 제한되지 않고 당업자에 의해 변형되어 다양하게 실시될 수 있다.
도 2는 본 발명의 일 실시예에 따른 IPSec VPN 시스템을 도시한다. 상기 시스템은 ESP 터널 모드에서 암호화 통신을 수행하는 두 개의 VPN 장치(210, 220) 및 상기 VPN 장치(210, 220) 각각에 연결된 두 개의 네트워크(230, 240)를 포함할 수 있다. 각각의 네트워크(230, 240)는 적어도 하나의 서버 및/또는 적어도 하나의 단말을 포함할 수 있다. 도 2에서 도시되는 IPSec VPN 시스템은 예시적인 것으로서 본 발명이 적용되는 실시예에 따라 다양한 구성이 적용될 수 있다.
도시되는 바와 같은, 제 1 VPN 장치(210) 및 제 2 VPN 장치(220)는 터널링을 통해 제 1 네트워크(230) 및 제 2 네트워크(240) 간의 통신 터널을 형성하고, 이를 이용하여 제 1 네트워크(230) 및 제 2 네트워크(240) 간의 패킷 통신을 수행한다. 구체적으로, 제 1 VPN 장치(210)는 제 1 네트워크(230)로부터 수신되는 오리지널 패킷(original packet; 제 1 네트워크에서 발생하여 제 2 네트워크로 향하는 패킷)을 ESP 패킷(Encapsulating Security Payload packet)으로 암호화한 후 제 2 VPN 장치(220)로 전송하고, 제 2 VPN 장치(220)로부터 수신된 ESP 패킷을 오리지널 패킷으로 복호화한 후, 제 1 네트워크(230)로 전송할 수 있다. 반대로, 제 2 VPN 장치(220)는 제 2 네트워크(240)로부터 수신되는 오리지널 패킷(즉, 제 2 네트워크에서 발생하여 제 1 네트워크로 향하는 패킷)을 ESP 패킷으로 암호화한 후 제 1 VPN 장치(210)로 전송하고, 제 1 VPN 장치(210)로부터 수신된 ESP 패킷을 오리지널 패킷으로 복호화한 후, 제 2 네트워크(240)로 전송할 수 있다.
이러한 과정에서, 본 발명에 따른 VPN 장치들은 패킷을 처리하기 위해 세션 방식에 따라 다중 프로세서로 패킷을 할당한다. 다만, 종래의 ESP 터널 모드에서의 통신과 달리, 본 발명에서는 ESP 패킷에 오리지널 패킷의 세션 정보가 포함될 수 있으며, 여기서 오리지널 패킷의 세션 정보는 출발지 IP 주소, 출발지 포트, 목적지 IP 주소, 목적지 포트, 프로토콜 중 적어도 하나에 의해 결정될 수 있다. 즉, 본 발명에서는 ESP 패킷에 포함된 오리지널 패킷의 세션 정보에 기초하여, 다중 프로세서 중 상기 패킷을 처리할 프로세서를 선택할 수 있다.
예를 들어, 제 1 네트워크(230)로부터 발신되는 오리지널 패킷을 제 1 VPN 장치(210)가 수신하면, 오리지널 패킷의 세션 정보에 따라 선택되는 제 1 VPN 장치(210)의 프로세서가 오리지널 패킷을 암호화하여 ESP 패킷을 생성하게 된다. 이때, 생성되는 ESP 패킷에는 상기 세션 정보가 포함될 수 있다. 제 1 VPN 장치(210)는 ESP 패킷을 제 2 VPN 장치(220)로 전송하고, 제 2 VPN 장치(220)가 ESP 패킷을 수신하면, ESP 패킷에 포함된 상기 세션 정보에 따라 선택되는 제 2 VPN 장치(220)의 프로세서가 ESP 패킷을 복호화하여 오리지널 패킷을 생성한 후 제 2 네트워크(240)로 전송하게 된다.
즉, VPN 장치에 의해 결정되는 세션 정보에 따라 프로세서를 선택하는 종래 기술과 달리, 본 발명에서는 오리지널 패킷의 세션 정보에 따라 프로세서를 선택함으로써, 부하 분산을 달성하고, 성능을 향상시킬 수 있다.
도 3은 ESP 헤더 구조의 예시를 도시한다. 도 3에서 도시되는 초기화 벡터 필드는 페이로드 데이터를 암호화하기 위해 이용되는 값인 초기화 벡터를 포함하는 필드로서, ESP 패킷에 선택적으로 포함될 수 있다. 이와 같은 초기화 벡터 값은 ESP 암호화 할 때 암호화 되지 않는 값이며, 비밀 키와 마찬가지로 송신자와 수신자간에 미리 약속되어 있어야 하지만 공개된 값을 사용해도 무방하며, 보통 랜덤 값을 이용한다.
본 발명에서는, ESP 패킷 생성 시, 초기화 벡터 필드에 오리지널 패킷의 세션 정보를 포함시킴으로써, 오리지널 IP 헤더가 암호화되더라도, 세션 정보를 전달할 수 있다. 여기서, 초기화 벡터 필드의 길이는 암호화 알고리즘에 따라 가변적이므로 초기화 벡터 필드의 비트 값을 N이라고 하면, 세션 값은 그에 따라 1 내지 N의 길이를 가변적으로 가질 수 있다.
도 4는 본 발명의 일 실시예에 따른 암호화 방법(400)을 도시한다. 상기 방법(400)은 예를 들어, IPSec VPN 장치 또는 IPSec VPN 장치와 연결된 별개의 장치에 의해 수행될 수 있다.
먼저, 오리지널 패킷을 수신할 수 있다(단계(410)). 여기서, 오리지널 패킷은 내부 네트워크로부터 IPSec VPN 장치를 경유하여 외부 네트워크로 전송되기 위한 것으로서, 어떠한 암호화도 수행되지 않은 원본 패킷을 의미한다.
계속해서, 단계(410)에서 수신된 오리지널 패킷의 세션정보를 생성할 수 있다(단계(420)). 여기서 세션정보는 오리지널 패킷의 세션을 식별하기 위한 정보로서, 오리지널 패킷에 포함된 출발지 IP 주소, 출발지 포트, 목적지 IP 주소, 목적지 포트, 프로토콜 중 적어도 하나에 의해 결정될 수 있다.
세션 정보를 생성(단계(420))한 후에, 오리지널 패킷의 암호화를 수행하는 다중 프로세서 중 오리지널 패킷의 세션 정보에 의해 결정되는 하나의 프로세서로 오리지널 패킷을 할당할 수 있다(단계(430)).
계속해서, 단계(430)에서 오리지널 패킷을 할당받은 프로세서는 상기 오리지널 패킷을 암호화하여 ESP 패킷을 생성할 수 있다(단계(440)). 여기서, 단계(440)를 통해 생성된 ESP 패킷은 오리지널 패킷의 세션정보를 포함할 수 있다. 상기 오리지널 패킷의 세션정보는 단계(420)를 통해 생성된 세션정보일 수 있다. 또는 상기 오리지널 패킷의 세션정보는 다중 프로세서 중 하나의 프로세서, 예를 들어, 단계(430)에서 오리지널 패킷을 할당받은 프로세서에 의해 생성될 수 있다. 일 실시예에서, 상기 세션정보는 ESP 패킷의 ESP 헤더 내의 초기화 벡터 필드에 포함될 수 있다.
도 5는 본 발명의 일 실시예에 따른 복호화 방법(500)을 도시한다. 상기 방법은 예를 들어, IPSec VPN 장치 또는 IPSec VPN 장치와 연결된 별개의 장치에 의해 수행될 수 있다.
먼저, ESP 패킷을 수신할 수 있다(단계(510)). 여기서 ESP 패킷은 외부 네트워크로부터 IPSec VPN 장치를 경유하게 내부 네트워크로 전송되기 위한 것으로서, ESP 암호화가 이루어진 암호화 패킷을 의미한다.
계속해서, 단계(510)에서 수신된 ESP 패킷으로부터 오리지널 패킷의 세션정보를 추출할 수 있다(단계(520)). 여기서 세션정보는 ESP 패킷이 암호화되기 전의 오리지널 패킷의 세션을 식별하기 위한 정보로서, 오리지널 패킷에 포함된 출발지 IP 주소, 출발지 포트, 목적지 IP 주소, 목적지 포트, 프로토콜 중 적어도 하나에 의해 결정될 수 있다. 구체적으로 단계(520)는, 수신된 ESP 패킷의 초기화 벡터 필드로부터 세션정보를 추출함으로써 수행될 수 있다.
세션 정보를 추출(단계(520))한 후에, ESP 패킷의 복호화를 수행하는 다중 프로세서 중 오리지널 패킷의 세션정보에 의해 결정되는 하나의 프로세서로 단계(510)에서 수신된 ESP 패킷을 할당할 수 있다(단계(530)).
계속해서, 단계(530)에서 ESP 패킷을 할당받은 프로세서는 상기 ESP 패킷을 복호화하여 오리지널 패킷을 생성할 수 있다(단계(540)).
도 6은 본 발명의 일 실시예에 따른 암호화 및 복호화 장치(600)를 도시한다. 장치(600)는 예를 들어, IPSec VPN 장치의 일부 또는 IPSec VPN 장치에 연결된 별개의 장치일 수 있다.
장치(600)는 수신부(610); 다중 프로세서(620); 세션정보 생성부(630); 세션정보 추출부(640); 패킷 할당부(650); 및 송신부(660)를 포함할 수 있다.
수신부(610)는 오리지널 패킷 또는 ESP 패킷을 수신할 수 있다. 수신부(610)에 의해 수신되는 오리지널 패킷은 내부 네트워크로부터 IPSec VPN 장치를 경유하여 외부 네트워크로 전송되기 위한 것으로서 어떠한 암호화도 수행되지 않은 원본 패킷을 의미하고, ESP 패킷은 외부 네트워크로부터 IPSec VPN 장치를 경유하여 내부 네트워크로 전송되기 위한 것으로서 ESP 암호화가 이루어진 암호화 패킷을 의미한다.
다중 프로세서(620)는 복수의 프로세서로 이루어지며, 수신부(610)에 의해 수신되는 오리지널 패킷 또는 ESP 패킷을 처리할 수 있다. 구체적으로, 오리지널 패킷이 할당되면 오리지널 패킷을 암호화하여 ESP 패킷을 생성하고, ESP 패킷이 할당되면 ESP 패킷을 복호화하여 오리지널 패킷을 생성한다. 이와 같은 패킷의 처리는 다중 프로세서(620) 중 부하 분산을 위한 세션 방식에 기초하여 선택되는 임의의 프로세서에 의해 이루어진다.
세션정보 생성부(630)는 수신부(610)에 의해 수신된 오리지널 패킷의 세션정보를 생성할 수 있다. 상기 세션정보는 오리지널 패킷의 출발지 IP 주소, 출발지 포트, 목적지 IP 주소, 목적지 포트, 프로토콜 중 적어도 하나에 의해 결정될 수 있다.
세션정보 추출부(640)는 수신부(610)에 의해 수신된 ESP 패킷으로부터 오리지널 패킷의 세션정보를 추출할 수 있다. 구체적으로, 세션정보 추출부(640)는 ESP 패킷의 초기화 벡터 필드로부터 오리지널 패킷의 세션정보를 추출할 수 있다.
패킷 할당부(650)는 세션정보 생성부(630)에 의해 생성된 세션정보 또는 세션정보 추출부(640)에 의해 추출된 세션정보에 기초하여, 다중 프로세서(620) 중 패킷을 처리할 프로세서를 결정하고, 결정된 프로세서로 패킷을 할당할 수 있다.
구체적으로, 패킷 할당부(650)는 다중 프로세서(620) 중 세션정보 추출부(640)에 의해 추출된 세션정보에 의해 결정되는 프로세서에 ESP 패킷을 할당할 수 있다. ESP 패킷이 할당된 프로세서는 ESP 패킷을 복호화하여 오리지널 패킷을 생성할 수 있다.
또한, 패킷 할당부(650)는 다중 프로세서(620) 중 세션정보 생성부(630)에 의해 생성된 세션정보에 의해 결정되는 프로세서에 오리지널 패킷을 할당할 수 있다. 오리지널 패킷이 할당된 프로세서는 오리지널 패킷을 암호화하여 ESP 패킷을 생성할 수 있으며, 상기 ESP 패킷은 ESP 헤더의 초기화 벡터 필드에 오리지널 패킷의 세션정보를 포함할 수 있다. 상기 상기 오리지널 패킷의 세션정보는 세션정보 생성부(630)에 의해 생성된 세션정보일 수 있다. 또는 상기 오리지널 패킷의 세션정보는 다중 프로세서(620) 중 하나의 프로세서, 예를 들어, 오리지널 패킷을 할당받은 프로세서에 의해 생성될 수 있다.
송신부(660)는 오리지널 패킷 또는 ESP 패킷을 전송할 수 있다. 송신부(660)에 의해 전송되는 오리지널 패킷은 수신부(610)가 수신한 ESP 패킷을 복호화함으로써 생성되고, 송신부(660)에 의해 전송되는 ESP 패킷은 수신부(610)가 수신한 오리지널 패킷을 암호화함으로써 생성된 것이다.
상기 설명한 바와 같이, 본 발명은 ESP 패킷의 생성 시, 오리지널 패킷의 세션 정보를 포함시키고, ESP 패킷의 복호화 시, ESP 패킷에 포함된 오리지널 패킷의 세션 정보에 기초하여 다중 프로세서 중 ESP 패킷을 처리할 프로세서를 결정함으로써, 패킷이 여러 프로세서로 분산하여 할당하게 할 수 있다. 이를 통해, 본 발명은 패킷 뒤바뀜 현상 또는 VPN 장치 간의 패킷 전송이 단일 세션으로 처리됨으로써 발생하는 부하 편중 문제를 해결하고 성능을 향상시킬 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시 예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (14)

  1. 부하 분산을 위한 복호화 방법으로서,
    ESP 패킷(Encapsulating Security Payload packet)을 수신하는 단계;
    상기 수신된 ESP 패킷으로부터 오리지널 패킷(original packet)의 세션정보를 추출하는 단계;
    ESP 패킷을 복호화하기 위한 다중 프로세서 중 상기 세션정보에 의해 결정되는 하나의 프로세서에 상기 수신된 ESP 패킷을 할당하는 단계; 및
    상기 하나의 프로세서가 상기 수신된 ESP 패킷을 복호화함으로써 오리지널 패킷을 생성하는 단계;
    를 포함하는, 부하 분산을 위한 복호화 방법.
  2. 제 1 항에 있어서,
    상기 세션정보는 오리지널 패킷의 출발지 IP 주소, 출발지 포트, 목적지 IP 주소, 목적지 포트, 프로토콜 중 적어도 하나에 의해 결정되는,
    부하 분산을 위한 복호화 방법.
  3. 제 1 항에 있어서,
    상기 세션정보를 추출하는 단계는,
    상기 수신된 ESP 패킷의 초기화 벡터 필드로부터 상기 세션정보를 추출함으로써 수행되는,
    부하 분산을 위한 복호화 방법.
  4. 제 1 항에 있어서,
    상기 오리지널 패킷을 목적지(destination)로 전송하는 단계를 더 포함하는,
    부하 분산을 위한 복호화 방법.
  5. 부하 분산을 위한 암호화 방법으로서,
    오리지널 패킷을 수신하는 단계;
    상기 오리지널 패킷의 세션정보를 생성하는 단계;
    오리지널 패킷을 암호화하기 위한 다중 프로세서 중 상기 세션정보에 의해 결정되는 하나의 프로세서에 상기 오리지널 패킷을 할당하는 단계; 및
    상기 하나의 프로세서가 상기 오리지널 패킷을 암호화함으로써 ESP 패킷을 생성하는 단계를 포함하고,
    상기 생성된 ESP 패킷은 오리지널 패킷의 세션정보를 포함하는,
    부하 분산을 위한 암호화 방법.
  6. 제 5 항에 있어서,
    상기 세션정보는 오리지널 패킷의 출발지 IP 주소, 출발지 포트, 목적지 IP 주소, 목적지 포트, 프로토콜 중 적어도 하나에 의해 결정되는,
    부하 분산을 위한 암호화 방법.
  7. 제 5 항에 있어서,
    상기 생성된 ESP 패킷은 상기 ESP 패킷의 초기화 벡터 필드에 상기 세션정보를 포함하는,
    부하 분산을 위한 암호화 방법.
  8. 제 5 항에 있어서,
    상기 생성된 ESP 패킷을 목적지로 전송하는 단계를 더 포함하는,
    부하 분산을 위한 암호화 방법.
  9. 부하 분산을 위한 암호화 및 복호화 장치로서,
    오리지널 패킷 또는 ESP 패킷을 수신하기 위한 수신부;
    ESP 패킷을 복호화하여 오리지널 패킷을 생성하거나, 오리지널 패킷을 암호화하여 ESP 패킷을 생성하기 위한 다중 프로세서;
    상기 수신부에 의해 수신된 ESP 패킷으로부터 오리지널 패킷의 세션정보를 추출하기 위한 세션정보 추출부; 및
    상기 다중 프로세서 중 상기 세션정보 추출부에 의해 추출된 오리지널 패킷의 세션정보에 의해 결정되는 하나의 프로세서에 상기 수신된 ESP 패킷을 할당하기 위한 패킷 할당부를 포함하고,
    상기 하나의 프로세서는 상기 패킷 할당부에 의해 할당된 ESP 패킷을 복호화하여 오리지널 패킷을 생성하는,
    부하 분산을 위한 암호화 및 복호화 장치.
  10. 제 9 항에 있어서,
    상기 수신부에 의해 수신된 오리지널 패킷의 세션정보를 생성하기 위한 세션정보 생성부를 더 포함하고,
    상기 패킷 할당부는 상기 다중 프로세서 중 상기 세션정보 생성부에 의해 생성된 세션정보에 의해 결정되는 하나의 프로세서에 상기 수신된 오리지널 패킷을 할당하고,
    상기 하나의 프로세서는 상기 패킷 할당부에 의해 할당된 오리지널 패킷을 암호화하여 ESP 패킷을 생성하게 하며,
    상기 생성된 ESP 패킷은 오리지널 패킷의 세션정보를 포함하는,
    부하 분산을 위한 암호화 및 복호화 장치.
  11. 제 9 항에 있어서,
    상기 세션정보는 오리지널 패킷의 출발지 IP 주소, 출발지 포트, 목적지 IP 주소, 목적지 포트, 프로토콜 중 적어도 하나에 의해 결정되는,
    부하 분산을 위한 암호화 및 복호화 장치.
  12. 제 9 항에 있어서,
    상기 세션정보 추출부는 상기 수신된 ESP 패킷의 초기화 벡터 필드로부터 상기 세션정보를 추출하는,
    부하 분산을 위한 암호화 및 복호화 장치.
  13. 제 10 항에 있어서,
    상기 생성된 ESP 패킷은 상기 생성된 ESP 패킷의 초기화 벡터 필드에 상기 세션정보를 포함하는,
    부하 분산을 위한 암호화 및 복호화 장치.
  14. 제 9 항에 있어서,
    상기 오리지널 패킷 또는 상기 ESP 패킷을 전송하기 위한 송신부를 더 포함하는,
    부하 분산을 위한 암호화 및 복호화 장치.
KR1020120129732A 2012-11-15 2012-11-15 부하 분산을 위한 암호화/복호화 장치 및 방법 KR101424508B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120129732A KR101424508B1 (ko) 2012-11-15 2012-11-15 부하 분산을 위한 암호화/복호화 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120129732A KR101424508B1 (ko) 2012-11-15 2012-11-15 부하 분산을 위한 암호화/복호화 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20140062860A KR20140062860A (ko) 2014-05-26
KR101424508B1 true KR101424508B1 (ko) 2014-08-01

Family

ID=50890975

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120129732A KR101424508B1 (ko) 2012-11-15 2012-11-15 부하 분산을 위한 암호화/복호화 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101424508B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050055435A1 (en) 2003-06-30 2005-03-10 Abolade Gbadegesin Network load balancing with connection manipulation
KR20110106096A (ko) * 2010-03-22 2011-09-28 주식회사 퓨쳐시스템 플로우 프로세싱 유닛 및 플로우 프로세싱 유닛 제어 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050055435A1 (en) 2003-06-30 2005-03-10 Abolade Gbadegesin Network load balancing with connection manipulation
KR20110106096A (ko) * 2010-03-22 2011-09-28 주식회사 퓨쳐시스템 플로우 프로세싱 유닛 및 플로우 프로세싱 유닛 제어 방법

Also Published As

Publication number Publication date
KR20140062860A (ko) 2014-05-26

Similar Documents

Publication Publication Date Title
US9712504B2 (en) Method and apparatus for avoiding double-encryption in site-to-site IPsec VPN connections
US10693634B2 (en) Key generation method and apparatus using double encryption
US9979704B2 (en) End-to-end security for virtual private service chains
CN105262772B (zh) 一种数据传输方法、系统及相关装置
CN109428867B (zh) 一种报文加解密方法、网路设备及系统
US11792168B2 (en) Streaming one time pad virtual private network
KR20150020530A (ko) 다중 터널 가상 사설 네트워크
CN112491821B (zh) 一种IPSec报文转发的方法及装置
US20180159681A1 (en) Method for safeguarding the information security of data transmitted via a data bus and data bus system
US9473466B2 (en) System and method for internet protocol security processing
CN111194541B (zh) 用于数据传输的装置和方法
CN102891848A (zh) 利用IPSec安全联盟进行加密解密的方法
CN106209401B (zh) 一种传输方法及装置
CN106161386B (zh) 一种实现IPsec分流的方法和装置
US10015208B2 (en) Single proxies in secure communication using service function chaining
US20210099434A1 (en) Anonymous communication over virtual, modular, and distributed satellite communications network
CN108924157B (zh) 一种基于IPSec VPN的报文转发方法及装置
CN110832806B (zh) 针对面向身份的网络的基于id的数据面安全
US11095619B2 (en) Information exchange for secure communication
KR101457455B1 (ko) 클라우드 네트워크 환경에서의 데이터 보안 장치 및 방법
CN108111515B (zh) 一种适用于卫星通信的端到端安全通信加密方法
KR101424508B1 (ko) 부하 분산을 위한 암호화/복호화 장치 및 방법
KR101837064B1 (ko) 보안 통신 장치 및 방법
CN108809888B (zh) 一种基于安全模块的安全网络构建方法和系统
KR20170083359A (ko) Aes 알고리즘을 이용한 사물인터넷 기기간 암호화 및 복호화 방법

Legal Events

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