KR102415998B1 - Sdp controller and method capable of load balancing of control channels in software-defined perimeter network system - Google Patents

Sdp controller and method capable of load balancing of control channels in software-defined perimeter network system Download PDF

Info

Publication number
KR102415998B1
KR102415998B1 KR1020210004344A KR20210004344A KR102415998B1 KR 102415998 B1 KR102415998 B1 KR 102415998B1 KR 1020210004344 A KR1020210004344 A KR 1020210004344A KR 20210004344 A KR20210004344 A KR 20210004344A KR 102415998 B1 KR102415998 B1 KR 102415998B1
Authority
KR
South Korea
Prior art keywords
message
host
token
proxy
control
Prior art date
Application number
KR1020210004344A
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 KR1020210004344A priority Critical patent/KR102415998B1/en
Application granted granted Critical
Publication of KR102415998B1 publication Critical patent/KR102415998B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity

Abstract

Provided is a load balancing method of a control channel in an SDP controller of a software-defined perimeter network system. The load balancing method of the present invention comprises the steps of: receiving an authentication message from at least one of an initiating host (IH) and an accepting host (AH); verifying the validity of the authentication message and generating a token used when transceiving a message; selecting and mapping a control proxy corresponding to the host; transmitting the token and address information on the selected control proxy to an authentication proxy; transmitting the token to the selected control proxy; and transceiving the message with the host using the token on the basis of the selected control proxy. Therefore, the burden caused by an increase in simultaneous access sessions of hosts can be minimized.

Description

소프트웨어 정의 경계 네트워크 시스템의 제어 채널의 부하분산이 가능한 SDP 컨트롤러 및 방법{SDP CONTROLLER AND METHOD CAPABLE OF LOAD BALANCING OF CONTROL CHANNELS IN SOFTWARE-DEFINED PERIMETER NETWORK SYSTEM}SDP CONTROLLER AND METHOD CAPABLE OF LOAD BALANCING OF CONTROL CHANNELS IN SOFTWARE-DEFINED PERIMETER NETWORK SYSTEM

본 발명은 소프트웨어 정의 경계 네트워크 시스템의 제어 채널의 부하분산이 가능한 SDP 컨트롤러 및 방법에 관한 것이다.The present invention relates to an SDP controller and method capable of load balancing of a control channel of a software-defined boundary network system.

최근 네트워크 시스템의 발전으로 사설 및 공공 서비스로의 네트워크 접속의 보안성을 강화기 위한 Zero-Trust 네트워크 구성에 대한 수요가 크게 증가하고 있다. Zero-Trust 네트워크를 구성하기 위하여 소프트웨어 정의 경계 네트워크(SDP, Software Defined Perimeter Network)가 하나의 구성 방법으로 제시되고 있다.With the recent development of network systems, the demand for zero-trust network configuration to enhance the security of network access to private and public services is increasing significantly. In order to configure a Zero-Trust network, a Software Defined Perimeter Network (SDP) has been proposed as a configuration method.

소프트웨어 정의 경계 네트워크는 화이트리스트 방식의 접속 허용 IH(Initiating Host), AH(Accepting Host) 장치를 기준으로 IH-AH 사이의 연결정보를 SDP 컨트롤러에 사전 정의하여 각 IH, AH에 제어 채널을 배포하여 제공하는 형태로 운용되고 있다.The software-defined perimeter network pre-defines the connection information between IH-AH in the SDP controller based on the whitelist-based IH (Initiating Host) and AH (Accepting Host) devices, and distributes control channels to each IH and AH. It is operated in the form provided.

소프트웨어 정의 경계 네트워크 기술은 공공 및 사설 망 구성 외 IoT, 카쉐어링, 스마트팩토리, 재택근무 시스템 등에 도입하여 활용하고자 하는 추세이다.Software-defined boundary network technology is a trend to introduce and utilize IoT, car-sharing, smart factory, and telecommuting systems in addition to public and private network configurations.

이러한 소프트웨어 정의 경계 네트워크는 IH, AH의 수가 증가함에 따라 제어 채널의 수립 실패, 메시지 송수신 지연 등 다양한 문제가 발생하고 있다.As the number of IHs and AHs increases in such a software-defined boundary network, various problems such as control channel establishment failure and message transmission/reception delay occur.

등록특허공보 제10-2007913호(2019.07.31)Registered Patent Publication No. 10-2007913 (2019.07.31)

본 발명이 해결하고자 하는 과제는 소프트웨어 정의 경계 네트워크 구성에 있어, SDP 컨트롤러 및 호스트 간의 제어 채널 부하분산 구조를 추가하여, SDP 컨트롤러의 동시접속 세션에 대한 부담을 최소화하고 제어 채널의 수립 및 메시지의 송수신 성능을 개선하는, 소프트웨어 정의 경계 네트워크 시스템의 제어 채널의 부하분산이 가능한 SDP 컨트롤러 및 방법을 제공하는 것이다.The problem to be solved by the present invention is to minimize the burden on the concurrent access session of the SDP controller by adding a control channel load balancing structure between the SDP controller and the host in configuring a software-defined boundary network, and establish a control channel and transmit/receive messages It is an object of the present invention to provide an SDP controller and method capable of load balancing of a control channel of a software-defined perimeter network system, which improves performance.

다만, 본 발명이 해결하고자 하는 과제는 상기된 바와 같은 과제로 한정되지 않으며, 또다른 과제들이 존재할 수 있다.However, the problems to be solved by the present invention are not limited to the problems described above, and other problems may exist.

상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 소프트웨어 정의 경계 네트워크 시스템의 SDP 컨트롤러에서의 제어 채널의 부하분산 방법은 IH(Initiating Host) 및 AH(Accepting Host) 중 적어도 하나의 호스트로부터의 인증 메시지를 수신하는 단계; 상기 인증 메시지의 유효성을 검증하여 메시지 송수신시 사용되는 토큰을 생성하는 단계; 상기 호스트에 상응하는 제어 프록시를 선택 및 매핑시키는 단계; 상기 토큰 및 상기 선택된 제어 프록시의 주소 정보를 상기 인증 프록시로 전달하는 단계; 상기 선택된 제어 프록시로 상기 토큰을 전송하는 단계; 및 상기 선택된 제어 프록시를 기반으로 상기 토큰을 이용하여 상기 호스트와의 메시지를 송수신하는 단계를 포함한다.In a method for balancing a control channel in an SDP controller of a software-defined boundary network system according to an aspect of the present invention for solving the above-mentioned problems, authentication from at least one host of an Initiating Host (IH) and an Accepting Host (AH) receiving a message; generating a token used when transmitting and receiving a message by verifying the validity of the authentication message; selecting and mapping a control proxy corresponding to the host; transmitting the token and address information of the selected control proxy to the authentication proxy; sending the token to the selected control proxy; and transmitting and receiving a message to and from the host using the token based on the selected control proxy.

본 발명의 일부 실시예에서, 상기 IH 및 AH 중 적어도 하나의 호스트로부터의 인증 메시지를 수신하는 단계는, 상기 적어도 하나의 호스트로에서 각각 소정의 인증 프록시 중 어느 하나를 지정하여 상응하는 인증 프록시로 인증 메시지를 전송함에 따라, 상기 상응하는 인증 프록시로부터 상기 인증 메시지를 수신할 수 있다.In some embodiments of the present invention, the step of receiving the authentication message from the at least one host of the IH and the AH includes designating any one of predetermined authentication proxies from the at least one host to the corresponding authentication proxy. As the authentication message is transmitted, the authentication message may be received from the corresponding authentication proxy.

본 발명의 일부 실시예에서, 상기 호스트에 상응하는 제어 프록시를 선택 및 매핑시키는 단계는, 상기 IH 및 AH와 각각 수립된 제어 채널이 가장 적은 제어 프록시를 선택하여 매핑시킬 수 있다.In some embodiments of the present invention, the selecting and mapping of the control proxy corresponding to the host may include selecting and mapping the control proxy having the fewest control channels established with the IH and AH, respectively.

본 발명의 일부 실시예에서, 상기 선택된 제어 프록시를 기반으로 상기 토큰을 이용하여 상기 호스트와의 메시지를 송수신하는 단계는, 상기 제어 프록시로부터 수신한 메시지에 포함된 호스트의 ID의 매핑 정보를 확인하는 단계; 상기 제어 프록시와 상기 호스트 간의 매핑 정보가 일치하는 경우, 상기 메시지에 포함된 토큰을 기반으로 검증을 수행하는 단계; 및 상기 검증 결과 유효한 것으로 판단된 경우 상기 메시지를 처리하는 단계를 포함할 수 있다.In some embodiments of the present invention, the step of transmitting and receiving a message to and from the host using the token based on the selected control proxy includes checking mapping information of an ID of a host included in the message received from the control proxy. step; performing verification based on the token included in the message when the mapping information between the control proxy and the host matches; and processing the message when it is determined that the verification result is valid.

본 발명의 일부 실시예에서, 상기 호스트는 상기 토큰을 메시지에 포함시켜 상응하는 제어 프록시로 전송하고, 상기 제어 프록시는 상기 메시지에 포함된 토큰을 저장된 토큰과 비교하여 상기 메시지의 유효성을 검증할 수 있다. In some embodiments of the present invention, the host may include the token in a message and transmit it to a corresponding control proxy, and the control proxy may verify the validity of the message by comparing the token included in the message with a stored token. have.

본 발명의 일부 실시예에서, 상기 선택된 제어 프록시를 기반으로 상기 토큰을 이용하여 상기 호스트와의 메시지를 송수신하는 단계는, 전송하고자 하는 상기 호스트(이하, 전송 대상 호스트)의 제어 주소 및 토큰을 메시지에 포함시키는 단계; 및 상기 매핑된 정보에 기반하여 상기 전송 대상 호스트가 접속한 제어 프록시를 통해 상기 메시지를 전송하는 단계를 포함할 수 있다.In some embodiments of the present invention, the step of transmitting and receiving a message to and from the host using the token based on the selected control proxy includes the control address and token of the host to be transmitted (hereinafter referred to as a transmission target host) as the message. including in the; and transmitting the message through a control proxy accessed by the transmission target host based on the mapped information.

본 발명의 일부 실시예에서, 상기 제어 프록시는 상기 메시지에 포함된 전송 대상 호스트의 제어 주소에 기초하여 상기 메시지를 전송하고, 상기 전송 대상 호스트는 상기 메시지를 수신함에 따라 토큰을 검증하여 유효한 경우 상기 메시지를 처리할 수 있다.In some embodiments of the present invention, the control proxy transmits the message based on a control address of a transmission target host included in the message, and the transmission target host verifies a token upon receiving the message and, if valid, message can be processed.

본 발명의 일부 실시예는 상기 제어 프록시로부터 수신한 로그아웃 메시지에 포함된 호스트의 ID의 매핑 정보를 확인하는 단계; 상기 제어 프록시와 상기 호스트 간의 매핑 정보가 일치하는 경우, 상기 로그아웃 메시지에 포함된 토큰을 기반으로 검증을 수행하는 단계; 상기 검증 결과 유효한 것으로 판단된 경우 상기 호스트에 상응하는 토큰을 파기하여 로그아웃 처리하는 단계; 및 상기 제어 프록시로 상기 로그아웃 처리된 호스트에 상응하는 토큰의 파기 명령을 전송하는 단계를 더 포함할 수 있다.In some embodiments of the present invention, the method includes: checking mapping information of an ID of a host included in a logout message received from the control proxy; performing verification based on the token included in the logout message when the mapping information between the control proxy and the host matches; when it is determined that the verification result is valid, destroying the token corresponding to the host to logout; and transmitting a token destruction command corresponding to the logout-processed host to the control proxy.

본 발명의 일부 실시예에서, 상기 호스트는 상기 토큰을 로그아웃 메시지에 포함시켜 상응하는 제어 프록시로 전송하고, 상기 제어 프록시는 상기 로그아웃 메시지에 포함된 토큰을 저장된 토큰과 비교하여 상기 로그아웃 메시지의 유효성을 검증한 후, 유효한 경우 상기 SDP 컨트롤러로 전송하며, 상기 파기 명령을 수신함에 따라 상기 호스트에 상응하는 토큰을 파기할 수 있다.In some embodiments of the present invention, the host includes the token in a logout message and transmits it to a corresponding control proxy, and the control proxy compares the token included in the logout message with a stored token to send the logout message After verifying the validity of , if valid, it is transmitted to the SDP controller, and upon receiving the destruction command, the token corresponding to the host can be destroyed.

또한, 본 발명의 제2측면에 따른 소프트웨어 정의 경계 네트워크 시스템의 제어 채널의 부하분산이 가능한 SDP 컨트롤러는 IH(Initiating Host) 및 AH(Accepting Host) 중 적어도 하나의 호스트 및 인증 프록시와 제어 프록시와 메시지를 송수신하는 통신모듈, 상기 제어 채널의 부하 분산을 위한 프로그램이 저장된 메모리 및 상기 메모리에 저장된 프로그램을 실행시키는 프로세서를 포함한다. 이때, 상기 프로세서는 상기 프로그램을 실행시킴에 따라, 상기 적어도 하나의 호스트로부터의 인증 메시지를 수신하면, 상기 인증 메시지의 유효성을 검증하여 메시지 송수신시 사용되는 토큰을 생성하고, 상기 호스트에 상응하는 제어 프록시를 선택 및 매핑시킨 후 상기 토큰 및 상기 선택된 제어 프록시의 주소 정보를 상기 인증 프록시로 전달하고, 상기 선택된 제어 프록시로 상기 토큰을 전송하며, 상기 선택된 제어 프록시를 기반으로 상기 토큰을 이용하여 상기 호스트와의 메시지를 송수신한다.In addition, the SDP controller capable of load balancing of a control channel of a software-defined boundary network system according to the second aspect of the present invention includes a host, an authentication proxy, a control proxy, and a message of at least one of an Initiating Host (IH) and an Accepting Host (AH). It includes a communication module for transmitting and receiving, a memory in which a program for load balancing of the control channel is stored, and a processor for executing the program stored in the memory. At this time, when the processor executes the program and receives an authentication message from the at least one host, the processor verifies the validity of the authentication message to generate a token used for message transmission and reception, and controls corresponding to the host. After selecting and mapping a proxy, the token and address information of the selected control proxy are transmitted to the authentication proxy, the token is transmitted to the selected control proxy, and the host uses the token based on the selected control proxy. send and receive messages with

상술한 과제를 해결하기 위한 본 발명의 다른 면에 따른 컴퓨터 프로그램은, 하드웨어인 컴퓨터와 결합되어 SDP 컨트롤러에서의 제어 채널 부하분산 방법을 실행하며, 컴퓨터 판독가능 기록매체에 저장된다.A computer program according to another aspect of the present invention for solving the above problems is combined with a computer, which is hardware, to execute a control channel load balancing method in the SDP controller, and is stored in a computer-readable recording medium.

본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific details of the invention are included in the detailed description and drawings.

전술한 본 발명의 일 실시예에 의하면, SDP 컨트롤러에서 프록시들의 접속 세션만 관리하면 되므로, 호스트들의 동시 접속 세션의 증가에 따른 부담을 최소화할 수 있다.According to the above-described embodiment of the present invention, since the SDP controller only needs to manage the connection sessions of the proxies, it is possible to minimize the burden caused by the increase of the simultaneous connection sessions of the hosts.

또한, 시스템의 운용 중에도 호스트의 수가 늘어 추가적인 부하분산 구성이 필요할 시에도 간단하게 제어 프록시만 추가 설치하면 되는 확장 용이성을 갖느다.In addition, even when the number of hosts increases during system operation and additional load balancing configuration is required, it is easy to expand by simply installing a control proxy.

이와 더불어, SDP 컨트롤러를 방화벽 내부, 프록시들만 방화벽 외부에 운용하여 외부의 공격으로부터 SDP 컨트롤러를 안정하게 보호할 수 있다.In addition, by operating the SDP controller inside the firewall and only proxies outside the firewall, the SDP controller can be reliably protected from external attacks.

본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.Effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

도 1a 내지 도 1c는 종래 소프트웨어 정의 경계 네트워크를 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 소프트웨어 정의 경계 네트워크 시스템을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 SDP 컨트롤러에서의 제어 채널 부하분산 방법의 순서도이다.
도 4는 호스트에서 SDP 컨트롤러로 메시지를 송신하는 과정을 설명하기 위한 도면이다.
도 5는 SDP 컨트롤러로 메시지에서 호스트로 메시지를 송신하는 과정을 설명하기 위한 도면이다.
도 6은 제어 채널의 파기 절차를 설명하기 위한 도면이다.
도 7은 소프트웨어 정의 경계 네트워크 시스템의 제어 채널의 부하분산이 가능한 SDP 컨트롤러의 블록도이다.
1A to 1C are diagrams for explaining a conventional software-defined boundary network.
2 is a diagram for explaining a software-defined boundary network system according to an embodiment of the present invention.
3 is a flowchart of a control channel load balancing method in an SDP controller according to an embodiment of the present invention.
4 is a diagram for explaining a process of transmitting a message from a host to an SDP controller.
5 is a diagram for explaining a process of transmitting a message from a message to a host by an SDP controller.
6 is a diagram for explaining a procedure for canceling a control channel.
7 is a block diagram of an SDP controller capable of load balancing of a control channel of a software-defined boundary network system.

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

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.The terminology used herein is for the purpose of describing the embodiments and is not intended to limit the present invention. In this specification, the singular also includes the plural unless specifically stated otherwise in the phrase. As used herein, “comprises” and/or “comprising” does not exclude the presence or addition of one or more other components in addition to the stated components. Like reference numerals refer to like elements throughout, and "and/or" includes each and every combination of one or more of the recited elements. Although "first", "second", etc. are used to describe various elements, these elements are not limited by these terms, of course. These terms are only used to distinguish one component from another. Accordingly, it goes without saying that the first component mentioned below may be the second component within the spirit of the present invention.

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

도 1a 내지 도 1c는 종래 소프트웨어 정의 경계 네트워크를 설명하기 위한 도면이다.1A to 1C are diagrams for explaining a conventional software-defined boundary network.

CSA(Cloud Security Alliance)에서 개발된 소프트웨어 정의 경계 네트워크는 도 1a와 같은 워크 플로우에 의해 수행된다.A software-defined perimeter network developed by Cloud Security Alliance (CSA) is performed by a workflow as shown in FIG. 1A.

먼저, SDP 컨트롤러(10)가 온라인 상태가 되면 선택적 인증 및 권한 부여 서비스(예를 들어, PKI, 지문, 지리 위치, SAML, OpenID, LDAP, Kerberosm, 다단계 인증 및 기타 서비스)에 연결한다(S11).First, when the SDP controller 10 goes online, it connects to an optional authentication and authorization service (eg, PKI, fingerprint, geolocation, SAML, OpenID, LDAP, Kerberosm, multi-factor authentication and other services) (S11) .

다음으로, SDP 컨트롤러(10)가 온라인 상태가 되면서 수락 호스트(30)는 SDP 컨트롤러(10)에 연결하고 인증을 진행하고, 다른 호스트와 통신을 승인하지 않으며 프로비저닝(provisioning)되지 않은 요청에는 응답하지 않는다(S12).Next, as the SDP controller 10 goes online, the accepting host 30 connects to the SDP controller 10 and performs authentication, does not approve communication with other hosts, and does not respond to unprovisioned requests. not (S12).

다음으로, 온라인 상태가 된 시작 호스트(20, Initiating Host)는 SDP 컨트롤러(10)와 연결하여 인증을 진행한다(S13).Next, the online initiating host 20 (Initiating Host) connects to the SDP controller 10 and performs authentication (S13).

다음으로, IH(20)를 인증한 후 SDP 컨트롤러(10)는 IH(20)가 통신할 권한이 있는 '수락 호스트' 목록을 지정한다(S14).Next, after authenticating the IH 20, the SDP controller 10 designates a list of 'accepted hosts' with which the IH 20 is authorized to communicate (S14).

다음으로, SDP 컨트롤러(10)는 수락 호스트(30, Accepting Host)가 IH(20)의 통신 및 암호화된 통신에 필요한 선택적 정책을 제공한다(S15).Next, the SDP controller 10 provides an optional policy required for the accepting host 30, Accepting Host, for communication and encrypted communication of the IH 20 (S15).

다음으로, SDP 컨트롤러(10)는 IH(20)에 AH(30) 목록과 암호화된 통신에 필요한 선택적 정책을 제공한다(S16)Next, the SDP controller 10 provides the IH 20 with an AH 30 list and an optional policy required for encrypted communication (S16).

이후, IH(20)는 모든 승인된 AH(30)에 대한 상호 TLS 터널을 형성한다(S17).Thereafter, the IH 20 forms a mutual TLS tunnel for all approved AH 30 (S17).

이러한 일련의 과정을 통해 형성된 소프트웨어 정의 네트워크는 도 1b에 도시된 바와 같다. SDP 컨트롤러(10)는 다수의 IH(20) 및 AH(30)와 직접 연결되어 제어 채널을 형성하는 방식이다.A software-defined network formed through this series of processes is shown in FIG. 1B. The SDP controller 10 is directly connected to a plurality of IHs 20 and AH 30 to form a control channel.

하지만, SDP 컨트롤러(10)는 도 1c와 같이 다수의 IH(20) 및 AH(30)와 직접 연결되어 제어 채널을 형성하는 방식이므로, 엔터프라이즈급 서버 환경에 SDP 컨트롤러(10)를 구축하더라도 호스트들의 동시 접속 세션이 늘어남에 따라 성능이 저하되고, 제어 채널의 수립 실패, 제어 메시지 송수신 지연 등의 문제가 발생할 수 있다.However, since the SDP controller 10 is directly connected to a plurality of IHs 20 and AH 30 as shown in FIG. 1c to form a control channel, even if the SDP controller 10 is built in an enterprise-class server environment, the As the number of concurrent access sessions increases, performance may deteriorate, and problems such as failure to establish a control channel and delay in transmission and reception of control messages may occur.

이 경우, SDP 컨트롤러(10)를 엔터프라이즈 서버 환경에서 클러스터링 구성 방법으로 해결할 수도 있지만, 별도의 물리장치(Load Balancer)를 두거나 클러스터들 간에 연계 소프트웨어를 구성하는 방식으로 해결해야 하며, 이러한 방식은 설치, 운용 및 유지보수에 따른 비용 및 난이도가 따르고, 단순 서비스 제공(Service Provider) 서버 환경에 맞게 동작되어 SDP 컨트롤러(10)와 호스트(20, 30) 사이의 양방향 통신해야 하는 소프트웨어 정의 경계 네트워크의 구조의 특성에 적합하지 않다.In this case, the SDP controller 10 can be solved by the clustering configuration method in the enterprise server environment, but it must be solved by installing a separate physical device (Load Balancer) or configuring the linkage software between the clusters. The cost and difficulty of operation and maintenance follow, and the structure of the software-defined boundary network that operates according to a simple service provider server environment and requires bidirectional communication between the SDP controller 10 and the hosts 20 and 30 It is not suitable for the characteristics.

이를 위해, 본 발명의 일 실시예는 소프트웨어 정의 경계 네트워크 구성에 있어, SDP 컨트롤러-호스트 간 제어 채널의 부하분산 구조를 추가하여, SDP 컨트롤러의 동시접속 세션에 대한 부담을 최소화하고, 제어 채널의 수립 및 제어 메시지의 송수신 성능을 개선할 수 있다.To this end, an embodiment of the present invention adds a load balancing structure of the control channel between the SDP controller and the host in the software-defined boundary network configuration, thereby minimizing the burden on the concurrent access session of the SDP controller and establishing the control channel. And it is possible to improve the transmission and reception performance of the control message.

이하, 첨부된 도면을 참조하여 본 발명의 실시예에 따른 소프트웨어 정의 경계 네트워크 시스템(1)의 SDP 컨트롤러에서의 제어 채널의 부하분산 방법을 상세하게 설명한다. Hereinafter, a load balancing method of a control channel in the SDP controller of the software-defined boundary network system 1 according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명의 일 실시예에 따른 소프트웨어 정의 경계 네트워크 시스템(1)을 설명하기 위한 도면이다.2 is a diagram for explaining a software-defined boundary network system 1 according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 소프트웨어 정의 경계 네트워크 시스템(1)은 SDP 컨트롤러(110), 인증 프록시(120) 제어 프록시(130) 및 적어도 하나의 호스트(200, 300)를 포함한다.The software-defined perimeter network system 1 according to an embodiment of the present invention includes an SDP controller 110 , an authentication proxy 120 , a control proxy 130 , and at least one host 200 , 300 .

호스트(200, 300)는 IH(200) 및 AH(300) 중 적어도 하나를 의미하는 것으로, 본 발명의 일 실시예에서의 호스트(200, 300)는 각각 하나의 제어 프록시(130) 및 하나의 인증 프록시(120)와 각각 연결 접속된다.The hosts 200 and 300 mean at least one of the IH 200 and the AH 300, and the hosts 200 and 300 in an embodiment of the present invention each have one control proxy 130 and one Each of the authentication proxy 120 is connected and connected.

인증 프록시(120)는 각 호스트(200, 300)와 SDP 컨트롤러(110) 간의 인증을 위해 사용되고, 제어 프록시(130)는 상기 인증이 완료됨에 따라 SDP 컨트롤러 서버(110)와 호스트(200, 300) 간에 수립된 제어 채널에 따른 메시지를 송수신하기 위해 사용된다.The authentication proxy 120 is used for authentication between the hosts 200 and 300 and the SDP controller 110, and the control proxy 130 is used for authentication between the SDP controller server 110 and the hosts 200 and 300 as the authentication is completed. It is used to transmit and receive messages according to the established control channel between the two.

SDP 컨트롤러(110)는 인증 프록시(120) 및 제어 프록시(130)를 통해 각 호스트(200, 300)와 채널을 형성하여 메시지를 송수신하며, 토큰에 기반하여 유효성을 검증한 후 메시지에 상응하는 처리를 수행한다.The SDP controller 110 forms a channel with each host 200 and 300 through the authentication proxy 120 and the control proxy 130 to transmit and receive messages, and after verifying the validity based on the token, processing corresponding to the message carry out

이러한 구조를 통해 본 발명의 일 실시예는 SDP 컨트롤러(110)로의 동시 접속 수를 최소화하며 IH/AH(200, 300)와의 제어 채널을 생성 및 유지하는 것을 특징으로 한다. Through this structure, an embodiment of the present invention is characterized in that the number of simultaneous connections to the SDP controller 110 is minimized and a control channel with the IH/AH 200 and 300 is created and maintained.

도 3은 본 발명의 일 실시예에 따른 SDP 컨트롤러(110)에서의 제어 채널 부하분산 방법의 순서도이다.3 is a flowchart of a control channel load balancing method in the SDP controller 110 according to an embodiment of the present invention.

먼저, 본 발명의 일 실시예는 다음과 같은 사전 조건을 정의하여 적용한다.First, in an embodiment of the present invention, the following pre-conditions are defined and applied.

1. SDP 컨트롤러(110)에서는 사전에 접속 가능한 호스트(200, 300)의 제어 주소(IP, Port)를 등록하여 관리하고 있다.1. The SDP controller 110 registers and manages the control addresses (IP, Port) of the accessible hosts 200 and 300 in advance.

2. SDP 컨트롤러(110)에서는 사전에 접속 가능한 인증 프록시(120)와 제어 프록시(130)를 등록하여 관리하고 있다. 즉, SDP 컨트롤러(110)는 인증 프록시(120)에 제어 프록시(130)들의 사전 인증이 완료된 상태이며, 가용상태의 모니터링이 가능하다.2. The SDP controller 110 registers and manages the accessable authentication proxy 120 and the control proxy 130 in advance. That is, the SDP controller 110 is in a state in which pre-authentication of the control proxies 130 to the authentication proxy 120 is completed, and the availability status can be monitored.

3. SDP 컨트롤러(110)에서는 접속된 제어 프록시(130)들의 성능 상태를 수집하여 모니터링하고 있다. 여기에서 제어 프록시(130)들의 성능 상태는 제어 프록시(130)별로 형성되어 있는 호스트(200, 300)들과의 제어채널의 수를 의미한다.3. The SDP controller 110 collects and monitors the performance status of the connected control proxies 130 . Here, the performance state of the control proxies 130 means the number of control channels with the hosts 200 and 300 formed for each control proxy 130 .

이러한 본 발명의 일 실시예에 따른 SDP 컨트롤러(110)에서의 제어 채널 부하분산 방법은, 호스트(200, 300)의 인증 및 제어 프록시(120, 130) 할당 절차, 메시지 송수신 절차, 제어 채널 파기 절차를 수행한다.The control channel load balancing method in the SDP controller 110 according to an embodiment of the present invention includes the authentication of the hosts 200 and 300 and the control proxy 120 and 130 assignment procedure, the message transmission/reception procedure, and the control channel destruction procedure. carry out

먼저, 호스트(200, 300)의 인증 및 제어 프록시 할당 절차에 관하여 설명하도록 한다.First, the authentication and control proxy assignment procedures of the hosts 200 and 300 will be described.

먼저, 적어도 하나의 호스트(200, 300)에서는 각각 소정의 인증 프록시(120) 중 어느 하나를 지정하여 상응하는 인증 프록시(120)로 인증 메시지(Host ID, Auth Value)를 전송한다(S111). 인증 메시지를 수신한 인증 프록시(120)에서는 인증 메시지를 SDP 컨트롤러(110)로 전송한다(S113).First, at least one host 200 , 300 transmits an authentication message (Host ID, Auth Value) to the corresponding authentication proxy 120 by designating one of the predetermined authentication proxies 120, respectively (S111). Upon receiving the authentication message, the authentication proxy 120 transmits the authentication message to the SDP controller 110 (S113).

다음으로, SDP 컨트롤러(110)는 호스트(200, 300)로부터의 인증 메시지를 수신함에 따라 인증 메시지의 유효성을 검증하고(S115), 유효성 검증 결과 유효한 경우 제어 메지시의 송수신시 사용되는 토큰을 생성한다(S117).Next, the SDP controller 110 verifies the validity of the authentication message as it receives the authentication message from the hosts 200 and 300 ( S115 ), and if the validation result is valid, generates a token used for transmission and reception of the control message do (S117).

다음으로, SDP 컨트롤러(110)는 호스트(200, 300)에 상응하는 제어 프록시(130)를 선택하여, 해당 호스트(200, 300)와 제어 프록시(130)를 매핑시킨다(S119). 이때, SDP 컨트롤러(110)는 사전에 모니터링하고 있던 제어 프록시(130)들 중에서 각 호스트(200, 300)와 수립된 제어채널의 수가 가장 적은 제어 프록시(130)를 선택하여 메시지 송수신시의 부하를 최소화하도록 한다. 이와 같이 각 호스트(200, 300)에 상응하도록 선택된 제어 프록시(130)를 기록(Host ID-제어 프록시 ID를 매핑)한다.Next, the SDP controller 110 selects the control proxy 130 corresponding to the hosts 200 and 300 and maps the corresponding hosts 200 and 300 to the control proxy 130 ( S119 ). At this time, the SDP controller 110 selects the control proxy 130 with the smallest number of established control channels with each host 200 and 300 from among the control proxies 130 monitored in advance to reduce the load during message transmission and reception. to be minimized. In this way, the control proxy 130 selected to correspond to each host 200 and 300 is recorded (Host ID-control proxy ID mapping).

다음으로, SDP 컨트롤러(110)는 인증 결과 메시지를 인증 프록시(120)로 전달한다(S121). 여기에서, 인증 결과 메시지에는 생성된 토큰과, S119 단계에서 선택된 제어 프록시의 주소 정보(IP, Port 또는 URL 등)가 포함된다.Next, the SDP controller 110 transmits the authentication result message to the authentication proxy 120 (S121). Here, the authentication result message includes the generated token and address information (such as IP, Port, or URL) of the control proxy selected in step S119.

다음으로, 인증 프록시(120)에서는 S111 단계에서의 호스트(200, 300)로 인증 결과 메시지를 전송한다(S123). 이를 수신한 호스트(200, 300)들은 토큰을 저장한다(S125). 호스트(200, 300)가 저장한 토큰은 추후 메시지 송신시, 수신 메시지 검증시 이용한다.Next, the authentication proxy 120 transmits the authentication result message to the hosts 200 and 300 in step S111 (S123). The hosts 200 and 300 that have received this store the token (S125). The tokens stored by the hosts 200 and 300 are used later when transmitting messages and verifying received messages.

다음으로, SDP 컨트롤러(110) 서버는 S119 단계에서 선택된 제어 프록시(130)로 생성된 토큰을 전달하며(S127), 이를 수신한 제어 프록시(130)는 수신한 토큰을 호스트(200, 300) 별로 저장(Host ID-토큰)하여 관리한다(S129).Next, the SDP controller 110 server transmits the generated token to the control proxy 130 selected in step S119 (S127), and the control proxy 130 receiving the token transmits the received token to each host 200 and 300. Store (Host ID-token) and manage (S129).

이와 같은 일련의 과정을 통해 IH, AH 호스트(120, 130)들의 인증 절차 및 제어 채널 수립이 완료되며, 제어 채널 수립이 완료됨에 따라, SDP 컨트롤러(110)와 호스트(200, 300)는 제어 프록시(130)를 기반으로 토큰을 이용하여 메시지를 송수신한다.Through this series of processes, the authentication procedure and the control channel establishment of the IH and AH hosts 120 and 130 are completed, and as the control channel establishment is completed, the SDP controller 110 and the hosts 200 and 300 control proxy Based on (130), a message is transmitted and received using a token.

도 4는 호스트(200, 300)에서 SDP 컨트롤러(110)로 메시지를 송신하는 과정을 설명하기 위한 도면이다.4 is a diagram for explaining a process of transmitting a message from the hosts 200 and 300 to the SDP controller 110 .

먼저, 호스트(200, 300)는 S125 단계에서 저장한 토큰을 메시지에 포함시켜 상응하는 제어 프록시(130)로 메시지를 전송한다(S211).First, the hosts 200 and 300 transmit the message to the corresponding control proxy 130 by including the token stored in step S125 in the message (S211).

이를 수신한 제어 프록시(130)는 메시지에 포함된 토큰을 S127 단계에서 저장한 토큰과 비교(Host ID-Token)하여 메시지의 유효성을 검증한다(S213).Upon receiving this, the control proxy 130 verifies the validity of the message by comparing the token included in the message with the token stored in step S127 (Host ID-Token) (S213).

다음으로, 제어 프록시(130)는 검증 결과 유효한 경우 SDP 컨트롤러(110)로 메시지에 'Host ID-토큰'을 포함시켜 전송한다(S215).Next, if the verification result is valid, the control proxy 130 transmits the 'Host ID-token' included in the message to the SDP controller 110 (S215).

다음으로, SDP 컨트롤러(110)는 제어 프록시(130)로부터 수신한 메시지에 포함된 호스트(200, 300)의 ID의 매핑 정보를 확인하여, 메시지에 포함된 Host ID가 S119 단계에서 매핑한 제어 프록시(130)로부터 수신되었는지 여부를 검증한다(S217).Next, the SDP controller 110 checks the mapping information of the IDs of the hosts 200 and 300 included in the message received from the control proxy 130, and the control proxy mapped in step S119 by the Host ID included in the message. It is verified whether it has been received from (130) (S217).

검증 결과 제어 프록시(130)와 호스트(200, 300) 간의 매핑 정보가 일치하는 경우, SDP 컨트롤러(110)는 메시지에 포함된 토큰을 기반으로 비교하여(Host ID-토큰) 검증을 수행하고(S219), 검증 결과 유효한 것으로 판단된 경우 메시지를 처리한다(S221).If the verification result matches the mapping information between the control proxy 130 and the hosts 200 and 300, the SDP controller 110 compares them based on the token included in the message (Host ID-token) and performs verification (S219). ), if it is determined that the verification result is valid, the message is processed (S221).

도 5는 SDP 컨트롤러(110)로 메시지에서 호스트(200, 300)로 메시지를 송신하는 과정을 설명하기 위한 도면이다.FIG. 5 is a diagram for explaining a process of transmitting a message from a message to the hosts 200 and 300 to the SDP controller 110 .

먼저, SDP 컨트롤러(110)는 전송하고자 하는 전송 대상 호스트(200, 300)의 제어 주소를 메시지에 포함시킨다(S311). 이때, SDP 컨트롤러(110)는 사전 조건에서 기술한 바와 같이 호스트(200, 300)의 제어주소(IP, Port)를 등록하여 관리하고 있다.First, the SDP controller 110 includes the control addresses of the transmission target hosts 200 and 300 to be transmitted in the message (S311). At this time, the SDP controller 110 registers and manages the control addresses (IP, Port) of the hosts 200 and 300 as described in the precondition.

다음으로, S117 단계에서 생성한 토큰을 메시지에 포함시키고(S313), S119 단계에 따라 매핑된 정보(Host ID-제어 프록시 ID 매핑)에 기반하여 전송 대상 호스트(200, 300)가 접속한 제어 프록시(130)를 선택한다(S315). 이후, SDP 컨트롤러(110)는 선택된 제어 프록시(130)로 메시지를 전송한다(S317).Next, the token generated in step S117 is included in the message (S313), and the control proxy accessed by the transmission target hosts 200 and 300 based on the information mapped according to step S119 (Host ID-control proxy ID mapping) (130) is selected (S315). Thereafter, the SDP controller 110 transmits a message to the selected control proxy 130 (S317).

다음으로, 제어 프록시(130)는 메시지에 포함된 전송 대상 호스트(200, 300)의 제어 주소에 기초하여 전송 대상 호스트(200, 300)로 메시지를 전송하고(S319), 전송 대상 호스트(200, 300)는 메시지를 수신한다(S321).Next, the control proxy 130 transmits the message to the transmission target hosts 200 and 300 based on the control address of the transmission target hosts 200 and 300 included in the message (S319), and the transmission target host 200, 300) receives a message (S321).

이후, 전송 대상 호스트(200, 300)는 메시지를 수신함에 따라 토큰을 검증하고(S323), 검증 결과 유효한 경우 수신한 메시지를 처리한다(S325).Thereafter, the transmission target hosts 200 and 300 verify the token upon receiving the message (S323), and if the verification result is valid, process the received message (S325).

도 6은 제어 채널의 파기 절차를 설명하기 위한 도면이다.6 is a diagram for explaining a procedure for canceling a control channel.

먼저, 호스트(200, 300)는 S125 단계에서 저장한 토큰을 로그아웃 메시지에 포함시킨 후, 상응하는 제어 프록시(130)로 전송한다(S411).First, the hosts 200 and 300 include the token stored in step S125 in the logout message and then transmit it to the corresponding control proxy 130 (S411).

제어 프록시(130)는 로그아웃 메시지를 수신하면, 로그아웃 메시지에 포함된 토큰을 S127 단계에서 저장한 토큰과 비교하여(Host ID-토큰) 로그아웃 메시지의 유효성을 검증하고(S414), 검증 결과 유효한 경우 로그아웃 메시지에 'Host ID-토큰'을 포함시켜 SDP 컨트롤러(110)로 전송한다(S415).Upon receiving the logout message, the control proxy 130 verifies the validity of the logout message by comparing the token included in the logout message with the token stored in step S127 (Host ID-token) (S414), and the verification result If valid, 'Host ID-token' is included in the logout message and transmitted to the SDP controller 110 (S415).

다음으로, SDP 컨트롤러(110)는 제어 프록시(130)로부터 수신한 로그아웃 메시지에 포함된 호스트(200, 300)의 ID의 매핑 정보를 확인하여 S119 단계에 따른 제어 프록시(130)로부터 수신되었는지를 확인한다(S417).Next, the SDP controller 110 checks whether the ID mapping information of the hosts 200 and 300 included in the logout message received from the control proxy 130 has been received from the control proxy 130 according to step S119 . Confirm (S417).

확인 결과 제어 프록시(130)와 호스트(200, 300) 간의 매핑 정보가 일치하는 경우, S127 단계에서 저장한 토큰과 비교하여(Host ID-토큰) 검증을 수행한다(S419).As a result of the check, if the mapping information between the control proxy 130 and the hosts 200 and 300 matches, it compares with the token stored in step S127 (Host ID-token) and performs verification (S419).

다음으로, 검증 결과 유효한 것으로 판단된 경우, SDP 컨트롤러(110)는 로그아웃 메시지를 기반으로 호스트(200, 300)를 로그아웃 처리한다(S421). 이때, 로그아웃 처리는 해당 호스트(200, 300)에 발급된 토큰을 파기하는 것이다.Next, if it is determined that the verification result is valid, the SDP controller 110 logs out the hosts 200 and 300 based on the logout message (S421). In this case, the logout process destroys the tokens issued to the corresponding hosts 200 and 300 .

다음으로, SDP 컨트롤러(110) 서버는 S119 단계에서 매핑한 제어 프록시(130)로 해당 호스트(200, 300)에 대한 토큰의 파기 명령을 전송하고(S423), 이를 수신한 제어 프록시(130)는 호스트(200, 300)에 상응하는 토큰을 파기한다(S425)Next, the SDP controller 110 server transmits a token destruction command for the corresponding hosts 200 and 300 to the control proxy 130 mapped in step S119 (S423), and the control proxy 130 that has received it The tokens corresponding to the hosts 200 and 300 are destroyed (S425)

한편, 상술한 설명에서, 단계 S111 내지 S425은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. 아울러, 기타 생략된 내용이라 하더라도 도 2 내지 도 6의 SDP 컨트롤러(110)에서의 제어 채널 부하분산 방법의 내용은 도 7의 내용에도 적용될 수 있다.Meanwhile, in the above description, steps S111 to S425 may be further divided into additional steps or combined into fewer steps according to an embodiment of the present invention. In addition, some steps may be omitted if necessary, and the order between steps may be changed. In addition, the contents of the control channel load balancing method in the SDP controller 110 of FIGS. 2 to 6 may also be applied to the contents of FIG. 7 even if other contents are omitted.

도 7은 소프트웨어 정의 경계 네트워크 시스템(1)의 제어 채널의 부하분산이 가능한 SDP 컨트롤러(110)의 블록도이다.7 is a block diagram of the SDP controller 110 capable of load balancing of the control channel of the software-defined boundary network system 1 .

본 발명의 일 실시예에 따른 SDP 컨트롤러(110)는 통신모듈(111), 메모리(112) 및 프로세서(113)를 포함한다.The SDP controller 110 according to an embodiment of the present invention includes a communication module 111 , a memory 112 , and a processor 113 .

통신모듈(111)은 IH(Initiating Host) 및 AH(Accepting Host) 중 적어도 하나의 호스트(200, 300) 및 인증 프록시(120)와 제어 프록시(130)와 메시지를 송수신한다.The communication module 111 transmits/receives messages to and from at least one host 200 , 300 of an Initiating Host (IH) and an Accepting Host (AH), the authentication proxy 120 , and the control proxy 130 .

메모리(112)에는 제어 채널의 부하 분산을 위한 프로그램이 저장되며, 프로세서(113)는 메모리에 저장된 프로그램을 실행시킨다.A program for load balancing of the control channel is stored in the memory 112 , and the processor 113 executes the program stored in the memory.

프로세서(113)는 적어도 하나의 호스트(200, 300)로부터의 인증 메시지를 수신함에 따라, 인증 메시지의 유효성을 검증하여 메시지 송수신시 사용되는 토큰을 생성하고, 호스트(200, 300)에 상응하는 제어 프록시(130)를 선택 및 매핑시킨 후 토큰 및 선택된 제어 프록시(130)의 주소 정보를 상기 인증 프록시(120)로 전달한다. 그리고, 프로세서(113)는 선택된 제어 프록시(130)로 토큰을 전송하며, 선택된 제어 프록시(130)를 기반으로 토큰을 이용하여 호스트(200, 300)와의 메시지를 송수신한다.When the processor 113 receives the authentication message from the at least one host 200 and 300 , the processor 113 verifies the validity of the authentication message to generate a token used for message transmission and reception, and controls corresponding to the hosts 200 and 300 . After the proxy 130 is selected and mapped, the token and address information of the selected control proxy 130 are transmitted to the authentication proxy 120 . Then, the processor 113 transmits the token to the selected control proxy 130 , and transmits and receives messages to and from the hosts 200 and 300 using the token based on the selected control proxy 130 .

이상에서 전술한 본 발명의 일 실시예에 따른 SDP 컨트롤러에서의 제어 채널 부하분산 방법은, 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다.The control channel load balancing method in the SDP controller according to an embodiment of the present invention described above may be implemented as a program (or application) and stored in a medium to be executed in combination with a computer, which is hardware.

상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, Ruby, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.The above-mentioned program, in order for the computer to read the program and execute the methods implemented as a program, C, C++, JAVA, Ruby, which the processor (CPU) of the computer can read through the device interface of the computer; It may include code coded in a computer language such as machine language. Such code may include functional code related to a function defining functions necessary for executing the methods, etc., and includes an execution procedure related control code necessary for the processor of the computer to execute the functions according to a predetermined procedure. can do. In addition, this code may further include additional information necessary for the processor of the computer to execute the functions or code related to memory reference for which location (address address) in the internal or external memory of the computer should be referenced. have. In addition, when the processor of the computer needs to communicate with any other computer or server located remotely in order to execute the functions, the code uses the communication module of the computer to determine how to communicate with any other computer or server remotely. It may further include a communication-related code for whether to communicate and what information or media to transmit and receive during communication.

상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.The storage medium is not a medium that stores data for a short moment, such as a register, a cache, a memory, etc., but a medium that stores data semi-permanently and can be read by a device. Specifically, examples of the storage medium include, but are not limited to, ROM, RAM, CD-ROM, magnetic tape, floppy disk, and an optical data storage device. That is, the program may be stored in various recording media on various servers accessible by the computer or in various recording media on the computer of the user. In addition, the medium may be distributed in a computer system connected to a network, and a computer-readable code may be stored in a distributed manner.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The description of the present invention described above is for illustration, and those of ordinary skill in the art to which the present invention pertains can understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a dispersed form, and likewise components described as distributed may also be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the following claims rather than the above detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalents should be interpreted as being included in the scope of the present invention. do.

1: 소프트웨어 정의 경계 네트워크 시스템
110: SDP 컨트롤러
120: 인증 프록시
130: 제어 프록시
200: 시작 호스트
300: 수락 호스트
1: Software-Defined Perimeter Network System
110: SDP controller
120: authentication proxy
130: control proxy
200: start host
300: accept host

Claims (9)

소프트웨어 정의 경계 네트워크 시스템의 SDP 컨트롤러에서의 제어 채널의 부하분산 방법에 있어서,
IH(Initiating Host) 및 AH(Accepting Host) 중 적어도 하나의 호스트로부터의 인증 메시지를 수신하는 단계;
상기 인증 메시지의 유효성을 검증하여 메시지 송수신시 사용되는 토큰을 생성하는 단계;
상기 호스트에 상응하는 제어 프록시를 선택 및 매핑시키는 단계;
상기 토큰 및 상기 선택된 제어 프록시의 주소 정보를 인증 프록시로 전달하는 단계;
상기 선택된 제어 프록시로 상기 토큰을 전송하는 단계; 및
상기 선택된 제어 프록시를 기반으로 상기 토큰을 이용하여 상기 호스트와의 메시지를 송수신하는 단계를 포함하는,
SDP 컨트롤러에서의 제어 채널 부하분산 방법.
A method for balancing a control channel load in an SDP controller of a software-defined boundary network system, the method comprising:
Receiving an authentication message from at least one host of an Initiating Host (IH) and an Accepting Host (AH);
generating a token used when transmitting and receiving a message by verifying the validity of the authentication message;
selecting and mapping a control proxy corresponding to the host;
transmitting the token and address information of the selected control proxy to an authentication proxy;
sending the token to the selected control proxy; and
Transmitting and receiving a message to and from the host using the token based on the selected control proxy;
Control channel load balancing method in SDP controller.
제1항에 있어서,
상기 IH 및 AH 중 적어도 하나의 호스트로부터의 인증 메시지를 수신하는 단계는,
상기 적어도 하나의 호스트로에서 각각 소정의 인증 프록시 중 어느 하나를 지정하여 상응하는 인증 프록시로 인증 메시지를 전송함에 따라고, 상기 상응하는 인증 프록시로부터 상기 인증 메시지를 수신하는 것인,
SDP 컨트롤러에서의 제어 채널 부하분산 방법.
According to claim 1,
Receiving an authentication message from at least one host of the IH and the AH comprises:
Wherein the at least one host transmits an authentication message to the corresponding authentication proxy by designating any one of the predetermined authentication proxies, respectively, and receives the authentication message from the corresponding authentication proxy,
Control channel load balancing method in SDP controller.
제1항에 있어서,
상기 호스트에 상응하는 제어 프록시를 선택 및 매핑시키는 단계는,
상기 IH 및 AH와 각각 수립된 제어 채널이 가장 적은 제어 프록시를 선택하여 매핑시키는 것인,
SDP 컨트롤러에서의 제어 채널 부하분산 방법.
According to claim 1,
Selecting and mapping a control proxy corresponding to the host comprises:
That the IH and AH and each of the established control channels to select and map the least control proxy,
Control channel load balancing method in SDP controller.
제1항에 있어서,
상기 선택된 제어 프록시를 기반으로 상기 토큰을 이용하여 상기 호스트와의 메시지를 송수신하는 단계는,
상기 제어 프록시로부터 수신한 메시지에 포함된 호스트의 ID의 매핑 정보를 확인하는 단계;
상기 제어 프록시와 상기 호스트 간의 매핑 정보가 일치하는 경우, 상기 메시지에 포함된 토큰을 기반으로 검증을 수행하는 단계; 및
상기 검증 결과 유효한 것으로 판단된 경우 상기 메시지를 처리하는 단계를 포함하는,
SDP 컨트롤러에서의 제어 채널 부하분산 방법.
According to claim 1,
Transmitting and receiving a message with the host using the token based on the selected control proxy comprises:
checking mapping information of the host ID included in the message received from the control proxy;
performing verification based on the token included in the message when the mapping information between the control proxy and the host matches; and
Comprising the step of processing the message when it is determined that the verification result is valid,
Control channel load balancing method in SDP controller.
제4항에 있어서,
상기 호스트는 상기 토큰을 메시지에 포함시켜 상응하는 제어 프록시로 전송하고, 상기 제어 프록시는 상기 메시지에 포함된 토큰을 저장된 토큰과 비교하여 상기 메시지의 유효성을 검증하는 것인,
SDP 컨트롤러에서의 제어 채널 부하분산 방법.
5. The method of claim 4,
wherein the host includes the token in a message and transmits it to a corresponding control proxy, wherein the control proxy verifies the validity of the message by comparing the token included in the message with a stored token,
Control channel load balancing method in SDP controller.
제1항에 있어서,
상기 선택된 제어 프록시를 기반으로 상기 토큰을 이용하여 상기 호스트와의 메시지를 송수신하는 단계는,
전송하고자 하는 상기 호스트(이하, 전송 대상 호스트)의 제어 주소 및 토큰을 메시지에 포함시키는 단계; 및
상기 매핑된 정보에 기반하여 상기 전송 대상 호스트가 접속한 제어 프록시를 통해 상기 메시지를 전송하는 단계를 포함하는,
SDP 컨트롤러에서의 제어 채널 부하분산 방법.
According to claim 1,
Transmitting and receiving a message with the host using the token based on the selected control proxy comprises:
including a control address and token of the host to be transmitted (hereinafter, a transmission target host) in a message; and
Transmitting the message through a control proxy accessed by the transmission target host based on the mapped information,
Control channel load balancing method in SDP controller.
제6항에 있어서,
상기 제어 프록시는 상기 메시지에 포함된 전송 대상 호스트의 제어 주소에 기초하여 상기 메시지를 전송하고, 상기 전송 대상 호스트는 상기 메시지를 수신함에 따라 토큰을 검증하여 유효한 경우 상기 메시지를 처리하는 것인,
SDP 컨트롤러에서의 제어 채널 부하분산 방법.
7. The method of claim 6,
The control proxy transmits the message based on the control address of the transmission target host included in the message, and the transmission target host validates the token upon receiving the message and processes the message if valid,
Control channel load balancing method in SDP controller.
제1항에 있어서,
상기 제어 프록시로부터 수신한 로그아웃 메시지에 포함된 호스트의 ID의 매핑 정보를 확인하는 단계;
상기 제어 프록시와 상기 호스트 간의 매핑 정보가 일치하는 경우, 상기 로그아웃 메시지에 포함된 토큰을 기반으로 검증을 수행하는 단계;
상기 검증 결과 유효한 것으로 판단된 경우 상기 호스트에 상응하는 토큰을 파기하여 로그아웃 처리하는 단계; 및
상기 제어 프록시로 상기 로그아웃 처리된 호스트에 상응하는 토큰의 파기 명령을 전송하는 단계를 더 포함하는,
SDP 컨트롤러에서의 제어 채널 부하분산 방법.
The method of claim 1,
checking mapping information of the host ID included in the logout message received from the control proxy;
performing verification based on the token included in the logout message when the mapping information between the control proxy and the host matches;
if it is determined as valid as a result of the verification, destroying the token corresponding to the host to logout; and
The method further comprising the step of transmitting a token destruction command corresponding to the logout-processed host to the control proxy;
Control channel load balancing method in SDP controller.
제8항에 있어서,
상기 호스트는 상기 토큰을 로그아웃 메시지에 포함시켜 상응하는 제어 프록시로 전송하고,
상기 제어 프록시는 상기 로그아웃 메시지에 포함된 토큰을 저장된 토큰과 비교하여 상기 로그아웃 메시지의 유효성을 검증한 후, 유효한 경우 상기 SDP 컨트롤러로 전송하며, 상기 파기 명령을 수신함에 따라 상기 호스트에 상응하는 토큰을 파기하는 것인,
SDP 컨트롤러에서의 제어 채널 부하분산 방법.
9. The method of claim 8,
the host includes the token in a logout message and sends it to a corresponding control proxy;
The control proxy compares the token included in the logout message with a stored token to verify the validity of the logout message, and if valid, transmits it to the SDP controller. to destroy the token,
Control channel load balancing method in SDP controller.
KR1020210004344A 2021-01-13 2021-01-13 Sdp controller and method capable of load balancing of control channels in software-defined perimeter network system KR102415998B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210004344A KR102415998B1 (en) 2021-01-13 2021-01-13 Sdp controller and method capable of load balancing of control channels in software-defined perimeter network system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210004344A KR102415998B1 (en) 2021-01-13 2021-01-13 Sdp controller and method capable of load balancing of control channels in software-defined perimeter network system

Publications (1)

Publication Number Publication Date
KR102415998B1 true KR102415998B1 (en) 2022-07-05

Family

ID=82402140

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210004344A KR102415998B1 (en) 2021-01-13 2021-01-13 Sdp controller and method capable of load balancing of control channels in software-defined perimeter network system

Country Status (1)

Country Link
KR (1) KR102415998B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180046476A (en) * 2016-10-28 2018-05-09 에스케이텔레콤 주식회사 Apparatus and method for controlling access based on software defined perimeter
KR20180069610A (en) * 2016-12-15 2018-06-25 주식회사 포스링크 Apparatus for providing access control in virtual private network and method for operating the same
KR102007913B1 (en) 2018-06-19 2019-08-06 지니언스(주) System and method for controlling network at software defined perimeters based on endpoint group label
JP2020080530A (en) * 2018-10-15 2020-05-28 深▲せん▼前海達闥云端智能科技有限公司Cloudminds (Shenzhen) Robotics Systems Co.,Ltd. Data processing method, device, terminal, and access point computer
US20200389437A1 (en) * 2019-06-04 2020-12-10 OPSWAT, Inc. Methods and systems for establishing a connection between a first device and a second device across a software-defined perimeter

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180046476A (en) * 2016-10-28 2018-05-09 에스케이텔레콤 주식회사 Apparatus and method for controlling access based on software defined perimeter
KR20180069610A (en) * 2016-12-15 2018-06-25 주식회사 포스링크 Apparatus for providing access control in virtual private network and method for operating the same
KR102007913B1 (en) 2018-06-19 2019-08-06 지니언스(주) System and method for controlling network at software defined perimeters based on endpoint group label
JP2020080530A (en) * 2018-10-15 2020-05-28 深▲せん▼前海達闥云端智能科技有限公司Cloudminds (Shenzhen) Robotics Systems Co.,Ltd. Data processing method, device, terminal, and access point computer
US20200389437A1 (en) * 2019-06-04 2020-12-10 OPSWAT, Inc. Methods and systems for establishing a connection between a first device and a second device across a software-defined perimeter

Similar Documents

Publication Publication Date Title
JP6526181B2 (en) Smart card logon and coordinated full domain logon
US8997196B2 (en) Flexible end-point compliance and strong authentication for distributed hybrid enterprises
CN109981561A (en) Monomer architecture system moves to the user authen method of micro services framework
US8799639B2 (en) Method and apparatus for converting authentication-tokens to facilitate interactions between applications
EP1914658B1 (en) Identity controlled data center
EP3750095A1 (en) Fast smart card logon
US9781096B2 (en) System and method for out-of-band application authentication
CN112822675B (en) MEC environment-oriented OAuth 2.0-based single sign-on mechanism
US20130081126A1 (en) System and method for transparent single sign-on
JP2013510351A (en) Single sign-on for remote user sessions
CN109388937B (en) Single sign-on method and sign-on system for multi-factor identity authentication
CN110781465B (en) BMC remote identity verification method and system based on trusted computing
CN112788031A (en) Envoy architecture-based micro-service interface authentication system, method and device
US20170279806A1 (en) Authentication in a Computer System
WO2022011055A2 (en) A System and Method for Simplifying User Authentication and Authorization Workflows
KR102345866B1 (en) Server System and Communication Security Method for User Devices Performed in the Server System
KR102058283B1 (en) Secure Interoperability Framework between diverse IoT Service Platforms and Apparatus
CN116996305A (en) Multi-level security authentication method, system, equipment, storage medium and entry gateway
KR102415998B1 (en) Sdp controller and method capable of load balancing of control channels in software-defined perimeter network system
US11177958B2 (en) Protection of authentication tokens
AU2019370092B2 (en) Centralized authentication and authorization
CN115486030A (en) Rogue certificate detection
CN112491895A (en) Identity authentication method, storage medium and system based on micro-service
CN113114464A (en) Unified security management system and identity authentication method
US20230370455A1 (en) Process level authentication for client device access to a server system

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant