본문

Return Routability : MN-CN간의 BU인증절차



[그림 1,3 ] RR 메커니즘에 대한 기본 동작


MN이 handover시에 HA와 CN에게 BU 메시지를 전송하여 이동을 알리게 된다. 이때 HA에게는 Security Association(SA)를 갖고 IPsec Encapsulation Security Payload(ESP)를 이용하여 BU에 대해 보호를 할 수 있다. CN으로의 BU는 라우팅 최적화를 위해 필요한 과정으로 HA를 통한 터널링이 아닌 MN과 CN이 직접 통신한다. CN에서도 HA와 마찬가지로 바인딩 캐시를 통해 MN의 HoA와 CoA를 바인딩 시켜 직접 통신이 가능하게 되는것이다. 이 때 공격자가 BU메시지를 위조하여 CN에게 전송하면 패킷에 대한 기밀성을 침해할 수 있으며, MN의 가용성을 침해할 수 있다. 또한 공격하고자 하는 M의 CoA를 사용해 다수의 CN에게 BU 메시지를 보낼 경우 DoS 공격 역시 이루어질 수 있다. 따라서 MN이 CN에게 BU를 전송하기 위해서는 Return Routability(RR)메커니즘을 사용하여 여러 유형의 공격에서부터 메시지를 보호한다. 


MN이 새로운 라우터로 이동을 확인한 후에 HA와 CN에게 안전하게 BU를 보내야 한다. MN이 HA에게 BU를 보낼 때 ESP를 통하여 안전하게 보낼 수 있지만, CN에게 BU를 전송하기 위해서는 몇가지 절차를 거치게 된다. 이는 CN과 MN의 공유된 key를 얻기 위한 방법으로써 이 key를 통해 MN은 CN에게 BU를 안전하게 전송하게 된다.


먼저 MN은 HA를 통해 CN에게 Home-address Test Init(HOTI)를 보내며, CN에게 직접 CoA Test Init(COTI)를 보내게 된다. CN은 HOTI와 COTI를 수신하게 되면, 임의의 key를 두개 생성하게 된다. CN은 HOTI에 대한 응답으로 Home Test(HOT)메시지를 HA를 통해 MN을 전송하고, COTI에 대한 응답으로 Care-of Test(COT)메시지를 직접 MN에게 전송하게 된다. COT와 HOT에는 CN에서 생성한 임의의 키(Home keygen token, Care-of keygen token)가 각각 포함되어 있으며, MN은 COT와 HOT를 모두 수신한 후에(양방향으로의 접근 가능성을 검사) 이 두 개의 Keygen Token으로 바인딩키(Binding Management Key, Kbm)를 생성하여 CN으로 전송하는 BU메시지를 인증한다. 전송된 키를 이용해서 CN에게 BU를 보낼 수 있다. CN에게 바인딩 정보가 갱신되면 MN와 CN는 Route Optimization 모드가되어 직접적으로 통신이 가능하게 된다.



[그림 2] 추가된 메시지, 바인딩 승인


RR은 MN에서 cookie를 만드는 과정으로 시작된다. cookie는 두개의 임의의 64비트 숫자를 가리키며, MN에서 CN으로 두가지 서로다른 경로를 사용하여 전송된다. 처음 메시지는 HoTi메시지로서 MN-HA간 터널을 통해, 그리고 이는 CN으로 전송이된다. 두번째 메시지는 CoTI메시지로서 이는 CN으로 바로 보내진다. CN이 이 두개의 메시지를 받게되면, HMAC_SHA1을 사용하여 96비트 keygen token을 계산해낸다. 그 후 CN은 이 keygen token, cookies, nounces를 또다시 각기 다른 경로를 통하여(HoT와 CoT 메시지를 사용하여) MN에게 되돌려 준다. MN은 이 토큰들을 이용하여 BU메시지를 구성하며, 이를 통해 CN이 올바른 상대인것으로 보장할 수 있다. - 원문출처 : [그림 3]과 동일


* 관련용어

Home-address Test Init(HoTI) : MN에서 HA를 거쳐, CN에서 키를 얻기위해 보내는 초기화 메시지

Care-of Test Init(CoTI) : MN에서 보내져, CN에서 보내는 키를 얻기위한 초기화 메시지

Home Test(HoT) : CN에서 HA를 거쳐 MN까지 보내는 HoTI에 대한 응답

Care-of Test(CoT) : CN에서 MN까지 보내는 CoTI에 대한 응답

Binding management key(Kbm) : Kbm은 바인딩 캐시 관리 메시지(BU, BAck)를 인증하는데 사용되는 키이다. RR 자체에서 Kbm을 생성하는 방법을 제공한다

Keygen Token : RR도중 CN에의해 만들어지는 수로서, MN의 BU인증시 사용되는 Kbm을 계산하도록 하는데 사용된다.

Nonce : RR과정중, CN에서 Keygen Token을 생성하때 내부적으로 사용되는 무작위 숫자로서, MN 각각에 한정되지 않으며, CN 내부에서 저장되어 내부적으로만 사용된다.



더 자세한 사항과 ns-2 구현물은 [그림 1]의 출처에서 확인할 수 있다.


그림출처 : 

[그림 1] : [22] Mobile IPv6 기반 핸드오버 알고리즘 시뮬레이션 모델 개발, 2006 - 그림 3.16

[그림 2] : [19] Mobile IPv6 (RFC 3775), 2008 - 페이지 11

[그림 3] : IPv6 Mobility overview

댓글

Holic Spirit :: Tistory Edition

design by tokiidesu. powerd by kakao.