KR20180041977A - SDN for supporting authentication for link discovery service and controller including the same - Google Patents

SDN for supporting authentication for link discovery service and controller including the same Download PDF

Info

Publication number
KR20180041977A
KR20180041977A KR1020160134427A KR20160134427A KR20180041977A KR 20180041977 A KR20180041977 A KR 20180041977A KR 1020160134427 A KR1020160134427 A KR 1020160134427A KR 20160134427 A KR20160134427 A KR 20160134427A KR 20180041977 A KR20180041977 A KR 20180041977A
Authority
KR
South Korea
Prior art keywords
message
controller
link
link discovery
switches
Prior art date
Application number
KR1020160134427A
Other languages
Korean (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 KR1020160134427A priority Critical patent/KR20180041977A/en
Publication of KR20180041977A publication Critical patent/KR20180041977A/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/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks

Abstract

Disclosed are a software defined network for supporting an authentication for a link detection service, and a controller included therein. The disclosed software defined network which performs a link search through an openflow discovery protocol (OFDP), comprises: a plurality of switches located on a data plane of a software defined network; and a controller located on a control plane of the software defined network and controlling the switches. The controller transmits a link search message to each of the switches, and each of the switches receives the link search message transmitted from the controller to transmit the same to another switch and transmits the link search message transmitted from another switch to the controller. The link search message includes a message authentication code for authenticating the link search message.

Description

링크 검출 서비스에 대한 인증을 지원하는 소프트웨어 정의 네트워크 및 이에 포함되는 컨트롤러{SDN for supporting authentication for link discovery service and controller including the same}A software defined network supporting authentication for the link discovery service and a controller included therein,

본 발명의 실시예들은 링크 검출 서비스에 대한 인증을 지원하는 소프트웨어 정의 네트워크(SDN: Software Defined Network) 및 이에 포함되는 컨트롤러(controller)에 관한 것이다. Embodiments of the present invention relate to a Software Defined Network (SDN) that supports authentication for a link detection service and a controller included therein.

인터넷은 우리의 일상에서 이제 불가분의 중요한 역할을 하고 있으며 사물 인터넷이 본격적으로 일상에 적용될 시에는 이 역할은 더욱 커질 것이라 예상한다. 하지만 종래의 네트워크 장비는 미리 정해진 룰에 따라 작동이 되는 시스템으로서, 관리 시 어려움이 있으며, 새로운 기능을 추가 할 시에는 연관된 모든 장비를 업데이트 또는 교체해야 하는 불편함이 존재한다. 그리고, 각종 새로운 악성 공격으로부터도 보안 상의 취약성을 보이고 있다.The Internet plays an integral and important role in our daily lives, and we expect that this role will grow even more when the Internet of Things is applied to everyday life. However, the conventional network equipment operates in accordance with predetermined rules, which is difficult to manage, and when adding new functions, it is inconvenient to update or replace all related equipment. And it shows security vulnerabilities from various new malicious attacks.

따라서, 이를 해결하고자 등장한 것이 소프트웨어 정의 네트워크(SDN: Software Defined Network)이다. 소프트웨어 정의 네트워크는 기존의 네트워크 장비와는 달리 컨트롤 평면(control plane)과 데이터 평면(data plane)이 분리된다. 이 때, 컨트롤 평면에는 컨트롤러가 위치하고, 데이터 평면에는 복수의 스위치가 위치하며, 복수의 스위치는 컨트롤러에 의해 제어된다. 따라서, 네트워크 구조가 단순화되어 있고, 네트워크 관리를 유연하게 해주며, 기존 네트워크보다 악성 공격에 대하여 일부 강점이 있다. 하지만, 소프트웨어 정의 네트워크도 보안에 관하여는 완벽한 해결책이 없으며 여전히 취약한 면이 있는 것도 사실이다. Therefore, Software Defined Network (SDN) is emerging to solve this problem. A software defined network is separated from the control plane and the data plane unlike the existing network equipment. At this time, a controller is located on the control plane, a plurality of switches are located on the data plane, and a plurality of switches are controlled by the controller. Therefore, the network structure is simplified, network management is flexible, and there are some advantages over malicious attacks over existing networks. However, software-defined networks do not have a complete solution for security and are still vulnerable.

이와 관련하여, 소프트웨어 정의 네트워크는 링크 검출 서비스(link discovery service)를 제공한다. 링크 검출 서비스는 컨트롤러에서 시작되며, 링크 검색을 하기 위한 사실상의 표준으로 OFDP(OpenFlow Discovery Protocol)가 사용되고 있으며, LLDP(Link Layer Discovery Protocol)에서 정의한 프레임 형식을 사용한다. In this regard, a software defined network provides a link discovery service. The link detection service is initiated at the controller, and OFDP (OpenFlow Discovery Protocol) is used as a de facto standard for link search and uses a frame format defined by LLDP (Link Layer Discovery Protocol).

그러나, 기존의 링크 검출 서비스에는 보안상에서의 허점이 있었다. 즉, 스위치들 간의 내부 링크를 검출하기 위해 사용되는 OFDP의 제어 메시지에 인증하기 위한 구성요소가 없기 때문에 공격자는 링크 탐색 과정에서 OFDP 패킷의 전파를 조작함으로써 가짜 링크를 만들려고 시도할 수 있다. 그 결과, 변조된 연결로 인해 정상적인 패킷의 흐름이 다른 경로로 이동하여, 공격자와 대응되는 악성 호스트로 패킷이 이동할 수 있게 되어 심각한 위험을 초래할 수 있으며, 특히 특정한 제어 패킷을 크래프팅(crafting)하고, 하나 이상의 손상된 호스트를 통해 네트워크 내로 제어 패킷을 주입함으로써 스푸핑된 링크를 만들 수 있다.However, the conventional link detection service has a loophole in security. That is, since there is no component for authenticating the OFDP control message used for detecting the internal link between the switches, the attacker may attempt to create a false link by manipulating the propagation of the OFDP packet in the link search process. As a result, due to the modulated connection, the flow of the normal packet moves to another path, and the packet can be moved to the malicious host corresponding to the attacker, which may pose a serious risk. In particular, it is possible to craft a specific control packet, A spoofed link can be created by injecting control packets into the network via one or more damaged hosts.

상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 본 발명에서는 링크 검출 서비스에 대한 인증을 지원하는 소프트웨어 정의 네트워크(SDN: Software Defined Network) 및 이에 포함되는 컨트롤러(controller)를 제공하고자 한다. In order to solve the problems of the related art as described above, the present invention provides a Software Defined Network (SDN) supporting authentication for a link detection service and a controller included therein.

본 발명의 다른 목적들은 하기의 실시예를 통해 당업자에 의해 도출될 수 있을 것이다.Other objects of the invention will be apparent to those skilled in the art from the following examples.

상기한 목적을 달성하기 위해 본 발명의 바람직한 일 실시예에 따르면, OFDP(OpenFlow Discovery Protocol)를 통해 링크 검색을 수행하는 소프트웨어 정의 네트워크에 있어서, 상기 소프트웨어 정의 네트워크의 데이터 평면에 위치하는 복수의 스위치; 및 상기 소프트웨어 정의 네트워크의 컨트롤 평면에 위치하며, 상기 복수의 스위치를 제어하는 컨트롤러;를 포함하되, 상기 컨트롤러는 링크 검색 메시지를 상기 복수의 스위치 각각으로 전송하고, 상기 복수의 스위치 각각은, 상기 컨트롤러부터 전송된 링크 검색 메시지를 수신하여 다른 스위치로 전달하며, 상기 다른 스위치에서 전송된 링크 검색 메시지를 상기 컨트롤러로 전송하며, 상기 링크 검색 메시지는 상기 링크 검색 메시지의 인증을 위한 메시지 인증 코드가 포함되는 것을 특징으로 하는 소프트웨어 정의 네트워크가 제공된다. According to a preferred embodiment of the present invention, there is provided a software defined network for performing a link search through OFDP (Open Flow Discovery Protocol), comprising: a plurality of switches located in a data plane of the software defined network; And a controller located in a control plane of the software defined network and controlling the plurality of switches, wherein the controller transmits a link discovery message to each of the plurality of switches, And transmits the link discovery message transmitted from the other switch to the controller. The link discovery message includes a message authentication code for authentication of the link discovery message A software defined network is provided.

상기 링크 검색 메시지는 LLDP 패킷 및 상기 메시지 인증 코드로 구성될 수 있다. The link discovery message may comprise an LLDP packet and the message authentication code.

상기 메시지 인증 코드는 아래의 수학식과 같이 표현될 수 있다. The message authentication code can be expressed by the following equation.

Figure pat00001
Figure pat00001

여기서, HMAC는 암호화 해쉬 함수를 이용한 상기 메시지 인증 코드, h( )는 상기 암호화 해쉬 함수, K는 비밀키, m는 LLDP 패킷의 인증을 위한 메시지, |는 연결 연산자,

Figure pat00002
는 XOR 연산자, opad 및 ipad는 기 설정된 패딩 값(padding values)를 의미함. Here, HMAC is a message authentication code using a cryptographic hash function, h () is the cryptographic hash function, K is a secret key, m is a message for authentication of an LLDP packet,
Figure pat00002
Is the XOR operator, opad and ipad are predetermined padding values.

또한, 본 발명의 다른 실시예에 따르면, OFDP(OpenFlow Discovery Protocol)를 통해 링크 검색을 수행하는 소프트웨어 정의 네트워크의 컨트롤 평면에 위치하는 컨트롤러에 있어서, 링크 검색 메시지를 생성하는 메시지 생성부; 및 상기 링크 검색 메시지를 상기 소프트웨어 정의 네트워크의 데이터 평면에 위치하는 복수의 스위치로 전송하는 통신부;를 포함하되, 상기 링크 검색 메시지는 상기 링크 검색 메시지의 인증을 위한 메시지 인증 코드가 포함되는 것을 특징으로 하는 컨트롤러가 제공된다. According to another embodiment of the present invention, there is provided a controller located in a control plane of a software defined network that performs a link search through OFDP (OpenFlow Discovery Protocol), the controller comprising: a message generator for generating a link discovery message; And a communication unit transmitting the link discovery message to a plurality of switches located on a data plane of the software defined network, wherein the link discovery message includes a message authentication code for authentication of the link discovery message, A controller is provided.

본 발명에 따른 소프트웨어 정의 네트워크 및 이에 포함되는 컨트롤러는 각각의 링크 검출을 위한 패킷에 암호화된 메시지 인증 코드를 추가하여 효과적으로 링크 토폴로지를 보호할 수 있는 장점이 있다. The software defined network according to the present invention and the controller included therein are advantageous in that the link topology can be effectively protected by adding an encrypted message authentication code to each packet for link detection.

도 1은 소프트웨어 정의 네트워크(SDN: Software Defined Network)의 기본 구조를 도시한 도면이다.
도 2는 소프트웨어 정의 네트워크에 사용되는 OpenFlow의 구조를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크(SDN: Software Defined Network)의 개략적인 구조를 도시한 도면이다.
도 4는 종래의 링크 검색 서비스에서 수행되는 공격자의 가짜 링크를 생성하기 위한 과정을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 컨트롤러의 개략적은 구성을 도시한 도면이다.
1 is a diagram showing a basic structure of a Software Defined Network (SDN).
2 is a diagram showing a structure of OpenFlow used in a software defined network.
FIG. 3 is a diagram illustrating a schematic structure of a Software Defined Network (SDN) according to an embodiment of the present invention.
4 is a diagram for explaining a procedure for generating a fake link of an attacker performed in a conventional link search service.
5 is a diagram showing a schematic configuration of a controller according to an embodiment of the present invention.

본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.As used herein, the singular forms "a", "an" and "the" include plural referents unless the context clearly dictates otherwise. In this specification, the terms "comprising ", or" comprising "and the like should not be construed as necessarily including the various elements or steps described in the specification, Or may be further comprised of additional components or steps. Also, the terms "part," " module, "and the like described in the specification mean units for processing at least one function or operation, which may be implemented in hardware or software or a combination of hardware and software .

이하, 본 발명의 대상이 되는 소프트웨어 정의 네트워크에 대해 간략하게 설명하기로 한다. Hereinafter, a software definition network to which the present invention is applied will be briefly described.

도 1은 소프트웨어 정의 네트워크(SDN: Software Defined Network)의 기본 구조를 도시한 도면이고, 도 2는 소프트웨어 정의 네트워크에 사용되는 OpenFlow의 구조를 도시한 도면이다. FIG. 1 is a diagram illustrating a basic structure of a software defined network (SDN), and FIG. 2 is a diagram illustrating a structure of OpenFlow used in a software defined network.

도 1을 참조하면, 소프트웨어 정의 네트워크는 크게 데이터 평면(data plane)과 대응되는 인프라스트럭처 계층(infrastructure layer)과, 컨트롤 평면(control plane)과 대응되는 컨트롤 계층(control layer)과, 애플리케이션 계층(application layer)으로 나뉜다. 데이터 계층은 소프트웨어 정의 네트워크의 특정 인터페이스를 통해 제어를 받는 계층으로서, 데이터 흐름의 전송을 담당한다. 컨트롤 계층은 데이터의 흐름을 제어하는 계층으로서 애플리케이션과 네트워크 서비스를 통하여 데이터 흐름을 라우팅 할 것인지, 전달을 할 것인지, 거절할 것인지를 결정한다. 또한 데이터 계층의 동작들을 정리하여 API(Application Programming Interface) 형태로 애플리케이션 계층에 전달한다. 마지막으로 애플리케이션 계층은 제어 계층에서 제공한 API들을 이용하여 네트워크의 다양한 기능들을 수행 할 수 있도록 한다.Referring to FIG. 1, a software defined network includes an infrastructure layer corresponding to a data plane, a control layer corresponding to a control plane, an application layer layer. The data layer is a layer that receives control through a specific interface of a software defined network and is responsible for the transmission of the data flow. The control layer is the layer that controls the flow of data and determines whether to route, forward, or reject the data flow through applications and network services. In addition, the operations of the data layer are summarized and transmitted to the application layer in the form of API (Application Programming Interface). Finally, the application layer enables various functions of the network to be performed using APIs provided by the control layer.

한편, 전통적인 네트워크에서 라우터, 스위치와 같은 네트워크 장비는 트래픽 제어와 규칙을 담당한다. 그러므로 네트워크의 라우팅 정보는 스위치와 라우터에서 저장한다. 이와 같은 네트워크 구조는 네트워크가 변화할 때마다 관리자가 관련 인터넷 설비를 배치해야 한다는 문제가 있고, 데이터 센터나 그룹 네트워크 환경은 잦은 네트워크 변화로 자원을 낭비한다.On the other hand, in traditional networks, network devices such as routers and switches are responsible for traffic control and rules. Therefore, the routing information of the network is stored in the switch and the router. Such a network structure has a problem in that administrators have to place related Internet facilities whenever the network changes, and data center or group network environment wastes resources due to frequent network changes.

OpenFlow은 위와 같은 전통적인 네트워크의 단점을 보완하는 컨트롤러와 네트워크 장치간의 인터페이스 규격으로 사용되고 있는 기술이다. 도 2를 참조하면, OpenFlow는 제어 평면과 데이터 평면을 분리하여 네트워크를 운용할 수 있게 함으로써 네트워크 트래픽을 제어할 수 있는 기능과 전달할 수 있는 기능을 분리하며 소프트웨어를 제작하여 네트워크를 제어할 수 있도록 해준다. OpenFlow 프로토콜을 사용하면, 제어 및 데이터 평면을 하드웨어가 아닌 소프트웨어로도 구현할 수 있으며, 이 소프트웨어를 범용 서버에 설치하여 신속하게 새로운 기능을 구현할 수 있다.OpenFlow is a technology used as an interface specification between a controller and a network device that complements the disadvantages of the conventional network. Referring to FIG. 2, OpenFlow separates a control plane and a data plane from each other to operate a network, thereby separating a function for controlling network traffic from a function for delivering and controlling the network by creating software . Using the OpenFlow protocol, control and data planes can be implemented in software rather than hardware, and the software can be installed on a general-purpose server to quickly implement new functionality.

OpenFlow는 프로토콜 계층 1~4까지의 헤더 정보를 하나로 조합하여 패킷(프레임)의 동작을 지정할 수 있다. 제어 평면의 프로그램을 수정하면 계층 4까지의 범위에서 사용자가 자유롭게 새로운 프로토콜을 만들 수 있고, 특정 서비스나 애플리케이션에 최적화된 네트워크를 사용자가 구현할 수도 있다. 즉, OpenFlow는 패킷을 제어하는 기능과 전달하는 기능을 분리하고 프로그래밍을 통해 네트워크를 제어하는 기술이다. OpenFlow can specify the operation of a packet (frame) by combining header information from protocol layers 1 to 4 into one. By modifying the program in the control plane, the user can freely create a new protocol in a range up to layer 4, and the user can implement a network optimized for a specific service or application. In other words, OpenFlow is a technology that controls the network by programming and separating the function of controlling packet and the function of delivering.

상기에서 설명된 내용을 참조하여 본 발명의 일 실시예에 따른 악성 애플리케이션을 방지할 수 있는 소프트웨어 정의 네트워크 및 이에 포함되는 판단 장치를 상세하게 설명한다. A software defined network and a determination device included therein for preventing malicious application according to an embodiment of the present invention will be described in detail with reference to the above description.

도 3은 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크(SDN: Software Defined Network)의 개략적인 구조를 도시한 도면이다. FIG. 3 is a diagram illustrating a schematic structure of a Software Defined Network (SDN) according to an embodiment of the present invention.

도 3을 참조하면, 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크(300)는, 컨트롤러(310) 및 복수의 스위치(320)를 포함한다. Referring to FIG. 3, a software defined network 300 according to an embodiment of the present invention includes a controller 310 and a plurality of switches 320.

컨트롤러(310)는 OpenFlow 인터페이스를 따르는 OF 컨트롤러일 수 있고, 컨트롤 평면에 위치하며, 네트워크의 모든 제어 명령, 데이터 트래픽의 전달을 수행하며, 전체 네트워크를 직접적으로 제어한다. The controller 310 may be an OF controller conforming to the OpenFlow interface, located on the control plane, carrying all control commands and data traffic of the network, and directly controlling the entire network.

복수의 스위치(320) 각각은 OpenFlow 인터페이스를 따르는 OF 스위치일 수 있고, 데이터 평면에 위치하며, 컨트롤러(310)에 의해 동작이 제어된다. 스위치(320) 각각에는 적어도 하나의 호스트가 연결된다. Each of the plurality of switches 320 may be an OF switch following the OpenFlow interface, located in the data plane, and controlled by the controller 310. Each of the switches 320 is connected to at least one host.

즉, 컨트롤러(310)는 복수의 스위치(320) 각각에 명령을 전송하고, 각각의 스위치(320)는 수신된 명령에 따라 패킷을 목적지로 전송하거나 수정, 폐기하는 등의 처리를 한다. 일례로, OpenFlow 프로토콜을 이용하여, 컨트롤러(310)는 패킷의 포워딩 방법이나 VLAN 우선순위 값 등을 스위치(320)에 전달하여 수행되도록 하며, 스위치(320)는 장애정보와 사전에 등록된 플로우 엔트리가 없는 패킷에 대한 정보를 컨트롤러에 문의하고 그 결정을 받아 처리한다. That is, the controller 310 transmits a command to each of the plurality of switches 320, and each of the switches 320 performs processing such as transmitting, modifying, or discarding the packet to a destination according to the received command. For example, the controller 310 transmits the packet forwarding method and the VLAN priority value to the switch 320 using the OpenFlow protocol. The switch 320 transmits the failure information and the pre- The information about the packet which does not exist is inquired to the controller, and the processing is received and processed.

특히, 컨트롤러(310)는 경로 계산을 주 역할로 수행하는 것으로서, 패킷을 전송할 때 몇 가지 매개 변수를 기반으로 경로를 결정한다. 사용하는 매개 변수로는 최단경로(SPF)나 회선 속도 외에 사용자가 지정한 경로의 가중치나 부하 분산 조건 등이 있다. 컨트롤러(310)가 계산한 경로 정보는 TLS(Transport Layer Security) 또는 일반 TCP 연결을 통해 스위치(320)에 보내지며 플로우 테이블에 저장된다. 이후 스위치(320)는 패킷을 수신할 때마다 플로우 테이블을 확인하고 그 프레임을 지정된 경로로 전송한다.In particular, the controller 310 performs path computation as a main function, and determines a path based on several parameters when transmitting a packet. In addition to the shortest path (SPF) or line speed, the parameters used include the weight of the path specified by the user and the load distribution condition. The path information calculated by the controller 310 is sent to the switch 320 through a Transport Layer Security (TLS) or general TCP connection and is stored in a flow table. Each time the switch 320 receives a packet, the switch 320 checks the flow table and transmits the frame to the designated path.

한편, 소프트웨어 정의 네트워크(300)는 상기에서 언급한 링크 검출 서비스(link discovery service)를 제공한다. 이하, 도 3을 참조하여 종래의 링크 검출 서비스의 동작을 설명하기로 한다. Meanwhile, the software defined network 300 provides the above-mentioned link discovery service. Hereinafter, the operation of the conventional link detection service will be described with reference to FIG.

먼저, 컨트롤러(310)는 복수의 스위치(320) 각각의 포트에 대한 LLDP 패킷을 생성한다. 여기서, LLDP(Link Layer Discovery Protocol)는 해당 장비와 연결된 링크 상의 장비의 정보를 발견하는 프로토콜이고, LLDP 패킷은 링크 검색을 위한 패킷이다. First, the controller 310 generates LLDP packets for the ports of each of the plurality of switches 320. Here, the LLDP (Link Layer Discovery Protocol) is a protocol for discovering information of a device on a link connected to a corresponding device, and the LLDP packet is a packet for link search.

그 후, 컨트롤러(310)는 OpenFlow 패킷-아웃(Packet-Out) 메시지를 통해 복수의 스위치(320) 각각에 LLDP 패킷을 전송한다. 이 때, 도 3에서는 하나의 스위치(Switch 1)에 대해서만 패킷-아웃(Packet-Out) 메시지를 전송하는 것으로 도시하였으나, 이는 설명의 편의를 위한 것으로서 2개의 스위치 모두에 패킷-아웃 메시지를 전송한다. Thereafter, the controller 310 transmits an LLDP packet to each of the plurality of switches 320 through an OpenFlow packet-out message. In FIG. 3, a packet-out message is transmitted only to one switch (Switch 1). However, for convenience of description, the packet-out message is transmitted to both switches .

다음으로, 복수의 스위치(320) 각각은 수신 포트를 제외한 모든 포트를 통해 LLDP 패킷을 전달한다. 따라서, 이웃한 모든 스위치(320)가 LLDP 패킷을 전달받는다. Next, each of the plurality of switches 320 delivers an LLDP packet through all ports except the receiving port. Therefore, all neighboring switches 320 receive the LLDP packet.

계속하여, 다른 스위치로부터 LLDP 패킷을 전달받는 경우, 복수의 스위치(320) 각각은 이를 패킷-인(Packet-In) 메시지를 통해 컨트롤러(310)에게 전달한다. 따라서, 컨트롤러(310)는 LLDP 패킷으로 링크를 확인한다.When the LLDP packet is received from another switch, each of the plurality of switches 320 transmits the LLDP packet to the controller 310 through a packet-in message. Accordingly, the controller 310 confirms the link with the LLDP packet.

그러나, 상기에서 설명한 바와 같이, 종래의 링크 검색 서비스에서는 OFDP(OpenFlow Discovery Protocol)의 제어 메시지에 인증하기 위한 구성요소가 없기 때문에 공격자는 가짜 링크를 만들려고 시도할 수 있다(도 4 참조). However, as described above, in the conventional link search service, an attacker can attempt to create a false link because there is no component for authenticating the OFDP (OpenFlow Discovery Protocol) control message (see FIG. 4).

따라서, 도 3 및 도 5를 참조하여 상기에서 설명한 문제점을 해결할 수 있는 컨트롤러(320) 및 이를 포함하는 소프트웨어 정의 네트워크(300)를 상세하게 설명한다. Accordingly, the controller 320 and the software definition network 300 including the controller 320 that can solve the above-described problems will be described in detail with reference to FIGS. 3 and 5. FIG.

도 5는 본 발명의 일 실시예에 따른 컨트롤러(310)의 개략적인 구성을 도시한 도면이다. 5 is a diagram showing a schematic configuration of a controller 310 according to an embodiment of the present invention.

도 5를 참조하면, 본 발명의 컨트롤러(310)는 메시지 생성부(311) 및 통신부(312)를 포함한다. Referring to FIG. 5, the controller 310 of the present invention includes a message generating unit 311 and a communication unit 312.

이하, 도 3 및 도 5를 참조하여 OFDP(OpenFlow Discovery Protocol)를 통해 링크 검색 서비스에 대한 인증을 지원하는 소프트웨어 정의 네트워크(300)의 동작을 설명한다. Hereinafter, the operation of the software defined network 300 supporting authentication for the link discovery service through the OFDF (OpenFlow Discovery Protocol) will be described with reference to FIG. 3 and FIG.

먼저, 컨트롤러(310)의 메시지 생성부(311)는 링크 검색 메시지를 생성한다. First, the message generator 311 of the controller 310 generates a link discovery message.

이 때, 링크 검색 메시지는 LLDP(Link Layer Discovery Protocol)에서 정의한 프레임 형식으로서 링크 검색을 위한 LLDP 패킷을 포함하며, 링크 검색 메시지의 인증, 즉 LLDP 패킷을 인증하기 위한 메시지 인증 코드를 추가적으로 포함할 수 있다. In this case, the link discovery message includes a LLDP packet for link search as a frame format defined by LLDP (Link Layer Discovery Protocol), and may additionally include a message authentication code for authenticating a link discovery message, that is, an LLDP packet have.

보다 상세하게, LLDP 패킷은 LLDP를 지원하는 장비끼리 어떤 장비가 연결되었는지, LLDP에서 설정한 Fileld 값들에 대해 정보를 알려주거나 받는 기능을 수행한다. More specifically, the LLDP packet functions to inform or receive information about devices connected to LLDP-supporting devices, and information about the filter values set in LLDP.

그리고, 메시지 인증 코드는 해쉬 코드로 암호화된 메시지 인증 코드(cryptographic Message Authentication Code)로서, 이를 통해 인증 및 패킷의 무결성을 제공한다. 본 발명의 일 실시예에 따르면, 암호화된 메시지 인증 코드는 아래의 수학식 1과 같이 표현될 수 있다.
The message authentication code is a cryptographic Message Authentication Code encrypted with a hash code, thereby providing authentication and integrity of the packet. According to an embodiment of the present invention, the encrypted message authentication code can be expressed as Equation 1 below.

Figure pat00003
Figure pat00003

여기서, HMAC는 암호화 해쉬 함수를 이용한 상기 메시지 인증 코드, h( )는 암호화 해쉬 함수, K는 비밀키, m는 LLDP 패킷의 인증을 위한 메시지로서, LLDP의 TLV(Type Length Value, 유형 길이 값), |는 연결 연산자,

Figure pat00004
는 XOR 연산자, opad 및 ipad는 기 설정된 패딩 값(padding values)를 의미한다. Here, HMAC is a message authentication code using a cryptographic hash function, h () is a cryptographic hash function, K is a secret key, and m is a message for authentication of an LLDP packet. The TLV (Type Length Value) , | Is a concatenation operator,
Figure pat00004
Is an XOR operator, and opad and ipad are predetermined padding values.

여기서, TLV는 네트워크 상에서 이기종 시스템간에 주고받는 복잡한 데이트 구조를 3가지 형태의 Filed 값으로 표현하는 규칙, 즉 LLDP안에 포함되어 있는 장비들의 정보를 표시하는 Filed의 내용을 의미한다. 일례로, TLV는 Chassis ID(고유 스위치 식별자) 및 포트 ID를 포함한다. Here, the TLV is a rule for expressing a complex date structure exchanged between heterogeneous systems on a network by three types of filed values, that is, the content of a filed that displays information of devices included in the LLDP. For example, the TLV includes a Chassis ID (unique switch identifier) and a Port ID.

그리고, 보안 강화를 위해 동적 값 Ki ,j 대신에 정적 값인 K를 비밀키로 사용한다. 이 때, i는 LLDP 패킷의 인식자(Identified)이고, j는 주기적으로 네트워크 토폴로지를 갱신하는데 필요한 특정 주기 번호를 의미하며, Ki ,j는 매 LLDP 패킷당, 매 네트워크 토폴로지 갱신 주기당으로 변하게 된다.For security enhancement, K is a static value instead of the dynamic value K i , j . In this case, i is an identifier of the LLDP packet, j is a specific period number required for periodically updating the network topology, and K i , j is changed per LLDP packet and per network topology update cycle do.

다음으로, 컨트롤러(310)의 통신부(312)는 링크 검색 메시지를 복수의 스위치(320)로 전송한다. Next, the communication unit 312 of the controller 310 transmits the link discovery message to the plurality of switches 320. [

그리고, 복수의 스위치(320) 각각은 컨트롤러(310)부터 전송된 링크 검색 메시지를 수신하여 이를 다른 스위치로 전달하며, 이와 함께 다른 스위치에서 전송된 링크 검색 메시지를 수신하여 이를 컨트롤러(310)로 전송한다. Each of the plurality of switches 320 receives the link discovery message transmitted from the controller 310 and transmits the link discovery message to another switch, receives a link discovery message transmitted from another switch, and transmits the link discovery message to the controller 310 do.

계속하여, 컨트롤러(310)는 복수의 스위치(320) 각각으로부터 전달된 링크 검색 메시지를 수신하며, 링크 검색 메시지에 포함된 암호화된 메시지 인증 코드를 복호화한다. 이에 따라, 공격자가 가짜 링크를 만들려고 시도하는지 여부 등을 확인할 수 있다. Subsequently, the controller 310 receives the link discovery message transmitted from each of the plurality of switches 320, and decrypts the encrypted message authentication code included in the link discovery message. As a result, you can see whether the attacker is attempting to create a fake link, and so on.

요컨대, 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크(300) 및 이에 포함되는 컨트롤러(310)는 링크 검출을 위한 패킷에 암호화된 메시지 인증 코드를 추가하여 효과적으로 링크 토폴로지를 보호할 수 있는 장점이 있다. That is, the software defined network 300 according to an embodiment of the present invention and the controller 310 included therein have the advantage that the link topology can be effectively protected by adding an encrypted message authentication code to a packet for link detection .

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다. As described above, the present invention has been described with reference to particular embodiments, such as specific elements, and limited embodiments and drawings. However, it should be understood that the present invention is not limited to the above- Various modifications and variations may be made thereto by those skilled in the art to which the present invention pertains. Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .

Claims (4)

OFDP(OpenFlow Discovery Protocol)를 통해 링크 검색을 수행하는 소프트웨어 정의 네트워크에 있어서,
상기 소프트웨어 정의 네트워크의 데이터 평면에 위치하는 복수의 스위치; 및
상기 소프트웨어 정의 네트워크의 컨트롤 평면에 위치하며, 상기 복수의 스위치를 제어하는 컨트롤러;를 포함하되,
상기 컨트롤러는 링크 검색 메시지를 상기 복수의 스위치 각각으로 전송하고,
상기 복수의 스위치 각각은, 상기 컨트롤러부터 전송된 링크 검색 메시지를 수신하여 다른 스위치로 전달하며, 상기 다른 스위치에서 전송된 링크 검색 메시지를 상기 컨트롤러로 전송하며,
상기 링크 검색 메시지는 상기 링크 검색 메시지의 인증을 위한 메시지 인증 코드가 포함되는 것을 특징으로 하는 소프트웨어 정의 네트워크.
A software defined network for performing link discovery via OFDP (OpenFlow Discovery Protocol)
A plurality of switches located in a data plane of the software defined network; And
A controller located in a control plane of the software defined network and controlling the plurality of switches,
The controller transmits a link discovery message to each of the plurality of switches,
Each of the plurality of switches receives a link discovery message transmitted from the controller and transmits the link discovery message to another switch, transmits a link discovery message transmitted from the other switch to the controller,
Wherein the link discovery message includes a message authentication code for authentication of the link discovery message.
제1항에 있어서,
상기 링크 검색 메시지는 LLDP 패킷 및 상기 메시지 인증 코드로 구성되는 것을 특징으로 하는 소프트웨어 정의 네트워크.
The method according to claim 1,
Wherein the link discovery message comprises an LLDP packet and the message authentication code.
제2항에 있어서,
상기 메시지 인증 코드는 아래의 수학식과 같이 표현되는 것을 특징으로 하는 소프트웨어 정의 네트워크.

Figure pat00005

여기서, HMAC는 암호화 해쉬 함수를 이용한 상기 메시지 인증 코드, h( )는 상기 암호화 해쉬 함수, K는 비밀키, m는 LLDP 패킷의 인증을 위한 메시지, |는 연결 연산자,
Figure pat00006
는 XOR 연산자, opad 및 ipad는 기 설정된 패딩 값(padding values)를 의미함.
3. The method of claim 2,
Wherein the message authentication code is expressed as: < EMI ID = 19.0 >

Figure pat00005

Here, HMAC is a message authentication code using a cryptographic hash function, h () is the cryptographic hash function, K is a secret key, m is a message for authentication of an LLDP packet,
Figure pat00006
Is the XOR operator, opad and ipad are predetermined padding values.
OFDP(OpenFlow Discovery Protocol)를 통해 링크 검색을 수행하는 소프트웨어 정의 네트워크의 컨트롤 평면에 위치하는 컨트롤러에 있어서,
링크 검색 메시지를 생성하는 메시지 생성부; 및
상기 링크 검색 메시지를 상기 소프트웨어 정의 네트워크의 데이터 평면에 위치하는 복수의 스위치로 전송하는 통신부;를 포함하되,
상기 링크 검색 메시지는 상기 링크 검색 메시지의 인증을 위한 메시지 인증 코드가 포함되는 것을 특징으로 하는 컨트롤러.
A controller located in a control plane of a software defined network that performs link discovery through OFDP (OpenFlow Discovery Protocol)
A message generation unit generating a link search message; And
And a communication unit for transmitting the link discovery message to a plurality of switches located in a data plane of the software defined network,
Wherein the link discovery message includes a message authentication code for authentication of the link discovery message.
KR1020160134427A 2016-10-17 2016-10-17 SDN for supporting authentication for link discovery service and controller including the same KR20180041977A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160134427A KR20180041977A (en) 2016-10-17 2016-10-17 SDN for supporting authentication for link discovery service and controller including the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160134427A KR20180041977A (en) 2016-10-17 2016-10-17 SDN for supporting authentication for link discovery service and controller including the same

Publications (1)

Publication Number Publication Date
KR20180041977A true KR20180041977A (en) 2018-04-25

Family

ID=62088742

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160134427A KR20180041977A (en) 2016-10-17 2016-10-17 SDN for supporting authentication for link discovery service and controller including the same

Country Status (1)

Country Link
KR (1) KR20180041977A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200031799A (en) * 2018-09-17 2020-03-25 숭실대학교산학협력단 SDN Controller, The system and the method for security enhancement in SDN environments

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101404491B1 (en) * 2013-06-05 2014-06-10 한국과학기술정보연구원 System and Method for dynamic bandwidth setting of subnet based on OpenFlow network
US20150003259A1 (en) * 2012-01-30 2015-01-01 Nec Corporation Network system and method of managing topology
KR20160056191A (en) * 2014-11-11 2016-05-19 한국전자통신연구원 System and method for virtual network-based distributed multi-domain routing
KR20160072718A (en) * 2014-12-15 2016-06-23 주식회사 케이티 System and method for neighbor discovery based on ethernet in the software defined networks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150003259A1 (en) * 2012-01-30 2015-01-01 Nec Corporation Network system and method of managing topology
KR101404491B1 (en) * 2013-06-05 2014-06-10 한국과학기술정보연구원 System and Method for dynamic bandwidth setting of subnet based on OpenFlow network
KR20160056191A (en) * 2014-11-11 2016-05-19 한국전자통신연구원 System and method for virtual network-based distributed multi-domain routing
KR20160072718A (en) * 2014-12-15 2016-06-23 주식회사 케이티 System and method for neighbor discovery based on ethernet in the software defined networks

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Talal Alharbi et al., "The (In)Security of Topology Discovery in Software Defined Networks", Local Computer Networks (LCN), 2015 IEEE 40th Conference on, (2015.10.29.) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200031799A (en) * 2018-09-17 2020-03-25 숭실대학교산학협력단 SDN Controller, The system and the method for security enhancement in SDN environments

Similar Documents

Publication Publication Date Title
US10084751B2 (en) Load balancing among a cluster of firewall security devices
KR101900154B1 (en) SDN capable of detection DDoS attacks and switch including the same
CN109565500B (en) On-demand security architecture
US9288183B2 (en) Load balancing among a cluster of firewall security devices
WO2017016162A1 (en) Method for controlling transmission security of industrial communications flow based on sdn architecture
KR20180041953A (en) SDN capable of detection DDoS attacks using artificial intelligence and controller including the same
EP3382955B1 (en) Service function chaining (sfc) communication methods and devices
EP2991292B1 (en) Network collaborative defense method, device and system
JP2006339933A (en) Network access control method and system thereof
CN110099046B (en) Network hopping method and system of super-convergence server
US20210234812A1 (en) Traffic broker for routing data packets through sequences of in-line tools
KR101710385B1 (en) Method, apparatus and computer program for managing arp packet
Abdou et al. A framework and comparative analysis of control plane security of SDN and conventional networks
KR20180041977A (en) SDN for supporting authentication for link discovery service and controller including the same
KR101629089B1 (en) Hybrid openFlow method for combining legacy switch protocol function and SDN function
Babbar et al. Qos based security architecture for software-defined wireless sensor networking
KR101914831B1 (en) SDN to prevent an attack on the host tracking service and controller including the same
CN105812274B (en) Service data processing method and related equipment
JP2017208718A (en) Communication device and communication method
CN109039612B (en) Secure interaction method and system for software defined optical network
KR101948984B1 (en) SDN for detecting switch damage and controller including the same
KR101854996B1 (en) SDN for preventing malicious application and Determination apparatus comprising the same
KR20190049323A (en) SDN for preventing malware attack and controller including the same
KR20180045509A (en) SDN for detecting ARP spoofing attack and controller including the same
Lotlikar et al. A Defense Mechanism for DoS Attacks in SDN (Software Defined Network)

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application