KR20230125944A - Method and apparatus for encapsulated packet communication in packet tunneling network using disposable identifiers - Google Patents

Method and apparatus for encapsulated packet communication in packet tunneling network using disposable identifiers Download PDF

Info

Publication number
KR20230125944A
KR20230125944A KR1020220022814A KR20220022814A KR20230125944A KR 20230125944 A KR20230125944 A KR 20230125944A KR 1020220022814 A KR1020220022814 A KR 1020220022814A KR 20220022814 A KR20220022814 A KR 20220022814A KR 20230125944 A KR20230125944 A KR 20230125944A
Authority
KR
South Korea
Prior art keywords
temporary identifier
packet
list
security device
receiving
Prior art date
Application number
KR1020220022814A
Other languages
Korean (ko)
Other versions
KR102676142B1 (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 KR1020220022814A priority Critical patent/KR102676142B1/en
Priority claimed from KR1020220022814A external-priority patent/KR102676142B1/en
Publication of KR20230125944A publication Critical patent/KR20230125944A/en
Application granted granted Critical
Publication of KR102676142B1 publication Critical patent/KR102676142B1/en

Links

Classifications

    • 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
    • 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/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • 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/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/659Internet protocol version 6 [IPv6] addresses

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

본 발명은 패킷 터널링 네트워크에서 캡슐화된 패킷을 송수신하는 방법, 장치, 및 그에 의한 시스템에 대한 것으로, 보다 구체적으로는, 네트워크 구성 변조에 의한 네트워크 보안 기술의 일종인 이동 표적 방어(Moving Target Defense; MTD) 프로토콜이 적용된 터널링 네트워크에 대한 부적절한 침투 및 조사를 어렵게 하는 기술에 대한 것이다. 본 발명의 일 양태에 따른 네트워크 시스템은 송신 단말기, 송신측 보안 장치, 수신측 보안 장치, 및 적어도 하나의 수신 단말기를 포함할 수 있다. 상기 송신측 보안 장치는, 적어도 하나의 송신측 임시식별자를 생성하여 목록에 저장하고, 송신 단말기가 송신한 일반 패킷을 캡슐화된 패킷으로 변환하여 수신측 보안 장치로 송신하도록 구성되고, 상기 캡슐화된 패킷은 헤더, 적어도 하나의 페이로드, 그리고 적어도 하나의 송신측 임시식별자를 포함하고, 상기 수신측 보안 장치는, 적어도 하나의 수신측 임시식별자를 생성하여 목록에 저장하고, 상기 송신측 보안 장치로부터 상기 캡슐화된 패킷을 수신하고, 상기 캡슐화된 패킷에 포함된 상기 송신측 임시식별자가 상기 목록의 상기 수신측 임시식별자 중 적어도 하나와 대응하는지 판단하고, 대응한다고 판단되는 경우에 한해, 상기 캡슐화된 패킷을 일반 패킷으로 변환하는 것을 특징으로 할 수 있다.The present invention relates to a method, apparatus, and system for transmitting and receiving encapsulated packets in a packet tunneling network, and more specifically, to a moving target defense (MTD), which is a kind of network security technology by modulating network configuration. ) protocol is applied to techniques that make it difficult to infiltrate and investigate improper tunneling networks. A network system according to an aspect of the present invention may include a sending terminal, a sending security device, a receiving side security device, and at least one receiving terminal. The sender-side security device is configured to generate and store at least one sender-side temporary identifier in a list, convert a normal packet transmitted by a sender terminal into an encapsulated packet, and transmit the encapsulated packet to a receive-side security device, wherein the encapsulated packet includes a header, at least one payload, and at least one sender-side temporary identifier, and the receiving-side security device generates and stores at least one receiving-side temporary identifier in a list, An encapsulated packet is received, it is determined whether the sender temporary identifier included in the encapsulated packet corresponds to at least one of the receive side temporary identifiers in the list, and only when it is determined that it corresponds, the encapsulated packet is sent. It may be characterized by converting into a normal packet.

Description

임시식별자를 이용하는 패킷 터널링 네트워크에서의 캡슐화된 패킷 통신 방법 및 장치 {METHOD AND APPARATUS FOR ENCAPSULATED PACKET COMMUNICATION IN PACKET TUNNELING NETWORK USING DISPOSABLE IDENTIFIERS}Encapsulated packet communication method and apparatus in packet tunneling network using temporary identifier

본 발명은 패킷 터널링 네트워크에서 캡슐화된 패킷을 송수신하는 방법, 장치, 및 그에 의한 시스템에 대한 것으로, 보다 구체적으로는, 네트워크 구성 변조에 의한 네트워크 보안 기술의 일종인 이동 표적 방어(Moving Target Defense; MTD) 프로토콜이 적용된 터널링 네트워크에 대한 부적절한 침투 및 조사를 어렵게 하는 기술에 대한 것이다.The present invention relates to a method, apparatus, and system for transmitting and receiving encapsulated packets in a packet tunneling network, and more specifically, to a moving target defense (MTD), which is a kind of network security technology by modulating network configuration. ) protocol is applied to techniques that make it difficult to infiltrate and investigate improper tunneling networks.

네트워크에 부정한 접근을 시도하는 공격자에게 있어서, 침입의 초기 단계에는 이른바 정찰(Reconnnaissance)행위가 수반된다. 정찰 단계에서 공격자는 네트워크 환경에 존재하는 잠재적 목표물과 그 목표물의 특성에 대한 정보를 수집할 수 있다. 상기 특성에 대한 정보란 이를테면, 노출된 IP(Internet Protocol) 주소, 노출된 포트 번호, 및 목표물에 이르는 네트워크 중계 경로 등에 대한 정보를 포함할 수 있다. 공격자는 존재 여부가 확인되지 않은 임의의 목표물에 대해 반복적인 정찰 목적의 부정한 통신을 시도함으로써 목표물에 도달할 수 있는 유효한 특징 정보를 획득할 수 있고, 그 결과에 기초하여 공격을 위한 악성 코드 또는 악성 패킷 페이로드와 같은 정보 무기를 개발할 수 있게 된다.For an attacker attempting fraudulent access to a network, the initial stage of intrusion involves so-called reconnaissance. In the reconnaissance phase, attackers can gather information about potential targets in the network environment and their characteristics. The information on the characteristics may include, for example, information about an exposed Internet Protocol (IP) address, an exposed port number, and a network relay path to a target. An attacker can acquire valid characteristic information that can reach a target by repeatedly attempting fraudulent communication for reconnaissance purposes against a target whose existence has not been confirmed, and based on the result, malicious code or malicious code for attack Information weapons such as packet payloads can be developed.

컴퓨터 네트워크의 정적인 특성은 공격자가 상기 네트워크 정찰 행위를 수행하는 것을 용이하게 한다. 즉, 반복적인 정찰이 시행되는 동안 네트워크의 형상이 고정되어 있음으로 하여, 시간을 들인 정찰을 통해 네트워크의 실체가 공격자에게 노출될 수 있다는 것이다. 이러한 공격자의 이점을 상쇄하기 위해, 이른바 "이동 표적 방어(Moving Target Defense; MTD)"라는 보안기술이 종래에 개발되어 사용되고 있다. 네트워크 기반의 MTD(Network-based MTD; NMTD)가 적용된 경우, 네트워크의 구성이 동적으로 또 임의적으로 변경되어, 주기적으로 공격자가 정찰을 통해 획득한 기존의 정보를 무효화한다.The static nature of computer networks facilitates attackers to perform such network reconnaissance actions. That is, since the shape of the network is fixed while repetitive reconnaissance is being performed, the identity of the network may be exposed to an attacker through reconnaissance taking time. In order to offset these advantages of an attacker, a so-called "Moving Target Defense (MTD)" security technology has been developed and used in the past. When a network-based MTD (NMTD) is applied, the configuration of the network is dynamically and arbitrarily changed to invalidate existing information obtained by an attacker through reconnaissance periodically.

NMTD에 의한 보안은 크게 실제 호스트 식별자를 변경하는 방식과 가상 호스트 식별자를 두고 이를 변경하는 방식으로 분류된다. 종래의 NMTD 보안 방식들 중 일부는 실제 호스트 식별자(예를 들어, 호스트의 IP 주소)를 주기적으로 변경하며, 이러한 변경 행위를 "호핑(Hopping)"이라 부른다. 반면에, 소프트웨어 기반 또는 중계 게이트웨이에 기반하는 NMTD 보안 방식의 경우, 가상 호스트 식별자(예를 들어, 게이트웨이의 외부 IP 주소)에 대해서만 호핑을 수행하면서, 실제 호스트 식별자는 네트워크 외부에 숨겨진 상태로 유지한다.Security by NMTD is largely classified into a method of changing a real host identifier and a method of changing a virtual host identifier. Some of the conventional NMTD security schemes periodically change the actual host identifier (eg, the host's IP address), and this change is called “hopping”. On the other hand, in the case of software-based or intermediate gateway-based NMTD security schemes, hopping is performed only on the virtual host identifier (e.g., the external IP address of the gateway) while keeping the real host identifier hidden outside the network. .

상기와 같은 NMTD는 자동화된 공격자 및 초보적인 공격자를 물리치기에 충분하지만, 숙련된 인간 공격자에게는 효과적이지 않을 수 있다. 또한, 흐름-수준(Flow-level)의 트래픽으로부터 호스트를 수동적으로 추정해 내는 수동 호스트 프로파일링 공격(Passive host profiling attacks)에는 취약할 수 있다. 수동 호스트 프로파일링 공격을 통하면 보호 대상이 되는 호스트의 현재 활성 IP 주소 및 포트 조합을 획득할 수 있다.Such NMTDs are sufficient to defeat automated and novice attackers, but may not be effective against skilled human attackers. It can also be vulnerable to passive host profiling attacks, which passively infer hosts from flow-level traffic. A passive host profiling attack can obtain the currently active IP address and port combination of the host being protected.

이 같이 숙련된 인간 공격자와 수동 호스트 프로파일링 공격에 대처하려면, 호핑에 의해 변경되는 식별자의 정보 집합 공간은 최대한 넓어야 하고, 호핑이 실시되는 빈도는 최대한 잦아야만 한다. 종래의 NMTD 분야 공지기술 중 하나인 MT6D(Moving Target IPv6 Defense)는 호핑 공간의 확대를 위하여 변경 대상 식별자로서 최대 128비트 길이를 가지는 식별자인 IPv6를 사용한다. 또한, 종래의 공지기술에서는 낮은 빈도의 변경(LFM; Low Frequency Mutation)과 높은 빈도의 변경(HFM; High Frequency Mutation)을 병행함으로써 호핑 시간 간격을 감소시키고자 하는 기술도 존재한다.In order to cope with such a skilled human attacker and passive host profiling attack, the information set space of the identifier changed by hopping should be as wide as possible, and the frequency of hopping should be as frequent as possible. MT6D (Moving Target IPv6 Defense), one of the conventional NMTD field known technologies, uses IPv6, an identifier having a maximum length of 128 bits, as an identifier to be changed in order to expand a hopping space. In addition, in the conventional known technology, there is also a technique for reducing the hopping time interval by performing low frequency mutation (LFM) and high frequency mutation (HFM) in parallel.

NMTD 기술에 있어, 호핑 공간이 작은 경우, 임의의 공격자가 호핑 공간에 대한 브루트 포스 공격(Brute force attack)을 통해 제한된 호핑 시간 내에 유효한 통신을 성립시킬 수 있다는 우려가 있다. 그러나 호핑 공간을 확대하는 것에는 한계가 있는데, 아무리 주소를 익명화시키더라도 최소한 수신측의 게이트웨이에 패킷이 전달되어야 하므로, 해당 게이트웨이를 식별할 수 있는 최소한의 주소를 남길 수밖에 없기 때문이다.In the NMTD technology, when the hopping space is small, there is a concern that an arbitrary attacker may establish effective communication within a limited hopping time through a brute force attack on the hopping space. However, there is a limit to expanding the hopping space, because no matter how much the address is anonymized, since the packet has to be delivered to the gateway of the receiving side at least, the minimum address that can identify the corresponding gateway must be left.

또한 공격자의 간섭을 방지하기 위하여 호핑 시간 간격을 최소화하게 되면, 네트워크 라우팅 테이블을 자주 업데이트하여야 하고, 네트워크 인터페이스에 통지되어 이미 결합(Binding)이 이루어진 IP 주소를 계속해서 해제하고 또 재결합시켜야 한다는 문제가 있다. 이 경우 중대한 통신 속도 저하가 발생할 우려가 있다.In addition, if the hopping time interval is minimized to prevent attacker interference, there is a problem that the network routing table must be updated frequently, and the IP address that has already been bound by being notified to the network interface must be continuously released and reassociated. there is. In this case, there is a risk of significant communication speed degradation.

따라서 종래의 NMTD 기술에 의하면, 이론적으로는 매 패킷 단위로 호핑이 가능함에도 불구하고, 이를 실질적으로 구현하지 못하는 문제가 있으며, 이러한 문제가 곧 본 발명의 기술적 과제를 도출한다.Therefore, according to the conventional NMTD technology, although hopping is theoretically possible in units of packets, there is a problem in that it cannot be practically implemented, and this problem leads to the technical problem of the present invention.

본 발명의 기술적 과제는 호핑 시간 간격을 최소화시키면서도 호핑 공간을 확대하여 임시식별자를 사용하는 방법을 제공함에 있다. 본 발명의 다른 기술적 과제는 큰 호핑 공간과 매우 작은 호핑 시간 간격으로 예측-불가능성을 극대화하기 위해 모든 캡슐화된 패킷에 임시식별자를 적용하는 방법을 제공함에 있다.A technical problem of the present invention is to provide a method of using a temporary identifier by expanding a hopping space while minimizing a hopping time interval. Another technical problem of the present invention is to provide a method of applying a temporary identifier to all encapsulated packets in order to maximize unpredictability in a large hopping space and a very small hopping time interval.

상술한 문제점을 해결하기 위한 본 발명의 일 양태에 따른 캡슐화된 패킷의 처리 방법은, 수신측 보안 장치, 송신측 보안 장치, 및 적어도 하나의 수신 단말기를 포함하는 네트워크에서 수신측 보안 장치에 의한 패킷의 처리 방법으로서, 상기 적어도 하나의 수신 단말기에 대한 수신 단말기 주소를 획득하는 단계, 제1 알고리즘에 의해 생성되고, 제1 정보집합에 속하는, 적어도 하나의 수신측 임시식별자를 생성하여 목록에 저장하는 단계, 적어도 하나의 캡슐화된 패킷을 송신측 보안 장치로부터 수신하는 단계(상기 캡슐화된 패킷은 헤더, 페이로드, 및 제2 정보집합에 속하는 송신측 임시식별자를 포함함), 상기 송신측 임시식별자가 상기 목록에 저장된 수신측 임시식별자 중 어느 하나에 대응하는지를 판단하는 단계, 상기 송신측 임시식별자가 상기 목록에 저장된 수신측 임시식별자 중 어느 하나와 대응하는 경우, 상기 캡슐화된 패킷으로부터 상기 수신 단말기 주소를 포함하는 일반 패킷을 획득하고, 상기 대응하는 수신측 임시식별자를 상기 목록에서 삭제하는 단계, 및 상기 수신 단말기 주소에 기반하여 상기 일반 패킷을 수신 단말기로 송신하는 단계를 포함할 수 있다.A method for processing an encapsulated packet according to an aspect of the present invention to solve the above problem is a packet by a receiving side security device in a network including a receiving side security device, a sending side security device, and at least one receiving terminal As a processing method, obtaining a receiving terminal address for the at least one receiving terminal, generating at least one receiving side temporary identifier generated by a first algorithm and belonging to a first information set and storing it in a list Step, receiving at least one encapsulated packet from a security device on the transmission side (the encapsulated packet includes a header, a payload, and a temporary identifier on the transmission side belonging to a second information set), wherein the temporary identifier on the transmission side is Determining whether the temporary identifier of the receiver corresponds to one of the temporary identifiers of the receiver stored in the list; If the temporary identifier of the transmitter corresponds to any one of the temporary identifiers of the receiver stored in the list, the address of the receiver is obtained from the encapsulated packet. The method may include obtaining a normal packet including a normal packet, deleting the corresponding temporary identifier of the receiving party from the list, and transmitting the normal packet to a receiving terminal based on the address of the receiving terminal.

상기 목록은 새로운 상기 수신 단말기 주소가 획득될 때마다 새로 생성되고, 상기 제1 알고리즘은, 상기 수신 단말기 주소에 대한 상기 목록이 비어 있을 경우 상기 수신 단말기 주소의 전부 또는 일부, 및 현재 시간 정보 중 적어도 하나를 사용하여 새로운 수신측 임시식별자를 생성하고, 상기 목록이 비어 있지 않을 경우, 상기 목록에 이미 저장된 수신측 임시식별자의 전부 또는 일부, 및 현재 시간 정보 중 적어도 하나를 사용하여 새로운 수신측 임시식별자를 생성하도록 구성될 수 있다.The list is newly created whenever a new address of the called terminal is obtained, and the first algorithm determines that, when the list for the address of the called terminal is empty, at least one of all or part of the address of the called terminal and current time information. If the list is not empty, at least one of all or some of the recipient temporary identifiers already stored in the list and current time information is used to create a new recipient temporary identifier. It can be configured to generate.

상기 적어도 하나의 수신측 임시식별자를 생성하여 목록에 저장하는 단계는, 동시에 적어도 제1 임계수 이상 개수의 임시식별자를 연속적으로 생성하여 목록에 저장하도록 구성되고, 상기 단계는 상기 수신측 임시식별자가 목록에서 삭제되는 동작으로 인하여 목록에 저장된 임시식별자의 개수가 제2 임계수 이하가 될 때마다 반복해서 실행되도록 구성될 수 있다.The step of generating and storing at least one recipient temporary identifier in the list is configured to continuously generate at least a first threshold or more temporary identifiers and store them in the list, wherein the recipient temporary identifier is stored in the list. It may be configured to be repeatedly executed whenever the number of temporary identifiers stored in the list becomes less than or equal to the second critical number due to the operation being deleted from .

상기 제2 정보집합은 상기 제1 정보집합에 대하여 동치이거나(G1=G2) 부분집합(G1⊇G2)이고, 상기 송신측 임시식별자가 상기 목록에 저장된 수신측 임시식별자 중 어느 하나에 대응하는지를 판단하는 단계는, 상기 두 임시식별자가 동일한지 여부를 판단하는 단계를 포함함을 특징으로 할 수 있다.The second information set is equivalent to the first information set (G1=G2) or a subset (G1⊇G2), and it is determined whether the sender temporary identifier corresponds to one of the receiver temporary identifiers stored in the list. The step may include determining whether the two temporary identifiers are the same.

상기 일반 패킷을 획득하는 단계는, 하나 이상의 상기 캡슐화된 패킷으로부터 하나의 상기 일반 패킷을 획득하는 절차를 포함할 수 있다.The obtaining of the normal packet may include obtaining one of the normal packets from one or more of the encapsulated packets.

상기 송신측 임시식별자는, 1) 상기 캡슐화된 패킷의 가장 앞, 2) 상기 캡슐화된 패킷의 헤더의 앞 또는 내부, 3) 상기 캡슐화된 패킷의 페이로드의 앞 또는 내부, 4) 상기 캡슐화된 패킷의 맨 뒤 중 어느 하나의 위치에 저장된 것으로부터 획득될 수 있다.The sender temporary identifier is: 1) at the front of the encapsulated packet, 2) at the front or inside of the header of the encapsulated packet, 3) at the front or inside of the payload of the encapsulated packet, 4) at the front of the encapsulated packet It can be obtained from what is stored in any one of the positions at the back of .

상기 목록은, 상기 제1 정보집합의 구성요소와 각 구성요소에 할당되는 카운터(Counter)를 포함하고, 상기 수신측 임시식별자를 생성하여 상기 목록에 저장하는 단계는, 상기 제1 정보집합에 속하는 어느 하나의 구성요소에 할당된 카운터 값을 1 증가시키는 단계를 포함하고, 상기 판단하는 단계는, 상기 목록에서 대응하는 수신측 임시식별자에 할당된 카운터 값이 1 미만인 경우, 대응하지 않는다고 판단하는 단계를 더 포함하며, 상기 수신측 임시식별자를 상기 목록에서 삭제하는 단계는, 상기 목록에서 삭제하는 수신측 임시식별자에 할당된 카운터 값을 1 감소시키도록 구성될 수 있다.The list includes components of the first information set and counters allocated to each component, and the step of generating and storing the recipient temporary identifier in the list includes: and increasing a counter value assigned to any one element by 1, wherein the determining step is, if the counter value assigned to the corresponding recipient temporary identifier in the list is less than 1, determining that it does not correspond. The method may further include deleting the recipient temporary identifier from the list by decrementing a counter value assigned to the recipient temporary identifier to be deleted from the list by 1.

상기 제1 보안 장치 및 제2 보안 장치는 네트워크 주소 변조(Moving Target Defense; MTD)를 활용하는 패킷 중계 장치이고, 상기 캡슐화된 패킷은 상기 MTD 기반의 터널링 패킷 프로토콜에 대응하고, 상기 수신 단말기 주소는 IPv6 주소이고, 상기 캡슐화된 패킷과 일반 패킷 중 적어도 하나는 IPv6 패킷일 수 있다.The first security device and the second security device are packet relay devices utilizing MTD (Moving Target Defense), the encapsulated packet corresponds to the MTD-based tunneling packet protocol, and the receiving terminal address is IPv6 address, and at least one of the encapsulated packet and the normal packet may be an IPv6 packet.

상술한 문제점을 해결하기 위한 본 발명의 일 양태에 따른 캡슐화된 패킷의 처리 방법은, 송신 단말기, 송신측 보안 장치, 및 수신측 보안 장치를 포함하는 네트워크에서 송신측 보안 장치에 의한 패킷의 처리 방법으로서, 제2 알고리즘에 의해 생성되고, 제2 정보집합에 속하는, 적어도 하나의 송신측 임시식별자를 생성하여 목록에 저장하는 단계, 수신 단말기 주소를 포함하는 적어도 하나의 일반 패킷을 상기 송신 단말기로부터 수신하는 단계, 상기 목록에서 순서에 따라 하나의 송신측 임시식별자를 선택하고, 상기 선택된 송신측 임시식별자를 상기 목록에서 삭제하는 단계, 상기 선택된 송신측 임시식별자 및 상기 일반 패킷으로부터 적어도 하나의 캡슐화된 패킷을 생성하는 단계(상기 캡슐화된 패킷은 헤더, 페이로드, 및 상기 송신측 임시식별자를 포함함), 및 상기 캡슐화된 패킷을 상기 수신측 보안 장치로 송신하는 단계를 포함할 수 있다. A method for processing an encapsulated packet according to an aspect of the present invention for solving the above problems is a method for processing packets by a transmission-side security device in a network including a transmission terminal, a transmission-side security device, and a reception-side security device. generating at least one sender temporary identifier generated by a second algorithm and belonging to a second information set and storing it in a list; receiving at least one general packet including a receiver terminal address from the sender terminal; selecting one sender temporary identifier in order from the list, and deleting the selected sender temporary identifier from the list, the selected sender temporary identifier and at least one encapsulated packet from the normal packet. Generating (the encapsulated packet includes a header, payload, and the sending side temporary identifier), and transmitting the encapsulated packet to the receiving side security device.

상기 목록은 새로운 상기 수신 단말기 주소가 획득될 때마다 새로 생성되고, 상기 제2 알고리즘은, 상기 수신 단말기 주소에 대한 상기 목록이 비어 있을 경우 상기 수신 단말기 주소의 전부 또는 일부, 및 현재 시간 정보 중 적어도 하나를 사용하여 새로운 송신측 임시식별자를 생성하고, 상기 목록이 비어 있지 않을 경우, 상기 목록에 이미 저장된 송신측 임시식별자의 전부 또는 일부, 및 현재 시간 정보 중 적어도 하나를 사용하여 새로운 송신측 임시식별자를 생성하도록 구성될 수 있다.The list is newly created whenever a new address of the called terminal is acquired, and the second algorithm, if the list for the address of the called terminal is empty, at least one of all or part of the address of the called terminal and current time information. A new sender temporary identifier is generated using one, and if the list is not empty, at least one of all or some of the sender temporary identifiers already stored in the list and current time information is used to generate a new sender temporary identifier. It can be configured to generate.

상기 적어도 하나의 송신측 임시식별자를 생성하여 목록에 저장하는 단계는, 동시에 적어도 제3 임계수 이상 개수의 임시식별자를 연속적으로 생성하여 목록에 저장하도록 구성되고, 상기 단계는 상기 송신측 임시식별자가 목록에서 삭제되는 동작으로 인하여 목록에 저장된 임시식별자의 개수가 제4 임계수 이하가 될 때마다 반복해서 실행되도록 구성될 수 있다.The generating and storing at least one temporary identifier of the sender side in the list is configured to continuously generate at least a third threshold or more temporary identifiers and store them in the list, wherein the temporary identifier of the sender side is stored in the list. It may be configured to be repeatedly executed whenever the number of temporary identifiers stored in the list becomes equal to or less than the fourth threshold due to the operation being deleted from .

상기 제2 정보집합은 제1 정보집합의 구성요소 중 어느 하나에 대응하도록 구성될 수 있다.The second information set may be configured to correspond to any one of the components of the first information set.

상기 제2 정보집합은 상기 제1 정보집합에 대하여 동치이거나(G1=G2) 부분집합(G1⊇G2)일 수 있다.The second information set may be equivalent to the first information set (G1=G2) or may be a subset (G1⊇G2).

상기 캡슐화된 패킷을 생성하는 단계는, 하나의 상기 일반 패킷을 하나 이상의 상기 캡슐화된 패킷의 페이로드에 나누어 삽입하는 절차를 포함할 수 있다.The generating of the encapsulated packet may include dividing and inserting one normal packet into payloads of one or more encapsulated packets.

상기 송신측 임시식별자는, 1) 상기 캡슐화된 패킷의 가장 앞, 2) 상기 캡슐화된 패킷의 헤더의 앞 또는 내부, 3) 상기 캡슐화된 패킷의 페이로드의 앞 또는 내부, 4) 상기 캡슐화된 패킷의 맨 뒤 중 어느 하나의 위치에 삽입될 수 있다.The sender temporary identifier is: 1) at the front of the encapsulated packet, 2) at the front or inside of the header of the encapsulated packet, 3) at the front or inside of the payload of the encapsulated packet, 4) at the front of the encapsulated packet It can be inserted at any one of the positions at the back of.

상기 제1 보안 장치 및 제2 보안 장치는 네트워크 주소 변조(Moving Target Defense; MTD)를 활용하는 패킷 중계 장치이고, 상기 캡슐화된 패킷은 상기 MTD 기반의 터널링 패킷 프로토콜에 대응하고, 상기 수신 단말기 주소는 IPv6 주소이고, 상기 캡슐화된 패킷과 일반 패킷 중 적어도 하나는 IPv6 패킷일 수 있다.The first security device and the second security device are packet relay devices utilizing MTD (Moving Target Defense), the encapsulated packet corresponds to the MTD-based tunneling packet protocol, and the receiving terminal address is IPv6 address, and at least one of the encapsulated packet and the normal packet may be an IPv6 packet.

상술한 문제점을 해결하기 위한 본 발명의 일 양태에 따른 네트워크에서의 수신측 보안 장치는, 적어도 하나의 수신 단말기에 대한 수신 단말기 주소를 획득하는 네트워크 관리부, 제1 정보집합에 속하는 적어도 하나의 수신측 임시식별자를 생성하는 임시식별자 생성부, 적어도 하나의 수신측 임시식별자의 목록을 저장하는 저장부, 적어도 하나의 캡슐화된 패킷을 송신측 보안 장치로부터 수신하는 수신부(상기 캡슐화된 패킷은 헤더, 페이로드, 및 제2 정보집합에 속하는 송신측 임시식별자를 포함함), 상기 송신측 임시식별자가 상기 저장부에 저장된 수신측 임시식별자 중 어느 하나에 대응하는지를 판단하고, 상기 송신측 임시식별자가 상기 저장부에 저장된 수신측 임시식별자 중 어느 하나와 대응하는 경우, 상기 캡슐화된 패킷으로부터 수신 단말기 주소를 포함하는 일반 패킷을 획득하고, 상기 대응하는 수신측 임시식별자를 상기 저장부의 목록에서 삭제하는 처리부, 및 상기 수신 단말기 주소에 기반하여 상기 일반 패킷을 수신 단말기로 송신하는 송신부를 포함하는, 캡슐화된 패킷의 수신 장치일 수 있다.In order to solve the above problems, a receiving side security device in a network according to an aspect of the present invention includes a network management unit acquiring a receiving terminal address for at least one receiving terminal, and at least one receiving side belonging to a first information set. A temporary identifier generation unit that generates a temporary identifier, a storage unit that stores a list of at least one temporary identifier on the receiving side, and a receiving unit that receives at least one encapsulated packet from the transmitting side security device (the encapsulated packet includes a header and a payload) , and a sending side temporary identifier belonging to the second information set), it is determined whether the sending side temporary identifier corresponds to one of the receiving side temporary identifiers stored in the storage unit, and the sending side temporary identifier corresponds to the storage unit. a processing unit that obtains a general packet including an address of a receiving terminal from the encapsulated packet, and deletes the corresponding temporary identifier of the receiving side from the list of the storage unit, if it corresponds to any one of the temporary identifiers of the receiving side stored in ; It may be an apparatus for receiving an encapsulated packet including a transmitter for transmitting the general packet to a receiving terminal based on an address of the receiving terminal.

상술한 문제점을 해결하기 위한 본 발명의 일 양태에 따른 네트워크에서의 송신측 보안 장치는, 제2 정보집합에 속하는 적어도 하나의 송신측 임시식별자를 생성하는 임시식별자 생성부, 적어도 하나의 송신측 임시식별자의 목록을 저장하는 저장부, 수신 단말기 주소를 포함하는 적어도 하나의 일반 패킷을 송신 단말기로부터 수신하는 수신부, 상기 저장부의 목록에서 순서에 따라 하나의 송신측 임시식별자를 선택하고, 상기 선택된 송신측 임시식별자를 상기 목록에서 삭제하고, 상기 선택된 송신측 임시식별자 및 상기 일반 패킷으로부터 적어도 하나의 캡슐화된 패킷을 생성하는 처리부(상기 캡슐화된 패킷은 헤더, 페이로드, 및 상기 송신측 임시식별자를 포함함), 및 상기 캡슐화된 패킷을 상기 수신측 보안 장치로 송신하는 송신부를 포함하는, 캡슐화된 패킷의 송신 장치일 수 있다.In order to solve the above problem, a transmitter security device in a network according to an aspect of the present invention includes a temporary identifier generation unit for generating at least one transmitter temporary identifier belonging to a second information set, and at least one transmitter temporary identifier. A storage unit for storing a list of identifiers, a receiver for receiving at least one general packet including the address of a receiver terminal from a transmitter terminal, selecting one sender temporary identifier in order from the list in the storage unit, and selecting the selected transmitter party A processor for deleting a temporary identifier from the list and generating at least one encapsulated packet from the selected sender temporary identifier and the normal packet (the encapsulated packet includes a header, a payload, and the sender temporary identifier) ), and a transmitter for transmitting the encapsulated packet to the receiving side security device.

상술한 문제점을 해결하기 위한 본 발명의 일 양태에 따른 송신 단말기, 송신측 보안 장치, 수신측 보안 장치, 및 적어도 하나의 수신 단말기를 포함하는 네트워크 시스템은, 상기 송신측 보안 장치는, 적어도 하나의 송신측 임시식별자를 생성하여 목록에 저장하고, 송신 단말기로부터 수신 단말기 주소를 포함하는 일반 패킷을 수신하고, 상기 일반 패킷을 적어도 하나의 상기 송신측 임시식별자를 포함하는 캡슐화된 패킷으로 변환하고, 상기 포함된 송신측 임시식별자를 상기 목록에서 삭제하고, 상기 캡슐화된 패킷을 수신측 보안 장치로 송신하도록 구성되고, 상기 캡슐화된 패킷은 헤더, 적어도 하나의 페이로드, 그리고 적어도 하나의 송신측 임시식별자를 포함하고, 상기 수신측 보안 장치는, 적어도 하나의 수신측 임시식별자를 생성하여 목록에 저장하고, 상기 송신측 보안 장치로부터 상기 캡슐화된 패킷을 수신하고, 상기 캡슐화된 패킷에 포함된 상기 송신측 임시식별자가 상기 목록의 상기 수신측 임시식별자 중 적어도 하나와 대응하는지 판단하고, 대응한다고 판단되는 경우에 한해, 상기 대응한다고 판단된 수신측 임시식별자를 상기 목록에서 삭제하고, 상기 캡슐화된 패킷을 일반 패킷으로 변환하고, 상기 일반 패킷을 상기 수신 단말기 주소에 기반하여 상기 수신 단말기로 전송하도록 구성되고, 상기 송신측 임시식별자는, 상기 송신측 보안 장치에서 제2 알고리즘에 의해 생성되는 제2 정보집합에 속하는 정보이며, 상기 수신측 보안 장치에서 제1 알고리즘에 의해 제1 정보집합 내에서 생성되는 상기 수신측 임시식별자와 대응 관계를 가지며, 임의의 송신측 임시식별자와 임의의 수신측 임시식별자 간의 대응 관계는 상기 수신측 보안 장치에 의하여 판단되도록 구성되고, 상기 송신측 임시식별자는, 상기 캡슐화된 패킷의 1) 가장 앞, 2) 헤더의 앞 또는 내부, 3) 페이로드의 앞 또는 내부, 4) 맨 뒤 중 어느 하나의 위치에 삽입되는 것을 특징으로 할 수 있다.A network system including a sending terminal, a sending security device, a receiving side security device, and at least one receiving terminal according to an aspect of the present invention for solving the above problems, wherein the sending side security device includes at least one generating and storing a sender temporary identifier in a list, receiving a normal packet including a receiver terminal address from a sender terminal, converting the normal packet into an encapsulated packet including at least one sender temporary identifier, and Delete the included sender temporary identifier from the list, and transmit the encapsulated packet to a receive side security device, wherein the encapsulated packet includes a header, at least one payload, and at least one sender temporary identifier. wherein the receiving-side security device generates and stores at least one receiving-side temporary identifier in a list, receives the encapsulated packet from the sending-side security device, and sends the sending-side temporary identifier included in the encapsulated packet It is determined whether the identifier corresponds to at least one of the temporary identifiers of the receiving side in the list, and only if it is determined that the identifier corresponds to, the temporary identifier of the receiving side determined to correspond is deleted from the list, and the encapsulated packet is converted into a normal packet. and transmits the general packet to the receiving terminal based on the receiving terminal address, wherein the sending-side temporary identifier belongs to a second information set generated by a second algorithm in the sending-side security device. information, and has a corresponding relationship with the receiving-side temporary identifier generated in the first information set by a first algorithm in the receiving-side security device, and the corresponding relationship between any sending-side temporary identifier and any receiving-side temporary identifier is It is configured to be determined by the receiving-side security device, and the sending-side temporary identifier is 1) the front end of the encapsulated packet, 2) the front or inside of the header, 3) the front or inside of the payload, and 4) the back of the encapsulated packet. It may be characterized in that it is inserted into any one of the positions.

상기 제1 알고리즘과 상기 제2 알고리즘은 동일한 임시식별자 생성 알고리즘이고, 상기 제2 정보집합은 상기 제1 정보집합에 대하여 동치이거나(G1=G2) 부분집합(G1⊇G2)이고, 상기 임의의 송신측 임시식별자와 임의의 수신측 임시식별자 간의 대응 관계를 판단하는 방법은, 상기 임의의 송신측 임시식별자와 상기 임의의 수신측 임시식별자가 동일한지를 판단하는 과정을 포함할 수 있다.The first algorithm and the second algorithm are the same temporary identifier generation algorithm, the second information set is equivalent to the first information set (G1=G2) or a subset (G1⊇G2), and the random transmission The method of determining the correspondence between the temporary identifier of the side and the temporary identifier of the receiving side may include a step of determining whether the temporary identifier of the sending side is the same as the temporary identifier of the receiving side.

본 발명의 기술에 의하면, 공격자가 검색해야 하는 식별자의 정보 공간을 크게 늘려서 능동 스캐닝을 방해하고, 수동 스캐닝을 수행하는 공격자가 부정하게 획득한 식별자를 사용하여 보호 대상 호스트에 접속하는 것을 방지하며, 상당히 높은 빈도로 호스트 식별자를 변경하여 공격자가 보호된 호스트를 프로파일링하는 것을 방지하는 효과를 가진다. 또한, 본 발명에 의한 NMTD 보안 방식은 낮은 오버헤드만으로도 모든 패킷마다 상이한 임시식별자를 지정할 수 있는 성능을 제공한다.According to the technology of the present invention, the information space of an identifier to be searched by an attacker is greatly increased to prevent active scanning, and an attacker performing passive scanning is prevented from accessing a host to be protected using an illegally obtained identifier, This has the effect of preventing an attacker from profiling a protected host by changing the host identifier at a fairly high frequency. In addition, the NMTD security method according to the present invention provides the ability to designate a different temporary identifier for every packet with low overhead.

도 1은 본 발명이 기반하는 NMTD 시스템의 개념도이고,
도 2는 본 발명이 기반하는 NMTD 시스템의 보다 상세화된 개념도이고,
도 3은 본 발명이 기반하는 NMTD 시스템에 대한 공격 시도의 예시도이고,
도 4는 본 발명이 기반하는 NMTD 시스템에서 캡슐화된 패킷의 일반적 예시도이고,
도 5는 본 발명이 기반하는 NMTD 시스템에서의 식별자 호핑 시간 간격과 그 사이에 이루어지는 공격 시도에 대한 예시도이고,
도 6은 본 발명의 일 실시예에 따른 NMTD 시스템의 동작 방식을 나타내는 개념도이고,
도 7은 송신측 보안 장치의 동작 방법을 나타낸 순서도이고,
도 8은 수신측 보안 장치의 동작 방법을 나타낸 순서도이고,
도 9a는 종래의 MT6D 기반 NMTD 시스템의 일 실시예에서 캡슐화된 패킷이 구현되는 방법에 대한 예시도이고,
도 9b는 본 발명의 일 실시예에 의한 NMTD 시스템에서 캡슐화된 패킷이 구현되는 방법에 대한 예시도이고,
도 9c는 본 발명에 의한 캡슐화된 패킷이 다양한 실시예에서 변형되어 구현되는 방법에 대한 예시도이고,
도 10a는 본 발명의 일 실시예에 의한 송신측 임시식별자 및 수신측 임시식별자의 생성 및 대응 관계에 관한 개념도이고,
도 10b는 본 발명의 일 실시예에 의한 임시식별자의 대응 관계에 의해 공격자의 부정한 패킷이 차단되는 과정을 나타내는 개념도이고,
도 10c는 본 발명의 일 실시예에 의해 실제 송신 순서와는 다르게 도달한 캡슐화된 패킷이 임시식별자에 의하여 정상 순서로 수용되는 과정을 나타내는 개념도이고,
도 11a는 본발명의 일 실시예에 의한 송신측 임시식별자의 정보 집합과 수신측 임시식별자의 정보 집합 간의 관계에 대한 예를 나타내는 개념도이고,
도 11b는 본 발명의 일 실시예에 의한 송신측 임시식별자의 정보 집합과 수신측 임시식별자의 정보 집합 간의 관계에 대한 다른 예를 나타내는 개념도이고,
도 11c는 본 발명의 일 실시예에 의한 송신측 임시식별자의 정보 집합과 수신측 임시식별자의 정보 집합 간의 관계에 대한 또다른 예를 나타내는 개념도이고,
도 12는 송신측 보안 장치의 구조를 나타낸 개념도이고,
도 13는 수신측 보안 장치의 구조를 나타낸 개념도이고,
도 14는 연속적으로 형성된 임시식별자를 임계수에 따라 운용하는 데에 대한 개념도이고
도 15는 본 발명의 일 실시예에 의한 FTP의 성능 도출 결과를 나타내는 실험 결과도이다.
1 is a conceptual diagram of an NMTD system based on the present invention;
2 is a more detailed conceptual diagram of the NMTD system based on the present invention,
3 is an exemplary view of an attack attempt on the NMTD system based on the present invention;
4 is a general exemplary diagram of an encapsulated packet in the NMTD system on which the present invention is based;
5 is an exemplary diagram of an identifier hopping time interval and an attack attempt made therebetween in the NMTD system based on the present invention;
6 is a conceptual diagram showing an operating method of an NMTD system according to an embodiment of the present invention;
7 is a flowchart illustrating a method of operating a transmitting-side security device;
8 is a flowchart illustrating a method of operating a receiving side security device;
9A is an exemplary diagram of how encapsulated packets are implemented in one embodiment of a conventional MT6D-based NMTD system;
9B is an exemplary diagram of a method for implementing an encapsulated packet in an NMTD system according to an embodiment of the present invention;
9C is an exemplary diagram of a method in which an encapsulated packet according to the present invention is modified and implemented in various embodiments;
10A is a conceptual diagram illustrating the generation and correspondence relationship between a temporary identifier on a sender side and a temporary identifier on a receiver side according to an embodiment of the present invention;
10B is a conceptual diagram illustrating a process in which an attacker's fraudulent packet is blocked by a correspondence relationship between temporary identifiers according to an embodiment of the present invention;
10C is a conceptual diagram illustrating a process in which encapsulated packets arriving differently from an actual transmission order are accepted in a normal order by a temporary identifier according to an embodiment of the present invention;
11A is a conceptual diagram illustrating an example of a relationship between an information set of a sender's temporary identifier and a receiver's temporary identifier according to an embodiment of the present invention;
11B is a conceptual diagram illustrating another example of a relationship between an information set of a temporary identifier of a transmitter and a temporary identifier of a receiver according to an embodiment of the present invention;
11C is a conceptual diagram illustrating another example of a relationship between an information set of a temporary identifier of a sender and a temporary identifier of a receiver according to an embodiment of the present invention;
12 is a conceptual diagram showing the structure of a transmitting-side security device;
13 is a conceptual diagram showing the structure of a receiving side security device;
14 is a conceptual diagram for operating successively formed temporary identifiers according to a critical number;
15 is an experiment result diagram showing performance derivation results of FTP according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.Since the present invention can make various changes and have various embodiments, specific embodiments are illustrated in the drawings and described in detail.

그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.However, this is not intended to limit the present invention to specific embodiments, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention.

제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. “및/또는”이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. These terms are only used for the purpose of distinguishing one component from another. For example, a first element may be termed a second element, and similarly, a second element may be termed a first element, without departing from the scope of the present invention. The term “and/or” includes any combination of a plurality of related recited items or any one of a plurality of related recited items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.It is understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, but other elements may exist in the middle. It should be. On the other hand, when an element is referred to as “directly connected” or “directly connected” to another element, it should be understood that no other element exists in the middle.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Terms used in this application are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this application, the terms "include" or "have" are intended to designate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other features It should be understood that the presence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in the present application, they should not be interpreted in an ideal or excessively formal meaning. don't

본 출원에서 발명을 설명함에 있어 “장치”라는 용어를 사용하는 경우, 이는 장치로서 구현될 수 있는 본 발명의 어떠한 기능을 설명하기 위한 실시예를 설명하기 위한 것이며, 반드시 해당 장치의 기능이 독립적인 단일 장치로서 구현되어야 함을 의미하지 않는다. 통신 네트워크의 기능적 특성에 따라, 하나의 장치는 동일한 기능을 수행하는 복수의 장치로 구현될 수도 있으며, 반대로 복수의 장치 기능을 동시에 수행하기 위한 하나의 장치가 설치될 수도 있다. 어떤 장치의 기능은 소프트웨어적 수단을 통해 다른 장치에 의해 또는 일반적 컴퓨터 및 정보처리 장치에 의해서 구현될 수 있다. 또한 복수의 장치가 사용되는 경우 각각의 장치는 통신 네트워크로만 연결되고 물리적 공간에서는 이격되어 있을 수 있다. 이는 동일한 기술적 사상을 구현하기 위하여 통신 네트워크 기술 분야에 익숙한 통상의 기술자가 취할 수 있는 다양한 실시예의 영역이므로, 여하의 상세한 구현 방법은 모두 본 출원상 발명의 기술적 사상 영역에 포함되는 것으로 해석되어야 한다.When the term "apparatus" is used in describing the invention in this application, it is intended to describe an embodiment for explaining any function of the present invention that can be implemented as a device, and the function of the device must be independent. It is not meant to be implemented as a single device. Depending on the functional characteristics of the communication network, one device may be implemented with a plurality of devices performing the same function, or conversely, one device may be installed to simultaneously perform the functions of a plurality of devices. Functions of a certain device may be implemented by other devices through software means or by general computers and information processing devices. In addition, when a plurality of devices are used, each device may be connected only to a communication network and may be separated from each other in a physical space. Since this is an area of various embodiments that can be taken by a person skilled in the art in the communication network technology field to implement the same technical idea, any detailed implementation method should be construed as being included in the technical idea area of the present invention.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, with reference to the accompanying drawings, preferred embodiments of the present invention will be described in more detail. In order to facilitate overall understanding in the description of the present invention, the same reference numerals are used for the same components in the drawings, and redundant descriptions of the same components are omitted.

NMTD 시스템의 개요Overview of the NMTD system

도 1은 본 발명이 구현하고자 하는 NMTD(Network-based Moving Target Defense) 시스템의 개념도이다. 네트워크 보안 기술인 NMTD의 본질적 개념에 관하여서는 상기 배경기술 단락에서 설명한 바 있으므로 생략하기로 하며, 본 단락에서는 본 발명에 포함되어 본 발명의 이해에 필요한 기술적 구성들에 관하여 해설하고자 한다.1 is a conceptual diagram of a Network-based Moving Target Defense (NMTD) system to be implemented by the present invention. Since the essential concept of NMTD, which is a network security technology, has been described in the background art section, it will be omitted, and in this section, technical configurations included in the present invention and necessary for understanding the present invention will be explained.

도 1을 참조하면, NMTD 시스템(100)은 송신 단말기(110)로부터 수신 단말기(140)로 통신 데이터의 원활한 전송을 보장하면서도 송신 단말기(110) 및 수신 단말기(140)를 포함하는 호스트 단말기(110, 140)에 대한 정찰 행위 등 공격자의 접근을 방해하고자 하는 목적을 가진다. 상기 통신 데이터를 지칭하는 단위 명칭은 통신 프로토콜이나 계층에 따라서 이더넷 프레임, IP 패킷, 또는 기타 임의의 통신 메시지 규약에 의한 단위 명칭을 포함할 수 있으나, 본 명세서에서는 알기 쉬운 설명을 위하여 "패킷"으로 통칭하기로 한다. 다만 이러한 용어의 사용이 본 발명 실시 방법이 "패킷"과 같은 특정 기술적 개념에 종속적이라는 것을 의미하지는 아니한다.Referring to FIG. 1 , the NMTD system 100 guarantees smooth transmission of communication data from a transmitting terminal 110 to a receiving terminal 140, and a host terminal 110 including a transmitting terminal 110 and a receiving terminal 140. , 140) has the purpose of interfering with an attacker's approach, such as reconnaissance. The unit name indicating the communication data may include an Ethernet frame, an IP packet, or a unit name according to any other communication message protocol according to a communication protocol or layer, but in this specification, it is referred to as a "packet" for easy explanation. let's name it However, the use of these terms does not mean that the method of implementing the present invention is dependent on a specific technical concept such as “packet”.

도 1을 참조하면, 양측 호스트 중 송신 단말기(110)로부터 수신 단말기(140)로 전송되는 일반 패킷(150)은 먼저 NMTD 보안을 적용하는 송신측 보안 장치(120)에 의해 캡슐화된 패킷(160)으로 변환된 뒤, 수신측 보안 장치(130)에 전달되고, 여기에서 다시 일반 패킷(170)으로 변환되어 수신 단말기(140)에 도달하게 된다.Referring to FIG. 1, a normal packet 150 transmitted from a sending terminal 110 to a receiving terminal 140 among hosts on both sides is first encapsulated by the sending side security device 120 applying NMTD security (160). After being converted to , it is transmitted to the receiving side security device 130, where it is converted into a normal packet 170 again and reaches the receiving terminal 140.

NMTD 시스템에 있어서, 상기 양측 호스트 단말기(110, 140)의 실제 주소 식별자, 특히 수신 단말기(140)의 식별자를 네트워크 외부로부터 숨기는 것이 목표가 된다. 따라서, 캡슐화된 패킷(160)으로부터는 단지 송신측 보안 장치(120)와 수신측 보안 장치(130)의 외부 구성에 대해서만 노출될 뿐, 실제 호스트 단말기(110, 140)의 식별자는 숨겨진다. 이 때, 상기 식별자는 실시예에 따라 다양한 대상을 지칭할 수 있으며, IP 주소(IPv4 또는 IPv6 주소가 포함됨), MAC 주소, 기타 UID 기반의 식별자로 간주될 수 있다. 본 명세서에서는 알기 쉬운 설명을 위하여 상기 식별자는 TCP/IP 및 IPv6 프로토콜에 의한 "IP 주소"로, 특히 IPv6 규격을 준수하는 IP 주소인 것으로 가정하고 서술하기로 한다. 다만 이러한 용어의 사용이 본 발명이 TCP/IP 프로토콜 및/또는 IPv6 주소체계에와 같은 특정 기술적 개념 및/또는 프로토콜에 한정되거나 종속적이라는 것을 의미하지는 아니한다.In the NMTD system, a goal is to hide the real address identifiers of both host terminals 110 and 140, in particular, the identifier of the receiving terminal 140 from outside the network. Therefore, from the encapsulated packet 160, only the external configurations of the transmission side security device 120 and the reception side security device 130 are exposed, and the identifiers of the actual host terminals 110 and 140 are hidden. In this case, the identifier may refer to various objects according to embodiments, and may be regarded as IP addresses (including IPv4 or IPv6 addresses), MAC addresses, and other UID-based identifiers. In this specification, for easy explanation, it is assumed that the identifier is an "IP address" by the TCP/IP and IPv6 protocols, and in particular, an IP address complying with the IPv6 standard. However, the use of these terms does not mean that the present invention is limited to or dependent on specific technical concepts and/or protocols such as the TCP/IP protocol and/or IPv6 address system.

상기와 같은 기능을 달성하기 위해서, 송신측 보안 장치(120)는 패킷의 캡슐화를 실행한다. 한 일반적인 종래기술의 실시예에서, 패킷의 캡슐화는 일반 패킷(170)의 내용을 암호화한 뒤 새로운 패킷의 페이로드로서 삽입하고, 이 새로운 패킷에 네트워크 통신용 헤더를 붙여 캡슐화된 패킷(160)을 생성하는 과정일 수 있다. 같은 실시예에서, 상기와 같이 캡슐화된 패킷(160)은 수신측 보안 장치(130)에서 그 페이로드를 복호화하는 방식으로 일반 패킷(170)으로 변환될 수 있다. 이렇듯 캡슐화된 패킷(160)에 의한 두 보안 장치 간에 보안이 확보된 통신을 수립하는 절차를 통상적으로 "패킷 터널링"이라 칭하며, 본 명세서에서는 알기 쉬운 설명을 위하여 이하 유사한 개념에 대해 "패킷 터널링"이라는 용어를 사용하고자 한다. 다만 이러한 용어의 사용이 본 발명 실시 방법이 "패킷" 또는 "터널링"과 같은 특정 기술적 개념에 종속적이라는 것을 의미하지는 아니한다.In order to achieve the above function, the transmitting-side security device 120 performs packet encapsulation. In one general prior art embodiment, packet encapsulation encrypts the contents of a normal packet 170, inserts it as a payload of a new packet, and attaches a header for network communication to the new packet to generate an encapsulated packet 160. It may be a process of In the same embodiment, the encapsulated packet 160 as described above may be converted into a regular packet 170 in such a way that the receiving side security device 130 decrypts its payload. The procedure of establishing secure communication between two security devices by the encapsulated packet 160 is commonly referred to as "packet tunneling", and in this specification, for easy explanation, "packet tunneling" is referred to as "packet tunneling" for a similar concept. want to use the term. However, the use of these terms does not mean that the method of implementing the present invention is dependent on a specific technical concept such as “packet” or “tunneling”.

상기 송신 단말기(110) 또는 상기 수신 단말기(140)를 포함하는 호스트 단말기(110, 140)는 네트워크를 경유해 소정의 네트워크 통신을 수행하고자 하는 단말기일 수 있다. 본 발명의 일 실시예에 따르면, 상기 호스트 단말기(110, 140)는 각종 통신 기능(인터넷 접속 및 웹 브라우저 실행 기능 포함) 및 데이터 처리 기능을 포함하는 임의의 장치를 포함할 수 있다. 상기 호스트 단말기(110, 140)는 이동국(MS), 사용자 장비(UE; User Equipment), 사용자 터미널(UT; User Terminal), 무선 터미널, 액세스 터미널(AT), 터미널, 고정 또는 이동 가입자 유닛(Subscriber Unit), 가입자 스테이션(SS, Subscriber Station), 셀룰러 전화, 무선 기기(wireless device), 무선 통신 디바이스, 무선송수신유닛(WTRU, Wireless Transmit/Receive Unit), 이동 노드, 모바일, 모바일국, 개인 휴대 정보 단말(Personal Digital Assistant, PDA), 스마트폰, 랩톱, 넷북, 개인용 컴퓨터, 무선 센서, 소비자 전자기기(CE), 사물인터넷 (IoT) 디바이스 또는 다른 용어들로서 지칭될 수 있다. 상기 호스트 단말기(110, 140)의 다양한 실시예들은 셀룰러 전화기, 무선 통신 기능을 가지는 스마트 폰, 무선 통신 기능을 가지는 개인 휴대용 단말기(PDA), 무선 모뎀, 무선 통신 기능을 가지는 휴대용 컴퓨터, 무선 통신 기능을 가지는 디지털 카메라와 같은 촬영장치, 무선 통신 기능을 가지는 게이밍 장치, 무선 통신 기능을 가지는 음악저장 및 재생 가전제품, 무선 인터넷 접속 및 브라우징이 가능한 인터넷 가전제품뿐만 아니라 그러한 기능들의 조합들을 통합하고 있는 휴대형 유닛 또는 단말기들을 포함할 수 있으나, 이에 한정되는 것은 아니다.The host terminals 110 and 140 including the transmitting terminal 110 or the receiving terminal 140 may be terminals intended to perform predetermined network communication via a network. According to an embodiment of the present invention, the host terminals 110 and 140 may include arbitrary devices including various communication functions (including Internet access and web browser execution functions) and data processing functions. The host terminal 110, 140 includes a mobile station (MS), user equipment (UE), user terminal (UT), wireless terminal, access terminal (AT), terminal, fixed or mobile subscriber unit (subscriber unit). Unit), subscriber station (SS), cellular telephone, wireless device, wireless communication device, wireless transmit/receive unit (WTRU), mobile node, mobile, mobile station, personal portable information It may be referred to as a personal digital assistant (PDA), smartphone, laptop, netbook, personal computer, wireless sensor, consumer electronics (CE), Internet of Things (IoT) device, or other terms. Various embodiments of the host terminals 110 and 140 include a cellular phone, a smart phone having a wireless communication function, a personal digital assistant (PDA) having a wireless communication function, a wireless modem, a portable computer having a wireless communication function, and a wireless communication function. A photographing device such as a digital camera having a wireless communication function, a gaming device having a wireless communication function, a music storage and reproducing home appliance having a wireless communication function, an Internet appliance capable of wireless Internet access and browsing, as well as a portable type incorporating a combination of such functions. It may include units or terminals, but is not limited thereto.

도 2는 본 발명이 기반하는 NMTD 시스템의 보다 상세화된 개념도이다. NMTD 시스템(200)에 있어서, 다수의 상기한 송신 단말기(110)가 하나의 송신측 보안 장치(120)에 접속되어 보안 기능을 제공받을 수 있으며, 다수의 상기한 수신 단말기(140)가 하나의 수신측 보안 장치(130)에 접속되어 보안 기능을 제공받을 수 있다. 물론, 하나의 송신 단말기(110)가 다수의 송신측 보안 장치(120)를 사용하여 통신하거나, 하나의 수신 단말기(140)가 다수의 수신측 보안 장치(130)를 경유하여 통신할 수도 있으나, 이 실시예는 도 2에서는 생략되어 있다.2 is a more detailed conceptual diagram of the NMTD system on which the present invention is based. In the NMTD system 200, a plurality of transmitting terminals 110 may be connected to one transmitting side security device 120 to receive security functions, and a plurality of receiving terminals 140 may be connected to one transmitting side security device 120. A security function may be provided by being connected to the receiving side security device 130 . Of course, one transmitting terminal 110 may communicate using a plurality of transmitting-side security devices 120, or one receiving terminal 140 may communicate via a plurality of receiving-side security devices 130. This embodiment is omitted in FIG. 2 .

도 2를 더 참조하면, 상기와 같이 적어도 하나의 송신 단말기(110)와 적어도 하나의 송신측 보안 장치(120)를 연결하기 위한 송신측 내부 네트워크(210)가 존재할 수 있다. 마찬가지로, 적어도 하나의 수신측 보안 장치(130)와 적어도 하나의 수신 단말기(140)를 연결하기 위한 수신측 내부 네트워크(230)가 존재할 수 있다. 통상적으로 상기 내부 네트워크(210, 230)는 NMTD에 의해 외부로부터 숨겨지는 보호의 대상이 된다.Referring further to FIG. 2 , a transmitting-side internal network 210 may exist to connect at least one transmitting terminal 110 and at least one transmitting-side security device 120 as described above. Similarly, a receiving-side internal network 230 for connecting at least one receiving-side security device 130 and at least one receiving terminal 140 may exist. Normally, the internal networks 210 and 230 are protected from the outside by the NMTD.

따라서, 본 발명의 일 실시예에 따르면, 상기 송신측 보안 장치(120)와 상기 수신측 보안 장치(130)는 각각 패킷 중계 장치로서, 각각의 내부 네트워크(210, 230) 또는 외부 네트워크(220)로부터 소정의 패킷을 수신하고, 상기 패킷으로부터 네트워크 상 수신처를 추출하여, 그 전송에 대한 최적의 경로를 지정하며, 상기 경로를 따라 패킷을 각각의 내부 네트워크(210, 230) 또는 외부 네트워크(220)를 통해 전송함으로써 통신을 중계하도록 구성된 장치일 수 있다. 바람직하게는, 상기 송신측 보안 장치(120)와 수신측 보안 장치(130)는 상기한 중계 동작을 수행하기 위해 구성된 라우터, 스위치, 또는 게이트웨이와 같은 장치가 포함되어 구성될 수 있다. 또한, 상기 송신측 보안 장치(120)와 상기 수신측 보안 장치(130)는 단일 장치로 구현될 수 있으나, 복수의 장치의 집합체로서 구현될 수도 있다.Therefore, according to an embodiment of the present invention, the transmission side security device 120 and the reception side security device 130 are packet relay devices, respectively, and each internal network 210, 230 or external network 220 Receives a predetermined packet from the packet, extracts a destination on the network from the packet, designates an optimal path for the transmission, and sends the packet along the path to each internal network (210, 230) or external network (220). It may be a device configured to relay communications by transmitting via Preferably, the transmission-side security device 120 and the reception-side security device 130 may include devices such as routers, switches, or gateways configured to perform the relaying operation. Also, the transmission-side security device 120 and the reception-side security device 130 may be implemented as a single device, but may also be implemented as an aggregate of a plurality of devices.

또한, 상기 호스트 단말기(110, 140)는, 실제로는 다수의 단말기가 연결된 또다른 계층의 내부 네트워크에 연결되는 중계 단말기일 수 있다. 요컨대, 내부 네트워크(210, 230)는 계층적으로 구성될 수 있다. 이러한 계층적 네트워크 토폴로지(Topology)의 구성은 통상의 기술자에게 자명한 네트워크 구성 원리에 해당하므로, 이러한 방면으로 더욱 복잡하게 실시된 실시예 또한 모두 본 발명에서 후술할 특징을 보유하는 한 권리범위로부터 벗어나지 않을 것임은 자명하다.Also, the host terminals 110 and 140 may actually be relay terminals connected to an internal network of another layer to which a plurality of terminals are connected. In short, the internal networks 210 and 230 may be hierarchically structured. Since the configuration of such a hierarchical network topology corresponds to the principle of network configuration that is obvious to those skilled in the art, the more complicated embodiments in this way also do not deviate from the scope of rights as long as they have the characteristics described later in the present invention. It is self-evident that it will not

도 2에서는 또한, 캡슐화된 패킷(160)이 송신측 보안 장치(120)로부터 수신측 보안 장치(130)로 전송되는 과정에 외부 네트워크(220)를 경유하는 내용이 도시되어 있다. 상기 외부 네트워크(220)는, 본 발명의 통상적인 실시예에 따르면, 별도의 보안 절차 없이는 패킷의 완전한 보안을 담보하기 곤란한 인터넷 등의 공용망일 수 있다. 본 발명의 NMTD 보안 방식은 이러한 환경에서 공용망으로부터 실시되는 공격자의 정찰 행위 및 이를 통한 공격을 방지하기 위하여 사용된다.In FIG. 2 , contents passing through an external network 220 are also shown in a process in which the encapsulated packet 160 is transmitted from the transmitting side security device 120 to the receiving side security device 130 . According to a typical embodiment of the present invention, the external network 220 may be a public network such as the Internet, in which it is difficult to ensure complete security of packets without a separate security procedure. In this environment, the NMTD security method of the present invention is used to prevent an attacker's reconnaissance behavior and an attack through it from a public network.

도 3은 본 발명이 기반하는 NMTD 시스템에 대한 공격 시도의 예시도이다. 도 3을 참조하면, NMTD 시스템(300)에 대하여 공격을 시도하는 공격자 단말기(310)가 도시되어 있다. 공격자 단말기(310)는 외부 네트워크(220)를 통해 공격 목적의 패킷(320, 330)을 전송하여 공격을 시도한다고 간주된다. 예를 들어, 공격자 단말기(310)는 정찰 패킷(320)을 전송함으로써 수신측 보안 장치(130)에 존재하는 유효한 IP 주소 또는 포트 번호를 탐지하고자 시도할 수 있다. 만약 유효한 이러한 정찰 행위에 의해 공격 목표가 식별된다면, 공격자 단말기(310)는 RST 패킷의 전송 등의 방법에 의하여 NMTD 시스템(300)에 의한 정상적인 패킷 터널링 절차를 방해하고, 이를 이용하여 위조된 캡슐화된 패킷(330)을 보내어 위조된 수신측 일반 패킷(340)으로서 수신 단말기(140)에 도달하도록 함으로써, 수신 단말기(140)를 공격할 수 있게 된다. 다른 가능성으로써, 공격자 단말기(310)는 외부 네트워크(220)를 해킹하여 정상적인 캡슐화된 패킷(160)을 수동적으로 수집(350)하여 프로파일링한 뒤 이를 바탕으로 위조된 캡슐화된 패킷(330)을 생성하고자 할 수 있다.3 is an exemplary diagram of an attack attempt on the NMTD system on which the present invention is based. Referring to FIG. 3 , an attacker terminal 310 attempting an attack on the NMTD system 300 is shown. It is considered that the attacker terminal 310 attempts an attack by transmitting packets 320 and 330 for an attack purpose through the external network 220 . For example, the attacker terminal 310 may attempt to detect a valid IP address or port number of the receiving side security device 130 by sending the reconnaissance packet 320 . If the attack target is identified by such a valid reconnaissance action, the attacker terminal 310 interrupts the normal packet tunneling procedure by the NMTD system 300 by a method such as transmission of an RST packet, and uses this to disrupt the forged encapsulated packet 330 is sent to reach the receiving terminal 140 as a forged normal packet 340 on the receiving side, so that the receiving terminal 140 can be attacked. As another possibility, the attacker terminal 310 hacks the external network 220, passively collects 350 normal encapsulated packets 160, profiles them, and generates forged encapsulated packets 330 based on this. You can do it.

상기에서 본 발명이 대응하고자 하는 위협의 유형으로서 설치된 외부 네트워크(220)와 이로부터 시행되는 공격(320, 330, 350)에 관한 한 가지 예를 설명하였다. 이는 곧 본 발명의 NMTD 시스템이 어떠한 형태로 어느 환경에 구현될 수 있는지에 대한 실시예에 해당한다. 그러나, 본 발명의 실시 적용 대상은 상기의 예에 한정되지 아니한다. 본 발명의 다른 실시예에서, 상기 외부 네트워크(220)는 공개되지 않은 내부 네트워크망으로, 공격자가 상기 내부 네트워크에 있음을 상정하고 본 발명에 의한 NTMD 시스템이 구현되어 있을 수도 있다. 본 발명의 또다른 실시예에서, 상기 송신측 보안 장치(120)와 상기 수신측 보안 장치(130)는 실질적으로 동일한 장치에 내재된 기능으로써, 두 장치 간의 통신은 네트워크 회선을 경유하지 않고 장치 내부에서 이루어지는 통신에 해당할 수 있으며, 공격자가 장치 내부의 통신에 간섭할 수 있음을 상정하고 본 발명에 의한 NTMD 시스템이 응용되어 구현되어 있을 수도 있다.In the above, one example of the installed external network 220 and the attacks 320, 330, and 350 executed therefrom have been described as a type of threat to be counteracted by the present invention. This corresponds to an embodiment of how the NMTD system of the present invention can be implemented in any form and in which environment. However, the implementation and application of the present invention are not limited to the above examples. In another embodiment of the present invention, the external network 220 is an internal network that is not public, and the NTMD system according to the present invention may be implemented assuming that an attacker is in the internal network. In another embodiment of the present invention, the transmission-side security device 120 and the reception-side security device 130 are functions inherent in substantially the same device, and communication between the two devices does not pass through a network line, but inside the device. It may correspond to communication made in , and the NTMD system according to the present invention may be applied and implemented assuming that an attacker may interfere with internal communication of the device.

상기와 같은 여러 가지 실시예에서, 본 발명이 후술하는 송신측 보안 장치(120) 또는 수신측 보안 장치(130)와 동일 또는 유사한 기능을 수행하는 장치 또는 장치군을 어떠한 기능 단위로 분리 또는 병합하여 구현하게 된다면, 이는 본 발명의 기술적 사상을 구현하는 것으로서 본 발명의 권리범위 내에 속할 것임은 자명하다.In various embodiments as described above, the present invention separates or merges devices or groups of devices that perform the same or similar functions as the transmission-side security device 120 or the reception-side security device 130 to be described later into any functional unit. If implemented, it is obvious that it will fall within the scope of the present invention as implementing the technical spirit of the present invention.

도 4는 본 발명이 기반하는 NMTD 시스템에서 캡슐화된 패킷의 일반적 예시도이다. NMTD 시스템에서 보안을 유지하기 위해 사용되는 캡슐화된 패킷은, 상술한 바와 같이 일반 패킷(400)을 캡슐화된 패킷(450)의 페이로드로 투입하는 방식으로 구현될 수 있다. 도 4의 (a)에 나타난 일반 패킷(400)(상기 도 1 내지 3에서의 부호 150 및 170과 실질적으로 같은 대상이다)은, 이를테면, 일반적으로 네트워크에서 사용되는 TCP/IP 프로토콜 기반의 패킷으로, 더욱 바람직하게는, IPv6 프로토콜을 사용하는 패킷일 수 있다. 이러한 패킷(400)은 헤더(410)와 페이로드(420)로 분리될 수 있으며, 헤더(410)에는 패킷이 향하는 수신 단말기의 주소가 포함될 수 있고, 페이로드(420)에는 실제 운반되는 각종 데이터가 포함될 수 있다. 공격자에 의한 패킷 프로파일링이 일어날 경우, 상기 헤더(410)에 포함된 수신 단말기의 주소를 포함한 각종 정보가 분석 및 유출되는 것이 문제가 된다. 따라서, 도 4의 (b)에 나타난 것과 같이, 일반 패킷(400)의 전체 내용을 페이로드(440)로 가지는 캡슐화된 패킷(430)(상기 도 1 내지 3에서의 부호 160과 실질적으로 같은 대상이다)이 생성된다. 상기 캡슐화된 패킷의 헤더(430)는 통상적인 패킷으로 간주되며, 상술한 예시와 같이, TCP/IP 및/또는 IPv6 프로토콜에 기반하여 있을 수 있다. 바람직하게는, 캡슐화된 페이로드(440)는 암호화되어, 설령 공격자가 패킷을 탈취하더라도 그 분석을 어렵게 할 수 있다. 캡슐화된 패킷(430)은 통상적 네트워크 장치에 의해 전달될 수 있으나, 실제 패킷(400)을 페이로드(440)에 내장함으로써 실제 송수신 단말의 정보를 은닉하는 이점을 지닌다.Figure 4 is a general exemplary diagram of an encapsulated packet in the NMTD system on which the present invention is based. As described above, the encapsulated packet used to maintain security in the NMTD system may be implemented by inserting the normal packet 400 as the payload of the encapsulated packet 450. The general packet 400 shown in (a) of FIG. 4 (substantially the same object as the symbols 150 and 170 in FIGS. 1 to 3) is, for example, a TCP/IP protocol-based packet generally used in a network. , more preferably, may be a packet using the IPv6 protocol. Such a packet 400 can be divided into a header 410 and a payload 420. The header 410 can include the address of the receiving terminal to which the packet is directed, and the payload 420 can contain various data that are actually carried. may be included. When packet profiling by an attacker occurs, it becomes a problem that various information including the address of the receiving terminal included in the header 410 is analyzed and leaked. Therefore, as shown in (b) of FIG. 4, an encapsulated packet 430 having the entire contents of the normal packet 400 as a payload 440 (substantially the same object as 160 in FIGS. 1 to 3) is) is created. The header 430 of the encapsulated packet is regarded as a normal packet, and may be based on TCP/IP and/or IPv6 protocols, as in the above example. Preferably, the encapsulated payload 440 is encrypted, so that even if an attacker hijacks the packet, its analysis is difficult. The encapsulated packet 430 can be delivered by a normal network device, but by embedding the actual packet 400 in the payload 440, it has an advantage of concealing the information of the actual transmitting/receiving terminal.

도 5는 본 발명이 기반하는 NMTD 시스템에서의 식별자 호핑 시간 간격과 그 사이에 이루어지는 공격 시도에 대한 예시도이다. NMTD 시스템은 상술한 것과 같은 캡슐화된 패킷(160)을 이용하여 송신측 보안 장치(120)와 수신측 보안 장치(130) 간의 보안 통신을 실시하면서, 수신측 보안 장치(130)의 주소 등 식별자를 주기적으로 변경하는 호핑 동작을 통해 공격자(310)에 의한 상기 보안 통신에 대한 정찰 또는 분석 행위를 방지하고자 한다. 이를 위하여 송신측 보안 장치(120)와 수신측 보안 장치(130)는 터널링 동기화 절차를 통하여 수신측 IP 주소 등 식별자의 변경을 동기화한다. 동기화의 방식은 통신에 의한 것이어도 좋고, 양측이 사전에 합의한 규칙에 의한 것이어도 무관하며, 기타 다른 방식이어도 본 발명의 구현에는 영향을 주지 아니한다.5 is an exemplary diagram of an identifier hopping time interval and an attack attempt made therebetween in the NMTD system based on the present invention. The NMTD system uses the encapsulated packet 160 as described above to perform secure communication between the sending security device 120 and the receiving side security device 130, while providing an identifier such as an address of the receiving side security device 130. It is intended to prevent reconnaissance or analysis of the secure communication by the attacker 310 through a periodically changing hopping operation. To this end, the sender-side security device 120 and the receiver-side security device 130 synchronize changes in identifiers such as the receiver's IP address through a tunneling synchronization procedure. The method of synchronization may be by communication, it is irrelevant whether it is by a rule agreed upon in advance by both parties, and even if it is any other method, it does not affect the implementation of the present invention.

상기 동기화의 결과로 인하여 송신측과 수신측에서 각각 통신을 위한 식별자의 변경이 이루어지면, 송신측 보안 장치(120)는 상기 변경된 식별자를 목적 주소로 하여 캡슐화된 패킷(160)을 송신하고, 수신측 보안 장치(130)는 이를 수신한 뒤 일반 패킷(170)으로 변환하여 수신 단말(140)로 전달하는 동작을 취할 수 있다.As a result of the synchronization, when the identifier for communication is changed on the transmitting side and the receiving side, respectively, the transmitting side security device 120 transmits the encapsulated packet 160 using the changed identifier as the destination address, and receives After receiving it, the side security device 130 may take an action of converting it into a general packet 170 and forwarding it to the receiving terminal 140 .

상기와 같이 소정의 통신을 거친 후 다시 한 차례 식별자의 변경(510, 512)이 일어나기까지의 정상적인 시간 간격(520)을 "호핑 시간 간격"이라 칭하고자 한다. 상기 서술하였듯이, 상기 호핑 시간 간격(520)은 짧을수록 보안에 유리하나, 기술적으로 일정 간격 이상으로 짧아질 수 없다는 한계가 있다. 또한 충분히 짧은 호핑 간격을 유지하더라도, 이 호핑 시간 간격의 사이에, 클라이언트 네트워크 또는 표적 네트워크에 존재하는 공격자(310)는 공격자는 도청 및 정찰 행위, 이를테면 송신측 보안 장치(120)와 수신측 보안 장치(130) 사이에 오가는 패킷에 대한 수동 스캐닝(540)을 실시할 수 있다. 설령 양측의 실제 호스트(110, 140)를 알 수 없더라도, 공격자(310)는 파악하지 못한 두 개의 호스트가 통신하는 패킷을 중간에서 도청(540)할 수 있는 것이다. 호핑 시간 간격(520)이 큰 경우, 공격자는 시간을 들여 상기 도청(540)된 패킷으로부터 두 호스트(110, 140)의 정보를 분석해 식별을 시도할 수 있게 된다. 호핑 시간 간격(520)이 일정 수준 이상 작으면, 공격자가 시간 내에 두 호스트를 정확하게 식별하지 못할 수 있지만, 적어도 두 호스트 간을 중계하는 보안 장치들(120, 130)의 식별자, 예를 들어 현재 활성 IP 및 포트 조합을 획득할 수 있다.The normal time interval 520 until the identifier changes 510 and 512 occur once again after the predetermined communication as described above is referred to as a “hopping time interval”. As described above, the shorter the hopping time interval 520 is, the more advantageous it is for security, but technically there is a limitation that it cannot be shortened beyond a certain interval. In addition, even if a sufficiently short hopping interval is maintained, the attacker 310 existing in the client network or the target network between the hopping time intervals may eavesdrop and reconnaissance, such as the sending side security device 120 and the receiving side security device Passive scanning (540) may be performed for packets passing between (130). Even if the actual hosts 110 and 140 on both sides are not known, the attacker 310 can eavesdrop (540) a packet communicating between the two unknown hosts in the middle. If the hopping time interval 520 is large, an attacker may take time to analyze information of the two hosts 110 and 140 from the intercepted packet 540 and attempt to identify them. If the hopping time interval 520 is smaller than a certain level, an attacker may not be able to accurately identify two hosts within a certain amount of time, but at least the identifier of the security devices 120 and 130 relaying between the two hosts, for example, currently active IP and port combinations can be obtained.

이렇게 도청(540)된 패킷으로부터 획득한 정보를 이용하여, 공격자(310)는 위조된 네트워크 재설정 신호 패킷(소위 RST 패킷)을 네트워크에 주입(542)할 수 있다. 상기 위조된 패킷(542)은 송신측 보안 장치(120)를 통해 궁극적으로는 송신 단말기(110)에 수신될 수 있다. 그 결과로 송신 단말기(110)로부터 수신 단말기(140)에 이르는 일련의 TCP/IP 연결이 재연결되는데, 이 과정 또한 공격자(310)에 의해 도청(544)되어 유효한 식별자 조합의 정보가 유출될 수 있다.Using the information obtained from the eavesdropped 540 packet, the attacker 310 may inject 542 a forged network reset signal packet (so-called RST packet) into the network. The forged packet 542 may ultimately be received by the transmitting terminal 110 through the transmitting side security device 120 . As a result, a series of TCP/IP connections from the sending terminal 110 to the receiving terminal 140 are reconnected, and this process may also be eavesdropped 544 by the attacker 310 and information of valid identifier combinations may be leaked. there is.

이제 공격자(310)는 다시 송신 단말기(110)에 RST 패킷을 전송(546)하고, 송신 단말기(110)과 송신측 보안 장치(120)보다 앞서서 수신측 보안 장치(130) 및 수신측 단말기(140)의 상대측으로서 TCP/IP 연결을 성립(548)시키는 이른바 "경쟁 조건(race condition)"을 생성하게 된다. 이로서 호핑에 의해 식별자가 변경(512)되기에 앞서 공격자(310)가 보호된 채널에 침입(550)하는 것이 가능해진다. 상기와 같은 공격이 소정의 호핑 시간 간격(520)보다 짧은 시간(530) 사이에 복수의 패킷에 걸쳐 완수될 수 있는 한, 종래의 보안 방식에는 한계가 존재함이 자명하다.Now, the attacker 310 transmits the RST packet to the sending terminal 110 again (546), and the receiving terminal 110 and the sending side security device 120 ahead of the receiving side security device 130 and the receiving side terminal 140 ), creating a so-called "race condition" that causes the TCP/IP connection to be established (548). This makes it possible for an attacker 310 to infiltrate (550) the protected channel before the identifier is changed (512) by hopping. As long as the above attack can be accomplished over a plurality of packets within a time period (530) shorter than the predetermined hopping time interval (520), it is obvious that the conventional security scheme has limitations.

본 발명에서는 상기와 같이 호핑 시간 간격 내에 발생하는 공격자의 정찰 행위를 무력화시키기 위해 호핑 시간 간격을 최소화하는 새로운 방법을 제시한다. 본 발명에서의 호핑은 식별자 단위에서 일어나지만, 상술하였던 것과 같이 게이트웨이의 구성을 변경하는 등의 조작을 취하지 않고도, 모든 패킷에 대해 신속하게 식별자 변경을 수행할 수 있는 장점이 있다. 이하 본 발명의 특징적 구성에 대해 더욱 상세히 설명하기로 한다.The present invention proposes a new method of minimizing the hopping time interval in order to neutralize an attacker's reconnaissance behavior occurring within the hopping time interval as described above. Although hopping in the present invention occurs in units of identifiers, as described above, there is an advantage in that identifiers can be quickly changed for all packets without performing an operation such as changing the configuration of a gateway. Hereinafter, the characteristic configuration of the present invention will be described in more detail.

임시식별자(DID)를 사용한 NMTD의 강화Enhancing NMTD using temporary identifiers (DIDs)

본 발명에서는 임시식별자(Disposable Identifier; DID)로 NMTD를 강화하는 기법을 제안한다. 넓은 호핑 공간과 매우 작은 호핑 시간 간격으로 예측불가능성을 극대화하기 위해 임시식별자를 도입한다. 임시식별자는 수신 단말기를 식별하기 위한 주소를 대신해 사용되고, 오직 하나의 패킷에만 사용되므로, 각 패킷마다 목적지 식별자가 변경되는 결과를 얻을 수 있다.The present invention proposes a technique for strengthening NMTD with a Disposable Identifier (DID). A temporary identifier is introduced to maximize unpredictability with a wide hopping space and a very small hopping time interval. Since the temporary identifier is used instead of an address for identifying a receiving terminal and is used only for one packet, the destination identifier can be changed for each packet.

본 발명에서 상정하는 공격 모델에서, 공격자는 클라이언트 네트워크 또는 표적 네트워크 어디에나 존재하며, 상기한 정찰 행위의 일종으로서 능동 스캐닝 또는 수동 스캐닝을 활용할 수 있다. 능동 스캐닝 및 수동 스캐닝은 각각 정찰용 패킷(Probing packets)을 능동적으로 전송하거나, 네트워크 상의 트래픽을 수동적으로 관찰함으로써 정보를 수집하는 작업을 포함한다. 상술하였듯이, 정교한 수동 스캐닝에 의한 공격이 일어나는 경우, 일정 수준 이상 작은 호핑 시간 간격으로도 보호된 회선에의 침투를 방지할 수 없을 가능성이 있다.In the attack model assumed in the present invention, an attacker exists anywhere in a client network or a target network, and may utilize active scanning or passive scanning as a kind of reconnaissance behavior. Active scanning and passive scanning involve collecting information by actively sending probing packets or passively observing traffic on the network, respectively. As described above, when an attack by sophisticated passive scanning occurs, there is a possibility that penetration into a protected line cannot be prevented even with a small hopping time interval of a certain level or more.

이러한 공격을 방지하기 위한 NMTD의 극단적 구현 사례로는 매 패킷마다 호스트 식별자를 변경하는 것이 있다. 호핑 시간 간격을 최소화하는 것은 숙련된 인간 공격자와 수동 호스트 프로파일링 공격을 효과적으로 방어하는 데 도움이 된다. 그러나, 기존 NMTD 보안 방식은 각 패킷마다 호스트 식별자를 변경하는 기능을 제공하지 못한다. 이를테면, 식별자의 변경을 위해서는 네트워크 스위치의 플로우 테이블을 갱신하여야 하는데, 그 속도에 실질적인 한계가 있다. 실제 호스트 식별자를 변경하는 방식의 NMTD 보안 기술은 라우팅 테이블을 자주 업데이트하는데 있어서 한계가 있거나, 또는 네트워크 인터페이스에 통지되어 결합(Binding)이 이루어진 IP 주소를 계속해서 해제하고 또 재결합시켜야 한다는 문제가 있다. 즉, 현대의 초고속 통신망에 있어서, 패킷 단위의 식별자 변경은 상당한 정보처리 자원의 낭비로 이어지고, 실질적으로 용납이 불가능한 수준의 통신 속도 저하로 이어지게 된다.An extreme implementation example of NMTD to prevent such an attack is to change the host identifier for each packet. Minimizing the hopping time interval helps to effectively defend against skilled human attackers and manual host profiling attacks. However, the existing NMTD security method does not provide a function of changing the host identifier for each packet. For example, in order to change an identifier, a flow table of a network switch must be updated, but there is a practical limit to the speed. The NMTD security technique of changing the actual host identifier has a problem in that it has a limitation in frequently updating the routing table, or it has to notify the network interface to continuously release and reassociate the bound IP address. That is, in a modern high-speed communication network, changing an identifier in units of packets leads to a considerable waste of information processing resources and leads to a substantially unacceptable level of communication speed degradation.

또한, 각 패킷마다 호스트 식별자를 변경하기 위해서는 호스트 식별자가 변경될 수 있는 넓은 정보 집합 공간이 요구된다. 예를 들어, 패킷 크기가 1,050바이트이고 목표 통신속도가 100Mbps인 경우, 초당 약 12,000개의 식별자가 필요하다. NMTD 보안 방식이 빠른 속도로 식별자를 도출하지 못하면 이 또한 통신의 지연을 초래할 수 있다. 또한, 호스트 식별자의 변경 가능한 정보 공간이 지나치게 좁다면, 특정 호스트 식별자가 반복하여 나타날 수 있고, 이는 호핑 시간 간격을 최소화한 효과를 거슬러 공격자의 스캐닝에 유리한 조건을 제공해 주고 만다.In addition, in order to change the host identifier for each packet, a wide information aggregation space in which the host identifier can be changed is required. For example, if the packet size is 1,050 bytes and the target communication speed is 100 Mbps, approximately 12,000 identifiers are required per second. If the NMTD security method fails to derive an identifier quickly, this may also cause delay in communication. In addition, if the changeable information space of the host identifier is too narrow, a specific host identifier may appear repeatedly, which counteracts the effect of minimizing the hopping time interval and provides an advantageous condition for an attacker's scanning.

요컨대, 송신측 보안 장치와 수신측 보안 장치 간에 주소 그 자체를 변경하는 방식으로 식별자 변경을 수행하는 데에는 현실적인 속도의 한계가 있으며, 그 한계 이내에 공격자의 공격 시도가 완수될 수 있다는 위험성이 존재한다. 종래 공지기술에서 수신측 보안 장치의 외부 IP 주소를 가상 식별자로 사용하고, 낮은 빈도의 변경(LFM; Low Frequency Mutation)과 높은 빈도의 변경(HFM; High Frequency Mutation)을 병행하는 방식을 통해 호핑 시간 간격을 최소화하더라도, 실제 식별자가 자주 변경되도록 하는 이상 상기의 현실적 속도 한계로부터 벗어날 수 없다.In short, there is a realistic speed limit in performing identifier change by changing the address itself between the sending side security device and the receiving side security device, and there is a risk that an attacker's attack attempt can be completed within the limit. In the conventional known technology, the external IP address of the receiving side security device is used as a virtual identifier, and the hopping time is reduced through a method in which low frequency mutation (LFM) and high frequency mutation (HFM) are performed in parallel. Even if the interval is minimized, there is no escape from the above realistic speed limit as long as the actual identifier is changed frequently.

도 6은 본 발명의 일 실시예에 따른 NMTD 시스템의 동작 방식을 나타내는 개념도이다. 본 발명의 일 실시예에 의한 NMTD 시스템(600)에서는, 수신측 보안 장치의 외부 IP 주소 등 가상식별자를 LFM의 대상으로 사용하고, 별도의 임시식별자를 HFM의 대상으로 사용하여, 최대 개별 패킷 단위의 호핑이 이루어질 수 있도록 한다. 바람직한 실시예에서, 상기 수신측 보안 장치의 주소 변경을 위한 LFM 식별자 변조는 종래의 NMTD 분야 공지기술 중 하나인 MT6D(Moving Target IPv6 Defense)과 호환되도록 구성될 수 있다.6 is a conceptual diagram illustrating an operating method of an NMTD system according to an embodiment of the present invention. In the NMTD system 600 according to an embodiment of the present invention, a virtual identifier such as an external IP address of a receiving side security device is used as an LFM target, and a separate temporary identifier is used as an HFM target, up to individual packet units. hopping can be performed. In a preferred embodiment, LFM identifier modulation for address change of the receiving side security device may be configured to be compatible with MT6D (Moving Target IPv6 Defense), one of the conventional NMTD field known technologies.

본 발명의 일 실시예에서는, 수신측 보안 장치에 대한 모호화 IPv6 주소(Obscured IPv6 address)가 계산될 수 있다. 상기 모호화 주소는 상기 수신측 보안 장치가 패킷을 수신하는 데 사용하는 외부 IP 주소일 수 있다. 또한, 상기 모호화 주소는 개별 수신 단말기(140)에 대응하여 생성될 수도 있고, 복수의 수신 단말기(140)에 대하여 하나가 생성될 수도 있으며, 또는 복수의 모호화 주소가 하나의 수신 단말기(140)에 대한 통신을 지정할 수 있다. 어떠한 실시 방식을 따르든, 상기 모호화 주소는 송신측 보안 장치(120)로부터 송신된 캡슐화된 패킷을 수신측 보안 장치(130)로 라우팅하기 위해 사용된다. 즉, 모호화 주소는 공용망(210)상에서 이루어지는 NMTD 패킷 터널링(620)을 유지하는 데에 사용될 수 있다. 상기 터널링(620)은 상기 공용망(210) 상에서 소정의 패킷 라우팅 경로 및 네트워크 장치 바인딩에 의하여 성립되어 있을 수 있고, 송신측 보안 장치(120)와 수신측 보안 장치(130)가 사전에 합의한 간격에 따라, LFM 주기에 의한 호핑으로 새로운 모호화 주소가 계산될 때마다 재설정되도록 구성될 수 있다.In one embodiment of the present invention, an obscured IPv6 address for a receiving side security device may be computed. The disambiguation address may be an external IP address used by the receiving side security device to receive packets. In addition, the ambiguous address may be generated corresponding to an individual receiving terminal 140, or one may be generated for a plurality of receiving terminals 140, or a plurality of ambiguous addresses may be generated for one receiving terminal 140. ) can be specified. In any implementation, the disambiguation address is used to route encapsulated packets transmitted from the sending security device 120 to the receiving security device 130 . That is, the disambiguation address may be used to maintain NMTD packet tunneling 620 over the public network 210. The tunneling 620 may be established by a predetermined packet routing path and network device binding on the public network 210, and an interval agreed upon in advance by the sending side security device 120 and the receiving side security device 130. According to this, it can be configured to be reset every time a new disambiguation address is calculated by hopping by the LFM cycle.

여기에 더하여, 본 발명에서는 패킷마다 달리 적용되는 임시식별자를 두고, 이를 통하여 통신의 최종 목적지가 되는 수신 단말기(140)를 식별할 수 있다. 즉, 모호화 주소와 임시식별자가 쌍을 이루어 비로소 하나의 수신 단말기(140)를 식별하는 데 사용될 수 있다. 상기 임시식별자는 한 번에 하나 이상의 임시식별자로 구성된 목록으로서 생성될 수도 있으며, 이 경우 상기 목록의 모든 임시식별자는 동일한 수신 단말기(140)를 지칭하는 것으로 구성될 수 있다. 따라서, 상기 목록에 존재하는 다수의 임시식별자를 순차적으로 사용함으로써 상기한 바와 같이 최대 매 패킷마다 임시식별자가 변화하는 구성을 실시할 수 있게 된다. 또한 이러한 임시식별자의 변화를 HFM 주기에 의한 호핑으로 간주할 수 있다. 다만, 임시식별자가 반드시 패킷마다 변환될 필요는 없으며, HFM 주기를 더 길게 취하는 실시예에서는, 1 이상의 임의의 숫자마다 임시식별자를 달리 적용하여도 무관하며, 또한 상기 임의의 숫자가 소정의 규칙에 의하여 가변되어도 무관하다.In addition to this, in the present invention, a temporary identifier applied differently to each packet is provided, and the receiving terminal 140, which is the final destination of communication, can be identified through this. That is, a pair of ambiguous addresses and temporary identifiers can be used to identify one receiving terminal 140 . The temporary identifier may be created as a list consisting of one or more temporary identifiers at once, and in this case, all temporary identifiers in the list may be configured to refer to the same receiving terminal 140 . Therefore, by sequentially using a plurality of temporary identifiers in the list, it is possible to implement a configuration in which the temporary identifier changes at most every packet as described above. In addition, the change of such a temporary identifier can be regarded as hopping by the HFM cycle. However, the temporary identifier does not necessarily need to be converted for each packet, and in an embodiment in which the HFM cycle is longer, it does not matter if a temporary identifier is differently applied to each random number of 1 or more, and the random number conforms to a predetermined rule. It is irrelevant even if it is changed by

상기 임시식별자의 동작 방식에 대해 보다 자세히 설명한다. 하나의 모호화 주소가 계산될 때마다, 상기 시스템(600)에서는 임시식별자의 목록이 생성된다. 본 발명의 바람직한 실시예에서, 상기 송신측 보안 장치(120)와 수신측 보안 장치(130)는 사전에 합의된 동일한 방법에 의하여 동일한 임시식별자의 목록을 생성하도록 구성될 수 있다. 본 발명의 일 실시예에서, 송신측 보안 장치(120)는 상술한 바와 같이 캡슐화된 패킷을 송신함에 있어 모호화된 주소를 목적지로 하고, 패킷의 페이로드에 1개의 임시식별자를 삽입한다. 상기 삽입된 임시식별자는 송신측 보안 장치(120)로부터 삭제되어 재사용되지 않는다. 수신측 보안 장치(130)는 패킷 터널링(620)을 경유하여 캡슐화된 패킷(160)을 수신한 후, 상기 임시식별자를 확인한다.The operation method of the temporary identifier will be described in more detail. Each time a disambiguation address is computed, the system 600 creates a list of temporary identifiers. In a preferred embodiment of the present invention, the transmitting side security device 120 and the receiving side security device 130 may be configured to generate the same temporary identifier list according to the same method agreed in advance. In one embodiment of the present invention, when transmitting the encapsulated packet as described above, the transmitting-side security device 120 sets the ambiguous address as a destination and inserts one temporary identifier into the payload of the packet. The inserted temporary identifier is deleted from the transmitting side security device 120 and is not reused. After receiving the encapsulated packet 160 via packet tunneling 620, the receiving side security device 130 checks the temporary identifier.

수신측 임시식별자의 집합을 도 6에서는 필터(640)를 통해 개념적으로 나타내고 있다. 캡슐화된 패킷(160)에 포함된 송신측 임시식별자가 수신측이 가진 목록에 속한 어느 하나의 임시식별자와 일치(642)하는 경우, 이것은 상기 송신측 보안 장치와 수신측 보안 장치가 사전에 합의된 방법에 의해 생성된 정당한 임시식별자임을 알 수 있으므로, 해당 캡슐화된 패킷의 페이로드를 분석하여 일반 패킷(170)을 획득한 후 수신 단말기(140)로 전달되도록 할 수 있다. 그러나, 상기 수신측이 가진 목록에 존재하지 않는 임시식별자이거나, 또는 임시식별자가 확인되지 않는 경우, 해당 캡슐화된 패킷(160)은 잘못된 것이거나 위조된 것임을 알 수 있으므로 폐기(644)되도록 구성될 수 있다.A set of temporary identifiers on the receiving side is conceptually represented through a filter 640 in FIG. 6 . If the sender's temporary identifier included in the encapsulated packet 160 matches (642) any one temporary identifier belonging to the list of the receiver, this is an agreement between the sender's security device and the receiver's security device in advance. Since it can be recognized that the temporary identifier generated by the method is legitimate, it is possible to analyze the payload of the encapsulated packet to obtain the normal packet 170 and deliver it to the receiving terminal 140. However, if the temporary identifier does not exist in the list of the receiving side, or if the temporary identifier is not confirmed, the corresponding encapsulated packet 160 can be configured to be discarded 644 because it can be known that it is invalid or forged. there is.

임시식별자의 변경은 상기 모호화 주소에 의해 성립한 패킷 터널링(620)에 영향을 미치지 않는다. 이는 곧, 패킷 터널링(620)과 관련하여 공용망(210)에서 계산된 라우팅 경로 및 바인딩 된 네트워크 장치들이 임시식별자의 잦은 변경에도 영향을 받지 않는다는 것을 의미한다. 이를 통해 본 발명은 상술하였던 바와 같이 종래기술이 가졌던 잦은 호핑으로 인한 네트워크 라우팅 경로 재설정의 부담을 완화하면서도 극도로 짧은 호핑 주기를 유지할 수 있게 된다. 또한, 이처럼 계층화된 호핑의 구조를 갖춤으로써, 상기 시스템(600)의 실제 동작 방식에 무지한 제3자(이를테면, 공격자 단말기)로서는, 실제 수신 단말기(140)가 아닌 다수의 실재하지 않는 네트워크 단말기(650)가 존재한다고 오인할 수 있으며, 이를 통해 본 발명의 시스템(600)은 공격자 등의 정찰 및 해킹 행위로부터 내부 가상 네트워크(630, 230) 및 수신 단말기(140)를 안전하게 보호한다.Changing the temporary identifier does not affect the packet tunneling 620 established by the ambiguous address. This means that the routing path calculated in the public network 210 in relation to the packet tunneling 620 and bound network devices are not affected by frequent changes in the temporary identifier. Through this, the present invention can maintain an extremely short hopping cycle while alleviating the burden of resetting a network routing path due to frequent hopping that the prior art had as described above. In addition, by having such a hierarchical hopping structure, a third party (eg, an attacker terminal) ignorant of the actual operation method of the system 600 may have a plurality of non-existent network terminals (not the actual receiving terminal 140) 650) may be mistaken for existence, and through this, the system 600 of the present invention safely protects the internal virtual networks 630 and 230 and the receiving terminal 140 from reconnaissance and hacking by an attacker.

송신측 보안 장치의 동작Operation of sender side security device

도 7은 송신측 보안 장치의 동작 방법을 나타낸 순서도이다. 송신측 보안 장치의 동작에 앞서, 임의의 시점에, 송신측 보안 장치는 수신측 보안 장치와 동작 방법에 관한 합의 절차(Handshaking)를 밟은 것으로 간주한다(S710). 상기 합의 절차는, 바람직하게는, 두 장치의 페어링을 위한 통신 메시지의 교환에 의한 것일 수 있으나, 장치간 통신 보안 영역에서 사용되는 공지의 기술이 다양하게 적용될 수 있다. 예를 들어, 현재 시간을 기반으로 동기화하거나, 상호가 동일한 키 값을 공유함으로써 동기화하거나, 상호가 동일한 알고리즘을 사용함으로써 동기화하거나, 대칭키 또는 비대칭키 암호화 방식으로 동기화하거나, 그 밖의 다양한 방법을 고려할 수 있으며, 상기 방법 중 일부를 결합 또는 중복하여 적용하여도 무방하다.7 is a flowchart illustrating a method of operating a transmitting-side security device. Prior to the operation of the sending side security device, at any time, it is considered that the sending side security device has gone through an agreement procedure (Handshaking) on the operation method with the receiving side security device (S710). The agreement procedure may preferably be performed by exchanging communication messages for pairing of two devices, but various known technologies used in the communication security area between devices may be applied. For example, synchronization based on the current time, synchronization by mutually sharing the same key value, synchronization by mutually using the same algorithm, synchronization by symmetric key or asymmetric key encryption method, or various other methods to be considered. It is possible, and some of the above methods may be applied in combination or overlapping.

단계 S710의 합의 절차는 본 발명의 구체적 구현 방법에 관한 정보를 송신측과 수신측이 공유하는 절차로 구성될 수 있다. 상기 정보에는 1) 캡슐화된 패킷의 양식; 2) 모호화 주소 및 그 생성 방법; 3) 임시식별자 및 그 목록의 생성 방법이 포함될 수 있다.The agreement procedure of step S710 may consist of a procedure for sharing information on a specific implementation method of the present invention between the transmitting side and the receiving side. The information includes: 1) the format of the encapsulated packet; 2) ambiguous addresses and methods of generating them; 3) Temporary identifiers and methods of generating the list may be included.

송신측 보안 장치에는 송신 단말기로부터 수신 단말기에 전달되는 목적의 일반 패킷이 수신된다(S720). 상기 일반 패킷이 수신되면, 모호화 주소의 호핑(LFM 호핑)이 필요한지의 여부가 먼저 판단된다(S730). 단계 S730에서 호핑의 필요성을 판단하는 과정은 단계 S710에서 송신측과 수신측이 합의한 결과에 따라 결정될 수 있다. 예를 들어, 송신측과 수신측은 모두 소정 시간(예를 들어, 5초)마다 모호화 주소를 새로 생성하도록 구성될 수 있으며, 이 경우 마지막 모호화 주소 생성으로부터 상기 시간이 도과하였다면 호핑을 통해 모호화 주소가 새로이 생성되어야 함이 명백하다. 이에 의하여 LFM 주기에 의한 호핑이 실시될 수 있다.The sending side security device receives a general packet intended to be delivered from the sending terminal to the receiving terminal (S720). When the normal packet is received, it is first determined whether hopping (LFM hopping) of ambiguous addresses is required (S730). The process of determining necessity of hopping in step S730 may be determined according to the result of an agreement between the transmitter and the receiver in step S710. For example, both the sending side and the receiving side may be configured to newly generate an ambiguous address every predetermined time (eg, 5 seconds), and in this case, if the time has elapsed since the last ambiguous address generation, the ambiguous address is performed through hopping. It is clear that the fire address must be newly created. As a result, hopping by the LFM cycle can be performed.

신규 모호화 주소 바인딩(S735)이 필요한 것으로 결정되면, 모호화 주소가 생성된다. 모호화 주소는 수신 단말기의 실제 주소, 이를테면 내부 IP 주소 또는 보호된 IP 주소로 칭해질 수 있는 주소로부터 생성되며, 바람직하게는, 상기 IP 주소의 전체 또는 일부와 함께 공유 세션 키, 현재 시간 정보를 포함하는 입력 값이 주어진 함수에 의하여 계산되고 생성될 수 있다. 상기 함수는, 일 실시예에 따르면, 해시 함수의 일종일 수 있다.If it is determined that a new ambiguous address binding (S735) is required, an ambiguous address is generated. The disambiguation address is generated from the real address of the receiving terminal, such as an address which may be referred to as an internal IP address or a protected IP address, and preferably includes all or part of said IP address together with a shared session key, current time information. An input value containing can be calculated and generated by a given function. According to one embodiment, the function may be a type of hash function.

수학식 1은 모호화 주소의 생성 방법의 일 실시예를 나타내는 공식이다.Equation 1 is a formula representing an embodiment of a method for generating an ambiguous address.

Figure pat00001
Figure pat00001

수학식 1에서 IID x 는 수신 단말기의 실제 IP 주소를 나타내고, K S 는 공유 대칭 키를 나타내며, t i 는 i번째 임시식별자를 생성할 때의 현재 시간 정보를 나타낸다. H는 해시 함수를 나타내며, 수학식 1에서는 상기 해시 함수를 통해 도출된 결과 값의 첫 64비트를 H[·]0→63으로 나타낸다. 상기 수학식 1에 의하여 변조된 수신 단말기 주소 값은 IID' x 로 나타난다. 모호화 주소는 상기 변조된 64비트 주소 값에 본래 수신 단말기 IP 주소의 서브넷 구간을 연결함으로써 생성된다. 즉, 상기 모호화 주소는 수신 단말이 속해 있는 서브넷 게이트웨이(바람직하게는, 수신측 보안 장치와 동일할 수 있다)에 도달할 수 있는 IP 주소이지만, 실제 수신 단말기의 주소를 노출하지 않는 주소일 수 있다.In Equation 1, IID x represents the real IP address of the receiving terminal, KS represents the shared symmetric key, and t i represents current time information when generating the ith temporary identifier. H represents a hash function, and in Equation 1, the first 64 bits of the result value derived through the hash function are represented as H [·] 0→63 . The receiving terminal address value modulated by Equation 1 is expressed as IID'x . An ambiguous address is generated by concatenating the subnet section of the original receiving terminal IP address to the modulated 64-bit address value. That is, the ambiguous address is an IP address that can reach the subnet gateway to which the receiving terminal belongs (preferably, it may be the same as the receiving side security device), but may be an address that does not expose the address of the actual receiving terminal. there is.

다음으로, 모호화 주소가 상기 수학식 1에 따라 계산될 때마다, 상기 모호화 주소에 대응하여, 하나 이상의 임시식별자로 이루어진 목록이 모호화 주소, 공유 대칭 키, 및 현재 시간 정보를 포함하는 정보로부터, 바람직한 실시예에 따르면 해시 함수 H와 같은 수단을 이용하여, 생성될 수 있다(S770, S772, S774).Next, whenever a disambiguation address is calculated according to Equation 1 above, corresponding to the disambiguation address, a list consisting of one or more temporary identifiers includes information including the disambiguation address, the shared symmetric key, and current time information. From, according to a preferred embodiment, it can be generated using means such as a hash function H (S770, S772, S774).

Figure pat00002
Figure pat00002

Figure pat00003
Figure pat00003

상기 수학식 2 및 3에서, DID k x(i) 는 시간 t i 에서 호스트 x에 대한 (k+1)번째 임시식별자를 나타낸다. 상기 수학식 2 및 3에 의하여 임시식별자가 생성(S770)될 수 있다. 이 때, DID 0 x(i) , 즉 목록에서 처음으로 생성되는 임시식별자는, 시간 t i 에 생성된 모호화 주소로부터 계산될 수 있다. 목록에서 연속되는 다른 임시식별자, 즉 DID k x(i) 는, 직전의 임시식별자, 즉 DID k-1 x(i) 로부터 계산될 수 있다.In Equations 2 and 3 above, DID k x(i) represents the ( k +1)th temporary identifier for host x at time t i . A temporary identifier may be generated by Equations 2 and 3 above (S770). At this time, DID 0 x(i) , that is, the first temporary identifier generated in the list can be calculated from the ambiguous address generated at time t i . Another consecutive temporary identifier in the list, ie DID k x(i) , can be calculated from the previous temporary identifier, ie DID k-1 x(i) .

상기 생성(S770)된 임시식별자는 상기 모호화 주소에 대응하는 목록에 저장(S772)된다. 상기 목록을 송신측 임시식별자 목록으로 칭할 수 있다. 본 발명의 일 실시예에서는, 상기 신규 모호화 주소의 바인딩(S735) 시점에, 상기 목록에는 하나 이상의 임시식별자가 연속적으로 미리 생성되어 저장되도록 구성될 수 있다. 이를테면, 상기 송신측 보안 장치는 목록에서 한 번에 생성되는 임시식별자의 임계수를 n으로 정하고, 한 번 임시식별자를 생성할 때 n개의 연속적인 생성을 실시하도록 구성될 수 있다(S774). 가령, 임계수 n이 8이라면, 수학식 2에 의하여 DID 0 x(i) 을 구한 뒤 연속하여 DID 1 x(i) , DID 2 x(i) , …, DID 7 x(i) 를 생성(S770) 및 저장(S772)하도록 구성될 수 있다. 도 14의 (a)는 연속적으로 형성된 8개의 임시식별자의 목록을 나타낸 개념도이다. 이처럼 연속적으로 다수의 임시식별자를 생성함으로써, 고속으로 전송되는 패킷을 캡슐화시키는 과정에 실시간으로 임시식별자를 더 용이하게 제공할 수 있게 된다.The temporary identifier generated (S770) is stored in a list corresponding to the ambiguous address (S772). This list may be referred to as a sender side temporary identifier list. In one embodiment of the present invention, at the time of binding the new ambiguous address (S735), one or more temporary identifiers may be successively generated in advance and stored in the list. For example, the transmitting side security device may be configured to set the critical number of temporary identifiers to be generated at once in the list as n, and to continuously generate n number of temporary identifiers when generating them once (S774). For example, if the critical number n is 8, DID 0 x(i) is obtained by Equation 2, and then DID 1 x(i) , DID 2 x(i) , . . . , DID 7 x (i) may be configured to generate (S770) and store (S772). 14(a) is a conceptual diagram showing a list of 8 temporary identifiers continuously formed. By continuously generating a plurality of temporary identifiers in this way, it is possible to more easily provide temporary identifiers in real time in the process of encapsulating packets transmitted at high speed.

본 발명의 일 실시예에 따르면, 상기 연속적으로 임시식별자를 생성하는 과정은, n보다 적은 횟수의 계산을 실시한 뒤 계산 결과를 나누어 사용하는 방식으로 구현될 수 있다. 예를 들어, 임계수 n이 8이고, 임시식별자의 길이를 64비트로 정한 경우, "crypto/sha512"와 같은 종래의 해시 함수에 의하여, 모호화 주소, 공유 대칭 키, 및 현재 시간 정보를 포함하는 정보로부터 512비트의 해시 값을 생성하고, 상기 값을 8개의 64비트 값으로 분할하여 각각 DID 0 x(i) 내지 DID 7 x(i) 의 값으로 활용하도록 구성될 수 있다. 즉, DID 0 x(i) =H[(…)]0→63이고, DID 7 x(i) =H[(…)]448→511일 수 있다.According to an embodiment of the present invention, the process of continuously generating temporary identifiers may be implemented in a manner in which calculation results are divided and used after performing calculations fewer than n times. For example, when the critical number n is 8 and the length of the temporary identifier is set to 64 bits, information including an ambiguous address, a shared symmetric key, and current time information is obtained by a conventional hash function such as "crypto/sha512". A 512-bit hash value may be generated from , and the value may be divided into eight 64-bit values to be used as values of DID 0 x (i) to DID 7 x (i) , respectively. That is, DID 0 x(i) = H [(...)] 0→63 , and DID 7 x(i) = H [(...)] 448→511 .

상기 각 절차에 의해 모호화 주소가 준비되고 임시식별자의 목록이 준비된다면, 상기 수신(S720)된 일반 패킷을 캡슐화하는 절차를 실시할 수 있다(S740). 상기 캡슐화 절차의 일 실시예는 도 9a 내지 9b를 참조하여 설명한다. 종래의 MT6D 시스템에서는 단계 S740에 있어, 도 9a와 같이, 일반 패킷의 IP 헤더에(410)서 송신 단말기 IP 주소 및 수신 단말기 IP 주소를 제거한 후(410') 일반 패킷을 캡슐화된 패킷의 페이로드(440)로 삼는다. 본 발명에서는, 도 9b와 같이, 상기 목록으로부터 순차적으로 임시식별자를 선택(S780)하고, 상기 선택된 임시식별자(920)를 캡슐화된 패킷의 헤더(430)와 페이로드화 된 일반 패킷의 헤더(410') 사이에 송신측 임시식별자로서 삽입하는 과정을 단계 S740에 더 포함할 수 있다.If the ambiguous address is prepared and the list of temporary identifiers is prepared by each of the above procedures, the procedure of encapsulating the received normal packet (S720) can be performed (S740). One embodiment of the encapsulation procedure is described with reference to FIGS. 9A-9B. In the conventional MT6D system, in step S740, as shown in FIG. 9A, after removing the IP address of the sending terminal and the IP address of the receiving terminal from the IP header 410 of the normal packet (410'), the payload of the packet encapsulating the normal packet (440). In the present invention, as shown in FIG. 9B, a temporary identifier is sequentially selected from the list (S780), and the selected temporary identifier 920 is included in the header 430 of the encapsulated packet and the header 410 of the payloaded normal packet. ') as a transmitter temporary identifier may be further included in step S740.

상기 패킷의 캡슐화(S740) 과정에서, 하나의 일반 패킷이 하나 이상의 캡슐화된 패킷으로 변환될 수 있다. 이는 캡슐화된 패킷과 일반 패킷이 동일한 양식의, 예를 들어 IPv6 방식의 패킷인 경우, 헤더를 포함하는 패킷의 정보 일체를 동일한 규격의 패킷 페이로드로 탑재하고자 하는 경우, 패킷의 제한 길이를 초과할 가능성이 있기 때문이다. 이러한 경우 하나의 일반 패킷에 속한 정보가 하나 이상의 캡슐화된 패킷에 담겨 송신될 수 있다. 이러한 절차는 통상의 패킷 터널링 기술에서 사용되는 종래기술이므로, 본 발명의 권리범위를 형성 또는 한정하는 요인이 될 수 없으며, 따라서 이에 관한 자세한 설명은 생략하기로 한다.In the process of encapsulating the packet (S740), one normal packet may be converted into one or more encapsulated packets. This may exceed the limited length of the packet if the encapsulated packet and the normal packet are of the same format, for example, IPv6 packets, and if all information of the packet including the header is to be loaded as the packet payload of the same standard. Because there is a possibility. In this case, information belonging to one general packet may be transmitted in one or more encapsulated packets. Since this procedure is a prior art used in a typical packet tunneling technology, it cannot be a factor forming or limiting the scope of the present invention, and therefore, a detailed description thereof will be omitted.

상기 패킷의 캡슐화(S740) 과정에서 임시식별자를 선택(S780)하는 과정은, 바람직한 실시예에서는, FIFO(First in first out)방식으로 구현될 수 있다. 즉, 만들어진 순서에 따라 선택되도록 구성될 수 있다. 즉, 상기 송신측 임시식별자는, 생성 순서에 의하여 패킷의 바람직한 전송 순서를 증명하는 값으로 사용될 수 있다.The process of selecting a temporary identifier (S780) in the process of encapsulating the packet (S740) may be implemented in a first in first out (FIFO) method in a preferred embodiment. That is, it may be configured to be selected according to the order of creation. That is, the temporary identifier of the sender side can be used as a value for proving the preferred transmission order of packets according to the generation order.

상기 선택된 임시식별자는 패킷의 캡슐화에 필요한 횟수만큼, 바람직하게는 1회 사용된 이후, 상기 목록에서 삭제(S782)된다. 이로써 소수의 패킷마다, 바람직하게는 매 패킷마다 임시식별자가 변경되고, 한번 사용된 임시식별자를 다시 사용하지 않게 됨으로써, HFM 주기에 의한 호핑이 실시될 수 있다.After the selected temporary identifier is used as many times as necessary for packet encapsulation, preferably once, it is deleted from the list (S782). As a result, the temporary identifier is changed for every small number of packets, preferably every packet, and the temporary identifier used once is not used again, so that hopping by the HFM cycle can be performed.

상기 도 9b에서 임시식별자가 삽입되는 위치와 캡슐화된 패킷에 삽입되는 정보는 선택 가능한 한 가지 실시예에 불과하다. 도 9c를 참조하면, 임시식별자는 상기 캡슐화된 패킷의 다른 위치에 삽입되어도 무관하다. 또한, 캡슐화된 패킷의 구성 정보는 임시식별자(920)를 포함하는 한 어떻게 구성되든 본 발명의 사상에 부합함이 명백하다.In FIG. 9B, the position where the temporary identifier is inserted and the information inserted into the encapsulated packet are only examples that can be selected. Referring to FIG. 9C, the temporary identifier may be inserted in another location of the encapsulated packet. In addition, as long as the configuration information of the encapsulated packet includes the temporary identifier 920, it is clear that any configuration conforms to the spirit of the present invention.

도 9c에 나타난 다양한 실시예에 대하여 설명한다. 도 9c에 나타난 캡슐화된 패킷의 제1 변형 실시예(900-1)에서는, 임시식별자(920)가 캡슐화된 패킷(900-1)의 가장 앞에 위치하고 있다. 상기 실시예에서는 임시식별자(920)가 패킷의 가장 선두에 위치함으로써 종래 프로토콜에 의한 캡슐 헤더(430)보다 선행하고 있다. 따라서 종래의 네트워크에서는 상기 실시예상의 패킷(900-1)의 전달이 불가능할 수 있으나, 이러한 패킷(900-1)을 전달할 수 있도록 구성이 설계된 또는 변경된 네트워크에서는 이같이 구현되어도 무방하다. 제2 변형 실시예(900-2)에서는, 임시식별자(920)가 일반 패킷 헤더(410')와 일반 패킷 페이로드(420)의 사이에 삽입되고 있다. 제3 변형 실시예(900-3)에서는, 임시식별자(920)가 캡슐화된 패킷(900-3)의 가장 뒤에 위치하고 있다. 제4 변형 실시예(900-4)에서는, 임시식별자(920)가 수정된 양식의 캡슐 헤더(940)에 포함되어 있다. 상기 수정된 양식의 캡슐 헤더(940)는, 바람직하게는, IPv6 프로토콜의 헤더이거나 MT6D 기능에 대한 확장 헤더일 수 있다. 제5 변형 실시예(900-5)에서는, 임시식별자(920)가 수정된 양식의 일반 패킷 헤더(950)에 포함되어 있다. 상기 수정된 양식의 일반 패킷 헤더(950)는, 바람직하게는, IPv6 프로토콜의 헤더이거나 일반 패킷에 첨부되는 용도의 확장 헤더일 수 있다. 제6 변형 실시예(900-6)에서는, 송신 단말기 IP 주소 및 수신 단말기 IP 주소가 제거되지 않은 온전한 일반 패킷 헤더(410)가 캡슐화된 패킷에 삽입되고 있다. 제7 실시예(900-7)에서는, 캡슐화 과정에서 일반 패킷 헤더(410)가 완전히 생략되고, 캡슐화된 헤더(430)와 임시식별자(920)만이 포함되어 캡슐화된 패킷(900-7)이 생성된다.Various embodiments shown in FIG. 9C will be described. In the first modified embodiment 900-1 of the encapsulated packet shown in FIG. 9C, the temporary identifier 920 is positioned at the front of the encapsulated packet 900-1. In the above embodiment, the temporary identifier 920 is located at the top of the packet and precedes the capsule header 430 according to the conventional protocol. Therefore, although the transmission of the packet 900-1 according to the embodiment may be impossible in a conventional network, it may be implemented in this way in a network whose configuration is designed or changed so that the packet 900-1 can be transmitted. In the second modified embodiment 900-2, the temporary identifier 920 is inserted between the normal packet header 410' and the normal packet payload 420. In the third modified embodiment 900-3, the temporary identifier 920 is positioned at the end of the encapsulated packet 900-3. In the fourth modified embodiment 900-4, the temporary identifier 920 is included in the modified capsule header 940. The capsule header 940 of the modified form may preferably be a header of the IPv6 protocol or an extension header for the MT6D function. In the fifth modified embodiment 900-5, the temporary identifier 920 is included in the general packet header 950 in a modified form. The general packet header 950 of the modified form may preferably be a header of an IPv6 protocol or an extension header for use attached to a general packet. In the sixth modified embodiment 900-6, an intact normal packet header 410 from which the sending terminal IP address and the receiving terminal IP address are not removed is inserted into the encapsulated packet. In the seventh embodiment 900-7, the normal packet header 410 is completely omitted during the encapsulation process, and only the encapsulated header 430 and temporary identifier 920 are included to generate an encapsulated packet 900-7. do.

상기 도 9b 및 9c에 나타난 것은 본 발명의 임시식별자가 캡슐화된 패킷의 임의 위치에 삽입될 수 있음을 보여주는 다양한 실시예이며, 통상의 기술자는 본 발명을 실시하는 데 있어 다양한 이점을 누리기 위해 상기 도시된 실시예 중 하나 또는 그 밖의 어떠한 다른 방법이라도 선택할 수 있다. 따라서, 상기 실시예들에 한정되지 않고 패킷 터널링에 사용되는 캡슐화된 패킷에 임시식별자를 포함하여 전송하기 위한 여하의 방법 및 수단이 본 발명의 권리범위에 포함될 수 있음은 자명하다.9B and 9C are various embodiments showing that the temporary identifier of the present invention can be inserted at any position in an encapsulated packet, and those skilled in the art can enjoy various advantages in practicing the present invention. One of the described embodiments or any other method may be selected. Therefore, it is obvious that any method and means for transmitting an encapsulated packet used for packet tunneling including a temporary identifier without being limited to the above embodiments may be included within the scope of the present invention.

상술한 바와 같이 패킷의 캡슐화(S740)가 이루어지면, 해당 패킷은 상기 모호화 주소를 이용하여 네트워크를 통해 수신측 보안 장치를 향해 송신(S750)된다. 이렇게 송신된 캡슐화된 패킷에서는, 바람직한 실시예에 따르면, 패킷의 내용을 모두 분석하더라도 송신 단말기 및 수신 단말기의 IP 주소를 획득할 수 없고, 또한 모호화 주소에 더해 임시식별자가 빠른 주기로, 바람직한 실시예에 따르면, 매 패킷마다 변화함으로써, 네트워크에 존재하는 공격자에 의한 정찰 및 프로파일링 행위에 강인하게 될 수 있다.As described above, when the packet is encapsulated (S740), the corresponding packet is transmitted to the receiving side security device through the network using the ambiguous address (S750). In the encapsulated packet transmitted in this way, according to a preferred embodiment, the IP addresses of the sending terminal and the receiving terminal cannot be obtained even if all contents of the packet are analyzed, and the temporary identifier is added to the ambiguous address at a fast cycle. According to, by changing every packet, it can be robust against reconnaissance and profiling by an attacker existing in the network.

상술한 송신측 보안 장치에서의 절차는 더 전송해야 할 일반 패킷이 존재하는 한(S760) 반복된다. 그 과정에서 일정 시간 또는 일정 패킷 간격이 지나 모호화 주소의 호핑이 필요해지는 경우(S730)에는 다시 새로운 모호화 주소를 생성 및 바인딩(S735)한다.The above-described procedure in the transmitting-side security device is repeated as long as there are more normal packets to be transmitted (S760). In the process, if hopping of the ambiguous address becomes necessary after a certain time or a certain packet interval (S730), a new ambiguous address is generated and bound (S735).

한편, 상기 임시식별자가 목록에서 삭제(S782)됨에 따라, 목록의 크기가 임계수 m보다 작아질 수 있다. 도 14의 (b)는 임시식별자의 수가 임계수 m(1402), 여기서는 5보다 작아진 경우를 나타낸다. 소정 개수의 임시식별자를 목록에 유지하는 것은 고속으로 전송되는 패킷을 캡슐화시키는 과정에 실시간으로 임시식별자를 용이하게 제공하는 데 있어서 중요하다. 따라서, 본 발명의 일 실시예에서는 남은 임시식별자 목록의 크기가 임계수 m보다 작아지는 경우(S784) 임시식별자의 연속적 생성절차(S770, S772, S774)를 다시 시행하여 임시식별자를 보충하도록 구성될 수 있다. 도 14의 (c)를 살펴보면, 상기 절차에 의해 임계수 n(1401)만큼의 임시식별자가 보충되어, 임시식별자의 목록 길이가 임계수 m(1402) 이상으로 회복됨을 알 수 있다.Meanwhile, as the temporary identifier is deleted from the list (S782), the size of the list may become smaller than the threshold number m. 14(b) shows a case where the number of temporary identifiers becomes smaller than the threshold number m (1402), in this case 5. Maintaining a certain number of temporary identifiers in the list is important to easily provide temporary identifiers in real time in the process of encapsulating packets transmitted at high speed. Therefore, in one embodiment of the present invention, when the size of the remaining temporary identifier list becomes smaller than the threshold number m (S784), the temporary identifier successive generation procedure (S770, S772, S774) is executed again to replenish temporary identifiers. there is. Referring to (c) of FIG. 14 , it can be seen that the temporary identifiers corresponding to the threshold number n (1401) are replenished through the above procedure, and the list length of temporary identifiers is restored to the threshold number m (1402) or more.

부가적으로, 도 14의 (d)와 같이 상기 임계수 n(1401)보다 큰 임계수 m(1402')이 사용되는 경우, 임시식별자의 연속적 생성절차(S770, S772, S774)가 1회 이상 반복적으로 실행되어야 할 수 있으며(S784), 이는 본 발명을 구현하는 실시예의 변형에 따라 통상의 기술자가 용이하게 취할 수 있는 변형의 범위 내에 있으므로, 발명의 실시에 있어 이 같은 변형을 취하더라도 본 발명의 권리범위로부터 벗어나지 아니함은 자명하다.Additionally, as shown in (d) of FIG. 14, when the threshold number m (1402') greater than the threshold number n (1401) is used, the temporary identifier successive generation procedure (S770, S772, S774) is repeated one or more times. It may have to be executed (S784), and since this is within the range of modifications that can be easily taken by a person skilled in the art according to modifications of the embodiments embodying the present invention, even if such modifications are taken in the practice of the invention, the rights of the present invention It is self-evident that it does not deviate from the range.

상기 송신측 보안 장치의 동작은 더 이상 전송할 일반 패킷이 없는 경우(S760) 종료될 수 있다.The operation of the transmission-side security device may end when there are no more normal packets to be transmitted (S760).

도 12는 상술한 도 7의 방법을 수행하는 송신측 보안 장치(1200)의 구조를 나타낸 개념도이다. 도 12의 송신측 보안 장치(1200)는 앞서 도 1 내지 3에서 설명되었던 부호 120의 장치와 동일한 것으로 간주할 수 있다. 도 7에서 나타낸 합의 절차(S710)는 공용망(210)을 거치는 동기화 메시지(1290)와 같은 형태로 구현될 수 있다. 송신 단말기(110)로부터 유래하는 일반 패킷(150)을 수신(S720)하는 단계는 수신부(1230)를 통해 수행될 수 있다. 임시식별자를 생성(S770)하는 단계는 임시식별자 생성부(1210)를 통해 수행될 수 있고, 상기 임시식별자를 목록화하여 저장(S772)하고, 필요에 따라 임시식별자를 선택(S780)하는 단계는 저장부(1220)를 통해 수행될 수 있다. 임시식별자가 충분한 개수만큼 생성 또는 유지되고 있는지 판단(S774, S784)하거나, 모호화 주소의 호핑 필요성을 판단(S730)하거나, 신규 모호화 주소를 계산 및 바인딩(S735)하거나, 패킷을 실제 캡슐화(S740)하는 단계와 같이 각종 계산, 판단, 및 정보처리와 관련된 단계는 처리부(1240)를 통해 수행될 수 있다. 캡슐화된 패킷(160)을 수신측 보안 장치로 송신하는 단계(S750)는 송신부(1250)를 통해 수행될 수 있으며, 수신측 보안 장치는 공용망(210)에 접속되는 형태로 존재할 수 있다.FIG. 12 is a conceptual diagram showing the structure of the transmitting-side security device 1200 performing the method of FIG. 7 described above. The transmission-side security device 1200 of FIG. 12 may be regarded as the same as the device of reference numeral 120 described above with reference to FIGS. 1 to 3 . The agreement procedure (S710) shown in FIG. 7 may be implemented in the form of a synchronization message (1290) passing through the public network (210). Receiving (S720) the normal packet 150 from the transmitting terminal 110 may be performed through the receiving unit 1230. The step of generating a temporary identifier (S770) may be performed through the temporary identifier generator 1210, and the step of listing and storing the temporary identifier (S772) and selecting a temporary identifier if necessary (S780) This may be performed through the storage unit 1220. It is determined whether a sufficient number of temporary identifiers are generated or maintained (S774, S784), the need for hopping of ambiguous addresses is determined (S730), new ambiguous addresses are calculated and bound (S735), or packets are actually encapsulated (S735). Steps related to various calculations, judgments, and information processing, such as step S740), may be performed through the processing unit 1240. Transmitting the encapsulated packet 160 to the receiving side security device (S750) may be performed through the transmission unit 1250, and the receiving side security device may exist in a form connected to the public network 210.

수신측 보안 장치의 동작Behavior of Receiving Side Security Devices

도 8은 수신측 보안 장치의 동작 방법을 나타낸 순서도이다. 수신측 보안 장치의 동작에 앞서, 임의의 시점에, 수신측 보안 장치는 송신측 보안 장치와 동작 방법에 관한 합의 절차(Handshaking)를 밟은 것으로 간주한다(S810). 상기 합의 절차의 실시예에 대한 설명은 앞서 송신측 보안 장치의 합의 절차(S710)에 대해 설명한 바와 같으므로 생략한다.8 is a flowchart illustrating a method of operating a receiving side security device. Prior to the operation of the receiving side security device, at any time, it is considered that the receiving side security device has gone through an agreement procedure (Handshaking) on the operation method with the sending side security device (S810). A description of the embodiment of the agreement procedure is the same as that of the agreement procedure (S710) of the transmitting side security device, and thus will be omitted.

또한, 수신측 보안 장치의 동작에 앞서, 적어도 하나의 수신 단말기가 수신측 보안 장치에 접속하는 준비 단계(S815)가 있었던 것으로 간주한다. 수신 단말기의 접속을 인지함으로써, 수신측 보안 장치는 보안 장치의 보호를 받고자 하는 수신측 단말기의 IP 주소를 포함하는 정보를 확인하여, 해당 수신 단말기로 전달되어야 할 일반 패킷을 복구하기 위한 정보를 획득할 수 있다.In addition, it is considered that there is a preparation step (S815) in which at least one receiving terminal accesses the receiving side security device prior to the operation of the receiving side security device. By recognizing the connection of the receiving terminal, the receiving-side security device checks information including the IP address of the receiving-side terminal to be protected by the security device, and obtains information for restoring a general packet to be delivered to the corresponding receiving terminal. can do.

수신측 보안 장치는 송신측 보안 장치로부터 송신된 캡슐화된 패킷을 수신하기 위한 모호화 주소가 지정되어야 한다. 상기 캡슐화된 패킷의 수신에 앞서, 모호화 주소의 호핑(LFM 호핑)이 필요한지의 여부가 먼저 판단된다(S820). 단계 S820에서 호핑의 필요성을 판단하는 과정에 대한 설명은 앞서 송신측 보안 장치의 호핑 판단 절차(S730)에 대해 설명한 바와 같으므로 생략한다.The receiving side security device must specify the disambiguation address to receive the encapsulated packet transmitted from the sending side security device. Prior to receiving the encapsulated packet, it is first determined whether hopping (LFM hopping) of an ambiguous address is necessary (S820). The description of the process of determining the need for hopping in step S820 is the same as the hopping determination process (S730) of the transmitting side security device, and thus will be omitted.

신규 모호화 주소 바인딩(S825)이 필요한 것으로 결정되면, 모호화 주소가 계산된다. 모호화 주소는 수신 단말기의 실제 주소, 이를테면 내부 IP 주소 또는 보호된 IP 주소로 칭해질 수 있는 주소로부터 생성되며, 상기 준비 단계에서 확보된 수신 단말기의 IP 주소가 활용될 수 있다. 모호화 주소와 그 계산 방법에 대한 설명은 앞서 송신측 보안 장치의 모호화 주소 생성 절차(S735)에 대해 설명한 바와 같으므로 생략한다.If it is determined that a new ambiguous address binding (S825) is required, an ambiguous address is calculated. The ambiguous address is generated from a real address of the receiving terminal, such as an address that may be referred to as an internal IP address or a protected IP address, and the IP address of the receiving terminal secured in the preparation step may be utilized. The description of the ambiguous address and its calculation method is the same as the above description of the ambiguous address generating procedure (S735) of the security device at the sending side, and thus will be omitted.

상기 모호화 주소가 새로이 계산될 때마다, 상기 모호화 주소에 대응하여, 하나 이상의 임시식별자로 이루어진 목록이 모호화 주소, 공유 대칭 키, 및 현재 시간 정보를 포함하는 정보로부터, 바람직한 실시예에 따르면 해시 함수 H와 같은 수단을 이용하여, 생성될 수 있다(S870, S872, S874). 또한 바람직한 실시예에서, 상기 해시 함수 등을 이용하는 임시식별자의 생성 공식은 앞서 송신측 보안 장치에서 임시식별자 DID k x(i) 를 획득하기 위해 사용한 수학식 2 및 3과 동일할 수 있다.Whenever the disambiguation address is newly calculated, a list of one or more temporary identifiers corresponding to the disambiguation address is obtained from information including the disambiguation address, shared symmetric key, and current time information, according to a preferred embodiment. It can be generated using the same means as hash function H (S870, S872, S874). In a preferred embodiment, the temporary identifier generation formula using the hash function may be the same as Equations 2 and 3 used to obtain the temporary identifier DID k x(i) in the transmitting side security device.

상기 생성(S870)된 임시식별자는 상기 모호화 주소에 대응하는 목록에 저장(S872)된다. 상기 목록을 수신측 임시식별자 목록으로 칭할 수 있다. 본 발명의 일 실시예에서는, 상기 신규 모호화 주소의 바인딩(S825) 시점에, 상기 목록에는 하나 이상의 임시식별자가 연속적으로 미리 생성되어 저장되도록 구성될 수 있다. 이를테면, 상기 수신측 보안 장치는 목록에서 한 번에 생성되는 임시식별자의 임계수를 n으로 정하고, 한 번 임시식별자를 생성할 때 n개의 연속적인 생성을 실시하도록 구성될 수 있다(S774). 임시식별자의 생성과 이를 목록에 저장하는 방법에 대한 설명은 앞서 송신측 보안 장치에서의 임시식별자 생성 및 목록 저장 절차(S770, S772, S774)에 대해 설명한 바와 같으므로 생략한다.The temporary identifier generated (S870) is stored in a list corresponding to the ambiguous address (S872). This list may be referred to as a recipient side temporary identifier list. In one embodiment of the present invention, at the time of binding the new ambiguous address (S825), one or more temporary identifiers may be successively generated in advance and stored in the list. For example, the receiving side security device may be configured to set the critical number of temporary identifiers generated at once in the list as n, and perform n consecutive generation when generating temporary identifiers once (S774). A description of how to generate the temporary identifier and store it in the list is the same as the procedure for generating the temporary identifier and storing the list (S770, S772, S774) in the security device at the sender side, so it will be omitted.

적절한 모호화 주소가 바인딩되고 임시식별자의 목록이 준비된다면, 수신측 보안 장치에는 송신측 보안 장치로부터 모호화 주소를 이용하여 송신된 캡슐화된 패킷이 수신(S830)될 수 있다. 수신측 보안 장치는 상기 캡슐화된 캡슐을 분석하여 송신측 보안 장치에 의해 삽입된 송신측 임시식별자가 존재하는지, 존재한다면 그 값은 무엇인지 확인할 수 있다. 수신측 보안 장치는 캡슐화된 패킷의 다양한 위치로부터 송신측 임시식별자를 확인하고자 할 수 있으며, 그 위치에 관한 실시예는 앞서 도 9b 및 9c를 인용하여 설명한 바와 같다. 송신측 임시식별자가 확인되는 경우, 그 값을 수신측 임시식별자 목록에 있는, 바람직한 실시예에 따르면, 모든 임시식별자 값과 각각 대응하는지 여부를 대조(S840)할 수 있다.If an appropriate ambiguous address is bound and a list of temporary identifiers is prepared, the encapsulated packet transmitted using the ambiguous address from the sending security device may be received in the receiving side security device (S830). The receiving-side security device analyzes the encapsulated capsule to determine whether the sending-side temporary identifier inserted by the sending-side security device exists and, if so, what its value is. The receiving-side security device may want to identify the sending-side temporary identifier from various locations of the encapsulated packet, and an embodiment of the location is as described above with reference to FIGS. 9B and 9C. If the sender's temporary identifier is confirmed, it can be checked whether the value corresponds to all temporary identifier values in the recipient's temporary identifier list, respectively (S840).

본 발명의 바람직한 실시예에 따르면, 앞서 서술한 실시예와 같이 송신측과 수신측이 모두 수학식 2 및 3의 동일한 구현에 의하여 임시식별자를 생성하는 경우, 상기 대응하는지 대조(S840)하는 방법은, 두 값이 동일한지를 확인하는 방법일 수 있다. 다만, 본 발명의 다른 실시예에서는, 상기 수학식 2 및 3의 서로 다른 구현이 사용되거나, 더욱 진보된 임시식별자의 운용 방법이 사용될 수 있으며, 이 경우에 관하여서는 이하 별도로 후술하기로 한다.According to a preferred embodiment of the present invention, when both the transmitter and the receiver generate temporary identifiers by the same implementation of Equations 2 and 3 as in the above-described embodiment, the method of matching (S840) , can be a way to check whether two values are the same. However, in another embodiment of the present invention, different implementations of Equations 2 and 3 may be used or a more advanced temporary identifier operating method may be used, and this case will be separately described later.

상기 대조(S840)의 결과에 따라, 만약 캡슐화된 패킷에서 획득된 송신측 임시식별자와 대응하는 수신측 임시식별자가 확인되는 경우, 상기 캡슐화된 패킷은 송신측 보안 장치에 의하여 정당하게 송신된 것으로 판단될 수 있다. 이 경우, 수신측 보안 장치는 패킷의 캡슐화를 해제(S860)할 수 있다. 반대로, 대응하는 수신측 임시식별자가 확인되지 않는 경우, 해당 캡슐화된 패킷은 위조되거나 잘못 수신된 것으로 간주되어, 수신측 보안 장치는 이 패킷을 처리하지 않고 폐기(S890)하게 된다.According to the result of the comparison (S840), if the temporary identifier of the receiving side corresponding to the temporary identifier of the transmitting side obtained from the encapsulated packet is verified, it is determined that the encapsulated packet is legitimately transmitted by the security device of the transmitting side. It can be. In this case, the receiving side security device may release the encapsulation of the packet (S860). Conversely, if the corresponding temporary identifier of the receiving side is not confirmed, the corresponding encapsulated packet is regarded as forged or incorrectly received, and the receiving side security device discards the packet without processing it (S890).

상기 대조(S840) 절차는 앞서 도 6의 개념도를 참조하여 설명하였던 필터(640)를 구현하고 있는 것으로 볼 수 있다. 단계 S860은 도 6에서 패킷을 수용하는 경우(642)에 실행되는 것이고, 단계 S890은 도 6에서 패킷을 폐기하는 경우(644)에 실행되는 것으로 간주할 수 있다. 이로써 도 8의 절차가 어떤 절차에 의하여 도 6에 나타난 본 발명의 기술적 사상을 구현하는지 통상의 기술자라면 용이하게 알 수 있을 것이다.The comparison (S840) procedure can be regarded as implementing the filter 640 previously described with reference to the conceptual diagram of FIG. 6 . It can be considered that step S860 is executed when the packet is accepted (642) in FIG. 6, and step S890 is executed when the packet is discarded (644) in FIG. Accordingly, those skilled in the art can easily understand how the procedure of FIG. 8 implements the technical idea of the present invention shown in FIG. 6 .

상기 대응이 확인된 임시식별자는 패킷의 캡슐화 해제에 필요한 횟수만큼, 바람직하게는 1회 사용된 이후, 상기 목록에서 삭제(S880)된다. 이로써 소수의 패킷마다, 바람직하게는 매 패킷마다 임시식별자가 변경되고, 한번 패킷이 정상 수신된 임시식별자를 첨부하여 수신되는 패킷은 향후 거부하게 됨으로써, HFM 주기에 의한 호핑이 실시될 수 있다.The temporary identifier for which the correspondence is confirmed is deleted from the list after being used as many times as necessary to decapsulate the packet, preferably once, in step S880. In this way, the temporary identifier is changed for every small number of packets, preferably for every packet, and packets received by attaching the temporary identifier to which a packet is normally received are rejected in the future, so that hopping based on the HFM cycle can be performed.

상기 캡슐화 해제의 방법에 대한 설명은, 앞서 송신측 보안 장치에서 패킷의 캡슐화 방법과 관련하여 도 9a 내지 도 9c를 참조하여 설명한 절차의 역순으로 간주할 수 있다. 도 9b를 참조하면, 본 발명의 일 실시예에서는, 캡슐화된 페이로드(930)의 가장 앞부분으로부터 임시식별자(920)를 획득하여 상기 대조 절차(S840)를 수행하고, 캡슐화 해제(S860)를 수행하기로 결정하면, 이후의 페이로드 부분을 일반 패킷 헤더(410')와 일반 패킷 페이로드(420)로 복구한다. 그 다음, 상기 모호화 주소와 상기 수신측 임시식별자를 도출하도록 한 수신 단말기 주소를 일반 패킷 헤더에 보충(410)하여, 해당 일반 패킷이 정상적으로 수신 단말기에 송신될 수 있도록 한다. 이상과 같은 절차를 거쳐 일반 패킷이 복구(S860)되면, 수신측 보안 장치는 상기 일반 패킷을 수신 단말기를 향해 송신(S862)할 수 있다.The description of the decapsulation method may be regarded as the reverse order of the procedure described above with reference to FIGS. 9A to 9C in relation to the encapsulation method of the packet in the transmission-side security device. Referring to FIG. 9B , in one embodiment of the present invention, the temporary identifier 920 is obtained from the frontmost part of the encapsulated payload 930, the verification procedure (S840) is performed, and the decapsulation (S860) is performed. If it is determined to do so, the subsequent payload part is restored to the normal packet header 410' and the normal packet payload 420. Next, the normal packet header is supplemented with the ambiguous address and the receiving terminal address from which the receiving side temporary identifier is derived (410), so that the corresponding normal packet can be normally transmitted to the receiving terminal. When the normal packet is recovered through the above procedure (S860), the receiving side security device may transmit the normal packet to the receiving terminal (S862).

상기 패킷의 캡슐화 해제(S860) 과정에서, 하나의 일반 패킷이 하나 이상의 캡슐화된 패킷으로부터 도출될 수 있다. 이에 대해서는 앞서 송신측 보안 장치의 설명에서 설명한 바 있으며, 이러한 절차는 통상의 패킷 터널링 기술에서 사용되는 종래기술이므로, 본 발명의 권리범위를 형성 또는 한정하는 요인이 될 수 없으며, 따라서 이에 관한 자세한 설명은 생략하기로 한다.In the process of decapsulating the packet (S860), one normal packet may be derived from one or more encapsulated packets. This has been previously described in the description of the security device on the sender side, and since this procedure is a conventional technology used in general packet tunneling technology, it cannot be a factor forming or limiting the scope of the present invention, and therefore a detailed description thereof. will be omitted.

상기 패킷의 캡슐화 해제(S860) 과정에서 모든 임시식별자 값과 각각 대응하는지 여부를 대조(S840)하는 것은, 본 발명의 바람직한 실시예에 따르면, 패킷이 송신된 순서와 다른 순서로 수신되는 경우에도 패킷이 정상적으로 받아들여지도록 보장하기 위함이다. 이에 대해서는 도 10a 내지 10c를 통해 설명하기로 한다.In the process of decapsulating the packets (S860), checking (S840) whether or not all the temporary identifier values correspond to each of the packets is, according to a preferred embodiment of the present invention, even if the packets are received in an order different from the order in which they were transmitted. This is to ensure that this is normally accepted. This will be described with reference to FIGS. 10A to 10C.

도 10a를 참조하면, 송신측 보안 장치에서는 상기 수학식 2의 DID 0 x(i) 을 계산한 값(1010)으로부터 송신측 임시식별자 DID 1→5 x(i) (1020-1 내지 1020-5)를 순차적으로 생성하여 목록(1060)에 저장하고, 이를 순차적으로 캡슐화된 패킷(1030)에 삽입하여 패킷 터널링(620)을 경유하여 송신한다. 한편, 수신측 보안 장치에서는 상기 수학식 2의 DID 0 x(i) 을 계산한 값(1015)으로부터 송신측 임시식별자 DID 1→5 x(i) (1025-1 내지 1025-5)를 순차적으로 생성하여 목록(1065)에 저장한다. 만약 송신한 순서대로 패킷이 수신측 보안 장치에 도착한다면, 수신측은 목록을 순차적으로 대조하여(예를 들어, 송신측 임시식별자 1020-1을 수신측 임시식별자 1025-1과 대조하여) 캡슐화된 패킷을 검증할 수 있다. 보조적으로 도 10b를 참조하면, 송신측 임시식별자 목록(1060)에 없는 부정한 식별자(1040)를 포함한 캡슐화된 패킷(1050)은 수신측 보안 장치에서 임시식별자가 대조되지 못하여 받아들여지지 않을 것(644)임을 알 수 있다.Referring to FIG. 10A, in the transmitting side security device, the transmitting side temporary identifier DID 1→5 x(i) (1020-1 to 1020-5) from the calculated value (1010) of DID 0 x (i) in Equation 2 ) are sequentially generated and stored in the list 1060, and are sequentially inserted into encapsulated packets 1030 and transmitted via packet tunneling 620. On the other hand, in the receiving security device, from the calculated value (1015) of DID 0 x(i) in Equation 2 above, the sending side temporary identifier DID 1→5 x(i) (1025-1 to 1025-5) is sequentially Create and save to list 1065. If the packets arrive at the receiving side security device in the order they were sent, the receiving side sequentially checks the list (e.g., matching the sender's temporary identifier 1020-1 against the recipient's temporary identifier 1025-1) to encapsulate the encapsulated packets. can be verified. 10B, an encapsulated packet 1050 including an illegal identifier 1040 that is not in the sender temporary identifier list 1060 will not be accepted because the temporary identifier cannot be matched in the receiver security device (644). It can be seen that

이어서 도 10c를 참조하면, 패킷 터널링(620)이 공용망(210)을 경유하여 이루어지는 관계로, 송신 순서와는 다르게 패킷이 도착할 수 있음을 알 수 있다. 그러나 수신측 임시식별자 목록(1065)은 이미 소정 개수의 수신측 임시식별자를 생성하여 저장하고 있으므로, 후순위에 해당하는 송신측 임시식별자(예를 들어, 1020-3)가 먼저 도착하더라도, 이를 목록 상의 모든 수신측 임시식별자와 대조함으로써, 그 중 한 임시식별자(1025-3)와 대응하는 것으로 판단한 뒤 수신하는 데 문제가 없게 된다. 또한, 상기 송신측 임시식별자(1020-3)가 부여된 패킷의 실제 송신 순서 또한 알 수 있게 되므로, TCP/IP 기반의 패킷 네트워크에서 발생하는 패킷 전송 순서의 혼선에도 불구하고 모든 캡슐화된 패킷을 정상 순서에 따라 일반 패킷으로 변경할 수 있게 된다. 특히 패킷 단위로까지 임시식별자를 변경하고자 하는 본 발명에서, 상기와 같은 실시예상의 절차는 모호화 주소에 기반하여 전송된 패킷의 순서 혼선을 방지할 수 있는 효과가 있다.Next, referring to FIG. 10C , since the packet tunneling 620 is performed via the public network 210, it can be seen that packets may arrive differently from the transmission order. However, since the recipient temporary identifier list 1065 has already created and stored a predetermined number of recipient temporary identifiers, even if the sender temporary identifier (e.g., 1020-3) that corresponds to the lower priority arrives first, it is displayed on the list. There is no problem in receiving after it is determined that it corresponds to one of the temporary identifiers (1025-3) by comparing all the temporary identifiers on the receiving side. In addition, since the actual transmission order of the packets to which the temporary identifier 1020-3 is assigned can be known, all encapsulated packets are sent normally despite confusion in the packet transmission order occurring in the TCP/IP-based packet network. Depending on the order, it can be changed to a normal packet. Particularly, in the present invention to change the temporary identifier on a packet-by-packet basis, the procedure of the above embodiment has an effect of preventing sequence confusion of transmitted packets based on ambiguous addresses.

상술한 수신측 보안 장치에서의 절차는 더 수신해야 할 캡슐화된 패킷이 존재하는 한(S864) 반복된다. 그 과정에서 일정 시간 또는 일정 패킷 간격이 지나 모호화 주소의 호핑이 필요해지는 경우(S820)에는 다시 새로운 모호화 주소를 생성 및 바인딩(S825)한다.The above-described procedure in the receiving side security device is repeated as long as there are more encapsulated packets to be received (S864). In the process, if hopping of the ambiguous address becomes necessary after a certain time or a certain packet interval (S820), a new ambiguous address is generated and bound (S825).

한편, 상기 임시식별자가 목록에서 삭제(S880)됨에 따라, 목록의 크기가 임계수 m보다 작아질 수 있다. 따라서, 본 발명의 일 실시예에서는 남은 임시식별자 목록의 크기가 임계수 m보다 작아지는 경우(S885) 임시식별자의 연속적 생성절차(S870, S872, S874)를 다시 시행하여 임시식별자를 보충하도록 구성될 수 있다.Meanwhile, as the temporary identifier is deleted from the list (S880), the size of the list may become smaller than the threshold number m. Therefore, in an embodiment of the present invention, when the size of the remaining temporary identifier list becomes smaller than the threshold number m (S885), the temporary identifier successive generation procedure (S870, S872, and S874) is performed again to replenish temporary identifiers. there is.

상기 수신측 보안 장치의 동작은 더 이상 수신해야 할 캡슐화된 패킷이 없는 경우(S864) 종료될 수 있다.The operation of the receiving side security device may end when there are no more encapsulated packets to be received (S864).

도 13은 상술한 도 8의 방법을 수행하는 수신측 보안 장치(1300)의 구조를 나타낸 개념도이다. 도 13의 수신측 보안 장치(1300)는 앞서 도 1 내지 3에서 설명되었던 부호 130의 장치와 동일한 것으로 간주할 수 있다. 도 8에서 나타낸 합의 절차(S810)는 공용망(210)을 거치는 동기화 메시지(1390)와 같은 형태로 구현될 수 있다. 수신 단말기(140)의 접속을 통해 수신 단말기 주소를 확보하는 단계(S815)는 네트워크 관리부(1360)를 통해 수행될 수 있다. 송신측 보안 장치로부터 유래하는 캡슐화된 패킷(160)을 수신(S830)하는 단계는 수신부(1330)를 통해 수행될 수 있다. 임시식별자를 생성(S870)하는 단계는 임시식별자 생성부(1310)를 통해 수행될 수 있고, 상기 임시식별자를 목록화하여 저장(S872)하는 단계는 저장부(1320)를 통해 수행될 수 있다. 임시식별자가 충분한 개수만큼 생성 또는 유지되고 있는지 판단(S874, S885)하거나, 모호화 주소의 호핑 필요성을 판단(S820)하거나, 신규 모호화 주소를 계산 및 바인딩(S825)하거나, 패킷에 포함된 송신측 임시식별자를 수신측 임시식별자의 목록과 대조(S840)하여 대응 관계를 판단(S850)하고, 그 결과에 따라 패킷의 캡슐화를 해제(S860)하거나 패킷을 폐기(S890)하는 단계와 같이 각종 계산, 판단, 및 정보처리와 관련된 단계는 처리부(1340)를 통해 수행될 수 있다. 캡슐화가 해제된 일반 패킷(170)을 수신 단말기로 송신하는 단계(S862)는 송신부(1350)를 통해 수행될 수 있다.FIG. 13 is a conceptual diagram showing the structure of the receiving side security device 1300 performing the method of FIG. 8 described above. The receiving side security device 1300 of FIG. 13 may be regarded as the same as the device of reference numeral 130 described above with reference to FIGS. 1 to 3 . The agreement procedure (S810) shown in FIG. 8 may be implemented in the form of a synchronization message (1390) passing through the public network (210). The step of securing the address of the receiving terminal through the connection of the receiving terminal 140 (S815) may be performed through the network management unit 1360. Receiving (S830) the encapsulated packet 160 originating from the transmitting-side security device may be performed through the receiving unit 1330. Generating the temporary identifier (S870) may be performed through the temporary identifier generator 1310, and listing and storing the temporary identifier (S872) may be performed through the storage unit 1320. It is determined whether a sufficient number of temporary identifiers are generated or maintained (S874, S885), the need for hopping of ambiguous addresses is determined (S820), a new ambiguous address is calculated and bound (S825), or transmission included in a packet is determined. Various calculations such as comparing the side temporary identifier with the list of recipient side temporary identifiers (S840) to determine the corresponding relationship (S850), and releasing the encapsulation of the packet (S860) or discarding the packet (S890) according to the result. Steps related to , determination, and information processing may be performed through the processing unit 1340 . Transmitting the decapsulated normal packet 170 to the receiving terminal (S862) may be performed through the transmitter 1350.

임시식별자의 정보집합과 응용된 실시예Temporary identifier information set and applied embodiments

본 발명의 바람직한 실시예에 따르면, 송신측과 수신측이 모두 수학식 2 및 3의 동일한 구현에 의하여 임시식별자를 생성할 수 있다. 이 경우, 상술하였듯, 두 임시식별자가 서로 대응하는지 대조(예를 들어, S840)하는 방법은, 두 값이 동일한지를 확인하는 방법일 수 있다. 다만, 본 발명의 다른 실시예에서는, 보다 강화된 보안을 위하여 송신 측과 수신 측이 서로 다른 수학식 2 및 3의 구현을 사용할 수 있다.According to a preferred embodiment of the present invention, both the transmitting side and the receiving side can generate the temporary identifier by the same implementation of Equations 2 and 3. In this case, as described above, a method of checking whether two temporary identifiers correspond to each other (for example, S840) may be a method of checking whether two values are the same. However, in another embodiment of the present invention, implementations of Equations 2 and 3 that are different from each other may be used at the transmitting side and the receiving side for more enhanced security.

도 10a를 참조하면, 본 발명에 의한 NMTD 통신의 성립을 위하여서는, 송신측이 생성한 임시식별자(1020) 각각이 수신측이 생성한 임시식별자(1025)가 각각 1:1로 대응되어야 함을 알 수 있다. 그러나, 이것은 각 측의 임시식별자가 반드시 동일한 값이어야만 성립하는 것은 아니므로, 다양한 실시예를 적용할 수 있다.Referring to FIG. 10A, in order to establish NMTD communication according to the present invention, temporary identifiers 1020 generated by the transmitting side should correspond 1:1 to temporary identifiers 1025 generated by the receiving side. Able to know. However, this is not true only when the temporary identifiers of each side are the same, so various embodiments can be applied.

도 11a는 수학식 2 및 3에 따라 임시식별자가 생성되는 정보집합 공간을 나타낸 개념도이다. 여기에서 정보집합 공간이란, 소정의 이진 정보처리 알고리즘에 의하여 계산되어 도출될 가능성이 있는 모든 값들의 집합을 나타내는 것으로 정의한다. 예를 들어, 임의의 8비트 값을 출력할 수 있는 알고리즘의 결과값이 가지는 정보집합 공간의 크기는 28=256가지 원소를 갖게 된다.11A is a conceptual diagram illustrating an information set space in which temporary identifiers are generated according to Equations 2 and 3. Here, the information set space is defined as representing a set of all possible values calculated by a predetermined binary information processing algorithm. For example, the size of the information set space of the result value of an algorithm capable of outputting an arbitrary 8-bit value has 2 8 =256 elements.

도 11a에서, 집합 1110은 송신측 임시식별자가 생성되는 정보집합 공간이며, 집합 1120은 수신측 임시식별자가 생성되는 정보집합 공간이다. 도 11a에 나타난 것과 같이, 집합 1110이 집합 1120과 동치이거나 부분집합인 한, 모든 송신측 임시식별자(1020)는 적어도 하나의 수신측 임시식별자(1025)와 대응함으로써, 송신측 보안 장치가 임시식별자를 첨부해 송신한 모든 패킷이 수신측 보안 장치에 의해 정상적으로 수신될 가능성을 보장함을 알 수 있다. 도 11a의 실시예에서, 두 임시식별자를 대조하는 방법은 두 임시식별자의 값의 전부 또는 일부가 동일한지를 판단하는 것이 된다. 또한 더욱 바람직한 실시예에서, 집합 1110과 1120은 여집합을 두지 않는 동치의 집합임이 권고된다. 이는 상기 여집합에 속하는 수신측 임시식별자(1130)가 낮은 확률로 부정하거나 위조된 임시식별자와 대응할 가능성이 존재하여 보안 수준을 저하시키기 때문이다.In FIG. 11A , set 1110 is an information set space in which a sender-side temporary identifier is created, and set 1120 is an information set space in which a receiver-side temporary identifier is created. As shown in FIG. 11A, as long as the set 1110 is equivalent to or a subset of the set 1120, all sender-side temporary identifiers 1020 correspond to at least one receiver-side temporary identifier 1025, so that the sender-side security device uses the temporary identifier It can be seen that the possibility that all packets transmitted by attaching . are normally received by the receiving side security device is guaranteed. In the embodiment of FIG. 11A, the method of comparing two temporary identifiers is to determine whether all or part of the values of the two temporary identifiers are the same. Also, in a more preferred embodiment, it is recommended that sets 1110 and 1120 be sets of equality with no complement set. This is because there is a possibility that the receiving side temporary identifier 1130 belonging to the complement set corresponds to an illegal or forged temporary identifier with a low probability, thereby lowering the security level.

한편, 도 11b에는, 집합 1110과 1120이 서로 동치인 집합이되, 1:1 대응 관계가 독립적으로 구성되어 있는 실시예가 나타나 있다. 이 실시예에서, 하나의 송신측 임시식별자(1020)는 같은 집합 내의 다른 수신측 임시식별자(1025)와 대응 관계를 갖도록 구현된다. 이러한 관계는, 실시예에 따라서는, 송신측 보안 장치가 임시식별자를 생성하는 데 사용하는 해시 함수 H send 와 수신측 보안 장치가 임시식별자를 생성하는 데 사용하는 해시 함수 H recv 간에 수학적 상관관계를 둠으로써 성립할 수 있다. 도 11b와 같은 실시예를 적용하면, 임의의 공격자에 의해 유효한 임시식별자를 예측하고자 하는 시도를 더욱 곤란하게 할 수 있다.On the other hand, FIG. 11B shows an embodiment in which sets 1110 and 1120 are sets that are equivalent to each other, but a 1:1 correspondence relationship is independently configured. In this embodiment, one sender's temporary identifier 1020 is implemented to have a corresponding relationship with another receiver's temporary identifier 1025 in the same set. Depending on the embodiment, this relationship is based on a mathematical correlation between the hash function H send used by the sending security device to generate the temporary identifier and the hash function H recv used by the receiving security device to generate the temporary identifier. It can be achieved by putting If the embodiment of FIG. 11B is applied, an attempt to predict a valid temporary identifier by an attacker can be made more difficult.

나아가, 도 11c에는, 집합 1110과 1120이 서로 완전히 분리된 별개의 집합인 실시예가 나타나 있다. 이 실시예에서, 하나의 송신측 임시식별자(1020)는 전혀 다른 집합에 속하는 하나의 수신측 임시식별자(1025)와 대응 관계를 갖도록 구현된다. 이러한 관계는, 실시예에 따라서는, 송신측 보안 장치는 해시 함수 H send 를 이용하여 송신측 임시식별자를 생성하고, 수신측 보안 장치는 상기 해시 함수의 결과에 다시 해시 함수를 취한 H recv [H send ]를 사용하여 수신측 임시식별자를 생성함에 따라 성립할 수 있다. 이 경우, 두 임시식별자 간 대응 관계의 판단은 송신측 임시식별자에 해시 함수 H recv 를 취하여 그 결과 값이 수신측 임시식별자와 일치하는지의 여부를 판단하는 것으로 이루어질 수 있다. 이 경우, 공격자가 송신측 또는 수신측 보안 장치 중 한 쪽의 임시식별자 목록을 해킹 등을 통해 확보하더라도, 이를 이용하여 유효한 임시식별자를 재생성하여 캡슐화된 패킷을 위조하는 것을 어렵게 하여, 공격으로부터의 안전성을 더욱 확보할 수 있다.Further, in FIG. 11C, an embodiment is shown in which sets 1110 and 1120 are distinct sets completely separate from each other. In this embodiment, one sender side temporary identifier 1020 is implemented to have a corresponding relationship with one receiver side temporary identifier 1025 belonging to a completely different set. Depending on the embodiment, the sender's security device generates a sender's temporary identifier using the hash function H send , and the receiver's security device takes the hash function again on the result of the hash function, H recv [ H It can be established by generating a temporary identifier on the receiving side using [send ]. In this case, the determination of the correspondence between the two temporary identifiers may be performed by taking a hash function H recv on the temporary identifier of the sender and determining whether the result value matches the temporary identifier of the receiver. In this case, even if an attacker secures the temporary identifier list of either the sender or the receiver security device through hacking, etc., it is difficult to forge an encapsulated packet by regenerating a valid temporary identifier using this, thereby providing safety from attacks. can obtain more.

이처럼 송신측 임시식별자의 정보집합과 수신측 임시식별자의 정보집합을 다양하게 운용할 수 있으므로, 송신측 임시식별자 목록을 관리하는 데 있어 사용되는 임계수 n, m과, 수신측 임시식별자 목록을 관리하는 데 있어 사용되는 임계수 n, m은 서로 같거나 혹은 다를 수 있다. 이를테면, 두 임시식별자의 정보집합이 동치인 경우에도, 성능상의 이유로, 양측 보안 장치는 서로 다른 개수의 목록을 생성 및 유지하도록 구성될 수 있다. 그러나 본 발명은 양측의 n과 m이 같은 경우와 다른 경우 모두에서 동작할 수 있으므로, 이러한 변형이 적용된 실시예 또한 본 발명의 권리범위로부터 이탈하지 않음을 알 수 있다.In this way, since the information set of the temporary identifier of the sender and the temporary identifier of the receiver can be operated in various ways, the threshold number n, m used to manage the list of temporary identifiers on the sender and the number of thresholds used to manage the list of temporary identifiers on the receiver The critical numbers n and m used may be the same as or different from each other. For example, even if the information sets of the two temporary identifiers are equivalent, for performance reasons, both security devices may be configured to create and maintain different numbers of lists. However, since the present invention can operate both in the case where n and m on both sides are the same and different, it can be seen that the embodiment to which these modifications are applied also does not deviate from the scope of the present invention.

임시식별자의 중복에 대한 실시예Embodiments of redundancy of temporary identifiers

임시식별자의 연속적 생성을 통해 임시식별자의 목록을 생성 및 운용하는 과정에서, 일 실시예에 따라 해시 함수 H를 사용하는 경우, 해시 함수 H의 특성에 따라 낮은 확률로 동일한 값을 가지는 임시식별자가 2회 이상 나타날 가능성이 있다. 예를 들어, 임시식별자를 생성하기 위해 "crypto/sha512" 해시 함수 패키지를 사용하고, 그 결과인 512비트 해시 값으로부터 64비트 단위의 임시식별자 8개를 추출하는 방식의 경우, 추출된 임시식별자가 앞서 목록에 저장된 다른 임시식별자와 같아질 가능성이 매우 낮은 확률로 존재한다.In the process of generating and operating a list of temporary identifiers through successive generation of temporary identifiers, when a hash function H is used according to an embodiment, a temporary identifier having the same value with a low probability is 2 according to the characteristics of the hash function H. It is likely to appear more than once. For example, in the case of using the "crypto/sha512" hash function package to generate temporary identifiers and extracting 8 temporary identifiers in units of 64 bits from the resulting 512-bit hash value, the extracted temporary identifiers are There is a very low probability that it will be identical to other temporary identifiers previously stored in the list.

본 발명의 일 실시예에서는, 상기와 같이 중복되는 임시식별자가 획득되는 경우, 해당 임시식별자를 제외하고 사용하도록 구성될 수도 있다. 그러나, 본 발명의 다른 실시예에서는, 상기 임시식별자의 목록을 카운터에 의한 방식으로 운용함으로써 보다 효율적인 통신을 추구할 수 있다In one embodiment of the present invention, when the overlapping temporary identifier is obtained as described above, the corresponding temporary identifier may be excluded and used. However, in another embodiment of the present invention, more efficient communication can be pursued by operating the list of temporary identifiers in a counter-based manner.

상기 실시예를 도 7 및 도 8을 다시 참조하여 설명하고자 한다. 도 7에서, 송신측 보안 장치가 생성한 임시식별자를 목록에 저장(S772)하는 단계에서 중복된 임시식별자가 사용되었음이 발견되는 경우에도, 이를 제외하지 않고 목록에 등재하도록 할 수 있다. 송신측 보안 장치는, 바람직하게는, FIFO 방식에 의하여 임시식별자를 선택(S780)하여 패킷 캡슐화(S740) 과정에 삽입한 뒤 송신(S750)할 뿐이므로, 중복된 임시식별자가 사용되더라도 동작에 영향을 받지 아니할 수 있다. 그러나, 도 8에서, 수신측 보안 장치는 수신된 캡슐화된 패킷에 포함된 임시식별자를 목록의 임시식별자와 대조(S840)하여 목록으로부터 삭제(S880)하도록 구성되었으므로, 중복되는 임시식별자가 사용된 두 번째 이후의 캡슐화된 패킷은 부정 패킷으로 오인되어 폐기(S890)될 우려가 있다. 그러나 상기의 실시예에서는, 수신측 보안 장치가 임시식별자를 목록에 저장(S872)할 때, 중복되는 임시식별자에 대해서는 출현 횟수를 카운터(Counter)로서 기록하도록 구성될 수 있다. 예를 들어, 해당 임시식별자 값에 대한 카운터 값을 1 증가시키는 방식으로 저장이 이루어질 수 있다. 이 경우, 임시식별자를 목록에서 삭제하는 단계(S880)는 카운터 값을 1 감소시키는 방식으로 동작할 수 있다. 또한, 임시식별자의 대응 여부를 판단하는 단계(S850)에서는, 임시식별자가 상수신측 임시식별자에 할당된 카운터 값이 1 미만인 경우, 대응하지 않는다고 판단하는 단계를 더 포함할 수 있다.The above embodiment will be described again with reference to FIGS. 7 and 8 . In FIG. 7 , in the step of storing the temporary identifier generated by the sender side security device in the list (S772), even if it is found that a duplicate temporary identifier is used, it may be registered in the list without being excluded. Since the security device on the sending side only selects (S780) a temporary identifier according to the FIFO method, inserts it into the packet encapsulation (S740) process, and transmits (S750), even if a duplicate temporary identifier is used, the operation is affected. may not receive However, in FIG. 8, since the receiving side security device is configured to compare the temporary identifier included in the received encapsulated packet with the temporary identifier in the list (S840) and delete it from the list (S880), two temporary identifiers with overlapping temporary identifiers are used. Encapsulated packets after the th may be mistaken for illegal packets and discarded (S890). However, in the above embodiment, when the receiving side security device stores the temporary identifier in the list (S872), it may be configured to record the number of occurrences of the duplicate temporary identifier as a counter. For example, storage may be performed by increasing a counter value for a corresponding temporary identifier value by 1. In this case, the step of deleting the temporary identifier from the list (S880) may operate in a manner of decreasing the counter value by 1. In addition, the step of determining whether the temporary identifiers correspond (S850) may further include determining that the temporary identifiers do not correspond when the counter value assigned to the temporary identifier on the constant reception side is less than 1.

상기와 같은 실시예의 방법에 의하여 중복된 임시식별자가 삽입된 캡슐화된 패킷의 정상적 수신을 보장할 수 있다. 특히 상기 카운터에 기반한 실시예는, 도 10c와 같이 패킷의 도달 순서가 섞일 수 있는 짧은 구간 내에서 중복된 임시식별자가 사용되는 경우, 동일한 임시식별자를 가진 두 패킷의 도달 순서가 달라지는 경우에도 대응할 수 있게 된다.According to the method of the above embodiment, normal reception of an encapsulated packet in which duplicate temporary identifiers are inserted can be guaranteed. In particular, the embodiment based on the counter can respond even when the arrival order of two packets with the same temporary ID is different when overlapping temporary identifiers are used within a short interval in which the arrival order of packets can be mixed, as shown in FIG. 10c. there will be

본 발명의 바람직한 실시예에 따른 구현 사례 및 실험 결과Implementation examples and experimental results according to preferred embodiments of the present invention

본 발명의 실시가능성을 확인하기 위하여, 종래의 Go 언어로 작성된 오픈 소스 MT6D 구현에 상술한 임시식별자에 기반한 방법들을 처리하기 위한 함수들을 추가하여 본 발명의 바람직한 일 실시예를 실제로 구현하였다.In order to confirm the feasibility of the present invention, a preferred embodiment of the present invention was actually implemented by adding functions for processing the methods based on the temporary identifier to the open source MT6D implementation written in the conventional Go language.

송신측 및 수신측 임시식별자를 생성하기 위해서는 양측이 동일하게 "crypto/sha512" 패키지를 사용하도록 하였다. 즉, 본 실시예에서는 도 11a의 정보집합 대응 관계를 구현하고 있다. 또한, 본 실시예에서는 함수 호출 수를 줄이기 위해 512비트 해시 값으로부터 8개의 64비트 DID를 생성하는 방식을 채택하였다. 이에 따라, 두 개의 DID가 매우 낮은 확률로 같은 값을 가질 수 있으므로, 상술한 바와 같이 카운터를 사용하는 구현 방식을 취하였다.To create temporary identifiers on the sender and receiver, both sides use the same "crypto/sha512" package. That is, in this embodiment, the information set correspondence relationship of FIG. 11A is implemented. In addition, in this embodiment, a method of generating eight 64-bit DIDs from a 512-bit hash value is adopted to reduce the number of function calls. Accordingly, since two DIDs may have the same value with a very low probability, an implementation method using a counter is adopted as described above.

목표 통신속도가 100Mbps이고 패킷 크기가 1,050바이트라면, 1초에 약 12,000개의 임시식별자가 필요하다. 네트워크 인터페이스서 IPv6 주소를 호핑하여 모호화 주소를 생성하는 간격(LFM 주기)이 10초라고 하면, 10초라는 시간의 구간이 시작되는 시점에 120,000개의 임시식별자를 동시에 생성하도록 하는 것은 비효율적이다. 따라서 본 실시예에서는, 초기 임시식별자의 목록이 24,000개의 임시식별자를 가지도록 하고, 사용되지 않고 남아있는 임시식별자가 12,000개 미만이 될 때마다, 12,000개의 임시식별자를 추가 생성하여 목록에 추가하도록 한다. 즉, 양측의 임계수 n와 임계수 m이 모두 12,000인 것으로 간주하였다.If the target communication speed is 100 Mbps and the packet size is 1,050 bytes, about 12,000 temporary identifiers are needed per second. If the interval (LFM cycle) for generating ambiguous addresses by hopping IPv6 addresses in the network interface is 10 seconds, it is inefficient to generate 120,000 temporary identifiers at the same time at the start of the 10-second interval. Therefore, in this embodiment, the initial temporary identifier list has 24,000 temporary identifiers, and whenever the remaining unused temporary identifiers become less than 12,000, 12,000 temporary identifiers are additionally generated and added to the list. . That is, both the critical number n and the critical number m on both sides were considered to be 12,000.

상기 실시예에 의한 구현 소프트웨어를 Ubuntu 18.04 및 VirtualBox 5.2.42이 동작하는 하나의 호스트 컴퓨터에서 가상 시스템을 사용하여 성능 평가하였다. 상기 컴퓨터는 인텔 제온 E5-2650v4 옥타코어 CPU와 64GB 메모리를 갖추고 있다. VirtualBox에는 두 개의 VM이 생성된다. 각 VM에는 2개의 프로세서와 2GB 메모리가 할당되며, Ubuntu 18.04가 운영체제로 사용된다.The performance of the implemented software according to the above embodiment was evaluated using a virtual system on a host computer running Ubuntu 18.04 and VirtualBox 5.2.42. The computer has an Intel Xeon E5-2650v4 octa-core CPU and 64 GB memory. Two VMs are created in VirtualBox. Each VM is assigned two processors and 2GB of memory, and Ubuntu 18.04 is used as the operating system.

성능 평가를 위해, FTP 서버와 FTP 클라이언트로 각각 사용되는 vsftp와 lftp라는 두 가지 FTP 프로그램을 사용한다. FTP 클라이언트가 전송하는 FTP 패킷의 송신지 인터페이스로 MT6D의 내부 네트워크 인터페이스 또는 숨겨진 네트워크 인터페이스를 지정하기 위하여 lftp를 사용한다.For performance evaluation, we use two FTP programs, vsftp and lftp, which are used as FTP server and FTP client, respectively. Use lftp to designate the MT6D's internal network interface or hidden network interface as the destination interface for FTP packets sent by the FTP client.

도 15는 본 발명의 일 실시예에 의한 FTP의 성능 도출 결과를 나타내는 실험 결과도이다. 도 15를 참조하면, 1GB 파일을 30번 다운로드한 FTP 성능(throughput)이 나타나 있다. 종래기술에 의한 실시예(MT6D)의 평균 FTP 성능은 59.86Mbps이다. 본 발명의 바람직한 실시예(MT6D-DID)의 평균 성능은 58.63Mbps로, MT6D의 평균 성능의 97.94%이다. 이는 임시식별자의 도입에 의하여 매우 높은 빈도로 호스트 식별자를 변경하는 데 따른 오버헤드가 2.06%에 불과하다는 것을 의미한다. 이를 통해, 본 발명의 바람직한 실시예에 의한 NMTD 시스템은 비록 FTP 성능 측면에서 임시식별자의 운용을 위해 약 2%의 성능 저하를 초래하지만, 상술한 바와 같이 MT6D 기반 NMTD 시스템의 보안을 크게 향상시킴을 알 수 있다.15 is an experiment result diagram showing performance derivation results of FTP according to an embodiment of the present invention. Referring to FIG. 15, the FTP throughput of downloading a 1GB file 30 times is shown. The average FTP performance of the prior art embodiment (MT6D) is 59.86 Mbps. The average performance of the preferred embodiment of the present invention (MT6D-DID) is 58.63 Mbps, which is 97.94% of the average performance of MT6D. This means that the overhead of changing the host identifier with a very high frequency due to the introduction of the temporary identifier is only 2.06%. Through this, the NMTD system according to the preferred embodiment of the present invention significantly improves the security of the MT6D-based NMTD system as described above, although it causes a performance degradation of about 2% for the operation of the temporary identifier in terms of FTP performance. Able to know.

본 발명에 의한 NMTD 시스템은 임시식별자의 추가 사용을 통해 공격자가 스캔해야 하는 공간을 크게 늘려서 능동 스캐닝을 수행하는 공격자를 무력화시킨다. 얘를 들어, 상술한 본 발명의 바람직한 실시예에서는, 64비트 IID와 64비트 임시식별자가 지속적으로 변경되기 때문이다. 또한, 본 발명에 의한 NMTD 시스템은 모호화 IPv6 주소와 임시식별자의 쌍인 목적지 식별자가 패킷마다 변경되므로, 수동 스캐닝 중인 공격자가 획득한 식별자를 사용하여 보호 대상인 수신 단말기에 부정 액세스하는 것을 방지한다. 예를 들어, 공격자는 RST 패킷을 주입함으로써 수신측 보안 장치가 부정한 단말기에 다시 연결하도록 유도할 수 없다. 따라서 공격자는 수신측 보안 장치의 패킷이 수신 단말기에 도달하기 전에 획득한 식별자를 재사용하는 경쟁 조건(race condition)을 만들 수 없다.The NMTD system according to the present invention incapacitates an attacker performing active scanning by greatly increasing the space that an attacker needs to scan through the additional use of a temporary identifier. This is because, for example, in the preferred embodiment of the present invention described above, the 64-bit IID and the 64-bit temporary identifier are continuously changed. In addition, in the NMTD system according to the present invention, since the destination identifier, which is a pair of ambiguous IPv6 address and temporary identifier, is changed for each packet, an attacker during passive scanning prevents unauthorized access to a receiving terminal to be protected using the obtained identifier. For example, an attacker cannot induce the receiving side security device to reconnect to a fraudulent terminal by injecting an RST packet. Therefore, an attacker cannot create a race condition in which an identifier obtained before a packet of a receiving side security device reaches a receiving terminal is reused.

이상 도면 및 실시예를 참조하여 설명하였지만, 본 발명의 보호범위가 상기 도면 또는 실시예에 의해 한정되는 것을 의미하지는 않으며 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although it has been described with reference to the drawings and examples, it does not mean that the scope of protection of the present invention is limited by the drawings or examples, and those skilled in the art can understand the spirit of the present invention described in the following claims. And it will be understood that the present invention can be variously modified and changed without departing from the scope.

Claims (20)

수신측 보안 장치, 송신측 보안 장치, 및 적어도 하나의 수신 단말기를 포함하는 네트워크에서 수신측 보안 장치에 의한 패킷의 처리 방법에 있어서,
상기 적어도 하나의 수신 단말기에 대한 수신 단말기 주소를 획득하는 단계;
제1 알고리즘에 의해 생성되고, 제1 정보집합에 속하는, 적어도 하나의 수신측 임시식별자를 생성하여 목록에 저장하는 단계;
적어도 하나의 캡슐화된 패킷을 송신측 보안 장치로부터 수신하는 단계, 상기 캡슐화된 패킷은 헤더, 페이로드, 및 제2 정보집합에 속하는 송신측 임시식별자를 포함함;
상기 송신측 임시식별자가 상기 목록에 저장된 수신측 임시식별자 중 어느 하나에 대응하는지를 판단하는 단계;
상기 송신측 임시식별자가 상기 목록에 저장된 수신측 임시식별자 중 어느 하나와 대응하는 경우, 상기 캡슐화된 패킷으로부터 상기 수신 단말기 주소를 포함하는 일반 패킷을 획득하고, 상기 대응하는 수신측 임시식별자를 상기 목록에서 삭제하는 단계; 및
상기 수신 단말기 주소에 기반하여 상기 일반 패킷을 수신 단말기로 송신하는 단계를 포함하는, 캡슐화된 패킷의 처리 방법.
A method for processing a packet by a receiving security device in a network including a receiving side security device, a sending side security device, and at least one receiving terminal, the method comprising:
obtaining a receiving terminal address for the at least one receiving terminal;
generating at least one recipient temporary identifier generated by a first algorithm and belonging to a first information set and storing it in a list;
receiving at least one encapsulated packet from a source security device, the encapsulated packet including a header, a payload, and a temporary identifier belonging to a second information set;
determining whether the sender's temporary identifier corresponds to one of the receiver's temporary identifiers stored in the list;
If the sending side temporary identifier corresponds to any one of the receiving side temporary identifiers stored in the list, a general packet including the receiving terminal address is obtained from the encapsulated packet, and the corresponding receiving side temporary identifier is added to the list. deleting from; and
and transmitting the general packet to a receiving terminal based on the address of the receiving terminal.
제 1 항에 있어서,
상기 목록은 새로운 상기 수신 단말기 주소가 획득될 때마다 새로 생성되고,
상기 제1 알고리즘은, 상기 수신 단말기 주소에 대한 상기 목록이 비어 있을 경우 상기 수신 단말기 주소의 전부 또는 일부, 및 현재 시간 정보 중 적어도 하나를 사용하여 새로운 수신측 임시식별자를 생성하고, 상기 목록이 비어 있지 않을 경우, 상기 목록에 이미 저장된 수신측 임시식별자의 전부 또는 일부, 및 현재 시간 정보 중 적어도 하나를 사용하여 새로운 수신측 임시식별자를 생성하도록 구성되는, 캡슐화된 패킷의 처리 방법.
According to claim 1,
The list is newly created each time a new destination terminal address is acquired;
The first algorithm generates a new recipient temporary identifier using at least one of all or part of the recipient terminal address and current time information when the list for the recipient terminal address is empty, and the list is empty. If not, generate a new temporary identifier of the receiving side using at least one of all or part of the temporary identifiers of the receiving side already stored in the list and current time information.
제 1 항 또는 제 2 항에 있어서,
상기 적어도 하나의 수신측 임시식별자를 생성하여 목록에 저장하는 단계는, 동시에 적어도 제1 임계수 이상 개수의 임시식별자를 연속적으로 생성하여 목록에 저장하도록 구성되고,
상기 단계는 상기 수신측 임시식별자가 목록에서 삭제되는 동작으로 인하여 목록에 저장된 임시식별자의 개수가 제2 임계수 이하가 될 때마다 반복해서 실행되도록 구성되는, 캡슐화된 패킷의 처리 방법.
According to claim 1 or 2,
The step of generating and storing at least one recipient temporary identifier in the list is configured to continuously generate at least a first critical number or more temporary identifiers and store them in the list;
Wherein the step is configured to be repeatedly executed whenever the number of temporary identifiers stored in the list becomes equal to or less than a second threshold number due to the operation of deleting the temporary identifier of the receiving side from the list.
제 1 항에 있어서,
상기 제2 정보집합은 상기 제1 정보집합에 대하여 동치이거나(G1=G2) 부분집합(G1⊇G2)이고,
상기 송신측 임시식별자가 상기 목록에 저장된 수신측 임시식별자 중 어느 하나에 대응하는지를 판단하는 단계는, 상기 두 임시식별자가 동일한지 여부를 판단하는 단계를 포함함을 특징으로 하는, 캡슐화된 패킷의 처리 방법.
According to claim 1,
The second information set is equivalent to the first information set (G1=G2) or a subset (G1⊇G2),
The step of determining whether the temporary identifier of the sending side corresponds to one of the temporary identifiers of the receiving side stored in the list includes determining whether the two temporary identifiers are the same. method.
제 1 항에 있어서,
상기 일반 패킷을 획득하는 단계는, 하나 이상의 상기 캡슐화된 패킷으로부터 하나의 상기 일반 패킷을 획득하는 절차를 포함하는, 캡슐화된 패킷의 처리 방법.
According to claim 1,
The method of processing an encapsulated packet, wherein the obtaining of the normal packet includes obtaining one of the normal packets from one or more of the encapsulated packets.
제 1 항에 있어서,
상기 송신측 임시식별자는,
1) 상기 캡슐화된 패킷의 가장 앞;
2) 상기 캡슐화된 패킷의 헤더의 앞 또는 내부;
3) 상기 캡슐화된 패킷의 페이로드의 앞 또는 내부;
4) 상기 캡슐화된 패킷의 맨 뒤;
중 어느 하나의 위치에 저장된 것을 획득함을 특징으로 하는, 캡슐화된 패킷의 처리 방법.
According to claim 1,
The sender temporary identifier,
1) the front of the encapsulated packet;
2) before or inside the header of the encapsulated packet;
3) before or inside the payload of the encapsulated packet;
4) end of the encapsulated packet;
A method for processing encapsulated packets, characterized in that obtaining stored in any one of the locations.
제 1 항에 있어서,
상기 목록은, 상기 제1 정보집합의 구성요소와 각 구성요소에 할당되는 카운터(Counter)를 포함하고,
상기 수신측 임시식별자를 생성하여 상기 목록에 저장하는 단계는, 상기 제1 정보집합에 속하는 어느 하나의 구성요소에 할당된 카운터 값을 1 증가시키는 단계를 포함하고,
상기 판단하는 단계는, 상기 목록에서 대응하는 수신측 임시식별자에 할당된 카운터 값이 1 미만인 경우, 대응하지 않는다고 판단하는 단계를 더 포함하며,
상기 수신측 임시식별자를 상기 목록에서 삭제하는 단계는, 상기 목록에서 삭제하는 수신측 임시식별자에 할당된 카운터 값을 1 감소시키도록 구성되는 것을 특징으로 하는, 캡슐화된 패킷의 처리 방법.
According to claim 1,
The list includes elements of the first information set and counters assigned to each element,
The step of generating and storing the recipient temporary identifier in the list includes increasing a counter value assigned to any one element belonging to the first information set by 1;
The determining step further includes determining that the counter value assigned to the corresponding receiving side temporary identifier in the list is less than 1, not corresponding;
The step of deleting the temporary identifier of the receiving side from the list is configured to decrease a counter value assigned to the temporary identifier of the receiving side to be deleted from the list by 1.
제 1 항에 있어서,
상기 제1 보안 장치 및 제2 보안 장치는 네트워크 주소 변조(Moving Target Defense; MTD)를 활용하는 패킷 중계 장치이고, 상기 캡슐화된 패킷은 상기 MTD 기반의 터널링 패킷 프로토콜에 대응하고, 상기 수신 단말기 주소는 IPv6 주소이고, 상기 캡슐화된 패킷과 일반 패킷 중 적어도 하나는 IPv6 패킷인 것을 특징으로 하는, 캡슐화된 패킷의 처리 방법.
According to claim 1,
The first security device and the second security device are packet relay devices utilizing MTD (Moving Target Defense), the encapsulated packet corresponds to the MTD-based tunneling packet protocol, and the receiving terminal address is An IPv6 address, and at least one of the encapsulated packet and the normal packet is an IPv6 packet.
송신 단말기, 송신측 보안 장치, 및 수신측 보안 장치를 포함하는 네트워크에서 송신측 보안 장치에 의한 패킷의 처리 방법에 있어서,
제2 알고리즘에 의해 생성되고, 제2 정보집합에 속하는, 적어도 하나의 송신측 임시식별자를 생성하여 목록에 저장하는 단계;
수신 단말기 주소를 포함하는 적어도 하나의 일반 패킷을 상기 송신 단말기로부터 수신하는 단계;
상기 목록에서 순서에 따라 하나의 송신측 임시식별자를 선택하고, 상기 선택된 송신측 임시식별자를 상기 목록에서 삭제하는 단계;
상기 선택된 송신측 임시식별자 및 상기 일반 패킷으로부터 적어도 하나의 캡슐화된 패킷을 생성하는 단계, 상기 캡슐화된 패킷은 헤더, 페이로드, 및 상기 송신측 임시식별자를 포함함; 및
상기 캡슐화된 패킷을 상기 수신측 보안 장치로 송신하는 단계를 포함하는, 캡슐화된 패킷의 처리 방법.
A method for processing a packet by a sending security device in a network including a sending terminal, a sending security device, and a receiving side security device,
generating and storing at least one sender temporary identifier generated by a second algorithm and belonging to a second information set in a list;
receiving at least one general packet including the address of the receiving terminal from the transmitting terminal;
selecting one sender's temporary identifier in order from the list, and deleting the selected sender's temporary identifier from the list;
generating at least one encapsulated packet from the selected sender temporary identifier and the normal packet, the encapsulated packet including a header, a payload, and the sender temporary identifier; and
And transmitting the encapsulated packet to the receiving side security device.
제 9 항에 있어서,
상기 목록은 새로운 상기 수신 단말기 주소가 획득될 때마다 새로 생성되고,
상기 제2 알고리즘은, 상기 수신 단말기 주소에 대한 상기 목록이 비어 있을 경우 상기 수신 단말기 주소의 전부 또는 일부, 및 현재 시간 정보 중 적어도 하나를 사용하여 새로운 송신측 임시식별자를 생성하고, 상기 목록이 비어 있지 않을 경우, 상기 목록에 이미 저장된 송신측 임시식별자의 전부 또는 일부, 및 현재 시간 정보 중 적어도 하나를 사용하여 새로운 송신측 임시식별자를 생성하도록 구성되는, 캡슐화된 패킷의 처리 방법.
According to claim 9,
The list is newly created each time a new destination terminal address is acquired;
The second algorithm generates a new sender temporary identifier using at least one of all or part of the address of the called terminal and current time information when the list of addresses of the called terminal is empty, and the list is empty. If not, generate a new sender temporary identifier using at least one of all or some of the sender temporary identifiers already stored in the list and current time information.
제 9 항 또는 제 10 항에 있어서,
상기 적어도 하나의 송신측 임시식별자를 생성하여 목록에 저장하는 단계는, 동시에 적어도 제3 임계수 이상 개수의 임시식별자를 연속적으로 생성하여 목록에 저장하도록 구성되고,
상기 단계는 상기 송신측 임시식별자가 목록에서 삭제되는 동작으로 인하여 목록에 저장된 임시식별자의 개수가 제4 임계수 이하가 될 때마다 반복해서 실행되도록 구성되는, 캡슐화된 패킷의 처리 방법.
According to claim 9 or 10,
The step of generating and storing at least one temporary identifier of the sending side in the list is configured to continuously generate at least a third critical number or more temporary identifiers and store them in the list;
Wherein the step is configured to be repeatedly executed whenever the number of temporary identifiers stored in the list becomes equal to or less than a fourth threshold due to the operation of deleting the sender's temporary identifier from the list.
제 9 항에 있어서,
상기 제2 정보집합은 제1 정보집합의 구성요소 중 어느 하나에 대응하도록 구성되는, 캡슐화된 패킷의 처리 방법.
According to claim 9,
The second information set is configured to correspond to any one of the components of the first information set, the encapsulated packet processing method.
제 12 항에 있어서,
상기 제2 정보집합은 상기 제1 정보집합에 대하여 동치이거나(G1=G2) 부분집합(G1⊇G2)인 것을 특징으로 하는, 캡슐화된 패킷의 처리 방법.
According to claim 12,
The second information set is equivalent to the first information set (G1=G2) or a subset (G1⊇G2).
제 9 항에 있어서,
상기 캡슐화된 패킷을 생성하는 단계는, 하나의 상기 일반 패킷을 하나 이상의 상기 캡슐화된 패킷의 페이로드에 나누어 삽입하는 절차를 포함하는, 캡슐화된 패킷의 처리 방법.
According to claim 9,
The generating of the encapsulated packet includes a procedure of dividing and inserting one normal packet into a payload of one or more encapsulated packets.
제 9 항에 있어서,
상기 송신측 임시식별자는,
1) 상기 캡슐화된 패킷의 가장 앞;
2) 상기 캡슐화된 패킷의 헤더의 앞 또는 내부;
3) 상기 캡슐화된 패킷의 페이로드의 앞 또는 내부;
4) 상기 캡슐화된 패킷의 맨 뒤;
중 어느 하나의 위치에 삽입되는 것을 특징으로 하는, 캡슐화된 패킷의 처리 방법.
According to claim 9,
The sender temporary identifier,
1) the front of the encapsulated packet;
2) before or inside the header of the encapsulated packet;
3) before or inside the payload of the encapsulated packet;
4) end of the encapsulated packet;
Characterized in that it is inserted in any one position of the, encapsulated packet processing method.
제 9 항에 있어서,
상기 제1 보안 장치 및 제2 보안 장치는 네트워크 주소 변조(Moving Target Defense; MTD)를 활용하는 패킷 중계 장치이고, 상기 캡슐화된 패킷은 상기 MTD 기반의 터널링 패킷 프로토콜에 대응하고, 상기 수신 단말기 주소는 IPv6 주소이고, 상기 캡슐화된 패킷과 일반 패킷 중 적어도 하나는 IPv6 패킷인 것을 특징으로 하는, 캡슐화된 패킷의 처리 방법.
According to claim 9,
The first security device and the second security device are packet relay devices utilizing MTD (Moving Target Defense), the encapsulated packet corresponds to the MTD-based tunneling packet protocol, and the receiving terminal address is An IPv6 address, and at least one of the encapsulated packet and the normal packet is an IPv6 packet.
송신측 보안 장치, 수신측 보안 장치, 및 적어도 하나의 수신 단말기를 포함하는 네트워크에서의 수신측 보안 장치에 있어서,
상기 적어도 하나의 수신 단말기에 대한 수신 단말기 주소를 획득하는 네트워크 관리부;
제1 정보집합에 속하는 적어도 하나의 수신측 임시식별자를 생성하는 임시식별자 생성부;
적어도 하나의 수신측 임시식별자의 목록을 저장하는 저장부;
적어도 하나의 캡슐화된 패킷을 상기 송신측 보안 장치로부터 수신하는 수신부, 상기 캡슐화된 패킷은 헤더, 페이로드, 및 제2 정보집합에 속하는 송신측 임시식별자를 포함함;
상기 송신측 임시식별자가 상기 저장부에 저장된 수신측 임시식별자 중 어느 하나에 대응하는지를 판단하고, 상기 송신측 임시식별자가 상기 저장부에 저장된 수신측 임시식별자 중 어느 하나와 대응하는 경우, 상기 캡슐화된 패킷으로부터 수신 단말기 주소를 포함하는 일반 패킷을 획득하고, 상기 대응하는 수신측 임시식별자를 상기 저장부의 목록에서 삭제하는 처리부; 및
상기 수신 단말기 주소에 기반하여 상기 일반 패킷을 수신 단말기로 송신하는 송신부를 포함하는, 캡슐화된 패킷의 수신 장치.
A receiving security device in a network including a sending security device, a receiving security device, and at least one receiving terminal, comprising:
a network management unit acquiring a receiving terminal address for the at least one receiving terminal;
a temporary identifier generating unit generating at least one temporary identifier belonging to the first information set;
a storage unit for storing a list of at least one recipient side temporary identifier;
a reception unit for receiving at least one encapsulated packet from the transmission-side security device, the encapsulated packet including a header, a payload, and a transmission-side temporary identifier belonging to a second information set;
It is determined whether the sender-side temporary identifier corresponds to any one of the receiver-side temporary identifiers stored in the storage unit, and if the sender-side temporary identifier corresponds to any one of the receiver-side temporary identifiers stored in the storage unit, the encapsulated a processing unit for obtaining a general packet including an address of a receiving terminal from the packet and deleting the corresponding temporary identifier of the receiving side from the list of the storage unit; and
and a transmitter configured to transmit the normal packet to a receiving terminal based on the address of the receiving terminal.
적어도 하나의 송신 단말기, 송신측 보안 장치, 및 수신측 보안 장치를 포함하는 네트워크에서의 수신측 보안 장치에 있어서,
제2 정보집합에 속하는 적어도 하나의 송신측 임시식별자를 생성하는 임시식별자 생성부;
적어도 하나의 송신측 임시식별자의 목록을 저장하는 저장부;
수신 단말기 주소를 포함하는 적어도 하나의 일반 패킷을 상기 송신 단말기로부터 수신하는 수신부;
상기 저장부의 목록에서 순서에 따라 하나의 송신측 임시식별자를 선택하고, 상기 선택된 송신측 임시식별자를 상기 목록에서 삭제하고, 상기 선택된 송신측 임시식별자 및 상기 일반 패킷으로부터 적어도 하나의 캡슐화된 패킷을 생성하는 처리부, 상기 캡슐화된 패킷은 헤더, 페이로드, 및 상기 송신측 임시식별자를 포함함; 및
상기 캡슐화된 패킷을 상기 수신측 보안 장치로 송신하는 송신부를 포함하는, 캡슐화된 패킷의 송신 장치.
A receiving side security device in a network comprising at least one sending terminal, a sending side security device, and a receiving side security device,
a temporary identifier generating unit generating at least one temporary identifier belonging to the second information set;
a storage unit for storing a list of at least one temporary identifier of the sender;
a receiver configured to receive at least one general packet including an address of a receiving terminal from the transmitting terminal;
Select one sender temporary identifier in order from the list of the storage unit, delete the selected sender temporary identifier from the list, and generate at least one encapsulated packet from the selected sender temporary identifier and the normal packet. a processing unit for processing, wherein the encapsulated packet includes a header, a payload, and the temporary identifier of the sender; and
and a transmitter configured to transmit the encapsulated packet to the receiving side security device.
송신 단말기, 송신측 보안 장치, 수신측 보안 장치, 및 적어도 하나의 수신 단말기를 포함하는 네트워크 시스템에 있어서,
상기 송신측 보안 장치는, 적어도 하나의 송신측 임시식별자를 생성하여 목록에 저장하고, 송신 단말기로부터 수신 단말기 주소를 포함하는 일반 패킷을 수신하고, 상기 일반 패킷을 적어도 하나의 상기 송신측 임시식별자를 포함하는 캡슐화된 패킷으로 변환하고, 상기 포함된 송신측 임시식별자를 상기 목록에서 삭제하고, 상기 캡슐화된 패킷을 수신측 보안 장치로 송신하도록 구성되고,
상기 캡슐화된 패킷은 헤더, 적어도 하나의 페이로드, 그리고 적어도 하나의 송신측 임시식별자를 포함하고,
상기 수신측 보안 장치는, 적어도 하나의 수신측 임시식별자를 생성하여 목록에 저장하고, 상기 송신측 보안 장치로부터 상기 캡슐화된 패킷을 수신하고, 상기 캡슐화된 패킷에 포함된 상기 송신측 임시식별자가 상기 목록의 상기 수신측 임시식별자 중 적어도 하나와 대응하는지 판단하고, 대응한다고 판단되는 경우에 한해, 상기 대응한다고 판단된 수신측 임시식별자를 상기 목록에서 삭제하고, 상기 캡슐화된 패킷을 일반 패킷으로 변환하고, 상기 일반 패킷을 상기 수신 단말기 주소에 기반하여 상기 수신 단말기로 전송하도록 구성되고,
상기 송신측 임시식별자는, 상기 송신측 보안 장치에서 제2 알고리즘에 의해 생성되는 제2 정보집합에 속하는 정보이며, 상기 수신측 보안 장치에서 제1 알고리즘에 의해 제1 정보집합 내에서 생성되는 상기 수신측 임시식별자와 대응 관계를 가지며, 임의의 송신측 임시식별자와 임의의 수신측 임시식별자 간의 대응 관계는 상기 수신측 보안 장치에 의하여 판단되도록 구성되고,
상기 송신측 임시식별자는, 상기 캡슐화된 패킷의 1) 가장 앞, 2) 헤더의 앞 또는 내부, 3) 페이로드의 앞 또는 내부, 4) 맨 뒤 중 어느 하나의 위치에 삽입되는 것을 특징으로 하는, 네트워크 시스템.
A network system comprising a sending terminal, a sending security device, a receiving side security device, and at least one receiving terminal,
The sender-side security device generates and stores at least one sender-side temporary identifier in a list, receives a normal packet including a receiver terminal address from a sender terminal, and converts the normal packet to the sender-side temporary identifier. And converting the included encapsulated packet into an encapsulated packet, deleting the included sending side temporary identifier from the list, and transmitting the encapsulated packet to a receiving side security device;
The encapsulated packet includes a header, at least one payload, and at least one sender temporary identifier;
The receiving-side security device generates and stores at least one receiving-side temporary identifier in a list, receives the encapsulated packet from the sending-side security device, and determines that the sending-side temporary identifier included in the encapsulated packet is the determining whether it corresponds to at least one of the temporary identifiers of the receiving side in the list, and only when it is determined that the temporary identifier of the receiving side corresponds to, deleting the temporary identifier of the receiving side determined to correspond from the list, and converting the encapsulated packet into a normal packet; , configured to transmit the general packet to the receiving terminal based on the receiving terminal address,
The sender-side temporary identifier is information belonging to a second information set generated by a second algorithm in the sender-side security device, and the reception-side security device generated in the first information set by a first algorithm. It has a corresponding relationship with the temporary identifier of the receiving side, and the corresponding relationship between any temporary identifier of the sending side and the temporary identifier of the receiving side is configured to be determined by the receiving side security device,
The temporary identifier of the transmitting side is inserted at any one of the following positions: 1) at the very front, 2) at the front or inside of the header, 3) at the front or inside of the payload, and 4) at the back of the encapsulated packet. , network system.
제 19 항에 있어서,
상기 제1 알고리즘과 상기 제2 알고리즘은 동일한 임시식별자 생성 알고리즘이고, 상기 제2 정보집합은 상기 제1 정보집합에 대하여 동치이거나(G1=G2) 부분집합(G1⊇G2)이고,
상기 임의의 송신측 임시식별자와 임의의 수신측 임시식별자 간의 대응 관계를 판단하는 방법은, 상기 임의의 송신측 임시식별자와 상기 임의의 수신측 임시식별자가 동일한지를 판단하는 과정을 포함함을 특징으로 하는, 네트워크 시스템.
According to claim 19,
The first algorithm and the second algorithm are the same temporary identifier generation algorithm, the second information set is equivalent to the first information set (G1=G2) or a subset (G1⊇G2),
The method of determining the correspondence between the temporary identifier of the sender and the temporary identifier of the receiver includes a step of determining whether the temporary identifier of the sender and the temporary identifier of the receiver are the same. Doing, network system.
KR1020220022814A 2022-02-22 Method and apparatus for encapsulated packet communication in packet tunneling network using disposable identifiers KR102676142B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220022814A KR102676142B1 (en) 2022-02-22 Method and apparatus for encapsulated packet communication in packet tunneling network using disposable identifiers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220022814A KR102676142B1 (en) 2022-02-22 Method and apparatus for encapsulated packet communication in packet tunneling network using disposable identifiers

Publications (2)

Publication Number Publication Date
KR20230125944A true KR20230125944A (en) 2023-08-29
KR102676142B1 KR102676142B1 (en) 2024-06-18

Family

ID=

Similar Documents

Publication Publication Date Title
Glissa et al. 6LowPSec: An end-to-end security protocol for 6LoWPAN
Snoeren et al. Single-packet IP traceback
Shi et al. Dynamic distributed honeypot based on blockchain
Malekzadeh et al. A new security model to prevent denial‐of‐service attacks and violation of availability in wireless networks
CN105262737B (en) A method of based on defending against DDOS attack for jump channel pattern
EP3442195B1 (en) Reliable and secure parsing of packets
CN104917765A (en) Attack prevention method, and equipment
Luo et al. A keyed-hashing based self-synchronization mechanism for port address hopping communication
Chakraborty et al. 6LoWPAN security: classification, analysis and open research issues
Kouachi et al. Per packet flow anonymization in 6lowpan iot networks
CN111385228B (en) Mobile target defense method based on openflow switch port confusion
Morii et al. Cryptanalysis for rc4 and breaking wep/wpa-tkip
CN115348118B (en) Network address and port number hiding method based on cryptographic technology
KR102676142B1 (en) Method and apparatus for encapsulated packet communication in packet tunneling network using disposable identifiers
Barriga et al. Securing end-node to gateway communication in LoRaWAN with a lightweight security protocol
KR20230125944A (en) Method and apparatus for encapsulated packet communication in packet tunneling network using disposable identifiers
Johnson et al. Covert channel using man-in-the-middle over HTTPS
Zheng et al. Application-based TCP hijacking
JP2007173959A (en) Encryption communication apparatus
Lin et al. Deanonymizing tor in a stealthy way
Raheem et al. A secure authentication protocol for IP-based wireless sensor communications using the Location/ID Split Protocol (LISP)
Soni Moving target network steganography
Sarjana et al. Simple prevention of advanced stealth man-in-the-middle attack in WPA2 Wi-Fi networks
Heer et al. End-host Authentication and Authorization for Middleboxes based on a Cryptographic Namespace
Zhang et al. An IP address anonymization scheme with multiple access levels

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant