[go: up one dir, main page]

KR100940525B1 - 소켓 레벨 가상 사설망 통신 장치 및 방법 - Google Patents

소켓 레벨 가상 사설망 통신 장치 및 방법 Download PDF

Info

Publication number
KR100940525B1
KR100940525B1 KR1020070118986A KR20070118986A KR100940525B1 KR 100940525 B1 KR100940525 B1 KR 100940525B1 KR 1020070118986 A KR1020070118986 A KR 1020070118986A KR 20070118986 A KR20070118986 A KR 20070118986A KR 100940525 B1 KR100940525 B1 KR 100940525B1
Authority
KR
South Korea
Prior art keywords
vpn
information
socket
packet
internal
Prior art date
Application number
KR1020070118986A
Other languages
English (en)
Other versions
KR20090052471A (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 KR1020070118986A priority Critical patent/KR100940525B1/ko
Priority to US12/106,427 priority patent/US8011004B2/en
Publication of KR20090052471A publication Critical patent/KR20090052471A/ko
Application granted granted Critical
Publication of KR100940525B1 publication Critical patent/KR100940525B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Landscapes

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

Abstract

본 발명은 IPv4/IPv6 혼용망에서 적용 가능하고 웹 응용에서뿐만 아니라 더 많은 응용에서 보다 안전성이 요구되는 곳에서 사용할 수 있도록 소켓 레벨에서 데이터를 처리할 수 있는 소켓 레벨 VPN 통신 장치 및 방법에 관한 것이다. 본 발명의 일 특징에 따른 소켓 레벨 VPN 통신 장치는, 내부 및 외부 장치의 접속 정보 및 이에 연관된 보안 연계 정보를 저장하는 VPN DB와, 내부 또는 외부 장치로부터 수신되는 패킷을 분석하여 상기 장치의 접속 정보를 획득하고 이를 상기 VPN DB에 저장하는 패킷 분석부와, 상기 장치와 키 공유 과정을 수행하여 상기 접속 정보에 연관된 보안 연계 정보를 생성하고 상기 보안 연계 정보를 상기 VPN DB에 저장하는 키 교환 엔진과, 상기 VPN DB에 저장된 정보에 기반하여 내부 또는 외부 장치로 송수신되는 데이터를 소켓 레벨에서 암호화 또는 복호화하는 소켓 데이터 처리 엔진을 포함한다.
가상 사설망(VPN), 소켓 레벨, IPv4, IPv6

Description

소켓 레벨 가상 사설망 통신 장치 및 방법{Apparatus and method for VPN communication in socket-level}
본 발명은 가상 사설망(Virtual Private Network: VPN) 통신 장치 및 방법에 관한 것으로, 구체적으로는 IPv4/IPv6 혼용망에서 적용 가능한 소켓 레벨 가상 사설망 통신 장치 및 방법에 관한 것이다.
VPN 통신 장치에 적용되는 보안 프로토콜인 IPSec(Internet Protocol Security Protocol)은 네트워크 계층의 보안에 대해서 안정적이고 영구적인 기초를 제공하므로, 방화벽이나 가상 사설망 등에 응용되고 있다. IPSec은 표준 암호화 알고리즘을 수용할 수 있을 뿐만 아니라 새로운 알고리즘을 수용할 수 있으며, 차세대 인터넷 프로토콜인 IPv6에서는 IPSec규격을 필수적으로 제공하고 있다. 하지만, IPSec 기술을 이용한 VPN 통신 장치는 데이터 처리가 네트워크 계층에서 이루어지고, IPv4와 IPv6 에서의 IPSec 변환 기술의 부재로 인하여 IPv4/IPv6 혼용망에서는 적용이 불가하다.
한편, 최근 들어 각광을 받고 있는 SSL(Security Sockets Layer) 기술은 웹 보안을 제공하는 보안프로토콜로서, 두 어플리케이션간의 통신 시 보안과 신뢰성을 제공하는 것을 목적으로 개발되었다. 그러나, SSL 기술을 이용한 VPN 통신 장치는 주로 웹 응용을 위한 보안 프로토콜에 사용되며, 고정된 표준 암호 알고리즘을 사용하므로, 많은 응용에서 보다 안전성이 요구되는 곳에서는 사용이 불가능한 단점이 있다. 또한, VPN 통신 장치가 클라이언트에 S/W로 구현되어 각종 애플리케이션과 충돌하는 경우가 종종 발생한다.
따라서, 본 발명에서는 IPv4/IPv6 혼용망에서 적용 가능하고, 웹 응용에서뿐만 아니라 더 많은 응용에서 보다 안전성이 요구되는 곳에서 사용할 수 있도록 소켓 레벨에서 데이터를 처리할 수 있는 소켓 레벨 VPN 통신 장치 및 그 방법을 제공한다.
본 발명의 일 특징에 따른 소켓 레벨 VPN 통신 장치는, 내부 및 외부 장치의 접속 정보 및 이에 연관된 보안 연계 정보를 저장하는 VPN DB와, 내부 또는 외부 장치로부터 수신되는 패킷을 분석하여 상기 장치의 접속 정보를 획득하고 이를 상기 VPN DB에 저장하는 패킷 분석부와, 상기 장치와 키 공유 과정을 수행하여 상기 접속 정보에 연관된 보안 연계 정보를 생성하고 상기 보안 연계 정보를 상기 VPN DB에 저장하는 키 교환 엔진과, 상기 VPN DB에 저장된 정보에 기반하여 내부 또는 외부 장치로 송수신되는 데이터를 소켓 레벨에서 암호화 또는 복호화하는 소켓 데이터 처리 엔진을 포함한다.
일실시예에서, 상기 소켓 레벨 VPN 통신 장치는 사용자 인증 처리 방식을 포함하는 정책 정보를 저장하는 정책 정보 DB를 더 포함하고, 상기 키 교환 엔진은 상기 정책 정보에 기반하여 상기 보안 연계 정보를 생성한다.
일실시예에서, 상기 키 교환 엔진은 미리 정해진 키 교환 포트를 통해 키 교환 패킷이 수신되면 키 공유 과정을 수행한다.
일실시예에서, 상기 소켓 데이터 처리 엔진은, 상기 외부 네트워크 인터페이스를 통해 수신된 데이터에 대해 상기 VPN DB에 저장된 상기 보안 연계 정보에 기반하여 복호화 처리를 수행하기 위한 복호화부와, 상기 내부 네트워크 인터페이스를 통해 수신된 데이터에 대해 상기 VPN DB에 저장된 상기 보안 연계 정보에 기반하여 암호화 처리를 수행하기 위한 암호화부와, 상기 내부 네트워크 인터페이스를 상기 복호화된 데이터를 전송하고, 상기 외부 네트워크 인터페이스를 통해 상기 암호화된 데이터를 전송하는 전송부를 포함한다.
본 발명의 다른 특징에 따른 소켓 레벨 VPN 통신 방법은, 내부 또는 외부 장치로부터 수신되는 패킷을 분석하여 상기 장치의 접속 정보를 획득하고 상기 접속 정보를 VPN DB에 저장하는 단계와, 상기 장치와 키 공유 과정을 수행하여 상기 클라이언트에 연관된 보안 연계 정보를 생성하고 상기 보안 연계 정보를 상기 VPN DB에 저장하는 단계와, 상기 VPN DB에 저장된 상기 보안 연계 정보에 기반하여 내부 및 외부 장치로 송수신되는 데이터를 소켓 레벨에서 암호화 및 복호화하는 단계와, 상기 VPN DB에 저장된 상기 접속 정보를 이용하여 상기 암호화된 데이터를 외부 장치에 전송하거나 상기 복호화된 데이터를 내부 장치에 전송하는 단계를 포함한다.
일실시예에서, 상기 보안 연계 정보를 생성 및 저장하는 상기 단계는, 상기 VPN DB에 저장된 키교환 포트를 통해 패킷을 수신하는 단계와, 상기 수신된 패킷이 키교환 패킷인지 판단하는 단계와, 상기 수신된 패킷이 키 교환 패킷인 경우에는 키 공유 루틴을 수행하여 보안 연계 정보를 생성하고 이를 VPN DB에 저장하는 단계를 포함한다.
일실시예에서, 상기 VPN DB에 저장된 상기 보안 연계 정보에 기반하여 내부 및 외부 장치로 송수신되는 데이터를 소켓 레벨에서 암호화 및 복호화하는 단계는, 1개 이상의 소켓에서 입출력 변화를 감지하는 단계와, 상기 변화가 감지된 소켓의 소켓 파일 디스크립터 정보를 상기 VPN DB에 저장된 접속 정보에 근거하여 분석하여 접속하고자 하는 장치가 초기 접속하는 것인지를 판단하는 단계와, 초기 접속인 경우에는 상기 VPN DB의 접속 정보에 근거하여 접속 요청을 허용하는 단계와, 상기 장치로부터 패킷을 수신하는 단계와, 상기 수신된 패킷이 외부 네트워크 인터페이스로부터 수신된 것인지 내부 네트워크 인터페이스로부터 수신된 것인지 판단하는 단계와, 외부 네트워크 인터페이스를 통해 수신된 패킷인 경우에는 상기 VPN DB에 저장된 상기 보안 연계 정보를 이용하여 복호화를 수행하는 단계와,내부 네트워크 인터페이스를 통해 수신된 패킷인 경우에는 상기 보안 연계 정보를 이용해 암호화를 수행하는 단계를 포함한다.
본 발명에 따른 VPN 통신 장치는 하나의 외장형 장치로 클라이언트 및 서버용으로 동작할 수 있고, 소켓 레벨에서 송수신 데이터를 처리하므로 IPv4망, IPv6망 및 혼용망 등 망구성에 관계없이 적용 가능하며, 웹 응용 및 표준 암호알고리즘을 사용하는 SSL 가상 사설망과 달리 여러 종류의 응용 및 새로운 암호알고리즘을 적용할 수 있는 구조를 갖는다.
이하에서는 본 발명을 첨부된 도면에 도시된 실시예들과 관련하여 예시적으 로 상세히 설명하겠다. 그러나, 이하의 상세한 설명은 단지 예시적인 목적으로 제공되는 것이며 본 발명의 개념을 임의의 특정된 물리적 구성에 한정하는 것으로 해석되어서는 안 될 것이다.
도 1은 본 발명에 따른 VPN 통신 장치가 적용되는 가상 사설망 구성도를 도시한다. 도시된 바와 같이, IPv4/IPv6 혼용망(140)을 통해 컨텐츠 서버(130)와 클라이언트(120) 또는 클라이언트들 간에 통신이 수행된다고 할 때, 점선으로 표시된 구간(150)은 가상 사설망 내의 보안 통신 구간에 해당하고, 실선으로 표시된 구간(160)은 평문 통신 구간에 해당한다. 이러한 망 구조에서, 본 발명에 따른 VPN 통신 장치(110a, 110b, 110c, 110d)는 클라이언트(120) 및 서버(130) 앞단에 위치하여 클라이언트와 서버간에 송수신되는 통신 데이터를 보호하는 기능을 수행한다. 또한, 상기 도면에 도시되어 있지는 않지만, VPN 통신 장치와 클라이언트 간의 접속 프로토콜을 구현한 접속 모듈이 클라이언트(120)에 설치되어, VPN 통신 장치(110a, 110b, 110c, 110d)에 클라이언트가 접속하고자 하는 서버의 IP 정보를 전달할 것이다.
도 2는 본 발명의 일 실시예에 따른 VPN 통신 장치(200)의 구성을 도시한 블록도이다. 도시된 바와 같이, VPN 통신 장치(200)는, 정책 DB(210), VPN DB(220), 패킷 분석 모듈(230), 키 교환 엔진(240), 소켓 데이터 처리 엔진(250), 외부 네트워크 인터페이스(260) 및 내부 네트워크 인터페이스(270)를 포함한다.
정책 DB(210)는 사용자 인증 처리 방식에 관해 설정된 정책 정보를 저장하는 데이터베이스로서, 키 교환 엔진(240)에 의한 사용자 인증 과정에서 참조된다. 일 실시예에서, 정책 DB(210)에는 키 교환 실패에 따른 재시도 회수 설정, 키 교환 시도 및 실패 빈도에 따른 악의적인 공격으로 판단 여부에 대한 설정 그리고 설정된 IP에 대한 패킷 폐기, 우회(bypass), 암호화 적용 등에 대한 설정 등이 포함될 수 있다.
VPN DB(220)는 패킷 분석 모듈(230), 키 교환 엔진(240) 및 소켓 데이터 처리 엔진(250)에 의해 생성된 접속 정보 및 보안 연계 정보를 저장하는 데이터베이스이다. 접속 정보 및 보안 연계 정보는 모두 연관되어 있어서 이들 정보에 대한 검색은 접속 세션에 할당된 인덱스(index) 항목을 이용하여 수행된다. 또한, 내부 네트워크 인터페이스에 연결되어 있는 클라이언트 및 서버의 IP 주소를 저장하여 소켓 데이터 처리 엔진(250)에서 내부 네트워크 접속시 IP 정보를 제공한다.
도 3은 본 발명의 일 실시예에 따른 VPN DB(220)의 세부 항목들을 도시한 도면이다. 도시된 바와 같이, VPN DB(220)는, 접속 정보 및 보안 연계 정보를 구분하기 위한 인덱스(310), 클라이언트/서버용 동작 구분 정보(320), 외부 클라이언트 접속 IP 정보 및 포트 정보(330, 340), 외부 및 내부 클라이언트(서버) 접속 소켓 파일 디스크립터(350, 360), 사용자 인증 여부 구분 플래그(370), 공유 키 생존 시간(380), 키 교환 과정을 통해 공유된 보안 연계 정보(390), 내부 네트워크 인터페이스를 통해 연결되는 내부 클라이언트/서버 IP 주소(391), 키 교환 포트(392) 등의 항목을 저장한다. 이러한 항목들은 예시적인 것에 불과하며, 이에 국한되는 것은 아니다.
다시, 도 2를 참조하면, 패킷 분석 모듈(230)은 수신된 패킷을 분석하여 외부 또는 내부 네트워크 인터페이스(270, 260)를 통해 접속되는 장치에 대한 IP 및 포트 정보를 포함하는 접속 정보를 획득하고 획득된 접속 정보를 VPN DB(220)에 저장한다. 한편, 기접속된 장치 대한 접속 정보는 중복 저장되지 않는다. 일 실시예에서, 패킷 분석 모듈(230)은 넷필터(netfilter) 프레임워크를 이용하여 구현한다. 넷필터 프레임워크는 커널 하부 시스템을 통해 패킷 필터링 기능을 수행하며, 외/내부 네트워크 인터페이스(260, 270)를 통해 접속된 클라이언트에 대한 IP 및 포트 정보 등을 분석할 수 있다.
키 교환 엔진(240)은 미리 정의해 놓은 키 교환 포트를 통해 접속 장치로부터 수신된 키 교환 패킷을 분석하고 정책 DB(210)에 저장된 정책 정보에 따라 보안 연계 정보를 생성하여 VPN DB(220)에 저장한다. 키 교환 엔진(240)의 구체적인 동작은 도 4에 도시된 흐름도를 참조하여 후술한다.
소켓 데이터 처리 엔진(250)은 다중 입출력을 수행하고 송/수신되는 패킷을 VPN DB(220)에 기반하여 소켓 레벨에서 암호화/복호화하는 역할을 수행한다. 일실시예에서, 소켓 데이터 처리 엔진(250)은, 외부 네트워크 인터페이스(260)를 통해 수신된 패킷에 대하여 VPN DB(220)의 보안 연계 정보를 이용하여 복호화 처리를 수행하는 복호화부, 내부 네트워크 인터페이스(270)를 통해 수신된 패킷에 대하여 보안 연계 정보를 이용하여 암호화 처리를 수행하는 암호화부, 상기 복호화된 데이터 또는 암호화된 데이터를 외부 또는 내부 네트워크 인터페이스(270, 260)를 통해 전송하는 정송부를 포함한다.
소켓 데이터 처리 엔진(250)의 구체적인 동작은 도 5에 도시된 흐름도를 참조 하여 후술한다.
외부 네트워크 인터페이스(260)는 VPN 통신 장치(200)와 가상 사설망(140)을 통해 접속되는 외부 장치(클라이언트 또는 서버)와의 데이터 송수신을 수행하고, 내부 네크워크 인터페이스(270)는 VPN 통신 장치(200)와 상기 VPN 통신 장치(200)이 보호하고자 하는 내부 장치(클라이언트 또는 서버(와의 데이터 송수신을 수행하는 역할을 한다.
도 4는 본 발명의 일 실시예에 따라 키 교환 엔진(240)에 의해 수행되는 동작을 도시한 흐름도이다.
키 교환 엔진(240)은 VPN DB(220)에 저장된 키교환 포트 정보를 참조하여 정해진 키 교환 포트를 통해 패킷을 수신한다(410). 일실시예에서, 패킷의 수신은 listen() 함수를 이용하여 이루어진다.
다음, 수신된 패킷을 분석하여(420) 패킷의 이상 유무를 검사한다(430).
패킷에 이상이 있는 것으로 판단되면 키 교환 엔진(240)은 실패값을 리턴한다. 반면에, 패킷에 이상이 없는 경우에는 해당 패킷이 프레임 키교환 패킷인지 클라이언트 접속 패킷인지 판단한다(440).
클라이언트 접속 패킷인 경우에는 클라이언트 접속 정보 처리 과정을 수행한다(450). 클라이언트 접속 정보 처리 과정에서는 클라이언트가 접속하고자 하는 서버의 IP 정보를 구하여 VPN DB(220)에 저장한다.
한편, 키 교환 패킷인 경우에는 키 공유 루틴을 수행한다(470). 키 공유 루틴에서는 정책 DB(210)에 저장된 정책 정보에 따라 키 공유 과정을 통해 사용자 인 증 및 암/복호키, 무결성 검증 키 등을 포함하는 보안 연계 정보를 생성한다. 생성된 보안 연계 정보는 VPN DB(220)에 저장된다.
또한, 키 공유 과정을 통해 생성된 사용자 인증키를 이용하여 사용자 인증을 수행하며(470), 수행 결과에 따라 실패 또는 성공 결과값을 리턴한다.
도 5는 본 발명의 일 실시예에 따라 소켓 데이터 처리 엔진(250)에 의해 수행되는 동작을 도시한 흐름도이다. 전술한 바와 같이, 소켓 데이터 처리 엔진(250)에서는 비동기 모드를 지원하는 select( ) 함수를 이용하여 다중 입출력을 수행한다. 단계(510)에서, select( ) 함수를 이용하여 1개 이상의 어느 소켓에서 입출력 변화를 감지한다. 단계(520)에서 변화가 감지된 소켓의 소켓 파일 디스크립터 정보를 VPN DB(220)에 저장된 접속 정보에 근거하여 분석하여 초기 접속인지 판단한다.
초기 접속인 경우에는, 단계(530)에서 VPN DB(220)의 접속 정보에 근거하여 포트 정보를 획득하여 접속 요청을 허용한다. 일실시예에서, 상기 단계(530)는 accept() 함수를 이용하여 수행된다, accept() 함수는 해당 소켓으로 들어오는 접속 요청을 허용하는 함수이다.
단계(540)에서, VPN DB(220)로부터 내부(외부)장치의 접속 정보를 획득하여, 내부(외부) 네트워크 인터페이스를 통해 상기 장치에 접속하고 접속 소켓 파일 디스크립터를 이용하여 VPN DB(220)의 접속 정보를 갱신한다.
단계(550)에서, select( ) 함수로부터 넘겨 받은 소켓 파일 디스크립터를 이용하여 receive( ) 함수를 이용하여 패킷(데이터)를 수신한다.
단계(560)에서는 receive() 함수를 통해 수신된 패킷이 외부 네트워크 인터페이스로부터 수신된 것인지 내부 네트워크 인터페이스로부터 수신된 것인지 판단한다. 외부 네트워크 인터페이스를 통해 수신된 패킷인 경우에는 VPN DB(220)의 보안 연계 정보를 이용하여 복호화 처리를 수행하고(580), 내부 네트워크 인터페이스를 통해 복호화된 패킷을 전송한다(590). 일실시예에서, 데이터의 전송은 send()함수를 이용한다.
반면에, 내부 네트워크 인터페이스를 통해 수신된 패킷인 경우에는, 보안 연계 정보를 이용해 암호화 처리를 수행하고(570), VPN DB(220)의 접속 정보를 이용해 외부 네트워크 인터페이스를 통해 데이터를 전송한다(590).
이상에서, 특정 실시예와 관련하여 본 발명을 설명하였으나, 본 발명은 전술한 실시예 및 첨부된 도면에 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서, 여러 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
도 1은 본 발명에 따른 VPN 통신 장치가 적용되는 가상 사설망 구성도를 도시한다.
도 2는 본 발명의 일실시예에 따른 VPN 통신 장치(200)의 구성을 도시한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 VPN DB(220)의 세부 항목들을 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따라 키 교환 엔진(240)에 의해 수행되는 동작을 도시한 흐름도이다.도 5는 본 발명의 일 실시예에 따라 소켓 데이터 처리 엔진(250)에 의해 수행되는 동작을 도시한 흐름도이다.

Claims (15)

  1. 내부 및 외부 장치의 접속 정보 및 이에 연관된 보안 연계 정보를 저장하는 VPN DB와,
    내부 또는 외부 장치로부터 수신되는 패킷을 분석하여 상기 장치의 접속 정보를 획득하고 이를 상기 VPN DB에 저장하는 패킷 분석부와,
    상기 장치와 키 공유 과정을 수행하여 상기 접속 정보에 연관된 보안 연계 정보를 생성하고 상기 보안 연계 정보를 상기 VPN DB에 저장하는 키 교환 엔진 - 상기 키 교환 엔진은 미리 정해진 키 교환 포트를 통해 키 교환 패킷이 수신되면 키 공유 과정을 수행함-과,
    상기 VPN DB에 저장된 정보에 기반하여 내부 또는 외부 장치로 송수신되는 데이터를 소켓 레벨에서 암호화 또는 복호화하는 소켓 데이터 처리 엔진
    을 포함하는 소켓 레벨 VPN 통신 장치.
  2. 제1항에 있어서, 사용자 인증 처리 방식을 포함하는 정책 정보를 저장하는 정책 정보 DB를 더 포함하고, 상기 키 교환 엔진은 상기 정책 정보에 기반하여 상기 보안 연계 정보를 생성하는 소켓 레벨 VPN 통신 장치.
  3. 삭제
  4. 제1항에 있어서, VPN을 통해 접속되는 외부 장치와 데이터 송수신을 수행하 는 외부 네트워크 인터페이스와, 상기 소켓 레벨 VPN 통신 장치가 보호하고자 하는 내부 장치와 데이터 송수신을 수행하는 내부 네트워크 인터페이스를 더 포함하는 소켓 레벨 VPN 통신 장치.
  5. 제4항에 있어서, 상기 접속 정보는 상기 외부 네트워크 인터페이스 및 상기 내부 네트워크 인터페이스를 통해 접속되는 외부 및 내부 장치의 IP 및 포트 정보 및 소켓 파일 디스크립터 정보를 포함하는 소켓 레벨 VPN 통신 장치.
  6. 제1항에 있어서, 상기 보안 연계 정보는, 사용자 인증키, 암호화기, 복호화키, 무결성 검증 키 정보를 포함하는 소켓 레벨 VPN 통신 장치.
  7. 제1항에 있어서, 상기 키 교환 엔진은 내부 장치로부터 클라이언트 접속 패킷을 수신하고 상기 클라이언트 접속 패킷으로부터 상기 내부 장치가 접속하고자 하는 서버의 IP 정보를 구하여 상기 VPN DB에 저장하는 수단을 더 포함하는 소켓 레벨 VPN 통신 장치.
  8. 제4항에 있어서, 상기 소켓 데이터 처리 엔진은,
    상기 외부 네트워크 인터페이스를 통해 수신된 데이터에 대해 상기 VPN DB에 저장된 상기 보안 연계 정보에 기반하여 복호화 처리를 수행하기 위한 복호화부와,
    상기 내부 네트워크 인터페이스를 통해 수신된 데이터에 대해 상기 VPN DB에 저장된 상기 보안 연계 정보에 기반하여 암호화 처리를 수행하기 위한 암호화부와,
    상기 내부 네트워크 인터페이스를 상기 복호화된 데이터를 전송하고, 상기 외부 네트워크 인터페이스를 통해 상기 암호화된 데이터를 전송하는 전송부
    를 포함하는 소켓 레벨 VPN 통신 장치.
  9. 제1항에 있어서, 상기 소켓 데이터 처리 엔진은 select( ) 함수를 이용하여 다중 입출력을 수행하는 소켓 레벨 VPN 통신 장치.
  10. 제1항에 있어서, 상기 소켓 레벨 VPN 통신 장치는 보호하고자 하는 클라이언트 또는 서버의 앞단에 설치되는 외장형 장치인 소켓 레벨 VPN 통신 장치.
  11. 내부 또는 외부 장치로부터 수신되는 패킷을 분석하여 장치의 접속 정보를 획득하고 상기 접속 정보를 VPN DB에 저장하는 단계와,
    상기 VPN DB에 저장된 키교환 포트를 통해 패킷을 수신하는 단계와,
    상기 수신된 패킷이 키교환 패킷인지 판단하는 단계와,
    상기 수신된 패킷이 키 교환 패킷인 경우에는 키 공유 루틴을 수행하여 보안 연계 정보를 생성하고 이를 VPN DB에 저장하는 단계와,
    상기 VPN DB에 저장된 상기 보안 연계 정보에 기반하여 내부 및 외부 장치로 송수신되는 데이터를 소켓 레벨에서 암호화 및 복호화하는 단계와,
    상기 VPN DB에 저장된 상기 접속 정보를 이용하여 상기 암호화된 데이터를 외부 장치에 전송하거나 상기 복호화된 데이터를 내부 장치에 전송하는 단계
    를 포함하는 소켓 레벨 VPN 통신 방법.
  12. 삭제
  13. 제11항에 있어서, 상기 키 공유 루틴은 정책 DB에 저장된 정책 정보에 따라 사용자 인증 및 암/복호키, 무결성 검증 키 등을 포함하는 보안 연계 정보를 생성하는 소켓 레벨 VPN 통신 방법.
  14. 제11항에 있어서, 상기 수신된 패킷인 내부 장치로부터 수신된 클라이언트 접속 패킷인 경우에는 상기 클라이언트가 접속하고자 하는 서버의 IP 정보를 구하여 VPN DB에 저장하는 단계를 더 포함하는 소켓 레벨 VPN 통신 방법.
  15. 제11항에 있어서, 상기 VPN DB에 저장된 상기 보안 연계 정보에 기반하여 내부 및 외부 장치로 송수신되는 데이터를 소켓 레벨에서 암호화 및 복호화하는 단계는,
    1개 이상의 소켓에서 입출력 변화를 감지하는 단계와,
    상기 변화가 감지된 소켓의 소켓 파일 디스크립터 정보를 상기 VPN DB에 저장된 접속 정보에 근거하여 분석하여 접속하고자 하는 장치가 초기 접속하는 것인지를 판단하는 단계와,
    초기 접속인 경우에는 상기 VPN DB의 접속 정보에 근거하여 접속 요청을 허용하는 단계와,
    상기 장치로부터 패킷을 수신하는 단계와,
    상기 수신된 패킷이 외부 네트워크 인터페이스로부터 수신된 것인지 내부 네트워크 인터페이스로부터 수신된 것인지 판단하는 단계와,
    외부 네트워크 인터페이스를 통해 수신된 패킷인 경우에는 상기 VPN DB에 저장된 상기 보안 연계 정보를 이용하여 복호화를 수행하는 단계와,
    내부 네트워크 인터페이스를 통해 수신된 패킷인 경우에는 상기 보안 연계 정보를 이용해 암호화를 수행하는 단계
    를 포함하는 소켓 레벨 VPN 통신 방법.
KR1020070118986A 2007-11-21 2007-11-21 소켓 레벨 가상 사설망 통신 장치 및 방법 KR100940525B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070118986A KR100940525B1 (ko) 2007-11-21 2007-11-21 소켓 레벨 가상 사설망 통신 장치 및 방법
US12/106,427 US8011004B2 (en) 2007-11-21 2008-04-21 Apparatus and method for VPN communication in socket-level

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070118986A KR100940525B1 (ko) 2007-11-21 2007-11-21 소켓 레벨 가상 사설망 통신 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20090052471A KR20090052471A (ko) 2009-05-26
KR100940525B1 true KR100940525B1 (ko) 2010-02-10

Family

ID=40860196

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070118986A KR100940525B1 (ko) 2007-11-21 2007-11-21 소켓 레벨 가상 사설망 통신 장치 및 방법

Country Status (2)

Country Link
US (1) US8011004B2 (ko)
KR (1) KR100940525B1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8597360B2 (en) 2004-11-03 2013-12-03 Neuropro Technologies, Inc. Bone fusion device
US8646067B2 (en) 2008-01-26 2014-02-04 Citrix Systems, Inc. Policy driven fine grain URL encoding mechanism for SSL VPN clientless access
CN103096288B (zh) * 2011-11-02 2016-03-02 中磊电子(苏州)有限公司 使用微型基站作为总机的方法
US10159583B2 (en) 2012-04-13 2018-12-25 Neuropro Technologies, Inc. Bone fusion device
WO2013166696A1 (zh) * 2012-05-11 2013-11-14 华为技术有限公司 数据传输方法、系统及装置
US20140150083A1 (en) * 2012-11-27 2014-05-29 Francis Dinha Virtual private network socket
US10277717B2 (en) * 2013-12-15 2019-04-30 Nicira, Inc. Network introspection in an operating system
US10129220B2 (en) 2015-06-13 2018-11-13 Avocado Systems Inc. Application and data protection tag
US10270810B2 (en) 2015-06-14 2019-04-23 Avocado Systems Inc. Data socket descriptor based policies for application and data behavior and security
US10397277B2 (en) 2015-06-14 2019-08-27 Avocado Systems Inc. Dynamic data socket descriptor mirroring mechanism and use for security analytics
US10193889B2 (en) * 2015-06-14 2019-01-29 Avocado Systems Inc. Data socket descriptor attributes for application discovery in data centers
US10148697B2 (en) 2015-06-16 2018-12-04 Avocado Systems Inc. Unified host based security exchange between heterogeneous end point security agents
US10193930B2 (en) 2015-06-29 2019-01-29 Avocado Systems Inc. Application security capability exchange via the application and data protection layer
US10356068B2 (en) 2015-07-14 2019-07-16 Avocado Systems Inc. Security key generator module for security sensitive applications
US10284542B2 (en) * 2015-08-21 2019-05-07 International Business Machines Corporation Intelligent certificate discovery in physical and virtualized networks
US10354070B2 (en) 2015-08-22 2019-07-16 Avocado Systems Inc. Thread level access control to socket descriptors and end-to-end thread level policies for thread protection
CN110505443A (zh) * 2019-06-12 2019-11-26 杭州海康威视数字技术股份有限公司 一种视频监控设备替换自动检测方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000059445A (ko) * 1999-03-04 2000-10-05 정선종 웹서버와 클라이언트간 전송 데이터 보호 방법
KR20050050257A (ko) * 2003-11-25 2005-05-31 엘지엔시스(주) 데이터 통신 암호화 방법
KR20050058625A (ko) * 2003-12-12 2005-06-17 한국전자통신연구원 아이피 버전 식스 인터넷에서 인터넷 프로토콜 보안을이용한 가상사설망 서비스 장치 및 방법
KR20060040001A (ko) * 2004-11-04 2006-05-10 한국전자통신연구원 투명성을 보장하는 전송 계층에서의 보안 제공 방법 및 그장치

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100412237B1 (ko) 2001-12-24 2003-12-24 한국전자통신연구원 사용자 수준의 소켓 계층과 그를 이용한 통신 인터페이스방법
AU2003268533A1 (en) * 2002-09-06 2004-03-29 O2Micro, Inc. Vpn and firewall integrated system
KR101022157B1 (ko) 2003-12-16 2011-03-17 주식회사 케이티 Ssl 가상 사설망 서비스 처리 방법
KR100597405B1 (ko) 2004-05-28 2006-07-06 삼성전자주식회사 소켓 어플리케이션 프로그램을 이용한 데이터 중계 시스템및 데이터 중계 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000059445A (ko) * 1999-03-04 2000-10-05 정선종 웹서버와 클라이언트간 전송 데이터 보호 방법
KR20050050257A (ko) * 2003-11-25 2005-05-31 엘지엔시스(주) 데이터 통신 암호화 방법
KR20050058625A (ko) * 2003-12-12 2005-06-17 한국전자통신연구원 아이피 버전 식스 인터넷에서 인터넷 프로토콜 보안을이용한 가상사설망 서비스 장치 및 방법
KR20060040001A (ko) * 2004-11-04 2006-05-10 한국전자통신연구원 투명성을 보장하는 전송 계층에서의 보안 제공 방법 및 그장치

Also Published As

Publication number Publication date
US20090328194A1 (en) 2009-12-31
KR20090052471A (ko) 2009-05-26
US8011004B2 (en) 2011-08-30

Similar Documents

Publication Publication Date Title
KR100940525B1 (ko) 소켓 레벨 가상 사설망 통신 장치 및 방법
US7127740B2 (en) Monitoring system for a corporate network
Radivilova et al. Decrypting SSL/TLS traffic for hidden threats detection
US9219709B2 (en) Multi-wrapped virtual private network
EP1917780B8 (en) System and method for processing secure transmissions
US7039713B1 (en) System and method of user authentication for network communication through a policy agent
US6804777B2 (en) System and method for application-level virtual private network
US7660980B2 (en) Establishing secure TCP/IP communications using embedded IDs
US20130332724A1 (en) User-Space Enabled Virtual Private Network
US20040210754A1 (en) Shared security transform device, system and methods
US20040260921A1 (en) Cryptographic method, system and engine for enciphered message transmission
US9444807B2 (en) Secure non-geospatially derived device presence information
KR20010004791A (ko) 인터넷 환경의 이동통신시스템에서 사용자 정보 보안 장치 및그 방법
JP2003526836A (ja) 通信ネットワークを安全化するための方法、システム、サーバ、および装置
CN114172645A (zh) 通信旁路审计方法、装置、电子设备及存储介质
KR20210101304A (ko) 통신 모듈
US8670565B2 (en) Encrypted packet communication system
US20140052980A1 (en) Secure network systems and methods
CN113992734B (zh) 会话连接方法及装置、设备
CN106972928B (zh) 一种堡垒机私钥管理方法、装置及系统
CN116405264A (zh) 一种单包授权的方法及系统
CN115102754A (zh) 一种数据传输方法及系统、存储介质及电子设备
JP2007129534A (ja) データ通信方法
US20040091113A1 (en) Interface apparatus for monitoring encrypted network
US11539755B1 (en) Decryption of encrypted network traffic using an inline network traffic monitor

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20071121

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20090930

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20100125

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20100128

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20100129

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20121130

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20121130

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20140103

Year of fee payment: 5

PR1001 Payment of annual fee

Payment date: 20140103

Start annual number: 5

End annual number: 5

FPAY Annual fee payment

Payment date: 20141224

Year of fee payment: 6

PR1001 Payment of annual fee

Payment date: 20141224

Start annual number: 6

End annual number: 6

FPAY Annual fee payment

Payment date: 20151224

Year of fee payment: 7

PR1001 Payment of annual fee

Payment date: 20151224

Start annual number: 7

End annual number: 7

FPAY Annual fee payment

Payment date: 20161227

Year of fee payment: 8

PR1001 Payment of annual fee

Payment date: 20161227

Start annual number: 8

End annual number: 8

FPAY Annual fee payment

Payment date: 20180102

Year of fee payment: 9

PR1001 Payment of annual fee

Payment date: 20180102

Start annual number: 9

End annual number: 9

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 10

PR1001 Payment of annual fee

Payment date: 20181226

Start annual number: 10

End annual number: 10

FPAY Annual fee payment

Payment date: 20200106

Year of fee payment: 11

PR1001 Payment of annual fee

Payment date: 20200106

Start annual number: 11

End annual number: 11

PR1001 Payment of annual fee

Payment date: 20201228

Start annual number: 12

End annual number: 12

PR1001 Payment of annual fee

Payment date: 20211227

Start annual number: 13

End annual number: 13

PR1001 Payment of annual fee

Payment date: 20221219

Start annual number: 14

End annual number: 14

PR1001 Payment of annual fee

Payment date: 20241224

Start annual number: 16

End annual number: 16