KR101150299B1 - Method for dynamic traversing of multiple firewalls based on simultaneous notarization of user and networking instance and apparatus thereof - Google Patents

Method for dynamic traversing of multiple firewalls based on simultaneous notarization of user and networking instance and apparatus thereof Download PDF

Info

Publication number
KR101150299B1
KR101150299B1 KR1020100118873A KR20100118873A KR101150299B1 KR 101150299 B1 KR101150299 B1 KR 101150299B1 KR 1020100118873 A KR1020100118873 A KR 1020100118873A KR 20100118873 A KR20100118873 A KR 20100118873A KR 101150299 B1 KR101150299 B1 KR 101150299B1
Authority
KR
South Korea
Prior art keywords
communication server
user
application
tcp
side communication
Prior art date
Application number
KR1020100118873A
Other languages
Korean (ko)
Other versions
KR20120057225A (en
Inventor
박형우
윤희준
유진승
장행진
Original Assignee
한국과학기술정보연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술정보연구원 filed Critical 한국과학기술정보연구원
Priority to KR1020100118873A priority Critical patent/KR101150299B1/en
Priority to PCT/KR2011/009078 priority patent/WO2012070912A2/en
Publication of KR20120057225A publication Critical patent/KR20120057225A/en
Application granted granted Critical
Publication of KR101150299B1 publication Critical patent/KR101150299B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities

Landscapes

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

Abstract

PURPOSE: A multiple firewalls dynamic pass method and apparatus thereof are provided to secure technology and to dynamically utilize the technology by securing computing resources which are located in inside firewalls. CONSTITUTION: After time information of VO(Virtual Organization) resources are mutually matched, an apparatus authenticates user information and TCP(Transmission Control Protocol) networks(S102,S104). The apparatus requests the notarization of a user in order to dynamically pass through a firewall(S106). A notarial certificate server manager transmits a notarial certificate to the user, an application server manager, and a firewall managers(S108). The user confirms the notarial certificate(S110).

Description

사용자와 네트워킹 행위의 동시 공증 기반 다중 방화벽 동적 통과 기법 및 이에 적합한 장치 {Method for dynamic traversing of multiple firewalls based on simultaneous notarization of user and networking instance and apparatus thereof}Method for dynamic traversing of multiple firewalls based on simultaneous notarization of user and networking instance and apparatus

본 발명은 방화벽 동적 통과 방법에 관한 것으로서, 특히 사용자와 특정 시간의 네트워킹 행위에 관한 동시 공증을 통하여 사용자 인증과 트래픽 인증을 대신하고 한 번의 시도로 여러 개의 방화벽을 동시에 동적으로 통과할 수 있는 다중 방화벽 동적 통과 방법에 관한 것이다.
The present invention relates to a method for dynamically passing through a firewall, and in particular, a multiple firewall capable of dynamically passing through multiple firewalls simultaneously in one attempt instead of user authentication and traffic authentication through simultaneous notarization of a user and a specific time of networking behavior. It is about a dynamic pass method.

그리드 컴퓨팅 기술은 네트워크로 연결되어 있는 다양한 종류의 컴퓨팅 자원을 통합하여 보다 효율적으로 고성능 인프라를 구축하는 기술이다. 이러한 기술을 바탕으로 구축된 그리드 컴퓨팅 환경은 현재의 인터넷 환경과 많은 차이가 존재한다.Grid computing technology is a technology that integrates various kinds of networked computing resources to build a high performance infrastructure more efficiently. Grid computing environments built on these technologies differ from the current Internet environment.

그리드 환경에서는 기본적으로 인터넷 환경에서 제공되는 단순한 정보 공유 외에 다양한 종류의 컴퓨팅 자원을 공유할 수 있게 된다. 실제 그리드 환경에서 사용자는 자신이 사용할 수 있는 여러 자원들을 동시에 사용할 수 있어야 한다. In a grid environment, various kinds of computing resources can be shared in addition to the simple information sharing provided in the Internet environment. In a real grid environment, users should be able to use several resources at the same time.

그리드/클라우드 컴퓨팅 환경에서 다른 기관에 소속되어 있는 컴퓨터 자원을 동적으로 그리고 단기간동안 IDC/그리드/클라우드 컴퓨팅 플랫폼에 참여시키려 할 때 로컬(local)의 방화벽과 다른 기관의 방화벽들을 동적으로 통과하여야 한다. IDC(Internet Data Center)는 컴퓨터 자원을 대여하는 데이터 센터들을 말한다.In a grid / cloud computing environment, it is necessary to dynamically traverse local and other organization's firewalls when attempting to dynamically join computer resources belonging to other institutions and to participate in IDC / grid / cloud computing platforms for a short period of time. Internet Data Centers (IDCs) are data centers that rent computer resources.

방화벽을 동적으로 통과하기 위한 기술들이 개발되어 왔다. 이러한 종래 기술은 방화벽 관리자가 수작업하는 과정을 소프트웨어로 자동화하여 주는 것이었다. Techniques for dynamically traversing firewalls have been developed. This prior art has allowed the firewall administrator to automate the manual process by software.

종래의 방화벽 동적 통과 기술을 정리하면 표 1과 같이 보여질 수 있다.The conventional firewall dynamic pass technology can be summarized as shown in Table 1.

구분division 사례case 방화벽의 필터링 규칙을 동적으로 자동 추가하기 연구 그룹Dynamically Adding Firewall Filtering Rules Dynamically ?Dyna-Fire
?CODO
?DyNeF
? Dyna-Fire
? CODO
? DyNeF
방화벽 내부에서 연결을 시도한 것처럼 중개하여주기 연구 그룹Intermediate cycle research group as if trying to connect inside a firewall ?GCB
?UDP 홀 펀칭
?게이트웨이/프록시
? GCB
? UDP Hole Punching
? Gateway / Proxy
방화벽에서 사용자와 서버의 인증 중계하기Relaying authentication of users and servers at the firewall ?TCP-AuthNTCP-AuthN

이러한 기술 개발에 힘입어 방화벽 동적 통과 환경이 많이 개선되었다고는 하지만 아직 만족할 수준에 도달했다고 말할 수 없다. The development of this technology has greatly improved the firewall dynamic pass experience, but we can't say it's still satisfactory.

예를 들어, 인터넷 보안의 중요성이 강조되면서 방화벽 설치가 증가함에 따라, 방화벽 하나하나마다 작업을 하여야 하고 또한, 작업을 하여야 하는 방화벽마다 소프트웨어가 다를 수 있기 때문에 방화벽 동적 통과 환경은 더욱 더 악화되고 있다. For example, as the importance of Internet security increases and the number of firewall installations increases, the firewall dynamic pass-through environment is getting worse because each firewall has to work and software may be different for each firewall. .

특히, 인터넷 전화 기술 연구 등 UDP(User Datagram Protocol) 환경에서는 많은 관련 연구가 이루어졌지만 인터넷 응용의 대부분이 사용하는 TCP 응용의 경우에는 다중 방화벽을 동시에 통과하는 것은 지금까지 부재하다.In particular, many researches have been conducted in the UDP (User Datagram Protocol) environment such as Internet telephone technology research, but in the case of TCP applications that are used by most of the Internet applications, it is not possible to simultaneously pass multiple firewalls at the same time.

방화벽의 동적 통과를 위해서는 방화벽마다 사용자 인증과 트래픽 인증이 수행되어야 한다. 여기서, 트래픽 인증은 소위 3-way 핸드쉐이킹 과정을 말한다.For the dynamic passage of the firewall, user authentication and traffic authentication must be performed at each firewall. Here, traffic authentication refers to a so-called 3-way handshaking process.

표 1을 참조하면, 방화벽의 동적 통과를 위한 기술들의 접근 방식을 크게 3가지 방식으로 대별된다. Referring to Table 1, the approaches of technologies for dynamic traversal of firewalls are roughly divided into three approaches.

첫 번째는 동적 통과 요청이 있을 때마다 방화벽의 규칙을 동적으로 자동 생성하는 방법을 연구하는 것이고, The first is to study how to dynamically generate firewall rules dynamically whenever there is a dynamic passthrough request.

두 번째는 방화벽 안쪽에서 외부로 향하는 연결요청은 방화벽이 기본적으로 통과시켜주는 방화벽의 특징을 이용하는 것이다. Second, connection requests from inside the firewall to the outside use the features of the firewall that the firewall passes through by default.

세 번째는 방화벽이 사용자와 서버간의 인증을 중계하여 주는 것이다.Third, the firewall relays the authentication between the user and the server.

첫 번째 방식은 다중 방화벽 환경에서는 비효율적이다. 왜냐하면, 여러 개의 방화벽을 동적으로 통과하기 위해서는 동적 통과할 때마다 방화벽 하나하나마다 통과 요청을 하여야 하기 때문이다. 또한, 방화벽이 바뀌면 바뀐 방화벽에 대한 이용법을 새롭게 학습하여야 한다는 문제점도 있다.The first approach is inefficient in a multi-firewall environment. This is because, in order to dynamically traverse multiple firewalls, a pass request must be made for each firewall for each dynamic pass. In addition, when the firewall is changed, there is a problem in that the new method of using the changed firewall must be learned.

두 번째 방식은 방화벽마다 외부에 중개자를 두어서 내부에서 외부로 연결 요청한 것처럼 중계하여야 하기 때문에 통과하여야 할 방화벽이 늘어날수록 연결하여야 할 중개자의 수도 늘어나는 문제점이 있다.In the second method, each broker needs to be relayed from the outside to relay as if it is requested to connect from the inside to the outside. Therefore, as the number of firewalls to pass through increases, the number of agents to connect to is increased.

그리고 최근의 방화벽들이 TCP의 시퀀스 번호와 3-way handshaking 상태를 체크하게 되면서 스카이프(Skype. 인터넷 전화 서비스의 일종)와 같은 UDP 응용으로만 활용이 제한받는 문제점을 갖고 있다.Recently, firewalls check the sequence number of the TCP and the 3-way handshaking status. Therefore, the firewall is limited to UDP applications such as Skype.

세번째 방식은 다중 방화벽 환경에서는 방화벽수의 증가로 방화벽에서의 인증 중계가 더욱 복잡해진다.In the third method, authentication relaying at the firewall is further complicated by the increase in the number of firewalls in a multi-firewall environment.

본 발명은 상기의 문제점을 해결하기 위하여 안출된 것으로서, 그리드/클라우드 컴퓨팅 환경에서 다른 기관에 소속되어있는 컴퓨팅 자원을 동적으로 그리고 단기간 동안 IDC/그리드/클라우드 컴퓨팅 플랫폼에 참여시키려 할 때 로컬의 방화벽과 다른 기관의 방화벽들을 동적으로 통과하여야 하는 문제를 해결하기 위한 방법을 제공하는 것을 그 목적으로 한다. SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problem, and is intended to dynamically and in a short period of time participate in IDC / grid / cloud computing platform computing resources belonging to other organizations in a grid / cloud computing environment. Its purpose is to provide a way to solve the problem of dynamically traversing other firewalls.

본 발명의 다른 목적은 인터넷 응용의 대부분이 이용하고 있는 TCP 프로토콜의 경우에서도 다중의 그리고 이기종의 방화벽들을 1회의 시도로 동시에 통과를 지원하는 방법을 제공하는 것에 있다.Another object of the present invention is to provide a method for supporting simultaneous traversal of multiple and heterogeneous firewalls in one attempt even in the case of the TCP protocol used by most Internet applications.

본 발명의 또 다른 목적은 방화벽 관리자들의 사전 승인 없이도 임의의 시간에 다중의 방화벽을 동적으로 통과하는 것을 지원하는 방법을 제공하는 것에 있다.It is yet another object of the present invention to provide a method for supporting dynamic traversal of multiple firewalls at any time without prior approval of the firewall administrators.

본 발명의 또 다른 목적은 기존의 인터넷 전송 방식이 응용 계층의 데이터 전송 시작 그리고 이를 위한 네트워크 계층의 세선 설정과 같이 응용 계층과 네트워크 계층이 서로 연계되어 일련의 작업으로 동작하는 것을 응용 계층의 데이터 전송 요구 확인, 네트워크 계층의 세션 설정 확인, 응용 계층의 데이터 전송 시작 형태로 3단계로 나누어 독립적으로 그리고 단계적으로 분리 동작할 수 있도록 하여 본 발명이 기존 인터넷 전송 방식과 호환성을 유지하면서 응용의 종류에 관계없이 그리고 방화벽의 종류와 수에 관계없이 발명의 적용 범위를 확장할 수 있게 하는 방법을 제공하는 것에 있다. It is still another object of the present invention that the existing Internet transmission scheme operates as a series of operations in which the application layer and the network layer are linked to each other such as the start of data transmission of the application layer and the fine line setting of the network layer. It can be divided into three stages in the form of request confirmation, session setup confirmation of network layer, and start of data transmission of application layer so that the operation can be performed independently and in stages. And to provide a way to extend the scope of the invention irrespective of the type and number of firewalls.

상기의 목적을 달성하기 위한 본 발명에 따른 방화벽 동적 통과 방법의 일 실시예는 One embodiment of the firewall dynamic passage method according to the present invention for achieving the above object

사용자측 통신 서버, 응용측 통신 서버 그리고 상기 두 서버 사이에 개재된 복수의 방화벽들을 포함하는 컴퓨팅 환경에서의 다중 방화벽 통과 방법에 있어서, In the multiple firewall traversal method in a computing environment comprising a user-side communication server, an application-side communication server and a plurality of firewalls interposed between the two servers,

사용자 정보와 네트워킹 행위 정보 즉, 사용자-응용서버 관리자 간에 사전에 합의된 상기 사용자측 통신 서버와 상기 응용측 통신 서버 간의 약속된 이용 시작 시간과 상기 응용측 통신 서버에 대한 정보를 공증서 서버에 등록하는 TCP 네트워킹 및 사용자 정보의 공증화 과정;TCP for registering user information and networking behavior information, that is, an appointment start time between the user-side communication server and the application-side communication server previously agreed between the user-application server administrator and the information on the application-side communication server to a notary server. Notarization of networking and user information;

상기 사용자측 통신 서버가 해당 응용측 통신 서버에 액세스하기 위한 공증서를 할당하여 줄 것을 상기 공증서 서버에게 요청하는 방화벽 동적 통과를 위한 사용자 공증 신청 과정;A user notarization application process for dynamically passing through a firewall requesting the notary server to allocate a notary for accessing the corresponding application-side communication server by the user-side communication server;

상기 공증서 서버는 사용자와 응용 서버 관리자가 사전에 등록한 IP 주소 범위, 포트번호 범위 내에서 랜덤 생성한 IP주소와 포트번호가 포함된 공증서를 생성한 후 사용자측 통신 서버, 응용측 통신 서버 그리고 관련된 방화벽들 모두에게 생성된 공증서를 보내주는 사용자 공증서 분배 과정;The notary server generates a notary containing a randomly generated IP address and port number within a range of IP addresses and port numbers registered in advance by a user and an application server administrator, and then a user-side communication server, an application-side communication server, and related firewalls. User notarization distribution process to send generated notaries to all;

사용자측 통신 서버와 응용측 통신 서버는 수신된 공증서 내의 정보를 이용하여 TCP의 초기 시퀀스 번호를 설정하는 등 네트워크 연결 환경을 구축하는 공증서 기반 통신 서버 설정 과정;The user side communication server and the application side communication server may establish a notarized certificate-based communication server for establishing a network connection environment such as setting an initial sequence number of TCP using information in the received notary certificate;

사용자측 통신 서버가 약속된 이용 시작 시간에 공증서에 등록된 IP 주소, 포트 번호, 초기 시퀀스 번호를 가지는 TCP 연결 요청 패킷을 전송하고, 응용측 통신 서버는 이에 대응하는 TCP 응답 패킷을 전송하여 TCP/IP 연결을 확립하는 타이밍제어 기반 TCP/IP 연결 과정; 및The user communication server transmits the TCP connection request packet having the IP address, port number, and initial sequence number registered in the notarization at the promised start time of use, and the application communication server transmits the corresponding TCP response packet to the TCP / IP. A timing control based TCP / IP connection process for establishing a connection; And

사용자측 통신 서버와 응용측 통신 서버가 확립된 TCP/IP 연결에 기반하여 TCP 응용 연결을 확립하는 통신 서버간 TCP 응용 연결 과정; 을 포함하는 것을 특징으로 한다.A TCP application connection process between the communication server for establishing a TCP application connection based on the established TCP / IP connection between the user side communication server and the application side communication server; Characterized in that it comprises a.

여기서, 상기 타이밍제어 기반 TCP/IP 연결 과정에 있어서 초기 패킷 손실을 고려하여 상기 사용자측 통신 서버는 TCP 연결 요청 패킷을 2번 연속하여 전송하고, 상기 응용측 통신 서버도 이에 대응하여 TCP 응답 패킷을 2번 연속하여 전송하는 것이 바람직하다. Here, in the timing control based TCP / IP connection process, the user side communication server transmits the TCP connection request packet twice consecutively in consideration of the initial packet loss, and the application side communication server correspondingly transmits the TCP response packet 2. It is preferable to transmit twice consecutively.

상기의 목적을 달성하는 본 발명에 따른 다중 방화벽 통과 방법은 Multiple firewall traversal method according to the present invention to achieve the above object

사용자 정보와 네트워킹 행위 정보 즉, 사용자-응용서버 관리자 간에 사전에 합의된 상기 사용자측 통신 서버와 상기 응용측 통신 서버 간의 약속된 이용 시작 시간과 응용측 통신 서버에 대한 정보를 공증서 서버에 등록하는 응용 계층의 데이터 전송 요구 확인 과정;An application layer that registers user information and networking behavior information, that is, an appointment start time between the user-side communication server and the application-side communication server previously agreed between the user-application server administrator and the information on the application-side communication server to a notary server. Data transmission request confirmation process;

상기 사용자측 통신 서버가 상기 응용측 통신 서버에 액세스하기 위한 공증서를 할당하여 줄 것을 공증서 서버에게 요청하고, 상기 공증서 서버는 사용자와 응용 서버 관리자가 사전에 등록한 IP 주소 범위, 포트번호 범위 내에서 랜덤 생성한 IP주소와 포트번호가 포함된 공증서를 생성한 후 상기 사용자측 통신 서버, 상기 응용측 통신 서버 그리고 관련된 방화벽들 모두에게 생성된 공증서를 보내주며, 상기 사용자측 통신 서버와 상기 응용측 통신 서버는 수신된 공증서 내의 정보를 이용하여 TCP의 초기 시퀀스 번호를 설정하는 등 네트워크 연결 환경을 구축하는 네트워크 계층의 세션 설정 과정;The user side communication server requests a notary server to allocate a notary for accessing the application side communication server, and the notary server randomly generates a range of IP addresses and port numbers previously registered by the user and the application server administrator. After generating a notarization including an IP address and a port number, a notarized certificate is sent to all of the user side communication server, the application side communication server, and related firewalls, and the user side communication server and the application side communication server receive the received certificate. A session establishment process of a network layer for establishing a network connection environment such as setting an initial sequence number of TCP using information in a notary certificate;

상기 사용자측 통신 서버는 약속된 이용 시작 시간에 공증서에 등록된 IP 주소, 포트 번호, 초기 시퀀스 번호를 가지는 TCP 연결 요청 패킷을 전송하고, 상기 응용측 통신 서버는 이에 대응하는 TCP 응답 패킷을 전송하여 TCP/IP 연결을 확립하는 타이밍제어 기반 TCP/IP 연결 과정; 및 The communication server of the user side transmits a TCP connection request packet having an IP address, a port number, and an initial sequence number registered in a notary certificate at a promised start time of use, and the application communication server transmits a TCP response packet corresponding thereto. TCP / IP connection process based on timing control for establishing IP / IP connection; And

상기 사용자측 통신 서버와 상기 응용측 통신 서버가 확립된 TCP/IP 연결에 기반하여 TCP 응용 연결을 확립하는 통신 서버간 TCP 응용 연결 과정; 을 포함하는 것을 특징으로 한다.A TCP application connection process between the communication server for establishing a TCP application connection based on the TCP / IP connection between the user side communication server and the application side communication server; Characterized in that it comprises a.

여기서, 상기 타이밍제어 기반 TCP/IP 연결 과정에 있어서 초기 패킷 손실을 고려하여 상기 사용자측 통신 서버는 TCP 연결 요청 패킷을 2번 연속하여 전송하고, 상기 응용측 통신 서버도 이에 대응하여 TCP 응답 패킷을 2번 연속하여 전송하는 것이 바람직하다.
Here, in the timing control based TCP / IP connection process, the user side communication server transmits the TCP connection request packet twice consecutively in consideration of the initial packet loss, and the application side communication server correspondingly transmits the TCP response packet 2. It is preferable to transmit twice consecutively.

본 발명은, 향후 인터넷 사용자의 유동성이 높아져서 응용 플랫폼이 점차 그리드/클라우드 환경으로의 진화가 예상되며, 그럴 경우, 그리드 컴퓨팅 또는 사이언스 클라우드 플랫폼을 동적으로 외부 기관의 IT 자원까지 확장하려 할 경우, 정보보호 문제로 각 기관의 2중, 3중으로 설치된 방화벽의 안쪽 깊숙한 곳에 설치되어있는 컴퓨팅 자원들까지도 동적으로 활용할 수 있는 기술을 확보할 수 있는 효과를 기대할 수 있다.
The present invention is expected to increase the mobility of the Internet users in the future, the application platform is expected to gradually evolve into a grid / cloud environment, in which case, if you want to dynamically expand the grid computing or science cloud platform to IT resources of external institutions, As a matter of protection, it can be expected to secure a technology that can dynamically utilize even computing resources installed deep inside each firewall of two or three of each institution.

도 1은 종래의 TCP/IP 3-way 핸드쉐이킹 과정을 도시한다.
도 2는 본 발명에 따른 방화벽 통과 방법을 보이는 흐름도이다.
도 3은 도 2에 도시된 타이밍제어 기반 TCP/IP 연결 과정(s114)에서의 동작을 보다 상세하게 설명하기 위한 것이다.
도 4는 도 3에 도시된 방법을 수행하는 타이밍도를 도시한다.
도 5는 본 발명에 따른 방법에서 사용되는 공증서의 구성 형식의 일예를 도시한다.
도 6은 본 발명에 따른 방법을 수행하는 시스템의 구성을 도시한다.
1 illustrates a conventional TCP / IP 3-way handshaking process.
2 is a flowchart illustrating a firewall traversal method according to the present invention.
FIG. 3 is for explaining the operation in the timing control based TCP / IP connection process s114 shown in FIG. 2 in more detail.
4 shows a timing diagram for performing the method shown in FIG. 3.
5 shows an example of a configuration form of a notary used in the method according to the present invention.
6 shows a configuration of a system for performing a method according to the invention.

이하 첨부된 도면을 참조하여 본 발명의 구성 및 동작을 상세히 설명하기로 한다.Hereinafter, the configuration and operation of the present invention will be described in detail with reference to the accompanying drawings.

본 발명은 TCP/IP의 신뢰성 있는 연결을 위한 3 핸드쉐이킹(handshaking)을 지원한다.The present invention supports three handshaking for reliable connection of TCP / IP.

도 1은 종래의 TCP/IP 3-way 핸드쉐이킹 과정을 도시한다. TCP 프로토콜은 신뢰성있는 통신을 위해 연결 확립을 위한 3-way 핸드쉐이킹(handshaking) 과정을 선행한다. 1 illustrates a conventional TCP / IP 3-way handshaking process. The TCP protocol precedes the 3-way handshaking process for establishing a connection for reliable communication.

이러한 TCP/IP의 3-way 핸드쉐이킹은 This 3-way handshaking of TCP / IP

1) client 단말이 TCP 헤더 코드 비트(6 bit) 중 SYN bit가 On된 SYN 플래그 패킷을 전송(SYN_SENT상태)하면서 시작되고, 1) The client terminal starts by transmitting a SYN flag packet in which the SYN bit is on among the TCP header code bits (6 bits) (SYN_SENT state),

2)이를 수신한 서버는 이에 대한 정보를 커널 메모리상에 존재하는 백로그(backlog)에 저장하고 IP헤더에 명시된 32비트 소스 주소로 SYN/ACK 플래그 패킷을 전송(SYN_RECEIVED 상태)하고, 2) Upon receiving it, the server stores this information in a backlog that exists in kernel memory and sends a SYN / ACK flag packet to the 32-bit source address specified in the IP header (SYN_RECEIVED state).

3) 마지막으로 client에게 ACK 플래그 패킷을 전송 받음으로써 두 단말 모두가 Established 상태가 되어 비로소 하나의 TCP 세션이 이루어지고 어플리케이션단의 통신이 이루어지는 과정을 말한다.3) Finally, when the ACK flag packet is transmitted to the client, both terminals become Established, and thus, one TCP session is established and application communication is performed.

이 과정에서, 최초에 클라이언트가 seq 번호 x 를 보내면 server 에서는 이 x 에 1 을 더해서 ACK 로 보낸다. 이때 자신의 seq 번호 y 도 포함해서 보낸다. 그러면 클라이언트에서는 server 부터 넘어온 패킷의 ACK가 자신의 seq 번호와 일치하는지 확인하고, 확인이 되면 server 의 seq 번호인 y 에 1을 더해서 ACK로 보낸다. In this process, the first time the client sends seq number x, the server adds 1 to this x and sends it to ACK. Send your own seq number y. Then, the client checks whether the ACK of the packet from the server matches its seq number, and if confirmed, adds 1 to the server's seq number y and sends it to the ACK.

server 에서는 client 가 보낸 ACK 의 번호와 자신의 seq 번호가 일치하는지 확인해서 일치하면 연결이 제대로 되었다는것을 인증하고 데이타 통신에 들어가게 된다. On the server, if the ACK number sent by the client matches its seq number, the server authenticates that the connection is established and enters data communication.

본 발명은 약속된 절차에 의해 사용자 서버와 응용 서버가 이러한 TCP/IP의 3-wqy 핸드쉐이킹 과정 중에서 2번째 과정까지를 시뮬레이션하고 정해진 시각에서 3번째의 과정이 수행될 수 있게 한다. 약속된 절차는 공증 서버에서 발행한 공증서에 근거하여 발생된다.The present invention allows the user server and the application server to simulate the second step of the 3-wqy handshaking process of TCP / IP by the promised procedure, and allow the third step to be performed at a given time. The promised procedure is based on the notarization issued by the notary server.

즉, 본 발명에 따른 방화벽 동적 통과 방법은 사용자와 응용 서버 관리자 간의 특정 시간의 네트워킹 행위에 관한 동시 공증을 통하여 사용자 인증과 트래픽 인증을 대신하고 한 번의 시도로 여러 개의 방화벽을 동시에 동적으로 통과할 수 있게 한다.In other words, the firewall dynamic traversal method according to the present invention replaces user authentication and traffic authentication at the same time through simultaneous notarization of networking behavior between a user and an application server manager, and can dynamically pass through multiple firewalls simultaneously with one attempt. To be.

도 2는 본 발명에 따른 방화벽 통과 방법을 보이는 흐름도이다. 도 2는 사용자와 특정 시간의 네트워킹 행위에 관한 동시 공증을 통하여 사용자 인증과 트래픽 인증을 대신하고 한 번의 시도로 여러 개의 방화벽을 동시에 동적으로 통과할 수 있는 다중 방화벽 동적 통과 기술을 도시한다. 2 is a flowchart illustrating a firewall traversal method according to the present invention. 2 illustrates a multi-firewall dynamic pass technology that can simultaneously traverse multiple firewalls simultaneously in a single attempt instead of user authentication and traffic authentication through simultaneous notarization of the user and a specific time of networking behavior.

도 2를 참조하면, 본 발명에 따른 방화벽 동적 인증 방법은, VO자원들의 시간 정보를 상호 일치시키는 과정(s102), TCP 네트워킹 및 사용자 정보의 공증화 과정(s104), 방화벽 동적 통과를 위한 사용자 공증 신청 과정(s106), 사용자 공증서 분배 과정(s108), 사용자 공증서 확인 과정(s110), 공증서 기반 통신 서버 설정 과정(s112), 타이밍제어 기반 TCP 연결 과정(s114), 그리고 통신 서버간 TCP 응용 연결 과정(s116)을 포함한다.Referring to FIG. 2, the firewall dynamic authentication method according to the present invention includes a process of matching time information of VO resources with each other (s102), a notarization process with TCP networking and user information (s104), and a user notary for dynamically passing through a firewall. Application process (s106), user notarization distribution process (s108), user notary certificate confirmation process (s110), notarization based communication server setting process (s112), timing control based TCP connection process (s114), and TCP application connection process between communication servers (s116).

VO자원들의 시간 정보를 상호 일치시키는 과정(s102)에서 사용자와 응용 서버 관리자는 임의의 시간에 사용자쪽 통신 서버가 응용쪽 통신 서버에 액세스하는 것을 합의한다.In the process of matching time information of VO resources with each other (s102), the user and the application server manager agree to access the application-side communication server at any time.

여기서, VO(Virtual Organization)는 그리드 컴퓨팅 또는 클라우드 컴퓨팅에서 같은 관리(또는 서비스) 환경에 포함되는 컴퓨터들, 응용들, 사용자들 그리고 네트워크 들의 그룹을 통칭하는 용어이다. Here, VO (Virtual Organization) is a term that collectively refers to a group of computers, applications, users and networks included in the same management (or service) environment in grid computing or cloud computing.

TCP 네트워킹 및 사용자 정보의 공증화 과정(s104)에서 사용자 정보와 네트워킹 행위 정보 즉, 사용자-응용서버 관리자 간에 합의된 이용 시작 시간과 응용 서버에 대한 정보를 공증서 서버에 등록한다. In the process of notarizing TCP networking and user information (s104), user information and networking behavior information, that is, a start time of use agreed between a user and an application server administrator and information about an application server are registered in a notary server.

방화벽 동적 통과를 위한 사용자 공증 신청 과정(s106)에서 해당 응용 서버에 액세스하기 위한 공증서를 할당하여 줄 것을 공증서 관리자에게 요청한다.The notary manager requests that a notary for accessing the corresponding application server is allocated in the user notary application process s106 for dynamically passing through the firewall.

사용자 공증서 분배 과정(s108)에서 공증서 서버 관리자는 사용자와 응용 서버 관리자가 사전에 등록한 IP 주소 범위, 포트번호 범위 내에서 랜덤 생성한 IP주소와 포트번호가 포함된 공증서를 생성한 후 사용자, 응용 서버 관리자 그리고 관련된 방화벽 관리자들 모두에게 생성된 공증서를 보내준다.In the distribution process of user notarization (s108), the notary server administrator generates a notarized certificate including a randomly generated IP address and port number within a range of IP addresses and port numbers previously registered by the user and application server administrator. The created notary is sent to both the administrator and the relevant firewall administrators.

사용자 공증서 확인 과정(s110)에서 사용자는 공증서를 확인한다. In the user notarization check process (s110), the user verifies the notary.

공증서 기반 통신 서버 설정 과정(s112)에서 사용자와 응용 서버 관리자는 수신된 공증서 내의 정보를 이용하여 TCP의 초기 시퀀스 번호를 설정하는 등 네트워크 연결 환경을 구축한다.In the notation-based communication server setting process (s112), the user and the application server manager establish a network connection environment by setting an initial sequence number of the TCP by using the information in the notarized certificate.

타이밍제어 기반 TCP/IP 연결 과정(s114)에서 사용자측 통신 서버는 약속된 시간에 약속된 IP 주소, 포트 번호, 초기 시퀀스 번호를 가지는 TCP 연결 요청 패킷을 전송하고, 응용측 통신 서버는 이에 대응하는 TCP 응답 패킷을 전송하여 TCP/IP 연결을 확립한다.In the timing control-based TCP / IP connection process (s114), the user side communication server transmits a TCP connection request packet having a promised IP address, a port number, and an initial sequence number at an appointed time, and the application side communication server corresponds to the corresponding TCP. Send a response packet to establish a TCP / IP connection.

통신 서버간 TCP 응용 연결 과정(s116)에서 사용자측 통신 서버와 응용측 통신 서버는 확립된 TCP/IP 연결에 기반하여 TCP 응용 연결을 확립한다In the TCP application connection process (s116) between communication servers, the user side communication server and the application side communication server establish a TCP application connection based on the established TCP / IP connection.

구체적으로, 사용자측 통신 서버는 SYN 플래그가 설정된 첫번째 TCP 연결 요청 패킷을 미리 알고 있는 응용 서버의 IP주소와 포트 번호로 보낸다. Specifically, the user-side communication server sends the first TCP connection request packet with the SYN flag set to the IP address and port number of the application server known in advance.

TCP의 경우 SYN 플래그가 설정되어 있는 경우 로컬 방화벽은 내부에서 외부로 나가는 트래픽이기 때문에 통과할 수 있다. 하지만 상대방 방화벽에 도착해서는 상대방 방화벽에는 사전 작업이 되어 있지 않기 때문에 drop 된다. 왜냐하면, 통신하고자 하는 사용자측 통신 서버가 응용측 통신 서버 쪽의 방화벽 iptable에 등록되어있지 않기 때문이다. In the case of TCP, if the SYN flag is set, the local firewall can pass through because it is traffic from inside to outside. However, when it arrives at the other firewall, it is dropped because there is no pre-work on the other firewall. This is because the user communication server to communicate with is not registered in the firewall iptable of the application communication server.

사용자측 통신 서버가 보낸 TCP 연결 요청 패킷은 로컬 방화벽들을 지나면서 로컬 방화벽들이 사용자측 통신 서버가 보낸 연결 요청 패킷에 대응된 응용측 통신 서버 쪽의 응답 패킷이 도착하기를 기다리는 상태로 만든다. The TCP connection request packet sent by the user side communication server makes the local firewalls wait for the response packet of the application side communication server corresponding to the connection request packet sent by the user side communication server to arrive through the local firewalls.

응용측 통신 서버에서는 클라이언트가 보낸 연결 패킷의 IP 주소, 포트 번호, TCP 시퀀스 번호, 그리고 보낸 시간을 이미 알고 있기 때문에 사용자측 통신 서버가 보낸 패킷을 수신하지 않아도 정상적으로 수신받은 것처럼 시뮬레이션 동작을 수행하고 클라이언트 쪽 즉, 사용자측 통신 서버의 로컬 방화벽들이 기다리고 있는 첫 번째 응답 패킷을 생성하여 보낸다. Since the application side communication server already knows the IP address, port number, TCP sequence number, and sent time of the connection packet sent by the client, it performs simulation operation as if the user side communication server did not receive the packet. That is, the local firewalls of the user communication server generate and send the first response packet.

즉, SYN와 ACK 플래그가 설정되고 수신이 예정되었던 패킷의 시퀀스 번호에 대응된 ACK 번호를 가진 패킷을 생성하여 보낸다. That is, a packet having an ACK number corresponding to a sequence number of a packet in which SYN and ACK flags are set and reception is scheduled is generated and sent.

따라서, 첫 번째 연결 요청 패킷과 첫 번째 응답 패킷으로 인하여 송수신자 사이의 방화벽들은 기다리고 있는 연결 상태의 값을 충족시킬 수 있기 때문에, 정상적인 TCP/IP 연결이 설정된다..Therefore, the normal TCP / IP connection is established because the firewall between the sender and receiver can satisfy the value of the waiting connection state due to the first connection request packet and the first response packet.

방화벽 관리자들은 방화벽 통과 트래픽 분석 또는 보안 모니터링 과정의 일환으로 사용자 또는 응용 서버 관리자에게 공증서 기반 네트워킹을 사용하고 있는 지 또는 사용하였는 지를 확인한다. 이에 응답하여, 사용자(또는 서버 관리자)는 방화벽 관리자에게 공중서 기반 방화벽 동적 통과 네트워킹을 이용한 것 (또는 하고 있는 것)을 확인하여 준다.Firewall administrators verify whether or not they are using notary-based networking with the user or application server administrator as part of the firewall traversal traffic analysis or security monitoring process. In response, the user (or server administrator) confirms to the firewall administrator that he or she is using (or doing) public-based firewall dynamic passthrough networking.

도 2를 통하여 도시되고 설명된 본 발명에 따른 다중 방화벽의 동적 통과 방법은 여러 개의 방화벽을 동적으로 동시에 통과하려 할 때 방화벽마다 하나하나 작업을 할 필요가 없고, 1회의 시도로 통과하여야 할 방화벽들을 모두 한번에 통과할 수 있고, 방화벽의 종류가 달라도 똑같이 적용할 수 있으며, 방화벽 관리자의 사후 승인을 받기 때문에 사용자가 원하는 시각에 다중 방화벽을 동적 통과하는 것을 지원할 수 있다.The dynamic traversal method of the multiple firewalls according to the present invention shown and described with reference to FIG. 2 does not need to work individually for each firewall when trying to traverse multiple firewalls simultaneously and simultaneously. All can be traversed at once, the same can be applied to different types of firewalls, and with the post-approval of the firewall administrator, it can support dynamic traversal of multiple firewalls at the time you want.

도 2를 참조하면, 어플리케이션 계층과 네트워크(TCP) 계층에서 독립적 그리고 단계적으로 수행하는 것임을 알 수 있다. Referring to FIG. 2, it can be seen that the application layer and the network (TCP) layer are performed independently and in stages.

종래의 인터넷 전송 방식은 응용 계층의 데이터 전송 시작 그리고 이를 위한 네트워크 계층의 세션 설정과 같이 응용 계층과 네트워크 계측이 서로 연계되어 일련의 작업으로 동작한다. 이에 비해 본 발명은, 응용 계층의 데이터 전송 요구 확인, 네트워크 계층의 세션 설정 그리고 응용 계층의 데이터 전송 시작 형태로 3단계로 나누어 독립적으로 그리고 단계적으로 분리동작할 수 있게 한다. In the conventional Internet transmission scheme, the application layer and the network instrumentation operate in a series of tasks such as the start of data transmission of the application layer and the session establishment of the network layer therefor. On the contrary, the present invention divides the data transmission request of the application layer, the session setup of the network layer, and the data transmission start of the application layer into three stages so that the operation can be performed independently and stepwise.

즉, 도 2에 도시된 흐름도에 있어서 That is, in the flowchart shown in FIG.

s102 및 s104과정은 응용 계층에서 데이터 전송 요구를 확인하는 과정에 상응하고,Processes s102 and s104 correspond to the process of identifying data transfer requests at the application layer,

s106 내지 s113과정은 네트워크 계층에서의 세션 설정 과정에 상응하고, 그리고 Steps s106 to s113 correspond to the session establishment process at the network layer, and

s114~s116과정은 응용 계층에서의 데이터 전송 과정에 해당한다.Processes s114 to s116 correspond to data transmission processes in the application layer.

이들 과정은 시간적으로 연속되지 않고 독립적 그리고 단계적으로 수행된다. These processes are not continuous in time but are performed independently and in stages.

이에 따라, 본 발명의 다중 방화벽 동적 통과 과정은 기존의 인터넷 전송 방식과 호환성을 유지하면서 응용의 종류에 관계없이 그리고 방화벽의 종류와 수에 관계없이 발명의 적용 범위를 확장할 수 있다.Accordingly, the multi-firewall dynamic pass through process of the present invention can extend the scope of application of the present invention regardless of the type of application and the type and number of firewalls while maintaining compatibility with the existing Internet transmission scheme.

또한, 본 발명에 있어서의 이러한 독립적이고 단계적인 제어 과정은 애플케이션에서의 데이터 전송서비스와 TCP 서비스를 분리하여 TCP 연결 제어를 기존의 TCP 애플리케이션 뿐만 아니라 제3자도 TCP 연결 제어를 가능케 한다. In addition, this independent step-by-step control process in the present invention separates the data transfer service and the TCP service in the application to enable the TCP connection control not only the existing TCP application but also TCP connection control.

종래의 방화벽 통과 기술이 방화벽마다 통과하려는 사용자(또는 트래픽)의 인증에 기반을 둔 기술임에 비해, 본 발명은 방화벽 담장자, 응용 서버 제공자, 공증 시스템 등 다자간이 서로 공증하는 일회용 공증서에 기반을 둔 다중 방화벽 기술이다.While the conventional firewall traversal technique is based on authentication of a user (or traffic) attempting to pass through each firewall, the present invention is based on a single-use notarized by a multilateral notary such as a firewall administrator, an application server provider, and a notary system. Multiple firewall technology.

따라서, 기존의 방화벽 통과를 위해서는 방화벽 관리자가 일일이 작업하여야 하였지만 본 발명에 의하면 방화벽 관리자는 공증된 트래픽인지만을 단순 모니터링만 하고 방화벽 통과를 원하는 사용자만 동적 통과를 위한 핵심 기능인 트래픽 공증 절차와 TCP 프로토콜 시뮬레이션 기능을 수행한다.Therefore, although the firewall administrator had to work for the conventional firewall, the firewall manager merely monitors whether the traffic is notarized and simulates the traffic notation procedure and TCP protocol, which are the core functions for dynamic passage, only for users who want to pass through the firewall. Perform the function.

즉, 방화벽 동적 통과 관련 작업에서 방화벽 관리자가 기존의 능동적 중심자 역할에서 수동적 제3자의 위치로 전환하는 것이 가능해짐으로써 본 발명은 단대단 사용자의 합의만으로도 방화벽들을 동적 통과할 수 있는 방법을 제시한다.In other words, by enabling the firewall administrator to switch from the existing active central role to the passive third party in the work related to the firewall dynamic traversal, the present invention proposes a method of dynamically traversing the firewalls only by end-to-end user agreement. .

도 3은 도 2에 도시된 타이밍제어 기반 TCP/IP 연결 과정(s114)에서의 동작을 보다 상세하게 설명하기 위한 것이다.FIG. 3 is for explaining the operation in the timing control based TCP / IP connection process s114 shown in FIG. 2 in more detail.

도 3을 참조하면, 데이터 크기가 제로인 데이터를 전송하기 위한 TCP 연결 요청을 개시한다.(s302)Referring to FIG. 3, a TCP connection request for transmitting data having a data size of zero is initiated (s302).

클라이언트는 자신에게 지정된 시퀀스 번호와 SYN 비트가 설정된 TCP 연결 요청 패킷을 전송한다.(s304) 초기 패킷 손실을 고려하여 TCP 연결 요청 패킷은 2번 연속하여 전송된다.The client transmits a TCP connection request packet in which a sequence number and SYN bit set to the client are set (s304). In consideration of the initial packet loss, the TCP connection request packet is transmitted twice in succession.

서버는 자신에게 지정된 시퀀스 번호 및 Acknowldgement 번호와 SYN 및 ACK 비트가 설정된 서버 응답 TCP 패킷을 송신한다.(s306)The server transmits a server response TCP packet in which the sequence number and acknowldgement number and the SYN and ACK bits set to the server are set (s306).

클라이언트는 자신에게 지정된 시퀀스 번호 및 Acknowldgement 번호와 ACK, 비트가 설정된 클라이언트 응답 TCP 패킷을 송신한다.(s308)The client transmits a client response TCP packet having a sequence number, an acknowledgement number, an ACK, and a bit set thereto.

서버-클라이언트간 TCP 연결을 확인한다.(s310)Check the TCP connection between the server and the client. (S310)

도 4는 도 3에 도시된 방법을 수행하는 타이밍도를 도시한다.4 shows a timing diagram for performing the method shown in FIG. 3.

연결 시작 약속 시간(t)에서 클라이언트는 자신에게 지정된 시퀀스 번호와 SYN 비트가 설정된 TCP 연결 요청 패킷을 전송한다. 초기 패킷 손실을 고려하여 TCP 연결 요청 패킷은 2번 연속하여 전송된다.At the connection start appointment time t, the client sends a TCP connection request packet with the sequence number and SYN bit set to it. In consideration of the initial packet loss, the TCP connection request packet is transmitted twice in succession.

연결 시작 약속 시간으로부터 1/4RTT만큼 경과한 시간(t+1/4RTT)에서 서버는 자신에게 지정된 시퀀스 번호 및 Acknowldgement 번호와 SYN 및 ACK 비트가 설정된 서버 응답 TCP 패킷을 송신한다. 서버에서도 초기 패킷 손실을 고려하여 서버 응답 TCP 패킷을 2번 연속하여 전송한다. 여기서, RTT(Round Trip Time)은 데이터를 송신한 후 수신자가 수신을 확인했다고 보낸 신호가 다시 송신자에게까지 돌아오는 데 걸리는 시간 즉, 데이터가 송수신자 사이를 왕복하는 데 걸리는 시간을 나타낸다.At the time elapsed by 1 / 4RTT from the connection start appointment time (t + 1 / 4RTT), the server transmits a server response TCP packet in which the sequence number and acknowledgement number assigned to it and the SYN and ACK bits are set. The server also sends two consecutive server response TCP packets in consideration of the initial packet loss. Here, the round trip time (RTT) represents the time taken for the signal sent from the receiver to confirm the reception after the data is transmitted to the sender, that is, the time taken for the data to travel between the transmitter and the receiver.

도 5는 본 발명에 따른 방법에서 사용되는 공증서의 구성 형식의 일예를 도시한다.5 shows an example of a configuration form of a notary used in the method according to the present invention.

도 5를 참조하면, 공증서는 소스 IP 주소, 목적지 IP 주소, 소스 포트번호, 목적지 포트 번호, 소스 시퀀스 번호, 목적지 시퀀스 번호, 소스 전송 시간, 목적지 전송 시간, 복수의 사용자 ID들을 갖는다.Referring to FIG. 5, the notary has a source IP address, a destination IP address, a source port number, a destination port number, a source sequence number, a destination sequence number, a source transmission time, a destination transmission time, and a plurality of user IDs.

사용자 서버, 응용 서버 등은 도 5에 도시된 바의 내용을 가지는 공증서를 참조하여 약속된 시간에 약속된 시퀀스 번호를 가지는 TCP 패킷을 전송하게 된다. 방화벽은 약속된 시간 이후에 사용자 또는 서버 관리자에서 공증서 기반 네트워킹을 사용하고 있는지 또는 사용하였는지를 확인한다.The user server, the application server, and the like refer to a notary having a content as shown in FIG. 5 and transmit a TCP packet having a promised sequence number at an appointed time. The firewall checks whether or not the user or server administrator is using or using notary-based networking after the scheduled time.

도 6은 본 발명에 따른 방법을 수행하는 시스템의 구성을 도시한다. 도 6을 참조하면, 참조부호 602는 사용자쪽 통신 서버를 나타내고, 604는 응용쪽 통신 서버를 나타내며, 606은 공증서 서버를 나타내고 그리고 608는 방화벽을 나타낸다. 방화벽은 복수개가 존재할 수 있다. 도 6에 도시된 시스템에 있어서 다중 방화벽 동적 통과는 다음과 같이 수행된다.6 shows a configuration of a system for performing a method according to the invention. Referring to Fig. 6, reference numeral 602 denotes a user side communication server, 604 denotes an application side communication server, 606 denotes a notary server and 608 denotes a firewall. There may be a plurality of firewalls. In the system shown in FIG. 6, multiple firewall dynamic traversal is performed as follows.

① 임의의 시간에 사용자와 응용 서버 관리자는 사용자측 통신 서버(602)가 응용측 통신 서버(604)에 액세스하는 것을 합의한다.At any time, the user and the application server administrator agree that the user side communication server 602 accesses the application side communication server 604.

② 사용자 정보와 네트워킹 행위 정보 즉 사용자와 응용 서버 관리자 간에 합의된 이용 시작 시간과, 응용측 통신 서버에 대한 정보를 공증서 서버에 보낸 후 해당 응용측 통신 서버에 액세스하기 위한 공증서를 할당하여 줄 것을 공증서 서버(606)에게 요청한다(2) A notarized certificate for allocating user information and networking behavior, that is, the start time of use agreed between the user and the application server administrator, and information about the communication server of the application side to the notary server, and then assigning a notary for accessing the application server. Ask server 606

③ 공증서 서버(606)는 사용자와 응용 서버 관리자가 사전에 등록한 IP주소 범위, 포트번호 범위내애서 랜덤 생성한 IP 주소와 포트번호가 포함된 공증서를 생성한 후 사용자측 통신 서버(602), 응용측 통신 서버(604), 그리고 관련된 방화벽(608)들 모두에게 생성된 공증서를 보내준다. ③ The notarization server 606 generates a notarization including a randomly generated IP address and port number within a range of IP addresses and port numbers registered in advance by a user and an application server administrator, and then a user side communication server 602 and an application side. The created notation is sent to both the communication server 604 and the associated firewalls 608.

④ 사용자측 통신 서버(602)와 응용측 통신 서버(604)는 수신된 공증서 내의 정보를 이용하여 TCP의 초기 시퀀스 번호를 설정하는 등 네트워크 연결 환경을 구축한다. 그리고 사용자측 통신 서버(602)는 SYN 플래그가 설정된 첫 번째 TCP 연결 요청 패킷을 미리 알고 있는 응용측 통신 서버(604)의 IP주소와 포트 번호로 보낸다. TCP의 경우 SYN 플래그가 설정되어 있는 경우 로컬 방화벽은 내부에서 외부로 나가는 트래픽이기 때문에 통과할 수 있다. 하지만 상대방 방화벽에 도착해서는 상대방 방화벽에는 사전 작업이 되어 있지 않기 때문에 drop 된다. 왜냐하면, 응용 서버 쪽 방화벽 iptable에 등록되어있지 않기 때문이다. 이 때 사용자가 보낸 TCP 연결 요청 패킷은 로컬 방화벽들을 지나면서 로컬 방화벽들이 사용자가 보낸 연결 요청 패킷에 대응된 응용 서버 쪽의 응답 패킷이 도착하기를 기다리는 상태로 만든다. (4) The user side communication server 602 and the application side communication server 604 establish a network connection environment by setting an initial sequence number of TCP using the information in the received notarization. The user side communication server 602 then sends the first TCP connection request packet with the SYN flag set to the IP address and port number of the application side communication server 604, which is known in advance. In the case of TCP, if the SYN flag is set, the local firewall can pass through because it is traffic from inside to outside. However, when it arrives at the other firewall, it is dropped because there is no pre-work on the other firewall. This is because the application server side firewall is not registered in iptable. The TCP connection request packet sent by the user passes through the local firewalls and causes the local firewalls to wait for a response packet on the application server side corresponding to the connection request packet sent by the user to arrive.

⑤ 응용측 통신 서버(604)에서는 사용자측 통신 서버(602)가 보낸 연결 패킷의 IP 주소, 포트 번호, TCP 시퀀스 번호, 그리고 보낸 시간을 이미 알고 있기 때문에 사용자가 보낸 패킷을 수신하지 않아도 정상적으로 수신 받은 것처럼 시뮬레이션 동작을 수행하고 사용자측 통신 서버(602) 쪽의 로컬 방화벽들이 기다리고 있는 첫 번째 응답 패킷을 생성하여 보낸다.. 즉 SYN와 ACK 플래그가 설정되고 수신이 예정되었던 패킷의 시퀀스 번호에 대응된 ACK 번호를 가진 패킷을 생성하여 보낸다. 따라서 첫 번째 연결 요청 패킷과 첫 번째 응답 패킷으로 송수신자 사이의 방화벽들은 기다리고 있는 연결 상태의 값을 충족시킬 수 있기 때문에 정상적인 연결이 설정된다.⑤ Since the application-side communication server 604 already knows the IP address, port number, TCP sequence number, and time of the connection packet sent by the user-side communication server 602, the user-side communication server 604 may receive the packet as if the user did not receive the packet. It performs the simulation operation and generates and sends the first response packet waiting for the local firewalls on the user side communication server 602. That is, the ACK number corresponding to the sequence number of the packet for which the SYN and ACK flags are set and the reception is scheduled is received. Create and send a packet with Therefore, the normal connection is established because the firewall between the sender and receiver with the first connection request packet and the first response packet can satisfy the value of the waiting connection state.

⑥ 방화벽 관리자들은 방화벽 통과 트래픽 분석 또는 보안 모니터링 과정의 일환으로 사용자 또는 응용 서버 관리자에게 공증서 기반 네트워킹을 사용하고 있는 지 또는 사용하였는 지를 확인한다⑥ Firewall administrators verify whether or not they are using notary-based networking with the user or application server administrator as part of the firewall traversal traffic analysis or security monitoring process.

⑦ 사용자(또는 응용 서버 관리자)는 방화벽 관리자에게 공중서 기반 방화벽 동적 통과 네트워킹을 이용한 것 (또는 하고 있는 것)을 확인하여 준다
The user (or application server administrator) can confirm to the firewall administrator that he or she is using (or doing) public-based firewall dynamic passthrough networking.

본 발명은, 향후 인터넷 사용자의 유동성이 높아져서 응용 플랫폼이 점차 그리드/클라우드 환경으로의 진화가 예상되며, 그럴 경우, 그리드 컴퓨팅 또는 사이언스 클라우드 플랫폼을 동적으로 외부 기관의 IT 자원까지 확장하려 할 경우, 정보보호 문제로 각 기관의 2중, 3중으로 설치된 방화벽의 안쪽 깊숙한 곳에 설치되어있는 컴퓨팅 자원들까지도 동적으로 활용할 수 있는 기술을 확보할 수 있는 효과를 기대할 수 있다.
The present invention is expected to increase the mobility of the Internet users in the future, the application platform is expected to gradually evolve into a grid / cloud environment, in which case, if you want to dynamically expand the grid computing or science cloud platform to IT resources of external institutions, As a matter of protection, it can be expected to secure a technology that can dynamically utilize even computing resources installed deep inside each firewall of two or three of each institution.

602...사용자측 통신 서버 604...응용측 통신 서버
606...공증서 서버 608...방화벽
602 ... user-side communication server 604 ... application-side communication server
606 Notary Server 608 Firewall

Claims (4)

사용자측 통신 서버, 응용측 통신 서버 그리고 상기 두 서버 사이에 개재된 복수의 방화벽들을 포함하는 컴퓨팅 환경에서의 다중 방화벽 통과 방법에 있어서,
사용자 정보와 네트워킹 행위 정보 즉, 사용자-응용서버 관리자 간에 사전에 합의된 상기 사용자측 통신 서버와 상기 응용측 통신 서버 간의 약속된 이용 시작 시간과 상기 응용측 통신 서버에 대한 정보를 공증서 서버에 등록하는 TCP 네트워킹 및 사용자 정보의 공증화 과정;
상기 사용자측 통신 서버가 해당 응용측 통신 서버에 액세스하기 위한 공증서를 할당하여 줄 것을 상기 공증서 서버에게 요청하는 방화벽 동적 통과를 위한 사용자 공증 신청 과정;
상기 공증서 서버는 사용자와 응용 서버 관리자가 사전에 등록한 IP 주소 범위, 포트번호 범위 내에서 랜덤 생성한 IP주소와 포트번호가 포함된 공증서를 생성한 후 사용자측 통신 서버, 응용측 통신 서버 그리고 관련된 방화벽들 모두에게 생성된 공증서를 보내주는 사용자 공증서 분배 과정;
사용자측 통신 서버와 응용측 통신 서버는 수신된 공증서 내의 정보를 이용하여 TCP의 초기 시퀀스 번호를 설정하는 등 네트워크 연결 환경을 구축하는 공증서 기반 통신 서버 설정 과정;
사용자측 통신 서버가 약속된 이용 시작 시간에 공증서에 등록된 IP 주소, 포트 번호, 초기 시퀀스 번호를 가지는 TCP 연결 요청 패킷을 전송하고, 응용측 통신 서버는 이에 대응하는 TCP 응답 패킷을 전송하여 TCP/IP 연결을 확립하는 타이밍제어 기반 TCP/IP 연결 과정; 및
사용자측 통신 서버와 응용측 통신 서버가 확립된 TCP/IP 연결에 기반하여 TCP 응용 연결을 확립하는 통신 서버간 TCP 응용 연결 과정; 을 포함하는 다중 방화벽 동적 통과 방법.
In the multiple firewall traversal method in a computing environment comprising a user-side communication server, an application-side communication server and a plurality of firewalls interposed between the two servers,
TCP for registering user information and networking behavior information, that is, an appointment start time between the user-side communication server and the application-side communication server previously agreed between the user-application server administrator and the information on the application-side communication server to a notary server. Notarization of networking and user information;
A user notarization application process for dynamically passing through a firewall requesting the notary server to allocate a notary for accessing the corresponding application-side communication server by the user-side communication server;
The notary server generates a notary containing a randomly generated IP address and port number within a range of IP addresses and port numbers registered in advance by a user and an application server administrator, and then a user-side communication server, an application-side communication server, and related firewalls. User notarization distribution process to send generated notaries to all;
The user side communication server and the application side communication server may establish a notarized certificate-based communication server for establishing a network connection environment such as setting an initial sequence number of TCP using information in the received notary certificate;
The user communication server transmits the TCP connection request packet having the IP address, port number, and initial sequence number registered in the notarization at the promised start time of use, and the application communication server transmits the corresponding TCP response packet to the TCP / IP. A timing control based TCP / IP connection process for establishing a connection; And
A TCP application connection process between the communication server for establishing a TCP application connection based on the established TCP / IP connection between the user side communication server and the application side communication server; Multiple firewall dynamic pass-through method comprising a.
제1항에 있어서, 상기 타이밍제어 기반 TCP/IP 연결 과정에 있어서 초기 패킷 손실을 고려하여 상기 사용자측 통신 서버는 TCP 연결 요청 패킷을 2번 연속하여 전송하고, 상기 응용측 통신 서버도 이에 대응하여 TCP 응답 패킷을 2번 연속하여 전송하는 것을 특징으로 하는 다중 방화벽 통과 방법.The method of claim 1, wherein in the timing control based TCP / IP connection process, the user side communication server transmits a TCP connection request packet twice in succession in consideration of initial packet loss, and the application side communication server correspondingly responds to TCP. Multiple firewall traversal method characterized in that the transmission of the response packet twice in succession. 사용자 정보와 네트워킹 행위 정보 즉, 사용자-응용서버 관리자 간에 사전에 합의된 상기 사용자측 통신 서버와 상기 응용측 통신 서버 간의 약속된 이용 시작 시간과 응용측 통신 서버에 대한 정보를 공증서 서버에 등록하는 응용 계층의 데이터 전송 요구 확인 과정;
상기 사용자측 통신 서버가 상기 응용측 통신 서버에 액세스하기 위한 공증서를 할당하여 줄 것을 공증서 서버에게 요청하고, 상기 공증서 서버는 사용자와 응용 서버 관리자가 사전에 등록한 IP 주소 범위, 포트번호 범위 내에서 랜덤 생성한 IP주소와 포트번호가 포함된 공증서를 생성한 후 상기 사용자측 통신 서버, 상기 응용측 통신 서버 그리고 관련된 방화벽들 모두에게 생성된 공증서를 보내주며, 상기 사용자측 통신 서버와 상기 응용측 통신 서버는 수신된 공증서 내의 정보를 이용하여 TCP의 초기 시퀀스 번호를 설정하는 등 네트워크 연결 환경을 구축하는 네트워크 계층의 세션 설정 과정;
상기 사용자측 통신 서버는 약속된 이용 시작 시간에 공증서에 등록된 IP 주소, 포트 번호, 초기 시퀀스 번호를 가지는 TCP 연결 요청 패킷을 전송하고, 상기 응용측 통신 서버는 이에 대응하는 TCP 응답 패킷을 전송하여 TCP/IP 연결을 확립하는 타이밍제어 기반 TCP/IP 연결 과정; 및
상기 사용자측 통신 서버와 상기 응용측 통신 서버가 확립된 TCP/IP 연결에 기반하여 TCP 응용 연결을 확립하는 통신 서버간 TCP 응용 연결 과정; 을 포함하는 다중 방화벽 동적 통과 방법.
An application layer that registers user information and networking behavior information, that is, an appointment start time between the user-side communication server and the application-side communication server previously agreed between the user-application server administrator and the information on the application-side communication server to a notary server. Data transmission request confirmation process;
The user side communication server requests a notary server to allocate a notary for accessing the application side communication server, and the notary server randomly generates a range of IP addresses and port numbers previously registered by the user and the application server administrator. After generating a notarization including an IP address and a port number, a notarized certificate is sent to all of the user side communication server, the application side communication server, and related firewalls, and the user side communication server and the application side communication server receive the received certificate. A session establishment process of a network layer for establishing a network connection environment such as setting an initial sequence number of TCP using information in a notary certificate;
The communication server of the user side transmits a TCP connection request packet having an IP address, a port number, and an initial sequence number registered in a notary certificate at a promised start time of use, and the application communication server transmits a TCP response packet corresponding thereto. TCP / IP connection process based on timing control for establishing IP / IP connection; And
A TCP application connection process between the communication server for establishing a TCP application connection based on the TCP / IP connection between the user side communication server and the application side communication server; Multiple firewall dynamic pass-through method comprising a.
제3항에 있어서, 상기 타이밍제어 기반 TCP/IP 연결 과정에 있어서 초기 패킷 손실을 고려하여 상기 사용자측 통신 서버는 TCP 연결 요청 패킷을 2번 연속하여 전송하고, 상기 응용측 통신 서버도 이에 대응하여 TCP 응답 패킷을 2번 연속하여 전송하는 것을 특징으로 하는 다중 방화벽 통과 방법.
4. The method of claim 3, wherein in the timing control based TCP / IP connection process, the user side communication server transmits a TCP connection request packet twice in succession in consideration of initial packet loss, and the application side communication server correspondingly performs the TCP. Multiple firewall traversal method characterized in that the transmission of the response packet twice in succession.
KR1020100118873A 2010-11-26 2010-11-26 Method for dynamic traversing of multiple firewalls based on simultaneous notarization of user and networking instance and apparatus thereof KR101150299B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100118873A KR101150299B1 (en) 2010-11-26 2010-11-26 Method for dynamic traversing of multiple firewalls based on simultaneous notarization of user and networking instance and apparatus thereof
PCT/KR2011/009078 WO2012070912A2 (en) 2010-11-26 2011-11-25 Method for dynamically traversing multiple firewalls by means of the simultaneous authentication of a user and network behavior, and apparatus therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100118873A KR101150299B1 (en) 2010-11-26 2010-11-26 Method for dynamic traversing of multiple firewalls based on simultaneous notarization of user and networking instance and apparatus thereof

Publications (2)

Publication Number Publication Date
KR20120057225A KR20120057225A (en) 2012-06-05
KR101150299B1 true KR101150299B1 (en) 2012-06-12

Family

ID=46146337

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100118873A KR101150299B1 (en) 2010-11-26 2010-11-26 Method for dynamic traversing of multiple firewalls based on simultaneous notarization of user and networking instance and apparatus thereof

Country Status (2)

Country Link
KR (1) KR101150299B1 (en)
WO (1) WO2012070912A2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050026624A (en) * 2003-09-09 2005-03-15 이상준 Integration security system and method of pc using secure policy network
US7254133B2 (en) 2002-07-15 2007-08-07 Intel Corporation Prevention of denial of service attacks
KR100817661B1 (en) 2002-09-27 2008-03-27 마츠시타 덴끼 산교 가부시키가이샤 Server, device, and communication system connected to the internet

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100651713B1 (en) * 2003-12-26 2006-11-30 한국전자통신연구원 Selective identification system based identification policies and identification method therefor
KR100707805B1 (en) * 2004-03-24 2007-04-17 엑서스케이알 주식회사 Authentication system being capable of controlling authority based of user and authenticator
KR100694792B1 (en) * 2006-08-18 2007-03-14 주식회사 스타뱅크 System for circulation notary in online and method for managing notary electric p.o. box for customer unification

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7254133B2 (en) 2002-07-15 2007-08-07 Intel Corporation Prevention of denial of service attacks
KR100817661B1 (en) 2002-09-27 2008-03-27 마츠시타 덴끼 산교 가부시키가이샤 Server, device, and communication system connected to the internet
KR20050026624A (en) * 2003-09-09 2005-03-15 이상준 Integration security system and method of pc using secure policy network

Also Published As

Publication number Publication date
WO2012070912A2 (en) 2012-05-31
WO2012070912A3 (en) 2012-09-27
KR20120057225A (en) 2012-06-05

Similar Documents

Publication Publication Date Title
US9294519B2 (en) File server device
CN101478493B (en) Method and device for NAT through communication
US20080175383A1 (en) Method and communication unit for communicating between communication apparatus
FI125972B (en) Equipment arrangement and method for creating a data transmission network for remote property management
US20080112417A1 (en) Communication Terminal, And Communication Method
CN105519028A (en) Wireless system access control method and apparatus
CN110971498B (en) Communication method, communication device, electronic apparatus, and storage medium
WO2015068255A1 (en) Network system, communication control device, and communication method
CN109005179A (en) Network security tunnel establishing method based on port controlling
CN110661858A (en) Websocket-based intranet penetration method and system
CN106550058A (en) Network address translation penetration method and system using same
CN111343083B (en) Instant messaging method, instant messaging device, electronic equipment and readable storage medium
US9413590B2 (en) Method for management of a secured transfer session through an address translation device, corresponding server and computer program
MX2013013745A (en) Device arrangement for implementing remote control of properties.
JP6393475B2 (en) Communication adapter device, communication system, tunnel communication method, and program
Benomar et al. A cloud-based and dynamic dns approach to enable the web of things
CN107547680A (en) A kind of data processing method and device
CN100393039C (en) Network administration method for no-IP address device
KR101150299B1 (en) Method for dynamic traversing of multiple firewalls based on simultaneous notarization of user and networking instance and apparatus thereof
CN100592265C (en) Method, system and computer system for guaranteeing communication safety by route packet quantity
JP5874354B2 (en) Relay server and relay communication system
JP4401302B2 (en) Communication management system, communication management method, and communication management program
JP5084716B2 (en) VPN connection apparatus, DNS packet control method, and program
KR102033816B1 (en) Assistant data transmission method
CN108123922A (en) Security processing, device

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150518

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160406

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170327

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180816

Year of fee payment: 7