KR20170084778A - 인증된 릴레이 서버를 통한 서버 보호 시스템 및 방법 - Google Patents

인증된 릴레이 서버를 통한 서버 보호 시스템 및 방법 Download PDF

Info

Publication number
KR20170084778A
KR20170084778A KR1020160004015A KR20160004015A KR20170084778A KR 20170084778 A KR20170084778 A KR 20170084778A KR 1020160004015 A KR1020160004015 A KR 1020160004015A KR 20160004015 A KR20160004015 A KR 20160004015A KR 20170084778 A KR20170084778 A KR 20170084778A
Authority
KR
South Korea
Prior art keywords
server
client
uuid
relay server
relay
Prior art date
Application number
KR1020160004015A
Other languages
English (en)
Other versions
KR101811121B1 (ko
Inventor
민정곤
Original Assignee
민정곤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 민정곤 filed Critical 민정곤
Priority to KR1020160004015A priority Critical patent/KR101811121B1/ko
Publication of KR20170084778A publication Critical patent/KR20170084778A/ko
Application granted granted Critical
Publication of KR101811121B1 publication Critical patent/KR101811121B1/ko

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

Landscapes

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

Abstract

본 발명은 인증된 릴레이 서버를 통한 서버 보호 시스템 및 방법에 관한 것이다. 본 발명의 제 1 측면은, 외부에서 네트워크(400)를 통해 들어오는 연결 요청을 방화벽(200)을 통해 차단하는 하며, 네트워크(400)를 통해 인증된 릴레이 서버(100)로 전송하는 연결만 허용하는 서버(100); 및 서버(200)와 사전 공유키(pre-shared key: PSK)를 공유함으로써, 상호간에 인증을 통한 데이터 송수신을 수행하는 클라이언트(400); 를 포함하는 것을 특징으로 하는 인증된 릴레이 서버를 통한 서버 보호 시스템을 제공함에 있다.
또한, 본 발명의 제 2 측면은, 서버(300)가 네트워크(200)를 통해 릴레이 서버(100)로 로그인(login) 하여 서버 UUID(Uinique User Identidfier)를 전송하는 제 1 단계; 클라이언트(500)가 네트워크(200)를 통해 릴레이 서버(100)에 로그인(login)하여 클라이언트 UUID를 전송하는 제 2 단계; 클라이언트(500)가 서버(300)와 데이터 통신이 필요한 경우, 서버 UUID의 토큰(nonce)을 릴레이 서버(100)로 요청하는 제 3 단계; 릴레이 서버(100)가 DB(110) 상에 서버 리스트(serve list)에서 클라이언트(500)로부터 수신된 서버 UUID의 토큰(nonce)으로부터 서버(300)의 서버 UUID가 있는지 검색을 통한 서버 UUID가 있는 경우, 토큰(nonce)을 생성하여, 클라이언트(500)에게 암호화하여 전달하는 제 4 단계; 및 릴레이 서버(100)가 클라이언트(500)로 전송한 토큰(nonce)을 서버(300)의 사전 공유키(PSK, Pre-Shared Key)로 하여 암호화하여 전송하여, 동일한 키인 토큰(nonce)을 소유하고 있지 않으면 패킷을 복호화 할 수 없도록 하는 서버(300)에 의한 사용자 인증 방식을 제공하는 제 5 단계; 를 포함하는 것을 특징으로 하는 인증된 릴레이 서버를 통한 서버 보호 방법을 제공함에 있다.
이에 의해, 서버 보호를 위해 방어벽을 활용하되 서버와 클라이언트 간에 사전 공유키(pre-shared key: PSK)와, 인증된 릴레이 서버를 통해 상호간에 인증을 통한 데이터 송수신을 수행하여 서버를 보호할 수 있는 효과를 제공한다.
또한, 본 발명은, 네트워크 상에서 실행되는 클라이언트/서버 시스템을 구성하는 서버를 보호함으로써 클라이언트/서버 시스템에 대한 외부 공격을 효과적으로 차단할 수 있는 효과를 제공한다.
뿐만 아니라, 본 발명은, 서버를 보호공간 안에서 실행함으로써 서버를 각종 해킹이나 악성코드로부터 보호하고, 클라이언트와 서버 사이에 송수신되는 패킷의 무결성을 사용자 인증을 통해 검증하여, 서버 측에 악의적이거나 비정상적인 패킷이 전송되는 것 자체를 불가능하게 할 수 있는 효과를 제공한다.

Description

인증된 릴레이 서버를 통한 서버 보호 시스템 및 방법{System for Protecting Server using Authenticated Server Relay Server, and Method there of}
본 발명은 인증된 릴레이 서버를 통한 서버 보호 시스템 및 방법에 관한 것으로, 보다 구체적으로는, 서버 보호를 위해 방어벽을 활용하되 서버와 클라이언트, 인증된 릴레이 서버 상호간에 인증, 데이터 송수신할 때 데이터의 기밀성 유지와 인증하는 방법, 서버를 보호하도록 하기 위한 인증된 릴레이 서버를 통한 서버 보호 시스템 및 방법에 관한 것이다.
종래 서버 시스템에 대한 외부의 해킹공격을 차단하기 위해 네트워크 방화벽, 어플리케이션 방화벽, 취약점 스캐너 등이 사용되었다.
네트워크 방화벽은 OSI (Open Systems Interconnection) 7계층 중 3계층인 네트워크 계층(network layer)이나 4계층인 전송계층(transport layer)에 존재하는 취약점에 대한 외부해커의 공격을 차단한다.
네트워크 방화벽을 이용하는 경우, IP 주소 및 포트를 기준으로 허가, 차단 여부를 결정하므로 공격자가 인가자의 머신을 해킹한 후 인가자의 머신을 경유해 공격하거나 인가자가 악의적인 마음을 가지고 공격을 시도한다면 이를 막을 방법이 없다.
또한, 웹 서비스와 같이 외부에 공개된 서버는 웹 어플리케이션에 취약점이 있다면 누구든 해당 취약점을 공격할 수 있으므로 네트워크 방화벽은 취약점에 대한 외부해커의 공격을 막을 수 없다. 즉, 네트워크 방화벽은 허가할 서비스와 허가하지 않을 서비스를 제어할 수는 있지만, 허가된 서비스의 취약점에 대한 공격은 막을 수 없다.
대한민국 특허등록공보 등록번호 제10-0958250호 "웹 서버 보안 방법 및 이를 위한 웹 방화벽" 대한민국 특허공개공보 공개번호 제10-2014-0129713호 "클라우드 컴퓨팅 환경에서 클라우드 서버의 콘텐츠 보안 시스템 및 그 방법"
본 발명은 상기의 문제점을 해결하기 위한 것으로, 서버 보호를 위해 방어벽을 활용하되 서버와 클라이언트 간에 데이터 기밀성과 인증을 위해 공개키 기반 구조(Public Key Infrastructure:PKI)를 사용하여 세션키(session key)를 생성하여 사전 공유키(pre-shared key:PSK)처럼 사용하거나, 미리 교환한 사전 공유키(pre-shared key: PSK)를 사용하여, 인증된 릴레이 서버를 통해 상호간에 인증을 통한 데이터 송수신을 수행하여 서버를 보호하도록 하기 위한 인증된 릴레이 서버를 통한 서버 보호 시스템 및 방법을 제공하기 위한 것이다.
또한, 본 발명은 네트워크 상에서 실행되는 클라이언트/서버 시스템을 구성하는 서버를 보호함으로써 클라이언트/서버 시스템에 대한 외부 공격을 효과적으로 차단하도록 하기 위한 인증된 릴레이 서버를 통한 서버 보호 시스템 및 방법을 제공하기 위한 것이다.
그러나 본 발명의 목적들은 상기에 언급된 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기의 목적을 달성하기 위해 본 발명의 실시예에 따른 인증된 릴레이 서버를 통한 서버 보호 시스템은, 외부에서 네트워크(400)를 통해 들어오는 연결 요청을 방화벽(200)을 통해 차단하는 하며, 네트워크(400)를 통해 인증된 릴레이 서버(100)로 전송하는 연결만 허용하는 서버(100); 및 서버(200)와 사전 공유키(pre-shared key: PSK)를 공유함으로써, 상호간에 인증을 통한 데이터 송수신을 수행하는 클라이언트(400); 를 포함하는 것을 특징으로 한다.
상기의 목적을 달성하기 위해 본 발명의 실시예에 따른 인증된 릴레이 서버를 통한 서버 보호 방법은, 서버(300)가 네트워크(200)를 통해 릴레이 서버(100)로 로그인(login) 하여 서버 UUID(Uinique User Identidfier)를 전송하는 제 1 단계; 클라이언트(500)가 네트워크(200)를 통해 릴레이 서버(100)에 로그인(login)하여 클라이언트 UUID를 전송하는 제 2 단계; 클라이언트(500)가 서버(300)와 데이터 통신이 필요한 경우, 서버 UUID의 토큰(nonce)을 릴레이 서버(100)로 요청하는 제 3 단계; 릴레이 서버(100)가 DB(110) 상에 서버 리스트(serve list)에서 클라이언트(500)로부터 수신된 서버 UUID의 토큰(nonce)으로부터 서버(300)의 서버 UUID가 있는지 검색을 통한 서버 UUID가 있는 경우, 토큰(nonce)을 생성하여, 클라이언트(500)에게 암호화하여 전달하는 제 4 단계; 및 릴레이 서버(100)가 클라이언트(500)로 전송한 토큰(nonce)을 서버(300)의 사전 공유키(PSK, Pre-Shared Key)로 하여 암호화하여 전송하여, 동일한 키인 토큰(nonce)을 소유하고 있지 않으면 패킷을 복호화 할 수 없도록 하는 서버(300)에 의한 사용자 인증 방식을 제공하는 제 5 단계; 를 포함하는 것을 특징으로 한다.
이때, 상기 제 4 단계는, 판단 결과, 일치하는 서버 UUID가 없는 경우, 릴레이 서버(100)가 미리 설정된 시간을 대기한 뒤, 타임 아웃(Timeout) 후 메시지를 버리기 전에 서버 UUID를 한번 더 확인하는 단계; 및 확인에 따라, 릴레이 서버(100)가 서버 UUID가 있으면 전송 과정인 상기 제 4 단계 및 상기 제 5 과정을 수행하며, 서버 UUID가 없으면 클라이언트(500)와의 세션을 클로즈(Session close)를 수행하여, 서버 스캔(Server scan)을 방지하는 단계; 를 더 포함하는 것을 특징으로 한다.
또한, 상기 제 5 단계 이후, 서버(300)가 클라이언트 리스트(Client list)에서 데이터 송수신을 위한 클라이언트(500)의 클라이언트 UUID가 있는지 확인하는 제 6 단계; 및 클라이언트 UUID가 있는 경우, 서버(300)가 클라이언트(500)로부터 PSK로 수신된 토큰(nonce)을 복호화하며, 릴레이 서버(100)로부터 받은 토큰도 복호화하여 클라이언트(500)의 것과 같은 경우 사용자 인증을 수행하는 제 7 단계; 를 더 포함하는 것을 특징으로 한다.
또한, 상기 제 7 단계 이후, 서버(300)가 사용자 인증에 실패하면 에러 전송, 연속 실패면 클라이언트 UUID에 대한 차단(Block) 등록을 수행하는 단계; 를 더 포함하는 것을 특징으로 한다.
또한, 상기 제 7 단계 이후, 서버(300)가 사용자 인증에 따라, 사용자 인증에 성공하면 릴레이 서버(100)부터 수신된 클라이언트(500)의 Public IP에 대해서 서버(300)로 들어오는 연결을 허용하는 정책 추가하고, 클라이언트(500)에게 접속할 수 있는 IP와 임의로 개방(open)한 포트(port)를 토큰 Initial vector로 PSK를 이용해 암호화(CBC)하여 전송하는 제 8 단계; 를 더 포함하는 것을 특징으로 한다.
또한, 상기 제 8 단계 이후, 클라이언트(500)가 토큰 Initial vector에 대해서 PSK로 복호화하여 서버(300)의 접속할 수 있는 IP와 개방(open)한 포트(port) 정보를 획득한 뒤, 서버(300)의 개방(open)된 포트(port)로 사용자에 의해 요청된 데이터를 전송하는 제 9 단계; 를 더 포함하는 것을 특징으로 한다.
본 발명의 실시예에 따른 인증된 릴레이 서버를 통한 서버 보호 시스템 및 방법은, 서버 보호를 위해 방어벽을 활용하되 서버와 클라이언트 간에 공개키 기반 구조(Public Key Infrastructure:PKI)를 사용하여 세션키(session key)를 생성하여 사전 공유키(pre-shared key:PSK)처럼 사용하거나, 미리 교환한 사전 공유키(pre-shared key: PSK)를 사용하며, 인증된 릴레이 서버를 통해 상호간에 인증을 통한 데이터 송수신을 수행하여 서버를 보호할 수 있는 효과를 제공한다.
또한, 본 발명의 다른 실시예에 따른 인증된 릴레이 서버를 통한 서버 보호 시스템 및 방법은, 네트워크 상에서 실행되는 클라이언트/서버 시스템을 구성하는 서버를 보호함으로써 클라이언트/서버 시스템에 대한 외부 공격을 효과적으로 차단할 수 있는 효과를 제공한다.
뿐만 아니라, 본 발명의 다른 실시예에 따른 인증된 릴레이 서버를 통한 서버 보호 시스템 및 방법은, 서버를 보호공간 안에서 실행함으로써 서버를 각종 해킹이나 악성코드로부터 보호하고, 클라이언트와 서버 사이에 송수신되는 패킷의 무결성을 사용자 인증을 통해 검증하여, 서버 측에 악의적이거나 비정상적인 패킷이 전송되는 것 자체를 불가능하게 할 수 있는 효과를 제공한다.
도 1은 본 발명의 실시예에 따른 인증된 릴레이 서버를 통한 서버 보호 시스템을 나타내는 도면.
도 2 및 도 3은 본 발명의 실시예에 따른 인증된 릴레이 서버를 통한 서버 보호 방법을 위한 사전 준비 과정을 나타내는 흐름도.
도 4 및 도 5는 본 발명의 실시예에 따른 인증된 릴레이 서버를 통한 서버 보호 방법이 수행되는 과정을 나타내는 흐름도.
이하, 본 발명의 바람직한 실시예의 상세한 설명은 첨부된 도면들을 참조하여 설명할 것이다. 하기에서 본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터 또는 신호를 '전송'하는 경우에는 구성요소는 다른 구성요소로 직접 상기 데이터 또는 신호를 전송할 수 있고, 적어도 하나의 또 다른 구성요소를 통하여 데이터 또는 신호를 다른 구성요소로 전송할 수 있음을 의미한다.
도 1은 본 발명의 실시예에 따른 인증된 릴레이 서버를 통한 서버 보호 시스템을 나타내는 도면이다. 도 1을 참조하면, 인증된 릴레이 서버를 통한 서버 보호 시스템은 릴레이 서버(Relay Server: 100), 방화벽(200), 서버(Server: 300), 네트워크(400) 및 클라이언트(Client: 500)를 포함한다.
여기서, 서버(300)는 외부에서 네트워크(400)를 통해 들어오는 모든 연결 요청을 방화벽(200) 또는 라우터를 통해 차단한다.
이와 같이 방화벽(200)을 통해 세션 연결을 차단하는 서버(100)는 네트워크(400)를 통해 인증된 릴레이 서버(100)로 전송되는 연결만 허용한다.
서버(200)와 클라이언트(400)는 상호간에 인증을 통한 데이터 송수신이 가능하다. 이때, 인증을 위해 PKI를 사용하여 session key 를 생성하여 PSK 를 생성하여 사용할 수 있다.
즉, 공개키 기반 구조(Public Key Infrastructure:PKI)를 사용하여 세션키(session key)를 생성하여 사전 공유키(pre-shared key:PSK)처럼 사용하거나, 미리 교환한 사전 공유키(pre-shared key: PSK)를 사용하며, 인증된 릴레이 서버를 통해 상호간에 인증을 통한 데이터 송수신을 수행하여 서버를 보호할 수 있는 효과를 제공한다.
도 2 및 도 3은 본 발명의 실시예에 따른 인증된 릴레이 서버를 통한 서버 보호 방법을 위한 사전 준비 과정을 나타내는 흐름도이다. 도 2 및 도 3을 참조하면, 서버(300)는 네트워크(200)를 통해 릴레이 서버(100)로 로그인(login) 하여 서버 UUID(Uinique User Identidfier)를 전송한다(S11).
또한, 클라이언트(500)는 네트워크(200)를 통해 릴레이 서버(100)에 로그인(login)하여 클라이언트 UUID를 전송한다(S12).
이후, 클라이언트(500)는 서버(300)와 데이터 통신이 필요한 경우, 서버 UUID의 토큰(nonce)을 릴레이 서버(100)로 요청한다(S13). 여기서 토큰(nonce)은 클라이언트(500)가 서버(300)로의 액세스를 위한 승인을 위한 매개 변수에 해당한다.
릴레이 서버(100)는 DB(110) 상에 서버 리스트(serve list)에서 클라이언트(500)로부터 수신된 서버 UUID의 토큰(nonce)으로부터 서버(300)의 서버 UUID가 있는지 검색을 통한 서버 UUID가 있는지 여부를 판단한다(S14).
단계(S14)의 판단 결과 일치하는 서버 UUID가 있는 경우, 릴레이 서버(100)는 토큰(nonce)을 생성하여, 클라이언트(500)에게 암호화하여 전달한다(S15).
단계(S15) 이후, 릴레이 서버(100)는 클라이언트(500)로 전송한 토큰(nonce)을 서버(300)의 사전 공유키(PSK, Pre-Shared Key)로 하여 암호화하여 전송함으로써(S16), 동일한 키인 토큰(nonce)을 소유하고 있지 않으면 패킷을 복호화 할 수 없도록 하는 서버(300)에 의한 사용자 인증 방식을 제공한다. 본 발명의 다른 실시예로, 즉, 공개키 기반 구조(Public Key Infrastructure:PKI)를 사용하여 세션키(session key)를 생성하여 사전 공유키(pre-shared key:PSK)처럼 사용하거나, 미리 교환한 사전 공유키(pre-shared key: PSK)를 사용하며, 인증된 릴레이 서버를 통해 상호간에 인증을 통한 데이터 송수신을 수행하여 서버를 보호할 수 있는 효과를 제공한다.
한편, 단계(S14)의 판단 결과, 릴레이 서버(100)는 일치하는 서버 UUID가 없는 경우 미리 설정된 시간을 대기한 뒤, 타임 아웃(Timeout) 후 메시지를 버리기 전에 서버 UUID를 한번 더 확인한다(S17).
단계(S17)의 확인에 따라, 릴레이 서버(100)는 서버 UUID가 있으면 전송(S15 내지 S16 과정)을 수행하며, 서버 UUID가 없으면 클라이언트(500)와의 세션을 클로즈(Session close)를 수행함으로서, 서버 스캔(Server scan)을 방지한다(S18).
여기서, UUID는 제안하고자 하는 시스템에서 유니크(unique) 한 값을 가진다. 토큰(nonce)는 릴레이(reply) 공격을 방지 하기 위해 사용된다.
도 4 및 도 5는 본 발명의 실시예에 따른 인증된 릴레이 서버를 통한 서버 보호 방법이 수행되는 과정을 나타내는 흐름도이다. 도 4 및 도 5를 참조하면, 릴레이 서버(100)로부터 사전 공유키(PSK, Pre-Shared Key)를 이용해 암호화된 토큰(nonce)을 수신한 뒤, 서버(300)는 클라이언트 리스트(Client list)에서 데이터 송수신을 위한 클라이언트(500)의 클라이언트 UUID가 있는지 확인한다(S21).
단계(S21) 이후, 클라이언트 UUID가 있는 경우, 서버(300)는 클라이언트(500)로부터 PSK로 수신된 토큰(nonce)을 복호화하며, 릴레이 서버(100)로부터 받은 토큰도 복호화하여 클라이언트(500)의 것과 같은 경우 사용자 인증을 수행한다(S22).
단계(S22) 이후, 서버(300)는 사용자 인증에 실패하면 에러 전송, 연속 실패면 클라이언트 UUID에 대한 차단(Block) 등록을 수행한다(S23).
한편, 단계(S22)의 사용자 인증에 따라, 서버(300)는 사용자 인증에 성공하면 클라이언트(500)가 접속할 수 있는 임의의 포트(port)를 개방(open)하고, 릴레이 서버(100)부터 수신된 클라이언트(500)의 Public IP에 대해서 서버(300)로 들어오는 연결을 허용하는 정책 추가하고, 테이타 송수신은 토큰 Initial vector로 PSK를 이용해 암호화(CBC)한다(S24).
한편 단계(S24)에서, 방화벽(200)은 단계(S24)에서의 정보를 복호화하여 데이터(data)가 오류가 있거나, 세션이 종료 되면 데이터 전송을 차단할 수 있다.
단계(S24) 이후, 클라이언트(500)는 토큰 Initial vector에 대해서 PSK로 복호화하여 서버(300)의 접속할 수 있는 IP와 개방(open)한 포트(port) 정보를 획득한 뒤, 서버(300)의 개방(open)된 포트(port)로 사용자에 의해 요청된 데이터를 전송한다(S25).
단계(S25)와는 다르게, 서버(300)가 전단의 방화벽(200) 또는 라우터를 통과할 수 없는 경우 서버(300)와 클라이언트(500) 간에 역할을 전환함으로써, 클라이언트(500)가 포트(port)를 개방(open) 한 뒤, 서버(300)에게 데이터를 전송을 요청하면, 서버(300)는 클라이언트(500)에게 데이터를 전송한다(S26).
한편, 단계(S21)의 판단 결과 클라이언트 UUID가 없는 경우 서버(300)는 릴레이 서버(100)에 에러(error) 메시지를 전송한다(S27). 한편, 클라이언트 UUID 를 추가는 서버(300)에 등록되어 있는 관리자에 의해 추가될 수 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
100 : 릴레이 서버(Relay Server)
200 : 방화벽(200)
300 : 서버(Server)
400 : 네트워크
500 : 클라이언트(Client)

Claims (7)

  1. 외부에서 네트워크(400)를 통해 들어오는 연결 요청을 방화벽(200)을 통해 차단하며, 네트워크(400)를 통해 인증된 릴레이 서버(100)로 전송하는 연결만 허용하는 서버(100); 및
    서버(200)와 사전 공유키(pre-shared key: PSK)를 공유함으로써, 상호간에 인증을 통한 데이터 송수신을 수행하는 클라이언트(400); 를 포함하는 것을 특징으로 하는 인증된 릴레이 서버를 통한 서버 보호 시스템.
  2. 서버(300)가 네트워크(200)를 통해 릴레이 서버(100)로 로그인(login)하여 서버 UUID(Uinique User Identidfier)를 전송하는 제 1 단계;
    클라이언트(500)가 네트워크(200)를 통해 릴레이 서버(100)에 로그인(login)하여 클라이언트 UUID를 전송하는 제 2 단계;
    클라이언트(500)가 서버(300)와 데이터 통신이 필요한 경우, 서버 UUID의 토큰(nonce)을 릴레이 서버(100)로 요청하는 제 3 단계;
    릴레이 서버(100)가 DB(110) 상에 서버 리스트(serve list)에서 클라이언트(500)로부터 수신된 서버 UUID의 토큰(nonce)으로부터 서버(300)의 서버 UUID가 있는지 검색을 통한 서버 UUID가 있는 경우, 토큰(nonce)을 생성하여, 클라이언트(500)에게 암호화하여 전달하는 제 4 단계; 및
    릴레이 서버(100)가 클라이언트(500)로 전송한 토큰(nonce)을 서버(300)의 사전 공유키(PSK, Pre-Shared Key)로 하여 암호화하여 전송하여, 동일한 키인 토큰(nonce)을 소유하고 있지 않으면 패킷을 복호화할 수 없도록 하는 서버(300)에 의한 사용자 인증 방식을 제공하는 제 5 단계; 를 포함하는 것을 특징으로 하는 인증된 릴레이 서버를 통한 서버 보호 방법.
  3. 청구항 2에 있어서, 상기 제 4 단계는,
    판단 결과, 일치하는 서버 UUID가 없는 경우, 릴레이 서버(100)가 미리 설정된 시간을 대기한 뒤, 타임 아웃(Timeout) 후 메시지를 버리기 전에 서버 UUID를 한번 더 확인하는 단계; 및
    확인에 따라, 릴레이 서버(100)가 서버 UUID가 있으면 전송 과정인 상기 제 4 단계 및 상기 제 5 과정을 수행하며, 서버 UUID가 없으면 클라이언트(500)와의 세션을 클로즈(Session close)를 수행하여, 서버 스캔(Server scan)을 방지하는 단계; 를 더 포함하는 것을 특징으로 하는 인증된 릴레이 서버를 통한 서버 보호 방법.
  4. 청구항 2에 있어서, 상기 제 5 단계 이후,
    서버(300)가 클라이언트 리스트(Client list)에서 데이터 송수신을 위한 클라이언트(500)의 클라이언트 UUID가 있는지 확인하는 제 6 단계; 및
    클라이언트 UUID가 있는 경우, 서버(300)가 클라이언트(500)로부터 PSK로 수신된 토큰(nonce)을 복호화하며, 릴레이 서버(100)로부터 받은 토큰도 복호화하여 클라이언트(500)의 것과 같은 경우 사용자 인증을 수행하는 제 7 단계; 를 더 포함하는 것을 특징으로 하는 인증된 릴레이 서버를 통한 서버 보호 방법.
  5. 청구항 4에 있어서, 상기 제 7 단계 이후,
    서버(300)가 사용자 인증에 실패하면 에러 전송, 연속 실패면 클라이언트 UUID에 대한 차단(Block) 등록을 수행하는 단계; 를 더 포함하는 것을 특징으로 하는 인증된 릴레이 서버를 통한 서버 보호 방법.
  6. 청구항 4에 있어서, 상기 제 7 단계 이후,
    서버(300)가 사용자 인증에 따라, 사용자 인증에 성공하면 릴레이 서버(100)부터 수신된 클라이언트(500)의 Public IP에 대해서 서버(300)로 들어오는 연결을 허용하는 정책 추가하고, 클라이언트(500)에게 접속할 수 있는 IP와 임의로 개방(open)한 포트(port)를 토큰 Initial vector로 PSK를 이용해 암호화(CBC)하여 전송하는 제 8 단계; 를 더 포함하는 것을 특징으로 하는 인증된 릴레이 서버를 통한 서버 보호 방법.
  7. 청구항 6에 있어서, 상기 제 8 단계 이후,
    클라이언트(500)가 토큰 Initial vector에 대해서 PSK로 복호화하여 서버(300)의 접속할 수 있는 IP와 개방(open)한 포트(port) 정보를 획득한 뒤, 서버(300)의 개방(open)된 포트(port)로 사용자에 의해 요청된 데이터를 전송하는 제 9 단계; 를 더 포함하는 것을 특징으로 하는 인증된 릴레이 서버를 통한 서버 보호 방법.
KR1020160004015A 2016-01-13 2016-01-13 인증된 릴레이 서버를 통한 서버 보호 방법 KR101811121B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160004015A KR101811121B1 (ko) 2016-01-13 2016-01-13 인증된 릴레이 서버를 통한 서버 보호 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160004015A KR101811121B1 (ko) 2016-01-13 2016-01-13 인증된 릴레이 서버를 통한 서버 보호 방법

Publications (2)

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

Family

ID=59462684

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160004015A KR101811121B1 (ko) 2016-01-13 2016-01-13 인증된 릴레이 서버를 통한 서버 보호 방법

Country Status (1)

Country Link
KR (1) KR101811121B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210123811A (ko) * 2020-04-06 2021-10-14 한국전자통신연구원 토큰 기반 계층적 접속 제어 장치 및 방법
KR20220167605A (ko) * 2021-06-14 2022-12-21 주식회사 이지스텍 스마트워크 환경을 위한 보안 장치 및 그를 수행하도록 컴퓨터 판독 가능한 기록 매체에 저장된 프로그램

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2551113C (en) * 2003-12-23 2011-11-01 Wachovia Corporation Authentication system for networked computer applications
JP4748774B2 (ja) * 2004-06-02 2011-08-17 キヤノン株式会社 暗号化通信方式及びシステム
JP2007081971A (ja) * 2005-09-15 2007-03-29 Matsushita Electric Ind Co Ltd Ip通信装置及びip電話装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210123811A (ko) * 2020-04-06 2021-10-14 한국전자통신연구원 토큰 기반 계층적 접속 제어 장치 및 방법
KR20220167605A (ko) * 2021-06-14 2022-12-21 주식회사 이지스텍 스마트워크 환경을 위한 보안 장치 및 그를 수행하도록 컴퓨터 판독 가능한 기록 매체에 저장된 프로그램

Also Published As

Publication number Publication date
KR101811121B1 (ko) 2018-01-25

Similar Documents

Publication Publication Date Title
JP6175520B2 (ja) コンピュータプログラム、処理方法及びネットワークゲートウェイ
CN114553568B (zh) 一种基于零信任单包认证与授权的资源访问控制方法
Aboba et al. RADIUS (remote authentication dial in user service) support for extensible authentication protocol (EAP)
US7069438B2 (en) Establishing authenticated network connections
US20160072787A1 (en) Method for creating secure subnetworks on a general purpose network
EP3100405A2 (en) Systems and methods for protecting communications
US10050938B2 (en) Highly secure firewall system
JP2005503047A (ja) 安全なネットワークを供給するための装置と方法
US20110107410A1 (en) Methods, systems, and computer program products for controlling server access using an authentication server
WO2023174143A1 (zh) 数据传输方法、设备、介质及产品
US20110154469A1 (en) Methods, systems, and computer program products for access control services using source port filtering
CN113645115B (zh) 虚拟专用网络接入方法和系统
Sheffer et al. Internet key exchange protocol version 2 (IKEv2) session resumption
KR101811121B1 (ko) 인증된 릴레이 서버를 통한 서버 보호 방법
US20170295142A1 (en) Three-Tiered Security and Computational Architecture
EP1836559B1 (en) Apparatus and method for traversing gateway device using a plurality of batons
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
Smyslov et al. The NULL authentication Method in the internet key exchange protocol version 2 (IKEv2)
Aboba et al. RFC3579: RADIUS (Remote Authentication Dial In User Service) Support For Extensible Authentication Protocol (EAP)
Schwenk Secure Shell (SSH)
Zúquete et al. A security architecture for protecting LAN interactions
WO2015022701A2 (en) Method and system of routing and handover of secure communication without knowledge of private/secret key
Tian et al. Network Security and Privacy Architecture
CN117319080A (zh) 隔离保密通信的移动终端及通信方法

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