KR101811121B1 - Method for Protecting Server using Authenticated Relay Server - Google Patents

Method for Protecting Server using Authenticated Relay Server Download PDF

Info

Publication number
KR101811121B1
KR101811121B1 KR1020160004015A KR20160004015A KR101811121B1 KR 101811121 B1 KR101811121 B1 KR 101811121B1 KR 1020160004015 A KR1020160004015 A KR 1020160004015A KR 20160004015 A KR20160004015 A KR 20160004015A KR 101811121 B1 KR101811121 B1 KR 101811121B1
Authority
KR
South Korea
Prior art keywords
server
client
uuid
relay
transmits
Prior art date
Application number
KR1020160004015A
Other languages
Korean (ko)
Other versions
KR20170084778A (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 KR1020160004015A priority Critical patent/KR101811121B1/en
Publication of KR20170084778A publication Critical patent/KR20170084778A/en
Application granted granted Critical
Publication of KR101811121B1 publication Critical patent/KR101811121B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65DCONTAINERS FOR STORAGE OR TRANSPORT OF ARTICLES OR MATERIALS, e.g. BAGS, BARRELS, BOTTLES, BOXES, CANS, CARTONS, CRATES, DRUMS, JARS, TANKS, HOPPERS, FORWARDING CONTAINERS; ACCESSORIES, CLOSURES, OR FITTINGS THEREFOR; PACKAGING ELEMENTS; PACKAGES
    • B65D81/00Containers, packaging elements, or packages, for contents presenting particular transport or storage problems, or adapted to be used for non-packaging purposes after removal of contents
    • B65D81/38Containers, packaging elements, or packages, for contents presenting particular transport or storage problems, or adapted to be used for non-packaging purposes after removal of contents with thermal insulation
    • B65D81/3876Containers, packaging elements, or packages, for contents presenting particular transport or storage problems, or adapted to be used for non-packaging purposes after removal of contents with thermal insulation insulating sleeves or jackets for cans, bottles, barrels, etc.
    • AHUMAN NECESSITIES
    • A45HAND OR TRAVELLING ARTICLES
    • A45CPURSES; LUGGAGE; HAND CARRIED BAGS
    • A45C11/00Receptacles for purposes not provided for in groups A45C1/00-A45C9/00
    • A45C11/20Lunch or picnic boxes or the like
    • AHUMAN NECESSITIES
    • A45HAND OR TRAVELLING ARTICLES
    • A45FTRAVELLING OR CAMP EQUIPMENT: SACKS OR PACKS CARRIED ON THE BODY
    • A45F3/00Travelling or camp articles; Sacks or packs carried on the body
    • A45F3/46Picnic sets
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65DCONTAINERS FOR STORAGE OR TRANSPORT OF ARTICLES OR MATERIALS, e.g. BAGS, BARRELS, BOTTLES, BOXES, CANS, CARTONS, CRATES, DRUMS, JARS, TANKS, HOPPERS, FORWARDING CONTAINERS; ACCESSORIES, CLOSURES, OR FITTINGS THEREFOR; PACKAGING ELEMENTS; PACKAGES
    • B65D25/00Details of other kinds or types of rigid or semi-rigid containers
    • B65D25/20External fittings
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65DCONTAINERS FOR STORAGE OR TRANSPORT OF ARTICLES OR MATERIALS, e.g. BAGS, BARRELS, BOTTLES, BOXES, CANS, CARTONS, CRATES, DRUMS, JARS, TANKS, HOPPERS, FORWARDING CONTAINERS; ACCESSORIES, CLOSURES, OR FITTINGS THEREFOR; PACKAGING ELEMENTS; PACKAGES
    • B65D25/00Details of other kinds or types of rigid or semi-rigid containers
    • B65D25/28Handles
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
    • AHUMAN NECESSITIES
    • A45HAND OR TRAVELLING ARTICLES
    • A45CPURSES; LUGGAGE; HAND CARRIED BAGS
    • A45C2200/00Details not otherwise provided for in A45C
    • A45C2200/20Carrying beverage vessels, e.g. bottles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65DCONTAINERS FOR STORAGE OR TRANSPORT OF ARTICLES OR MATERIALS, e.g. BAGS, BARRELS, BOTTLES, BOXES, CANS, CARTONS, CRATES, DRUMS, JARS, TANKS, HOPPERS, FORWARDING CONTAINERS; ACCESSORIES, CLOSURES, OR FITTINGS THEREFOR; PACKAGING ELEMENTS; PACKAGES
    • B65D2313/00Connecting or fastening means
    • B65D2313/02Connecting or fastening means of hook-and-loop type

Abstract

본 발명은 인증된 릴레이 서버를 통한 서버 보호 시스템 및 방법에 관한 것이다. 본 발명은, 서버(300)가 네트워크(200)를 통해 릴레이 서버(100)로 로그인(login) 하여 서버 UUID(Unique User Identifier)를 전송하는 제 1 단계; 클라이언트(500)가 네트워크(200)를 통해 릴레이 서버(100)에 로그인(login)하여 클라이언트 UUID를 전송하는 제 2 단계; 클라이언트(500)가 서버(300)와 데이터 통신이 필요한 경우, 클라이언트(500)의 서버(300)로의 액세스를 위한 승인을 위한 매개 변수에 해당하는 "서버 UUID의 토큰(nonce)"을 릴레이 서버(100)로 요청하는 제 3 단계; 릴레이 서버(100)가 DB(110) 상에 서버 리스트(serve list)에서 클라이언트(500)로부터 수신된 서버 UUID의 토큰(nonce)으로부터 서버(300)의 서버 UUID가 있는지 검색을 통한 서버 UUID가 있는지 여부를 판단하는 제 4 단계; 판단 결과 일치하는 서버 UUID가 있는 경우, 릴레이 서버(100)가 토큰(nonce)을 생성하여, 클라이언트(500)에게 암호화하여 전달하는 제 5 단계; 릴레이 서버(100)가 클라이언트(500)로 전송한 토큰(nonce)을 서버의 사전 공유키(PSK, Pre-Shared Key)로 암호화한 후 서버(300)로 전송하여, 동일한 키인 토큰(nonce)을 소유하고 있지 않으면 패킷을 복호화 할 수 없도록 하는 서버(300)에 의한 사용자 인증 방식을 제공하거나, 공개키 기반 구조(Public Key Infrastructure:PKI)를 사용하여 세션키(session key)를 생성하여 사전 공유키(pre-shared key:PSK)처럼 사용하거나, 미리 교환한 사전 공유키(pre-shared key: PSK)를 사용하며, 인증된 릴레이 서버를 통해 상호간에 인증을 통한 데이터 송수신을 수행하여 서버를 보호하는 제 6 단계; 를 포함하며, 상기 제 4 단계의 판단 결과, 릴레이 서버(100)가 일치하는 서버 UUID가 없는 경우 미리 설정된 시간을 대기한 뒤, 타임 아웃(Timeout) 후 메시지를 버리기 전에 서버 UUID를 한번 더 확인하는 제 7 단계; 및 릴레이 서버(100)가 서버 UUID가 있으면 전송 과정인 상기 제 5 단계 내지 상기 제 6 단계를 수행하며, 서버 UUID가 없으면 클라이언트(500)와의 세션을 클로즈(Session close)를 수행하여, 서버 스캔(Server scan)을 방지하는 제 8 단계; 를 더 포함하며, 상기 제 6 단계에 있어서, 서버(300)가 릴레이 서버(100)로부터 사전 공유키(PSK, Pre-Shared Key)를 이용해 암호화된 토큰(nonce)을 수신한 뒤, 클라이언트 리스트(Client list)에서 데이터 송수신을 위한 클라이언트(500)의 클라이언트 UUID가 있는지 확인하는 제 6-1 단계; 클라이언트 UUID가 있는 경우, 서버(300)가 클라이언트(500)로부터 PSK로 수신된 토큰(nonce)을 복호화하며, 릴레이 서버(100)로부터 받은 토큰도 복호화하여 클라이언트(500)의 것과 같은 경우 사용자 인증을 수행하는 제 6-2 단계; 서버(300)가 사용자 인증에 실패하면 에러 전송, 연속 실패면 클라이언트 UUID에 대한 차단(Block) 등록을 수행하거나, 사용자 인증에 따라 사용자 인증에 성공하면 클라이언트(500)가 접속할 수 있는 임의의 포트(port)를 개방(open)하고, 릴레이 서버(100)부터 수신된 클라이언트(500)의 Public IP에 대해서 서버(300)로 들어오는 연결을 허용하는 정책 추가하고, 데이터 송수신은 토큰 Initial vector로 PSK를 이용해 암호화(CBC)하는 제 6-3 단계; 및 클라이언트(500)가 토큰 Initial vector에 대해서 PSK로 복호화하여 서버(300)의 접속할 수 있는 IP와 개방(open)한 포트(port) 정보를 획득한 뒤, 서버(300)의 개방(open)된 포트(port)로 사용자에 의해 요청된 데이터를 전송하는 제 6-4 단계; 를 더 포함하며, 상기 제 6-4 단계와는 다르게, 서버(300)가 전단의 방화벽(200) 또는 라우터를 통과할 수 없는 경우 서버(300)와 클라이언트(500) 간에 역할을 전환하여, 클라이언트(500)가 포트(port)를 개방(open) 한 뒤, 서버(300)에게 데이터를 전송을 요청하면, 서버(300)는 클라이언트(500)에게 데이터를 전송하며, 상기 제 6-1 단계의 판단 결과 클라이언트 UUID가 없는 경우 서버(300)가 릴레이 서버(100)에 에러(error) 메시지를 전송하며, 상기 제 6-3 단계에서, 사용자 인증에 성공하면 네트워크(400)와 서버(300) 사이에 있는 방화벽(200)이 상기 제 6-3 단계에서의 데이터 송수신에 관한 정보를 복호화하여 데이터(data)가 오류가 있거나, 세션이 종료되면 데이터 전송을 차단하며, UUID는 시스템에서 유니크(unique) 한 값을 가지며, 토큰(nonce)은 릴레이(reply) 공격을 방지하기 위해 사용되는 것을 특징으로 한다.
이에 의해, 서버 보호를 위해 방어벽을 활용하되 서버와 클라이언트 간에 사전 공유키(pre-shared key: PSK)와, 인증된 릴레이 서버를 통해 상호간에 인증을 통한 데이터 송수신을 수행하여 서버를 보호할 수 있는 효과를 제공한다.
또한, 본 발명은, 네트워크 상에서 실행되는 클라이언트/서버 시스템을 구성하는 서버를 보호함으로써 클라이언트/서버 시스템에 대한 외부 공격을 효과적으로 차단할 수 있는 효과를 제공한다.
뿐만 아니라, 본 발명은, 서버를 보호공간 안에서 실행함으로써 서버를 각종 해킹이나 악성코드로부터 보호하고, 클라이언트와 서버 사이에 송수신되는 패킷의 무결성을 사용자 인증을 통해 검증하여, 서버 측에 악의적이거나 비정상적인 패킷이 전송되는 것 자체를 불가능하게 할 수 있는 효과를 제공한다.
The present invention relates to a server protection system and method via an authenticated relay server. A first step of the server 300 to log in to the relay server 100 through the network 200 and transmit a server UUID (Unique User Identifier); A second step in which the client 500 logs in to the relay server 100 through the network 200 and transmits a client UUID; When the client 500 needs data communication with the server 300, it sends a "token of the server UUID" corresponding to a parameter for approval for access to the server 300 of the client 500 to the relay server 100); The relay server 100 determines whether there is a server UUID through a search from the token nonce of the server UUID received from the client 500 in the server list on the DB 110 to see if the server UUID of the server 300 exists A fourth step of judging whether or not it is possible If there is a matching server UUID as a result of the determination, the relay server 100 generates a nonce and encrypts and transmits the generated nonce to the client 500. The relay server 100 encrypts the nonce transmitted to the client 500 with the server's pre-shared key (PSK) and transmits the same to the server 300 to transmit the token (nonce) A user authentication method by the server 300 that prevents the packet from being decrypted if it is not owned or a session key is generated using a Public Key Infrastructure (PKI) (pre-shared key: PSK), or using a pre-shared key (PSK) that has been exchanged, and protects the server by exchanging data with each other through an authenticated relay server Step 6; As a result of the fourth step, if the relay server 100 does not have a matching server UUID, the relay server 100 waits for a preset time, checks the server UUID once before timeout and discards the message Step 7; And if the relay server 100 has a server UUID, it performs the above-mentioned fifth to sixth steps of transmission, and if there is no server UUID, it closes a session with the client 500, Server scan); Wherein the server 300 receives the encrypted nonce from the relay server 100 using a pre-shared key (PSK) in the sixth step, 6-1) checking whether there is a client UUID of the client 500 for data transmission / reception in the client list. When there is a client UUID, the server 300 decrypts the token received from the client 500 in the PSK and decrypts the token received from the relay server 100 to perform user authentication in the same manner as the client 500 Step 6-2; If the server 300 fails to authenticate the user, it transmits an error. If the server 300 continuously fails, it performs block registration for the client UUID. If the server 300 succeeds in user authentication according to the user authentication, port of the relay server 100 and adds a policy for allowing connection to the server 300 with respect to the public IP of the client 500 received from the relay server 100. The data transmission and reception uses a token initial vector PSK (CBC); And the client 500 decrypts the token initial vector with the PSK to obtain the IP and the open port information of the server 300 and then transmits the open A sixth step of transmitting data requested by a user to a port; If the server 300 can not pass through the firewall 200 or the router at the previous stage, the server 300 switches roles between the server 300 and the client 500, The server 300 transmits data to the client 500 when the server 500 requests the server 300 to transmit the data after opening the port, If it is determined that there is no client UUID, the server 300 transmits an error message to the relay server 100. If the user authentication is successful in step 6-3, the server 300 transmits an error message between the network 400 and the server 300 The firewall 200 in step 6-3 decodes the data transmission / reception information in step 6-3 and blocks the data transmission if there is an error in data or a session ends. The UUID is unique in the system, And the token (nonce) has a value to prevent a reply attack It characterized in that it is used.
As a result, a firewall can be used to protect the server, but the server can be protected by performing a pre-shared key (PSK) between the server and the client and mutual authentication through mutual authentication through the authenticated relay server Effect.
In addition, the present invention provides an effect of effectively blocking an external attack on a client / server system by protecting a server constituting a client / server system running on a network.
In addition, the present invention protects a server from various hacks and malicious codes by executing a server in a protected space, verifies the integrity of packets transmitted and received between the client and the server through user authentication, and transmits malicious or abnormal packets Thereby making the transmission itself impossible.

Description

인증된 릴레이 서버를 통한 서버 보호 방법{Method for Protecting Server using Authenticated Relay Server}Method for Protecting Server with Authenticated Relay Server

본 발명은 인증된 릴레이 서버를 통한 서버 보호 시스템 및 방법에 관한 것으로, 보다 구체적으로는, 서버 보호를 위해 방어벽을 활용하되 서버와 클라이언트, 인증된 릴레이 서버 상호간에 인증, 데이터 송수신할 때 데이터의 기밀성 유지와 인증하는 방법, 서버를 보호하도록 하기 위한 인증된 릴레이 서버를 통한 서버 보호 시스템 및 방법에 관한 것이다.
The present invention relates to a system and method for protecting a server through an authenticated relay server, and more particularly, to a system and method for protecting a server through an authenticated relay server. More particularly, A method for maintaining and authenticating the server, and a server protection system and method using an authenticated relay server for protecting the server.

종래 서버 시스템에 대한 외부의 해킹공격을 차단하기 위해 네트워크 방화벽, 어플리케이션 방화벽, 취약점 스캐너 등이 사용되었다.Network firewalls, application firewalls, and vulnerability scanners were used to block external hacking attacks on traditional server systems.

네트워크 방화벽은 OSI (Open Systems Interconnection) 7계층 중 3계층인 네트워크 계층(network layer)이나 4계층인 전송계층(transport layer)에 존재하는 취약점에 대한 외부해커의 공격을 차단한다.Network firewalls block external hackers from exploiting vulnerabilities in the network layer or the transport layer, which are three layers of OSI (Open Systems Interconnection) 7 layers.

네트워크 방화벽을 이용하는 경우, IP 주소 및 포트를 기준으로 허가, 차단 여부를 결정하므로 공격자가 인가자의 머신을 해킹한 후 인가자의 머신을 경유해 공격하거나 인가자가 악의적인 마음을 가지고 공격을 시도한다면 이를 막을 방법이 없다.If a network firewall is used, it decides whether to allow or block based on the IP address and port. Therefore, if an attacker hacked the authorized machine and then attacked via the authorized machine or if the authorized user tried to attack with a malicious mind no method.

또한, 웹 서비스와 같이 외부에 공개된 서버는 웹 어플리케이션에 취약점이 있다면 누구든 해당 취약점을 공격할 수 있으므로 네트워크 방화벽은 취약점에 대한 외부해커의 공격을 막을 수 없다. 즉, 네트워크 방화벽은 허가할 서비스와 허가하지 않을 서비스를 제어할 수는 있지만, 허가된 서비스의 취약점에 대한 공격은 막을 수 없다.
In addition, a server exposed to the outside world, such as a web service, can attack a vulnerability in a web application, so that a network firewall can not prevent an external hacker from attacking the vulnerability. That is, a network firewall can control which services to grant and which services to not allow, but can not prevent attacks against vulnerabilities of authorized services.

대한민국 특허등록공보 등록번호 제10-0958250호 "웹 서버 보안 방법 및 이를 위한 웹 방화벽"Korean Patent Registration No. 10-0958250 "Web Server Security Method and Web Firewall for the Same & 대한민국 특허공개공보 공개번호 제10-2014-0129713호 "클라우드 컴퓨팅 환경에서 클라우드 서버의 콘텐츠 보안 시스템 및 그 방법"Korean Patent Laid-Open Publication No. 10-2014-0129713 "Content security system and method of cloud server in a cloud computing environment"

본 발명은 상기의 문제점을 해결하기 위한 것으로, 서버 보호를 위해 방어벽을 활용하되 서버와 클라이언트 간에 데이터 기밀성과 인증을 위해 공개키 기반 구조(Public Key Infrastructure:PKI)를 사용하여 세션키(session key)를 생성하여 사전 공유키(pre-shared key:PSK)처럼 사용하거나, 미리 교환한 사전 공유키(pre-shared key: PSK)를 사용하여, 인증된 릴레이 서버를 통해 상호간에 인증을 통한 데이터 송수신을 수행하여 서버를 보호하도록 하기 위한 인증된 릴레이 서버를 통한 서버 보호 시스템 및 방법을 제공하기 위한 것이다.DISCLOSURE OF THE INVENTION The present invention has been made to solve the above-mentioned problems, and it is an object of the present invention to provide a system and method for protecting a server by using a firewall, and using a public key infrastructure (PKI) (PSK), or using a pre-shared key (PSK) that has been exchanged in advance, it is possible to send and receive data through mutual authentication through an authorized relay server And to provide a system and method for protecting a server through an authenticated relay server for protecting the server by performing the method.

또한, 본 발명은 네트워크 상에서 실행되는 클라이언트/서버 시스템을 구성하는 서버를 보호함으로써 클라이언트/서버 시스템에 대한 외부 공격을 효과적으로 차단하도록 하기 위한 인증된 릴레이 서버를 통한 서버 보호 시스템 및 방법을 제공하기 위한 것이다.It is another object of the present invention to provide a server protection system and method using an authenticated relay server for effectively preventing an external attack on a client / server system by protecting a server constituting a client / server system running on a network .

그러나 본 발명의 목적들은 상기에 언급된 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
However, the objects of the present invention are not limited to the above-mentioned objects, and other objects not mentioned can be clearly understood by those skilled in the art from the following description.

상기의 목적을 달성하기 위해 본 발명의 실시예에 따른 인증된 릴레이 서버를 통한 서버 보호 방법은, 서버(300)가 네트워크(200)를 통해 릴레이 서버(100)로 로그인(login) 하여 서버 UUID(Unique User Identifier)를 전송하는 제 1 단계; 클라이언트(500)가 네트워크(200)를 통해 릴레이 서버(100)에 로그인(login)하여 클라이언트 UUID를 전송하는 제 2 단계; 클라이언트(500)가 서버(300)와 데이터 통신이 필요한 경우, 클라이언트(500)의 서버(300)로의 액세스를 위한 승인을 위한 매개 변수에 해당하는 "서버 UUID의 토큰(nonce)"을 릴레이 서버(100)로 요청하는 제 3 단계; 릴레이 서버(100)가 DB(110) 상에 서버 리스트(serve list)에서 클라이언트(500)로부터 수신된 서버 UUID의 토큰(nonce)으로부터 서버(300)의 서버 UUID가 있는지 검색을 통한 서버 UUID가 있는지 여부를 판단하는 제 4 단계; 판단 결과 일치하는 서버 UUID가 있는 경우, 릴레이 서버(100)가 토큰(nonce)을 생성하여, 클라이언트(500)에게 암호화하여 전달하는 제 5 단계; 릴레이 서버(100)가 클라이언트(500)로 전송한 토큰(nonce)을 서버의 사전 공유키(PSK, Pre-Shared Key)로 암호화한 후 서버(300)로 전송하여, 동일한 키인 토큰(nonce)을 소유하고 있지 않으면 패킷을 복호화 할 수 없도록 하는 서버(300)에 의한 사용자 인증 방식을 제공하거나, 공개키 기반 구조(Public Key Infrastructure:PKI)를 사용하여 세션키(session key)를 생성하여 사전 공유키(pre-shared key:PSK)처럼 사용하거나, 미리 교환한 사전 공유키(pre-shared key: PSK)를 사용하며, 인증된 릴레이 서버를 통해 상호간에 인증을 통한 데이터 송수신을 수행하여 서버를 보호하는 제 6 단계; 를 포함하며, 상기 제 4 단계의 판단 결과, 릴레이 서버(100)가 일치하는 서버 UUID가 없는 경우 미리 설정된 시간을 대기한 뒤, 타임 아웃(Timeout) 후 메시지를 버리기 전에 서버 UUID를 한번 더 확인하는 제 7 단계; 및 릴레이 서버(100)가 서버 UUID가 있으면 전송 과정인 상기 제 5 단계 내지 상기 제 6 단계를 수행하며, 서버 UUID가 없으면 클라이언트(500)와의 세션을 클로즈(Session close)를 수행하여, 서버 스캔(Server scan)을 방지하는 제 8 단계; 를 더 포함하며, 상기 제 6 단계에 있어서, 서버(300)가 릴레이 서버(100)로부터 사전 공유키(PSK, Pre-Shared Key)를 이용해 암호화된 토큰(nonce)을 수신한 뒤, 클라이언트 리스트(Client list)에서 데이터 송수신을 위한 클라이언트(500)의 클라이언트 UUID가 있는지 확인하는 제 6-1 단계; 클라이언트 UUID가 있는 경우, 서버(300)가 클라이언트(500)로부터 PSK로 수신된 토큰(nonce)을 복호화하며, 릴레이 서버(100)로부터 받은 토큰도 복호화하여 클라이언트(500)의 것과 같은 경우 사용자 인증을 수행하는 제 6-2 단계; 서버(300)가 사용자 인증에 실패하면 에러 전송, 연속 실패면 클라이언트 UUID에 대한 차단(Block) 등록을 수행하거나, 사용자 인증에 따라 사용자 인증에 성공하면 클라이언트(500)가 접속할 수 있는 임의의 포트(port)를 개방(open)하고, 릴레이 서버(100)부터 수신된 클라이언트(500)의 Public IP에 대해서 서버(300)로 들어오는 연결을 허용하는 정책 추가하고, 데이터 송수신은 토큰 Initial vector로 PSK를 이용해 암호화(CBC)하는 제 6-3 단계; 및 클라이언트(500)가 토큰 Initial vector에 대해서 PSK로 복호화하여 서버(300)의 접속할 수 있는 IP와 개방(open)한 포트(port) 정보를 획득한 뒤, 서버(300)의 개방(open)된 포트(port)로 사용자에 의해 요청된 데이터를 전송하는 제 6-4 단계; 를 더 포함하며, 상기 제 6-4 단계와는 다르게, 서버(300)가 전단의 방화벽(200) 또는 라우터를 통과할 수 없는 경우 서버(300)와 클라이언트(500) 간에 역할을 전환하여, 클라이언트(500)가 포트(port)를 개방(open) 한 뒤, 서버(300)에게 데이터를 전송을 요청하면, 서버(300)는 클라이언트(500)에게 데이터를 전송하며, 상기 제 6-1 단계의 판단 결과 클라이언트 UUID가 없는 경우 서버(300)가 릴레이 서버(100)에 에러(error) 메시지를 전송하며, 상기 제 6-3 단계에서, 사용자 인증에 성공하면 네트워크(400)와 서버(300) 사이에 있는 방화벽(200)이 상기 제 6-3 단계에서의 데이터 송수신에 관한 정보를 복호화하여 데이터(data)가 오류가 있거나, 세션이 종료되면 데이터 전송을 차단하며, UUID는 시스템에서 유니크(unique) 한 값을 가지며, 토큰(nonce)은 릴레이(reply) 공격을 방지하기 위해 사용되는 것을 특징으로 한다.
In order to achieve the above object, a method of protecting a server through an authenticated relay server according to an embodiment of the present invention is a method for protecting a server through an authenticated relay server, in which a server 300 logs in (login) to a relay server 100 through a network 200, Unique User Identifier); A second step in which the client 500 logs in to the relay server 100 through the network 200 and transmits a client UUID; When the client 500 needs data communication with the server 300, it sends a "token of the server UUID" corresponding to a parameter for approval for access to the server 300 of the client 500 to the relay server 100); The relay server 100 determines whether there is a server UUID through a search from the token nonce of the server UUID received from the client 500 in the server list on the DB 110 to see if the server UUID of the server 300 exists A fourth step of judging whether or not it is possible If there is a matching server UUID as a result of the determination, the relay server 100 generates a nonce and encrypts and transmits the generated nonce to the client 500. The relay server 100 encrypts the nonce transmitted to the client 500 with the server's pre-shared key (PSK) and transmits the same to the server 300 to transmit the token (nonce) A user authentication method by the server 300 that prevents the packet from being decrypted if it is not owned or a session key is generated using a Public Key Infrastructure (PKI) (pre-shared key: PSK), or using a pre-shared key (PSK) that has been exchanged, and protects the server by exchanging data with each other through an authenticated relay server Step 6; As a result of the fourth step, if the relay server 100 does not have a matching server UUID, the relay server 100 waits for a preset time, checks the server UUID once before timeout and discards the message Step 7; And if the relay server 100 has a server UUID, it performs the above-mentioned fifth to sixth steps of transmission, and if there is no server UUID, it closes a session with the client 500, Server scan); Wherein the server 300 receives the encrypted nonce from the relay server 100 using a pre-shared key (PSK) in the sixth step, 6-1) checking whether there is a client UUID of the client 500 for data transmission / reception in the client list. When there is a client UUID, the server 300 decrypts the token received from the client 500 in the PSK and decrypts the token received from the relay server 100 to perform user authentication in the same manner as the client 500 Step 6-2; If the server 300 fails to authenticate the user, it transmits an error. If the server 300 continuously fails, it performs block registration for the client UUID. If the server 300 succeeds in user authentication according to the user authentication, port of the relay server 100 and adds a policy for allowing connection to the server 300 with respect to the public IP of the client 500 received from the relay server 100. The data transmission and reception uses a token initial vector PSK (CBC); And the client 500 decrypts the token initial vector with the PSK to obtain the IP and the open port information of the server 300 and then transmits the open A sixth step of transmitting data requested by a user to a port; If the server 300 can not pass through the firewall 200 or the router at the previous stage, the server 300 switches roles between the server 300 and the client 500, The server 300 transmits data to the client 500 when the server 500 requests the server 300 to transmit the data after opening the port, If it is determined that there is no client UUID, the server 300 transmits an error message to the relay server 100. If the user authentication is successful in step 6-3, the server 300 transmits an error message between the network 400 and the server 300 The firewall 200 in step 6-3 decodes the data transmission / reception information in step 6-3 and blocks the data transmission if there is an error in data or a session ends. The UUID is unique in the system, And the token (nonce) has a value to prevent a reply attack It characterized in that it is used.

삭제delete

삭제delete

삭제delete

삭제delete

삭제delete

삭제delete

본 발명의 실시예에 따른 인증된 릴레이 서버를 통한 서버 보호 시스템 및 방법은, 서버 보호를 위해 방어벽을 활용하되 서버와 클라이언트 간에 공개키 기반 구조(Public Key Infrastructure:PKI)를 사용하여 세션키(session key)를 생성하여 사전 공유키(pre-shared key:PSK)처럼 사용하거나, 미리 교환한 사전 공유키(pre-shared key: PSK)를 사용하며, 인증된 릴레이 서버를 통해 상호간에 인증을 통한 데이터 송수신을 수행하여 서버를 보호할 수 있는 효과를 제공한다. A system and method for protecting a server using an authenticated relay server according to an exemplary embodiment of the present invention uses a firewall to protect a server and uses a public key infrastructure (PKI) key is generated and used as a pre-shared key (PSK), or a pre-shared key (PSK) that has been exchanged in advance is used and data mutually authenticated through an authenticated relay server Thereby providing an effect of protecting the server by performing transmission and reception.

또한, 본 발명의 다른 실시예에 따른 인증된 릴레이 서버를 통한 서버 보호 시스템 및 방법은, 네트워크 상에서 실행되는 클라이언트/서버 시스템을 구성하는 서버를 보호함으로써 클라이언트/서버 시스템에 대한 외부 공격을 효과적으로 차단할 수 있는 효과를 제공한다. In addition, according to another embodiment of the present invention, a server protection system and method using an authenticated relay server can effectively prevent an external attack on a client / server system by protecting a server constituting a client / server system running on a network Provides an effect.

뿐만 아니라, 본 발명의 다른 실시예에 따른 인증된 릴레이 서버를 통한 서버 보호 시스템 및 방법은, 서버를 보호공간 안에서 실행함으로써 서버를 각종 해킹이나 악성코드로부터 보호하고, 클라이언트와 서버 사이에 송수신되는 패킷의 무결성을 사용자 인증을 통해 검증하여, 서버 측에 악의적이거나 비정상적인 패킷이 전송되는 것 자체를 불가능하게 할 수 있는 효과를 제공한다.
In addition, a server protection system and method using an authenticated relay server according to another embodiment of the present invention protects a server from various hacks or malicious codes by executing the server in a protection space, Is authenticated through the user authentication, thereby providing an effect of making it impossible to transmit a malicious or abnormal packet to the server side.

도 1은 본 발명의 실시예에 따른 인증된 릴레이 서버를 통한 서버 보호 시스템을 나타내는 도면.
도 2 및 도 3은 본 발명의 실시예에 따른 인증된 릴레이 서버를 통한 서버 보호 방법을 위한 사전 준비 과정을 나타내는 흐름도.
도 4 및 도 5는 본 발명의 실시예에 따른 인증된 릴레이 서버를 통한 서버 보호 방법이 수행되는 과정을 나타내는 흐름도.
1 illustrates a server protection system via an authenticated relay server according to an embodiment of the present invention.
FIG. 2 and FIG. 3 are flowcharts showing a preparation process for a server protection method through an authenticated relay server according to an embodiment of the present invention; FIG.
FIG. 4 and FIG. 5 are flowcharts illustrating a process of performing a server protection method using an authenticated relay server according to an embodiment of the present invention.

이하, 본 발명의 바람직한 실시예의 상세한 설명은 첨부된 도면들을 참조하여 설명할 것이다. 하기에서 본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a detailed description of preferred embodiments of the present invention will be given with reference to the accompanying drawings. In the following description of the present invention, detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.

본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터 또는 신호를 '전송'하는 경우에는 구성요소는 다른 구성요소로 직접 상기 데이터 또는 신호를 전송할 수 있고, 적어도 하나의 또 다른 구성요소를 통하여 데이터 또는 신호를 다른 구성요소로 전송할 수 있음을 의미한다.
In the present specification, when any one element 'transmits' data or signals to another element, the element can transmit the data or signal directly to the other element, and through at least one other element Data or signal can be transmitted to another component.

도 1은 본 발명의 실시예에 따른 인증된 릴레이 서버를 통한 서버 보호 시스템을 나타내는 도면이다. 도 1을 참조하면, 인증된 릴레이 서버를 통한 서버 보호 시스템은 릴레이 서버(Relay Server: 100), 방화벽(200), 서버(Server: 300), 네트워크(400) 및 클라이언트(Client: 500)를 포함한다. 1 is a diagram illustrating a server protection system through an authenticated relay server according to an embodiment of the present invention. 1, a server protection system through an authenticated relay server includes a relay server 100, a firewall 200, a server 300, a network 400, and a client 500 do.

여기서, 서버(300)는 외부에서 네트워크(400)를 통해 들어오는 모든 연결 요청을 방화벽(200) 또는 라우터를 통해 차단한다.Here, the server 300 blocks all connection requests from the outside through the network 400 through the firewall 200 or the router.

이와 같이 방화벽(200)을 통해 세션 연결을 차단하는 서버(100)는 네트워크(400)를 통해 인증된 릴레이 서버(100)로 전송되는 연결만 허용한다. The server 100, which blocks the session connection through the firewall 200, permits connection only through the network 400 to the authenticated relay server 100.

서버(200)와 클라이언트(400)는 상호간에 인증을 통한 데이터 송수신이 가능하다. 이때, 인증을 위해 PKI를 사용하여 session key 를 생성하여 PSK 를 생성하여 사용할 수 있다. The server 200 and the client 400 can exchange data with each other through authentication. At this time, a session key can be generated using a PKI for authentication and a PSK can be generated and used.

즉, 공개키 기반 구조(Public Key Infrastructure:PKI)를 사용하여 세션키(session key)를 생성하여 사전 공유키(pre-shared key:PSK)처럼 사용하거나, 미리 교환한 사전 공유키(pre-shared key: PSK)를 사용하며, 인증된 릴레이 서버를 통해 상호간에 인증을 통한 데이터 송수신을 수행하여 서버를 보호할 수 있는 효과를 제공한다.
That is, a session key is generated using a public key infrastructure (PKI) and used as a pre-shared key (PSK), or a pre-shared key key: PSK), and it is possible to protect the server by mutually authenticating and transmitting / receiving data through an authorized relay server.

도 2 및 도 3은 본 발명의 실시예에 따른 인증된 릴레이 서버를 통한 서버 보호 방법을 위한 사전 준비 과정을 나타내는 흐름도이다. 도 2 및 도 3을 참조하면, 서버(300)는 네트워크(200)를 통해 릴레이 서버(100)로 로그인(login) 하여 서버 UUID(Unique User Identifier)를 전송한다(S11). FIG. 2 and FIG. 3 are flowcharts showing a preparation process for a server protection method using an authenticated relay server according to an embodiment of the present invention. 2 and 3, the server 300 logs in to the relay server 100 through the network 200 and transmits a server UUID (Unique User Identifier) (S11).

또한, 클라이언트(500)는 네트워크(200)를 통해 릴레이 서버(100)에 로그인(login)하여 클라이언트 UUID를 전송한다(S12). Also, the client 500 logs in to the relay server 100 through the network 200 and transmits the client UUID (S12).

이후, 클라이언트(500)는 서버(300)와 데이터 통신이 필요한 경우, 서버 UUID의 토큰(nonce)을 릴레이 서버(100)로 요청한다(S13). 여기서 토큰(nonce)은 클라이언트(500)가 서버(300)로의 액세스를 위한 승인을 위한 매개 변수에 해당한다. When data communication with the server 300 is required, the client 500 requests a token (nonce) of the server UUID to the relay server 100 (S13). Where the token nonce corresponds to a parameter for the client 500 to authorize for access to the server 300.

릴레이 서버(100)는 DB(110) 상에 서버 리스트(serve list)에서 클라이언트(500)로부터 수신된 서버 UUID의 토큰(nonce)으로부터 서버(300)의 서버 UUID가 있는지 검색을 통한 서버 UUID가 있는지 여부를 판단한다(S14).The relay server 100 determines whether there is a server UUID through a search from the token nonce of the server UUID received from the client 500 in the server list on the DB 110 to determine whether the server UUID of the server 300 exists (S14).

단계(S14)의 판단 결과 일치하는 서버 UUID가 있는 경우, 릴레이 서버(100)는 토큰(nonce)을 생성하여, 클라이언트(500)에게 암호화하여 전달한다(S15).If there is a matching server UUID as a result of the determination in step S14, the relay server 100 generates a token (Nonce), encrypts the nonce, and delivers it to the client 500 (S15).

단계(S15) 이후, 릴레이 서버(100)는 클라이언트(500)로 전송한 토큰(nonce)을 서버의 사전 공유키(PSK, Pre-Shared Key)로 하여 암호화하여 서버(300)로 전송함으로써(S16), 동일한 키인 토큰(nonce)을 소유하고 있지 않으면 패킷을 복호화 할 수 없도록 하는 서버(300)에 의한 사용자 인증 방식을 제공한다. 본 발명의 다른 실시예로, 즉, 공개키 기반 구조(Public Key Infrastructure:PKI)를 사용하여 세션키(session key)를 생성하여 사전 공유키(pre-shared key:PSK)처럼 사용하거나, 미리 교환한 사전 공유키(pre-shared key: PSK)를 사용하며, 인증된 릴레이 서버를 통해 상호간에 인증을 통한 데이터 송수신을 수행하여 서버를 보호할 수 있는 효과를 제공한다. After step S15, the relay server 100 encrypts the token (nonce) transmitted to the client 500 as a pre-shared key (PSK) of the server and transmits it to the server 300 (S16 And provides a user authentication method by the server 300 that makes it impossible to decrypt the packet if it does not own a token (nonce) that is the same key. In another embodiment of the present invention, a session key may be generated using a Public Key Infrastructure (PKI) and used as a pre-shared key (PSK) A pre-shared key (PSK) is used, and the server can be protected by mutually authenticating and transmitting / receiving data through the authenticated relay server.

한편, 단계(S14)의 판단 결과, 릴레이 서버(100)는 일치하는 서버 UUID가 없는 경우 미리 설정된 시간을 대기한 뒤, 타임 아웃(Timeout) 후 메시지를 버리기 전에 서버 UUID를 한번 더 확인한다(S17).On the other hand, if it is determined in step S14 that the corresponding server UUID does not exist, the relay server 100 checks the server UUID again before discarding the message after timeout (S17 ).

단계(S17)의 확인에 따라, 릴레이 서버(100)는 서버 UUID가 있으면 전송(S15 내지 S16 과정)을 수행하며, 서버 UUID가 없으면 클라이언트(500)와의 세션을 클로즈(Session close)를 수행함으로서, 서버 스캔(Server scan)을 방지한다(S18). The relay server 100 performs the transmission (S15 to S16) if the server UUID is present and closes the session with the client 500 if the server UUID does not exist, Thereby preventing a server scan (S18).

여기서, UUID는 제안하고자 하는 시스템에서 유니크(unique) 한 값을 가진다. 토큰(nonce)는 릴레이(reply) 공격을 방지 하기 위해 사용된다.
Here, the UUID has a unique value in the proposed system. The token (nonce) is used to prevent a reply attack.

도 4 및 도 5는 본 발명의 실시예에 따른 인증된 릴레이 서버를 통한 서버 보호 방법이 수행되는 과정을 나타내는 흐름도이다. 도 4 및 도 5를 참조하면, 릴레이 서버(100)로부터 사전 공유키(PSK, Pre-Shared Key)를 이용해 암호화된 토큰(nonce)을 수신한 뒤, 서버(300)는 클라이언트 리스트(Client list)에서 데이터 송수신을 위한 클라이언트(500)의 클라이언트 UUID가 있는지 확인한다(S21). FIG. 4 and FIG. 5 are flowcharts illustrating a procedure for performing a server protection method using an authenticated relay server according to an embodiment of the present invention. 4 and 5, the server 300 receives an encrypted token (nonce) using a pre-shared key (PSK) from the relay server 100, The client UUID of the client 500 for data transmission / reception is present (S21).

단계(S21) 이후, 클라이언트 UUID가 있는 경우, 서버(300)는 클라이언트(500)로부터 PSK로 수신된 토큰(nonce)을 복호화하며, 릴레이 서버(100)로부터 받은 토큰도 복호화하여 클라이언트(500)의 것과 같은 경우 사용자 인증을 수행한다(S22). After the step S21, if there is a client UUID, the server 300 decrypts the token received from the client 500 in the PSK, decrypts the token received from the relay server 100, The user authentication is performed (S22).

단계(S22) 이후, 서버(300)는 사용자 인증에 실패하면 에러 전송, 연속 실패면 클라이언트 UUID에 대한 차단(Block) 등록을 수행한다(S23).After step S22, the server 300 performs an error transmission if the user authentication fails and a block registration for the client UUID in case of continuous failure (S23).

한편, 단계(S22)의 사용자 인증에 따라, 서버(300)는 사용자 인증에 성공하면 클라이언트(500)가 접속할 수 있는 임의의 포트(port)를 개방(open)하고, 릴레이 서버(100)부터 수신된 클라이언트(500)의 Public IP에 대해서 서버(300)로 들어오는 연결을 허용하는 정책 추가하고, 테이터 송수신은 토큰 Initial vector로 PSK를 이용해 암호화(CBC)한다(S24).In response to the user authentication in step S22, the server 300 opens any port that the client 500 can access if the user authentication is successful, (CBC) using the PSK as a token initial vector (S24). In addition, the policy for allowing connection to the server 300 with respect to the public IP of the client 500 is added.

한편 단계(S24)에서, 방화벽(200)은 단계(S24)에서의 정보를 복호화하여 데이터(data)가 오류가 있거나, 세션이 종료 되면 데이터 전송을 차단할 수 있다.On the other hand, in step S24, the firewall 200 may decrypt the information in step S24 and block data transmission if the data is erroneous or the session ends.

단계(S24) 이후, 클라이언트(500)는 토큰 Initial vector에 대해서 PSK로 복호화하여 서버(300)의 접속할 수 있는 IP와 개방(open)한 포트(port) 정보를 획득한 뒤, 서버(300)의 개방(open)된 포트(port)로 사용자에 의해 요청된 데이터를 전송한다(S25). After step S24, the client 500 decrypts the token initial vector with the PSK to obtain the IP and the open port information of the server 300, And transmits the data requested by the user to the opened port (S25).

단계(S25)와는 다르게, 서버(300)가 전단의 방화벽(200) 또는 라우터를 통과할 수 없는 경우 서버(300)와 클라이언트(500) 간에 역할을 전환함으로써, 클라이언트(500)가 포트(port)를 개방(open) 한 뒤, 서버(300)에게 데이터를 전송을 요청하면, 서버(300)는 클라이언트(500)에게 데이터를 전송한다(S26).Unlike the step S25, when the server 300 can not pass through the firewall 200 or the router at the previous stage, the client 500 switches roles between the server 300 and the client 500, The server 300 transmits the data to the client 500 and then transmits the data to the server 500 in step S26.

한편, 단계(S21)의 판단 결과 클라이언트 UUID가 없는 경우 서버(300)는 릴레이 서버(100)에 에러(error) 메시지를 전송한다(S27). 한편, 클라이언트 UUID 를 추가는 서버(300)에 등록되어 있는 관리자에 의해 추가될 수 있다.
On the other hand, if it is determined in step S21 that there is no client UUID, the server 300 transmits an error message to the relay server 100 (S27). On the other hand, the addition of the client UUID can be added by the administrator registered in the server 300.

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.The present invention can also be embodied as computer-readable codes on a computer-readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored.

컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device and the like, and also implemented in the form of a carrier wave (for example, transmission over the Internet) .

또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
The computer readable recording medium may also be distributed over a networked computer system so that computer readable code can be stored and executed in a distributed manner. And functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers skilled in the art to which the present invention pertains.

이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
As described above, preferred embodiments of the present invention have been disclosed in the present specification and drawings, and although specific terms have been used, they have been used only in a general sense to easily describe the technical contents of the present invention and to facilitate understanding of the invention , And are not intended to limit the scope of the present invention. It is to be understood by those skilled in the art that other modifications based on the technical idea of the present invention are possible in addition to the embodiments disclosed herein.

100 : 릴레이 서버(Relay Server)
200 : 방화벽(200)
300 : 서버(Server)
400 : 네트워크
500 : 클라이언트(Client)
100: Relay Server
200: Firewall 200
300: Server
400: Network
500: Client

Claims (7)

서버(300)가 네트워크(200)를 통해 릴레이 서버(100)로 로그인(login) 하여 서버 UUID(Unique User Identifier)를 전송하는 제 1 단계;
클라이언트(500)가 네트워크(200)를 통해 릴레이 서버(100)에 로그인(login)하여 클라이언트 UUID를 전송하는 제 2 단계;
클라이언트(500)가 서버(300)와 데이터 통신이 필요한 경우, 클라이언트(500)의 서버(300)로의 액세스를 위한 승인을 위한 매개 변수에 해당하는 "서버 UUID의 토큰(nonce)"을 릴레이 서버(100)로 요청하는 제 3 단계;
릴레이 서버(100)가 DB(110) 상에 서버 리스트(serve list)에서 클라이언트(500)로부터 수신된 서버 UUID의 토큰(nonce)으로부터 서버(300)의 서버 UUID가 있는지 검색을 통한 서버 UUID가 있는지 여부를 판단하는 제 4 단계;
판단 결과 일치하는 서버 UUID가 있는 경우, 릴레이 서버(100)가 토큰(nonce)을 생성하여, 클라이언트(500)에게 암호화하여 전달하는 제 5 단계;
릴레이 서버(100)가 클라이언트(500)로 전송한 토큰(nonce)을 서버의 사전 공유키(PSK, Pre-Shared Key)로 암호화한 후 서버(300)로 전송하여, 동일한 키인 토큰(nonce)을 소유하고 있지 않으면 패킷을 복호화 할 수 없도록 하는 서버(300)에 의한 사용자 인증 방식을 제공하거나, 공개키 기반 구조(Public Key Infrastructure:PKI)를 사용하여 세션키(session key)를 생성하여 사전 공유키(pre-shared key:PSK)처럼 사용하거나, 미리 교환한 사전 공유키(pre-shared key: PSK)를 사용하며, 인증된 릴레이 서버를 통해 상호간에 인증을 통한 데이터 송수신을 수행하여 서버를 보호하는 제 6 단계; 를 포함하며,
상기 제 4 단계의 판단 결과, 릴레이 서버(100)가 일치하는 서버 UUID가 없는 경우 미리 설정된 시간을 대기한 뒤, 타임 아웃(Timeout) 후 메시지를 버리기 전에 서버 UUID를 한번 더 확인하는 제 7 단계; 및
릴레이 서버(100)가 서버 UUID가 있으면 전송 과정인 상기 제 5 단계 내지 상기 제 6 단계를 수행하며, 서버 UUID가 없으면 클라이언트(500)와의 세션을 클로즈(Session close)를 수행하여, 서버 스캔(Server scan)을 방지하는 제 8 단계; 를 더 포함하며,
상기 제 6 단계에 있어서, 서버(300)가 릴레이 서버(100)로부터 사전 공유키(PSK, Pre-Shared Key)를 이용해 암호화된 토큰(nonce)을 수신한 뒤, 클라이언트 리스트(Client list)에서 데이터 송수신을 위한 클라이언트(500)의 클라이언트 UUID가 있는지 확인하는 제 6-1 단계;
클라이언트 UUID가 있는 경우, 서버(300)가 클라이언트(500)로부터 PSK로 수신된 토큰(nonce)을 복호화하며, 릴레이 서버(100)로부터 받은 토큰도 복호화하여 클라이언트(500)의 것과 같은 경우 사용자 인증을 수행하는 제 6-2 단계;
서버(300)가 사용자 인증에 실패하면 에러 전송, 연속 실패면 클라이언트 UUID에 대한 차단(Block) 등록을 수행하거나, 사용자 인증에 따라 사용자 인증에 성공하면 클라이언트(500)가 접속할 수 있는 임의의 포트(port)를 개방(open)하고, 릴레이 서버(100)부터 수신된 클라이언트(500)의 Public IP에 대해서 서버(300)로 들어오는 연결을 허용하는 정책 추가하고, 데이터 송수신은 토큰 Initial vector로 PSK를 이용해 암호화(CBC)하는 제 6-3 단계; 및
클라이언트(500)가 토큰 Initial vector에 대해서 PSK로 복호화하여 서버(300)의 접속할 수 있는 IP와 개방(open)한 포트(port) 정보를 획득한 뒤, 서버(300)의 개방(open)된 포트(port)로 사용자에 의해 요청된 데이터를 전송하는 제 6-4 단계; 를 더 포함하며,
상기 제 6-4 단계와는 다르게, 서버(300)가 전단의 방화벽(200) 또는 라우터를 통과할 수 없는 경우 서버(300)와 클라이언트(500) 간에 역할을 전환하여, 클라이언트(500)가 포트(port)를 개방(open) 한 뒤, 서버(300)에게 데이터를 전송을 요청하면, 서버(300)는 클라이언트(500)에게 데이터를 전송하며,
상기 제 6-1 단계의 판단 결과 클라이언트 UUID가 없는 경우 서버(300)가 릴레이 서버(100)에 에러(error) 메시지를 전송하며,
상기 제 6-3 단계에서, 사용자 인증에 성공하면 네트워크(400)와 서버(300) 사이에 있는 방화벽(200)이 상기 제 6-3 단계에서의 데이터 송수신에 관한 정보를 복호화하여 데이터(data)가 오류가 있거나, 세션이 종료되면 데이터 전송을 차단하며,
UUID는 시스템에서 유니크(unique) 한 값을 가지며, 토큰(nonce)은 릴레이(reply) 공격을 방지하기 위해 사용되는 것을 특징으로 하는 인증된 릴레이 서버를 통한 서버 보호 방법.
A first step in which the server 300 logs in to the relay server 100 through the network 200 and transmits a server UUID (Unique User Identifier);
A second step in which the client 500 logs in to the relay server 100 through the network 200 and transmits a client UUID;
When the client 500 needs data communication with the server 300, it sends a "token of the server UUID" corresponding to a parameter for approval for access to the server 300 of the client 500 to the relay server 100);
The relay server 100 determines whether there is a server UUID through a search from the token nonce of the server UUID received from the client 500 in the server list on the DB 110 to see if the server UUID of the server 300 exists A fourth step of judging whether or not it is possible
If there is a matching server UUID as a result of the determination, the relay server 100 generates a nonce and encrypts and transmits the generated nonce to the client 500.
The relay server 100 encrypts the nonce transmitted to the client 500 with the server's pre-shared key (PSK) and transmits the same to the server 300 to transmit the token (nonce) A user authentication method by the server 300 that prevents the packet from being decrypted if it is not owned or a session key is generated using a Public Key Infrastructure (PKI) (pre-shared key: PSK), or using a pre-shared key (PSK) that has been exchanged, and protects the server by exchanging data with each other through an authenticated relay server Step 6; / RTI >
If it is determined in step 4 that the relay server 100 does not have a matching server UUID, the relay server 100 waits for a predetermined time and confirms the server UUID again before discarding the message after timeout. And
If the relay server 100 has a server UUID, it performs the above-described fifth to sixth steps of transmission, and if there is no server UUID, it closes a session with the client 500, scan; Further comprising:
In the sixth step, after the server 300 receives the encrypted token (nonce) from the relay server 100 using the pre-shared key (PSK), the server 300 transmits data (6-1) checking whether there is a client UUID of the client (500) for transmission / reception;
When there is a client UUID, the server 300 decrypts the token received from the client 500 in the PSK and decrypts the token received from the relay server 100 to perform user authentication in the same manner as the client 500 Step 6-2;
If the server 300 fails to authenticate the user, it transmits an error. If the server 300 continuously fails, it performs block registration for the client UUID. If the server 300 succeeds in user authentication according to the user authentication, port of the relay server 100 and adds a policy for allowing connection to the server 300 with respect to the public IP of the client 500 received from the relay server 100. The data transmission and reception uses a token initial vector PSK (CBC); And
The client 500 decrypts the token initial vector with the PSK to obtain the IP and the open port information of the server 300 and then transmits the open port of the server 300 (6) transmitting data requested by the user to the port; Further comprising:
If the server 300 can not pass through the firewall 200 or the router in the previous stage, the server 500 may switch roles between the server 300 and the client 500, the server 300 transmits data to the client 500 when the server 300 requests the server 300 to transmit the data after opening the port,
If it is determined in step 6-1 that there is no client UUID, the server 300 transmits an error message to the relay server 100,
If the user authentication is successful in step 6-3, the firewall 200 between the network 400 and the server 300 decrypts the information related to the data transmission / reception in step 6-3, If there is an error, or if the session is terminated,
Wherein the UUID has a unique value in the system and the token is used to prevent a reply attack.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020160004015A 2016-01-13 2016-01-13 Method for Protecting Server using Authenticated Relay Server KR101811121B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160004015A KR101811121B1 (en) 2016-01-13 2016-01-13 Method for Protecting Server using Authenticated Relay Server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160004015A KR101811121B1 (en) 2016-01-13 2016-01-13 Method for Protecting Server using Authenticated Relay Server

Publications (2)

Publication Number Publication Date
KR20170084778A KR20170084778A (en) 2017-07-21
KR101811121B1 true KR101811121B1 (en) 2018-01-25

Family

ID=59462684

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160004015A KR101811121B1 (en) 2016-01-13 2016-01-13 Method for Protecting Server using Authenticated Relay Server

Country Status (1)

Country Link
KR (1) KR101811121B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102556976B1 (en) * 2020-04-06 2023-07-20 한국전자통신연구원 Apparatus and Method for Controlling Hierarchical Connection based on Token
KR102571147B1 (en) * 2021-06-14 2023-08-25 주식회사 이지스텍 Security apparatus and method for smartwork environment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050138362A1 (en) * 2003-12-23 2005-06-23 Wachovia Corporation Authentication system for networked computer applications
JP2006020291A (en) * 2004-06-02 2006-01-19 Canon Inc Encrypted communication method and system
JP2007081971A (en) * 2005-09-15 2007-03-29 Matsushita Electric Ind Co Ltd Ip communication apparatus and ip phone

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050138362A1 (en) * 2003-12-23 2005-06-23 Wachovia Corporation Authentication system for networked computer applications
JP2006020291A (en) * 2004-06-02 2006-01-19 Canon Inc Encrypted communication method and system
JP2007081971A (en) * 2005-09-15 2007-03-29 Matsushita Electric Ind Co Ltd Ip communication apparatus and ip phone

Also Published As

Publication number Publication date
KR20170084778A (en) 2017-07-21

Similar Documents

Publication Publication Date Title
JP6175520B2 (en) Computer program, processing method, and network gateway
US7069438B2 (en) Establishing authenticated network connections
EP2769509B1 (en) System and method for redirected firewall discovery in a network environment
US20160072787A1 (en) Method for creating secure subnetworks on a general purpose network
US20070294759A1 (en) Wireless network control and protection system
US20110107410A1 (en) Methods, systems, and computer program products for controlling server access using an authentication server
US10050938B2 (en) Highly secure firewall system
US20110154469A1 (en) Methods, systems, and computer program products for access control services using source port filtering
CN113645115B (en) Virtual private network access method and system
KR101811121B1 (en) Method for Protecting Server using Authenticated Relay Server
US20170295142A1 (en) Three-Tiered Security and Computational Architecture
EP1836559B1 (en) Apparatus and method for traversing gateway device using a plurality of batons
KR20150114921A (en) System and method for providing secure network in enterprise
US8590031B2 (en) Methods, systems, and computer program products for access control services using a transparent firewall in conjunction with an authentication server
Baugher et al. Home-network threats and access controls
KR20150041613A (en) System and method for providing secure network in enterprise
Smyslov et al. The NULL authentication Method in the internet key exchange protocol version 2 (IKEv2)
Zúquete et al. A security architecture for protecting LAN interactions
Tian et al. Network Security and Privacy Architecture
Carmen et al. Wireless Network Security.
CN117319080A (en) Mobile terminal for isolating secret communication and communication method
Tatavarthi et al. Cyber security of an industrial IoT gateway device-a threat model view and security aspects
Schwenk Secure Shell (SSH)
WO2015022701A2 (en) Method and system of routing and handover of secure communication without knowledge of private/secret key
Smyslov et al. RFC 7619: The NULL Authentication Method in the Internet Key Exchange Protocol Version 2 (IKEv2)

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right