상기의 목적을 달성하기 위한 본 발명의 일 측면에 따른 DSTM(Dual Stack Transition Mechanism)환경의 IPv6-IPv4(Internet Protocol version 4-IP version 6) 네트워크에서의 IPv6 패킷 위조 방지 방법은, DSTM 서버가 DSTM 노드로부터 IPv4 주소 할당을 요청받는 과정과, 상기 DSTM 서버가 기 저장된 자신의 동적 주소 테이블을 사용하여 상기 요청이 정당한 요청인지를 판단하는 과정과, 상기 요청이 정당하다고 판단되면, 상기 DSTM 서버가 상기 DSTM 노드에 IPv4 주소를 할당하고, 상기 DSTM 노드의 정보와 해당 DSTM 노드에 할당된 IPv4 주소의 매핑 정보를 포함하도록 상기 동적 주소 테이블을 갱신하는 과정과, 상기 DSTM 서버가 상기 할당한 IPv4 주소를 상기 DSTM 노드에 송신하는 과정과, 상기 DSTM 서버가 상기 갱신된 동적 주소 테이블을 DSTM 경계 라우터에 송신하여 자신의 동적 주소 테이블과 상기 DSTM 경계 라우터의 동적 주소 테이블을 동기화하는 과정을 포함할 수 있다.
상기 DSTM 노드의 정보는, 적어도 상기 DSTM 노드의 맥(Media Access Control; MAC) 주소 및 IPv6 주소를 포함할 수 있다.
상기 DSTM 서버가 상기 DSTM 노드의 요청이 정당한 요청인지를 판단하는 과정은, 상기 DSTM 서버가 상기 DSTM 노드의 맥 주소와 동일한 맥 주소가 자신의 동적 주소 테이블에 포함되어 있는지를 판단하는 과정과, 상기 DSTM 노드의 맥 주소가 자신의 동적 주소 테이블에 포함되어 있다고 판단되면, 상기 DSTM 노드의 IPv6 주소를 자신의 동적 주소 테이블에 포함된, 해당 맥 주소에 대응되는 IPv6 주소와 비교하는 과정과, 상기 비교 결과 상기 DSTM 노드의 IPv6 주소와 자신의 동적 주소 테이블에 포함된 IPv6 주소가 동일하지 않으면, 상기 DSTM 노드의 IPv4 주소 할당 요청은 정당하지 않은 요청이라고 판단하는 과정을 포함할 수 있다.
한편, 상기 DSTM 서버가 상기 DSTM 노드의 요청이 정당한 요청인지를 판단하는 과정은, 상기 DSTM 서버가, 상기 DSTM 노드의 맥 주소가 자신의 동적 주소 테이블에 포함되어 있는지를 판단하는 과정과, 상기 DSTM 노드의 맥 주소가 자신의 동 적 주소 테이블에 포함되어 있지 않다고 판단되면, 상기 DSTM 노드의 IPv6 주소가 자신의 동적 주소 테이블에 포함되어 있는지를 판단하는 과정과, 상기 DSTM 노드의 IPv6 주소가 자신의 동적 주소 테이블에 포함되어 있다고 판단되면, 상기 DSTM 노드의 IPv4 주소 할당 요청은 정당하지 않은 요청이라고 판단하는 과정을 포함할 수 있다.
상기 방법은 상기 DSTM 경계 라우터가 상기 DSTM 서버의 동적 주소 테이블에 동기화된 자신의 동적 주소 테이블을 사용하여 수신되는 패킷이 정당한 패킷인지를 판단하는 과정과, 상기 DSTM 경계 라우터가 상기 정당하다고 판단된 패킷을 포워딩하는 과정을 더 포함할 수 있다.
상기 DSTM 경계 라우터가 상기 수신 패킷이 정당한지를 판단하는 과정은, 상기 수신 패킷의 정보가 상기 자신의 동적 주소 테이블에 포함되어 있으면 해당 패킷을 정당하다고 판단하는 과정을 포함할 수 있다.
상기 DSTM 경계 라우터의 동적 주소 테이블 및 상기 DSTM 노드의 동적 주소 테이블은 타임아웃 항목, 마커 항목을 더 포함할 수 있다.
상기 방법은 상기 DSTM 경계 라우터가 자신의 동적 주소 테이블에 포함된 DSTM 노드로부터의 패킷 수신이 해당 노드에 할당된 타임아웃 시간 내에 이루어지지 않으면, 해당 DSTM 노드를 정당하지 않은 노드라고 판단하는 과정을 더 포함할 수 있다.
상기 방법은 상기 DSTM 경계 라우터가 상기 타임아웃 체크에 의해 정당하지 않다고 판단된 DSTM 노드의 정보를 자신의 동적 주소 테이블에서 삭제하고, 자신의 동적 주소 테이블과 상기 DSTM 서버의 동적 주소 테이블을 동기화시키기 위해 상기 삭제된 DSTM 노드의 정보를 상기 DSTM 서버에 송신하는 과정을 더 포함할 수 있다.
또한, 상기 방법은 해당 DSTM 노드에 할당된 타임아웃 시간 내에 해당 DSTM 노드가 송신한 패킷이 수신되면, 상기 DSTM 경계 라우터가 자신의 동적 주소 테이블의, 해당 DSTM 노드에 대응하는 마커 항목에 소정의 값을 설정하는 과정을 더 포함할 수 있다.
상기 방법은 상기 DSTM 서버가 IPv4 주소를 할당받은 DSTM 노드로부터 자신이 IPv4 주소의 할당을 요청하지 않았음을 통지받으면, 해당 IPv4 주소의 할당을 취소하는 과정을 더 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 측면에 따른 DSTM 환경의 IPv6-IPv4 네트워크에서의 IPv6 패킷 위조 방지 시스템은, DSTM 노드의 정보와 해당 DSTM 노드에 할당된 IPv4 주소의 매핑 정보를 포함하는 동적 주소 테이블을 사용하여, 임의의 DSTM 노드로부터 수신되는 패킷을 인증하고, 인증된 패킷을 포워딩하는 DSTM 경계 라우터와, DSTM 노드로부터 IPv4 주소 할당이 요청되면, 해당 요청이 정당한 요청인지를 판단한 후 정당하다고 판단된 요청에 대응하여 해당 DSTM 노드에 IPv4 주소를 할당하고, 해당 DSTM 노드의 정보와 해당 DSTM 노드에 할당된 IPv4 주소의 매핑 정보를 포함하도록 기 저장된 자신의 동적 주소 테이블을 갱신하고, 상기 갱신된 동적 주소 테이블을 상기 DSTM 경계 라우터에 제공하여 자신의 동적 주소 테이블과 상기 DSTM 경계 라우터의 동적 주소 테이블을 동기화하는 DSTM 서버를 포함할 수 있다.
상기 DSTM 서버는 상기 DSTM 노드의 맥 주소와 동일한 맥 주소가 자신의 동적 주소 테이블에 포함되어 있고, 상기 동적 주소 테이블에 포함된, 상기 맥 주소에 대응하는 IPv6 주소가 상기 DSTM 노드의 IPv6 주소와 동일하지 않으면, 상기 DSTM 노드의 요청은 정당하지 않다고 판단할 수 있다.
상기 DSTM 서버는 상기 DSTM 노드의 맥 주소가 자신의 동적 주소 테이블에 포함되어 있지 않고, 상기 DSTM 노드의 IPv6 주소가 자신의 동적 주소 테이블에 포함되어 있다고 판단되면, 상기 DSTM 노드의 요청은 정당하지 않은 요청이라고 판단할 수 있다.
상기 DSTM 경계 라우터는 자신의 동적 주소 테이블 주소에 포함된 DSTM 노드들 각각에 대해서, 해당 DSTM 노드가 송신한 패킷이 해당 DSTM 노드에 할당된 소정의 타임아웃 시간 내에 수신되는지를 판단하고, 해당 DSTM 노드가 송신하는 패킷이 상기 타임아웃 시간 내에 수신되지 않으면 해당 DSTM 노드는 정당하지 않은 DSTM 노드라고 판단할 수 있다.
상기 DSTM 경계 라우터는 상기 타임아웃 체크 결과 정당하지 않다고 판단된 DSTM 노드를 상기 자신의 동적 주소 테이블에서 삭제하고, 상기 삭제된 DSTM 노드의 정보를 상기 DSTM 서버에 제공할 수 있다.
전술한 바와 같이, 본 발명에 따른 DSTM 환경의 IPv6-IPv4 네트워크에서의 IPv6 패킷 위조 방지 방법 및 그 시스템은 동적 주소 테이블(Dynamic Address Table; DAT)을 사용하여 IPv6 패킷의 위조를 방지함을 특징으로 한다.
DSTM 기술은 기존의 IPv4 시스템들 중 업그레이드가 가능한 노드들을, IPv4 와 IPv6를 모두 지원하는 듀얼 스택 구조로 만들어 IPv6 주소를 할당하여 순수 IPv4 노드와 통신할 수 있도록 하는 방법이다. DSTM 기술은 모든 네트워크가 IPv6으로 가는 마지막 단계에 적용됨이 바람직하다. 이와 같은 경우, DSTM 기술은 IPv6 네트워크의 호스트와 고립된 IPv4 네트워크의 호스트간의 통신을 위해 사용될 수 있다.
이하 첨부한 도면을 참조하여 본 발명을 상세히 설명하도록 한다.
도 1은 본 발명이 적용될 수 있는, DSTM 환경의 IPv6-IPv4 네트워크의 일예를 도시하는 구성도이다.
DSTM 환경의 IPv6-IPv4 네트워크는, 도 1에 도시된 바와 같이, 적어도 하나의 DSTM 노드(100-A, 100-B), DSTM 서버(110), DSTM 경계 라우터(border router; BR)(120) 및 적어도 하나의 IPv4 호스트(130)를 포함하도록 구성될 수 있다. 도 1은 본 발명의 이해를 돕기 위해 제시된 예일 뿐이므로, 본 발명은 이 외에도 다양한 형태의 DSTM 환경의 IPv6-IPv4 네트워크에 적용될 수 있을 것이다.
IPv6 네트워크 도메인의 구성요소인 DSTM 노드(100-A, 100-B)는, DSTM 서버(110)에 IPv4 네트워크와의 통신을 위한 IPv4 주소 할당을 요청하고, DSTM 서버(110)로부터 할당받은 IPv4 주소를 사용하여 IPv4 네트워크 도메인의 IPv4 호스트(130)와 통신할 수 있다.
DSTM 서버(110)는 통신하고자 하는 목적 IPv4 노드의 위치 정보를 알기 위한 DNS(Domain Name Server) 기능, IPv4 호스트와의 통신을 위해 필요한 IPv4 주소의 할당과 관련된 DHCPv6(Dynamic Host Configuration Protocol version 6) 기능, IPv4 주소 풀(pool) 기능 등을 수행할 수 있다.
DSTM 서버(110)는 DSTM 노드(100-A, 100-B)로부터 IPv4 주소 할당이 요청되면, 해당 요청에 대응하여 해당 DSTM 노드(100-A, 100-B)에 IPv4 주소를 할당할 수 있다. DSTM 서버(110)는 DSTM 노드(100-A, 100-B)로부터의 IPv4 주소 할당에 대해 해당 요청이 불법적인 요청이 아닌 정당한 요청인지, 즉, 해당 DSTM 서버(110)의 도메인 내에 존재하는 DSTM 노드(100-A, 100-B)로부터의, 정상적인 절차에 따른 요청인지를 판단할 수 있다. DSTM 노드(100-A, 100-B)로부터의 요청이 정당한 요청인지를 판단한 DSTM 서버(110)는, 해당 요청이 정당한 요청이면 DSTM 노드(100-A, 100-B)에 IPv4 주소를 할당하고, 해당 요청이 정당한 요청이 아니면 IPv4 주소를 할당하지 않는다.
특히, 본 발명에서의 DSTM 서버(110)는, DSTM 노드(100-A, 100-B)로부터의 IPv4 주소 요청이 정당한 요청인지를 판단하기 위해 동적 주소 테이블을 사용할 수 있다. 동적 주소 테이블은 현재 DSTM 서버(110)의 IPv4 주소 할당 현황 정보를 포함할 수 있다. 즉, 동적 주소 테이블은 현재 IPv4 주소를 할당받고 있는 DSTM 노드들의 정보와, 각 노드들에 할당된 IPv4 주소의 매핑 관계에 관한 정보 등을 포함할 수 있다.
본 발명에 따른, DSTM 서버(110)가 사용하는 동적 주소 테이블을, 하기의 표 1이 보이는 예를 참조하여 설명하도록 한다.
Index |
MAC address |
IPv6 address |
IPv4 address |
Timeout |
Marker |
1 |
|
|
|
|
|
2 |
|
|
|
|
|
... |
|
|
|
|
|
n |
|
|
|
|
|
표 1은 동적 주소 테이블의 구성예를 보이고 있다. 표 1의 예와 같이, 본 발명을 위한 동적 주소 테이블은, DSTM 서버(110)로부터 IPv4 주소를 할당받은 DSTM 노드의 정보인 맥(Media Access Control; MAC) 주소, IPv6 주소 등의 정보와 함께 해당 DSTM 노드에 할당된 IPv4 주소 정보를 포함할 수 있다. 또한, 동적 주소 테이블은 각각의 DSTM 노드에 할당된 타임아웃 및 마커(marker)를 더 포함할 수 있다. 타임아웃 및 마커는 DSTM 노드로부터의 IPv4 주소 요청에 대한 정당성 여부를 판단하기 위해 사용될 수 있다. 타임아웃 체크는 IPv4 주소가 할당된 후 소정의 시간 내에 해당 IPv4 주소를 사용하는 패킷이 DSTM 경계 라우터(120)를 통해 라우팅되지 않으면, 해당 IPv4 주소가 정당하지 않은 요청에 의해 할당되었다고 판단하는 것이다. 마커는 타임아웃 체크 결과 정당하다고 판단되었음을 표시하기 위해 사용된다.
타임아웃 체크는 DSTM 경계 라우터(120)에서 수행될 수 있다. 타임아웃 체크에 대해서는 이후 DSTM 경계 라우터(120)의 설명 시에 자세히 설명될 것이다. DSTM 서버(110)의 동적 주소 테이블은 IPv4 할당 과정에서 수시로 갱신될 수 있으며, DSTM 경계 라우터(120)의 동적 주소 테이블과 동일한 내용을 포함하도록 동기화될 수 있다.
DSTM 서버(110)의 동적 주소 테이블은 DSTM 서버(110)에 의해 구성되고 갱신될 수 있다. 하기에서는 DSTM 서버(110)에 의한 동적 주소 테이블의 갱신에 대해 설명하도록 한다. 또한, DSTM 서버(110)의, 동적 주소 테이블을 사용한, DSTM 노드로부터의 IPv4 주소 할당 요청의 정당성 판단에 대해서도 설명하도록 한다. 설명의 이해를 돕기 위해, DSTM 노드 A(100-A)의 IPv4 주소 할당 요청에 따른 IPv4 주소 할당이 예로 사용될 것이다.
먼저, 동적 주소 테이블의 갱신에 대해 설명하도록 한다.
DSTM 서버(110)는 DSTM 노드 A(100-A)로부터 IPv4 주소 할당을 요청받으면, 해당 요청이 정당한 요청인지를 판단한다. DSTM 서버(110)는 DSTM 노드 A(100-A)의 요청이 정당한 요청인지를 판단하기 위해 동적 주소 테이블을 사용할 수 있다.
DSTM 서버(110)는, DSTM 노드 A(100-A)의 정보를 자신이 미리 저장하고 있는 동적 주소 테이블에 포함된 정보와 비교하여 DSTM 노드(100-A)의 요청이 정당한 요청인지를 판단할 수 있다. 여기서, DSTM 서버(110)가 사용하는 DSTM 노드 A(100-A)의 정보는, IPv4 주소 할당 요청과 함께 DSTM 서버(110)에 전송될 수 있을 것이다.
DSTM 서버(110)에 의한, IPv4 주소 할당 요청의 정당성 판단을 구체적으로 설명하면 다음과 같다. 하기에서는 맥 주소 및 IPv6 주소가 DSTM 노드의 정보로 사용되는 경우에 대해 설명할 것이다.
먼저, 위조된 IPv6를 사용하여 IPv4 주소 할당이 요청된 경우에 대해 설명한다.
DSTM 서버(110)는, IPv4 주소 할당을 요청한 DSTM 노드 A(100-A)의 맥 주소, 즉 DSTM 노드 A(100-A)의 맥 주소와 동일한 맥 주소가 자신의 동적 주소 테이블에 포함되어 있는지를 판단한다. DSTM 서버(110)는, DSTM 노드 A(100-A)의 맥 주소가 자신의 동적 주소 테이블에 포함되어 있다면, 동적 주소 테이블에 포함된, 해당 맥 주소에 대응하는 IPv6 주소가 DSTM 노드 A(100-A)의 IPv6 주소와 동일한지를 판단한다. 이때, IPv6 주소가 위조된 주소라면, 두 IPv6 주소들은 서로 다를 것이다. 이 경우, DSTM 서버(110)는 DSTM 노드 A(100-A)의 요청은 정당하지 않은 요청이라고 판단할 수 있다. 한편, DSTM 서버(110)는 임의의 맥 주소-IPv6 주소 쌍이 동적 주소 테이블에 포함되어 있는 상태에서 해당 주소쌍과 동일한 주소쌍을 가지는 DSTM 노드로부터 IPv4 주소 할당이 요청되면, 해당 요청을 거부할 수 있다. 그 이유는 하나의 맥 주소-IPv6 주소 쌍에는 하나의 IPv4 주소가 할당될 수 있기 때문이다.
다음으로, 위조된 맥 주소를 사용하여 IPv4 주소 할당이 요청된 경우에 대해 설명한다.
DSTM 서버(110)는, DSTM 노드 A(100-A)의 맥 주소가 자신의 동적 주소 테이블에 포함되어 있지 않으면, 자신의 동적 주소 테이블을 검색하여 DSTM 노드 A(100-A)의 IPv6 주소가 자신의 동적 주소 테이블에 포함되어 있는지를 판단한다. DSTM 서버(110)는, DSTM 노드 A(100-A)의 맥 주소가 동적 주소 테이블에 포함되어 있지 않은 상태에서 DSTM 노드 A(100-A)의 IPv6 주소만이 동적 주소 테이블에 포함되어 있다면, DSTM 노드 A(100-A)의 요청은 정당한 요청이 아니라고 판단할 수 있다.
다음으로, 위조된 맥 주소 및 위조된 IPv6 주소를 사용하여 IPv4 주소 할당이 요청된 경우에 대해 설명한다.
DSTM 서버(110)는 DSTM A(100-A)의 맥 주소 및 IPv6 주소 모두가 자신의 동적 주소 테이블에 포함되어 있지 않다면, 일단, DSTM A(100-A)에 의한 IPv4 주소 할당 요청이 정당한 요청이라고 판단할 수 있다. 이때, DSTM 서버(110)는 DSTM A(100-A)에 대해 IPv4 주소를 할당한다. 그리고, DSTM 서버(110)는 할당한 IPv4 주소를 DSTM A(100-A)에 송신한다.
그런데, 만약 DSTM 서버(110)가 DSTM 노드 A(100-A)로부터 받았다고 판단한 IPv4 주소 할당 요청이 진짜 DSTM 노드 A(100-A)로부터의 정당한 IPv4 주소 할당 요청이 아니었다면, 맥 주소 및 IPv6 주소를 위조하여 불법적으로 IPv4 주소 할당을 요청한 노드는 할당된 IPv4 주소를 전송받지 못한다. IPv6 환경에서는 기본적으로 MAC cache poisoning 공격이 불가능하기 때문이다.
위조된 맥 주소가 DSTM 서버(110)의 도메인 내에 있지 않은 맥 주소라면, 해당 맥 주소에 할당된 IPv4 주소는 해당 맥 주소에 전송되지 못한다. 또한, 위조된 맥 주소가 DSTM 서버(110)와 동일한 도메인 내에 있다 해도, DSTM 서버(110)가 할당한 IPv4 주소는 IPSec를 통해 암호화되어 전송되므로, 다른 노드가 해당 IPv4 주소를 알 수 없다.
즉, 위조된 맥 주소 및 위조된 IPv6 주소를 사용한 IPv4 주소 할당 요청에 대응하여 할당된 IPv4 주소는, 해당 요청을 한 노드에 전송되지 않는다. 따라서, 정당하지 않은 IPv4 주소 할당 요청에 의해 할당된 IPv4 주소를 통해서는 패킷의 전송이 수행되지 않을 것이다. 즉, IPv4 주소를 할당받은 DSTM 노드가 소정의 시간이 경과하도록 해당 IPv4 주소를 사용하여 패킷을 송신하지 않는다면, 해당 DSTM 노드로부터의 IPv4 주소 할당 요청은, 정당하지 않은 요청이라고 판단될 수 있다.
이러한 경우를 판단하기 위해 사용될 수 있는 것이, 동적 주소 테이블의 타임아웃 정보이다. 타임아웃 정보를 사용한 타임아웃 체크는, DSTM 경계 라우터(120)에 의해 수행될 수 있다.
DSTM 경계 라우터(120)는 패킷이 수신되면, 해당 패킷이 정당한 패킷인지를 판단하는 인증 과정을 수행하고, 정당한 패킷이라고 판단된 패킷을 포워딩한다. DSTM 경계 라우터(120)는 수신되는 패킷을 인증하기 위해 자신의 동적 주소 테이블을 사용한다. DSTM 경계 라우터(120)는 패킷이 수신되면, 자신의 동적 주소 테이블을 검색하여 수신된 패킷을 송신한 DSTM 노드의 정보가 자신의 동적 주소 테이블에 포함되어 있는지를 판단한다. DSTM 경계 라우터(120)는 송신 DSTM 노드의 정보가 자신의 동적 주소 테이블에 포함되어 있으면, 해당 DSTM 노드로부터 수신한 패킷은 정당한 패킷이라고 판단할 수 있다.
이때, DSTM 경계 라우터(120)에 의해 정당한 패킷이라고 판단되는 패킷에는, DSTM 서버(110)에 의해 할당된 IPv4 주소를 사용하여 전송되는 패킷이 포함될 수 있다. 즉, DSTM 경계 라우터(120)는, 수신되는 패킷을 인증하기 위해, DSTM 서버(110)가 할당한 IPv4 주소 정보들을 알고 있어야 한다. DSTM 경계 라우터(120)는 DSTM 경계 라우터(120)의 동적 주소 테이블과 DSTM 서버(110)의 동적 주소 테이블의 동기화를 통해 DSTM 서버(110)가 할당한 IPv4 주소 정보들을 알 수 있다. 두 동적 주소 테이블의 동기화를 위해서, DSTM 서버(110)의 동적 주소 테이블이 갱신되면, 갱신된 DSTM 서버(110)의 동적 주소 테이블이 DSTM 경계 라우터(120)에 제공되고, DSTM 경계 라우터(120)의 동적 주소 테이블이 갱신되면, 갱신된 DSTM 경계 라우터(120)의 동적 주소 테이블이 DSTM 서버(110)에 제공될 수 있다. 이때, 두 동적 주소 테이블의 동기화를 위해서는 갱신된 동적 주소 테이블 전체가 DSTM 서버(110)와 DSTM 경계 라우터(120)간에서 교환되는 것보다는 삭제되거나 추가되는 등의, 갱신된 데이터 데이터만이 교환되는 것이 바람직할 것이다.
DSTM 경계 라우터(120)는, 수신된 패킷의 정보(예를 들면, 해당 패킷을 송신한 DSTM 노드의 정보)가 자신의 동적 주소 테이블에 포함되어 있지 않거나, 해당 패킷의 정보가 자신의 동적 주소 테이블의 정보와 일치하지 않으면, 해당 패킷은 정당하지 않은 불법 패킷이라고 판단한다. 여기서, 정당하지 않은 패킷이라는 것은, 해당 패킷이 DSTM 서버(110)로부터 정당하게 할당받은 IPv4 패킷을 사용하여 전송된 패킷이 아니라는 의미이다. 이때, DSTM 경계 라우터(120)는, 정당한 IPv4 할당 요청 없이 발생한 IPv4 주소 할당에 대해서 DSTM 서버(110)에게 통보하여 DSTM 서버(110)의 IPv4 주소 고갈을 막을 수 있다.
또한, DSTM 경계 라우터(120)는, 앞서 언급한 바와 같이, 타임아웃 체크를 수행할 수 있다. DSTM 경계 라우터(120)는 자신의 동적 주소 테이블에 포함된 IPv4 주소 중에, 할당된 후 소정의 시간이 경과되도록 패킷 전송에 사용되지 않은 IPv4 주소가 있다면, 해당 IPv4 주소는 정당하지 않은 요청에 대응하여 할당된 주소라고 판단할 수 있다. 타임아웃 시간은 할당 가능한 IPv4 주소의 총량, 현재 할당 가능한 IPv4 주소의 잔여량 등의 시스템 특성을 고려하여 설정될 수 있다. 타임아웃 시간은, IPv4 주소를 할당하는 DSTM 서버(110)에 의해 설정됨이 바람직할 것이다.
DSTM 경계 라우터(120)는 타임아웃 체크 결과, 임의의 IPv4 주소가 정당하지 않은 요청에 대응하여 할당된 주소라고 판단되면, 해당 IPv4 주소 및 해당 IPv4 주소와 대응하는 정보들을 자신의 동적 주소 테이블에서 삭제한다. 또한, DSTM 경계 라우터(120)는 타임아웃 체크 결과에 의해 자신의 동적 주소 테이블이 갱신되면, 갱신된 자신의 동적 주소 테이블을 DSTM 서버(110)에 제공하여 자신의 동적 주소 테이블과 DSTM 서버(110)의 동적 주소 테이블이 동기화될 수 있도록 한다.
한편, 도 1에는 본 발명에 따른 과정들이 화살표로 도시되어 있다.
1번 과정은 DSTM 노드가 DSTM 서버(110)에게 IPv4 주소를 요청하는 과정을 보여준다. 여기서 DSTM 노드는 특정 DSTM 노드가 아닌 DSTM 서버(110)와 동일한 도메인에 포함되는 임의의 DSTM 노드이므로, DSTM 노드에 대해서는 참조부호를 생략하도록 한다.
DSTM 노드로부터 IPv4 주소 할당을 요청받은 DSTM 서버(110)는, IPv4 주소를 요청한 DSTM 노드의 맥 주소와 IPv6 주소 및 해당 DSTM 노드에 할당되는 IPv4 주소의 쌍 모두를 매핑할 수 있는 동적 주소 테이블을 구성한다. 이 동적 주소 테이블은 IPv4 주소를 요청하는 DSTM 노드의 MAC 주소를 기반으로 동적인 갱신 과정을 가진다. 즉, DSTM 서버(110)는 DSTM 노드가 IPv4 주소를 요청하는 경우마다 자신의 동적 주소 테이블에서 해당 DSTM 노드의 맥 주소와 IPv6 주소의 중복을 차례대로 검사한다.
동적 주소 테이블은, 표 1에 보여진 바와 같이, 맥 주소, IPv6 주소, IPv4 주소, 타임아웃(Timeout) 정보 및 마커를 포함할 수 있다. 타임아웃 정보는, 전술한 바와 같이 타임아웃 체크를 위해 사용된다. 타임아웃 시간 내에 DSTM 경계 라우터(120)에 의해서 라우팅된 패킷에 대해서는 마커가 설정되고 타임아웃은 무시된다. 일반적으로, 타임아웃 체크에서 통과되면, 마커는 "1"로 설정되지만, 그 값은 시스템의 설정에 따라 변경될 수 있다.
과정 2는 DSTM 노드의 IPv4 주소 요청에 의해 동적 주소 테이블을 생성한 DSTM 서버(110)가 자신의 동적 주소 테이블을 DSTM 경계 라우터(120)의 동적 주소 테이블과 공유하는 과정이다. 이 과정은 두 동적 주소 테이블의 동기화를 통해 수행된다. 즉, DSTM 서버(110) 및 DSTM 경계 라우터(120)는 자신들의 동적 주소 테이블에서 내용의 삭제, 추가 또는 변경 등의 갱신이 발생하면, 해당 갱신 정보를 상대에게 제공함으로써 자신의 동적 주소 테이블을 상대의 동적 주소 테이블과 동일하게 유지할 수 있다.
과정 3은 DSTM 노드가 요청한 IPv4 주소를 할당받는 과정이다.
4번과 5번 과정은 할당받은 IPv4 주소를 가진 DSTM 노드가 DSTM 경계 라우터(120)를 통해 IPv4 네트워크로 통신을 시도하는 과정이다. 이때 DSTM 경계 라우터는 DSTM 서버(110)와 공유하고 있는 동적 주소 테이블을 사용하여 현재 자신을 경유하는 IPv6 패킷의 정당성을 검사한다.
마지막으로 과정 3-1은, DSTM 서버(110)가 위조된 맥을 가진 부당한 DSTM 노드의 IPv4 주소 요청에 대응하여 할당한 IPv4 주소를, 실제 맥 주소를 가진 DSTM 노드에게 전송하는 경우이다. 이때 자신의 요청 없이 IPv4 주소를 할당받은 DSTM 노드 B(100-B)는 IPv4 주소 요청 없이 주소가 할당되었음을 DSTM 서버(110)에게 통지함으로서 할당된 IPv4를 취소할 수 있다. DSTM 노드 B(100-B)로부터 자신이 요청하지 않았음을 통지받은 DSTM 서버(110)는 DSTM 노드 B(100-B)에 할당된 IPV4 주소를 취소할 수 있다.
전술한, 본 발명에 따른 DSTM 환경의 IPv6-IPv4 네트워크에서의 IPv6 패킷 위조 방지를 위한 과정들을, 하기의 도 2를 참조하여 설명하면 다음과 같다.
도 2는 본 발명의 일 실시예에 따른, DSTM 환경의 IPv6-IPv4 네트워크에서의 IPv6 패킷 위조 방지 과정들을 도시하는 순서흐름도이다.
DSTM 노드가 DSTM 서버에게 IPv4 주소 할당을 요청한다(S200). IPv4 주소 할당 요청을 받은 DSTM 서버(110)는, 해당 요청이 정당한 요청인지를 판단하고, 정당한 요청에 대해 IPv4 주소를 할당하고, 할당된 IPv4 주소의 매핑 정보를 포함하도록 자신의 동적 주소 테이블을 갱신한다(S202). DSTM 서버(110)는 DSTM 경계 라우터(120)와의 동적 주소 테이블 동기화를 수행한다(S204). DSTM 서버는 IPv4 주소 할당을 요청한 DSTM 노드에게 할당된 IPv4 주소를 통보한다(S206). DSTM 경계 라우터(120)가 자신의 동적 주소 테이블을 사용하여, 타임아웃 체크 및 수신한 패킷에 대한 인증을 수행한다(S208). DSTM 경계 라우터(120)는 패킷의 인증이 성공했는지를 판단하고(S210), 인증된 패킷을 포워딩한다(S212). 한편, DSTM 경계 라우터(120)는 인증되지 않은 패킷에 대해서는, 해당 패킷을 송신한 DSTM 노드에 할당된 IPv4 주소를 취소하고, 그 결과를 반영하여 자신의 동적 주소 테이블을 갱신한 후 DSTM 서버(110)의 동적 주소 테이블과 자신의 동적 주소 테이블을 동기화한다(S210).
전술한 바와 같이 본 발명은, 동적 주소 테이블을 사용함으로써 별도의 부가적인 보안 프로토콜이나 암호화 기법 없이 IPv6 패킷의 위조를 통한 정당하지 않은 IPv4 주소의 할당 요청을 검출하고, 정당한 IPv4 주소 할당 요청에 대해서만 IPv4 주소를 할당함으로써 IPv4 주소의 고갈을 방지할 수 있다.