KR102676142B1 - 임시식별자를 이용하는 패킷 터널링 네트워크에서의 캡슐화된 패킷 통신 방법 및 장치 - Google Patents

임시식별자를 이용하는 패킷 터널링 네트워크에서의 캡슐화된 패킷 통신 방법 및 장치 Download PDF

Info

Publication number
KR102676142B1
KR102676142B1 KR1020220022814A KR20220022814A KR102676142B1 KR 102676142 B1 KR102676142 B1 KR 102676142B1 KR 1020220022814 A KR1020220022814 A KR 1020220022814A KR 20220022814 A KR20220022814 A KR 20220022814A KR 102676142 B1 KR102676142 B1 KR 102676142B1
Authority
KR
South Korea
Prior art keywords
temporary identifier
receiving
packet
transmitting
list
Prior art date
Application number
KR1020220022814A
Other languages
English (en)
Other versions
KR20230125944A (ko
Inventor
박태근
Original Assignee
단국대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 단국대학교 산학협력단 filed Critical 단국대학교 산학협력단
Priority to KR1020220022814A priority Critical patent/KR102676142B1/ko
Publication of KR20230125944A publication Critical patent/KR20230125944A/ko
Application granted granted Critical
Publication of KR102676142B1 publication Critical patent/KR102676142B1/ko

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) 프로토콜이 적용된 터널링 네트워크에 대한 부적절한 침투 및 조사를 어렵게 하는 기술에 대한 것이다. 본 발명의 일 양태에 따른 네트워크 시스템은 송신 단말기, 송신측 보안 장치, 수신측 보안 장치, 및 적어도 하나의 수신 단말기를 포함할 수 있다. 상기 송신측 보안 장치는, 적어도 하나의 송신측 임시식별자를 생성하여 목록에 저장하고, 송신 단말기가 송신한 일반 패킷을 캡슐화된 패킷으로 변환하여 수신측 보안 장치로 송신하도록 구성되고, 상기 캡슐화된 패킷은 헤더, 적어도 하나의 페이로드, 그리고 적어도 하나의 송신측 임시식별자를 포함하고, 상기 수신측 보안 장치는, 적어도 하나의 수신측 임시식별자를 생성하여 목록에 저장하고, 상기 송신측 보안 장치로부터 상기 캡슐화된 패킷을 수신하고, 상기 캡슐화된 패킷에 포함된 상기 송신측 임시식별자가 상기 목록의 상기 수신측 임시식별자 중 적어도 하나와 대응하는지 판단하고, 대응한다고 판단되는 경우에 한해, 상기 캡슐화된 패킷을 일반 패킷으로 변환하는 것을 특징으로 할 수 있다.

Description

임시식별자를 이용하는 패킷 터널링 네트워크에서의 캡슐화된 패킷 통신 방법 및 장치 {METHOD AND APPARATUS FOR ENCAPSULATED PACKET COMMUNICATION IN PACKET TUNNELING NETWORK USING DISPOSABLE IDENTIFIERS}
본 발명은 패킷 터널링 네트워크에서 캡슐화된 패킷을 송수신하는 방법, 장치, 및 그에 의한 시스템에 대한 것으로, 보다 구체적으로는, 네트워크 구성 변조에 의한 네트워크 보안 기술의 일종인 이동 표적 방어(Moving Target Defense; MTD) 프로토콜이 적용된 터널링 네트워크에 대한 부적절한 침투 및 조사를 어렵게 하는 기술에 대한 것이다.
네트워크에 부정한 접근을 시도하는 공격자에게 있어서, 침입의 초기 단계에는 이른바 정찰(Reconnnaissance)행위가 수반된다. 정찰 단계에서 공격자는 네트워크 환경에 존재하는 잠재적 목표물과 그 목표물의 특성에 대한 정보를 수집할 수 있다. 상기 특성에 대한 정보란 이를테면, 노출된 IP(Internet Protocol) 주소, 노출된 포트 번호, 및 목표물에 이르는 네트워크 중계 경로 등에 대한 정보를 포함할 수 있다. 공격자는 존재 여부가 확인되지 않은 임의의 목표물에 대해 반복적인 정찰 목적의 부정한 통신을 시도함으로써 목표물에 도달할 수 있는 유효한 특징 정보를 획득할 수 있고, 그 결과에 기초하여 공격을 위한 악성 코드 또는 악성 패킷 페이로드와 같은 정보 무기를 개발할 수 있게 된다.
컴퓨터 네트워크의 정적인 특성은 공격자가 상기 네트워크 정찰 행위를 수행하는 것을 용이하게 한다. 즉, 반복적인 정찰이 시행되는 동안 네트워크의 형상이 고정되어 있음으로 하여, 시간을 들인 정찰을 통해 네트워크의 실체가 공격자에게 노출될 수 있다는 것이다. 이러한 공격자의 이점을 상쇄하기 위해, 이른바 "이동 표적 방어(Moving Target Defense; MTD)"라는 보안기술이 종래에 개발되어 사용되고 있다. 네트워크 기반의 MTD(Network-based MTD; NMTD)가 적용된 경우, 네트워크의 구성이 동적으로 또 임의적으로 변경되어, 주기적으로 공격자가 정찰을 통해 획득한 기존의 정보를 무효화한다.
NMTD에 의한 보안은 크게 실제 호스트 식별자를 변경하는 방식과 가상 호스트 식별자를 두고 이를 변경하는 방식으로 분류된다. 종래의 NMTD 보안 방식들 중 일부는 실제 호스트 식별자(예를 들어, 호스트의 IP 주소)를 주기적으로 변경하며, 이러한 변경 행위를 "호핑(Hopping)"이라 부른다. 반면에, 소프트웨어 기반 또는 중계 게이트웨이에 기반하는 NMTD 보안 방식의 경우, 가상 호스트 식별자(예를 들어, 게이트웨이의 외부 IP 주소)에 대해서만 호핑을 수행하면서, 실제 호스트 식별자는 네트워크 외부에 숨겨진 상태로 유지한다.
상기와 같은 NMTD는 자동화된 공격자 및 초보적인 공격자를 물리치기에 충분하지만, 숙련된 인간 공격자에게는 효과적이지 않을 수 있다. 또한, 흐름-수준(Flow-level)의 트래픽으로부터 호스트를 수동적으로 추정해 내는 수동 호스트 프로파일링 공격(Passive host profiling attacks)에는 취약할 수 있다. 수동 호스트 프로파일링 공격을 통하면 보호 대상이 되는 호스트의 현재 활성 IP 주소 및 포트 조합을 획득할 수 있다.
이 같이 숙련된 인간 공격자와 수동 호스트 프로파일링 공격에 대처하려면, 호핑에 의해 변경되는 식별자의 정보 집합 공간은 최대한 넓어야 하고, 호핑이 실시되는 빈도는 최대한 잦아야만 한다. 종래의 NMTD 분야 공지기술 중 하나인 MT6D(Moving Target IPv6 Defense)는 호핑 공간의 확대를 위하여 변경 대상 식별자로서 최대 128비트 길이를 가지는 식별자인 IPv6를 사용한다. 또한, 종래의 공지기술에서는 낮은 빈도의 변경(LFM; Low Frequency Mutation)과 높은 빈도의 변경(HFM; High Frequency Mutation)을 병행함으로써 호핑 시간 간격을 감소시키고자 하는 기술도 존재한다.
NMTD 기술에 있어, 호핑 공간이 작은 경우, 임의의 공격자가 호핑 공간에 대한 브루트 포스 공격(Brute force attack)을 통해 제한된 호핑 시간 내에 유효한 통신을 성립시킬 수 있다는 우려가 있다. 그러나 호핑 공간을 확대하는 것에는 한계가 있는데, 아무리 주소를 익명화시키더라도 최소한 수신측의 게이트웨이에 패킷이 전달되어야 하므로, 해당 게이트웨이를 식별할 수 있는 최소한의 주소를 남길 수밖에 없기 때문이다.
또한 공격자의 간섭을 방지하기 위하여 호핑 시간 간격을 최소화하게 되면, 네트워크 라우팅 테이블을 자주 업데이트하여야 하고, 네트워크 인터페이스에 통지되어 이미 결합(Binding)이 이루어진 IP 주소를 계속해서 해제하고 또 재결합시켜야 한다는 문제가 있다. 이 경우 중대한 통신 속도 저하가 발생할 우려가 있다.
따라서 종래의 NMTD 기술에 의하면, 이론적으로는 매 패킷 단위로 호핑이 가능함에도 불구하고, 이를 실질적으로 구현하지 못하는 문제가 있으며, 이러한 문제가 곧 본 발명의 기술적 과제를 도출한다.
본 발명의 기술적 과제는 호핑 시간 간격을 최소화시키면서도 호핑 공간을 확대하여 임시식별자를 사용하는 방법을 제공함에 있다. 본 발명의 다른 기술적 과제는 큰 호핑 공간과 매우 작은 호핑 시간 간격으로 예측-불가능성을 극대화하기 위해 모든 캡슐화된 패킷에 임시식별자를 적용하는 방법을 제공함에 있다.
상술한 문제점을 해결하기 위한 본 발명의 일 양태에 따른 캡슐화된 패킷의 처리 방법은, 수신측 보안 장치, 송신측 보안 장치, 및 적어도 하나의 수신 단말기를 포함하는 네트워크에서 수신측 보안 장치에 의한 패킷의 처리 방법으로서, 상기 적어도 하나의 수신 단말기에 대한 수신 단말기 주소를 획득하는 단계, 제1 알고리즘에 의해 생성되고, 제1 정보집합에 속하는, 적어도 하나의 수신측 임시식별자를 생성하여 목록에 저장하는 단계, 적어도 하나의 캡슐화된 패킷을 송신측 보안 장치로부터 수신하는 단계(상기 캡슐화된 패킷은 헤더, 페이로드, 및 제2 정보집합에 속하는 송신측 임시식별자를 포함함), 상기 송신측 임시식별자가 상기 목록에 저장된 수신측 임시식별자 중 어느 하나에 대응하는지를 판단하는 단계, 상기 송신측 임시식별자가 상기 목록에 저장된 수신측 임시식별자 중 어느 하나와 대응하는 경우, 상기 캡슐화된 패킷으로부터 상기 수신 단말기 주소를 포함하는 일반 패킷을 획득하고, 상기 대응하는 수신측 임시식별자를 상기 목록에서 삭제하는 단계, 및 상기 수신 단말기 주소에 기반하여 상기 일반 패킷을 수신 단말기로 송신하는 단계를 포함할 수 있다.
상기 목록은 새로운 상기 수신 단말기 주소가 획득될 때마다 새로 생성되고, 상기 제1 알고리즘은, 상기 수신 단말기 주소에 대한 상기 목록이 비어 있을 경우 상기 수신 단말기 주소의 전부 또는 일부, 및 현재 시간 정보 중 적어도 하나를 사용하여 새로운 수신측 임시식별자를 생성하고, 상기 목록이 비어 있지 않을 경우, 상기 목록에 이미 저장된 수신측 임시식별자의 전부 또는 일부, 및 현재 시간 정보 중 적어도 하나를 사용하여 새로운 수신측 임시식별자를 생성하도록 구성될 수 있다.
상기 적어도 하나의 수신측 임시식별자를 생성하여 목록에 저장하는 단계는, 동시에 적어도 제1 임계수 이상 개수의 임시식별자를 연속적으로 생성하여 목록에 저장하도록 구성되고, 상기 단계는 상기 수신측 임시식별자가 목록에서 삭제되는 동작으로 인하여 목록에 저장된 임시식별자의 개수가 제2 임계수 이하가 될 때마다 반복해서 실행되도록 구성될 수 있다.
상기 제2 정보집합은 상기 제1 정보집합에 대하여 동치이거나(G1=G2) 부분집합(G1⊇G2)이고, 상기 송신측 임시식별자가 상기 목록에 저장된 수신측 임시식별자 중 어느 하나에 대응하는지를 판단하는 단계는, 상기 두 임시식별자가 동일한지 여부를 판단하는 단계를 포함함을 특징으로 할 수 있다.
상기 일반 패킷을 획득하는 단계는, 하나 이상의 상기 캡슐화된 패킷으로부터 하나의 상기 일반 패킷을 획득하는 절차를 포함할 수 있다.
상기 송신측 임시식별자는, 1) 상기 캡슐화된 패킷의 가장 앞, 2) 상기 캡슐화된 패킷의 헤더의 앞 또는 내부, 3) 상기 캡슐화된 패킷의 페이로드의 앞 또는 내부, 4) 상기 캡슐화된 패킷의 맨 뒤 중 어느 하나의 위치에 저장된 것으로부터 획득될 수 있다.
상기 목록은, 상기 제1 정보집합의 구성요소와 각 구성요소에 할당되는 카운터(Counter)를 포함하고, 상기 수신측 임시식별자를 생성하여 상기 목록에 저장하는 단계는, 상기 제1 정보집합에 속하는 어느 하나의 구성요소에 할당된 카운터 값을 1 증가시키는 단계를 포함하고, 상기 판단하는 단계는, 상기 목록에서 대응하는 수신측 임시식별자에 할당된 카운터 값이 1 미만인 경우, 대응하지 않는다고 판단하는 단계를 더 포함하며, 상기 수신측 임시식별자를 상기 목록에서 삭제하는 단계는, 상기 목록에서 삭제하는 수신측 임시식별자에 할당된 카운터 값을 1 감소시키도록 구성될 수 있다.
상기 제1 보안 장치 및 제2 보안 장치는 네트워크 주소 변조(Moving Target Defense; MTD)를 활용하는 패킷 중계 장치이고, 상기 캡슐화된 패킷은 상기 MTD 기반의 터널링 패킷 프로토콜에 대응하고, 상기 수신 단말기 주소는 IPv6 주소이고, 상기 캡슐화된 패킷과 일반 패킷 중 적어도 하나는 IPv6 패킷일 수 있다.
상술한 문제점을 해결하기 위한 본 발명의 일 양태에 따른 캡슐화된 패킷의 처리 방법은, 송신 단말기, 송신측 보안 장치, 및 수신측 보안 장치를 포함하는 네트워크에서 송신측 보안 장치에 의한 패킷의 처리 방법으로서, 제2 알고리즘에 의해 생성되고, 제2 정보집합에 속하는, 적어도 하나의 송신측 임시식별자를 생성하여 목록에 저장하는 단계, 수신 단말기 주소를 포함하는 적어도 하나의 일반 패킷을 상기 송신 단말기로부터 수신하는 단계, 상기 목록에서 순서에 따라 하나의 송신측 임시식별자를 선택하고, 상기 선택된 송신측 임시식별자를 상기 목록에서 삭제하는 단계, 상기 선택된 송신측 임시식별자 및 상기 일반 패킷으로부터 적어도 하나의 캡슐화된 패킷을 생성하는 단계(상기 캡슐화된 패킷은 헤더, 페이로드, 및 상기 송신측 임시식별자를 포함함), 및 상기 캡슐화된 패킷을 상기 수신측 보안 장치로 송신하는 단계를 포함할 수 있다.
상기 목록은 새로운 상기 수신 단말기 주소가 획득될 때마다 새로 생성되고, 상기 제2 알고리즘은, 상기 수신 단말기 주소에 대한 상기 목록이 비어 있을 경우 상기 수신 단말기 주소의 전부 또는 일부, 및 현재 시간 정보 중 적어도 하나를 사용하여 새로운 송신측 임시식별자를 생성하고, 상기 목록이 비어 있지 않을 경우, 상기 목록에 이미 저장된 송신측 임시식별자의 전부 또는 일부, 및 현재 시간 정보 중 적어도 하나를 사용하여 새로운 송신측 임시식별자를 생성하도록 구성될 수 있다.
상기 적어도 하나의 송신측 임시식별자를 생성하여 목록에 저장하는 단계는, 동시에 적어도 제3 임계수 이상 개수의 임시식별자를 연속적으로 생성하여 목록에 저장하도록 구성되고, 상기 단계는 상기 송신측 임시식별자가 목록에서 삭제되는 동작으로 인하여 목록에 저장된 임시식별자의 개수가 제4 임계수 이하가 될 때마다 반복해서 실행되도록 구성될 수 있다.
상기 제2 정보집합은 제1 정보집합의 구성요소 중 어느 하나에 대응하도록 구성될 수 있다.
상기 제2 정보집합은 상기 제1 정보집합에 대하여 동치이거나(G1=G2) 부분집합(G1⊇G2)일 수 있다.
상기 캡슐화된 패킷을 생성하는 단계는, 하나의 상기 일반 패킷을 하나 이상의 상기 캡슐화된 패킷의 페이로드에 나누어 삽입하는 절차를 포함할 수 있다.
상기 송신측 임시식별자는, 1) 상기 캡슐화된 패킷의 가장 앞, 2) 상기 캡슐화된 패킷의 헤더의 앞 또는 내부, 3) 상기 캡슐화된 패킷의 페이로드의 앞 또는 내부, 4) 상기 캡슐화된 패킷의 맨 뒤 중 어느 하나의 위치에 삽입될 수 있다.
상기 제1 보안 장치 및 제2 보안 장치는 네트워크 주소 변조(Moving Target Defense; MTD)를 활용하는 패킷 중계 장치이고, 상기 캡슐화된 패킷은 상기 MTD 기반의 터널링 패킷 프로토콜에 대응하고, 상기 수신 단말기 주소는 IPv6 주소이고, 상기 캡슐화된 패킷과 일반 패킷 중 적어도 하나는 IPv6 패킷일 수 있다.
상술한 문제점을 해결하기 위한 본 발명의 일 양태에 따른 네트워크에서의 수신측 보안 장치는, 적어도 하나의 수신 단말기에 대한 수신 단말기 주소를 획득하는 네트워크 관리부, 제1 정보집합에 속하는 적어도 하나의 수신측 임시식별자를 생성하는 임시식별자 생성부, 적어도 하나의 수신측 임시식별자의 목록을 저장하는 저장부, 적어도 하나의 캡슐화된 패킷을 송신측 보안 장치로부터 수신하는 수신부(상기 캡슐화된 패킷은 헤더, 페이로드, 및 제2 정보집합에 속하는 송신측 임시식별자를 포함함), 상기 송신측 임시식별자가 상기 저장부에 저장된 수신측 임시식별자 중 어느 하나에 대응하는지를 판단하고, 상기 송신측 임시식별자가 상기 저장부에 저장된 수신측 임시식별자 중 어느 하나와 대응하는 경우, 상기 캡슐화된 패킷으로부터 수신 단말기 주소를 포함하는 일반 패킷을 획득하고, 상기 대응하는 수신측 임시식별자를 상기 저장부의 목록에서 삭제하는 처리부, 및 상기 수신 단말기 주소에 기반하여 상기 일반 패킷을 수신 단말기로 송신하는 송신부를 포함하는, 캡슐화된 패킷의 수신 장치일 수 있다.
상술한 문제점을 해결하기 위한 본 발명의 일 양태에 따른 네트워크에서의 송신측 보안 장치는, 제2 정보집합에 속하는 적어도 하나의 송신측 임시식별자를 생성하는 임시식별자 생성부, 적어도 하나의 송신측 임시식별자의 목록을 저장하는 저장부, 수신 단말기 주소를 포함하는 적어도 하나의 일반 패킷을 송신 단말기로부터 수신하는 수신부, 상기 저장부의 목록에서 순서에 따라 하나의 송신측 임시식별자를 선택하고, 상기 선택된 송신측 임시식별자를 상기 목록에서 삭제하고, 상기 선택된 송신측 임시식별자 및 상기 일반 패킷으로부터 적어도 하나의 캡슐화된 패킷을 생성하는 처리부(상기 캡슐화된 패킷은 헤더, 페이로드, 및 상기 송신측 임시식별자를 포함함), 및 상기 캡슐화된 패킷을 상기 수신측 보안 장치로 송신하는 송신부를 포함하는, 캡슐화된 패킷의 송신 장치일 수 있다.
상술한 문제점을 해결하기 위한 본 발명의 일 양태에 따른 송신 단말기, 송신측 보안 장치, 수신측 보안 장치, 및 적어도 하나의 수신 단말기를 포함하는 네트워크 시스템은, 상기 송신측 보안 장치는, 적어도 하나의 송신측 임시식별자를 생성하여 목록에 저장하고, 송신 단말기로부터 수신 단말기 주소를 포함하는 일반 패킷을 수신하고, 상기 일반 패킷을 적어도 하나의 상기 송신측 임시식별자를 포함하는 캡슐화된 패킷으로 변환하고, 상기 포함된 송신측 임시식별자를 상기 목록에서 삭제하고, 상기 캡슐화된 패킷을 수신측 보안 장치로 송신하도록 구성되고, 상기 캡슐화된 패킷은 헤더, 적어도 하나의 페이로드, 그리고 적어도 하나의 송신측 임시식별자를 포함하고, 상기 수신측 보안 장치는, 적어도 하나의 수신측 임시식별자를 생성하여 목록에 저장하고, 상기 송신측 보안 장치로부터 상기 캡슐화된 패킷을 수신하고, 상기 캡슐화된 패킷에 포함된 상기 송신측 임시식별자가 상기 목록의 상기 수신측 임시식별자 중 적어도 하나와 대응하는지 판단하고, 대응한다고 판단되는 경우에 한해, 상기 대응한다고 판단된 수신측 임시식별자를 상기 목록에서 삭제하고, 상기 캡슐화된 패킷을 일반 패킷으로 변환하고, 상기 일반 패킷을 상기 수신 단말기 주소에 기반하여 상기 수신 단말기로 전송하도록 구성되고, 상기 송신측 임시식별자는, 상기 송신측 보안 장치에서 제2 알고리즘에 의해 생성되는 제2 정보집합에 속하는 정보이며, 상기 수신측 보안 장치에서 제1 알고리즘에 의해 제1 정보집합 내에서 생성되는 상기 수신측 임시식별자와 대응 관계를 가지며, 임의의 송신측 임시식별자와 임의의 수신측 임시식별자 간의 대응 관계는 상기 수신측 보안 장치에 의하여 판단되도록 구성되고, 상기 송신측 임시식별자는, 상기 캡슐화된 패킷의 1) 가장 앞, 2) 헤더의 앞 또는 내부, 3) 페이로드의 앞 또는 내부, 4) 맨 뒤 중 어느 하나의 위치에 삽입되는 것을 특징으로 할 수 있다.
상기 제1 알고리즘과 상기 제2 알고리즘은 동일한 임시식별자 생성 알고리즘이고, 상기 제2 정보집합은 상기 제1 정보집합에 대하여 동치이거나(G1=G2) 부분집합(G1⊇G2)이고, 상기 임의의 송신측 임시식별자와 임의의 수신측 임시식별자 간의 대응 관계를 판단하는 방법은, 상기 임의의 송신측 임시식별자와 상기 임의의 수신측 임시식별자가 동일한지를 판단하는 과정을 포함할 수 있다.
본 발명의 기술에 의하면, 공격자가 검색해야 하는 식별자의 정보 공간을 크게 늘려서 능동 스캐닝을 방해하고, 수동 스캐닝을 수행하는 공격자가 부정하게 획득한 식별자를 사용하여 보호 대상 호스트에 접속하는 것을 방지하며, 상당히 높은 빈도로 호스트 식별자를 변경하여 공격자가 보호된 호스트를 프로파일링하는 것을 방지하는 효과를 가진다. 또한, 본 발명에 의한 NMTD 보안 방식은 낮은 오버헤드만으로도 모든 패킷마다 상이한 임시식별자를 지정할 수 있는 성능을 제공한다.
도 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, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. “및/또는”이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 출원에서 발명을 설명함에 있어 “장치”라는 용어를 사용하는 경우, 이는 장치로서 구현될 수 있는 본 발명의 어떠한 기능을 설명하기 위한 실시예를 설명하기 위한 것이며, 반드시 해당 장치의 기능이 독립적인 단일 장치로서 구현되어야 함을 의미하지 않는다. 통신 네트워크의 기능적 특성에 따라, 하나의 장치는 동일한 기능을 수행하는 복수의 장치로 구현될 수도 있으며, 반대로 복수의 장치 기능을 동시에 수행하기 위한 하나의 장치가 설치될 수도 있다. 어떤 장치의 기능은 소프트웨어적 수단을 통해 다른 장치에 의해 또는 일반적 컴퓨터 및 정보처리 장치에 의해서 구현될 수 있다. 또한 복수의 장치가 사용되는 경우 각각의 장치는 통신 네트워크로만 연결되고 물리적 공간에서는 이격되어 있을 수 있다. 이는 동일한 기술적 사상을 구현하기 위하여 통신 네트워크 기술 분야에 익숙한 통상의 기술자가 취할 수 있는 다양한 실시예의 영역이므로, 여하의 상세한 구현 방법은 모두 본 출원상 발명의 기술적 사상 영역에 포함되는 것으로 해석되어야 한다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
NMTD 시스템의 개요
도 1은 본 발명이 구현하고자 하는 NMTD(Network-based Moving Target Defense) 시스템의 개념도이다. 네트워크 보안 기술인 NMTD의 본질적 개념에 관하여서는 상기 배경기술 단락에서 설명한 바 있으므로 생략하기로 하며, 본 단락에서는 본 발명에 포함되어 본 발명의 이해에 필요한 기술적 구성들에 관하여 해설하고자 한다.
도 1을 참조하면, NMTD 시스템(100)은 송신 단말기(110)로부터 수신 단말기(140)로 통신 데이터의 원활한 전송을 보장하면서도 송신 단말기(110) 및 수신 단말기(140)를 포함하는 호스트 단말기(110, 140)에 대한 정찰 행위 등 공격자의 접근을 방해하고자 하는 목적을 가진다. 상기 통신 데이터를 지칭하는 단위 명칭은 통신 프로토콜이나 계층에 따라서 이더넷 프레임, IP 패킷, 또는 기타 임의의 통신 메시지 규약에 의한 단위 명칭을 포함할 수 있으나, 본 명세서에서는 알기 쉬운 설명을 위하여 "패킷"으로 통칭하기로 한다. 다만 이러한 용어의 사용이 본 발명 실시 방법이 "패킷"과 같은 특정 기술적 개념에 종속적이라는 것을 의미하지는 아니한다.
도 1을 참조하면, 양측 호스트 중 송신 단말기(110)로부터 수신 단말기(140)로 전송되는 일반 패킷(150)은 먼저 NMTD 보안을 적용하는 송신측 보안 장치(120)에 의해 캡슐화된 패킷(160)으로 변환된 뒤, 수신측 보안 장치(130)에 전달되고, 여기에서 다시 일반 패킷(170)으로 변환되어 수신 단말기(140)에 도달하게 된다.
NMTD 시스템에 있어서, 상기 양측 호스트 단말기(110, 140)의 실제 주소 식별자, 특히 수신 단말기(140)의 식별자를 네트워크 외부로부터 숨기는 것이 목표가 된다. 따라서, 캡슐화된 패킷(160)으로부터는 단지 송신측 보안 장치(120)와 수신측 보안 장치(130)의 외부 구성에 대해서만 노출될 뿐, 실제 호스트 단말기(110, 140)의 식별자는 숨겨진다. 이 때, 상기 식별자는 실시예에 따라 다양한 대상을 지칭할 수 있으며, IP 주소(IPv4 또는 IPv6 주소가 포함됨), MAC 주소, 기타 UID 기반의 식별자로 간주될 수 있다. 본 명세서에서는 알기 쉬운 설명을 위하여 상기 식별자는 TCP/IP 및 IPv6 프로토콜에 의한 "IP 주소"로, 특히 IPv6 규격을 준수하는 IP 주소인 것으로 가정하고 서술하기로 한다. 다만 이러한 용어의 사용이 본 발명이 TCP/IP 프로토콜 및/또는 IPv6 주소체계에와 같은 특정 기술적 개념 및/또는 프로토콜에 한정되거나 종속적이라는 것을 의미하지는 아니한다.
상기와 같은 기능을 달성하기 위해서, 송신측 보안 장치(120)는 패킷의 캡슐화를 실행한다. 한 일반적인 종래기술의 실시예에서, 패킷의 캡슐화는 일반 패킷(170)의 내용을 암호화한 뒤 새로운 패킷의 페이로드로서 삽입하고, 이 새로운 패킷에 네트워크 통신용 헤더를 붙여 캡슐화된 패킷(160)을 생성하는 과정일 수 있다. 같은 실시예에서, 상기와 같이 캡슐화된 패킷(160)은 수신측 보안 장치(130)에서 그 페이로드를 복호화하는 방식으로 일반 패킷(170)으로 변환될 수 있다. 이렇듯 캡슐화된 패킷(160)에 의한 두 보안 장치 간에 보안이 확보된 통신을 수립하는 절차를 통상적으로 "패킷 터널링"이라 칭하며, 본 명세서에서는 알기 쉬운 설명을 위하여 이하 유사한 개념에 대해 "패킷 터널링"이라는 용어를 사용하고자 한다. 다만 이러한 용어의 사용이 본 발명 실시 방법이 "패킷" 또는 "터널링"과 같은 특정 기술적 개념에 종속적이라는 것을 의미하지는 아니한다.
상기 송신 단말기(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), 무선 모뎀, 무선 통신 기능을 가지는 휴대용 컴퓨터, 무선 통신 기능을 가지는 디지털 카메라와 같은 촬영장치, 무선 통신 기능을 가지는 게이밍 장치, 무선 통신 기능을 가지는 음악저장 및 재생 가전제품, 무선 인터넷 접속 및 브라우징이 가능한 인터넷 가전제품뿐만 아니라 그러한 기능들의 조합들을 통합하고 있는 휴대형 유닛 또는 단말기들을 포함할 수 있으나, 이에 한정되는 것은 아니다.
도 2는 본 발명이 기반하는 NMTD 시스템의 보다 상세화된 개념도이다. NMTD 시스템(200)에 있어서, 다수의 상기한 송신 단말기(110)가 하나의 송신측 보안 장치(120)에 접속되어 보안 기능을 제공받을 수 있으며, 다수의 상기한 수신 단말기(140)가 하나의 수신측 보안 장치(130)에 접속되어 보안 기능을 제공받을 수 있다. 물론, 하나의 송신 단말기(110)가 다수의 송신측 보안 장치(120)를 사용하여 통신하거나, 하나의 수신 단말기(140)가 다수의 수신측 보안 장치(130)를 경유하여 통신할 수도 있으나, 이 실시예는 도 2에서는 생략되어 있다.
도 2를 더 참조하면, 상기와 같이 적어도 하나의 송신 단말기(110)와 적어도 하나의 송신측 보안 장치(120)를 연결하기 위한 송신측 내부 네트워크(210)가 존재할 수 있다. 마찬가지로, 적어도 하나의 수신측 보안 장치(130)와 적어도 하나의 수신 단말기(140)를 연결하기 위한 수신측 내부 네트워크(230)가 존재할 수 있다. 통상적으로 상기 내부 네트워크(210, 230)는 NMTD에 의해 외부로부터 숨겨지는 보호의 대상이 된다.
따라서, 본 발명의 일 실시예에 따르면, 상기 송신측 보안 장치(120)와 상기 수신측 보안 장치(130)는 각각 패킷 중계 장치로서, 각각의 내부 네트워크(210, 230) 또는 외부 네트워크(220)로부터 소정의 패킷을 수신하고, 상기 패킷으로부터 네트워크 상 수신처를 추출하여, 그 전송에 대한 최적의 경로를 지정하며, 상기 경로를 따라 패킷을 각각의 내부 네트워크(210, 230) 또는 외부 네트워크(220)를 통해 전송함으로써 통신을 중계하도록 구성된 장치일 수 있다. 바람직하게는, 상기 송신측 보안 장치(120)와 수신측 보안 장치(130)는 상기한 중계 동작을 수행하기 위해 구성된 라우터, 스위치, 또는 게이트웨이와 같은 장치가 포함되어 구성될 수 있다. 또한, 상기 송신측 보안 장치(120)와 상기 수신측 보안 장치(130)는 단일 장치로 구현될 수 있으나, 복수의 장치의 집합체로서 구현될 수도 있다.
또한, 상기 호스트 단말기(110, 140)는, 실제로는 다수의 단말기가 연결된 또다른 계층의 내부 네트워크에 연결되는 중계 단말기일 수 있다. 요컨대, 내부 네트워크(210, 230)는 계층적으로 구성될 수 있다. 이러한 계층적 네트워크 토폴로지(Topology)의 구성은 통상의 기술자에게 자명한 네트워크 구성 원리에 해당하므로, 이러한 방면으로 더욱 복잡하게 실시된 실시예 또한 모두 본 발명에서 후술할 특징을 보유하는 한 권리범위로부터 벗어나지 않을 것임은 자명하다.
도 2에서는 또한, 캡슐화된 패킷(160)이 송신측 보안 장치(120)로부터 수신측 보안 장치(130)로 전송되는 과정에 외부 네트워크(220)를 경유하는 내용이 도시되어 있다. 상기 외부 네트워크(220)는, 본 발명의 통상적인 실시예에 따르면, 별도의 보안 절차 없이는 패킷의 완전한 보안을 담보하기 곤란한 인터넷 등의 공용망일 수 있다. 본 발명의 NMTD 보안 방식은 이러한 환경에서 공용망으로부터 실시되는 공격자의 정찰 행위 및 이를 통한 공격을 방지하기 위하여 사용된다.
도 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)을 생성하고자 할 수 있다.
상기에서 본 발명이 대응하고자 하는 위협의 유형으로서 설치된 외부 네트워크(220)와 이로부터 시행되는 공격(320, 330, 350)에 관한 한 가지 예를 설명하였다. 이는 곧 본 발명의 NMTD 시스템이 어떠한 형태로 어느 환경에 구현될 수 있는지에 대한 실시예에 해당한다. 그러나, 본 발명의 실시 적용 대상은 상기의 예에 한정되지 아니한다. 본 발명의 다른 실시예에서, 상기 외부 네트워크(220)는 공개되지 않은 내부 네트워크망으로, 공격자가 상기 내부 네트워크에 있음을 상정하고 본 발명에 의한 NTMD 시스템이 구현되어 있을 수도 있다. 본 발명의 또다른 실시예에서, 상기 송신측 보안 장치(120)와 상기 수신측 보안 장치(130)는 실질적으로 동일한 장치에 내재된 기능으로써, 두 장치 간의 통신은 네트워크 회선을 경유하지 않고 장치 내부에서 이루어지는 통신에 해당할 수 있으며, 공격자가 장치 내부의 통신에 간섭할 수 있음을 상정하고 본 발명에 의한 NTMD 시스템이 응용되어 구현되어 있을 수도 있다.
상기와 같은 여러 가지 실시예에서, 본 발명이 후술하는 송신측 보안 장치(120) 또는 수신측 보안 장치(130)와 동일 또는 유사한 기능을 수행하는 장치 또는 장치군을 어떠한 기능 단위로 분리 또는 병합하여 구현하게 된다면, 이는 본 발명의 기술적 사상을 구현하는 것으로서 본 발명의 권리범위 내에 속할 것임은 자명하다.
도 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)에 내장함으로써 실제 송수신 단말의 정보를 은닉하는 이점을 지닌다.
도 5는 본 발명이 기반하는 NMTD 시스템에서의 식별자 호핑 시간 간격과 그 사이에 이루어지는 공격 시도에 대한 예시도이다. NMTD 시스템은 상술한 것과 같은 캡슐화된 패킷(160)을 이용하여 송신측 보안 장치(120)와 수신측 보안 장치(130) 간의 보안 통신을 실시하면서, 수신측 보안 장치(130)의 주소 등 식별자를 주기적으로 변경하는 호핑 동작을 통해 공격자(310)에 의한 상기 보안 통신에 대한 정찰 또는 분석 행위를 방지하고자 한다. 이를 위하여 송신측 보안 장치(120)와 수신측 보안 장치(130)는 터널링 동기화 절차를 통하여 수신측 IP 주소 등 식별자의 변경을 동기화한다. 동기화의 방식은 통신에 의한 것이어도 좋고, 양측이 사전에 합의한 규칙에 의한 것이어도 무관하며, 기타 다른 방식이어도 본 발명의 구현에는 영향을 주지 아니한다.
상기 동기화의 결과로 인하여 송신측과 수신측에서 각각 통신을 위한 식별자의 변경이 이루어지면, 송신측 보안 장치(120)는 상기 변경된 식별자를 목적 주소로 하여 캡슐화된 패킷(160)을 송신하고, 수신측 보안 장치(130)는 이를 수신한 뒤 일반 패킷(170)으로 변환하여 수신 단말(140)로 전달하는 동작을 취할 수 있다.
상기와 같이 소정의 통신을 거친 후 다시 한 차례 식별자의 변경(510, 512)이 일어나기까지의 정상적인 시간 간격(520)을 "호핑 시간 간격"이라 칭하고자 한다. 상기 서술하였듯이, 상기 호핑 시간 간격(520)은 짧을수록 보안에 유리하나, 기술적으로 일정 간격 이상으로 짧아질 수 없다는 한계가 있다. 또한 충분히 짧은 호핑 간격을 유지하더라도, 이 호핑 시간 간격의 사이에, 클라이언트 네트워크 또는 표적 네트워크에 존재하는 공격자(310)는 공격자는 도청 및 정찰 행위, 이를테면 송신측 보안 장치(120)와 수신측 보안 장치(130) 사이에 오가는 패킷에 대한 수동 스캐닝(540)을 실시할 수 있다. 설령 양측의 실제 호스트(110, 140)를 알 수 없더라도, 공격자(310)는 파악하지 못한 두 개의 호스트가 통신하는 패킷을 중간에서 도청(540)할 수 있는 것이다. 호핑 시간 간격(520)이 큰 경우, 공격자는 시간을 들여 상기 도청(540)된 패킷으로부터 두 호스트(110, 140)의 정보를 분석해 식별을 시도할 수 있게 된다. 호핑 시간 간격(520)이 일정 수준 이상 작으면, 공격자가 시간 내에 두 호스트를 정확하게 식별하지 못할 수 있지만, 적어도 두 호스트 간을 중계하는 보안 장치들(120, 130)의 식별자, 예를 들어 현재 활성 IP 및 포트 조합을 획득할 수 있다.
이렇게 도청(540)된 패킷으로부터 획득한 정보를 이용하여, 공격자(310)는 위조된 네트워크 재설정 신호 패킷(소위 RST 패킷)을 네트워크에 주입(542)할 수 있다. 상기 위조된 패킷(542)은 송신측 보안 장치(120)를 통해 궁극적으로는 송신 단말기(110)에 수신될 수 있다. 그 결과로 송신 단말기(110)로부터 수신 단말기(140)에 이르는 일련의 TCP/IP 연결이 재연결되는데, 이 과정 또한 공격자(310)에 의해 도청(544)되어 유효한 식별자 조합의 정보가 유출될 수 있다.
이제 공격자(310)는 다시 송신 단말기(110)에 RST 패킷을 전송(546)하고, 송신 단말기(110)과 송신측 보안 장치(120)보다 앞서서 수신측 보안 장치(130) 및 수신측 단말기(140)의 상대측으로서 TCP/IP 연결을 성립(548)시키는 이른바 "경쟁 조건(race condition)"을 생성하게 된다. 이로서 호핑에 의해 식별자가 변경(512)되기에 앞서 공격자(310)가 보호된 채널에 침입(550)하는 것이 가능해진다. 상기와 같은 공격이 소정의 호핑 시간 간격(520)보다 짧은 시간(530) 사이에 복수의 패킷에 걸쳐 완수될 수 있는 한, 종래의 보안 방식에는 한계가 존재함이 자명하다.
본 발명에서는 상기와 같이 호핑 시간 간격 내에 발생하는 공격자의 정찰 행위를 무력화시키기 위해 호핑 시간 간격을 최소화하는 새로운 방법을 제시한다. 본 발명에서의 호핑은 식별자 단위에서 일어나지만, 상술하였던 것과 같이 게이트웨이의 구성을 변경하는 등의 조작을 취하지 않고도, 모든 패킷에 대해 신속하게 식별자 변경을 수행할 수 있는 장점이 있다. 이하 본 발명의 특징적 구성에 대해 더욱 상세히 설명하기로 한다.
임시식별자(DID)를 사용한 NMTD의 강화
본 발명에서는 임시식별자(Disposable Identifier; DID)로 NMTD를 강화하는 기법을 제안한다. 넓은 호핑 공간과 매우 작은 호핑 시간 간격으로 예측불가능성을 극대화하기 위해 임시식별자를 도입한다. 임시식별자는 수신 단말기를 식별하기 위한 주소를 대신해 사용되고, 오직 하나의 패킷에만 사용되므로, 각 패킷마다 목적지 식별자가 변경되는 결과를 얻을 수 있다.
본 발명에서 상정하는 공격 모델에서, 공격자는 클라이언트 네트워크 또는 표적 네트워크 어디에나 존재하며, 상기한 정찰 행위의 일종으로서 능동 스캐닝 또는 수동 스캐닝을 활용할 수 있다. 능동 스캐닝 및 수동 스캐닝은 각각 정찰용 패킷(Probing packets)을 능동적으로 전송하거나, 네트워크 상의 트래픽을 수동적으로 관찰함으로써 정보를 수집하는 작업을 포함한다. 상술하였듯이, 정교한 수동 스캐닝에 의한 공격이 일어나는 경우, 일정 수준 이상 작은 호핑 시간 간격으로도 보호된 회선에의 침투를 방지할 수 없을 가능성이 있다.
이러한 공격을 방지하기 위한 NMTD의 극단적 구현 사례로는 매 패킷마다 호스트 식별자를 변경하는 것이 있다. 호핑 시간 간격을 최소화하는 것은 숙련된 인간 공격자와 수동 호스트 프로파일링 공격을 효과적으로 방어하는 데 도움이 된다. 그러나, 기존 NMTD 보안 방식은 각 패킷마다 호스트 식별자를 변경하는 기능을 제공하지 못한다. 이를테면, 식별자의 변경을 위해서는 네트워크 스위치의 플로우 테이블을 갱신하여야 하는데, 그 속도에 실질적인 한계가 있다. 실제 호스트 식별자를 변경하는 방식의 NMTD 보안 기술은 라우팅 테이블을 자주 업데이트하는데 있어서 한계가 있거나, 또는 네트워크 인터페이스에 통지되어 결합(Binding)이 이루어진 IP 주소를 계속해서 해제하고 또 재결합시켜야 한다는 문제가 있다. 즉, 현대의 초고속 통신망에 있어서, 패킷 단위의 식별자 변경은 상당한 정보처리 자원의 낭비로 이어지고, 실질적으로 용납이 불가능한 수준의 통신 속도 저하로 이어지게 된다.
또한, 각 패킷마다 호스트 식별자를 변경하기 위해서는 호스트 식별자가 변경될 수 있는 넓은 정보 집합 공간이 요구된다. 예를 들어, 패킷 크기가 1,050바이트이고 목표 통신속도가 100Mbps인 경우, 초당 약 12,000개의 식별자가 필요하다. NMTD 보안 방식이 빠른 속도로 식별자를 도출하지 못하면 이 또한 통신의 지연을 초래할 수 있다. 또한, 호스트 식별자의 변경 가능한 정보 공간이 지나치게 좁다면, 특정 호스트 식별자가 반복하여 나타날 수 있고, 이는 호핑 시간 간격을 최소화한 효과를 거슬러 공격자의 스캐닝에 유리한 조건을 제공해 주고 만다.
요컨대, 송신측 보안 장치와 수신측 보안 장치 간에 주소 그 자체를 변경하는 방식으로 식별자 변경을 수행하는 데에는 현실적인 속도의 한계가 있으며, 그 한계 이내에 공격자의 공격 시도가 완수될 수 있다는 위험성이 존재한다. 종래 공지기술에서 수신측 보안 장치의 외부 IP 주소를 가상 식별자로 사용하고, 낮은 빈도의 변경(LFM; Low Frequency Mutation)과 높은 빈도의 변경(HFM; High Frequency Mutation)을 병행하는 방식을 통해 호핑 시간 간격을 최소화하더라도, 실제 식별자가 자주 변경되도록 하는 이상 상기의 현실적 속도 한계로부터 벗어날 수 없다.
도 6은 본 발명의 일 실시예에 따른 NMTD 시스템의 동작 방식을 나타내는 개념도이다. 본 발명의 일 실시예에 의한 NMTD 시스템(600)에서는, 수신측 보안 장치의 외부 IP 주소 등 가상식별자를 LFM의 대상으로 사용하고, 별도의 임시식별자를 HFM의 대상으로 사용하여, 최대 개별 패킷 단위의 호핑이 이루어질 수 있도록 한다. 바람직한 실시예에서, 상기 수신측 보안 장치의 주소 변경을 위한 LFM 식별자 변조는 종래의 NMTD 분야 공지기술 중 하나인 MT6D(Moving Target IPv6 Defense)과 호환되도록 구성될 수 있다.
본 발명의 일 실시예에서는, 수신측 보안 장치에 대한 모호화 IPv6 주소(Obscured IPv6 address)가 계산될 수 있다. 상기 모호화 주소는 상기 수신측 보안 장치가 패킷을 수신하는 데 사용하는 외부 IP 주소일 수 있다. 또한, 상기 모호화 주소는 개별 수신 단말기(140)에 대응하여 생성될 수도 있고, 복수의 수신 단말기(140)에 대하여 하나가 생성될 수도 있으며, 또는 복수의 모호화 주소가 하나의 수신 단말기(140)에 대한 통신을 지정할 수 있다. 어떠한 실시 방식을 따르든, 상기 모호화 주소는 송신측 보안 장치(120)로부터 송신된 캡슐화된 패킷을 수신측 보안 장치(130)로 라우팅하기 위해 사용된다. 즉, 모호화 주소는 공용망(210)상에서 이루어지는 NMTD 패킷 터널링(620)을 유지하는 데에 사용될 수 있다. 상기 터널링(620)은 상기 공용망(210) 상에서 소정의 패킷 라우팅 경로 및 네트워크 장치 바인딩에 의하여 성립되어 있을 수 있고, 송신측 보안 장치(120)와 수신측 보안 장치(130)가 사전에 합의한 간격에 따라, LFM 주기에 의한 호핑으로 새로운 모호화 주소가 계산될 때마다 재설정되도록 구성될 수 있다.
여기에 더하여, 본 발명에서는 패킷마다 달리 적용되는 임시식별자를 두고, 이를 통하여 통신의 최종 목적지가 되는 수신 단말기(140)를 식별할 수 있다. 즉, 모호화 주소와 임시식별자가 쌍을 이루어 비로소 하나의 수신 단말기(140)를 식별하는 데 사용될 수 있다. 상기 임시식별자는 한 번에 하나 이상의 임시식별자로 구성된 목록으로서 생성될 수도 있으며, 이 경우 상기 목록의 모든 임시식별자는 동일한 수신 단말기(140)를 지칭하는 것으로 구성될 수 있다. 따라서, 상기 목록에 존재하는 다수의 임시식별자를 순차적으로 사용함으로써 상기한 바와 같이 최대 매 패킷마다 임시식별자가 변화하는 구성을 실시할 수 있게 된다. 또한 이러한 임시식별자의 변화를 HFM 주기에 의한 호핑으로 간주할 수 있다. 다만, 임시식별자가 반드시 패킷마다 변환될 필요는 없으며, HFM 주기를 더 길게 취하는 실시예에서는, 1 이상의 임의의 숫자마다 임시식별자를 달리 적용하여도 무관하며, 또한 상기 임의의 숫자가 소정의 규칙에 의하여 가변되어도 무관하다.
상기 임시식별자의 동작 방식에 대해 보다 자세히 설명한다. 하나의 모호화 주소가 계산될 때마다, 상기 시스템(600)에서는 임시식별자의 목록이 생성된다. 본 발명의 바람직한 실시예에서, 상기 송신측 보안 장치(120)와 수신측 보안 장치(130)는 사전에 합의된 동일한 방법에 의하여 동일한 임시식별자의 목록을 생성하도록 구성될 수 있다. 본 발명의 일 실시예에서, 송신측 보안 장치(120)는 상술한 바와 같이 캡슐화된 패킷을 송신함에 있어 모호화된 주소를 목적지로 하고, 패킷의 페이로드에 1개의 임시식별자를 삽입한다. 상기 삽입된 임시식별자는 송신측 보안 장치(120)로부터 삭제되어 재사용되지 않는다. 수신측 보안 장치(130)는 패킷 터널링(620)을 경유하여 캡슐화된 패킷(160)을 수신한 후, 상기 임시식별자를 확인한다.
수신측 임시식별자의 집합을 도 6에서는 필터(640)를 통해 개념적으로 나타내고 있다. 캡슐화된 패킷(160)에 포함된 송신측 임시식별자가 수신측이 가진 목록에 속한 어느 하나의 임시식별자와 일치(642)하는 경우, 이것은 상기 송신측 보안 장치와 수신측 보안 장치가 사전에 합의된 방법에 의해 생성된 정당한 임시식별자임을 알 수 있으므로, 해당 캡슐화된 패킷의 페이로드를 분석하여 일반 패킷(170)을 획득한 후 수신 단말기(140)로 전달되도록 할 수 있다. 그러나, 상기 수신측이 가진 목록에 존재하지 않는 임시식별자이거나, 또는 임시식별자가 확인되지 않는 경우, 해당 캡슐화된 패킷(160)은 잘못된 것이거나 위조된 것임을 알 수 있으므로 폐기(644)되도록 구성될 수 있다.
임시식별자의 변경은 상기 모호화 주소에 의해 성립한 패킷 터널링(620)에 영향을 미치지 않는다. 이는 곧, 패킷 터널링(620)과 관련하여 공용망(210)에서 계산된 라우팅 경로 및 바인딩 된 네트워크 장치들이 임시식별자의 잦은 변경에도 영향을 받지 않는다는 것을 의미한다. 이를 통해 본 발명은 상술하였던 바와 같이 종래기술이 가졌던 잦은 호핑으로 인한 네트워크 라우팅 경로 재설정의 부담을 완화하면서도 극도로 짧은 호핑 주기를 유지할 수 있게 된다. 또한, 이처럼 계층화된 호핑의 구조를 갖춤으로써, 상기 시스템(600)의 실제 동작 방식에 무지한 제3자(이를테면, 공격자 단말기)로서는, 실제 수신 단말기(140)가 아닌 다수의 실재하지 않는 네트워크 단말기(650)가 존재한다고 오인할 수 있으며, 이를 통해 본 발명의 시스템(600)은 공격자 등의 정찰 및 해킹 행위로부터 내부 가상 네트워크(630, 230) 및 수신 단말기(140)를 안전하게 보호한다.
송신측 보안 장치의 동작
도 7은 송신측 보안 장치의 동작 방법을 나타낸 순서도이다. 송신측 보안 장치의 동작에 앞서, 임의의 시점에, 송신측 보안 장치는 수신측 보안 장치와 동작 방법에 관한 합의 절차(Handshaking)를 밟은 것으로 간주한다(S710). 상기 합의 절차는, 바람직하게는, 두 장치의 페어링을 위한 통신 메시지의 교환에 의한 것일 수 있으나, 장치간 통신 보안 영역에서 사용되는 공지의 기술이 다양하게 적용될 수 있다. 예를 들어, 현재 시간을 기반으로 동기화하거나, 상호가 동일한 키 값을 공유함으로써 동기화하거나, 상호가 동일한 알고리즘을 사용함으로써 동기화하거나, 대칭키 또는 비대칭키 암호화 방식으로 동기화하거나, 그 밖의 다양한 방법을 고려할 수 있으며, 상기 방법 중 일부를 결합 또는 중복하여 적용하여도 무방하다.
단계 S710의 합의 절차는 본 발명의 구체적 구현 방법에 관한 정보를 송신측과 수신측이 공유하는 절차로 구성될 수 있다. 상기 정보에는 1) 캡슐화된 패킷의 양식; 2) 모호화 주소 및 그 생성 방법; 3) 임시식별자 및 그 목록의 생성 방법이 포함될 수 있다.
송신측 보안 장치에는 송신 단말기로부터 수신 단말기에 전달되는 목적의 일반 패킷이 수신된다(S720). 상기 일반 패킷이 수신되면, 모호화 주소의 호핑(LFM 호핑)이 필요한지의 여부가 먼저 판단된다(S730). 단계 S730에서 호핑의 필요성을 판단하는 과정은 단계 S710에서 송신측과 수신측이 합의한 결과에 따라 결정될 수 있다. 예를 들어, 송신측과 수신측은 모두 소정 시간(예를 들어, 5초)마다 모호화 주소를 새로 생성하도록 구성될 수 있으며, 이 경우 마지막 모호화 주소 생성으로부터 상기 시간이 도과하였다면 호핑을 통해 모호화 주소가 새로이 생성되어야 함이 명백하다. 이에 의하여 LFM 주기에 의한 호핑이 실시될 수 있다.
신규 모호화 주소 바인딩(S735)이 필요한 것으로 결정되면, 모호화 주소가 생성된다. 모호화 주소는 수신 단말기의 실제 주소, 이를테면 내부 IP 주소 또는 보호된 IP 주소로 칭해질 수 있는 주소로부터 생성되며, 바람직하게는, 상기 IP 주소의 전체 또는 일부와 함께 공유 세션 키, 현재 시간 정보를 포함하는 입력 값이 주어진 함수에 의하여 계산되고 생성될 수 있다. 상기 함수는, 일 실시예에 따르면, 해시 함수의 일종일 수 있다.
수학식 1은 모호화 주소의 생성 방법의 일 실시예를 나타내는 공식이다.
Figure 112022019613503-pat00001
수학식 1에서 IID x 는 수신 단말기의 실제 IP 주소를 나타내고, K S 는 공유 대칭 키를 나타내며, t i 는 i번째 임시식별자를 생성할 때의 현재 시간 정보를 나타낸다. H는 해시 함수를 나타내며, 수학식 1에서는 상기 해시 함수를 통해 도출된 결과 값의 첫 64비트를 H[·]0→63으로 나타낸다. 상기 수학식 1에 의하여 변조된 수신 단말기 주소 값은 IID' x 로 나타난다. 모호화 주소는 상기 변조된 64비트 주소 값에 본래 수신 단말기 IP 주소의 서브넷 구간을 연결함으로써 생성된다. 즉, 상기 모호화 주소는 수신 단말이 속해 있는 서브넷 게이트웨이(바람직하게는, 수신측 보안 장치와 동일할 수 있다)에 도달할 수 있는 IP 주소이지만, 실제 수신 단말기의 주소를 노출하지 않는 주소일 수 있다.
다음으로, 모호화 주소가 상기 수학식 1에 따라 계산될 때마다, 상기 모호화 주소에 대응하여, 하나 이상의 임시식별자로 이루어진 목록이 모호화 주소, 공유 대칭 키, 및 현재 시간 정보를 포함하는 정보로부터, 바람직한 실시예에 따르면 해시 함수 H와 같은 수단을 이용하여, 생성될 수 있다(S770, S772, S774).
Figure 112022019613503-pat00002
Figure 112022019613503-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) 로부터 계산될 수 있다.
상기 생성(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개의 임시식별자의 목록을 나타낸 개념도이다. 이처럼 연속적으로 다수의 임시식별자를 생성함으로써, 고속으로 전송되는 패킷을 캡슐화시키는 과정에 실시간으로 임시식별자를 더 용이하게 제공할 수 있게 된다.
본 발명의 일 실시예에 따르면, 상기 연속적으로 임시식별자를 생성하는 과정은, 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일 수 있다.
상기 각 절차에 의해 모호화 주소가 준비되고 임시식별자의 목록이 준비된다면, 상기 수신(S720)된 일반 패킷을 캡슐화하는 절차를 실시할 수 있다(S740). 상기 캡슐화 절차의 일 실시예는 도 9a 내지 9b를 참조하여 설명한다. 종래의 MT6D 시스템에서는 단계 S740에 있어, 도 9a와 같이, 일반 패킷의 IP 헤더에(410)서 송신 단말기 IP 주소 및 수신 단말기 IP 주소를 제거한 후(410') 일반 패킷을 캡슐화된 패킷의 페이로드(440)로 삼는다. 본 발명에서는, 도 9b와 같이, 상기 목록으로부터 순차적으로 임시식별자를 선택(S780)하고, 상기 선택된 임시식별자(920)를 캡슐화된 패킷의 헤더(430)와 페이로드화 된 일반 패킷의 헤더(410') 사이에 송신측 임시식별자로서 삽입하는 과정을 단계 S740에 더 포함할 수 있다.
상기 패킷의 캡슐화(S740) 과정에서, 하나의 일반 패킷이 하나 이상의 캡슐화된 패킷으로 변환될 수 있다. 이는 캡슐화된 패킷과 일반 패킷이 동일한 양식의, 예를 들어 IPv6 방식의 패킷인 경우, 헤더를 포함하는 패킷의 정보 일체를 동일한 규격의 패킷 페이로드로 탑재하고자 하는 경우, 패킷의 제한 길이를 초과할 가능성이 있기 때문이다. 이러한 경우 하나의 일반 패킷에 속한 정보가 하나 이상의 캡슐화된 패킷에 담겨 송신될 수 있다. 이러한 절차는 통상의 패킷 터널링 기술에서 사용되는 종래기술이므로, 본 발명의 권리범위를 형성 또는 한정하는 요인이 될 수 없으며, 따라서 이에 관한 자세한 설명은 생략하기로 한다.
상기 패킷의 캡슐화(S740) 과정에서 임시식별자를 선택(S780)하는 과정은, 바람직한 실시예에서는, FIFO(First in first out)방식으로 구현될 수 있다. 즉, 만들어진 순서에 따라 선택되도록 구성될 수 있다. 즉, 상기 송신측 임시식별자는, 생성 순서에 의하여 패킷의 바람직한 전송 순서를 증명하는 값으로 사용될 수 있다.
상기 선택된 임시식별자는 패킷의 캡슐화에 필요한 횟수만큼, 바람직하게는 1회 사용된 이후, 상기 목록에서 삭제(S782)된다. 이로써 소수의 패킷마다, 바람직하게는 매 패킷마다 임시식별자가 변경되고, 한번 사용된 임시식별자를 다시 사용하지 않게 됨으로써, HFM 주기에 의한 호핑이 실시될 수 있다.
상기 도 9b에서 임시식별자가 삽입되는 위치와 캡슐화된 패킷에 삽입되는 정보는 선택 가능한 한 가지 실시예에 불과하다. 도 9c를 참조하면, 임시식별자는 상기 캡슐화된 패킷의 다른 위치에 삽입되어도 무관하다. 또한, 캡슐화된 패킷의 구성 정보는 임시식별자(920)를 포함하는 한 어떻게 구성되든 본 발명의 사상에 부합함이 명백하다.
도 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)이 생성된다.
상기 도 9b 및 9c에 나타난 것은 본 발명의 임시식별자가 캡슐화된 패킷의 임의 위치에 삽입될 수 있음을 보여주는 다양한 실시예이며, 통상의 기술자는 본 발명을 실시하는 데 있어 다양한 이점을 누리기 위해 상기 도시된 실시예 중 하나 또는 그 밖의 어떠한 다른 방법이라도 선택할 수 있다. 따라서, 상기 실시예들에 한정되지 않고 패킷 터널링에 사용되는 캡슐화된 패킷에 임시식별자를 포함하여 전송하기 위한 여하의 방법 및 수단이 본 발명의 권리범위에 포함될 수 있음은 자명하다.
상술한 바와 같이 패킷의 캡슐화(S740)가 이루어지면, 해당 패킷은 상기 모호화 주소를 이용하여 네트워크를 통해 수신측 보안 장치를 향해 송신(S750)된다. 이렇게 송신된 캡슐화된 패킷에서는, 바람직한 실시예에 따르면, 패킷의 내용을 모두 분석하더라도 송신 단말기 및 수신 단말기의 IP 주소를 획득할 수 없고, 또한 모호화 주소에 더해 임시식별자가 빠른 주기로, 바람직한 실시예에 따르면, 매 패킷마다 변화함으로써, 네트워크에 존재하는 공격자에 의한 정찰 및 프로파일링 행위에 강인하게 될 수 있다.
상술한 송신측 보안 장치에서의 절차는 더 전송해야 할 일반 패킷이 존재하는 한(S760) 반복된다. 그 과정에서 일정 시간 또는 일정 패킷 간격이 지나 모호화 주소의 호핑이 필요해지는 경우(S730)에는 다시 새로운 모호화 주소를 생성 및 바인딩(S735)한다.
한편, 상기 임시식별자가 목록에서 삭제(S782)됨에 따라, 목록의 크기가 임계수 m보다 작아질 수 있다. 도 14의 (b)는 임시식별자의 수가 임계수 m(1402), 여기서는 5보다 작아진 경우를 나타낸다. 소정 개수의 임시식별자를 목록에 유지하는 것은 고속으로 전송되는 패킷을 캡슐화시키는 과정에 실시간으로 임시식별자를 용이하게 제공하는 데 있어서 중요하다. 따라서, 본 발명의 일 실시예에서는 남은 임시식별자 목록의 크기가 임계수 m보다 작아지는 경우(S784) 임시식별자의 연속적 생성절차(S770, S772, S774)를 다시 시행하여 임시식별자를 보충하도록 구성될 수 있다. 도 14의 (c)를 살펴보면, 상기 절차에 의해 임계수 n(1401)만큼의 임시식별자가 보충되어, 임시식별자의 목록 길이가 임계수 m(1402) 이상으로 회복됨을 알 수 있다.
부가적으로, 도 14의 (d)와 같이 상기 임계수 n(1401)보다 큰 임계수 m(1402')이 사용되는 경우, 임시식별자의 연속적 생성절차(S770, S772, S774)가 1회 이상 반복적으로 실행되어야 할 수 있으며(S784), 이는 본 발명을 구현하는 실시예의 변형에 따라 통상의 기술자가 용이하게 취할 수 있는 변형의 범위 내에 있으므로, 발명의 실시에 있어 이 같은 변형을 취하더라도 본 발명의 권리범위로부터 벗어나지 아니함은 자명하다.
상기 송신측 보안 장치의 동작은 더 이상 전송할 일반 패킷이 없는 경우(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)에 접속되는 형태로 존재할 수 있다.
수신측 보안 장치의 동작
도 8은 수신측 보안 장치의 동작 방법을 나타낸 순서도이다. 수신측 보안 장치의 동작에 앞서, 임의의 시점에, 수신측 보안 장치는 송신측 보안 장치와 동작 방법에 관한 합의 절차(Handshaking)를 밟은 것으로 간주한다(S810). 상기 합의 절차의 실시예에 대한 설명은 앞서 송신측 보안 장치의 합의 절차(S710)에 대해 설명한 바와 같으므로 생략한다.
또한, 수신측 보안 장치의 동작에 앞서, 적어도 하나의 수신 단말기가 수신측 보안 장치에 접속하는 준비 단계(S815)가 있었던 것으로 간주한다. 수신 단말기의 접속을 인지함으로써, 수신측 보안 장치는 보안 장치의 보호를 받고자 하는 수신측 단말기의 IP 주소를 포함하는 정보를 확인하여, 해당 수신 단말기로 전달되어야 할 일반 패킷을 복구하기 위한 정보를 획득할 수 있다.
수신측 보안 장치는 송신측 보안 장치로부터 송신된 캡슐화된 패킷을 수신하기 위한 모호화 주소가 지정되어야 한다. 상기 캡슐화된 패킷의 수신에 앞서, 모호화 주소의 호핑(LFM 호핑)이 필요한지의 여부가 먼저 판단된다(S820). 단계 S820에서 호핑의 필요성을 판단하는 과정에 대한 설명은 앞서 송신측 보안 장치의 호핑 판단 절차(S730)에 대해 설명한 바와 같으므로 생략한다.
신규 모호화 주소 바인딩(S825)이 필요한 것으로 결정되면, 모호화 주소가 계산된다. 모호화 주소는 수신 단말기의 실제 주소, 이를테면 내부 IP 주소 또는 보호된 IP 주소로 칭해질 수 있는 주소로부터 생성되며, 상기 준비 단계에서 확보된 수신 단말기의 IP 주소가 활용될 수 있다. 모호화 주소와 그 계산 방법에 대한 설명은 앞서 송신측 보안 장치의 모호화 주소 생성 절차(S735)에 대해 설명한 바와 같으므로 생략한다.
상기 모호화 주소가 새로이 계산될 때마다, 상기 모호화 주소에 대응하여, 하나 이상의 임시식별자로 이루어진 목록이 모호화 주소, 공유 대칭 키, 및 현재 시간 정보를 포함하는 정보로부터, 바람직한 실시예에 따르면 해시 함수 H와 같은 수단을 이용하여, 생성될 수 있다(S870, S872, S874). 또한 바람직한 실시예에서, 상기 해시 함수 등을 이용하는 임시식별자의 생성 공식은 앞서 송신측 보안 장치에서 임시식별자 DID k x(i) 를 획득하기 위해 사용한 수학식 2 및 3과 동일할 수 있다.
상기 생성(S870)된 임시식별자는 상기 모호화 주소에 대응하는 목록에 저장(S872)된다. 상기 목록을 수신측 임시식별자 목록으로 칭할 수 있다. 본 발명의 일 실시예에서는, 상기 신규 모호화 주소의 바인딩(S825) 시점에, 상기 목록에는 하나 이상의 임시식별자가 연속적으로 미리 생성되어 저장되도록 구성될 수 있다. 이를테면, 상기 수신측 보안 장치는 목록에서 한 번에 생성되는 임시식별자의 임계수를 n으로 정하고, 한 번 임시식별자를 생성할 때 n개의 연속적인 생성을 실시하도록 구성될 수 있다(S774). 임시식별자의 생성과 이를 목록에 저장하는 방법에 대한 설명은 앞서 송신측 보안 장치에서의 임시식별자 생성 및 목록 저장 절차(S770, S772, S774)에 대해 설명한 바와 같으므로 생략한다.
적절한 모호화 주소가 바인딩되고 임시식별자의 목록이 준비된다면, 수신측 보안 장치에는 송신측 보안 장치로부터 모호화 주소를 이용하여 송신된 캡슐화된 패킷이 수신(S830)될 수 있다. 수신측 보안 장치는 상기 캡슐화된 캡슐을 분석하여 송신측 보안 장치에 의해 삽입된 송신측 임시식별자가 존재하는지, 존재한다면 그 값은 무엇인지 확인할 수 있다. 수신측 보안 장치는 캡슐화된 패킷의 다양한 위치로부터 송신측 임시식별자를 확인하고자 할 수 있으며, 그 위치에 관한 실시예는 앞서 도 9b 및 9c를 인용하여 설명한 바와 같다. 송신측 임시식별자가 확인되는 경우, 그 값을 수신측 임시식별자 목록에 있는, 바람직한 실시예에 따르면, 모든 임시식별자 값과 각각 대응하는지 여부를 대조(S840)할 수 있다.
본 발명의 바람직한 실시예에 따르면, 앞서 서술한 실시예와 같이 송신측과 수신측이 모두 수학식 2 및 3의 동일한 구현에 의하여 임시식별자를 생성하는 경우, 상기 대응하는지 대조(S840)하는 방법은, 두 값이 동일한지를 확인하는 방법일 수 있다. 다만, 본 발명의 다른 실시예에서는, 상기 수학식 2 및 3의 서로 다른 구현이 사용되거나, 더욱 진보된 임시식별자의 운용 방법이 사용될 수 있으며, 이 경우에 관하여서는 이하 별도로 후술하기로 한다.
상기 대조(S840)의 결과에 따라, 만약 캡슐화된 패킷에서 획득된 송신측 임시식별자와 대응하는 수신측 임시식별자가 확인되는 경우, 상기 캡슐화된 패킷은 송신측 보안 장치에 의하여 정당하게 송신된 것으로 판단될 수 있다. 이 경우, 수신측 보안 장치는 패킷의 캡슐화를 해제(S860)할 수 있다. 반대로, 대응하는 수신측 임시식별자가 확인되지 않는 경우, 해당 캡슐화된 패킷은 위조되거나 잘못 수신된 것으로 간주되어, 수신측 보안 장치는 이 패킷을 처리하지 않고 폐기(S890)하게 된다.
상기 대조(S840) 절차는 앞서 도 6의 개념도를 참조하여 설명하였던 필터(640)를 구현하고 있는 것으로 볼 수 있다. 단계 S860은 도 6에서 패킷을 수용하는 경우(642)에 실행되는 것이고, 단계 S890은 도 6에서 패킷을 폐기하는 경우(644)에 실행되는 것으로 간주할 수 있다. 이로써 도 8의 절차가 어떤 절차에 의하여 도 6에 나타난 본 발명의 기술적 사상을 구현하는지 통상의 기술자라면 용이하게 알 수 있을 것이다.
상기 대응이 확인된 임시식별자는 패킷의 캡슐화 해제에 필요한 횟수만큼, 바람직하게는 1회 사용된 이후, 상기 목록에서 삭제(S880)된다. 이로써 소수의 패킷마다, 바람직하게는 매 패킷마다 임시식별자가 변경되고, 한번 패킷이 정상 수신된 임시식별자를 첨부하여 수신되는 패킷은 향후 거부하게 됨으로써, HFM 주기에 의한 호핑이 실시될 수 있다.
상기 캡슐화 해제의 방법에 대한 설명은, 앞서 송신측 보안 장치에서 패킷의 캡슐화 방법과 관련하여 도 9a 내지 도 9c를 참조하여 설명한 절차의 역순으로 간주할 수 있다. 도 9b를 참조하면, 본 발명의 일 실시예에서는, 캡슐화된 페이로드(930)의 가장 앞부분으로부터 임시식별자(920)를 획득하여 상기 대조 절차(S840)를 수행하고, 캡슐화 해제(S860)를 수행하기로 결정하면, 이후의 페이로드 부분을 일반 패킷 헤더(410')와 일반 패킷 페이로드(420)로 복구한다. 그 다음, 상기 모호화 주소와 상기 수신측 임시식별자를 도출하도록 한 수신 단말기 주소를 일반 패킷 헤더에 보충(410)하여, 해당 일반 패킷이 정상적으로 수신 단말기에 송신될 수 있도록 한다. 이상과 같은 절차를 거쳐 일반 패킷이 복구(S860)되면, 수신측 보안 장치는 상기 일반 패킷을 수신 단말기를 향해 송신(S862)할 수 있다.
상기 패킷의 캡슐화 해제(S860) 과정에서, 하나의 일반 패킷이 하나 이상의 캡슐화된 패킷으로부터 도출될 수 있다. 이에 대해서는 앞서 송신측 보안 장치의 설명에서 설명한 바 있으며, 이러한 절차는 통상의 패킷 터널링 기술에서 사용되는 종래기술이므로, 본 발명의 권리범위를 형성 또는 한정하는 요인이 될 수 없으며, 따라서 이에 관한 자세한 설명은 생략하기로 한다.
상기 패킷의 캡슐화 해제(S860) 과정에서 모든 임시식별자 값과 각각 대응하는지 여부를 대조(S840)하는 것은, 본 발명의 바람직한 실시예에 따르면, 패킷이 송신된 순서와 다른 순서로 수신되는 경우에도 패킷이 정상적으로 받아들여지도록 보장하기 위함이다. 이에 대해서는 도 10a 내지 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)임을 알 수 있다.
이어서 도 10c를 참조하면, 패킷 터널링(620)이 공용망(210)을 경유하여 이루어지는 관계로, 송신 순서와는 다르게 패킷이 도착할 수 있음을 알 수 있다. 그러나 수신측 임시식별자 목록(1065)은 이미 소정 개수의 수신측 임시식별자를 생성하여 저장하고 있으므로, 후순위에 해당하는 송신측 임시식별자(예를 들어, 1020-3)가 먼저 도착하더라도, 이를 목록 상의 모든 수신측 임시식별자와 대조함으로써, 그 중 한 임시식별자(1025-3)와 대응하는 것으로 판단한 뒤 수신하는 데 문제가 없게 된다. 또한, 상기 송신측 임시식별자(1020-3)가 부여된 패킷의 실제 송신 순서 또한 알 수 있게 되므로, TCP/IP 기반의 패킷 네트워크에서 발생하는 패킷 전송 순서의 혼선에도 불구하고 모든 캡슐화된 패킷을 정상 순서에 따라 일반 패킷으로 변경할 수 있게 된다. 특히 패킷 단위로까지 임시식별자를 변경하고자 하는 본 발명에서, 상기와 같은 실시예상의 절차는 모호화 주소에 기반하여 전송된 패킷의 순서 혼선을 방지할 수 있는 효과가 있다.
상술한 수신측 보안 장치에서의 절차는 더 수신해야 할 캡슐화된 패킷이 존재하는 한(S864) 반복된다. 그 과정에서 일정 시간 또는 일정 패킷 간격이 지나 모호화 주소의 호핑이 필요해지는 경우(S820)에는 다시 새로운 모호화 주소를 생성 및 바인딩(S825)한다.
한편, 상기 임시식별자가 목록에서 삭제(S880)됨에 따라, 목록의 크기가 임계수 m보다 작아질 수 있다. 따라서, 본 발명의 일 실시예에서는 남은 임시식별자 목록의 크기가 임계수 m보다 작아지는 경우(S885) 임시식별자의 연속적 생성절차(S870, S872, S874)를 다시 시행하여 임시식별자를 보충하도록 구성될 수 있다.
상기 수신측 보안 장치의 동작은 더 이상 수신해야 할 캡슐화된 패킷이 없는 경우(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)를 통해 수행될 수 있다.
임시식별자의 정보집합과 응용된 실시예
본 발명의 바람직한 실시예에 따르면, 송신측과 수신측이 모두 수학식 2 및 3의 동일한 구현에 의하여 임시식별자를 생성할 수 있다. 이 경우, 상술하였듯, 두 임시식별자가 서로 대응하는지 대조(예를 들어, S840)하는 방법은, 두 값이 동일한지를 확인하는 방법일 수 있다. 다만, 본 발명의 다른 실시예에서는, 보다 강화된 보안을 위하여 송신 측과 수신 측이 서로 다른 수학식 2 및 3의 구현을 사용할 수 있다.
도 10a를 참조하면, 본 발명에 의한 NMTD 통신의 성립을 위하여서는, 송신측이 생성한 임시식별자(1020) 각각이 수신측이 생성한 임시식별자(1025)가 각각 1:1로 대응되어야 함을 알 수 있다. 그러나, 이것은 각 측의 임시식별자가 반드시 동일한 값이어야만 성립하는 것은 아니므로, 다양한 실시예를 적용할 수 있다.
도 11a는 수학식 2 및 3에 따라 임시식별자가 생성되는 정보집합 공간을 나타낸 개념도이다. 여기에서 정보집합 공간이란, 소정의 이진 정보처리 알고리즘에 의하여 계산되어 도출될 가능성이 있는 모든 값들의 집합을 나타내는 것으로 정의한다. 예를 들어, 임의의 8비트 값을 출력할 수 있는 알고리즘의 결과값이 가지는 정보집합 공간의 크기는 28=256가지 원소를 갖게 된다.
도 11a에서, 집합 1110은 송신측 임시식별자가 생성되는 정보집합 공간이며, 집합 1120은 수신측 임시식별자가 생성되는 정보집합 공간이다. 도 11a에 나타난 것과 같이, 집합 1110이 집합 1120과 동치이거나 부분집합인 한, 모든 송신측 임시식별자(1020)는 적어도 하나의 수신측 임시식별자(1025)와 대응함으로써, 송신측 보안 장치가 임시식별자를 첨부해 송신한 모든 패킷이 수신측 보안 장치에 의해 정상적으로 수신될 가능성을 보장함을 알 수 있다. 도 11a의 실시예에서, 두 임시식별자를 대조하는 방법은 두 임시식별자의 값의 전부 또는 일부가 동일한지를 판단하는 것이 된다. 또한 더욱 바람직한 실시예에서, 집합 1110과 1120은 여집합을 두지 않는 동치의 집합임이 권고된다. 이는 상기 여집합에 속하는 수신측 임시식별자(1130)가 낮은 확률로 부정하거나 위조된 임시식별자와 대응할 가능성이 존재하여 보안 수준을 저하시키기 때문이다.
한편, 도 11b에는, 집합 1110과 1120이 서로 동치인 집합이되, 1:1 대응 관계가 독립적으로 구성되어 있는 실시예가 나타나 있다. 이 실시예에서, 하나의 송신측 임시식별자(1020)는 같은 집합 내의 다른 수신측 임시식별자(1025)와 대응 관계를 갖도록 구현된다. 이러한 관계는, 실시예에 따라서는, 송신측 보안 장치가 임시식별자를 생성하는 데 사용하는 해시 함수 H send 와 수신측 보안 장치가 임시식별자를 생성하는 데 사용하는 해시 함수 H recv 간에 수학적 상관관계를 둠으로써 성립할 수 있다. 도 11b와 같은 실시예를 적용하면, 임의의 공격자에 의해 유효한 임시식별자를 예측하고자 하는 시도를 더욱 곤란하게 할 수 있다.
나아가, 도 11c에는, 집합 1110과 1120이 서로 완전히 분리된 별개의 집합인 실시예가 나타나 있다. 이 실시예에서, 하나의 송신측 임시식별자(1020)는 전혀 다른 집합에 속하는 하나의 수신측 임시식별자(1025)와 대응 관계를 갖도록 구현된다. 이러한 관계는, 실시예에 따라서는, 송신측 보안 장치는 해시 함수 H send 를 이용하여 송신측 임시식별자를 생성하고, 수신측 보안 장치는 상기 해시 함수의 결과에 다시 해시 함수를 취한 H recv [H send ]를 사용하여 수신측 임시식별자를 생성함에 따라 성립할 수 있다. 이 경우, 두 임시식별자 간 대응 관계의 판단은 송신측 임시식별자에 해시 함수 H recv 를 취하여 그 결과 값이 수신측 임시식별자와 일치하는지의 여부를 판단하는 것으로 이루어질 수 있다. 이 경우, 공격자가 송신측 또는 수신측 보안 장치 중 한 쪽의 임시식별자 목록을 해킹 등을 통해 확보하더라도, 이를 이용하여 유효한 임시식별자를 재생성하여 캡슐화된 패킷을 위조하는 것을 어렵게 하여, 공격으로부터의 안전성을 더욱 확보할 수 있다.
이처럼 송신측 임시식별자의 정보집합과 수신측 임시식별자의 정보집합을 다양하게 운용할 수 있으므로, 송신측 임시식별자 목록을 관리하는 데 있어 사용되는 임계수 n, m과, 수신측 임시식별자 목록을 관리하는 데 있어 사용되는 임계수 n, m은 서로 같거나 혹은 다를 수 있다. 이를테면, 두 임시식별자의 정보집합이 동치인 경우에도, 성능상의 이유로, 양측 보안 장치는 서로 다른 개수의 목록을 생성 및 유지하도록 구성될 수 있다. 그러나 본 발명은 양측의 n과 m이 같은 경우와 다른 경우 모두에서 동작할 수 있으므로, 이러한 변형이 적용된 실시예 또한 본 발명의 권리범위로부터 이탈하지 않음을 알 수 있다.
임시식별자의 중복에 대한 실시예
임시식별자의 연속적 생성을 통해 임시식별자의 목록을 생성 및 운용하는 과정에서, 일 실시예에 따라 해시 함수 H를 사용하는 경우, 해시 함수 H의 특성에 따라 낮은 확률로 동일한 값을 가지는 임시식별자가 2회 이상 나타날 가능성이 있다. 예를 들어, 임시식별자를 생성하기 위해 "crypto/sha512" 해시 함수 패키지를 사용하고, 그 결과인 512비트 해시 값으로부터 64비트 단위의 임시식별자 8개를 추출하는 방식의 경우, 추출된 임시식별자가 앞서 목록에 저장된 다른 임시식별자와 같아질 가능성이 매우 낮은 확률로 존재한다.
본 발명의 일 실시예에서는, 상기와 같이 중복되는 임시식별자가 획득되는 경우, 해당 임시식별자를 제외하고 사용하도록 구성될 수도 있다. 그러나, 본 발명의 다른 실시예에서는, 상기 임시식별자의 목록을 카운터에 의한 방식으로 운용함으로써 보다 효율적인 통신을 추구할 수 있다
상기 실시예를 도 7 및 도 8을 다시 참조하여 설명하고자 한다. 도 7에서, 송신측 보안 장치가 생성한 임시식별자를 목록에 저장(S772)하는 단계에서 중복된 임시식별자가 사용되었음이 발견되는 경우에도, 이를 제외하지 않고 목록에 등재하도록 할 수 있다. 송신측 보안 장치는, 바람직하게는, FIFO 방식에 의하여 임시식별자를 선택(S780)하여 패킷 캡슐화(S740) 과정에 삽입한 뒤 송신(S750)할 뿐이므로, 중복된 임시식별자가 사용되더라도 동작에 영향을 받지 아니할 수 있다. 그러나, 도 8에서, 수신측 보안 장치는 수신된 캡슐화된 패킷에 포함된 임시식별자를 목록의 임시식별자와 대조(S840)하여 목록으로부터 삭제(S880)하도록 구성되었으므로, 중복되는 임시식별자가 사용된 두 번째 이후의 캡슐화된 패킷은 부정 패킷으로 오인되어 폐기(S890)될 우려가 있다. 그러나 상기의 실시예에서는, 수신측 보안 장치가 임시식별자를 목록에 저장(S872)할 때, 중복되는 임시식별자에 대해서는 출현 횟수를 카운터(Counter)로서 기록하도록 구성될 수 있다. 예를 들어, 해당 임시식별자 값에 대한 카운터 값을 1 증가시키는 방식으로 저장이 이루어질 수 있다. 이 경우, 임시식별자를 목록에서 삭제하는 단계(S880)는 카운터 값을 1 감소시키는 방식으로 동작할 수 있다. 또한, 임시식별자의 대응 여부를 판단하는 단계(S850)에서는, 임시식별자가 상수신측 임시식별자에 할당된 카운터 값이 1 미만인 경우, 대응하지 않는다고 판단하는 단계를 더 포함할 수 있다.
상기와 같은 실시예의 방법에 의하여 중복된 임시식별자가 삽입된 캡슐화된 패킷의 정상적 수신을 보장할 수 있다. 특히 상기 카운터에 기반한 실시예는, 도 10c와 같이 패킷의 도달 순서가 섞일 수 있는 짧은 구간 내에서 중복된 임시식별자가 사용되는 경우, 동일한 임시식별자를 가진 두 패킷의 도달 순서가 달라지는 경우에도 대응할 수 있게 된다.
본 발명의 바람직한 실시예에 따른 구현 사례 및 실험 결과
본 발명의 실시가능성을 확인하기 위하여, 종래의 Go 언어로 작성된 오픈 소스 MT6D 구현에 상술한 임시식별자에 기반한 방법들을 처리하기 위한 함수들을 추가하여 본 발명의 바람직한 일 실시예를 실제로 구현하였다.
송신측 및 수신측 임시식별자를 생성하기 위해서는 양측이 동일하게 "crypto/sha512" 패키지를 사용하도록 하였다. 즉, 본 실시예에서는 도 11a의 정보집합 대응 관계를 구현하고 있다. 또한, 본 실시예에서는 함수 호출 수를 줄이기 위해 512비트 해시 값으로부터 8개의 64비트 DID를 생성하는 방식을 채택하였다. 이에 따라, 두 개의 DID가 매우 낮은 확률로 같은 값을 가질 수 있으므로, 상술한 바와 같이 카운터를 사용하는 구현 방식을 취하였다.
목표 통신속도가 100Mbps이고 패킷 크기가 1,050바이트라면, 1초에 약 12,000개의 임시식별자가 필요하다. 네트워크 인터페이스서 IPv6 주소를 호핑하여 모호화 주소를 생성하는 간격(LFM 주기)이 10초라고 하면, 10초라는 시간의 구간이 시작되는 시점에 120,000개의 임시식별자를 동시에 생성하도록 하는 것은 비효율적이다. 따라서 본 실시예에서는, 초기 임시식별자의 목록이 24,000개의 임시식별자를 가지도록 하고, 사용되지 않고 남아있는 임시식별자가 12,000개 미만이 될 때마다, 12,000개의 임시식별자를 추가 생성하여 목록에 추가하도록 한다. 즉, 양측의 임계수 n와 임계수 m이 모두 12,000인 것으로 간주하였다.
상기 실시예에 의한 구현 소프트웨어를 Ubuntu 18.04 및 VirtualBox 5.2.42이 동작하는 하나의 호스트 컴퓨터에서 가상 시스템을 사용하여 성능 평가하였다. 상기 컴퓨터는 인텔 제온 E5-2650v4 옥타코어 CPU와 64GB 메모리를 갖추고 있다. VirtualBox에는 두 개의 VM이 생성된다. 각 VM에는 2개의 프로세서와 2GB 메모리가 할당되며, Ubuntu 18.04가 운영체제로 사용된다.
성능 평가를 위해, FTP 서버와 FTP 클라이언트로 각각 사용되는 vsftp와 lftp라는 두 가지 FTP 프로그램을 사용한다. FTP 클라이언트가 전송하는 FTP 패킷의 송신지 인터페이스로 MT6D의 내부 네트워크 인터페이스 또는 숨겨진 네트워크 인터페이스를 지정하기 위하여 lftp를 사용한다.
도 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 시스템의 보안을 크게 향상시킴을 알 수 있다.
본 발명에 의한 NMTD 시스템은 임시식별자의 추가 사용을 통해 공격자가 스캔해야 하는 공간을 크게 늘려서 능동 스캐닝을 수행하는 공격자를 무력화시킨다. 얘를 들어, 상술한 본 발명의 바람직한 실시예에서는, 64비트 IID와 64비트 임시식별자가 지속적으로 변경되기 때문이다. 또한, 본 발명에 의한 NMTD 시스템은 모호화 IPv6 주소와 임시식별자의 쌍인 목적지 식별자가 패킷마다 변경되므로, 수동 스캐닝 중인 공격자가 획득한 식별자를 사용하여 보호 대상인 수신 단말기에 부정 액세스하는 것을 방지한다. 예를 들어, 공격자는 RST 패킷을 주입함으로써 수신측 보안 장치가 부정한 단말기에 다시 연결하도록 유도할 수 없다. 따라서 공격자는 수신측 보안 장치의 패킷이 수신 단말기에 도달하기 전에 획득한 식별자를 재사용하는 경쟁 조건(race condition)을 만들 수 없다.
이상 도면 및 실시예를 참조하여 설명하였지만, 본 발명의 보호범위가 상기 도면 또는 실시예에 의해 한정되는 것을 의미하지는 않으며 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (20)

  1. 수신측 보안 장치, 송신측 보안 장치, 및 적어도 하나의 수신 단말기를 포함하는 네트워크에서 수신측 보안 장치에 의한 패킷의 처리 방법에 있어서,
    상기 적어도 하나의 수신 단말기에 대한 수신 단말기 주소를 획득하는 단계;
    제1 알고리즘에 의해 생성되고, 제1 정보집합에 속하는, 적어도 하나의 수신측 임시식별자를 생성하여 목록에 저장하는 단계;
    적어도 하나의 캡슐화된 패킷을 송신측 보안 장치로부터 수신하는 단계, 상기 캡슐화된 패킷은 헤더, 페이로드, 및 제2 정보집합에 속하는 송신측 임시식별자를 포함함;
    상기 송신측 임시식별자가 상기 목록에 저장된 수신측 임시식별자 중 어느 하나에 대응하는지를 판단하는 단계;
    상기 송신측 임시식별자가 상기 목록에 저장된 수신측 임시식별자 중 어느 하나와 대응하는 경우, 상기 캡슐화된 패킷으로부터 상기 수신 단말기 주소를 포함하는 일반 패킷을 획득하고, 상기 대응하는 수신측 임시식별자를 상기 목록에서 삭제하는 단계; 및
    상기 수신 단말기 주소에 기반하여 상기 일반 패킷을 수신 단말기로 송신하는 단계를 포함하는, 캡슐화된 패킷의 처리 방법.
  2. 제 1 항에 있어서,
    상기 목록은 새로운 상기 수신 단말기 주소가 획득될 때마다 새로 생성되고,
    상기 제1 알고리즘은, 상기 수신 단말기 주소에 대한 상기 목록이 비어 있을 경우 상기 수신 단말기 주소의 전부 또는 일부, 및 현재 시간 정보 중 적어도 하나를 사용하여 새로운 수신측 임시식별자를 생성하고, 상기 목록이 비어 있지 않을 경우, 상기 목록에 이미 저장된 수신측 임시식별자의 전부 또는 일부, 및 현재 시간 정보 중 적어도 하나를 사용하여 새로운 수신측 임시식별자를 생성하도록 구성되는, 캡슐화된 패킷의 처리 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 적어도 하나의 수신측 임시식별자를 생성하여 목록에 저장하는 단계는, 동시에 적어도 제1 임계수 이상 개수의 임시식별자를 연속적으로 생성하여 목록에 저장하도록 구성되고,
    상기 단계는 상기 수신측 임시식별자가 목록에서 삭제되는 동작으로 인하여 목록에 저장된 임시식별자의 개수가 제2 임계수 이하가 될 때마다 반복해서 실행되도록 구성되는, 캡슐화된 패킷의 처리 방법.
  4. 제 1 항에 있어서,
    상기 제2 정보집합은 상기 제1 정보집합에 대하여 동치이거나(G1=G2) 부분집합(G1⊇G2)이고,
    상기 송신측 임시식별자가 상기 목록에 저장된 수신측 임시식별자 중 어느 하나에 대응하는지를 판단하는 단계는, 상기 두 임시식별자가 동일한지 여부를 판단하는 단계를 포함함을 특징으로 하는, 캡슐화된 패킷의 처리 방법.
  5. 제 1 항에 있어서,
    상기 일반 패킷을 획득하는 단계는, 하나 이상의 상기 캡슐화된 패킷으로부터 하나의 상기 일반 패킷을 획득하는 절차를 포함하는, 캡슐화된 패킷의 처리 방법.
  6. 제 1 항에 있어서,
    상기 송신측 임시식별자는,
    1) 상기 캡슐화된 패킷의 가장 앞;
    2) 상기 캡슐화된 패킷의 헤더의 앞 또는 내부;
    3) 상기 캡슐화된 패킷의 페이로드의 앞 또는 내부;
    4) 상기 캡슐화된 패킷의 맨 뒤;
    중 어느 하나의 위치에 저장된 것을 획득함을 특징으로 하는, 캡슐화된 패킷의 처리 방법.
  7. 제 1 항에 있어서,
    상기 목록은, 상기 제1 정보집합의 구성요소와 각 구성요소에 할당되는 카운터(Counter)를 포함하고,
    상기 수신측 임시식별자를 생성하여 상기 목록에 저장하는 단계는, 상기 제1 정보집합에 속하는 어느 하나의 구성요소에 할당된 카운터 값을 1 증가시키는 단계를 포함하고,
    상기 판단하는 단계는, 상기 목록에서 대응하는 수신측 임시식별자에 할당된 카운터 값이 1 미만인 경우, 대응하지 않는다고 판단하는 단계를 더 포함하며,
    상기 수신측 임시식별자를 상기 목록에서 삭제하는 단계는, 상기 목록에서 삭제하는 수신측 임시식별자에 할당된 카운터 값을 1 감소시키도록 구성되는 것을 특징으로 하는, 캡슐화된 패킷의 처리 방법.
  8. 제 1 항에 있어서,
    상기 수신측 보안 장치 및 상기 송신측 보안 장치는 네트워크 주소 변조(Moving Target Defense; MTD)를 활용하는 패킷 중계 장치이고, 상기 캡슐화된 패킷은 상기 MTD 기반의 터널링 패킷 프로토콜에 대응하고, 상기 수신 단말기 주소는 IPv6 주소이고, 상기 캡슐화된 패킷과 일반 패킷 중 적어도 하나는 IPv6 패킷인 것을 특징으로 하는, 캡슐화된 패킷의 처리 방법.
  9. 송신 단말기, 송신측 보안 장치, 및 수신측 보안 장치를 포함하는 네트워크에서 송신측 보안 장치에 의한 패킷의 처리 방법에 있어서,
    제2 알고리즘에 의해 생성되고, 제2 정보집합에 속하는, 적어도 하나의 송신측 임시식별자를 생성하여 목록에 저장하는 단계;
    수신 단말기 주소를 포함하는 적어도 하나의 일반 패킷을 상기 송신 단말기로부터 수신하는 단계;
    상기 목록에서 순서에 따라 하나의 송신측 임시식별자를 선택하고, 상기 선택된 송신측 임시식별자를 상기 목록에서 삭제하는 단계;
    상기 선택된 송신측 임시식별자 및 상기 일반 패킷으로부터 적어도 하나의 캡슐화된 패킷을 생성하는 단계, 상기 캡슐화된 패킷은 헤더, 페이로드, 및 상기 송신측 임시식별자를 포함함; 및
    상기 캡슐화된 패킷을 상기 수신측 보안 장치로 송신하는 단계를 포함하는, 캡슐화된 패킷의 처리 방법.
  10. 제 9 항에 있어서,
    상기 목록은 새로운 상기 수신 단말기 주소가 획득될 때마다 새로 생성되고,
    상기 제2 알고리즘은, 상기 수신 단말기 주소에 대한 상기 목록이 비어 있을 경우 상기 수신 단말기 주소의 전부 또는 일부, 및 현재 시간 정보 중 적어도 하나를 사용하여 새로운 송신측 임시식별자를 생성하고, 상기 목록이 비어 있지 않을 경우, 상기 목록에 이미 저장된 송신측 임시식별자의 전부 또는 일부, 및 현재 시간 정보 중 적어도 하나를 사용하여 새로운 송신측 임시식별자를 생성하도록 구성되는, 캡슐화된 패킷의 처리 방법.
  11. 제 9 항 또는 제 10 항에 있어서,
    상기 적어도 하나의 송신측 임시식별자를 생성하여 목록에 저장하는 단계는, 동시에 적어도 제3 임계수 이상 개수의 임시식별자를 연속적으로 생성하여 목록에 저장하도록 구성되고,
    상기 단계는 상기 송신측 임시식별자가 목록에서 삭제되는 동작으로 인하여 목록에 저장된 임시식별자의 개수가 제4 임계수 이하가 될 때마다 반복해서 실행되도록 구성되는, 캡슐화된 패킷의 처리 방법.
  12. 제 9 항에 있어서,
    상기 제2 정보집합은 제1 정보집합의 구성요소 중 어느 하나에 대응하도록 구성되는, 캡슐화된 패킷의 처리 방법.
  13. 제 12 항에 있어서,
    상기 제2 정보집합은 상기 제1 정보집합에 대하여 동치이거나(G1=G2) 부분집합(G1⊇G2)인 것을 특징으로 하는, 캡슐화된 패킷의 처리 방법.
  14. 제 9 항에 있어서,
    상기 캡슐화된 패킷을 생성하는 단계는, 하나의 상기 일반 패킷을 하나 이상의 상기 캡슐화된 패킷의 페이로드에 나누어 삽입하는 절차를 포함하는, 캡슐화된 패킷의 처리 방법.
  15. 제 9 항에 있어서,
    상기 송신측 임시식별자는,
    1) 상기 캡슐화된 패킷의 가장 앞;
    2) 상기 캡슐화된 패킷의 헤더의 앞 또는 내부;
    3) 상기 캡슐화된 패킷의 페이로드의 앞 또는 내부;
    4) 상기 캡슐화된 패킷의 맨 뒤;
    중 어느 하나의 위치에 삽입되는 것을 특징으로 하는, 캡슐화된 패킷의 처리 방법.
  16. 제 9 항에 있어서,
    상기 수신측 보안 장치 및 상기 송신측 보안 장치는 네트워크 주소 변조(Moving Target Defense; MTD)를 활용하는 패킷 중계 장치이고, 상기 캡슐화된 패킷은 상기 MTD 기반의 터널링 패킷 프로토콜에 대응하고, 상기 수신 단말기 주소는 IPv6 주소이고, 상기 캡슐화된 패킷과 일반 패킷 중 적어도 하나는 IPv6 패킷인 것을 특징으로 하는, 캡슐화된 패킷의 처리 방법.
  17. 송신측 보안 장치, 수신측 보안 장치, 및 적어도 하나의 수신 단말기를 포함하는 네트워크에서의 수신측 보안 장치에 있어서,
    상기 적어도 하나의 수신 단말기에 대한 수신 단말기 주소를 획득하는 네트워크 관리부;
    제1 정보집합에 속하는 적어도 하나의 수신측 임시식별자를 생성하는 임시식별자 생성부;
    적어도 하나의 수신측 임시식별자의 목록을 저장하는 저장부;
    적어도 하나의 캡슐화된 패킷을 상기 송신측 보안 장치로부터 수신하는 수신부, 상기 캡슐화된 패킷은 헤더, 페이로드, 및 제2 정보집합에 속하는 송신측 임시식별자를 포함함;
    상기 송신측 임시식별자가 상기 저장부에 저장된 수신측 임시식별자 중 어느 하나에 대응하는지를 판단하고, 상기 송신측 임시식별자가 상기 저장부에 저장된 수신측 임시식별자 중 어느 하나와 대응하는 경우, 상기 캡슐화된 패킷으로부터 수신 단말기 주소를 포함하는 일반 패킷을 획득하고, 상기 대응하는 수신측 임시식별자를 상기 저장부의 목록에서 삭제하는 처리부; 및
    상기 수신 단말기 주소에 기반하여 상기 일반 패킷을 수신 단말기로 송신하는 송신부를 포함하는, 캡슐화된 패킷의 수신 장치.
  18. 적어도 하나의 송신 단말기, 송신측 보안 장치, 및 수신측 보안 장치를 포함하는 네트워크에서의 수신측 보안 장치에 있어서,
    제2 정보집합에 속하는 적어도 하나의 송신측 임시식별자를 생성하는 임시식별자 생성부;
    적어도 하나의 송신측 임시식별자의 목록을 저장하는 저장부;
    수신 단말기 주소를 포함하는 적어도 하나의 일반 패킷을 상기 송신 단말기로부터 수신하는 수신부;
    상기 저장부의 목록에서 순서에 따라 하나의 송신측 임시식별자를 선택하고, 상기 선택된 송신측 임시식별자를 상기 목록에서 삭제하고, 상기 선택된 송신측 임시식별자 및 상기 일반 패킷으로부터 적어도 하나의 캡슐화된 패킷을 생성하는 처리부, 상기 캡슐화된 패킷은 헤더, 페이로드, 및 상기 송신측 임시식별자를 포함함; 및
    상기 캡슐화된 패킷을 상기 수신측 보안 장치로 송신하는 송신부를 포함하는, 캡슐화된 패킷의 송신 장치.
  19. 송신 단말기, 송신측 보안 장치, 수신측 보안 장치, 및 적어도 하나의 수신 단말기를 포함하는 네트워크 시스템에 있어서,
    상기 송신측 보안 장치는, 적어도 하나의 송신측 임시식별자를 생성하여 목록에 저장하고, 송신 단말기로부터 수신 단말기 주소를 포함하는 일반 패킷을 수신하고, 상기 일반 패킷을 적어도 하나의 상기 송신측 임시식별자를 포함하는 캡슐화된 패킷으로 변환하고, 상기 포함된 송신측 임시식별자를 상기 목록에서 삭제하고, 상기 캡슐화된 패킷을 수신측 보안 장치로 송신하도록 구성되고,
    상기 캡슐화된 패킷은 헤더, 적어도 하나의 페이로드, 그리고 적어도 하나의 송신측 임시식별자를 포함하고,
    상기 수신측 보안 장치는, 적어도 하나의 수신측 임시식별자를 생성하여 목록에 저장하고, 상기 송신측 보안 장치로부터 상기 캡슐화된 패킷을 수신하고, 상기 캡슐화된 패킷에 포함된 상기 송신측 임시식별자가 상기 목록의 상기 수신측 임시식별자 중 적어도 하나와 대응하는지 판단하고, 대응한다고 판단되는 경우에 한해, 상기 대응한다고 판단된 수신측 임시식별자를 상기 목록에서 삭제하고, 상기 캡슐화된 패킷을 일반 패킷으로 변환하고, 상기 일반 패킷을 상기 수신 단말기 주소에 기반하여 상기 수신 단말기로 전송하도록 구성되고,
    상기 송신측 임시식별자는, 상기 송신측 보안 장치에서 제2 알고리즘에 의해 생성되는 제2 정보집합에 속하는 정보이며, 상기 수신측 보안 장치에서 제1 알고리즘에 의해 제1 정보집합 내에서 생성되는 상기 수신측 임시식별자와 대응 관계를 가지며, 임의의 송신측 임시식별자와 임의의 수신측 임시식별자 간의 대응 관계는 상기 수신측 보안 장치에 의하여 판단되도록 구성되고,
    상기 송신측 임시식별자는, 상기 캡슐화된 패킷의 1) 가장 앞, 2) 헤더의 앞 또는 내부, 3) 페이로드의 앞 또는 내부, 4) 맨 뒤 중 어느 하나의 위치에 삽입되는 것을 특징으로 하는, 네트워크 시스템.
  20. 제 19 항에 있어서,
    상기 제1 알고리즘과 상기 제2 알고리즘은 동일한 임시식별자 생성 알고리즘이고, 상기 제2 정보집합은 상기 제1 정보집합에 대하여 동치이거나(G1=G2) 부분집합(G1⊇G2)이고,
    상기 임의의 송신측 임시식별자와 임의의 수신측 임시식별자 간의 대응 관계를 판단하는 방법은, 상기 임의의 송신측 임시식별자와 상기 임의의 수신측 임시식별자가 동일한지를 판단하는 과정을 포함함을 특징으로 하는, 네트워크 시스템.
KR1020220022814A 2022-02-22 2022-02-22 임시식별자를 이용하는 패킷 터널링 네트워크에서의 캡슐화된 패킷 통신 방법 및 장치 KR102676142B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220022814A KR102676142B1 (ko) 2022-02-22 2022-02-22 임시식별자를 이용하는 패킷 터널링 네트워크에서의 캡슐화된 패킷 통신 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220022814A KR102676142B1 (ko) 2022-02-22 2022-02-22 임시식별자를 이용하는 패킷 터널링 네트워크에서의 캡슐화된 패킷 통신 방법 및 장치

Publications (2)

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

Family

ID=87802607

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220022814A KR102676142B1 (ko) 2022-02-22 2022-02-22 임시식별자를 이용하는 패킷 터널링 네트워크에서의 캡슐화된 패킷 통신 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102676142B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210409442A1 (en) 2016-05-19 2021-12-30 Vahid Heydari Moving target defense systems and methods

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101538762B1 (ko) * 2013-06-12 2015-07-24 서정환 캡슐화 프로토콜을 이용하여 클라이언트의 ip 주소를 서버로 전송하는 중계 시스템 및 방법
KR102156206B1 (ko) * 2018-07-03 2020-09-15 주식회사 케이티 종단 간 통신에 보안을 제공하기 위한 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210409442A1 (en) 2016-05-19 2021-12-30 Vahid Heydari Moving target defense systems and methods

Also Published As

Publication number Publication date
KR20230125944A (ko) 2023-08-29

Similar Documents

Publication Publication Date Title
Lucena et al. Covert channels in IPv6
Ahsan Covert channel analysis and data hiding in TCP/IP
Shi et al. Dynamic distributed honeypot based on blockchain
CN110891066B (zh) 一种基于同态加密方案的代理型匿名通信方法
Malekzadeh et al. A new security model to prevent denial‐of‐service attacks and violation of availability in wireless networks
CN105262737B (zh) 一种基于跳通道模式的抵御ddos攻击的方法
Foroushani et al. Deterministic and authenticated flow marking for IP traceback
CN107172030A (zh) 一种高隐秘且抗溯源的通信方法
Chakraborty et al. 6LoWPAN security: classification, analysis and open research issues
Kouachi et al. Per packet flow anonymization in 6lowpan iot networks
Barriga et al. Securing end-node to gateway communication in LoRaWAN with a lightweight security protocol
CN115348118B (zh) 一种基于密码技术的网络地址和端口号隐藏方法
JP4647481B2 (ja) 暗号化通信装置
Gajbhiye et al. DPLPLN: detection and prevention from flooding attack in IoT
KR102676142B1 (ko) 임시식별자를 이용하는 패킷 터널링 네트워크에서의 캡슐화된 패킷 통신 방법 및 장치
Johnson et al. Covert channel using man-in-the-middle over HTTPS
Zheng et al. Application-based TCP hijacking
Raheem et al. A secure authentication protocol for IP-based wireless sensor communications using the Location/ID Split Protocol (LISP)
CN114629667A (zh) 一种基于ip大范围变换的链路动态变化方法
Bhaya et al. Security against Spoofing Attack in Mobile Ad Hoc Network
Heer et al. End-host Authentication and Authorization for Middleboxes based on a Cryptographic Namespace
Soni Moving target network steganography
KR102421722B1 (ko) 네트워크 정보 보호 방법 및 장치
Sarjana et al. Simple prevention of advanced stealth man-in-the-middle attack in WPA2 Wi-Fi networks
Brooks et al. Global Internet Traffic Routing and Privacy

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