KR101692672B1 - 전송장치 이원화에 의한 tcp/ip 망단절형 단방향 접속 시스템 및 그 방법 - Google Patents

전송장치 이원화에 의한 tcp/ip 망단절형 단방향 접속 시스템 및 그 방법 Download PDF

Info

Publication number
KR101692672B1
KR101692672B1 KR1020160054287A KR20160054287A KR101692672B1 KR 101692672 B1 KR101692672 B1 KR 101692672B1 KR 1020160054287 A KR1020160054287 A KR 1020160054287A KR 20160054287 A KR20160054287 A KR 20160054287A KR 101692672 B1 KR101692672 B1 KR 101692672B1
Authority
KR
South Korea
Prior art keywords
block
data packet
code
circular queue
stored
Prior art date
Application number
KR1020160054287A
Other languages
English (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 KR1020160054287A priority Critical patent/KR101692672B1/ko
Application granted granted Critical
Publication of KR101692672B1 publication Critical patent/KR101692672B1/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/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/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/127Trusted platform modules [TPM]

Landscapes

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

Abstract

전송장치 이원화에 의한 TCP/IP 망단절형 단방향 접속 시스템 및 그 방법이 개시된다.
주장치와 부장치를 포함하는 단방향 접속 시스템에서 내부망과 연결되는 주장치의 단방향 접속 방법은 프로토콜, 또는 어플리케이션을 이용하여 상기 내부망의 IP 노드로부터 데이터 패킷을 수신하는 단계; 상기 내부망의 IP 노드로부터 수신한 데이터 패킷이 허가된 데이터 패킷인지 여부를 검사하는 단계; 검사 결과에 따라 상기 내부망의 IP 노드로부터 수신한 데이터 패킷을 상기 주장치와 유선으로 연결된 부장치의 제1 원형 대기열 블럭에 저장하는 단계; 및 상기 부장치의 커맨드 블럭에 데이터 패킷의 전송을 지시하는 전송 코드를 저장하는 단계를 포함할 수 있다.

Description

전송장치 이원화에 의한 TCP/IP 망단절형 단방향 접속 시스템 및 그 방법{TCP / IP NETWORK DISCONNECTION TYPE ONE-WAY ACCESS SYSTEM AND METHOD CORRESPONDING TO THE DUAL TRANSMISSION DEVICE}
본 발명은 이더넷 어댑터 가상화에 의한 전송장치 이원화를 통한 TCP/IP 망단절형 단방향 접속 시스템 및 방법에 관한 것이다.
ICT분야에서 이용되던 TCP/IP 통신 프로토콜은 공장자동화를 위한 산업용 프로토콜과 더불어 생산설비 데이터를 서버로 전송 취합하는 등으로 그 이용범위가 더욱 확대되고 있다.
그러나, TCP/IP와 같이 일반적으로 널리 알려진 통신 프로토콜은 그 표준화와 개방성에 의해 다양한 해킹 기법이 등장하여 방화벽을 사용하더라도 그 위험성이 항상 잔존하고 있다. 특히 최근 스마트팩토리 및 Industry 4.0등에 의해 인터넷에 접속해야 하는 산업 설비는 증가하고 있으며, 산업 설비의 침해, 또는 해킹 시 산업 재해와 인명손실과 직결되는 등 그 보호가 절실히 요구되고 있는 상황이다.
따라서, 물리적 또는 논리적으로 외부망에서 내부망으로 침투할 수 있는 경로를 원천적으로 차단하는 외부망과 내부망 간의 보안을 강화하는 방법이 요청되고 있다.
본 발명은 외부망의 IP 노드와 내부망의 IP 노드 사이를 주장치와 부장치로 구성된 비IP영역으로 분리 단절함과 동시에 외부망 장치를 IP외 모든 프로토콜 및 데몬 등의 유틸리티를 제거한 가상 이더넷 어댑터로 단순화시키고, 내부망 장치 주도하에 모든 데이터 통신을 개시(세션수립)할 수 있도록 하며, 동시에 내부망의 IP 노드가 외부망의 IP 노드로 접속(Outgoing)하는 것만을 허용하는 장치 및 방법을 제공할 수 있다.
또한, 본 발명은 내부망에서 외부망으로 데이터를 전송하는 장치와 외부망에서 내부망으로 데이터를 전송하는 장치를 이원화하고, 내부망 장치 주도하에 내부 IP노드에서 발신한 패킷을 외부망 장치에 형성된 원형대기열 메모리에 쓰거나(Write) 외부 IP노드에서 수신한 패킷을 외부망 장치의 원형대기열 메모리에서 읽어(Read)오는 방식으로 망을 분리함과 동시에 통신세션을 안전하게 연계시키는 장치 및 방법을 제공할 수 있다.
그리고, 본 발명은 외부 화이트 리스트를 이용하여 내부망에서 외부망으로 전송하는 데이터 패킷과 외부망에서 내부망으로 전송하는 데이터 패킷을 각각 필터링함으로써, 내부망에서 외부망으로 전송하는 데이터 및 외부망에서 내부망으로 전송하는 통신 채널을 관리통제하는 장치 및 방법을 제공할 수 있다.
본 발명의 일실시예에 따른 주장치의 단방향 접속 방법은 프로토콜, 또는 어플리케이션을 이용하여 상기 내부망의 IP 노드로부터 데이터 패킷을 수신하는 단계; 상기 내부망의 IP 노드로부터 수신한 데이터 패킷이 허가된 데이터 패킷인지 여부를 검사하는 단계; 검사 결과에 따라 상기 내부망의 IP 노드로부터 수신한 데이터 패킷을 상기 주장치와 유선으로 연결된 부장치의 제1 원형 대기열 블럭에 저장하는 단계; 및 상기 부장치의 커맨드 블럭에 데이터 패킷의 전송을 지시하는 전송 코드를 저장하는 단계를 포함할 수 있다.
본 발명의 일실시예에 따른 주장치의 단방향 접속 방법에서 부장치는, 커맨드 블럭을 폴링하여 상기 커맨드 블럭에 전송 코드가 저장되었는지 여부를 판단하고, 상기 커맨드 블럭에 전송 코드가 저장된 경우, 주장치의 프로토콜, 또는 어플리케이션으로 상기 제1 원형 대기열 블럭에서 상기 데이터 패킷을 로드하여 외부망의 IP 노드로 전송할 수 있다.
본 발명의 일실시예에 따른 주장치의 단방향 접속 방법은 상기 부장치의 커맨드 블럭에 부장치와 관련된 정보를 요청하는 정보 요청 코드, 또는 부장치의 동작을 요청하는 제어 코드를 저장하는 단계; 상기 부장치의 피드백 블럭을 폴링하여 상기 피드백 블럭에 상기 정보 요청 코드, 또는 제어 코드에 대응하는 회신 코드가 저장되었는지 여부를 판단하는 단계; 및 상기 피드백 블럭에 회신 코드가 저장된 경우, 상기 제2 원형 대기열 블럭에서 상기 피드백을 로드하는 단계를 더 포함할 수 있다.
본 발명의 일실시예에 따른 주장치의 단방향 접속 방법에서 부장치는, 상기 커맨드 블럭에 정보 요청 코드, 또는 제어 코드가 저장된 경우, 정보 요청 코드, 또는 제어 코드에 대응하는 동작을 수행하고, 정보 요청 코드, 또는 제어 코드에 대응하는 동작의 수행 결과에 따른 피드백을 상기 제1 원형 대기열 블럭과 서로 다른 제2 원형 대기열 블럭에 저장하며, 상기 피드백 블럭에 상기 피드백이 상기 제2 원형 대기열 블럭에 저장되었다는 회신 코드를 저장할 수 있다.
본 발명의 일실시예에 따른 주장치의 단방향 접속 방법은 상기 부장치의 피드백 블럭을 폴링하여 상기 피드백 블럭에 회신 코드가 저장되었는지 여부를 판단하는 단계; 상기 피드백 블럭에 회신 코드가 저장된 경우, 상기 제1 원형 대기열 블럭과 서로 다른 제2 원형 대기열 블럭에서 회신 코드에 대응하는 데이터 패킷을 로드하는 단계; 및 상기 프로토콜, 또는 어플리케이션을 이용하여 상기 회신 코드에 대응하는 데이터 패킷을 상기 내부망의 IP 노드로 전송하는 단계를 더 포함할 수 있다.
본 발명의 일실시예에 따른 주장치의 단방향 접속 방법에서 부장치는, 상기 주장치의 프로토콜, 또는 어플리케이션을 이용하여 외부망의 IP 노드로부터 데이터 패킷을 수신하고, 상기 외부망의 IP 노드로부터 수신한 데이터 패킷이 허가된 데이터 패킷인지 여부를 검사하며, 검사 결과에 따라 상기 외부망의 IP 노드로부터 수신한 데이터 패킷을 상기 제1 원형 대기열 블럭과 서로 다른 제2 원형 대기열 블럭에 저장하고, 피드백 블럭에 상기 데이터 패킷이 상기 제2 원형 대기열 블럭에 저장되었다는 회신 코드를 저장할 수 있다.
본 발명의 일실시예에 따른 부장치의 단방향 접속 방법은 상기 부장치의 메모리의 커맨드 블럭을 폴링하여 상기 커맨드 블럭에 상기 주장치로부터 데이터 패킷의 전송 시작을 나타내는 전송 코드가 저장되었는지 여부를 판단하는 단계; 및 상기 커맨드 블럭에 전송 코드가 저장된 경우, 메모리의 제1 원형 대기열 블럭에서 상기 데이터 패킷을 로드하여 외부망의 IP 노드로 전송하는 단계를 포함하고, 상기 주장치는, 내부망의 IP 노드로부터 수신한 데이터 패킷을 상기 주장치와 유선으로 연결된 상기 부장치의 메모리의 제1 원형 대기열 블럭에 저장하고, 상기 커맨드 블럭에 전송 코드를 저장하며, 상기 전송하는 단계는, 주장치의 프로토콜, 또는 어플리케이션에 의하여 수행될 수 있다.
본 발명의 일실시예에 따른 부장치의 단방향 접속 방법은 상기 커맨드 블럭에 정보 요청 코드, 또는 제어 코드가 저장된 경우, 정보 요청 코드, 또는 제어 코드에 대응하는 동작을 수행하는 단계; 정보 요청 코드, 또는 제어 코드에 대응하는 동작의 수행 결과에 따른 피드백을 상기 제1 원형 대기열 블럭과 서로 다른 제2 원형 대기열 블럭에 저장하는 단계; 및 피드백 블럭에 상기 피드백이 상기 제2 원형 대기열 블럭에 저장되었다는 회신 코드를 저장하는 단계를 더 포함할 수 있다.
본 발명의 일실시예에 따른 부장치의 단방향 접속 방법에서 주장치는, 상기 피드백 블럭을 폴링하여 상기 피드백 블럭에 회신 코드가 저장되었는지 여부를 판단하고, 상기 피드백 블럭에 회신 코드가 저장된 경우, 상기 제2 원형 대기열 블럭에서 상기 피드백을 로드할 수 있다.
본 발명의 일실시예에 따른 부장치의 단방향 접속 방법은 외부망의 IP 노드로부터 데이터 패킷을 수신하는 단계; 상기 외부망의 IP 노드로부터 수신한 데이터 패킷이 허가된 데이터 패킷인지 여부를 검사하는 단계; 검사 결과에 따라 상기 외부망의 IP 노드로부터 수신한 데이터 패킷을 상기 제1 원형 대기열 블럭과 서로 다른 제2 원형 대기열 블럭에 저장하는 단계; 및 피드백 블럭에 상기 데이터 패킷이 상기 제2 원형 대기열 블럭에 저장되었다는 회신 코드를 저장하는 단계를 더 포함할 수 있다.
본 발명의 일실시예에 따른 부장치의 단방향 접속 방법에서 주장치는, 상기 피드백 블럭을 폴링하여 상기 피드백 블럭에 회신 코드가 저장되었는지 여부를 판단하고, 상기 피드백 블럭에 회신 코드가 저장된 경우, 상기 제2 원형 대기열 블럭에서 상기 데이터 패킷을 로드할 수 있다.
본 발명의 일실시예에 따른 주장치는 프로토콜, 또는 어플리케이션을 이용하여 내부망의 IP 노드로부터 데이터 패킷을 수신하는 패킷 송수신 모듈; 상기 내부망의 IP 노드로부터 수신한 데이터 패킷이 허가된 데이터 패킷인지 여부를 검사하는 필터; 및 검사 결과에 따라 상기 내부망의 IP 노드로부터 수신한 데이터 패킷을 상기 주장치와 유선으로 연결된 부장치의 제1 원형 대기열 블럭에 저장하고, 상기 부장치의 커맨드 블럭에 데이터 패킷의 전송을 지시하는 전송 코드를 저장하는 마스터를 포함할 수 있다.
본 발명의 일실시예에 따른 주장치에 대응하는 부장치는, 커맨드 블럭을 폴링하여 상기 커맨드 블럭에 전송 코드가 저장되었는지 여부를 판단하고, 상기 커맨드 블럭에 전송 코드가 저장된 경우, 주장치의 프로토콜, 또는 어플리케이션으로 상기 제1 원형 대기열 블럭에서 상기 데이터 패킷을 로드하여 외부망의 IP 노드로 전송할 수 있다.
본 발명의 일실시예에 따른 주장치의 마스터는, 상기 부장치의 커맨드 블럭에 부장치와 관련된 정보를 요청하는 정보 요청 코드, 또는 부장치의 동작을 요청하는 제어 코드를 저장하고, 상기 부장치의 피드백 블럭을 폴링하여 상기 피드백 블럭에 상기 정보 요청 코드, 또는 제어 코드에 대응하는 회신 코드가 저장되었는지 여부를 판단하며, 상기 피드백 블럭에 회신 코드가 저장된 경우, 상기 제2 원형 대기열 블럭에서 상기 피드백을 로드할 수 있다.
본 발명의 일실시예에 따른 주장치에 대응하는 부장치는, 상기 커맨드 블럭에 정보 요청 코드, 또는 제어 코드가 저장된 경우, 정보 요청 코드, 또는 제어 코드에 대응하는 동작을 수행하고, 정보 요청 코드, 또는 제어 코드에 대응하는 동작의 수행 결과에 따른 피드백을 상기 제1 원형 대기열 블럭과 서로 다른 제2 원형 대기열 블럭에 저장하며, 상기 피드백 블럭에 상기 피드백이 상기 제2 원형 대기열 블럭에 저장되었다는 회신 코드를 저장할 수 있다.
본 발명의 일실시예에 따른 주장치의 마스터는, 상기 부장치의 피드백 블럭을 폴링하여 상기 피드백 블럭에 회신 코드가 저장되었는지 여부를 판단하고, 상기 피드백 블럭에 회신 코드가 저장된 경우, 상기 제1 원형 대기열 블럭과 서로 다른 제2 원형 대기열 블럭에서 회신 코드에 대응하는 데이터 패킷을 로드하며, 상기 프로토콜, 또는 어플리케이션을 이용하여 상기 회신 코드에 대응하는 데이터 패킷을 상기 내부망의 IP 노드로 전송할 수 있다.
본 발명의 일실시예에 따른 부장치는 커맨드 블록, 및 제1 원형 대기열을 포함하는 메모리; 및 상기 부장치의 메모리의 커맨드 블럭을 폴링하여 상기 커맨드 블럭에 상기 주장치로부터 데이터 패킷의 전송 시작을 나타내는 전송 코드가 저장되었는지 여부를 판단하고, 상기 커맨드 블럭에 전송 코드가 저장된 경우, 메모리의 제1 원형 대기열 블럭에서 상기 데이터 패킷을 로드하여 외부망의 IP 노드로 전송하는 부장치 에이전트를 포함하고, 상기 주장치는, 내부망의 IP 노드로부터 수신한 데이터 패킷을 상기 주장치와 유선으로 연결된 상기 제1 원형 대기열 블럭에 저장하고, 상기 커맨드 블럭에 전송 코드를 저장하며, 상기 데이터 패킷을 로드하여 외부망의 IP 노드로 전송하는 과정은 주장치의 프로토콜, 또는 어플리케이션에 의하여 수행될 수 있다.
본 발명의 일실시예에 따른 부장치의 부장치 에이전트는, 상기 커맨드 블럭에 정보 요청 코드, 또는 제어 코드가 저장된 경우, 정보 요청 코드, 또는 제어 코드에 대응하는 동작을 수행하고, 정보 요청 코드, 또는 제어 코드에 대응하는 동작의 수행 결과에 따른 피드백을 상기 제1 원형 대기열 블럭과 서로 다른 제2 원형 대기열 블럭에 저장하며, 피드백 블럭에 상기 피드백이 상기 제2 원형 대기열 블럭에 저장되었다는 회신 코드를 저장할 수 있다.
본 발명의 일실시예에 따른 부장치의 메모리는, 상기 제1 원형 대기열 블럭과 서로 다른 제2 원형 대기열 블럭 및 피드백 블록을 더 포함하고, 부장치 에이전트는, 외부망의 IP 노드로부터 수신한 데이터 패킷이 허가된 데이터 패킷인지 여부를 검사하고, 검사 결과에 따라 상기 외부망의 IP 노드로부터 수신한 데이터 패킷을 상기 제2 원형 대기열 블럭에 저장하며, 상기 피드백 블럭에 상기 데이터 패킷이 상기 제2 원형 대기열 블럭에 저장되었다는 회신 코드를 저장할 수 있다.
본 발명의 일실시예에 의하면, 외부망의 IP 노드와 내부망의 IP 노드 사이를 주장치와 부장치로 구성된 비IP영역으로 분리 단절하고 내부망 장치 주도하에 외부망 장치에 형성된 원형대기열 메모리를 이용한 통신만을 허용함으로써, 내부망의 IP 노드가 외부망의 IP 노드로 접속하는 것만이 가능하고 외부에서 임의로 본 통신장치 또는 내부망으로의 엑세스 가능성을 제거해 내부망 침입을 원천적으로 차단할 수 있다.
또한, 본 발명의 일실시예에 의하면, 내부망에서 외부망으로 데이터를 전송하는 장치와 외부망에서 내부망으로 데이터를 전송하는 장치를 이원화하고, 내부망 장치 주도하에 내부 IP노드에서 발신한 패킷을 외부망 장치에 형성된 원형대기열 메모리에 쓰거나(Write) 외부 IP노드에서 수신한 패킷을 외부망 장치의 원형대기열 메모리에서 읽어(Read)오는 방식으로 망을 분리함과 동시에 통신세션을 안전하게 연계시킨다.
그리고, 본 발명의 일실시예에 의하면, 외부 화이트 리스트를 이용하여 내부망에서 외부망으로 전송하는 데이터 패킷과 외부망에서 내부망으로 전송하는 데이터 패킷을 각각 필터링함으로써, 내부망에서 외부망으로 전송하는 데이터 및 외부망에서 내부망으로 전송하는 통신 채널을 관리 통제할 수 있다.
도 1은 본 발명의 일실시예에 따른 단방향 접속 시스템을 나타내는 도면이다.
도 2는 본 발명의 일실시예에 따른 단방향 접속 시스템에서 공유키를 생성하는 과정의 일례이다.
도 3은 본 발명의 일실시예에 따른 단방향 접속 시스템의 주장치의 동작 일례이다.
도 4는 본 발명의 일실시예에 따른 단방향 접속 시스템의 부장치의 동작 일례이다.
도 5는 본 발명의 일실시예에 따른 부장치의 메모리에 저장되는 블럭들의 일례이다.
도 6은 본 발명의 일실시예에 따른 단방향 접속 장치의 일례이다.
도 7은 도 6의 주장치 에이전트 및 부장치 에이전트의 세부 구성의 일례이다.
도 8은 본 발명의 일실시예에 따른 공유키 생성 방법을 도시한 플로우차트이다.
도 9는 본 발명의 제1실시예에 따른 주장치의 단방향 접속 방법을 도시한 플로우차트이다.
도 10은 본 발명의 제1실시예에 따른 부장치의 단방향 접속 방법을 도시한 플로우차트이다.
도 11은 본 발명의 제2실시예에 따른 부장치의 단방향 접속 방법을 도시한 플로우차트이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 본 발명의 일실시예에 따른 단방향 접속 방법은 단방향 접속 시스템의 주장치의 주도하에 의해 수행될 수 있다.
도 1은 본 발명의 일실시예에 따른 단방향 접속 시스템을 나타내는 도면이다.
단방향 접속 시스템은 도 1에 도시된 바와 같이 내부망의 IP 노드(110)와 IP 통신을 수행하는 주장치(120), 및 외부망의 IP 노드(140)와 IP 통신을 수행하는 부장치(130)를 포함할 수 있다. 이때, IP 노드(110)는 내부망에 포함된 노드 중 하나이며, 외부망으로 전송할 데이터 패킷을 주장치(120)로 전송할 수 있다. 이때, 내부망은 회사 네트워크, 산업용 OT(Operation Technology)망과 같이 특정 업체, 또는 특정 지역 안에서만 통신 가능한 네트워크이고, 외부망은 인터넷, IT(Information Technology)망과 같이 위치, 거리의 제한 없이 통신 가능한 네트워크일 수 있다. 또한, IP 노드(140)는 외부망에 포함된 노드 중 하나이며, IP 노드(110)가 전송한 데이터를 수신하는 노드일 수 있다.
즉, 단방향 접속 시스템은 도 1에 도시된 바와 같이 외부망의 IP 노드(140)와 내부망의 IP 노드(110) 사이를 주장치(120)와 부장치(130)로 구성된 비IP영역으로 분리함으로써, 외부망의 IP 노드(140)와 내부망의 IP 노드(110)간의 TCP/IP 통신을 단절할 수 있다.
이때, 주장치(120)의 주장치 에이전트(121)는 IP 노드(110)로부터 데이터 패킷을 수신할 수 있다. 그리고, 주장치 에이전트(121)는 화이트 리스트를 이용하여 데이터 패킷을 필터링할 수 있다. 예를 들어, 화이트 리스트는 내부망에서 외부망으로의 접속이 허가된 세션 정보들의 리스트일 수 있다.
다음으로, 주장치 에이전트(121)는 마스터-슬레이브 구조의 통신 방식을 이용하여 데이터 패킷을 부장치(130)의 메모리(131)에 저장할 수 있다. 또한, 주장치 에이전트(121)는 부장치(130), 또는 IP 노드(140)를 제어하기 위한 커맨드를 부장치(130)의 메모리(131)에 저장할 수 있다. 이때, 커맨드는 주장치(120)와 부장치(130)간에 상호 약정된 명령어일 수 있다. 따라서, 주장치 에이전트(121)는 커맨드를 전송하여 부장치(130), 또는 IP 노드(140)를 제어할 수 있다.
그리고, 주장치 에이전트(121)는 마스터-슬레이브 구조의 통신 방식을 이용하여 부장치(130)에 메모리(131)에서 피드백을 로드할 수 있다.
예를 들어, 주장치 에이전트(121)가 부장치(130)로 전송한 데이터 패킷에 문제가 발생한 경우, 부장치(130)의 부장치 에이전트(121)는 데이터 패킷에 문제가 발생하였다는 피드백을 메모리(131)에 저장할 수 있다. 이때, 주장치 에이전트(121)는 메모리(131)에서 피드백을 로드하여 분석하고, 피드백에 따라 데이터 패킷을 재전송할 수 있다.
주장치 에이전트(121)의 구체적인 구성 및 동작은 이하 도 3을 참조하여 상세히 설명한다.
그리고, 주장치(120)와 부장치(130)는 유선 통신으로 연결될 수 있다.
부장치(130)의 메모리(131)는 마스터-슬레이브 구조의 통신 방식을 이용하여 주장치(120)로부터 전송된 커맨드, 또는 데이터 패킷을 저장할 수 있다. 이때, 커맨드는 커맨드 블럭에 저장되고, 데이터 패킷은 단 방향으로 연속하여 전송되기 위한 제1 원형 대기열 블럭에 저장될 수 있다.
또한, 메모리(131)는 부장치 에이전트(132)가 주장치(120)에 전송할 피드백을 저장하기 위한 피드백 블럭 및 부장치 에이전트(132)가 주장치(120)에 전송할 데이터 패킷을 저장하기 위한 제2 원형 대기열 블럭을 포함할 수 있다.
그리고, 부장치 에이전트(132)는 메모리(131)의 커맨드 블럭을 폴링하여 전송 코드가 저장되었는지 여부를 판단할 수 있다. 그리고, 전송 코드가 커맨드 블럭에 저장된 경우, 부장치 에이전트(132)는 제1 원형 대기열 블럭에 저장된 데이터 패킷을 로드하여 IP 노드(140)로 전송할 수 있다. 이때, 부장치 에이전트(132)는 IP 노드(140)로 전송하기 전에 제1 원형 대기열 블럭에 저장된 데이터 패킷의 무결성을 검증할 수 있다.
또한, 부장치 에이전트(132)는 외부망의 IP 노드로부터 데이터 패킷을 수신할 수 있다. 이때, 부장치 에이전트(132)는 수신한 데이터 패킷이 허가된 데이터 패킷인지 여부를 검사할 수 있다. 수신한 데이터 패킷이 허가된 데이터 패킷인 경우, 부장치 에이전트(132)는 수신한 데이터 패킷을 메모리(131)의 제2 원형 대기열 블럭에 저장할 수 있다. 그리고, 부장치 에이전트(132)는 메모리(131)의 피드백 블럭에 데이터 패킷이 제2 원형 대기열 블럭에 저장되었다는 회신 코드를 저장할 수 있다.
이때, 주장치 에이전트(121)는 메모리(131)의 피드백 블럭을 폴링하여 회신 코드가 저장되었는지 여부를 판단할 수 있다. 그리고, 회신 코드가 피드백 블럭에 저장된 경우, 주장치 에이전트(121)는 제2 원형 대기열 블럭에 저장된 데이터 패킷을 로드하여 IP 노드(110)로 전송할 수 있다.
부장치 에이전트(132)의 구체적인 구성 및 동작은 이하 도 4를 참조하여 상세히 설명한다.
본 발명은 외부망의 IP 노드(140)와 내부망의 IP 노드(110) 사이를 주장치(120)와 부장치(130)로 구성된 비IP분리 단절함과 동시에 외부망 장치를 IP외 모든 프로토콜 및 데몬 등의 유틸리티를 제거한 가상 이더넷 어댑터로 단순화시키고, 내부망 장치 주도하에 모든 데이터 통신을 개시(세션수립)할 수 있도록 하며, 동시에 내부망의 IP 노드가 외부망의 IP 노드로 접속(Outgoing)할 수 있다.
또한, 본 발명은 내부망에서 외부망으로 데이터를 전송하는 장치와 외부망에서 내부망으로 데이터를 전송하는 장치를 이원화하고, 내부망 장치 주도하에 내부 IP노드에서 발신한 패킷을 외부망 장치에 형성된 원형대기열 메모리에 쓰거나(Write) 외부 IP노드에서 수신한 패킷을 외부망 장치의 원형대기열 메모리에서 읽어(Read)오는 방식으로 망을 분리함과 동시에 통신세션을 안전하게 연계시킨다. 그리고, 외부 화이트 리스트를 이용하여 내부망에서 외부망으로 전송하는 데이터 패킷과 외부망에서 내부망으로 전송하는 데이터 패킷을 각각 필터링함으로써, 내부망에서 외부망으로 전송하는 데이터 및 외부망에서 내부망으로 전송하는 통신 채널을 관리 통제할 수도 있다.
도 2는 본 발명의 일실시예에 따른 단방향 접속 시스템에서 공유키를 생성하는 과정의 일례이다.
주장치(120)는 TPM(201)를 이용하여 펌웨어 신뢰성 검사를 수행할 수 있다. 또한, 부장치(130)는 TPM(204)를 이용하여 펌웨어 신뢰성 검사를 수행할 수 있다.
단계(210)에서 주장치 에이전트(121)는 TPM(201)의 식별 정보인 id1이 포함된 커맨드를 마스터(202)를 통하여 부장치(130)로 전송할 수 있다. 이때, 주장치 에이전트(121)는 주장치(120)의 마스터(202) 기능의 구동 소프트웨어일 수 있다. 예를 들어, id1은 TPM(201)의 고유 ID일 수 있다. 이때, 부장치 에이전트(132)는 수신한 id1을 이용하여 주장치(120)를 인식할 수 있다.
단계(220)에서 주장치 에이전트(121)는 부장치(130)의 TPM(204)의 식별 정보인 id2를 요청하는 커맨드를 마스터(202)를 통하여 부장치(130)로 전송할 수 있다. 예를 들어, id2는 TPM(204)의 고유 ID일 수 있다.
단계(230)에서 부장치 에이전트(132)는 단계(220)에서 수신한 요청에 따라 id2가 포함된 피드백을 슬레이브(203)를 통하여 주장치(120)로 전송할 수 있다. 이때, 주장치 에이전트(121)는 수신한 id2를 이용하여 부장치(130)를 인식할 수 있다.
단계(240)에서 주장치 에이전트(121)는 id1 및 단계(230)에서 수신한 id1를 이용하여 공유키를 생성할 수 있다. 예를 들어, 주장치 에이전트(121)는 공유키 E를 E( id1 || id2)와 같이 생성할 수 있다.
단계(250)에서 주장치 에이전트(121)는 단계(240)에서 생성한 공유키를 마스터(202)를 통하여 부장치(130)로 전송할 수 있다.
도 3은 본 발명의 일실시예에 따른 단방향 접속 시스템의 주장치의 동작 일례이다.
주장치(120)의 주장치 에이전트(121)는 패킷 송수신 모듈(310), 필터(320), 정책 데이터베이스(DB)(325), 마스터(330)를 포함할 수 있다.
단방향 접속 시스템의 관리자는 내외부간 통신 정책에 따라 주 장치(120)의 정책 데이터베이스(DB)(325)에 포함된 화이트 리스트, 및 악성 코드 리스트를 업데이트할 수 있다. 예를 들어, 화이트 리스트는 5-Tuple 기반의 출발지 IP주소(Source IP Address), 출발지 포트(Source Port), 목적지 IP 주소(Destination IP Address), 목적지 포트(Destination Port) 및 프로토콜 ID(Protocol ID) 기반의 접속 제어 리스트(ACL: Access Control List) 중 적어도 하나를 포함할 수 있다.
이때, 정책 데이터베이스(DB)(325)는 업데이트된 화이트 리스트, 및 악성 코드 리스트를 부장치(130)의 정책 데이터베이스(DB)와 동기화할 수 있다.
패킷 송수신 모듈(310)은 내부망(300)의 IP 노드(110)로부터 데이터 패킷을 수신할 수 있다. 이때, 내부망(300)은 고비도망이며, 패킷 송수신 모듈(310)은 TCP/IP 통신을 이용하여 데이터 패킷을 수신할 수 있다.
다음으로, 필터(320)은 정책 데이터베이스(DB)(325)에 포함된 화이트 리스트를 이용하여 데이터 패킷을 필터링할 수 있다. 또한, 필터(320)은 정책 데이터베이스(DB)(325)에 포함된 악성 코드 리스트를 참조로 데이터 패킷을 분석할 수 있다. 이때, 필터(320)은 분석 결과에 따라 악성 코드를 필터링할 수도 있다. 예를 들어, 데이터 패킷에 악성 코드가 포함된 경우, 필터(320)은 데이터 패킷을 차단하고, 사용자에게 경고할 수 있다.
그 다음으로, 마스터(330)는 필터링된 데이터 패킷을 마스터-슬레이브 구조의 통신 방식을 이용하여 부장치(130)로 전송할 수 있다. 마스터 슬레이브 구조의 통신 방식은 RDMA, USB, 및 SPI(Serial Peripheral Interface) 중 하나일 수 있다. 예를 들어, 마스터(330)는 마스터 슬레이브 구조의 마스터이며, 패킷 핸들러(Packet Handler)일 수 있다.
그리고, 마스터(330)는 패킷 Tx(340) 및 패킷 Rx(390)를 포함할 수 있다. 구체적으로, 마스터(330)는 필터(320)에서 필터링된 데이터 패킷을 수신할 수 있다. 그리고, 마스터(330)는 패킷 Tx(340)로 해당 데이터 패킷을 부장치(130)의 메모리(131)의 제1 원형 대기열 블럭(360)에 저장할 수 있다. 또한, 마스터(330)는 패킷 Tx(340)로 데이터 패킷의 전송 시작을 나타내는 전송 코드를 부장치(130)의 메모리(131)의 커맨드 블럭(350)에 저장할 수 있다.
그리고, 마스터(330)는 패킷 Rx(390)로 부장치(130)의 메모리(131)의 피드백 블럭(380)을 폴링하여 피드백 블럭(380)에 회신 코드가 저장되었는지 여부를 판단할 수 있다.
피드백 블럭(380)에 회신 코드가 저장된 경우, 마스터(330)는 패킷 Rx(390)로 부장치(130)의 메모리(131)의 제2 원형 대기열 블럭(370)에 저장된 데이터 패킷을 로드하여 필터(320)로 전송할 수 있다. 이때, 필터(320)는 마스터(330)로부터 수신한 데이터 패킷을 필터링하며, 패킷 송수신 모듈(310)는 필터(320)에서 필터링된 데이터 패킷을 내부망(300)의 IP 노드(110)로 전송할 수 있다.
도 4는 본 발명의 일실시예에 따른 단방향 접속 시스템의 부장치의 동작 일례이다.
부장치(130)는 도 4에 도시된 바와 같이 메모리(131) 및 부장치 에이전트(132)를 포함할 수 있다.
메모리(131)는 커맨드 블럭(350), 제1 원형 대기열 블럭(360), 제2 원형 대기열 블럭(370), 및 피드백 블럭(370)을 포함할 수 있다.
커맨드 블럭(350)은 주장치(120)로부터 수신한 코드를 저장할 수 있다. 또한, 제1 원형 대기열 블럭(360)는 주장치(120)로부터 수신한 데이터 패킷을 저장할 수 있다. 그리고, 제2 원형 대기열 블럭(370)은 주장치(120)로 전송할 데이터 패킷을 저장할 수 있다. 또한, 피드백 블럭(370)은 주장치(120)로 전송할 코드를 저장할 수 있다.
예를 들어, 제1 원형 대기열 블럭(360) 및 제2 원형 대기열 블럭(370)은 8KBytes 단위 4,000개 조합의 32MBytes 크기의 원형 대기열 블럭(Circular Queue) 데이터 버퍼 메모리일 수 있다.
부장치 에이전트(132)는 도 4에 도시된 바와 같이 슬레이브(420), 필터(430), 정책 데이터베이스(DB)(435), 및 패킷 송수신 모듈(440)를 포함할 수 있다.
정책 데이터베이스(DB)(435)는 부장치(130)의 정책 데이터베이스(DB)(325)와 동기화함으로써, 화이트 리스트, 및 악성 코드 리스트를 업데이트할 수 있다. 또한, 슬레이브(420)는 패킷 Rx(410) 및 패킷 Tx(450)를 포함할 수 있다. 예를 들어, 슬레이브(420)는 마스터 슬레이브 구조의 슬레이브이며, 패킷 트랜스미터(Packet Transmitter)일 수 있다.
먼저, 슬레이브(420)는 패킷 Rx(410)로 커맨드 블럭(350)을 폴링하여 커맨드 블럭(350)에 데이터 패킷의 전송 시작을 나타내는 전송 코드가 저장되었는지 여부를 판단할 수 있다.
커맨드 블럭(350)에 전송 코드가 저장된 경우, 슬레이브(420)는 패킷 Rx(410)로 제1 원형 대기열 블럭(360)에 저장된 데이터 패킷을 로드하여 필터(320)로 전송할 수 있다.
필터(430)는 정책 데이터베이스(435)를 이용하여 데이터 패킷이 내외부간 통신 정책에 따라 허가된 패킷인지 여부를 확인할 수 있다. 데이터 패킷이 허가되지 않은 패킷인 경우, 필터(430)는 해당 데이터 패킷을 제거할 수 있다.
패킷 송수신 모듈(440)는 필터(430)에서 필터링된 데이터 패킷을 외부망(400)의 IP 노드(140)로 전송할 수 있다. 이때, 외부망(400)은 저비도망이며, 패킷 전송 모듈은 TCP/IP 통신을 이용하여 데이터 패킷을 전송할 수 있다.
또한, 커맨드 블럭(350)에 정보 요청 코드, 또는 제어 코드가 저장된 경우, 슬레이브(420)는 정보 요청 코드, 또는 제어 코드에 대응하는 동작을 수행할 수 있다. 예를 들어, 정보 요청 코드는 시스템 상태를 요청하는 커맨드일 수 있다. 또한, 제어 코드는 시스템 리셋, 펌웨어 시작, 환경 설정 중 적어도 하나를 수행하도록 요청하는 커맨드일 수 있다.
그리고, 슬레이브(420)는 패킷 Tx(450)로 수행 결과에 따른 피드백을 제2 원형 대기열 블럭(370)에 저장할 수 있다. 또한, 슬레이브(420)는 패킷 Tx(450)로 피드백 블럭(380)에 피드백이 제2 원형 대기열 블럭(370)에 저장되었다는 회신 코드를 저장할 수 있다. 이때, 주장치(120)는 피드백 블럭(380)을 폴링하여 회신 코드를 확인하고, 제2 원형 대기열 블럭(370)에 저장된 피드백을 로드할 수 있다.
그리고, 패킷 송수신 모듈(440)은 외부망(400)의 IP 노드(140)로부터 데이터 패킷을 수신할 수 있다. 이때, 필터(430)는 수신한 데이터 패킷이 허가된 데이터 패킷인지 여부를 검사할 수 있다. 수신한 데이터 패킷이 허가된 데이터 패킷인 경우, 필터(430)는 수신한 데이터 패킷을 출력할 수 있다. 그리고, 수신한 데이터 패킷이 허가된 데이터 패킷이 아닌 경우, 필터(430)는 수신한 데이터 패킷을 차단할 수 있다.
그리고, 슬레이브(420)는 필터(430)의 검사 결과에 따라 데이터 패킷을 제2 원형 대기열 블럭(370)에 저장할 수 있다. 즉, 슬레이브(420)는 필터(430)가 데이터 패킷을 출력하는 경우, 필터(430)에서 출력된 데이터 패킷을 패킷 Tx(450)로 제2 원형 대기열 블럭(370)에 저장할 수 있다. 이때, 슬레이브(420)는 패킷 Tx(450)로 피드백 블럭(380)에 데이터 패킷이 제2 원형 대기열 블럭(370)에 저장되었다는 회신 코드를 저장할 수 있다.
이때, 주장치(120)는 피드백 블럭(380)을 폴링하여 회신 코드를 확인하고, 제2 원형 대기열 블럭(370)에 저장된 데이터 패킷을 로드하여 내부망(300)의 IP 장치(110)로 전송할 수 있다.
도 5는 본 발명의 일실시예에 따른 부장치의 메모리에 저장되는 블럭들의 일례이다.
원형 대기열 블럭(500)는 부장치(130)의 메모리(131)에 블럭 별로 8096Bytes의 원형 대기열 블럭(Circular Queue) 버퍼를 생성하여 구성될 수 있다. 이때, 원형 대기열 블럭(500)은 12Bytes의 블럭 번호와 8084Bytes의 데이터 필드로 구성될 수 있다.
그리고, 원형 대기열 블럭(500)는 주장치(120)로부터 수신한 데이터 패킷을 저장하기 위한 제1 원형 대기열 블럭(510)과 주장치(120)로 전송할 데이터 패킷을 저장하기 위한 제2 원형 대기열 블럭(520) 중 하나일 수 있다.
이때, 주장치 에이전트(121)는 제1 원형 대기열 블럭(510)의 블럭들 각각에 내부망(300)의 IP 노드(110)로부터 수신한 데이터 패킷들을 순차적으로 저장하고, 커맨드 블럭에 데이터 패킷의 전송 시작을 나타내는 전송 코드를 입력할 수 있다.
또한, 제1 원형 대기열 블럭(510)은 커맨드 블럭을 포함할 수도 있다. 이때, 커맨드 블럭은 부장치(130)의 메모리(131)에 1024Bytes 크기의 커맨드 버퍼를 생성하여 구성될 수 있다. 예를 들어, 커맨드 블럭은 4Bytes의 커맨드 구분자와 1020Bytes의 커맨드 데이터 필드로 구성될 수 있다.
또한, 부장치 에이전트(132)는 제2 원형 대기열 블럭(520)의 블럭들 각각에 외부망(400)의 IP 노드(140)로부터 수신한 데이터 패킷들을 순차적으로 저장하고, 피드백 블럭에 데이터 패킷의 전송 시작을 나타내는 회신 코드를 입력할 수 있다.
또한, 제2 원형 대기열 블럭(520)은 피드백 블럭을 포함할 수도 있다. 이때, 피드백 블럭은 부장치(130)의 메모리(131)에 1024Bytes 크기의 피드백 버퍼를 생성하여 구성될 수 있다. 예를 들어, 피드백 블럭은 4Bytes의 피드백 구분자와 1020Bytes의 피드백 데이터 필드로 구성될 수 있다.
예를 들어, 커맨드 블럭 및 피드백 블럭에는 표 1과 같은 커맨드 데이터가 포함될 수 있다.
Figure 112016042443671-pat00001
그리고, 커맨드 블럭(520)에 포함된 커맨드에 따라 피드백 블럭(530)에 저장될 피드백이 결정될 수 있다.
예를 들어, 커맨드 블럭(520)에 id 1 전송이라는 커맨드와 id 1가 포함된 경우, 부장치 에이전트(132)는 피드백 블럭(530)에 id 1을 수신하였다는 피드백을 저장할 수 있다.
또한, 커맨드 블럭(520)에 id 2 요청이라는 커맨드가 포함된 경우, 부장치 에이전트(132)는 피드백 블럭(530)에 요청에 대응하는 id 2를 전송한다는 피드백 및 id 2를 저장할 수 있다.
커맨드 블럭(520)에 공유키 전송이라는 커맨드와 공유키가 포함된 경우, 부장치 에이전트(132)는 수신한 공유키의 무결성을 확인할 수 있다. 그리고, 수신한 공유키에 문제가 발생한 경우, 부장치 에이전트(132)는 피드백 블럭(530)에 공유키의 재전송을 요청하는 피드백을 저장할 수 있다.
커맨드 블럭(520)에 데이터 패킷 전송이라는 커맨드가 포함된 경우, 부장치 에이전트(132)는 수신한 데이터 패킷의 무결성을 확인할 수 있다. 그리고, 수신한 데이터 패킷에 문제가 발생한 경우, 부장치 에이전트(132)는 피드백 블럭(530)에 데이터 패킷의 수신에 에러가 발생한 것을 알리는 피드백을 저장할 수 있다.
커맨드 블럭(520)에 데이터 패킷 전송 종료라는 커맨드가 포함된 경우, 부장치 에이전트(132)는 피드백 블럭(530)에 데이터 패킷을 수신하였다는 피드백을 저장할 수 있다.
커맨드 블럭(520)에 환경 설정이라는 커맨드와 설정값이 저장된 대기열 블럭 번호가 포함된 경우, 부장치 에이전트(132)는 피드백 블럭(530)에 설정값을 수신하였다는 피드백을 저장할 수 있다.
커맨드 블럭(520)에 시스템 상태를 요청하는 커맨드가 포함된 경우, 부장치 에이전트(132)는 부장치(130)의 시스템 상태를 확인하고, 피드백 블럭(530)에 확인한 시스템 상태에 대응하는 코드가 포함된 피드백을 저장할 수 있다.
커맨드 블럭(520)에 시스템 리셋을 요청하는 커맨드가 포함된 경우, 부장치 에이전트(132)는 부장치(130)의 시스템을 리셋하고, 피드백 블럭(530)에 시스템의 리부팅이 완료되었다는 피드백을 저장할 수 있다.
커맨드 블럭(520)에 펌웨어 업이라는 커맨드 및 펌웨어가 저장된 대기열 블럭 번호가 포함된 경우, 부장치 에이전트(132)는 수신한 펌웨어의 무결성을 확인할 수 있다. 그리고, 수신한 펌웨어에 문제가 발생한 경우, 부장치 에이전트(132)는 피드백 블럭(530)에 펌웨어의 수신에 에러가 발생한 것을 알리는 피드백을 저장할 수 있다.
커맨드 블럭(520)에 펌웨어 업 종료라는 커맨드가 포함된 경우, 부장치 에이전트(132)는 피드백 블럭(530)에 펌웨어의 업데이트를 완료하였다는 피드백을 저장할 수 있다.
도 6은 본 발명의 일실시예에 따른 단방향 접속 장치의 일례이다.
본 발명의 일실시예에 따른 단방향 접속 장치의 주장치(120)는 내부망으로부터 LAN 카드인 NIC(Network Interface Card)를 통하여 데이터 패킷을 수신할 수 있다.
다음으로, 주장치(120)는 수신한 데이터 패킷을 LAN 카드의 드라이버(Driver), ICMP(Internet control message protocol) 및 TCP(Transmission Control Protocol), 또는 UDP (user datagram protocol)(610)를 통하여 어플리케이션(Applications)(620)으로 전달할 수 있다.
이때, 어플리케이션은 네트워크용 방화벽(Firewall), 인터넷망을 전용선처럼 사용할 수 있도록 특수 통신체계와 암호화 기법을 제공하는 VPN(virtual private network), 침입 방지 시스템인 IPS(intrusion prevention system) 및 TCP/IP 어플리케이션 중 적어도 하나를 포함할 수 있다.
예를 들어, 어플리케이션은 인터넷을 이용한 원격 접속 서비스인 텔넷(Telnet), 파일 전송 전용 서비스인 FTP(File Transfer Protocol), 네트워크 드라이브(mapped drive)로 다른 시스템의 특정 디스크 영역을 로컬 디스크처럼 사용하는 NFS(network file system), 및 다른 호스트에 IP 데이터 그램 도달 여부를 조사하기 위한 Ping(Packet Internet Grouper) 및 TCP/IP 기반의 네트워크에서 네트워크 상의 각 호스트에서 정기적으로 여러 가지 정보를 자동적으로 수집하여 네트워크 관리를 하는 SNMP(simple network management protocol) 중 하나일 수 있다
그리고, 주장치 에이전트(121)는 어플리케이션(620)로부터 데이터 패킷을 수신할 수 있다. 이때, 주장치 에이전트(120)는 수신한 데이터 패킷을 필터링한 후 부장치(130)로 전송할 수 있다.
내부망(300)과 주장치(120) 및 외부망(400)과 부장치(130)는 TCP/IP로 연결된 반면, 주장치(120)와 부장치(130)는 도 6에 도시된 바와 같이 비IP 방식인 마스터 슬레이브 연결 방식으로 연결될 수 있다.
다음으로, 부장치(130)의 부장치 에이전트(132)는 주장치 에이전트(120)로부터 수신한 데이터 패킷을 필터링하여 IP(630)로 전송할 수 있다. 즉, 부장치(130)는 도 6에 도시된 바와 같이 TCP, 또는 UDP와 어플리케이션을 포함하지 않을 수 있다.
도 6의 주장치 에이전트(120) 및 부장치 에이전트(132)의 구체적인 구성 및 동작은 이하 도 7을 참조하여 상세히 설명한다.
그리고, 부장치(130)의 IP(630), 드라이브 및 NIC는 부장치 에이전트(132)로부터 수신한 데이터 패킷을 외부망(400)로 전송할 수 있다. 즉, 단방향 접속 장치는 TCP, 또는 UDP와 어플리케이션을 포함하지 않은 부장치를 이용하여 데이터 패킷을 송수신할 수 있다.
이때, 주장치(120)와 부장치(130)는 단일 디바이스에서 각각의 모듈로 구성되고, 주장치(120)와 부장치(130)는 유선으로 연결될 수 있다.
도 7은 도 6의 주장치 에이전트 및 부장치 에이전트의 세부 구성의 일례이다.
주장치(120)의 주장치 에이전트(121)의 패킷 송수신 및 ACL필터(711)는 어플리케이션(620)로부터 데이터 패킷을 수신하고, 화이트 리스트, 또는 악성 코드 리스트를 참조로 데이터 패킷을 필터링하여, 패킷 핸들러(Packet Handler)(712)로 전송할 수 있다. 이때, 패킷 송수신 및 ACL필터(711)는 도 3의 패킷 송수신 모듈(310)과 필터(320) 및 정책 데이터베이스(325)가 결합된 구성일 수 있다.
이때, 정책 데이터베이스(325)에는 표 2와 같은 ACL필터링 관련 정보 및 표 3과 같은 ACL필터 동작 조건이 포함될 수 있다.
Figure 112016042443671-pat00002
Figure 112016042443671-pat00003
그리고, 패킷 송수신 및 ACL필터(711)는 표 4와 같이 데이터 패킷을 필터링할 수 있다.
Figure 112016042443671-pat00004
패킷 핸들러(Packet Handler)(712)는 패킷 Tx(713)를 이용하여 패킷 송수신 및 ACL필터(711)에서 필터링된 데이터 패킷을 드라이버(Driver)(714)로 전송할 수 있다. 이때, 패킷 핸들러(712)는 도 3의 마스터(330)에 대응하는 구성일 수 있다.
패킷 Tx(713)는 드라이버(714) 및 RDMA, USB, SPI(715)를 통하여 부장치(130)의 제1 원형 대기열 블럭(723)으로 데이터 패킷을 전송할 수 있다. 또한, 패킷 핸들러(712)는 패킷 Tx(713)로 드라이버(714) 및 RDMA, USB, SPI(715)를 통하여 데이터 패킷의 전송 시작을 나타내는 전송 코드를 제1 원형 대기열 블럭(723)에 포함된 커맨드 블럭에 저장할 수 있다.
이때, 드라이버(714)는 하드웨어적인 전송 경로용 Driver 모듈이고, RDMA, USB, SPI(715)는 Master-Slave 형식의 물리적 데이터 전송 방식 모듈일 수 있다.
부장치(130)의 RDMA, USB, SPI(721) 및 드라이버(722)는 주장치(120)로부터 수신한 데이터 패킷을 패킷 Tx(713)의 요청에 따라 메모리(131)의 제1 원형 대기열 블럭(723)에 저장할 수 있다.
이때, 부장치 에이전트(132)의 패킷 트랜스미터(Packet Transmitter)(725)는 패킷 Rx(724)로 제1 원형 대기열 블럭(723)에 포함된 커맨드 블럭을 폴링하여 커맨드 블럭에 데이터 패킷의 전송 시작을 나타내는 전송 코드가 저장되었는지 여부를 판단할 수 있다.
커맨드 블럭에 전송 코드가 저장된 경우, 패킷 트랜스미터(725)는 제1 원형 대기열 블럭(723)에 저장된 데이터 패킷을 패킷 Rx(724)로 로드하여 패킷 송수신 및 ACL필터(726)로 전송할 수 있다. 이때, 패킷 트랜스미터(725)는 도 4의 슬레이브(420)에 대응하는 구성이며, 패킷 송수신 및 ACL필터(726)는 도 4의 패킷 송수신 모듈(440)과 필터(430) 및 정책 데이터베이스(435)가 결합된 구성일 수 있다.
이때, 패킷 송수신 및 ACL필터(726)는 정책 데이터베이스로 데이터 패킷이 내외부간 통신 정책에 따라 허가된 패킷인지 여부를 확인하여 필터링할 수 있다. 그리고, 패킷 송수신 및 ACL필터(726)는 필터링된 데이터 패킷을 IP(630)를 통하여 외부망(400)으로 전송할 수 있다.
또한, 패킷 송수신 및 ACL필터(726)는 IP(630)를 통하여 외부망(400)으로부터 데이터 패킷을 수신할 수 있다. 이때, 패킷 송수신 및 ACL필터(726)는 수신한 데이터 패킷이 허가된 데이터 패킷인지 여부를 검사하여 필터링할 수 있다.
그리고, 패킷 트랜스미터(725)는 필터링된 데이터 패킷을 패킷 Tx(727)로 제2 원형 대기열 블럭(728)에 저장할 수 있다. 이때, 패킷 트랜스미터(725)는 제2 원형 대기열 블럭(728)에 포함된 피드백 블럭에 데이터 패킷이 제2 원형 대기열 블럭(728)에 저장되었다는 회신 코드를 저장할 수 있다.
이때, 패킷 핸들러(712)는 패킷 Rx(716)로 제2 원형 대기열 블럭(728)에 포함된 피드백 블럭을 폴링하여 피드백 블럭에 회신 코드가 저장되었는지 여부를 판단할 수 있다.
피드백 블럭에 회신 코드가 저장된 경우, 패킷 핸들러(712)는 패킷 Rx(716)로 부장치(130)의 제2 원형 대기열 블럭(370)에 저장된 데이터 패킷을 로드하여 패킷 송수신 및 ACL필터(711)로 전송할 수 있다. 이때, 패킷 송수신 및 ACL필터(711)는 패킷 핸들러(712)로부터 수신한 데이터 패킷을 필터링하여 어플리케이션(620)로 전송하고, 어플리케이션(620)는 수신한 데이터 패킷을 내부망(300)으로 전송할 수 있다.
도 8은 본 발명의 일실시예에 따른 공유키 생성 방법을 도시한 플로우차트이다.
단계(810)에서 주장치(120)는 TPM(201)를 이용하여 펌웨어 신뢰성 검사를 수행할 수 있다. 또한, 부장치(130)는 TPM(204)를 이용하여 펌웨어 신뢰성 검사를 수행할 수 있다.
단계(820)에서 주장치 에이전트(121)는 TPM(201)의 식별 정보를 부장치(130)로 전송할 수 있다. 이때, 부장치 에이전트(132)는 수신한 TPM(201)의 식별 정보를 이용하여 주장치(120)를 인식할 수 있다.
단계(830)에서 주장치 에이전트(121)는 TPM(204)의 식별 정보를 요청하는 커맨드를 마스터(202)를 통하여 부장치(130)로 전송할 수 있다. 그리고, 주장치 에이전트(121)는 부장치(130)로부터 TPM(204)의 식별 정보가 포함된 피드백을 수신할 수 있다.
단계(840)에서 주장치 에이전트(121)는 단계(830)에서 수신한 피드백에 포함된 TPM(204)의 식별 정보를 이용하여 부장치(130)를 인식할 수 있다.
단계(850)에서 주장치 에이전트(121)는 TPM(201)의 식별 정보 및 단계(830)에서 수신한 피드백에 포함된 TPM(201)의 식별 정보를 이용하여 공유키를 생성할 수 있다.
단계(860)에서 주장치 에이전트(121)는 단계(850)에서 생성한 공유키를 마스터(202)를 통하여 부장치(130)로 전송할 수 있다.
도 9는 본 발명의 제1실시예에 따른 주장치의 단방향 접속 방법을 도시한 플로우차트이다.
단계(910)에서 주장치(120)의 주장치 에이전트(121)는 내부망(300)의 IP 노드(110)로부터 데이터 패킷을 수신할 수 있다.
단계(920)에서 주장치 에이전트(121)는 화이트 리스트를 이용하여 데이터 패킷을 필터링할 수 있다. 그리고, 주장치 에이전트(121)는 악성 코드 리스트를 참조로 데이터 패킷을 분석할 수 있다. 이때, 주장치 에이전트(121)는 분석 결과에 따라 악성 코드를 필터링할 수도 있다.
단계(930)에서 주장치 에이전트(121)는 단계(920)에서 필터링된 데이터 패킷을 주장치(120)와 유선으로 연결된 부장치(130)의 메모리(131)의 제1 원형 대기열 블럭에 저장할 수 있다. 이때, 주장치 에이전트(121)는 데이터 패킷을 마스터-슬레이브 구조의 통신 방식으로 부장치(130)에 전송하여 메모리(131)에 저장할 수 있다.
단계(940)에서 주장치 에이전트(121)는 데이터 패킷의 전송 시작을 나타내는 전송 코드를 부장치(130)의 메모리(131)의 커맨드 블럭에 저장할 수 있다.
단계(950)에서 주장치 에이전트(121)는 부장치(130)의 메모리(131)의 피드백 블럭을 폴링하여 피드백 블럭에 코드가 저장되었는지 여부를 판단할 수 있다.
피드백 블럭에 코드가 저장된 경우, 주장치 에이전트(121)는 단계(960)를 수행할 수 있다. 피드백 블럭에 코드가 저장되지 않은 경우, 주장치 에이전트(121)는 단계(950)를 반복하며, 부장치(130)의 메모리(131)의 피드백 블럭을 폴링할 수 있다.
단계(960)에서 주장치 에이전트(121)는 부장치(130)의 메모리(131)의 제2 원형 대기열 블럭에 저장된 데이터 패킷을 로드하여 내부망(300)으로 전송할 수 있다. 이때, 주장치 에이전트(121)는 제2 원형 대기열 블록에서 로드한 데이터 패킷을 필터링한 후 내부망(300)으로 전송할 수 있다.
도 10은 본 발명의 제1실시예에 따른 부장치의 단방향 접속 방법을 도시한 플로우차트이다.
도 10은 부장치가 메모리에 저장된 데이터 패킷을 외부망으로 전송하는 실시예이다.
단계(1010)에서 부장치(120)의 메모리(121)의 제1 원형 대기열 블럭은 주장치(120)로부터 수신한 데이터 패킷을 저장할 수 있다.
단계(1020)에서 부장치 에이전트(122)는 부장치(120)의 메모리(121)의 커맨드 블럭을 폴링하여 커맨드 블럭에 데이터 패킷의 전송 시작을 나타내는 전송 코드가 저장되었는지 여부를 판단할 수 있다.
커맨드 블럭에 전송 코드가 저장된 경우, 부장치 에이전트(122)는 단계(1030)를 수행할 수 있다. 커맨드 블럭에 전송 코드가 저장되지 않은 경우, 부장치 에이전트(122)는 단계(1050)를 수행할 수 있다.
단계(1030)에서 부장치 에이전트(122)는 제1 원형 대기열 블럭에 저장된 데이터 패킷을 로드할 수 있다.
단계(1040)에서 부장치 에이전트(122)는 단계(1030)에서 로드한 데이터 패킷을 외부망(400)의 IP 노드(140)로 전송할 수 있다. 이때, 부장치 에이전트(122)는 단계(1030)에서 로드한 데이터 패킷을 5-Tuple 기반의 출발지 IP주소(Source IP Address), 출발지 포트(Source Port), 목적지 IP 주소(Destination IP Address), 목적지 포트(Destination Port) 및 프로토콜 ID(Protocol ID) 기반의 접속 제어 리스트(ACL: Access Control List) 중 적어도 하나로 필터링 한 후 외부망(400)의 IP 노드(140)로 전송할 수 있다.
단계(1050)에서 부장치 에이전트(122)는 커맨드 블럭에 정보 요청 코드, 또는 제어 코드와 같은 전송 코드가 아닌 다른 코드가 저장되었는지 여부를 확인할 수 있다.
커맨드 블럭에 다른 코드가 저장된 경우, 부장치 에이전트(122)는 단계(1060)를 수행할 수 있다. 커맨드 블럭에 다른 코드가 저장되지 않은 경우, 부장치 에이전트(122)는 단계(1020)를 수행하여 커맨드 블록에 전송 코드,또는 다른 코드가 저장될 때까지 대기할 수 있다.
단계(1060)에서 부장치 에이전트(122)는 정보 요청 코드, 또는 제어 코드와 같은 다른 코드에 대응하는 동작을 수행할 수 있다.
단계(1070)에서 부장치 에이전트(122)는 단계(1060)의 수행 결과에 따른 피드백을 제2 원형 대기열 블럭에 저장할 수 있다.
단계(1070)에서 부장치 에이전트(122)는 피드백 블럭에 피드백이 제2 원형 대기열 블럭에 저장되었다는 것을 나타내는 회신 코드를 저장할 수 있다. 이때, 주장치(120)는 피드백 블럭을 폴링하여 회신 코드를 확인하고, 제2 원형 대기열 블럭에 저장된 피드백을 로드할 수 있다.
도 11은 본 발명의 제2실시예에 따른 부장치의 단방향 접속 방법을 도시한 플로우차트이다.
도 11은 부장치가 외부망으로부터 수신한 데이터 패킷을 메모리에 저장하여 내부망으로 전송되도록 하는 실시예이다.
단계(1110)에서 부장치 에이전트(122)는 외부망(400)의 IP 노드(140)로부터 데이터 패킷을 수신할 수 있다.
단계(1120)에서 부장치 에이전트(122)는 단계(1110)에서 수신한 데이터 패킷이 허가된 데이터 패킷인지 여부를 검사할 수 있다. 수신한 데이터 패킷이 허가된 데이터 패킷이 아닌 경우, 부장치 에이전트(122)는 수신한 데이터 패킷을 차단할 수 있다.
단계(1130)에서 부장치 에이전트(122)는 단계(1120)에서 차단되지 않은 데이터 패킷을 메모리(121)의 제2 원형 대기열 블럭에 저장할 수 있다.
단계(1140)에서 부장치 에이전트(122)는 메모리(121)의 피드백 블럭에 데이터 패킷이 제2 원형 대기열 블럭에 저장되었다는 것을 나타내는 회신 코드를 저장할 수 있다.
이때, 주장치(120)는 피드백 블럭을 폴링하여 회신 코드를 확인하고, 제2 원형 대기열 블럭에 저장된 데이터 패킷을 로드하여 내부망의 IP 장치로 전송할 수 있다.
본 발명은 외부망의 IP 노드(140)와 내부망의 IP 노드(110) 사이를 주장치(120)와 부장치(130)로 구성된 비IP분리 단절함과 동시에 외부망 장치를 IP외 모든 프로토콜 및 데몬 등의 유틸리티를 제거한 가상 이더넷 어댑터로 단순화시키고, 내부망 장치 주도하에 모든 데이터 통신을 개시(세션수립)할 수 있도록 하며, 동시에 내부망의 IP 노드가 외부망의 IP 노드로 접속(Outgoing)할 수 있다.
또한, 본 발명은 내부망에서 외부망으로 데이터를 전송하는 장치와 외부망에서 내부망으로 데이터를 전송하는 장치를 이원화하고, 내부망 장치 주도하에 내부 IP노드에서 발신한 패킷을 외부망 장치에 형성된 원형대기열 메모리에 쓰거나(Write) 외부 IP노드에서 수신한 패킷을 외부망 장치의 원형대기열 메모리에서 읽어(Read)오는 방식으로 망을 분리함과 동시에 통신세션을 안전하게 연계시킨다. 그리고, 외부 화이트 리스트를 이용하여 내부망에서 외부망으로 전송하는 데이터 패킷과 외부망에서 내부망으로 전송하는 데이터 패킷을 각각 필터링함으로써, 내부망에서 외부망으로 전송하는 데이터 및 외부망에서 내부망으로 전송하는 통신 채널을 관리 통제할 수도 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
110: 내부망의 IP 노드
120: 주장치
130: 부장치
140: 외부망의 IP 노드

Claims (19)

  1. 주장치와 부장치를 포함하는 단방향 접속 시스템에서 내부망과 연결되는 주장치의 단방향 접속 방법에 있어서,
    프로토콜, 또는 어플리케이션을 이용하여 상기 내부망의 IP 노드로부터 데이터 패킷을 수신하는 단계;
    상기 내부망의 IP 노드로부터 수신한 데이터 패킷이 허가된 데이터 패킷인지 여부를 검사하는 단계;
    검사 결과에 따라 상기 내부망의 IP 노드로부터 수신한 데이터 패킷을 상기 주장치와 유선으로 연결된 부장치의 제1 원형 대기열 블럭에 저장하는 단계;
    상기 부장치의 커맨드 블럭에 데이터 패킷의 전송을 지시하는 전송 코드를 저장하는 단계
    상기 부장치의 커맨드 블럭에 부장치와 관련된 정보를 요청하는 정보 요청 코드, 또는 부장치의 동작을 요청하는 제어 코드를 저장하는 단계;
    상기 부장치의 피드백 블럭을 폴링하여 상기 피드백 블럭에 상기 정보 요청 코드, 또는 제어 코드에 대응하는 회신 코드가 저장되었는지 여부를 판단하는 단계; 및
    상기 피드백 블럭에 회신 코드가 저장된 경우, 상기 제1 원형 대기열 블럭과 서로 다른 제2 원형 대기열 블럭에서 상기 정보 요청 코드, 또는 제어 코드에 대응하는 동작의 수행 결과에 따른 피드백을 로드하는 단계
    를 포함하는 주장치의 단방향 접속 방법
  2. 제1항에 있어서,
    상기 부장치는,
    커맨드 블럭을 폴링하여 상기 커맨드 블럭에 전송 코드가 저장되었는지 여부를 판단하고, 상기 커맨드 블럭에 전송 코드가 저장된 경우, 주장치의 프로토콜, 또는 어플리케이션으로 상기 제1 원형 대기열 블럭에서 상기 데이터 패킷을 로드하여 외부망의 IP 노드로 전송하는 주장치의 단방향 접속 방법
  3. 삭제
  4. 제1항에 있어서,
    상기 부장치는,
    상기 커맨드 블럭에 정보 요청 코드, 또는 제어 코드가 저장된 경우, 정보 요청 코드, 또는 제어 코드에 대응하는 동작을 수행하고, 정보 요청 코드, 또는 제어 코드에 대응하는 동작의 수행 결과에 따른 피드백을 상기 제1 원형 대기열 블럭과 서로 다른 제2 원형 대기열 블럭에 저장하며, 상기 피드백 블럭에 상기 피드백이 상기 제2 원형 대기열 블럭에 저장되었다는 회신 코드를 저장하는 주장치의 단방향 접속 방법
  5. 주장치와 부장치를 포함하는 단방향 접속 시스템에서 내부망과 연결되는 주장치의 단방향 접속 방법에 있어서,
    프로토콜, 또는 어플리케이션을 이용하여 상기 내부망의 IP 노드로부터 데이터 패킷을 수신하는 단계;
    상기 내부망의 IP 노드로부터 수신한 데이터 패킷이 허가된 데이터 패킷인지 여부를 검사하는 단계;
    검사 결과에 따라 상기 내부망의 IP 노드로부터 수신한 데이터 패킷을 상기 주장치와 유선으로 연결된 부장치의 제1 원형 대기열 블럭에 저장하는 단계;
    상기 부장치의 커맨드 블럭에 데이터 패킷의 전송을 지시하는 전송 코드를 저장하는 단계;
    상기 부장치의 피드백 블럭을 폴링하여 상기 피드백 블럭에 회신 코드가 저장되었는지 여부를 판단하는 단계;
    상기 피드백 블럭에 회신 코드가 저장된 경우, 상기 제1 원형 대기열 블럭과 서로 다른 제2 원형 대기열 블럭에서 회신 코드에 대응하는 데이터 패킷을 로드하는 단계; 및
    상기 프로토콜, 또는 어플리케이션을 이용하여 상기 회신 코드에 대응하는 데이터 패킷을 상기 내부망의 IP 노드로 전송하는 단계
    를 더 포함하는 주장치의 단방향 접속 방법.
  6. 제5항에 있어서,
    상기 부장치는,
    상기 주장치의 프로토콜, 또는 어플리케이션을 이용하여 외부망의 IP 노드로부터 데이터 패킷을 수신하고, 상기 외부망의 IP 노드로부터 수신한 데이터 패킷이 허가된 데이터 패킷인지 여부를 검사하며, 검사 결과에 따라 상기 외부망의 IP 노드로부터 수신한 데이터 패킷을 상기 제1 원형 대기열 블럭과 서로 다른 제2 원형 대기열 블럭에 저장하고, 피드백 블럭에 상기 데이터 패킷이 상기 제2 원형 대기열 블럭에 저장되었다는 회신 코드를 저장하는 주장치의 단방향 접속 방법
  7. 주장치와 부장치를 포함하는 단방향 접속 시스템에서 외부망과 연결되는 부장치의 단방향 접속 방법에 있어서,
    상기 부장치의 메모리의 커맨드 블럭을 폴링하여 상기 커맨드 블럭에 상기 주장치로부터 데이터 패킷의 전송 시작을 나타내는 전송 코드가 저장되었는지 여부를 판단하는 단계; 및
    상기 커맨드 블럭에 전송 코드가 저장된 경우, 메모리의 제1 원형 대기열 블럭에서 상기 데이터 패킷을 로드하여 외부망의 IP 노드로 전송하는 단계
    를 포함하고,
    상기 주장치는,
    내부망의 IP 노드로부터 수신한 데이터 패킷을 상기 주장치와 유선으로 연결된 상기 부장치의 메모리의 제1 원형 대기열 블럭에 저장하고, 상기 커맨드 블럭에 전송 코드를 저장하는 부장치의 단방향 접속 방법
  8. 제7항에 있어서,
    상기 커맨드 블럭에 정보 요청 코드, 또는 제어 코드가 저장된 경우, 정보 요청 코드, 또는 제어 코드에 대응하는 동작을 수행하는 단계;
    정보 요청 코드, 또는 제어 코드에 대응하는 동작의 수행 결과에 따른 피드백을 상기 제1 원형 대기열 블럭과 서로 다른 제2 원형 대기열 블럭에 저장하는 단계; 및
    피드백 블럭에 상기 피드백이 상기 제2 원형 대기열 블럭에 저장되었다는 회신 코드를 저장하는 단계
    를 더 포함하는 부장치의 단방향 접속 방법
  9. 제8항에 있어서,
    상기 주장치는,
    상기 피드백 블럭을 폴링하여 상기 피드백 블럭에 회신 코드가 저장되었는지 여부를 판단하고, 상기 피드백 블럭에 회신 코드가 저장된 경우, 상기 제2 원형 대기열 블럭에서 상기 피드백을 로드하는 부장치의 단방향 접속 방법
  10. 제7항에 있어서,
    외부망의 IP 노드로부터 데이터 패킷을 수신하는 단계;
    상기 외부망의 IP 노드로부터 수신한 데이터 패킷이 허가된 데이터 패킷인지 여부를 검사하는 단계;
    검사 결과에 따라 상기 외부망의 IP 노드로부터 수신한 데이터 패킷을 상기 제1 원형 대기열 블럭과 서로 다른 제2 원형 대기열 블럭에 저장하는 단계; 및
    피드백 블럭에 상기 데이터 패킷이 상기 제2 원형 대기열 블럭에 저장되었다는 회신 코드를 저장하는 단계
    를 더 포함하는 부장치의 단방향 접속 방법
  11. 제10항에 있어서,
    상기 주장치는,
    상기 피드백 블럭을 폴링하여 상기 피드백 블럭에 회신 코드가 저장되었는지 여부를 판단하고, 상기 피드백 블럭에 회신 코드가 저장된 경우, 상기 제2 원형 대기열 블럭에서 상기 데이터 패킷을 로드하는 부장치의 단방향 접속 방법.
  12. 내부망과 연결되는 주장치와 외부망과 연결되는 부장치를 포함하는 단방향 접속 시스템의 주장치에 있어서,
    프로토콜, 또는 어플리케이션을 이용하여 내부망의 IP 노드로부터 데이터 패킷을 수신하는 패킷 송수신 모듈;
    상기 내부망의 IP 노드로부터 수신한 데이터 패킷이 허가된 데이터 패킷인지 여부를 검사하는 필터; 및
    검사 결과에 따라 상기 내부망의 IP 노드로부터 수신한 데이터 패킷을 상기 주장치와 유선으로 연결된 부장치의 제1 원형 대기열 블럭에 저장하고, 상기 부장치의 커맨드 블럭에 데이터 패킷의 전송을 지시하는 전송 코드를 저장하는 마스터
    를 포함하고,
    상기 마스터는,
    상기 부장치의 커맨드 블럭에 부장치와 관련된 정보를 요청하는 정보 요청 코드, 또는 부장치의 동작을 요청하는 제어 코드를 저장하고, 상기 부장치의 피드백 블럭을 폴링하여 상기 피드백 블럭에 상기 정보 요청 코드, 또는 제어 코드에 대응하는 회신 코드가 저장되었는지 여부를 판단하며, 상기 피드백 블럭에 회신 코드가 저장된 경우, 상기 제1 원형 대기열 블럭과 서로 다른 제2 원형 대기열 블럭에서 상기 정보 요청 코드, 또는 제어 코드에 대응하는 동작의 수행 결과에 따른 피드백을 로드하는 단방향 접속 시스템의 주장치
  13. 제12항에 있어서,
    상기 부장치는,
    커맨드 블럭을 폴링하여 상기 커맨드 블럭에 전송 코드가 저장되었는지 여부를 판단하고, 상기 커맨드 블럭에 전송 코드가 저장된 경우, 주장치의 프로토콜, 또는 어플리케이션으로 상기 제1 원형 대기열 블럭에서 상기 데이터 패킷을 로드하여 외부망의 IP 노드로 전송하는 단방향 접속 시스템의 주장치.
  14. 삭제
  15. 제12항에 있어서,
    상기 부장치는,
    상기 커맨드 블럭에 정보 요청 코드, 또는 제어 코드가 저장된 경우, 정보 요청 코드, 또는 제어 코드에 대응하는 동작을 수행하고, 정보 요청 코드, 또는 제어 코드에 대응하는 동작의 수행 결과에 따른 피드백을 상기 제1 원형 대기열 블럭과 서로 다른 제2 원형 대기열 블럭에 저장하며, 상기 피드백 블럭에 상기 피드백이 상기 제2 원형 대기열 블럭에 저장되었다는 회신 코드를 저장하는 단방향 접속 시스템의 주장치.
  16. 내부망과 연결되는 주장치와 외부망과 연결되는 부장치를 포함하는 단방향 접속 시스템의 주장치에 있어서,
    프로토콜, 또는 어플리케이션을 이용하여 내부망의 IP 노드로부터 데이터 패킷을 수신하는 패킷 송수신 모듈;
    상기 내부망의 IP 노드로부터 수신한 데이터 패킷이 허가된 데이터 패킷인지 여부를 검사하는 필터; 및
    검사 결과에 따라 상기 내부망의 IP 노드로부터 수신한 데이터 패킷을 상기 주장치와 유선으로 연결된 부장치의 제1 원형 대기열 블럭에 저장하고, 상기 부장치의 커맨드 블럭에 데이터 패킷의 전송을 지시하는 전송 코드를 저장하는 마스터
    를 포함하고,
    상기 마스터는,
    상기 부장치의 피드백 블럭을 폴링하여 상기 피드백 블럭에 회신 코드가 저장되었는지 여부를 판단하고, 상기 피드백 블럭에 회신 코드가 저장된 경우, 상기 제1 원형 대기열 블럭과 서로 다른 제2 원형 대기열 블럭에서 회신 코드에 대응하는 데이터 패킷을 로드하며, 상기 프로토콜, 또는 어플리케이션을 이용하여 상기 회신 코드에 대응하는 데이터 패킷을 상기 내부망의 IP 노드로 전송하는 단방향 접속 시스템의 주장치.
  17. 내부망과 연결되는 주장치와 외부망과 연결되는 부장치를 포함하는 단방향 접속 시스템의 부장치에 있어서,
    커맨드 블록, 및 제1 원형 대기열을 포함하는 메모리; 및
    상기 부장치의 메모리의 커맨드 블럭을 폴링하여 상기 커맨드 블럭에 상기 주장치로부터 데이터 패킷의 전송 시작을 나타내는 전송 코드가 저장되었는지 여부를 판단하고, 상기 커맨드 블럭에 전송 코드가 저장된 경우, 메모리의 제1 원형 대기열 블럭에서 상기 데이터 패킷을 로드하여 외부망의 IP 노드로 전송하는 부장치 에이전트를 포함하고,
    상기 주장치는,
    내부망의 IP 노드로부터 수신한 데이터 패킷을 상기 주장치와 유선으로 연결된 상기 제1 원형 대기열 블럭에 저장하고, 상기 커맨드 블럭에 전송 코드를 저장하는 단방향 접속 시스템의 부장치.
  18. 제17항에 있어서,
    상기 부장치 에이전트는,
    상기 커맨드 블럭에 정보 요청 코드, 또는 제어 코드가 저장된 경우, 정보 요청 코드, 또는 제어 코드에 대응하는 동작을 수행하고, 정보 요청 코드, 또는 제어 코드에 대응하는 동작의 수행 결과에 따른 피드백을 상기 제1 원형 대기열 블럭과 서로 다른 제2 원형 대기열 블럭에 저장하며, 피드백 블럭에 상기 피드백이 상기 제2 원형 대기열 블럭에 저장되었다는 회신 코드를 저장하는 단방향 접속 시스템의 부장치.
  19. 제17항에 있어서,
    상기 메모리는,
    상기 제1 원형 대기열 블럭과 서로 다른 제2 원형 대기열 블럭 및 피드백 블록을 더 포함하고,
    상기 부장치 에이전트는,
    외부망의 IP 노드로부터 수신한 데이터 패킷이 허가된 데이터 패킷인지 여부를 검사하고, 검사 결과에 따라 상기 외부망의 IP 노드로부터 수신한 데이터 패킷을 상기 제2 원형 대기열 블럭에 저장하며, 상기 피드백 블럭에 상기 데이터 패킷이 상기 제2 원형 대기열 블럭에 저장되었다는 회신 코드를 저장하는 단방향 접속 시스템의 부장치.
KR1020160054287A 2016-05-02 2016-05-02 전송장치 이원화에 의한 tcp/ip 망단절형 단방향 접속 시스템 및 그 방법 KR101692672B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160054287A KR101692672B1 (ko) 2016-05-02 2016-05-02 전송장치 이원화에 의한 tcp/ip 망단절형 단방향 접속 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160054287A KR101692672B1 (ko) 2016-05-02 2016-05-02 전송장치 이원화에 의한 tcp/ip 망단절형 단방향 접속 시스템 및 그 방법

Publications (1)

Publication Number Publication Date
KR101692672B1 true KR101692672B1 (ko) 2017-01-03

Family

ID=57797044

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160054287A KR101692672B1 (ko) 2016-05-02 2016-05-02 전송장치 이원화에 의한 tcp/ip 망단절형 단방향 접속 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR101692672B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180131844A (ko) * 2017-06-01 2018-12-11 한국전자통신연구원 단방향 통신을 이용하여 양방향 통신을 지원하는 장치 및 그 방법
KR102379721B1 (ko) * 2021-09-03 2022-03-29 프라이빗테크놀로지 주식회사 Tcp 세션 제어에 기초하여 애플리케이션의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
KR102502367B1 (ko) * 2022-03-17 2023-02-23 프라이빗테크놀로지 주식회사 컨트롤러 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140135020A (ko) * 2013-05-15 2014-11-25 (주)한국거래소 Low Latency 프레임워크 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140135020A (ko) * 2013-05-15 2014-11-25 (주)한국거래소 Low Latency 프레임워크 시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
허영준 외 4인 한국통신학회 2016년도 논문, "단방향 전송 데이터의 신뢰성과 보안성을 제공하는 단방향보안게이트웨이 설계" (2016.01. 공개) *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180131844A (ko) * 2017-06-01 2018-12-11 한국전자통신연구원 단방향 통신을 이용하여 양방향 통신을 지원하는 장치 및 그 방법
KR102008951B1 (ko) * 2017-06-01 2019-08-08 한국전자통신연구원 단방향 통신을 이용하여 양방향 통신을 지원하는 장치 및 그 방법
US10931655B2 (en) 2017-06-01 2021-02-23 Electronics And Telecommunications Research Institute Apparatus and method for supporting bidirectional communication using unidirectional communication
KR102379721B1 (ko) * 2021-09-03 2022-03-29 프라이빗테크놀로지 주식회사 Tcp 세션 제어에 기초하여 애플리케이션의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
WO2023033586A1 (ko) * 2021-09-03 2023-03-09 프라이빗테크놀로지 주식회사 Tcp 세션 제어에 기초하여 애플리케이션의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
KR102502367B1 (ko) * 2022-03-17 2023-02-23 프라이빗테크놀로지 주식회사 컨트롤러 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
WO2023177238A1 (ko) * 2022-03-17 2023-09-21 프라이빗테크놀로지 주식회사 컨트롤러 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법

Similar Documents

Publication Publication Date Title
JP6518771B2 (ja) セキュリティシステム、通信制御方法
US9088558B2 (en) Secure one-way interface for OPC data transfer
CN101707617B (zh) 报文过滤方法、装置及网络设备
US20070101422A1 (en) Automated network blocking method and system
CN109479013B (zh) 计算机网络中的业务的日志记录
EP3039833A1 (en) System and method for providing a data service in an engineered system for middleware and application execution
US11063908B2 (en) On-vehicle communication device, communication control method, and communication control program
US10951742B1 (en) Methods, systems, and computer program products for sharing information for detecting at least one time period for a connection
CN106230870B (zh) 私有协议文件传输系统与方法
KR101692672B1 (ko) 전송장치 이원화에 의한 tcp/ip 망단절형 단방향 접속 시스템 및 그 방법
JP5134141B2 (ja) 不正アクセス遮断制御方法
EP2680141A1 (en) Security for TCP/IP-based access from a virtual machine to network attached storage by creating dedicated networks, MAC address authentification and data direction control
CN105373891A (zh) 智能电网数据管理和传输系统
US11601433B2 (en) Communication device, communication method, and communication system
EP4162654A1 (en) Diagnosing intermediary network nodes
CN106130863B (zh) 局域网协议报文的传送方法、装置以及系统
CN110430478B (zh) 组网通信方法、装置、终端设备及存储介质
EP4170971A1 (en) End point secured network
KR101216581B1 (ko) 듀얼 os를 이용한 보안 시스템 및 그 방법
US8737413B2 (en) Relay server and relay communication system
KR101692670B1 (ko) 단방향 데이터 전송 시스템 및 그 방법
CN105721453A (zh) 一种网络隔离系统和网络录像机
JP3725140B2 (ja) パケット転送装置およびパケット転送方法
JP2013168036A (ja) 認証方法、エッジノード、及び認証サーバ
JP7080412B1 (ja) リモートシステム、リモート接続方法およびプログラム

Legal Events

Date Code Title Description
GRNT Written decision to grant