KR20180104376A - Method for supporting security function in software defined network, and network apparatus and controller for the same - Google Patents

Method for supporting security function in software defined network, and network apparatus and controller for the same Download PDF

Info

Publication number
KR20180104376A
KR20180104376A KR1020170031025A KR20170031025A KR20180104376A KR 20180104376 A KR20180104376 A KR 20180104376A KR 1020170031025 A KR1020170031025 A KR 1020170031025A KR 20170031025 A KR20170031025 A KR 20170031025A KR 20180104376 A KR20180104376 A KR 20180104376A
Authority
KR
South Korea
Prior art keywords
security
terminal
network device
security function
sdn controller
Prior art date
Application number
KR1020170031025A
Other languages
Korean (ko)
Other versions
KR102274204B1 (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 한국전자통신연구원
Priority to KR1020170031025A priority Critical patent/KR102274204B1/en
Publication of KR20180104376A publication Critical patent/KR20180104376A/en
Application granted granted Critical
Publication of KR102274204B1 publication Critical patent/KR102274204B1/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/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer

Landscapes

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

Abstract

Disclosed is a method for processing a security function applicable to a software defined network (SDN) environment. The method for processing a security function of a network device comprises the steps of: transmitting a list of a security function supported by a network device to an SDN controller; receiving, from the SDN controller, an instruction of an application of the security function satisfying a security level required in accordance with at least one security or service level among terminals of a terminal-to-terminal path; and performing the security function satisfying the required security level as an end network device with respect to traffic of the terminal-to-terminal path. Accordingly, a high level of security can be achieved even without directly performing, by a terminal, a security function requiring a large amount of computing power by performing the security function (encryption and/or tunneling) in a network device (e.g. gateway) rather than the terminal.

Description

소프트웨어 정의 네트워크에서 보안 기능을 지원하는 방법 및 이를 위한 네트워크 장치 및 소프트웨어 정의 컨트롤러{Method for supporting security function in software defined network, and network apparatus and controller for the same}METHOD FOR SUPPORTING SECURITY FUNCTIONS IN A SOFTWARE DEFINED NETWORK, AND NETWORK DEVICE AND SOFTWARE DEFINED CONTROLLER FOR THE SAME

본 발명은 소프트웨어 정의 네트워크(SDN, Software-Defined Network)에 관한 것으로, 더욱 상세하게는 라우터, 스위치 또는 게이트웨이를 포함한 네트워크 장치와 SDN 컨트롤러로 구성된 SDN 환경에서 라우터, 스위치 및 게이트웨이 간에 전송되는 데이터를 암호화하고 터널링하여 전송하는 방법과 네트워크 장치 및 컨트롤러에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a software-defined network (SDN), and more particularly, to an apparatus and method for encrypting data transmitted between a router, a switch and a gateway in an SDN environment comprising a network device including a router, And to a network device and a controller.

최근 들어, 스위치의 트래픽 포워딩 기능(데이터 평면)과 스위치의 제어 기능(제어 평면)을 분리하여 통신 시스템을 효율적으로 운용하는 기술에 대한 표준화가 ONF(Open Networking Foundation), IETF(Internet Engineering Task Force), ETSI(European Telecommunications Standards Institute) ISG NFV(Network Function Virtualization) 및 ITU-T(International Telecommunications Union Telecommunication) 등을 중심으로 진행되고 있다.Recently, Open Networking Foundation (ONF), Internet Engineering Task Force (IETF), and Internet Engineering Task Force (IETF) have standardized on technologies to efficiently operate a communication system by separating the traffic forwarding function (data plane) , European Telecommunications Standards Institute (ETSI) ISG Network Function Virtualization (NFV), and International Telecommunications Union Telecommunication (ITU-T).

소프트웨어 정의 네트워킹(SDN: Software Defined Network)은 라우터나 스위치 등의 기본 네트워크 장치에 관계없이 사용자가 통제 권한을 가지며, 별도의 컨트롤러가 트래픽 흐름을 제어하는 사용자 중심의 네트워크를 의미한다.Software Defined Network (SDN) refers to a user-centric network in which a user has control over a basic network device such as a router or a switch, and a separate controller controls traffic flow.

특히, SDN은 기존의 일체형 네트워크에서 제어 평면(Control Plane)과 데이터 평면(Data Plane)을 분리하여 추상화(abstraction)함으로써 소프트웨어 프로그래밍이 가능한 중앙 집중식 제어(centralized control)를 제공할 수 있다. In particular, SDN can provide software programmable centralized control by separating control planes and data planes from existing integrated networks and abstraction.

SDN에서는 네트워크 장치들 간의 토폴로지 구성이 완료된 후 새로운 플로우가 유입되면 컨트롤러에게 해당 플로우를 어떻게 포워딩 할 것인지를 문의하게 되고, 컨트롤러는 해당 플로우에 대한 포워딩 정책을 네트워크 장치들에게 내려주게 된다. In SDN, after a topology configuration between network devices is completed, a new flow is inquired to the controller about how to forward the flow, and the controller sends the forwarding policy for the flow to the network devices.

이때 네트워크 장치는 네트워크 장치들 간의 통신에서 터널링이나 가상 네트워크 기능을 활용하여 다른 네트워크와 분리함으로써 보안성 향상을 추구한다. 좀 더 강력한 보안을 위하여 단말과 서버간에 SSL/TLS 기술을 활용하여 종단-대-종단(end-to-end) 보안이 되도록 하지만, 이러한 방법은 사용자 단말에 대해 많은 컴퓨팅 파워를 요구하게 되는 단점이 된다. At this time, the network device seeks to improve the security by separating the network devices from other networks by utilizing the tunneling function or the virtual network function in the communication between the network devices. End-to-end security using SSL / TLS technology between the terminal and the server for more robust security, but this method requires a lot of computing power for the user terminal do.

또한, IP단에서 보호된 통신을 위하여 IPSec 통신을 수행하기도 하지만, 성능 저하 문제로 많이 활용되지 못하는 경우가 발생하게 된다.In addition, although IPSec communication is performed for IP-protected communication, there are cases where the IPSec communication is not widely used because of performance degradation.

상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 단말에서 많은 컴퓨팅 파워가 요구되는 무거운 보안 기능이 수행되지 않아도 높은 수준의 보안이 가능하도록 하는, 소프트웨어 정의 네트워크 컨트롤러의 보안 기능 처리 방법을 제공하는데 있다.According to an aspect of the present invention, there is provided a method of processing a security function of a software defined network controller, which enables a high level of security even when a heavy security function requiring a large amount of computing power is not performed in a terminal have.

상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 단말에서 많은 컴퓨팅 파워가 요구되는 무거운 보안 기능이 수행되지 않아도 높은 수준의 보안이 가능하도록 하는, 네트워크 장치의 보안 기능 처리 방법을 제공하는데 있다.Another object of the present invention is to provide a method of processing a security function of a network device that enables a high level of security even when a heavy security function requiring a large amount of computing power is not performed in a terminal .

상기와 같은 문제점을 해결하기 위한 본 발명의 또 다른 목적은, 단말에서 많은 컴퓨팅 파워가 요구되는 무거운 보안 기능이 수행되지 않아도 높은 수준의 보안이 가능하도록 하는, 소프트웨어 정의 네트워크 환경의 보안 기능 처리 방법을 제공하는데 있다.Another object of the present invention is to provide a security function processing method of a software defined network environment that enables a high level of security even when a heavy security function requiring a large amount of computing power is not performed in a terminal, .

상기 목적을 달성하기 위한 본 발명은, 소프트웨어 정의 네트워크(SDN, Software-Defined Network) 환경에서 단말-대-단말 경로에 보안 기능을 적용하기 위한, SDN 컨트롤러의 보안 기능 처리 방법을 제공한다. 이에 따른 SDN 컨트롤러의 보안 기능 처리 방법은, 상기 SDN 환경을 구성하는 적어도 하나의 네트워크 장치로부터 각 네트워크 장치가 지원하는 보안 기능의 목록을 수신하는 단계; 상기 수신된 보안 기능의 목록들에 기초하여, 상기 단말-대-단말 경로의 단말들 중 적어도 하나의 보안 또는 서비스 등급에 따라서 요구되는 보안 수준을 충족하는 보안 기능, 및 해당 보안 기능을 제공하는 종단 네트워크 장치들을 선택하는 단계; 및 상기 선택된 종단 네트워크 장치들에게, 상기 단말-대-단말 경로의 트래픽에 대하여, 상기 선택된 보안 기능의 적용을 지시하는 단계를 포함하여 구성될 수 있다.According to an aspect of the present invention, there is provided a method of processing a security function of an SDN controller for applying a security function to a terminal-to-terminal path in a Software-Defined Network (SDN) environment. A method of processing a security function of an SDN controller includes receiving a list of security functions supported by each network device from at least one network device constituting the SDN environment; A security function that satisfies a security level required according to the security or service class of at least one of the terminals in the terminal-to-terminal path based on the list of the received security functions, Selecting network devices; And instructing the selected end-point network devices to apply the selected security function to the traffic on the terminal-to-terminal path.

상기 보안 기능의 목록은 상기 각 네트워크 장치의 동작 개시 시점에 수신되거나, 상기 각 네트워크 장치의 동작 중에 주기적으로 수신될 수 있다.The list of security functions may be received at the start of operation of each of the network devices or periodically received during operation of each of the network devices.

상기 보안 기능의 목록은 LLDP(Link Layer Discovery Protocol)를 이용하여 수신되거나, 상기 SDN 컨트롤러와 상기 적어도 하나의 네트워크 장치 간에 정의된 메시지를 이용하여 수신될 수 있다.The list of security functions may be received using a Link Layer Discovery Protocol (LLDP) or received using a message defined between the SDN controller and the at least one network device.

상기 적어도 하나의 네트워크 장치는, 라우터(router), 스위치(switch) 또는 게이트웨이(gateway) 장치일 수 있다.The at least one network device may be a router, a switch, or a gateway device.

상기 보안 기능은 상기 단말-대-단말 경로의 트래픽에 적용되는 암호화(encryption) 및 터널링(tunneling) 중 적어도 하나를 포함할 수 있다.The security function may include at least one of encryption and tunneling applied to the traffic on the terminal-to-terminal path.

한편, 상기 선택된 종단 네트워크 장치의 변경 또는 상기 선택된 보안 기능의 변경이 필요한 경우, 상기 보안 기능의 목록을 수신하는 단계 또는 상기 보안 기능 및 상기 종단 네트워크 장치들을 선택하는 단계부터 다시 진행될 수 있다.On the other hand, if the change of the selected end-point network device or the change of the selected security function is required, the step of receiving the list of the security functions or the step of selecting the security function and the end-point network devices may be performed again.

상기 다른 목적을 달성하기 위한 본 발명은, 소프트웨어 정의 네트워크(SDN, Software-Defined Network) 환경에서 단말-대-단말 경로에 보안 기능을 적용하기 위한, 네트워크 장치의 보안 기능 처리 방법을 제공한다. 이에 따른 네트워크 장치의 보안 기능 처리 방법은, 상기 네트워크 장치가 지원하는 보안 기능의 목록을 상기 SDN 환경의 SDN 컨트롤러에게 전송하는 단계; 상기 SDN 컨트롤러로부터, 상기 단말-대-단말 경로의 단말들 중 적어도 하나의 보안 또는 서비스 등급에 따라서 요구되는 보안 수준을 충족하는 보안 기능의 적용을 지시 받는 단계; 및 상기 단말-대-단말 경로의 트래픽에 대하여, 상기 요구되는 보안 수준을 충족하는 보안 기능을 상기 단말-대-단말 경로에 대한 종단 네트워크 장치로서 수행하는 단계를 포함하여 구성될 수 있다.According to another aspect of the present invention, there is provided a method of processing a security function of a network device for applying a security function to a terminal-to-terminal path in a Software Defined Network (SDN) environment. The method comprising: transmitting a list of security functions supported by the network device to an SDN controller in the SDN environment; Receiving from the SDN controller application of a security function satisfying a security level required according to a security or service class of at least one of the terminals in the terminal-to-terminal path; And performing, as an end-point network device for the terminal-to-terminal path, a security function that satisfies the required security level for the traffic on the terminal-to-terminal path.

상기 보안 기능의 목록은 상기 네트워크 장치의 동작 개시 시점에 전송되거나, 상기 네트워크 장치의 동작 중에 주기적으로 전송될 수 있다.The list of security functions may be transmitted at the start of operation of the network device, or may be periodically transmitted during operation of the network device.

상기 보안 기능의 목록은 LLDP(Link Layer Discovery Protocol)를 이용하여 전송되거나, 상기 SDN 컨트롤러와 상기 네트워크 장치 간에 정의된 메시지를 이용하여 전송될 수 있다.The list of security functions may be transmitted using a Link Layer Discovery Protocol (LLDP), or may be transmitted using a message defined between the SDN controller and the network device.

상기 네트워크 장치는, 라우터(router), 스위치(switch) 또는 게이트웨이(gateway) 장치일 수 있다.The network device may be a router, a switch, or a gateway device.

상기 보안 기능은 상기 단말-대-단말 경로의 트래픽에 적용되는 암호화(encryption) 및 터널링(tunneling) 중 적어도 하나를 포함할 수 있다.The security function may include at least one of encryption and tunneling applied to the traffic on the terminal-to-terminal path.

한편, 상기 요구되는 보안 수준을 충족하는 보안 기능의 변경이 필요한 경우 또는 상기 네트워크 장치의 역할 또는 상태가 변경된 경우, 상기 보안 기능의 목록을 전송하는 단계 또는 상기 보안 기능의 적용을 지시 받는 진행하는 단계부터 다시 진행될 수 있다.When the security function satisfying the required security level is required or when the role or status of the network device is changed, a step of transmitting a list of the security functions or a step of instructing application of the security function Can be resumed.

상기 또 다른 목적을 달성하기 위한 본 발명은, 소프트웨어 정의 네트워크(SDN, Software-Defined Network) 환경에서 단말-대-단말 경로에 보안 기능을 적용하는 방법을 제공한다. 이에 따른 방법은, 적어도 하나의 네트워크 장치가, 각 네트워크 장치가 지원하는 보안 기능의 목록을 SDN 컨트롤러로 전송하는 단계; 상기 SDN 컨트롤러가, 상기 적어도 하나의 네트워크 장치들 중에서, 상기 단말-대-단말 경로의 단말들 중 적어도 하나의 보안 또는 서비스 등급에 따라서 요구되는 보안 수준을 충족하는 보안 기능 및 해당 보안 기능을 제공하는 종단 네트워크 장치들을 선택하는 단계; 상기 SDN 컨트롤러가, 상기 선택된 종단 네트워크 장치들에게, 상기 단말-대-단말 경로의 트래픽에 대하여, 상기 선택된 보안 기능의 적용을 지시하는 단계; 및 상기 종단 네트워크 장치로 선택된 네트워크 장치가, 상기 적용을 지시 받은 보안 기능을 상기 단말-대-단말 경로의 트래픽에 대하여 적용하는 단계를 포함하여 구성될 수 있다.According to another aspect of the present invention, there is provided a method of applying a security function to a terminal-to-terminal path in a Software Defined Network (SDN) environment. The method comprises the steps of: at least one network device transmitting to the SDN controller a list of security functions supported by each network device; Wherein the SDN controller provides a security function that satisfies a security level required according to a security or service class of at least one of terminals of the terminal-to-terminal path among the at least one network devices, Selecting end-to-end network devices; The SDN controller instructing the selected end-to-end network devices to apply the selected security function to traffic of the terminal-to-terminal path; And applying the security function instructed by the network device selected as the terminal device to the traffic of the terminal-to-terminal path.

상기 보안 기능의 목록은, 상기 적어도 하나의 네트워크 장치의 동작 개시 시점에 상기 SDN 컨트롤러로 전송되거나, 상기 적어도 하나의 네트워크 장치의 동작 중에 주기적으로 상기 SDN 컨트롤러에 전송되거나, 상기 SDN 컨트롤러의 요청에 기초하여 상기 SDN 컨트롤러로 전송될 수 있다.Wherein the list of security functions is transmitted to the SDN controller at the start of operation of the at least one network device or periodically transmitted to the SDN controller during operation of the at least one network device, And transmitted to the SDN controller.

상기 보안 기능의 목록은 LLDP(Link Layer Discovery Protocol)를 이용하여 전송되거나, 상기 SDN 컨트롤러와 상기 적어도 하나의 네트워크 장치 간에 정의된 메시지를 이용하여 전송될 수 있다.The list of security functions may be transmitted using a Link Layer Discovery Protocol (LLDP) or transmitted using a message defined between the SDN controller and the at least one network device.

상기 적어도 하나의 네트워크 장치는, 라우터(router), 스위치(switch) 또는 게이트웨이(gateway) 장치일 수 있다.The at least one network device may be a router, a switch, or a gateway device.

상기 보안 기능은 상기 단말-대-단말 경로의 트래픽에 적용되는 암호화(encryption) 및 터널링(tunneling) 중 적어도 하나를 포함할 수 있다.The security function may include at least one of encryption and tunneling applied to the traffic on the terminal-to-terminal path.

한편, 상기 선택된 종단 네트워크 장치의 변경 또는 상기 선택된 보안 기능의 변경이 필요한 경우, 상기 보안 기능의 목록을 SDN 컨트롤러로 전송하는 단계 또는 상기 보안 기능의 적용을 지시하는 단계부터 다시 진행될 수 있다.On the other hand, if the change of the selected end-point network device or the change of the selected security function is required, the step of transmitting the list of security functions to the SDN controller or the step of instructing application of the security function may be performed again.

여기에서, 상기 선택된 종단 네트워크 장치의 변경이 필요한 경우는, 상기 선택된 종단 네트워크 장치로 동작하던 네트워크 장치에 오류가 발생된 경우, 동작이 중단된 경우, 및 부하가 커진 경우 중 적어도 하나일 수 있다.Here, when the selected end-point network device needs to be changed, it may be at least one of a case where an error has occurred in the network device operating as the selected end-point network device, a case where the operation is interrupted, and a case where the load becomes large.

여기에서, 상기 선택된 보안 기능의 변경이 필요한 경우는, 상기 단말-대-단말 경로의 적어도 하나의 단말의 보안 기능 요구 수준이 변경된 경우일 수 있다.Here, when the selected security function needs to be changed, it may be the case that the security functional requirement level of at least one terminal in the terminal-to-terminal path is changed.

상기와 같은 본 발명에 따른 보안 기능 처리 방법으로 이용할 경우, 단말이 아닌 네트워크 단(예컨대, 게이트웨이)에서 보안기능(암호화 및/또는 터널링)를 수행하도록 함으로써, 단말에서 무거운 보안 기능이 수행되지 않아도 높은 수준의 보안을 달성할 수 있다. 한편, 단말 수준에서 보안 기능을 병행하여 수행할 경우에도 트래픽의 전달을 담당하는 네트워크 장치 수준에서의 보안 기능 수준이 추가로 수행될 수 있으므로 더 강력한 수준의 보안을 달성할 수 있다. In the security function processing method according to the present invention as described above, a security function (encryption and / or tunneling) is performed at a network end (for example, a gateway) rather than a terminal so that even if a heavy security function is not performed in the terminal, Level security can be achieved. On the other hand, even when the security function is performed concurrently at the terminal level, the level of security function at the level of the network device responsible for the traffic transfer can be further performed, so that a stronger level of security can be achieved.

따라서, 본 발명에 따른 방법들은 단말-서버, 단말-서버-단말, 서버-서버와 같은 형태로 이루어지는 네트워크 전송에서 사용자의 보안에 대한 고민을 줄여 줄 수 있으며, 사용자의 권한이나 패킷의 종류에 따라 차등화된 암호 정책 적용이 가능하게 되고, 필요에 의한 동적인 보안 기능의 설정까지 가능하게 된다.Therefore, the methods according to the present invention can reduce the worry about the security of the user in network transmission in the form of terminal-server, terminal-server-terminal, server-server, It is possible to apply a differentiated password policy, and to set a dynamic security function according to need.

또한, 암호화나 터널링 등이 필요한 경우 네트워크 장치들을 관장하는 SDN 컨트롤러가 이러한 기능설정이 가능하도록 함으로써 소프트웨어 정의 네트워크의 특정 구간 혹은 특정 게이트웨이들 사이에서 보안 서비스를 동적으로 제공하는 것이 가능해진다.In addition, when encryption or tunneling is required, the SDN controller that manages network devices enables such function setting, thereby making it possible to dynamically provide security services between specific gateways or specific gateways of a software defined network.

도 1은 본 발명의 실시예들에 따른 보안 기능 처리 방법이 적용될 수 있는 SDN 환경을 설명하기 위한 개념도이다.
도 2는 본 발명의 일 실시예에 따른 SDN 환경에서의 보안 처리 방법에서 보안 기능 목록 정보 수집 절차를 설명하기 위한 개념도이다.
도 3은 본 발명의 일 실시예에 따른 SDN 환경에서의 보안 처리 방법에서 보안 기능 적용 지시 절차를 설명하기 위한 개념도이다.
도 4는 본 발명의 일 실시예에 따른 SDN 환경에서의 보안 처리 방법에서 보안 기능 적용의 다른 예를 설명하기 위한 개념도이다.
도 5는 본 발명의 일 실시예에 따른 SDN 환경에서의 보안 처리 방법을 지원하는 SDN 컨트롤러의 동작 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 SDN 환경에서의 보안 처리 방법을 지원하는 네트워크 장치의 동작 방법을 설명하기 위한 흐름도이다.
1 is a conceptual diagram for explaining an SDN environment to which a security function processing method according to embodiments of the present invention can be applied.
2 is a conceptual diagram for explaining a security function list information collection procedure in a security processing method in an SDN environment according to an embodiment of the present invention.
3 is a conceptual diagram illustrating a security function application instruction procedure in a security processing method in an SDN environment according to an embodiment of the present invention.
4 is a conceptual diagram for explaining another example of security function application in the security processing method in the SDN environment according to an embodiment of the present invention.
5 is a flowchart illustrating an operation method of an SDN controller supporting a security processing method in an SDN environment according to an embodiment of the present invention.
6 is a flowchart illustrating an operation method of a network device supporting a security processing method in an SDN environment according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. The terms first, second, A, B, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.

이하, 본 명세서에서 사용되는 용어를 간략히 정리하면 다음과 같다. Hereinafter, terms used in this specification will be briefly summarized as follows.

'컨트롤러'는 SDN 컨트롤러(SDN controller)로, 트래픽의 흐름을 제어하기 위해 관련 구성 요소(예를 들면, 스위치, 라우터 등)를 제어하는 기능 요소(entity)를 의미할 수 있다. A controller is an SDN controller and may refer to an entity that controls an associated component (e.g., a switch, a router, etc.) to control the flow of traffic.

또한, 컨트롤러는 물리적인 구현 형태나 구현 위치 등에 의해 한정되지 않는다. 예를 들어, 컨트롤러는 ONF(OpenFlow), IETF(Internet Engineering Task Force), ETSI(European Telecommunication Standards Institute) 및/또는 ITU-T(International Telecommunication Union Telecommunication) 등에서 정의하고 있는 컨트롤러 기능 요소(entity)를 의미할 수 있다. Further, the controller is not limited by the physical implementation form or the location of the implementation. For example, the controller means a controller functional entity defined by ONF (OpenFlow), IETF (Internet Engineering Task Force), ETSI (International Telecommunication Standards Institute) and / or ITU-T (International Telecommunication Union Telecommunication) can do.

'네트워크 장치'는 '스위치(switch)', '라우터(router)' 또는 '게이트웨이(gateway)'와 같이 트래픽(또는 패킷)을 실질적으로 포워딩하거나 스위칭 또는 라우팅하는 기능 요소를 의미할 수 있다. 따라서, 본 명세서에서 네트워크 장치는 스위치 또는 라우터로 명명될 수도 있다. A "network device" may refer to a functional element that substantially forwards, switches or routes traffic (or packets), such as a 'switch', a 'router' or a ' Thus, the network device may be referred to herein as a switch or a router.

예를 들어, 네트워크 장치는 ONF, IETF, ETSI 및/또는 ITU-T 등에서 정의하고 있는 스위치, 라우터, 스위치 요소(Switching Element), 라우터 요소(Routing Element), 포워딩 요소(Forwarding Element) 등을 의미할 수 있다.For example, a network device means a switch, a router, a switching element, a routing element, and a forwarding element defined in ONF, IETF, ETSI and / or ITU-T .

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시예들에 따른 보안 기능 처리 방법이 적용될 수 있는 SDN 환경을 설명하기 위한 개념도이다.1 is a conceptual diagram for explaining an SDN environment to which a security function processing method according to embodiments of the present invention can be applied.

도 1을 참조하면, SDN 환경에서는 데이터를 상호 교환하는 단말들(10, 40)과 이들 간을 연결하는 라우터 또는 스위치들(11~14, 31~34) 및 게이트웨이 장치(20, 30), 상기 라우터/스위치/게이트웨이 장치를 중앙집중 관리하는 SDN 컨트롤러(100)가 존재하게 된다. Referring to FIG. 1, in the SDN environment, terminals 10 and 40 exchanging data, routers or switches 11 through 14 and 31 through 34 connecting them, gateway devices 20 and 30, There is an SDN controller 100 that centrally manages router / switch / gateway devices.

SDN 환경에서 SDN 컨트롤러(100)는 상기 네트워크 장치들(11~14, 31~34, 20, 30)을 중앙 집중 관리할 수 있다. 도 1에서는, SDN 컨트롤러(100)과 게이트웨이 장치들(20, 30) 간에만 연결 관계가 존재하는 것으로 도시되어 있으나, SDN 컨트롤러(100)는 라우터 또는 스위치들(11~14, 31~34)과도 연결 관계를 가진다. 이하에서, 라우터/스위치/게이트웨이 장치는 트래픽(또는 패킷)을 실질적으로 포워딩하거나 스위칭 또는 라우팅하는 구성요소들로서, 설명의 편의 상 '네트워크 장치'로 통칭된다. 또한, 이하의 설명에서 게이트웨이 장치(20, 30)의 동작으로 기술되는 부분에 대해서는, 라우터 또는 스위치들(11~14, 31~34)에 대해서도 적용될 수 있음에 유의하여야 한다.In the SDN environment, the SDN controller 100 can centrally manage the network devices 11 to 14, 31 to 34, 20 and 30. 1, a connection relationship exists only between the SDN controller 100 and the gateway devices 20 and 30. However, the SDN controller 100 is connected to the routers or the switches 11 to 14 and 31 to 34 Have a connection relationship. In the following, a router / switch / gateway device is a component that substantially forwards, switches, or routes traffic (or packets) and is collectively referred to as a " network device " It should be noted that the parts described in the operation of the gateway apparatuses 20 and 30 in the following description can also be applied to the routers or the switches 11-14 and 31-34.

또한, 단말들(10, 40) 중 적어도 하나의 단말은 상대 단말에 대한 서비스를 제공한다는 의미에서 서버(server), 예컨대, 컨텐츠 서버 등으로 구성될 수도 있다. 즉, 도 1에서 사용된 단말은 데이터 교환의 종단을 의미한다는 의미에서의 단말로 호칭되는 것일 뿐, 단말-서버 구조에서의 단말을 한정적으로 지칭하는 것은 아니다.Also, at least one of the terminals 10 and 40 may be configured as a server, for example, a content server, in the sense of providing a service for a counterpart terminal. That is, the terminal used in FIG. 1 is referred to as a terminal in the meaning of the termination of data exchange, and is not limited to terminals in the terminal-server structure.

SDN 환경이 아닌, 종래 기술의 네트워크 환경에서는 중앙 집중 제어를 수행하는 SDN 컨트롤러(100)가 존재하지 않는다. 따라서, 패킷 전달을 위한 네트워크 장치들(기존 스위치/라우터/게이트웨이 장치들)은 각각의 인터페이스에 할당된 IP 주소를 가지고 분산적으로 운용되며, 자율적인 라우팅 프로토콜을 이용하여 주변 네트워크 장치들과 통신함으로써 패킷들에 대한 포워딩 경로를 설정하게 된다. In the prior art network environment other than the SDN environment, there is no SDN controller 100 that performs centralized control. Accordingly, the network devices (existing switch / router / gateway devices) for packet transmission are distributedly operated with the IP addresses allocated to the respective interfaces, and communicate with peripheral network devices using an autonomous routing protocol The forwarding path for the packets is set.

반면, 도 1에서 예시된 바와 같은, SDN 환경에서는 네트워크 장치들 간의 토폴로지(topology) 구성이 완료된 후(예컨대, LLDP(Link Layer Discovery Protocol) 등의 프로토콜을 이용), 새로운 플로우(flow)의 패킷이 유입되면 네트워크 장치는 SDN 컨트롤러(100)에게 해당 플로우를 어떻게 포워딩 할 것인지를 문의하게 되고(packet_in), 컨트롤러는 해당 플로우에 대한 포워딩 정책(즉, 포워딩 룰(forwarding rule))을 네트워크 장치에게 내려주게 된다. 예컨대, 오픈 플로우(OpenFlow) 기반의 SDN 컨트롤러와 네트워크 장치의 경우, 네트워크 장치의 플로우 테이블(flow table)에 플로우 엔트리(flow entry)를 추가(add) 또는 수정(modify)하는 것에 의해서 포워딩 룰이 설정될 수 있다.On the other hand, in the SDN environment as illustrated in FIG. 1, after a topology configuration between network devices is completed (for example, using a protocol such as LLDP (Link Layer Discovery Protocol)), a packet of a new flow Upon ingestion, the network device asks the SDN controller 100 how to forward the flow (packet_in), and the controller sends a forwarding policy (i.e., a forwarding rule) to the network device do. For example, in the case of SDN controllers and network devices based on OpenFlow, a forwarding rule is set by adding or modifying a flow entry to a flow table of a network device. .

한편, 상술된 SDN 환경에서, 단말(10)과 단말(40)이 교환하는 데이터에 대한 보안(security)은 하기와 같은 방법들 중 하나 또는 둘 이상의 방법의 조합으로 구현될 수 있다.Meanwhile, in the above-described SDN environment, the security of data exchanged between the terminal 10 and the terminal 40 can be implemented by one or more of the following methods.

첫째로, 네트워크 장치들은 네트워크 장치들 간의 통신에서 터널링(tunneling)이나 가상 네트워크(virtual network) 기능을 활용하여 다른 네트워크와 분리함으로써 보안성 향상을 추구할 수 있다.First, network devices can seek security enhancement by separating them from other networks by utilizing tunneling or virtual network functions in communication between network devices.

둘째로, 더 강력한 보안을 위하여 단말(10)과 단말(40) 간에 SSL(Security Sockets Layer) 또는 TLS(Transport Layer Security) 기술을 활용하여 종단-대-종단(end-to-end) 보안을 달성할 수 있다. 그러나, 이러한 방법은 단말들(10, 40) 대해 많은 컴퓨팅 파워(computing power)를 요구하게 되는 단점이 있다. 따라서, 컴퓨팅 파워가 약한 모바일 단말이나 소형 단말의 경우, 이와 같은 방법의 적용은 어려움이 있을 수 있다.Second, end-to-end security is achieved using SSL (Secure Sockets Layer) or TLS (Transport Layer Security) technology between the terminal 10 and the terminal 40 for stronger security can do. However, this method has a disadvantage in that it requires a large amount of computing power for the terminals 10 and 40. Accordingly, in the case of a mobile terminal or a small terminal having weak computing power, the application of such a method may be difficult.

셋째로, 더 강력한 보안을 위하여, 양 종단의 단말들(10, 40)의 IP단에서 IPSec(IP security Protocol) 통신을 수행할 수 있다. 그러나, 이 또한 성능 저하 문제로 활용의 제약이 많은 방안이다.Third, for stronger security, IPSec (IP security protocol) communication can be performed at the IP terminals of the terminals 10 and 40 at both ends. However, this is also a problem of performance degradation.

따라서, 본 발명의 실시예에서는, 상기한 보안 처리 방법들의 문제점을 해결하기 위해서 단말들(10, 40)이 아닌 네트워크 단에서 암호화를 수행하도록 함으로써, 단말들에서 높은 컴퓨팅 파워와 복잡한 절차의 수행을 요구하는 보안 기능을 직접 수행하지 않아도, 동일하거나 더 높은 수준의 보안이 가능하도록 하는 보안 처리 방법을 제공한다.Therefore, in the embodiment of the present invention, in order to solve the problem of the above-described security processing methods, encryption is performed at the network end rather than at the terminals 10 and 40 so that high computing power and complicated procedures are performed in the terminals It provides a security processing method that enables the same or higher level of security without requiring the required security function directly.

먼저, SDN 컨트롤러(100)와 네트워크 장치(20, 30)의 연계 동작에 대해서 도 2 내지 도 4를 참조하여 본 발명의 실시예를 설명한다. 앞서 언급된 바와 같이, 설명의 편의를 위하여, 이하의 기술(description)에서는 네트워크 장치들 중 게이트웨이 장치들(20, 30)과 SDN 컨트롤러(100) 간의 동작으로 실시예를 설명하나, SDN 컨트롤러(100)가 게이트웨이 장치들(20, 30)이 아닌 라우터 또는 스위치(11~14, 31~34)와 연동하여 동작하는 실시예도 가능하다. 예컨대, 라우터 또는 스위치 또한 단말-대-단말 경로의 종단으로서 기능할 수 있다면 본 발명의 적용대상이 될 수 있다. First, an operation of the SDN controller 100 and the network devices 20 and 30 will be described with reference to FIGS. 2 to 4. FIG. As described above, for convenience of description, in the following description, an embodiment will be described by an operation between the gateway devices 20 and 30 of the network devices and the SDN controller 100, but the SDN controller 100 May operate in conjunction with the routers or switches 11 to 14 and 31 to 34 instead of the gateway devices 20 and 30. For example, a router or switch may also be an application of the present invention if it can also function as an end-to-end terminal path.

도 2는 본 발명의 일 실시예에 따른 SDN 환경에서의 보안 처리 방법에서 보안 기능 목록 정보 수집 절차를 설명하기 위한 개념도이다. 2 is a conceptual diagram for explaining a security function list information collection procedure in a security processing method in an SDN environment according to an embodiment of the present invention.

도 2를 참조하면, 단말(10, 40), 네트워크 장치들(11~14, 20, 30, 31~34) 및 SDN 컨트롤러(100)가 존재하는 SDN 환경에서, 모든 네트워크 장치들(네트워크 장치(20, 30) 포함)는 SDN 컨트롤러(100)의 중앙 집중 제어(centralized control)를 받게 된다.2, in the SDN environment in which the terminals 10 and 40, the network devices 11 to 14, 20, 30 and 31 to 34 and the SDN controller 100 exist, all the network devices 20, and 30) are subjected to centralized control of the SDN controller 100.

본 발명의 일 실시예에서, SDN 컨트롤러(100)는 단말(10)과 단말(40) 간의 특정 플로우/패킷에 대해서 보안 기능의 적용이 필요한 경우(이는, 단말(10, 40) 중 적어도 하나의 요청 또는 SDN 컨트롤러(100)의 결정에 따라 적용 여부를 결정할 수 있음), 게이트웨이 장치(20)에서 암호화(encryption) 기능을 수행하도록 하고 게이트웨이 (30)에서 복호화(decryption) 기능을 수행하도록 할 수 있다. 즉, 네트워크 장치들(11~14, 20, 30, 31~34)에서 게이트웨이(20, 30)가 종단 게이트웨이로서 기능하는 것을 의미한다.In an embodiment of the present invention, the SDN controller 100 may be configured such that when a security function needs to be applied to a specific flow / packet between the terminal 10 and the terminal 40 Request or SDN controller 100 according to the decision of the SDN controller 100), the gateway device 20 may perform an encryption function and the gateway 30 may perform a decryption function . That is, it means that the gateways 20 and 30 function as an end gateway in the network devices 11 to 14, 20, 30 and 31 to 34.

예컨대, 보안 기능과 관련하여 어떤 암호화/복호화 알고리즘을 적용할 것인지 결정하는 것과 암호화/복호화를 위한 키(key) 관리 등은 SDN 컨트롤러(100)에서 수행하도록 구성될 수 있다.For example, the SDN controller 100 may be configured to determine which encryption / decryption algorithm is to be applied in connection with the security function and key management for encryption / decryption.

수행되어야 할 보안 기능(예컨대, 암호화)는 플로우/패킷의 종류 혹은 단말(10, 40)(또는, 단말 사용자)의 권한과 서비스 또는 보안 등급 등에 따라 다르게 적용하는 것이 가능하다. 이를 위하여 네트워크 장치들은 동작 개시 후 SDN 컨트롤러(100)에게 각자가 지원 가능한 보안 기능들에 대해서 통지하는 과정을 진행하게 된다. 예컨대, 각각의 게이트웨이 장치(20 및 30)는 자신이 서비스할 수 있는 보안 기능을 포함하는 보안 기능 목록(220, 230)을 SDN 컨트롤러(100)에게 전송할 수 있다. The security function (for example, encryption) to be performed can be applied differently depending on the type of the flow / packet or the rights of the terminals 10 and 40 (or terminal users) and the service or security level. To this end, the network devices proceed to notify the SDN controller 100 of security functions that can be supported by the SDN controller 100 after the operation starts. For example, each of the gateway devices 20 and 30 may transmit a list of security functions 220 and 230 to the SDN controller 100 including a security function that can be serviced by the gateway devices 20 and 30.

도 1에서 예시된 구성에서는, 게이트웨이 장치들(20, 30)이 동작 개시(예컨대, 부팅(booting) 또는 초기화(initialization) 과정) 시점에 SDN 컨트롤러(100)에게 보안 기능 목록을 제공하는 것으로 각각 도시되어 있다. 그러나, 상기 보안 기능 목록은 게이트웨이 장치들로부터 SDN 컨트롤러(100)로 미리 정해진 주기에 따라 또는 동적으로 변경되는 주기에 따라 전송될 수도 있다. 또한, 각 게이트웨이 장치는 자신이 지원하는 보안 기능의 변경이 발생되는 시점이나 특정 이벤트(event)가 발생된 경우에 SDN 컨트롤러(100)에게 해당 정보를 제공할 수도 있다. 또한, 각 게이트웨이 장치는 SDN 컨트롤러(100)로부터 각자의 보안 기능 목록의 제공을 요청 받고, 해당 요청에 기반하여 보안 기능 목록을 SDN 컨트롤러(100)에게 제공할 수도 있다. In the configuration illustrated in FIG. 1, the gateway devices 20 and 30 provide a list of security functions to the SDN controller 100 at the time of starting operation (e.g., booting or initialization) . However, the list of security functions may be transmitted from the gateway devices to the SDN controller 100 according to a predetermined period or a period that is dynamically changed. In addition, each gateway device may provide the corresponding information to the SDN controller 100 when a change of the security function supported by the gateway device occurs or when a specific event occurs. In addition, each gateway device is requested to provide its own security function list from the SDN controller 100, and may provide the SDN controller 100 with a list of security functions based on the request.

한편, 상술된 보안 기능 목록(220, 230)은 앞서 언급된 네트워크 토폴로지 생성을 위해 사용되는 LLDP 등의 기존 프로토콜에 정의된 확장 필드(extension field) 또는 유보 필드(reserved field)를 이용하거나, SDN 컨트롤러(100)와 게이트웨이(20, 30) 간에 별도로 정의된 메시지(예컨대, Openflow message)를 이용하여 전송될 수 있다. The security function lists 220 and 230 described above may use extension fields or reserved fields defined in existing protocols such as the LLDP used for generating the network topology mentioned above, (E.g., an Openflow message) defined between the gateway 100 and the gateway 20,30.

도 3은 본 발명의 일 실시예에 따른 SDN 환경에서의 보안 처리 방법에서 보안 기능 적용 지시 절차를 설명하기 위한 개념도이다. 3 is a conceptual diagram illustrating a security function application instruction procedure in a security processing method in an SDN environment according to an embodiment of the present invention.

도 3을 참조하면, SDN 컨트롤러(100)는 양 게이트웨이(20, 30)로부터 수신한 보안 기능 목록(220, 230)을 활용하여 양 게이트웨이(20, 30)가 모두 지원이 가능한 보안 기능 중에서 단말(10, 40)의 요구 수준(권한 또는 보안 등급)에 맞는 보안 기능(예컨대, 암호화/복호화)을 적용할 것을 게이트웨이(20, 30)에게 지시할 수 있다(320, 330). 3, the SDN controller 100 uses the security function lists 220 and 230 received from the gateways 20 and 30 to select one of the security functions supported by both the gateways 20 and 30 (320, 330) to apply a security function (e.g., encryption / decryption) that matches the desired level (authority or security level)

즉, SDN 컨트롤러(100)는 여러 네트워크 장치들로부터 수신한 보안 기능 목록 정보를 바탕으로 단말(10, 40)(또는, 단말(10, 40)의 사용자)의 보안/서비스 등급에 따라서, 요구 수준을 충족 가능한 보안 기능과, 여러 네트워크 장치들 중 선택된 보안 기능을 충족 가능한, 단말(10, 40) 간의 트래픽/패킷 전달 경로(300) 상에 위치한 게이트웨이들(20, 30)에게 보안 기능의 적용을 지시할 수 있다.That is, the SDN controller 100 determines the security level according to the security / service level of the terminals 10 and 40 (or the users of the terminals 10 and 40) based on the security function list information received from the various network devices, The application of the security function to the gateways 20 and 30 located on the traffic / packet delivery path 300 between the terminals 10 and 40 that can satisfy the security function capable of satisfying the selected security function among the various network devices You can tell.

한편, 양 게이트웨이 장치(20, 30)가 지원하는 보안 기능에 차이가 발생할 경우는, SDN 컨트롤러(100)는 양 게이트웨이 장치(20, 30)가 공통적으로 지원하는 보안 기능들 중에서 단말(10, 40)의 권한 또는 보안 등급에 맞는 가장 높은 수준의 보안 기능을 선택할 수도 있다. 그러나, 이는 하나의 예시일뿐, 미리 설정된 정책에 따라서 SDN 컨트롤러(100)는 공통적으로 지원하는 보안 기능들 중 가장 낮은 수준의 보안 기능을 선택하거나, 보안 기능을 지원할 종단 게이트웨이를 재선정하는 절차를 진행할 수도 있을 것이다.On the other hand, when there is a difference in the security functions supported by the gateway devices 20 and 30, the SDN controller 100 determines whether the security functions supported by both the gateway devices 20 and 30 ) Or the security level of the highest level that meets the security level. However, this is only an example. Depending on the preset policy, the SDN controller 100 may select the lowest level security function among security functions that are commonly supported or may perform a procedure for re-selecting an end gateway to support the security function There will be.

양 게이트웨이 장치(20, 30)는 SDN 컨트롤러(100)가 적용을 지시한 보안 기능에 따라서, 지시된 암호화/복호화 알고리즘으로 단말들(10, 40) 간의 트래픽/패킷에 대한 암호화/복호화를 수행할 수 있다. 또한, 필요한 경우, 게이트웨이 장치들(10, 30)은 양자 간에 터널링 기능을 수행할 수도 있다.Both gateway devices 20 and 30 perform encryption / decryption of traffic / packets between the terminals 10 and 40 using the indicated encryption / decryption algorithm according to the security function that the SDN controller 100 instructs to apply . Further, if necessary, the gateway devices 10 and 30 may perform a tunneling function between them.

도 4는 본 발명의 일 실시예에 따른 SDN 환경에서의 보안 처리 방법에서 보안 기능 적용의 다른 예를 설명하기 위한 개념도이다. 4 is a conceptual diagram for explaining another example of security function application in the security processing method in the SDN environment according to an embodiment of the present invention.

한편, 단말(10)과 단말(40) 간의 트래픽/패킷 전달 경로 상에 SDN 컨트롤러(100)의 제어를 받지 않는 게이트웨이가 존재할 수 있다. 이 경우, SDN 컨트롤러(100)는 보안 기능에 대해서 자신의 제어를 받는 게이트웨이 장치를 거쳐서 단말들(10, 40) 간에 트래픽이 전달될 수 있도록 경로를 재설정할 수도 있다.On the other hand, there may be a gateway that is not under the control of the SDN controller 100 on the traffic / packet transmission path between the terminal 10 and the terminal 40. In this case, the SDN controller 100 may reestablish the path so that traffic can be transferred between the terminals 10 and 40 via the gateway device under its control of the security function.

도 4를 참조하면, 단말(10)이 단말(40)과 연결되는 구조에서 단말(40)과 연결된 게이트웨이 장치(60)가 SDN 컨트롤러(100)의 제어를 받지 않는 경우, SDN 컨트롤러(100)는 해당 게이트웨이 장치(60)를 포함한 경로로는 보안 기능의 적용이 필요한 트래픽의 전송이 이루어지지 않도록 하기 위하여 다른 경로(게이트웨이 장치 20과 30이 종단으로 구성된 경로)를 선택할 수 있다. 여기에서, 게이트웨이 장치(60)가 SDN 컨트롤러(100)의 제어를 받지 않는다는 의미는, 게이트웨이 장치(60)가, 도 2 및 도 3을 참조하여 설명된 보안 기능 목록 정보의 수집 절차나 SDN 컨트롤러(100)로부터 적용될 보안 기능의 지시를 수신하는 것이 불가능한 네트워크 장치인 경우를 의미한다.4, when the gateway device 60 connected to the terminal 40 is not under the control of the SDN controller 100 in the structure in which the terminal 10 is connected to the terminal 40, the SDN controller 100 The path including the gateway device 60 and the gateway device 60 may be selected by another path (the path composed of the gateway devices 20 and 30) in order to prevent the transmission of the traffic requiring the security function. Here, the meaning that the gateway device 60 is not under the control of the SDN controller 100 means that the gateway device 60 can collect the security function list information described with reference to Figs. 2 and 3 or the SDN controller 100 is a network device that is unable to receive an indication of a security function to be applied.

한편, SDN 컨트롤러(100)의 제어를 받는 두 종단 게이트웨이(20, 30)간에 설정된 경로에 SDN 컨트롤러(100)의 제어에 있지 않은 게이트웨이(50)가 있는 경우 SDN 컨트롤러(100)의 제어를 받는 두 종단 게이트웨이들(20, 30) 간에 터널이 구성되도록 할 수 있다.On the other hand, when there is a gateway 50 not under the control of the SDN controller 100 in the path set between the two end gateways 20 and 30 under the control of the SDN controller 100, So that the tunnel is configured between the end gateways 20 and 30.

상술된 종단 게이트웨이의 변경은 트래픽 전송 중간 또는 트래픽의 전송 개시 시점에 새로운 보안 방식을 사용하거나, 더 높은 보안 수준으로 변경하는 경우에도 적용이 가능하다.The above-described change of the end gateway can be applied to a case where a new security method is used at the time of starting the transmission of traffic or at the time of start of transmission of traffic, or when the security is changed to a higher security level.

또한, 도 2를 통해서 설명된 보안 기능 목록 정보의 수집 절차에서 보안 기능 목록을 참조하였을 때, 요구되는 수준의 보안 기능을 지원하도록 종단 게이트웨이 장치의 변경이 필요할 경우에도 상술된 절차의 적용이 가능하다. 예컨대, 게이트웨이(20)과 게이트웨이(30)가 단말(10)과 단말(40) 간의 종단 게이트웨이로 설정된 상태에서, 요구되는 수준의 보안기능을 게이트웨이(30)이 충족하지 못하는 경우, 요구되는 수준의 보안 기능을 지원하는 게이트웨이로 종단 게이트웨이를 변경하는 것도 가능하다.In addition, when the security function list is referred to in the collection procedure of the security function list information described in FIG. 2, it is possible to apply the above-described procedure even when the end gateway device needs to be changed to support the required level of security function . For example, when the gateway 20 and the gateway 30 are set as the end gateway between the terminal 10 and the terminal 40, and the gateway 30 does not satisfy the required level of security function, It is also possible to change the end gateway to a gateway that supports security functions.

이하에서는, 상기 도 2 및 도 3을 통하여 설명된 SDN 컨트롤러와 네트워크 장치의 연계 동작을 실현하기 위해서, SDN 컨트롤러와 네트워크 장치 각각에서 수행되는 본 발명의 실시예에 따른 SDN 컨트롤러의 동작 방법 및 네트워크 장치의 동작 방법을 설명한다.Hereinafter, in order to realize the linking operation between the SDN controller and the network device described with reference to FIG. 2 and FIG. 3, an operation method of the SDN controller according to the embodiment of the present invention, which is performed in each of the SDN controller and the network device, Will be described.

도 5는 본 발명의 일 실시예에 따른 SDN 환경에서의 보안 처리 방법을 지원하는 SDN 컨트롤러의 동작 방법을 설명하기 위한 흐름도이다.5 is a flowchart illustrating an operation method of an SDN controller supporting a security processing method in an SDN environment according to an embodiment of the present invention.

도 5를 참조하면, SDN 컨트롤러(100)는 자신이 관리하는 SDN 환경에 속한 적어도 하나의 SDN 네트워크 장치들(예컨대, 11~14, 20, 30, 31~34)로부터 각 네트워크 장치가 지원하는 보안 기능들의 목록 정보를 수신할 수 있다(S510).Referring to FIG. 5, the SDN controller 100 receives security information from at least one SDN network device (for example, 11 to 14, 20, 30, and 31 to 34) The list information of the functions can be received (S510).

상기 보안 기능의 목록 정보는 각 네트워크 장치의 동작 개시 시점(예컨대, 부팅 이후 또는 초기화 절차)에서 수집될 수 있으며, 각 네트워크 장치의 동작 중에 주기적으로 수집될 수도 있다. 또한, SDN 컨트롤러(100)의 요청(명시적 또는 묵시적 요청)에 기초하여, 각 네트워크 장치로부터 SDN 컨트롤러(100)에 제공될 수도 있다. 여기에서, 보안 기능 목록의 수집은 네트워크 토폴로지 생성을 위해 사용되는 LLDP 등의 기존 프로토콜에 정의된 확장필드를 이용하거나, 별도로 정의된 메시지를 이용하여 수행될 수 있다. The list information of the security function may be collected at an operation start time (e.g., after booting or initialization procedure) of each network device, and may be periodically collected during operation of each network device. It may also be provided to the SDN controller 100 from each network device based on a request (explicit or implicit request) of the SDN controller 100. Here, the collection of the security function list may be performed using an extension field defined in an existing protocol such as LLDP used for generating a network topology, or using a separately defined message.

상기 단계(S510)에서 수집된 각 네트워크 장치들이 지원 가능한 보안 기능에 대한 정보를 참조하여, SDN 컨트롤러는 트래픽의 전송이 필요한 단말-대-단말 경로 상에 존재하는 네트워크 장치들 중, 단말-대-단말 경로의 단말들 중 적어도 하나의 보안 또는 서비스 등급에 따라 요구되는 보안 수준을 충족하는 보안 기능을 제공 가능한 종단 네트워크 장치들을 선택할 수 있다(S520).The SDN controller refers to the information on the security functions that each network device collected in step S510 can support, and the SDN controller determines whether the network devices exist on the terminal-to- The end network devices capable of providing a security function meeting a required security level according to at least one security or service class among the terminals in the terminal path may be selected (S520).

도 4를 다시 참조하여 예를 들면, SDN 컨트롤러(100)는 게이트웨이 장치(20, 30, 50, 60) 중에서 보안 기능 목록의 수집 절차를 수행할 수 없는 게이트웨이 장치(60)을 제외하고, 게이트웨이 장치(20, 30, 50) 중에서 단말(10)과 단말(40)이 요구하는 보안 수준을 충족하는 보안 기능과 해당 보안 기능을 제공 가능한 게이트웨이 장치들(20, 30)을 종단 네트워크 장치로 선택할 수 있다.4 again, for example, the SDN controller 100 may control the gateway device 20, 30, 50 and 60 except for the gateway device 60 that can not perform the collection procedure of the security function list among the gateway devices 20, (20, 30) capable of providing a security function and a corresponding security function that satisfy the security level requested by the terminal (10) and the terminal (40) among the terminals (20, 30, 50) .

다음으로, SDN 컨트롤러(100)는 선택된 종단 네트워크 장치들에게 단말-대-단말 경로의 단말들 중 적어도 하나의 보안 또는 서비스 등급에 따라 요구되는 보안 수준을 충족하는 보안 기능의 적용을 지시할 수 있다(S530). 상기 보안 기능 의 적용 지시 또한 종래 LLDP 등의 기존 프로토콜에 정의된 확장필드를 이용하거나, 별도로 정의된 메시지를 이용하여 수행될 수 있다.Next, the SDN controller 100 may instruct the selected end-to-end network devices to apply a security function that meets the required security level according to the security or service class of at least one of the terminals in the terminal-to-terminal path (S530). The application of the security function may also be performed using an extension field defined in existing protocols such as LLDP or using a message defined separately.

선택된 종단 네트워크 장치들은 단계(S530)에서 지시된 보안 기능을 단말-대-단말 경로의 트래픽에 적용할 수 있다(S540). 이때, 적용되는 보안 기능은 트래픽에 대한 암호화/보안화 및/또는 종단 네트워크 장치들 간의 터널링 등을 포함할 수 있다.The selected end-point network devices may apply the security function indicated in step S530 to the traffic on the end-to-end path (S540). At this time, the security function applied may include encryption / securing of traffic and / or tunneling between end-point network devices.

한편, 단계(S540)에 따른 보안 기능의 적용 중에도, 단계(S520)와 단계(S530)에서 결정된 종단 네트워크 장치들 또는 보안 기능의 변경이 필요한 경우가 발생될 수 있다(S550). 예를 들면, 종단 네트워크 장치로 동작하던 네트워크 장치에 오류가 발생되었거나 동작이 중단된 경우, 종단 네트워크 장치의 부하가 커진 경우, 단말(또는 사용자)의 보안 기능 요구 수준이 변경된 경우 등의 이유에서 종단 네트워크 장치 또는 보안 기능의 변경이 필요해질 수 있다.Meanwhile, during the application of the security function according to the step S540, there may occur a case where the change of the end network devices or the security function determined in the steps S520 and S530 is required (S550). For example, when an error occurs in the network device operating as the end-point network device, when the operation is interrupted, when the load of the end-point network device becomes large, when the terminal (or the user) A change in the network device or the security function may be required.

이 경우, SDN 컨트롤러(100)는 자신이 관리하는 SDN 환경에 속한 네트워크 장치들의 보안 기능 목록을 다시 수집하도록 단계(S510)부터 다시 진행하거나, 보안 기능 목록은 주기적으로 이미 수집된 경우는 종단 네트워크 장치와 적용 보안 기능을 다시 결정하기 위해 단계(S520)부터 다시 진행할 수 있다.In this case, the SDN controller 100 proceeds from step S510 to collect the security function list of the network devices belonging to the SDN environment managed by the SDN controller 100, or if the security function list is already collected periodically, And may proceed from step S520 again to determine the applied security function.

도 6은 본 발명의 일 실시예에 따른 SDN 환경에서의 보안 처리 방법을 지원하는 네트워크 장치의 동작 방법을 설명하기 위한 흐름도이다.6 is a flowchart illustrating an operation method of a network device supporting a security processing method in an SDN environment according to an embodiment of the present invention.

도 6을 참조하면, SDN 환경에 속한 적어도 하나의 SDN 네트워크 장치들(예컨대, 11~14, 20, 30, 31~34)은 각 네트워크 장치가 지원하는 보안 기능들의 목록 정보를 SDN 컨트롤러(100)에게 제공할 수 있다(S610).6, at least one SDN network device (for example, 11 to 14, 20, 30, 31 to 34) belonging to the SDN environment transmits list information of security functions supported by each network device to the SDN controller 100, (S610).

상기 보안 기능의 목록 정보는 각 네트워크 장치의 동작 개시 시점(예컨대, 부팅 이후 또는 초기화 절차)에서 SDN 컨트롤러(100)에게 전송될 수 있으나, 각 네트워크 장치의 동작 중에도 주기적으로 SDN 컨트롤러(100)에게 전송될 수 있다. 또한, SDN 컨트롤러(100)의 요청(명시적 또는 묵시적 요청)에 기초하여, 각 네트워크 장치로부터 SDN 컨트롤러(100)에 제공될 수도 있다. 여기에서, 보안 기능 목록의 수집은 네트워크 토폴로지 생성을 위해 사용되는 LLDP 등의 기존 프로토콜에 정의된 확장필드를 이용하거나, 별도로 정의된 메시지를 이용하여 수행될 수 있다.The list information of the security function may be transmitted to the SDN controller 100 at an operation start time (e.g., after booting or initialization procedure) of each network device, but may be periodically transmitted to the SDN controller 100 during operation of each network device . It may also be provided to the SDN controller 100 from each network device based on a request (explicit or implicit request) of the SDN controller 100. Here, the collection of the security function list may be performed using an extension field defined in an existing protocol such as LLDP used for generating a network topology, or using a separately defined message.

상기 단계(S610)에서 각 네트워크 장치들로부터 수집된 각 네트워크 장치들이 지원 가능한 보안 기능에 대한 정보를 참조하여, SDN 컨트롤러(100)는 트래픽의 전송이 필요한 단말-대-단말 경로 상에 존재하는 네트워크 장치들 중, 단말-대-단말 경로의 단말들 중 적어도 하나의 보안 또는 서비스 등급에 따라 요구되는 보안 수준을 충족하는 보안 기능을 제공 가능한 종단 네트워크 장치들을 선택하게 된다.In step S610, the SDN controller 100 refers to information on security functions that can be supported by the respective network devices collected from the respective network devices, and the SDN controller 100 determines whether the network devices exist on the terminal- End network devices capable of providing a security function meeting the required security level according to the security or service class of at least one of the terminals in the terminal-to-terminal path among the devices.

따라서, 상기 단말-대-단말 경로 상에서 트래픽에 대한 보안 기능을 처리할 종단 네트워크 장치로 결정된 네트워크 장치는, 상기 SDN 컨트롤러(100)로부터 요구되는 보안 수준을 충족하는 보안 기능을 상기 단말-대-단말 경로의 트래픽에 적용할 것으로 지시 받게 된다(S620). 상기 보안 기능 의 적용 지시 또한 종래 LLDP 등의 기존 프로토콜에 정의된 확장필드를 이용하거나, 별도로 정의된 메시지를 이용하여 수신될 수 있다.Accordingly, a network device determined as an end-to-end network device to process a security function for traffic on the terminal-to-terminal path may transmit a security function satisfying a security level required from the SDN controller 100 to the terminal- (S620). ≪ / RTI > The application of the security function may also be received using an extension field defined in existing protocols such as LLDP or using a separately defined message.

한편, 단계(S610)에서 자신이 지원하는 보안 기능의 목록을 SDN 컨트롤러(100)에게 제공한 네트워크 장치들 중에서, 단계(S620)에 의해서 보안 기능의 적용을 지시 받는 네트워크 장치들은 상기 단말-대-단말 경로의 트래픽에 대한 종단 네트워크 장치로 선택된 네트워크 장치이다. 즉, 종단 네트워크 장치로 선택되지 않은 네트워크 장치는 단계(S610)에서 단계(S620)로 진행되지 않는다. 따라서, 도 6에 예시된 방법을 수행하는 네트워크 장치는 대상이 되는 단말-대-단말 경로에 대한 종단 네트워크 장치로 선택된 네트워크 장치를 의미한다.On the other hand, among the network devices providing the SDN controller 100 with a list of the security functions supported by the user in step S610, the network devices, which are instructed to apply the security function by the step S620, And is the network device selected as the terminating network device for traffic in the terminal path. That is, the network device not selected as the terminal network device does not advance from step S610 to step S620. Thus, a network device performing the method illustrated in FIG. 6 refers to a network device selected as an end-to-end network device for the end-to-end path of interest.

단계(S620)에서 대상이 되는 단말-대-단말 경로에 대한 종단 네트워크 장치로 선택된 네트워크 장치는 지시 받은 보안 기능을 해당 단말-대-단말 경로의 트래픽에 대해서 적용한다(S630).In step S620, the network device selected as the end-point network device for the target terminal-to-terminal path applies the indicated security function to the traffic on the corresponding terminal-to-terminal path in operation S630.

이때, 단계(S630)에 따른 보안 기능의 적용은 SDN 컨트롤러(100)가 적용될 보안 기능의 변경 필요성을 파악하거나, 종단 네트워크 장치를 변경할 필요성을 파악할 때(S640)까지 지속적으로 수행될 수 있다.At this time, the application of the security function according to the step S630 can be continuously performed until the SDN controller 100 grasps the necessity of changing the security function to be applied or recognizes the necessity of changing the terminal network device (S640).

예를 들면, SDN 컨트롤러(100)는 종단 네트워크 장치 또는 보안 기능의 변경의 필요성을 판단할 수 있다(S640). 예컨대, 종단 네트워크 장치로 동작하던 네트워크 장치에 오류가 발생되었거나 동작이 중단된 경우, 종단 네트워크 장치의 부하(load)가 커진 경우, 단말(또는 사용자)의 보안 기능 요구 수준이 변경된 경우 등을 보안 기능의 변경이나 종단 네트워크 장치의 변경이 필요한 상황의 예로 들 수 있다.For example, the SDN controller 100 may determine the necessity of changing the end network device or the security function (S640). For example, when an error occurs in the network device operating as the end network device, when the operation is stopped, when the load of the end network device becomes large, when the security function requirement level of the terminal (or user) And a change of the terminal network device is required.

이 경우, SDN 컨트롤러(100)는 자신이 관리하는 SDN 환경에 속한 네트워크 장치들의 보안 기능 목록을 다시 수집하도록 단계(S610)부터 다시 진행하거나, 보안 기능 목록은 주기적으로 이미 수집된 경우는 종단 네트워크 장치와 적용 보안 기능을 다시 결정하기 위해 단계(S620)부터 다시 진행할 수 있다.In this case, the SDN controller 100 proceeds from step S610 to collect the security function list of the network devices belonging to the SDN environment managed by the SDN controller 100, or if the security function list is already collected periodically, (S620) to determine the applied security function again.

본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령(program instruction) 형태로 구현되어 컴퓨터 판독 가능 매체(메모리 또는 저장수단)에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.The methods according to the present invention can be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium (memory or storage means). The computer readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the computer readable medium may be those specially designed and constructed for the present invention or may be available to those skilled in the computer software.

컴퓨터 판독 가능 매체의 예에는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다. 따라서, 본 발명에 따른 방법들은 적어도 하나의 프로세서(processor)와 본 발명에 따른 방법들은 구현하는 프로그램 명령이 저장된 컴퓨터 판독 가능 매체(메모리 또는 저장수단)를 구비한 네트워크 장치 또는 SDN 컨트롤러에 의해서 수행될 수 있다.Examples of computer readable media include hardware devices that are specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those generated by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate with at least one software module to perform the operations of the present invention, and vice versa. Accordingly, the methods according to the present invention may be performed by a network device having a computer-readable medium (memory or storage means) or at least one SDN controller in which at least one processor and methods according to the present invention are stored .

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the present invention as defined by the following claims It can be understood that

10, 40: 단말
11~14, 31~34: 라우터 또는 스위치
20, 30: 게이트웨이
100: SDN 컨트롤러
220, 230: 보안 기능 목록
320, 330: 적용 보안 기능 지시
10, 40: terminal
11-14, 31-34: Router or switch
20, 30: Gateway
100: SDN controller
220, 230: List of security functions
320, 330: Security function indication

Claims (20)

소프트웨어 정의 네트워크(SDN, Software-Defined Network) 환경에서 단말-대-단말 경로에 보안 기능을 적용하기 위한, SDN 컨트롤러의 보안 기능 처리 방법으로서,
상기 SDN 환경을 구성하는 적어도 하나의 네트워크 장치로부터 각 네트워크 장치가 지원하는 보안 기능의 목록을 수신하는 단계;
상기 수신된 보안 기능의 목록들에 기초하여, 상기 단말-대-단말 경로의 단말들 중 적어도 하나의 보안 또는 서비스 등급에 따라서 요구되는 보안 수준을 충족하는 보안 기능, 및 해당 보안 기능을 제공하는 종단 네트워크 장치들을 선택하는 단계; 및
상기 선택된 종단 네트워크 장치들에게, 상기 단말-대-단말 경로의 트래픽에 대하여, 상기 선택된 보안 기능의 적용을 지시하는 단계를 포함하는, SDN 컨트롤러의 보안 기능 처리 방법.
A security function processing method of an SDN controller for applying a security function to a terminal-to-terminal path in a Software-Defined Network (SDN) environment,
Receiving a list of security functions supported by each network device from at least one network device constituting the SDN environment;
A security function that satisfies a security level required according to the security or service class of at least one of the terminals in the terminal-to-terminal path based on the list of the received security functions, Selecting network devices; And
And instructing the selected end-to-end network devices to apply the selected security function to the traffic on the terminal-to-terminal path.
청구항 1에 있어서,
상기 보안 기능의 목록은 상기 각 네트워크 장치의 동작 개시 시점에 수신되거나, 상기 각 네트워크 장치의 동작 중에 주기적으로 수신되는, SDN 컨트롤러의 보안 기능 처리 방법.
The method according to claim 1,
Wherein the list of security functions is received at the start of operation of each network device or periodically received during operation of each network device.
청구항 1에 있어서,
상기 보안 기능의 목록은 LLDP(Link Layer Discovery Protocol)를 이용하여 수신되거나, 상기 SDN 컨트롤러와 상기 적어도 하나의 네트워크 장치 간에 정의된 메시지를 이용하여 수신되는, SDN 컨트롤러의 보안 기능 처리 방법.
The method according to claim 1,
Wherein the list of security functions is received using a Link Layer Discovery Protocol (LLDP) or received using a message defined between the SDN controller and the at least one network device.
청구항 1에 있어서,
상기 적어도 하나의 네트워크 장치는, 라우터(router), 스위치(switch) 또는 게이트웨이(gateway) 장치인, SDN 컨트롤러의 보안 기능 처리 방법.
The method according to claim 1,
Wherein the at least one network device is a router, a switch, or a gateway device.
청구항 1에 있어서,
상기 보안 기능은 상기 단말-대-단말 경로의 트래픽에 적용되는 암호화(encryption) 및 터널링(tunneling) 중 적어도 하나를 포함하는, SDN 컨트롤러의 보안 기능 처리 방법.
The method according to claim 1,
Wherein the security function includes at least one of encryption and tunneling applied to traffic of the terminal-to-terminal path.
청구항 1에 있어서,
상기 선택된 종단 네트워크 장치의 변경 또는 상기 선택된 보안 기능의 변경이 필요한 경우, 상기 보안 기능의 목록을 수신하는 단계 또는 상기 보안 기능 및 상기 종단 네트워크 장치들을 선택하는 단계부터 다시 진행되는, SDN 컨트롤러의 보안 기능 처리 방법.
The method according to claim 1,
A step of receiving a list of the security functions or a step of selecting a security function and the termination network devices when a change of the selected end network device or a change of the selected security function is required, Processing method.
소프트웨어 정의 네트워크(SDN, Software-Defined Network) 환경에서 단말-대-단말 경로에 보안 기능을 적용하기 위한, 네트워크 장치의 보안 기능 처리 방법으로서,
상기 네트워크 장치가 지원하는 보안 기능의 목록을 상기 SDN 환경의 SDN 컨트롤러에게 전송하는 단계;
상기 SDN 컨트롤러로부터, 상기 단말-대-단말 경로의 단말들 중 적어도 하나의 보안 또는 서비스 등급에 따라서 요구되는 보안 수준을 충족하는 보안 기능의 적용을 지시 받는 단계; 및
상기 단말-대-단말 경로의 트래픽에 대하여, 상기 요구되는 보안 수준을 충족하는 보안 기능을 상기 단말-대-단말 경로에 대한 종단 네트워크 장치로서 수행하는 단계를 포함하는, 네트워크 장치의 보안 기능 처리 방법.
A method of processing a security function of a network device for applying a security function to a terminal-to-terminal path in a software-defined network (SDN) environment,
Transmitting a list of security functions supported by the network device to an SDN controller in the SDN environment;
Receiving from the SDN controller application of a security function satisfying a security level required according to a security or service class of at least one of the terminals in the terminal-to-terminal path; And
Performing a security function satisfying the required security level for the traffic on the terminal-to-terminal path as an end-point network device for the terminal-to-terminal path; .
청구항 7에 있어서,
상기 보안 기능의 목록은 상기 네트워크 장치의 동작 개시 시점에 전송되거나, 상기 네트워크 장치의 동작 중에 주기적으로 전송되는, 네트워크 장치의 보안 기능 처리 방법.
The method of claim 7,
Wherein the list of security functions is transmitted at the start of operation of the network device or periodically transmitted during operation of the network device.
청구항 8에 있어서,
상기 보안 기능의 목록은 LLDP(Link Layer Discovery Protocol)를 이용하여 전송되거나, 상기 SDN 컨트롤러와 상기 네트워크 장치 간에 정의된 메시지를 이용하여 전송되는, 네트워크 장치의 보안 기능 처리 방법.
The method of claim 8,
Wherein the list of security functions is transmitted using a Link Layer Discovery Protocol (LLDP) or transmitted using a message defined between the SDN controller and the network device.
청구항 8에 있어서,
상기 네트워크 장치는, 라우터(router), 스위치(switch) 또는 게이트웨이(gateway) 장치인, 네트워크 장치의 보안 기능 처리 방법.
The method of claim 8,
Wherein the network device is a router, a switch, or a gateway device.
청구항 8에 있어서,
상기 보안 기능은 상기 단말-대-단말 경로의 트래픽에 적용되는 암호화(encryption) 및 터널링(tunneling) 중 적어도 하나를 포함하는, 네트워크 장치의 보안 기능 처리 방법.
The method of claim 8,
Wherein the security function includes at least one of encryption and tunneling applied to traffic of the terminal-to-terminal path.
청구항 8에 있어서,
상기 요구되는 보안 수준을 충족하는 보안 기능의 변경이 필요한 경우 또는 상기 네트워크 장치의 역할 또는 상태가 변경된 경우, 상기 보안 기능의 목록을 전송하는 단계 또는 상기 보안 기능의 적용을 지시 받는 진행하는 단계부터 다시 진행되는, 네트워크 장치의 보안 기능 처리 방법.
The method of claim 8,
When the security function satisfying the required security level is required or when the role or status of the network device is changed, the step of transmitting the list of the security functions or the step of instructing the application of the security function again A method for processing a security function of a network device, the method comprising:
소프트웨어 정의 네트워크(SDN, Software-Defined Network) 환경에서 단말-대-단말 경로에 보안 기능을 적용하는 방법으로서,
적어도 하나의 네트워크 장치가, 각 네트워크 장치가 지원하는 보안 기능의 목록을 SDN 컨트롤러로 전송하는 단계;
상기 SDN 컨트롤러가, 상기 적어도 하나의 네트워크 장치들 중에서, 상기 단말-대-단말 경로의 단말들 중 적어도 하나의 보안 또는 서비스 등급에 따라서 요구되는 보안 수준을 충족하는 보안 기능 및 해당 보안 기능을 제공하는 종단 네트워크 장치들을 선택하는 단계;
상기 SDN 컨트롤러가, 상기 선택된 종단 네트워크 장치들에게, 상기 단말-대-단말 경로의 트래픽에 대하여, 상기 선택된 보안 기능의 적용을 지시하는 단계; 및
상기 종단 네트워크 장치로 선택된 네트워크 장치가, 상기 적용을 지시 받은 보안 기능을 상기 단말-대-단말 경로의 트래픽에 대하여 적용하는 단계를 포함한, SDN의 보안 기능 처리 방법.
A method for applying a security function to a terminal-to-terminal path in a software-defined network (SDN) environment,
Transmitting at least one network device a list of security functions supported by each network device to an SDN controller;
Wherein the SDN controller provides a security function that satisfies a security level required according to a security or service class of at least one of terminals of the terminal-to-terminal path among the at least one network devices, Selecting end-to-end network devices;
The SDN controller instructing the selected end-to-end network devices to apply the selected security function to traffic of the terminal-to-terminal path; And
Wherein the network device selected as the end-point network device applies the security function instructed by the application to the traffic of the terminal-to-terminal path.
청구항 13에 있어서,
상기 보안 기능의 목록은, 상기 적어도 하나의 네트워크 장치의 동작 개시 시점에 상기 SDN 컨트롤러로 전송되거나, 상기 적어도 하나의 네트워크 장치의 동작 중에 주기적으로 상기 SDN 컨트롤러에 전송되거나, 상기 SDN 컨트롤러의 요청에 기초하여 상기 SDN 컨트롤러로 전송되는, SDN의 보안 기능 처리 방법.
14. The method of claim 13,
Wherein the list of security functions is transmitted to the SDN controller at the start of operation of the at least one network device or periodically transmitted to the SDN controller during operation of the at least one network device, And transmitted to the SDN controller.
청구항 13에 있어서,
상기 보안 기능의 목록은 LLDP(Link Layer Discovery Protocol)를 이용하여 전송되거나, 상기 SDN 컨트롤러와 상기 적어도 하나의 네트워크 장치 간에 정의된 메시지를 이용하여 전송되는, SDN의 보안 기능 처리 방법.
14. The method of claim 13,
Wherein the list of security functions is transmitted using a Link Layer Discovery Protocol (LLDP) or transmitted using a message defined between the SDN controller and the at least one network device.
청구항 13에 있어서,
상기 적어도 하나의 네트워크 장치는, 라우터(router), 스위치(switch) 또는 게이트웨이(gateway) 장치인, SDN의 보안 기능 처리 방법.
14. The method of claim 13,
Wherein the at least one network device is a router, a switch, or a gateway device.
청구항 13에 있어서,
상기 보안 기능은 상기 단말-대-단말 경로의 트래픽에 적용되는 암호화(encryption) 및 터널링(tunneling) 중 적어도 하나를 포함하는, SDN의 보안 기능 처리 방법.
14. The method of claim 13,
Wherein the security function includes at least one of encryption and tunneling applied to traffic of the terminal-to-terminal path.
청구항 13에 있어서,
상기 선택된 종단 네트워크 장치의 변경 또는 상기 선택된 보안 기능의 변경이 필요한 경우, 상기 보안 기능의 목록을 SDN 컨트롤러로 전송하는 단계 또는 상기 보안 기능의 적용을 지시하는 단계부터 다시 진행되는, SDN의 보안 기능 처리 방법.
14. The method of claim 13,
If a change of the selected end-point network device or a change of the selected security function is required, the step of transmitting the list of the security functions to the SDN controller or the security function processing of the SDN Way.
청구항 18에 있어서,
상기 선택된 종단 네트워크 장치의 변경이 필요한 경우는, 상기 선택된 종단 네트워크 장치로 동작하던 네트워크 장치에 오류가 발생된 경우, 동작이 중단된 경우, 및 부하가 커진 경우 중 적어도 하나 인, SDN의 보안 기능 처리 방법.
19. The method of claim 18,
And when it is necessary to change the selected terminating network device, the security function processing of the SDN, which is at least one of a case where an error occurs in a network device operating as the selected terminating network device, Way.
청구항 18에 있어서,
상기 선택된 보안 기능의 변경이 필요한 경우는, 상기 단말-대-단말 경로의 적어도 하나의 단말의 보안 기능 요구 수준이 변경된 경우인, SDN의 보안 기능 처리 방법.
19. The method of claim 18,
Wherein when a change of the selected security function is required, a security functional requirement level of at least one terminal in the terminal-to-terminal path is changed.
KR1020170031025A 2017-03-13 2017-03-13 Method for supporting security function in software defined network, and network apparatus and controller for the same KR102274204B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170031025A KR102274204B1 (en) 2017-03-13 2017-03-13 Method for supporting security function in software defined network, and network apparatus and controller for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170031025A KR102274204B1 (en) 2017-03-13 2017-03-13 Method for supporting security function in software defined network, and network apparatus and controller for the same

Publications (2)

Publication Number Publication Date
KR20180104376A true KR20180104376A (en) 2018-09-21
KR102274204B1 KR102274204B1 (en) 2021-07-07

Family

ID=63720830

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170031025A KR102274204B1 (en) 2017-03-13 2017-03-13 Method for supporting security function in software defined network, and network apparatus and controller for the same

Country Status (1)

Country Link
KR (1) KR102274204B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200041021A (en) 2018-10-11 2020-04-21 주식회사 케이티 Method for controlling quantum cryptography communication network and system thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120123558A (en) * 2010-03-16 2012-11-08 알까뗄 루슨트 Method, system and apparatus providing secure infrastructure
KR20150000152A (en) * 2013-06-24 2015-01-02 한국전자통신연구원 Method for controlling software defined networking network and apparatus for performing the same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120123558A (en) * 2010-03-16 2012-11-08 알까뗄 루슨트 Method, system and apparatus providing secure infrastructure
KR20150000152A (en) * 2013-06-24 2015-01-02 한국전자통신연구원 Method for controlling software defined networking network and apparatus for performing the same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200041021A (en) 2018-10-11 2020-04-21 주식회사 케이티 Method for controlling quantum cryptography communication network and system thereof

Also Published As

Publication number Publication date
KR102274204B1 (en) 2021-07-07

Similar Documents

Publication Publication Date Title
CN108989194B (en) Distributed IPSec gateway
US8971339B2 (en) Contents base switching system and contents base switching method
CN107801249B (en) Resource allocation method of wireless communication system, and apparatus and system thereof
CN113596191B (en) Data processing method, network element equipment and readable storage medium
EP3101849A1 (en) Flow table entry generation method and device
CN110896553B (en) Multi-access edge computing method and platform and communication system
US10454880B2 (en) IP packet processing method and apparatus, and network system
WO2016210196A1 (en) Media relay server
Song et al. A congestion avoidance algorithm in SDN environment
KR20120052981A (en) Method and system for deploying at least one virtual network on the fly and on demand
CN105830395A (en) Session-based packet routing for facilitating analytics
WO2016210202A1 (en) Media relay server
WO2019157968A1 (en) Communication method, apparatus and system
CN108011754B (en) Transfer control separation system, backup method and device
US9755909B2 (en) Method, device and system for controlling network path
JP5679343B2 (en) Cloud system, gateway device, communication control method, and communication control program
US20100046398A1 (en) Method and system for automatically realizing connection between management device and managed device
CN106464596A (en) Openflow communication method, system, controller, and service gateway
US20180302479A1 (en) Handling at least one communication exchange between a telecommunications network and at least one user equipment
JP5983733B2 (en) COMMUNICATION SYSTEM, CONTROL DEVICE, COMMUNICATION DEVICE, INFORMATION RELAY METHOD, AND PROGRAM
EP2497324B1 (en) Methods for address translator traversal in 3gpp networks
KR20180104376A (en) Method for supporting security function in software defined network, and network apparatus and controller for the same
JP2013179494A (en) Virtual network infrastructure control system and method
JP2012165172A (en) Communication system, communication device and supervision control device
CN107005473B (en) Communication path switching apparatus, method of controlling communication path switching apparatus

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