KR20030075810A - 공인네트워크와 비공인네트워크 사이에서의 데이터 통신시스템 및 그 방법 - Google Patents
공인네트워크와 비공인네트워크 사이에서의 데이터 통신시스템 및 그 방법 Download PDFInfo
- Publication number
- KR20030075810A KR20030075810A KR1020020015184A KR20020015184A KR20030075810A KR 20030075810 A KR20030075810 A KR 20030075810A KR 1020020015184 A KR1020020015184 A KR 1020020015184A KR 20020015184 A KR20020015184 A KR 20020015184A KR 20030075810 A KR20030075810 A KR 20030075810A
- Authority
- KR
- South Korea
- Prior art keywords
- client
- server
- data
- authentication
- internal
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
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)
Abstract
개시된 본 발명은 공인네트워크와 비공인네트워크 사이에서의 데이터 통신 시스템 및 그 방법에 관한 것으로써, 더욱 상세하게는 엠에스 윈도우즈(Windows)에서 윈속모듈(Winsock module)을 사용하여 TCP/IP 프로토콜에 의한 통신을 수행하는 프로그램들에 있어서, 시스템의 윈도우즈 어플리케이션 계층(Windows Application layer)과 윈도우즈 소켓 계층(Winsock layer) 사이에 리디렉트계층을 삽입함으로써 공인네트워크와 비공인네트워크 사이에서 데이터 통신을 수행할 수 있도록 하는 공인네트워크와 비공인네트워크 사이에서의 데이터 통신 시스템 및 그 방법에 관한 것이다.
본원 발명은, 비공인네투워크상에 구성된 내부서버가 제공하는 정보를 얻기위한 클라이언트 프로그램이 탑재되는 클라이언트 어플리케이션 계층과 상기 클라이언트 프로그램의 구동시 동작되어 목적지 내부서버와 터널링 통신을 수행하도록 통신 터널을 생성하고, 인증 정보를 삽입하는 리디렉트계층을 가지고 상기 서버와 데이터 통신을 수행하는 다수의 클라이언트 컴퓨터와; 상기 다수의 클라이언트에 구성된 리디렉트계층에 대응하여 접속된 클라이언트를 인증하며, 접속된 상기 클라이언트 컴퓨터와 목적지 내부서버와의 데이터통신을 매개하는 인증서버; 및, 상기 다수의 클라이언트 컴퓨터에 구성된 상기 클라이언트 어플리케이션에 대응되는 서버 어플리케이션을 탑재하여 상기 클라이언트 컴퓨터 요청 정보를 제공하는 다수의 내부서버를 포함하여 구성되는 것을 특징으로 한다.
본원 발명은, 인증되지 않은 이용자에게는 네트워크 자체를 보이지 않도록 함으로써 보안성을 높이며, 또한, 비공인 네트워크를 그대로 쓸 수 있도록 함으로써 제한된 공인 IP를 준비하지 않아도 되고, 공인 네트워크에서 비공인 네트워크에 접근하도록 함으로써 비공인 네트워크에 구축된 서버를 그대로 사용할 수 있고, 또한, 네트워크의 인증 및 동작을 인증서버에서 제어하고 있기 때문에 인증서버가 TCP/IP 세션의 시작과 끝을 알 수 있으므로 과금을 위한 별도의 코드를 만들 필요가 없이 과금으 수행할 수 있도록 함으로써 프로그램의 효율성을 높이는 효과를 제공한다.
Description
본원 발명은 엠에스 윈도우즈(Windows)에서 윈속모듈(Winsock module)을 사용하여 TCP/IP 프로토콜에 의한 통신을 수행하는 프로그램들이 공인네트워크와 비공인 네트워크 사이에서의 데이터통신을 수행할 수 있도록 하는 시스템 및 방법에 관한 것이다.
종래 기술에서, 아이피 터널링을 이용한 방법은, 특정 사설망에 구성된 클라이언트가 다른 사설망에 가입되어 있는 서버로 접속하기 위하여는 네트워크 상에구성된 라우터에 패킷을 전송을 요청하여 수신된 상기 서버의 IP 주소를 이용하여 데이터를 전송하게 되고, 전송된 데이터는 다수의 라우터를 경유하여 상기 서버로 접속된다. 즉, 다수의 라우터에 의해 상기 클라이언트가 다른 사설망에 구성된 서버와 IP 터널링에 의한 통신을 수행하게 되는 것이다.
이러한 경우, 상기 클라이언트 및 서버는 각각 라우터를 통해 IP 터널을 통한 통신을 수행하기 때문에 상기 클라이언트와 서버는 동일한 통신 프로토콜을 사용하여 함으로 공인아이피를 사용하는 공인네트워크 상의 클라이언트는 상기 서버에 접근하는 것이 불가능하며, 또한, 각각의 사설망을 연결하기 위한 라우터를 구비하여야 함으로 하드웨어의 확장을 초래하는 문제점이 있었다.
또한, 공인네트워크 상에 구성된 클라이언트는 비공인네트워크 상에 구성된 서버의 IP 주소를 알 수 없기 때문에 상기 서버로 접속되지 못하는 문제점이 있었다.
상기 문제점을 극복하기 위한 본원 발명은, 공인네트워크와 비공인네트워크 사이에서의 데이터통신 시스템 및 그 방법에 관한 것으로써, 더욱 상세하게는 엠에스 윈도우즈(Windows)에서 윈속모듈(Winsock module)을 사용하여 TCP/IP 프로토콜에 의한 통신을 수행하는 프로그램들에 있어서, 클라이언트 컴퓨터의 시스템의 윈도우즈 어플리케이션 계층(Windows Application layer)과 윈도우즈 소켓계층(Winsock layer) 사이에 공인네트워크와 비공인 네트워크를 매개하도록 패킷 변환을 수행하는 리디펙터를 삽입하여 리디렉터 계층을 탑재하도록 하고, 인증서버상에 상기 리디렉터계층과 대응되는 서버리디렉트계층을 탑재시켜 상기 클라이언트의 접속을 매개하고, 인증하도록 함으로써 공인네트워크와 비공인네트워크 사이에서 데이터통신을 수행할 수 있도록 하는 공인네트워크와 비공인네트워크 사이에서의 데이터통신 시스템 및 그 방법을 제공하는 것을 그 목적으로 한다.
도 1은 본원 발명에 따르는 시스템의 전체 구성도이다.
도 2는 도1의 시스템의 각 구성요소의 내부 아키텍쳐 및 데이터의 흐름을 나타내는 도면이다.
도 3은 도 1의 인증서버가 프록시서버로 동작되는 경우의 처리과정을 나타내는 순서도이다.
도 4는 도 1의 인증서버가 게이트웨이서버로 동작되는 경우의 처리과정을 나타내는 순서도이다.
* 도면의 주요 부호에 대한 설명 *
10 : 공인네트워크
20 : 비공인네트워크
100 : 클라이언트 컴퓨터
200 : 인증서버
300 : 내부서버
110 : 클라이언트 어플리케이션 계층
120 : 소켓계층
130 : 리디렉트계층
140, 240 : 외부 TCP/IP 스택
210 : 인증서버 어플리케이션 계층
220 : 인증서버 소켓계층
230 : 서버 리디렉트계층
250 : 내부 TCP/IP 스택
350 : 서버 내부 TCP/IP 스택
상기 목적을 달성하기 위한 본원 발명의 시스템은, 내부서버제공 정보를 얻기위한 클라이언트 프로그램이 탑재되는 클라이언트 어플리케이션 계층과 상기 클라이언트 프로그램의 구동시 동작되어 목적지 내부서버와 통신을 수행하도록 패킷 변환을 수행하는 리디펙터계층을 가지고 상기 내부서버와 데이터 통신을 수행하는 다수의 클라이언트 컴퓨터와; 상기 다수의 클라이언트에 구성된 리디렉터 계층에 대응하여 접속된 클라이언트를 인증하며, 상기 접속된 클라이언트의 클라이언트 컴퓨터와 목적지 서버와의 데이터통신을 매개하는 서버리디렉트계층이 탑재된 인증서버; 및, 상기 다수의 클라이언트 컴퓨터에 구성된 상기 클라이언트 어플리케이션에 대응되는 서버 어플리케이션을 탑재하여 상기 클라이언트 컴퓨터 요청 정보를 상기 클라이언트 컴퓨터의 클라이언트 프로그램으로 제공하는 다수의 내부서버를 포함하여 구성되는 것을 특징으로 한다.
상기의 인증 서버는 프록시 서버 또는 게이트웨이 서버일 수 있다.
상기 인증서버가 프록시서버인 경우 본원 발명의 시스템은, 내부서버제공 정보를 얻기위한 클라이언트 프로그램이 탑재되는 클라이언트 어플리케이션 계층과 상기 클라이언트 프로그램의 구동시 동작되어 목적지 서버와 터널링에 의한 데이터통신을 수행하도록 통신 터널을 생성하는 리디렉트계층을 가지고 상기 서버와 터널에 의한 데이터 통신을 수행하는 다수의 클라이언트 컴퓨터와; 상기 다수의 클라이언트에 구성된 리디렉트계층에 대응하여 접속된 클라이언트를 인증하며, 상기 접속된 클라이언트의 클라이언트 컴퓨터와 목적지 서버와의 터널통신을 매개하는 서버리디렉트계층이 탑재된 인증서버; 및, 상기 다수의 클라이언트 컴퓨터에 구성된 상기 클라이언트 어플리케이션에 대응되는 서버 어플리케이션을 탑재하여 상기 클라이언트 컴퓨터 요청 정보를 제공하는 다수의 내부서버를 포함하여 구성되는 것을 특징으로 한다.
상기 인증서버가 프록시 서버인 경우, 본원 발명에 따르는 방법은, 내부서버 제공 클라이언트 어플리케이션을 제공받아 설치하고, 설치된 상기 클라이언트 어플리케이션을 구동하여 상기 내부서버로 데이터를 요청하는 단계와; 상기 내부서버로의 데이터 요청 신호를 후킹하여 캡슐화한 후, 인증을 수행하는 프록시서버로 리디렉트하는 단계; 및, 상기 리디렉트된 데이터를 수신하여 디 캡슐화한 후, 상기 클라이언트에 대한 인증을 수행하고, 인증된 상기 클라이언 컴퓨터를 상기 내부서버와 터널에 의하여 연결하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
상기 인증서버가 게이트웨이 서버인 경우 본원 발명에 따르는 시스템은, 내부서버제공 정보를 얻기위한 클라이언트 프로그램이 탑재되는 클라이언트 어플리케이션 계층과 상기 클라이언트 프로그램의 구동시 동작되어 목적지 내부서버와 데이터통신을 수행하도록 상기 데이터의 헤더에 인증서버에서 인증을 수해아기 위한 티켓을 삽입하는 리디렉트계층을 가지고 상기 내부서버와 데이터 통신을 수행하는 다수의 클라이언트 컴퓨터와; 상기 다수의 클라이언트에 구성된 상기 리디렉트계층에 대응하여 접속된 클라이언트를 인증하며, 상기 접속된 클라이언트의 클라이언트 컴퓨터와 목적지 서버와의 데이터를 패킷변환하여 매개하는 인증서버; 및, 상기 다수의 클라이언트 컴퓨터에 구성된 상기 클라이언트 어플리케이션에 대응되는 서버 어플리케이션을 탑재하여 상기 클라이언트 컴퓨터 요청 정보를 제공하는 다수의 내부서버를 포함하여 구성되는 것을 특징으로 한다.
상기 인증서버가 게이트웨이 서버인 경우, 본원 발명의 방법은, 내부서버 제공 클라이언트 어플리케이션을 다운받아 설치하고, 설치된 상기 클라이언트 어플리케이션을 구동하여 상기 서버로 데이터를 요청하는 단계와; 상기 서버로의 데이터 요청 신호를 후킹하여, 헤터 정보에 티켓을 삽입한 후, 인증을 수행하는 게이트웨이 서버로 리디렉트하는 단계와; 상기 리디렉트된 데이터를 수신하여 상기 티켓을 이용하여 상기 클라이언트에 대한 인증을 수행하는 단계와; 인증된 클라이언트에 대한 세션을 생성하는 단계와; 상기 클라이언트 컴퓨터로부터 전송된 데이터의 패킷을 분해하는 단계와; 패킷 분해된 데이터를 비공인네트워크상의 프로토콜에 맞게 재 패킷화하여 상기 내부서버로 전송함으로써 상기 클라이언트 컴퓨터를 상기 내부서버와 연결하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
이하, 본원 발명의 바람직한 일 실시예를 나타내는 첨부 도면을 참조하여 본원 발명을 더욱 상세하게 설명한다.
본원 발명의 일 실시예에 대한 설명에서 외부 TCP/IP 스택은 공인 IP 주소를 사용하는 것을 말한다.
내부 TCP/IP 스택과 서버내부 TCP/IP 스택은 비공인 IP 주소를 사용하는 것으로 동일하나, 인증서버와 내부서버로 구별하기 위하여 서로 다른 명칭을 사용한다.
또한, 본원 발명의 소켓계층, 인증서버 소켓계층, 및 서버소켓 계층은 모두 소켓 계층을 나타내는 것으로서, 클라이언트 컴퓨터와 인증서버와 내부서버의 소켓 계층을 구별하기 위하여 서로 다른 명칭을 사용한다.
도 1은 본원 발명의 전체 시스템 구성도이며, 도 2는 도 1의 시스템 구성요소 각각의 내부 구성 및 데이터 전송 과정을 나타내는 도면이다.
도시된 바와 같이 본원 발명에 따르는 전체 시스템은, 터널링을 통해 서버에 접속하는 다수의 클라이언트 컴퓨터(100)와 상기 다수의 클라이언트 컴퓨터에 대한 인증을 수행하여 상기 클라이언트 컴퓨터(100)를 접속을 원하는 목적내부서버(300)로 연결하는 인증서버(200)와 상기 클라이언트에게 정보를 제공하는 다수의 내부서버(300)로 구성된다.
상기 인증서버(200)는 프록시서버 또는 게이트웨이 서버 중 어느 하나로 구성된다.
도 2는 상기 도 1의 각각의 구성요소의 내부 구성 및 데이터의 흐름을 나타내는 도면으로서, 도 2에 도시된 바와 같이, 상기 다수의 클라이언트 컴퓨터(100)는 상기 다수의 내부서버(300)가 제공하는 서비스를 제공받기 위한 클라이언트 프로그램이 구동되는 클라이언트 어플리케이션 계층(110)과 클라이언트 컴퓨터(100) 상에서 구동되는 어플리케이션의 데이터 통신을 위한 통신 포트와 정합하여 데이터 통신을 수행하는 소켓계층(120)과 특정 내부서버(300)와 대응되는 클라이언트 프로그램이 구동되어 특정 내부서버(300)로 데이터를 전송하는 경우 해당 데이터를 후킹하여 후킹된 데이터를 인증서버(200)로 전송하는 리디렉트계층(130) 및 공인 IP 주소를 이용하여 TCP/IP 통신을 수행하는 외부 TCP/IP 스택(140)을 탑재한다.
상기 인증서버(200)는 인증서버의 서버프로그램이 구동되는 인증서버어플리케이션계층(210)과 구동되는 어플리케이션의 통신포트와 연결되어 데이터 통신을 제어하는 인증서버소켓계층(220)과 클라이언트 컴퓨터에 구성된 리디렉트계층(130)과 연동되어 클라이언트에 대한 인증을 수행하고, 인증이되면, 내부서버(300)와 클라이언트 사이에서의 통신을 매개하는 서버리디렉트계층(230)과 공인 IP를 가지고 공인네트워크 상에서 TCP/IP 통신을 수행하는 외부 TCP/IP 스택(240)과 비공인 IP를 가지고 비공인네트워크 상의 물리적 계층에서 TCP/IP 통신을 수행하는 내부TCP/IP 스택(250)을 탑재한다.
상기 외부 TCP/IP 스택(240)은 공인 IP 주소를 사용하며, 내부 TCP/IP 스택은(250) 사설네트워크에서 관리자가 임의로 지정한 비공인 IP 주소를 사용한다. 따라서, 상기 내부서버(300)는 비공인 IP 주소를 사용하기 때문에 공인 IP 주소를 이용하는 클라이언트 컴퓨터(100)는 외부의 공인네트워크(10)에서 직접 상기 내부서버(300)로 접속하지 못하게 된다.
상기 내부서버(300)는 비공인 네트워크 상에 구성되어 특화된 데이터 서비스를 제공하는 서버로서, 클라이언트 컴퓨터(100)에 탑재된 클라이언트 프로그램에 대응되어 동작되는 서버 프로그램이 구동되는 서버 어플리케이션계층(310)과 서버 어플리케이션 계층(310)의 프로그램들에 구성된 포트와 정합되어 데이터 통신을 수행하는 서버소켓 계층(320)과 비공인 아이피 주소에 의한 데이터 통신을 수행하기 위한 내부서버 TCP/IP 스택(350)을 포함하여 구성된다.
상기 구성을 가지는 시스템의 데이터 전송과정은 다수의 내부서버(300)의 정보와 내부서버(300)에 구성된 서버어플리케이션으로서의 서버프로그램에 대응되는 클라이언트 프로그램을 제공하는 서버에 접속하여 클라이언트 컴퓨터(100)가 클라이언트 프로그램을 다운받아 설치한 후, 구동하여 특정 내부서버(300)로 리퀘스트 요청을 전송하는 것으로 가정한다. 상기 클라이언트 프로그램을 제공하는 서버는 인증서버(200) 또는 웹서버일 수 있다.
상기 리디렉트계층(130)은, 클라이언트 컴퓨터(100)로부터 외부로 전송되는 데이터를 감시하여, 특정 내부서버(300)로 전송되는 리퀘스트를 포함하는 데이터가 있는 경우, 상기 데이터를 후킹한다.
이후, 인증서버(200)가 프록시서버로서 특정 내부서버(300)가 프록시서버로서의 인증서버(200)에 의해서 클라이언트 컴퓨터(200)와 통신을 수행하는 경우에는 상기 리디렉트계층(130)이 후킹된 데이터에 인증 정보를 포함하여 캡슐화한 후, 캡슐화된 데이터의 헤더에 프록시서버의 주소를 삽입하여 인증서버(200)로 전송한다.
클라이언트 컴퓨터(100)로부터 리디렉트된 데이터는 프록시서버로서의 인증서버(200)의 외부 TCP/IP 스택을 통해 서버리디렉트계층(230)으로 전송된다. 데이터가 전송되면 서버리디렉트계층(230)은 데이터를 디 캡슐화하여 클라이언트 정보를 추출한 후 클라이언트에 대한 인증을 수행하고, 인증된 클라이언트에 대한 세션을 생성한 후, 세션 정보와 함께 클라이언트의 리퀘스트 데이터를 클라이언트 컴퓨터(100)의 목적지 내부서버(300)로 전송하고, 내부서버(300)로부터 클라이언트 컴퓨터로 전송되는 데이터를 캡슐화하여 클라이언트 컴퓨터(100)로 전송함으로써 클라이언트 컴퓨터(100)와 내부서버(300)와의 사이에서 터널에 의한 데이터 통신을 수행할 수 있도록 한다.
상기의 인증서버(200)내의 인증과정에서 클라이언트가 접속될 수 있는 비공인 IP 영역 및 통신포트 영역을 할당함으로써, 클라이언트 컴퓨터가 한 번의 리퀘스트 요청을 통해 다수의 내부서버에 접속되도록 동작될 수 있다.
상기 과정에서 클라이언트 컴퓨터(100)와 내부서버(300) 사이에 데이터 통신을 위한 터널된 회선이 생성된 후 내부서버(300)와의 터널통신이 시작되면, 내부서버(300)로부터 클라이언트 컴퓨터(100)로 전송되는 데이터는 프록시서버로서의 인증서버(200)에 구성된 서버리디렉트계층(230)에 의해 캡슐화된 후 클라이언트 컴퓨터(100)로 전송되고, 클라이언트 컴퓨터(100)에 구성된 리디렉트계층(130)에 의하여 디 캡슐화 된 후에 클라이언트 프로그램으로 전송된다.
상기와는 다르게, 인증서버(200)가 게이트웨이서버로 동작되어 클라이언트 컴퓨터(200)와 내부서버(200)가 통신을 수행하도록 하는 경우에는 후킹된 데이터는 리디렉트계층(130)에서 데이터의 헤더에 인증 정보로서 사용자 이름, 아이디, 패스워드 등을 포함하는 티켓이 삽입된 후 게이트웨이서버로서의 인증서버(200)로 전송된다. 클라이언트 컴퓨터(100)로부터 전송된 데이터는 게이트웨이서버로서의 인증서버(200)의 외부 TCP/IP 스택을 통해 서버리디렉트계층(230)으로 전송된다. 데이터가 전송되면 서버리디렉트계층(230)은 데이터의 헤더에서 티켓을 추출한 후 클라이언트에 대한 인증을 수행하고 인증이 성공적으로 수행되면, 상기 클라이언트에 대한 세션을 생성한다. 다음으로, 상기 클라이언트 컴퓨터(100)로부터 전송된 데이터를 OSI 모델의 응용계층까지 패킷분해하고, 패킷 분해된 데이터를 비공인네트워크상의 통신 프로토콜에 적합한 형태로 재 패킷화하여 클라이언트 컴퓨터(100)의 목적지 내부서버(300)로 데이터를 전송하고, 내부서버(300)로부터 클라이언트 컴퓨터로 전송되는 데이터는 다시 역으로 패킷 분해 및 재 패킷화를 수행하여 클라이언트 컴퓨터(100)로 전송함으로써 클라이언트 컴퓨터(100)와 내부서버(300)와의 사이에서 터널에 의한 데이터 통신을 수행할 수 있도록 한다.
상기에서 티켓 정보라 함은 인증에 필요한 패스워드, 아이디 등의 클라이언트 정보를 말한다.
상기 과정에서 프록시서버 또는 게이트웨이 서버로 동작되는 상기 인증서버(200)는 클라이언트 컴퓨터의 접속과정에서 네트워크의 인증 및 동작을 제어하고 있기 때문에 인증서버가 TCP/IP 세션의 시작과 끝을 알 수 있으므로 과금을 위한 별도의 코드를 만들 필요가 없이 과금을 수행할 수 있다.
이하, 도 3 내지 도 4를 참조하여 본원 발명의 방법을 설명한다.
도3은 상기 도 2의 구성 중 인증서버(200)가 프록시 서버인 경우의 처리과정을 나타내는 도면이고, 도 4는 상기 인증서버(200)가 게이트웨이 서버인 경우의 처리 과정을 나타내는 순서도이다. 도 3 내지 도 4를 참조한 본원 발명에 따르는 데이터 통신방법의 설명에서 클라이언트 컴퓨터(100)에는 대응되는 내부서버의 서버어플리케이션으로서의 서버프로그램에 대응되는 클라이언트 프로그램이 이미 설치되어 있음을 가정한다.
도 3은 상기 도 1의 내부서버(300)가 프록시서버로 동작되는 인증서버(200)에 의해 클라이언트 컴퓨터(100)와 통신을 수행하는 처리과정을 나타낸 것으로서, 클라이언트 컴퓨터(100)에 설치된 클라이언트 프로그램이 클라이언트 어플리케이션 계층(110)에서 실행되면, 내부서버(300)와의 접속을 위한 리퀘스트를 하부의 소켓 계층(120)으로 전송한다(S310). 이 때, 리디렉트계층(130)은 어플리케이션 계층(110)에서 전송되는 데이터를 감시하여 전송된 데이터가 내부서버(300)로 전송되는 리퀘스트인지를 판단한다(S311). 판단 결과, 내부서버(300)로 전송되는 리퀘스트가 아닌경우 클라이언트 컴퓨터(100)는 공인 네트워크(10)를 통해 종래의 일반적인 TCP/IP 에 의한 통신을 수행하고 종료하며(S312), 판단결과, 내부서버(300)로 전송되는 리퀘스트인 경우, 상기 리디렉트계층(130)이 리퀘스트를 포함하는 데이터를 후킹한다(S313). 후킹된 데이터는 리디렉트계층(130)에 의해 캡슐화되고 (encapsulation)(S314), 프록시서버로서의 인증서버(200)의 주소로 리디렉트되어 전송된다(S315). 리디렉트된 정보는 TCP/IP 스택에 의해 공인네트워크 상의 프록시서버로 동작되는 인증서버(200)의 외부 TCP/IP 스택으로 전송된다. 전송된 데이터는 프록시서버로서의 인증서버(200)에 구성된 서버리디렉트계층(230)에 의하여 디 캡슐화되고(S317), 데이터에 포함된 클라이언트의 정보를 이용하여 인증을 수행한다(S318). 인증에 실패하면, 프록시서버로서의 인증서버(200)는 클라이언트 컴퓨터로 에러 메시지를 전송하고 종료하고(S319), 인증이 성공하면, 상기 클라이언트에 대한 세션을 생성한 후, 리퀘스트 데이터를 상기 클라이언트 컴퓨터의 목적지 내부서버(300)로 전송한다. 이 후 목적지 내부서버(300)는 상기 세션 정보를 사용하여 클라이언트 프로그램과 터널링에 의한 데이터 통신을 수행한다(S320).
상기 과정에서 내부서버(300)로 부터 클라이언트 컴퓨터(100)로 전송되는 데이터는 프록시서버로서의 인증서버(200)의 서버리디렉트계층(230)에 의하여 캡슐화된 후에 클라이언트 컴퓨터(100)의 리디렉트계층(130)으로 전송되어 디 캡슐화 됨으로써 클라이언트 컴퓨터(100) 상에서 동작되는 클라이언트 프로그램으로 전송된다.
도 4는 도 1의 내부서버(300)가 게이트웨이서버로 동작되는 인증서버(200)에 의해 클라이언트 컴퓨터(100)와 통신을 수행하는 처리과정을 나타낸 것이다.
클라이언트 컴퓨터(100)에 설치된 클라이언트 프로그램이 클라이언트 어플리케이션 계층(110)에서 실행되면, 내부서버(300)와의 접속을 위한 리퀘스트를 하부의 소켓 계층(120)으로 전송한다(S410). 이 때, 리디렉트계층(130)은 어플리케이션 계층(110)에서 전송되는 데이터를 감시하여 전송된 데이터가 내부서버(300)로 전송되는 리퀘스트인지를 판단한다(S411). 판단 결과, 내부서버(300)로 전송되는 리퀘스트가 아닌경우 클라이언트 컴퓨터(100)는 공인 네트워크(10)를 통해 종래의 일반적인 TCP/IP 에 의한 통신을 수행하고 종료하며(S412), 판단결과, 내부서버(300)로 전송되는 리퀘스트인 경우, 상기 리디렉트계층(130)이 리퀘스트를 포함하는 데이터를 후킹한다(S413). 후킹된 데이터는 리디렉트계층(130)에 의해 헤더에 클라이언트의 인증을 위한 티켓이 삽입된 후(S414), 게이트웨이서버로서의 인증서버(200)의 주소로 리디렉트되어 전송된다(S415). 리디렉트된 정보는 TCP/IP 스택에 의해 공인네트워크 상의 게이트웨이서버로 동작되는 인증서버(200)의 외부 TCP/IP 스택으로전송된다. 전송된 데이터는 게이트웨이서버로서의 인증서버(200)에 구성된 서버리디렉트계층(230)에서 티켓정보가 추출되어 인증이 수행된다(S416), 인증에 실패하면, 인증서버(200)는 클라이언트 컴퓨터로 에러 메시지를 전송한 후 종료하고(S417), 인증이 성공하면, 상기 클라이언트에 대한 세션을 생성한 후(S418), 리퀘스트 데이터의 패킷을 분해한다(S419). 패킷 분해된 데이터는 다시 비공인네트워크 상의 통신 프로토콜에 적합하도록 재 패킷화된 후(S420), 클라이언트 컴퓨터의 목적지 내부서버(300)로 전송되어(S421), 클라이언트 컴퓨터(100)와 내부서버(300) 사이에서 데이터 통신을 수행하고 종료한다(S422).
도 3 및 도 4의 처리과정에서 클라이언트 컴퓨터(100)의 리퀘스트(request)에 대한 내부서버(300)의 리스판스(response)는 후킹 및 인증을 제외하면 상기 처리과정의 역과정에 의해서 상기 클라이언트 컴퓨터(100)상의 클라이언트 프로그램으로 전송됨은 자명하다.
상기에서 도1 내지 도 4의 설명한 바에 의하여 본원 발명은, 클라이언트 컴퓨터(100)와 내부서버(300)간의 인증을 인증서버(200)가 수행함으로써 내부서버(300)에 대한 클라이언트의 연결(connection)의 수를 최소한으로 억제하여 통신 및 리소의 낭비를 줄일 수 있으며, 또한, 공인네트워크와 비공인 네트워크를 별도의 통신 장비의 부가 없이 연결할 수 있게된다.
그리고, 상기 클라이언트 컴퓨터(100)와 내부서버(300)는 인증서버에서 생성된 세션에 의하여 통신을 수행하게 됨으로, 접속되는 클라이언트에 대한 과금이 필요한 경우 상기 인증서버(200)에서 생성된 세션정보를 이용하여 과금을 수행할 수 있다.
상술한 본원 발명은, 인증되지 않은 이용자에게는 네트워크 자체를 보이지 않도록 함으로써 보안성을 높이며, 비공인 네트워크를 그대로 쓸 수 있도록 함으로써 제한된 공인 IP를 준비하지 않아도 되고, 공인 네트워크에서 비공인 네트워크에 접근하도록 함으로써 비공인 네트워크에 구축된 서버를 그대로 사용할 수 있고, 또한, 네트워크의 인증 및 동작을 제어하고 있기 때문에 TCP/IP 세션의 시작과 끝을 알 수 있으므로 과금을 위한 별도의 코드를 만들 필요가 없어 프로그램의 효율성을 높이는 효과를 제공한다.
Claims (12)
- 내부서버제공 정보를 얻기위한 클라이언트 프로그램이 탑재되는 클라이언트 어플리케이션 계층과 상기 클라이언트 프로그램의 구동시 동작되어 목적지 내부서버와 통신을 수행하도록 패킷 변환을 수행하는 리디펙터계층을 가지고 상기 내부서버와 데이터 통신을 수행하는 다수의 클라이언트 컴퓨터와;상기 다수의 클라이언트에 구성된 리디렉터 계층에 대응하여 접속된 클라이언트를 인증하며, 상기 접속된 클라이언트의 클라이언트 컴퓨터와 목적지 서버와의 데이터통신을 매개하는 서버리디렉트계층이 탑재된 인증서버; 및,상기 다수의 클라이언트 컴퓨터에 구성된 상기 클라이언트 어플리케이션에 대응되는 서버 어플리케이션을 탑재하여 상기 클라이언트 컴퓨터 요청 정보를 상기 클라이언트 컴퓨터의 클라이언트 프로그램으로 제공하는 다수의 내부서버를 포함하여 구성되는 것을 특징으로 하는 공인네트워크와 비공인네트워크 사이에서의 데이터 통신 시스템.
- 내부서버제공 정보를 얻기위한 클라이언트 프로그램이 탑재되는 클라이언트 어플리케이션 계층과 상기 클라이언트 프로그램의 구동시 동작되어 목적지 서버와 터널링 통신을 수행하도록 하는 통신 터널을 생성하는 리디렉트계층을 가지고 상기 내부서버와 터널에 의한 데이터 통신을 수행하는 다수의 클라이언트 컴퓨터;다수의 클라이언트 컴퓨터에 구성된 리디렉트계층에 대응하여 접속된 클라이언트를 인증하며, 상기 접속된 클라이언트의 클라이언트 컴퓨터와 목적지 서버와의 터널통신을 매개하는 서버리디렉트계층이 탑재된 인증서버; 및,상기 다수의 클라이언트 컴퓨터에 구성된 상기 클라이언트 어플리케이션에 대응되는 서버 어플리케이션을 탑재하여 상기 클라이언트 컴퓨터 요청 정보를 제공하는 다수의 내부서버를 포함하여 구성되는 것을 특징으로 하는 공인네트워크와 비공인네트워크 사이에서의 데이터 통신 시스템.
- 제 2 항에 있어서, 상기 리디렉트계층은,상기 클라이언트 컴퓨터에서 동작하는 클라언트 프로그램이 특정 서버로의 데이터 요청신호가 있는 경우, 상기 데이터 요청 신호를 후킹하여 캡슐화 한 후, 상기 인증서버로 전송하는 것을 특징으로 하는 공인네트워크와 비공인 네트워크 사이에서의 데이터 통신 시스템.
- 제 2 항에 있어서, 상기 서버리디렉트계층은,상기 클라이언트 컴퓨터로부터 전송된 데이터를 수신하여 디 캡슐화하고, 접속된 클라이언트에 대한 인증을 수행하며, 상기 클라이언트 컴퓨터 접속 요청 서버로 상기 클라이언트 컴퓨터를 터널에 의해 접속시키는 것을 특징으로 하는 공인네트워크와 비공인네트워크 사이에서의 데이터 통신 시스템.
- 제 4 항에 있어서, 상기 인증서버가,상기 클라이언트의 인증 과정에서 세션을 생성하는 것을 특징으로 하는 공인네트워크와 비공인네트워크 사이에서의 데이터 통신 시스템.
- 제 4 항에 있어서, 상기 인증서버가,상기 클라이언트의 접속에 과금이 필요한 경우 과금을 위하여 상기 클라이언트 컴퓨터의 접속 정보를 저장하는 것을 특징으로 하는 공인네트워크와 비공인네트워크 사이에서의 터널링 통신 시스템.
- 내부서버제공 정보를 얻기위한 클라이언트 프로그램이 탑재되는 클라이언트 어플리케이션 계층과 상기 클라이언트 프로그램의 구동시 동작되어 목적지 내부서버와 데이터통신을 수행하도록 하는 리디렉트계층을 가지고 상기 내부서버와 데이터 통신을 수행하는 다수의 클라이언트 컴퓨터;상기 다수의 클라이언트에 구성된 상기 리디렉트계층에 대응하여 접속된 클라이언트를 인증하며, 상기 접속된 클라이언트의 클라이언트 컴퓨터와 목적지 내부서버와를 데이터의 패킷변환에 의하여 매개하는 게이트웨이서버; 및,상기 다수의 클라이언트 컴퓨터에 구성된 상기 클라이언트 어플리케이션에 대응되는 서버 어플리케이션을 탑재하여 상기 클라이언트 컴퓨터 요청 정보를 제공하는 다수의 내부서버를 포함하여 구성되는 것을 특징으로 하는 공인네트워크와 비공인네트워크 사이에서의 데이터 통신 시스템.
- 제 7 항에 있어서, 상기 리디렉트계층은,상기 클라이언트 컴퓨터로부터 전송된 데이터를 수신하여 헤더에 인증정보로서의 티켓을 삽입하여 상기 인증서버로 전송하는 것을 특징으로 하는 공인네트워크와 비공인네트워크 사이에서의 데이터 통신 시스템.
- 제 7 항에 있어서, 상기 인증서버는,상기 클라이언트 컴퓨터에서 전송된 데이터를 수신하여, 헤더 정보에 삽입된 상기 티켓 정보를 이용하여 접속되는 상기 클라이언트를 인증하고, 인증이 성공적으로 수행된 경우 상기 클라이언트에 대한 세션을 생성하고, 상기 데이터의 패킷을 분해한 후 상기 내부서버의 통신프로토콜에 적합하도록 재패킷화하여 상기 다수의 서버 중 접속된 상기 클라이언트 컴퓨터의 목적 내부서버로 전송하는 것을 특징으로 하는 공인네트워크와 비공인네트워크 사이에서의 데이터 통신 시스템.
- 제 9항에 있어서, 상기 인증서버가,상기 클라이언트의 접속에 과금이 필요한 경우 상기 클라이언트 컴퓨터의 세션정보를 저장하여 과금을 수행하는 것을 특징으로 하는 공인네트워크와 비공인네트워크 사이에서의 터널링 통신 시스템.
- 내부서버 제공 클라이언트 어플리케이션을 제공받아 설치하고, 설치된 상기 클라이언트 어플리케이션을 구동하여 상기 내부서버로 데이터를 요청하는 단계;상기 내부서버로의 데이터 요청 신호를 후킹하여 캡슐화한 후, 인증을 수행하는 프록시서버로 리디렉트하는 단계; 및,상기 리디렉트된 데이터를 수신하여 디 캡슐화한 후, 상기 클라이언트에 대한 인증을 수행하고, 인증된 상기 클라이언트의 클라이언트 컴퓨터를 상기 내부서버와 터널에 의하여 연결하는 단계를 포함하여 이루어지는 것을 특징으로 하는 공인네트워크와 비공인네트워크 사이에서의 터널링 통신 방법.
- 내부서버 제공 클라이언트 어플리케이션을 다운받아 설치하고, 설치된 상기 클라이언트 어플리케이션을 구동하여 상기 서버로 데이터를 요청하는 단계;상기 서버로의 데이터 요청 신호를 후킹하여, 헤터 정보에 티켓을 삽입한후, 인증을 수행하는 게이트웨이 서버로 전송하는 단계;상기 단계에서 전송된 데이터를 수신하여 상기 티켓을 이용하여 상기 클라이언트에 대한 인증을 수행하는 단계;상기 클라이언트에 대한 세션을 생성하는 단계;상기 클라이언트 컴퓨터로부터 전송된 데이터의 패킷을 분해하는 단계; 및,패킷 분해된 상기 데이터를 비공인네트워크상의 프로토콜에 맞게 재 패킷화하여 상기 내부서버로 전송하여 상기 클라이언트 컴퓨터를 상기 내부서버와 연결하는 단계를 포함하여 이루어지는 것을 특징으로 하는 공인네트워크와 비공인네트워크 사이에서의 데이터 통신 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020015184A KR20030075810A (ko) | 2002-03-20 | 2002-03-20 | 공인네트워크와 비공인네트워크 사이에서의 데이터 통신시스템 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020015184A KR20030075810A (ko) | 2002-03-20 | 2002-03-20 | 공인네트워크와 비공인네트워크 사이에서의 데이터 통신시스템 및 그 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20030075810A true KR20030075810A (ko) | 2003-09-26 |
Family
ID=32225586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020020015184A KR20030075810A (ko) | 2002-03-20 | 2002-03-20 | 공인네트워크와 비공인네트워크 사이에서의 데이터 통신시스템 및 그 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20030075810A (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014200266A1 (ko) * | 2013-06-12 | 2014-12-18 | Seo Jeong Hoan | 캡슐화 프로토콜을 이용하여 클라이언트의 ip 주소를 서버로 전송하는 중계 시스템 및 방법 |
WO2021060853A1 (ko) * | 2019-09-24 | 2021-04-01 | 프라이빗테크놀로지 주식회사 | 네트워크 접속 제어 시스템 및 그 방법 |
KR102444356B1 (ko) * | 2021-11-19 | 2022-09-16 | 주식회사 제론소프트엔 | 보안 강화 인트라넷 접속 방법 및 시스템 |
US11652801B2 (en) | 2019-09-24 | 2023-05-16 | Pribit Technology, Inc. | Network access control system and method therefor |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997040610A2 (en) * | 1996-04-24 | 1997-10-30 | Northern Telecom Limited | Internet protocol filter |
KR20000017720A (ko) * | 1999-08-31 | 2000-04-06 | 이승원 | 인증 서버와 결합된 방화벽 시스템 |
US6078583A (en) * | 1996-10-31 | 2000-06-20 | Hitachi, Ltd. | Communication method and communication system |
KR20010035641A (ko) * | 1999-10-01 | 2001-05-07 | 윤종용 | 외부에서 사설망 내부와 통신하는 인터넷 통신 장치 및 방법 |
KR20010057104A (ko) * | 1999-12-18 | 2001-07-04 | 이계철 | 서비스 게이트웨이를 이용한 인터넷 vpn서비스 제공방법 |
JP2001345841A (ja) * | 2000-05-31 | 2001-12-14 | Sony Corp | 通信ネットワークシステム、データ通信方法、および通信中継装置、並びにプログラム提供媒体 |
KR20030072927A (ko) * | 2002-03-07 | 2003-09-19 | 삼성전자주식회사 | 서로 다른 사설망에 존재하는 네트워크장치들 간의직접접속을 제공하는 망접속장치 및 방법 |
-
2002
- 2002-03-20 KR KR1020020015184A patent/KR20030075810A/ko not_active Application Discontinuation
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997040610A2 (en) * | 1996-04-24 | 1997-10-30 | Northern Telecom Limited | Internet protocol filter |
US6078583A (en) * | 1996-10-31 | 2000-06-20 | Hitachi, Ltd. | Communication method and communication system |
KR20000017720A (ko) * | 1999-08-31 | 2000-04-06 | 이승원 | 인증 서버와 결합된 방화벽 시스템 |
KR20010035641A (ko) * | 1999-10-01 | 2001-05-07 | 윤종용 | 외부에서 사설망 내부와 통신하는 인터넷 통신 장치 및 방법 |
KR20010057104A (ko) * | 1999-12-18 | 2001-07-04 | 이계철 | 서비스 게이트웨이를 이용한 인터넷 vpn서비스 제공방법 |
JP2001345841A (ja) * | 2000-05-31 | 2001-12-14 | Sony Corp | 通信ネットワークシステム、データ通信方法、および通信中継装置、並びにプログラム提供媒体 |
KR20030072927A (ko) * | 2002-03-07 | 2003-09-19 | 삼성전자주식회사 | 서로 다른 사설망에 존재하는 네트워크장치들 간의직접접속을 제공하는 망접속장치 및 방법 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014200266A1 (ko) * | 2013-06-12 | 2014-12-18 | Seo Jeong Hoan | 캡슐화 프로토콜을 이용하여 클라이언트의 ip 주소를 서버로 전송하는 중계 시스템 및 방법 |
KR101538762B1 (ko) * | 2013-06-12 | 2015-07-24 | 서정환 | 캡슐화 프로토콜을 이용하여 클라이언트의 ip 주소를 서버로 전송하는 중계 시스템 및 방법 |
US10742768B2 (en) | 2013-06-12 | 2020-08-11 | Jeong Hoan Seo | Relaying system and method of transmitting IP address of client to server using encapsulation protocol |
WO2021060853A1 (ko) * | 2019-09-24 | 2021-04-01 | 프라이빗테크놀로지 주식회사 | 네트워크 접속 제어 시스템 및 그 방법 |
US11652801B2 (en) | 2019-09-24 | 2023-05-16 | Pribit Technology, Inc. | Network access control system and method therefor |
KR102444356B1 (ko) * | 2021-11-19 | 2022-09-16 | 주식회사 제론소프트엔 | 보안 강화 인트라넷 접속 방법 및 시스템 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2023053159A (ja) | モノのインターネット(iot)デバイスの管理 | |
US7308710B2 (en) | Secured FTP architecture | |
US6732269B1 (en) | Methods, systems and computer program products for enhanced security identity utilizing an SSL proxy | |
US5680461A (en) | Secure network protocol system and method | |
US7299354B2 (en) | Method to authenticate clients and hosts to provide secure network boot | |
US20020099940A1 (en) | Secure internet applications with mobile code | |
US20060080534A1 (en) | System and method for access control | |
US20050273595A1 (en) | Providing apparatus, communication device, method, and program | |
CN101076796A (zh) | 为漫游用户建立虚拟专用网络 | |
WO2009074956A1 (en) | Method and system for managing a software application on a mobile computing device | |
JP2000003348A (ja) | 遠隔的にコマンドを実行する装置 | |
US7316030B2 (en) | Method and system for authenticating a personal security device vis-à-vis at least one remote computer system | |
US9356952B2 (en) | Packet redirection in a communication network | |
US7765581B1 (en) | System and method for enabling scalable security in a virtual private network | |
WO2001043393A2 (en) | Decoupling access control from key management in a network | |
US20080267395A1 (en) | Apparatus and method for encrypted communication processing | |
CN1515107A (zh) | 互联网协议安全隧道的动态配置 | |
JP4109273B2 (ja) | ネットワーク接続システム、ネットワーク接続装置およびプログラム | |
KR20030075810A (ko) | 공인네트워크와 비공인네트워크 사이에서의 데이터 통신시스템 및 그 방법 | |
Cisco | Configuring Network Access Security | |
Cisco | Configuring Network Access Security | |
Cisco | Configuring Network Access Security | |
Cisco | Configuring Network Access Security | |
Cisco | Configuring Network Access Security | |
Cisco | Configuring Network Access Security |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |