s e a d secure efficient distance vector routing for mobile wireless ad hoc networks
DESCRIPTION
S E A D Secure Efficient Distance Vector Routing for Mobile Wireless Ad Hoc Networks. Yih-Chun Hu David B. Johnson Adrian Perrig Rice University Rice University University of California, Berkeley - PowerPoint PPT PresentationTRANSCRIPT
S E A D
Secure Efficient Distance Vector Routingfor Mobile Wireless Ad Hoc Networks
Master CourseNetwork & Information Security LabLee. pung. ho
In Proceedings of the 4th IEEE Workshop on Mobile Computing Systems and Applications (WMCSA 2002), IEEE, Calicoon, NY
Yih-Chun Hu David B. Johnson Adrian Perrig Rice University Rice University University of California, [email protected] [email protected] [email protected]
2Network & Information Security LabNetwork & Information Security Lab
CONTEXT
1. INTRODUCTION 2. RELATED WORK
21. Ad-Hoc Network 2.1 DSDV 2.3 Simple Cryptography for Distance Vector Routing
3. SEAD(Secure Efficient Ad hoc Distance vector routing protocol)
4. CONCLUSION
3Network & Information Security LabNetwork & Information Security Lab
1. INTRODUCTION
Abstract DSDV 기반으로 One-way hash chain 을 사용하여 Ad-Hoc
네트워크 인증과 데이터 무결성을 제공하기 위해 제안된 프로토콜
DSDV Problem DSDV 는 Network 에서의 Routing 만을 제공하는 것이
목적인 Routing Protocol 이므로 Routing Table 위조와 같은 공격에 취약함
Solution Hash Chain 기법을 사용 , 사전에 인증된 Node 사이에 Hash
Chain 값을 배분 , Routing Table 에 Hash 값을 추가하여 , 무결성 여부로 Routing Table 의 인증여부 판별
4Network & Information Security LabNetwork & Information Security Lab
2. RELATED WORK
2.1 Ad-Hoc Network 기존의 네트워크와 달리 네트워크 인프라가 구축되지
않은 상태에서 단말들이 상호간에 데이터 송 / 수신을 수행할 수 있는 형태의 네트워크
기지국이나 AP(Access Point) 가 존재하지 않음 각각의 단말 node 들이 Routing 역할을 수행 동적인 Topology 를 소유
Problem 불안정한 링크 소유 : 무선을 이용하므로 대역폭 , 거리의
제한을 받고 , 간섭 / 다중링크 문제점이 존재 도청에 취약 : 유선매체가 아닌 무선매체로 인한 통신 이므로
중간에 도청 당할 위험성 존재 한정된 자원 : Power, memory, computing 능력 등 기존의
네트워크와 달리 자원이 한정됨 .
5Network & Information Security LabNetwork & Information Security Lab
2. RELATED WORK
2.2 DSDV(Destination-Sequence Distance Vector) DSDV 개요
Distance Vector Routing 기반의 Routing Ad-hoc Network 에서 보편적으로 사용되는 Routing Protocol Distance Vector Routing 와 마찬가지로 Metric 과 Sequence Numb
er 를 사용
DSDV 동작과정 주기적으로 경로상에 포함된 Node 들간에 Routing table 를 전달 가장 최단경로 (Low metric) 로 Routing table 이 포함된
패킷을전송 만일 같은 metric 을 가진 packet 가 전송 될 경우 High Sequence
Number 를 가진 패킷을 수신
6Network & Information Security LabNetwork & Information Security Lab
2. RELATED WORK
2.2 DSDV(Destination-Sequence Distance Vector) DSDV 구성요소
Route Table Entry: Destination’s address Destination 까지의 Hop count Sequence number (Destination node 에서 생성 )
Sequence number 오래된 Entry 와 새로운 Entry 를 구분 (Advertisement 할 때 마다 s
equence num 증가 ) Destination 에서 할당 ( 짝수 ) Broken link 가 감지되었을 경우 Metirc 을 무한대로하고 Detecting
host 에 의해 홀수 Seq num 할당
7Network & Information Security LabNetwork & Information Security Lab
2. RELATED WORK
2.2 DSDV(Destination-Sequence Distance Vector) Route update information Type
Full dump 모든 이용 가능한 routing information
Incremental Last full dump 이후 바뀐 정보 Network 의 상태가 변한 경우 (e.g 노드가 이동 ) 사용
8Network & Information Security LabNetwork & Information Security Lab
2. RELATED WORK
2.2 DSDV(Destination-Sequence Distance Vector)
Destination Next Hop Metric Seq. No
N4 N4 0 40
N1 N2 2 12
N2 N2 1 56
N3 N2 2 71
N5 N6 2 39
N6 N6 1 07
N7 N6 2 12
N8 N6 3 05
N3
N6
N2
N1N7
N4
N8
N5
Destination Metric Seq. No
N4 0 40
N1 2 12
N2 1 56
N3 2 71
N5 2 39
N6 1 07
N7 2 12
N8 3 05
(b) N4 node 의 Routing table (Full dump)
(a)
(b) (c)
(a) 네트워크 토플로지
(c) N4 node 가 이웃 node 와 주고받는 Distance-Vector (Incremental)
9Network & Information Security LabNetwork & Information Security Lab
2. RELATED WORK
2.2 DSDV(Destination-Sequence Distance Vector
MH1 에 의해 update 가 발생하고 MH7 과 MH8 에 브로드캐스트 Broken link 가 감지된 경우
MH2 에 의해 홀수 seq num 과 무한대 metric 을 가진 incremental update 발생 Update 가 network 에 propagate
N3
N6
N2
N1N7
N4
N8
N5
N1
10Network & Information Security LabNetwork & Information Security Lab
2. RELATED WORK
2.2 DSDV(Destination-Sequence Distance Vector
Destination Next Hop Metric Seq. No
N4 N4 0 51
N1 N2 3 23
N2 N2 1 67
N3 N2 2 82
N5 N6 2 50
N6 N6 1 18
N7 N6 2 23
N8 N6 3 16
(b) Update 이후의 N4 node 의 Routing table
(a)
(b)(a) Update 이후의 네트워크 토플로지
N3
N6
N2
N7
N4
N8
N5
N1
11Network & Information Security LabNetwork & Information Security Lab
2. RELATED WORK
2.2 DSDV(Destination-Sequence Distance Vector DSDV 의 위와 같은 특징을 이용하여 공격이 가능
DSDV Routing protocol 의 취약점 Blackhole attack
Distance Vector Routing 이 가장 짧은 metric 를 이용하는 점을 공격 최단거리를 표시한 패킷을 배포해서 가능한 많은 트래픽을 유도
Inject routing loops Looping 방지목적으로 쓰이는 Sequence Number 를 조작함으로써
Looping 을 일으키는 공격을 수행 Inject a large number of route updates
Node 간에 Routing update 를 수행하려 할 때 , Metric 값을 조정함으로써 Routing update 를 실패하게 하거나 , 엉뚱한 곳으로 트래픽을 유도
12Network & Information Security LabNetwork & Information Security Lab
2. RELATED WORK
2.2 DSDV(Destination-Sequence Distance Vector Solution
Node 들 간에 Routing update 를 수행 할때 Metric 과 Sequence Number 의 무결성을 검증함으로써 Node 간에 인증을 수행
Metric 값과 Sequence Number 값의 무결성을 인증하는 기법으로 Hash Chain 기술을 적용하여 이러한 문제점들을 해결
13Network & Information Security LabNetwork & Information Security Lab
2. RELATED WORK
2.3 Simple Cryptography for Distance Vector Routing Hash 기법을 사용한 Routing Table 무결성 인증의 예
두 Node 간에 Hash 값을 사용하기로 약속되어 있다고 가정
1)
2)
Packet(table(B,1,B,2,34546354))
B
destination metric Next hop Seq # hash value
B 1 B 2 34546354
송신자는 metric 1, Sequence Number 2 를 hash 해서 암호문을 만들어 Packet 에 첨부 하여 전송
수신자는 전송 받은 metric 1, Sequence Number 2 를 hash 해서 H(m,s) 값을 생성함
A B
14Network & Information Security LabNetwork & Information Security Lab
2.3 Simple Cryptography for Distance Vector Routing 3) 수신자 B 는 송신자 A 가 전송한 H(m,s) 와 자신이 hash
해서 만든 H(m,s) 를 비교함 만일 2 개의 값이 일치하지 않으면 무결성에 문제가 있는
것으로 간주
단순 hash 를 이용한 무결성 인증은 충돌쌍이 존재하므로 그대로 적용불가 .
예 )H(128)= 34567128 이 아닌 다른값 (512) 을 hash 해서H(512)=34567
충돌쌍 문제를 해결하기 위해 hash 를 연쇄적으로 사용한 hash cha 기법으로 충돌쌍 문제를 해결
Collisions for Hash Functions MD4, MD5, HAVAL-128 and RIPEMD- 에서 Hash 의 종류인 MD5, MD4 의 충돌쌍 발견에 대한 내용언급
2. RELATED WORK
15Network & Information Security LabNetwork & Information Security Lab
2. RELATED WORK
2.3 Simple Cryptography for Distance Vector Routing Hash Chain Mechanism
hash chain 의 구조 Hash 초기 hash 값을 를 연쇄적으로 hash 하여 chain 형태로 만든 Mechanis
m
hi-1 = H[hi] h5 => h4 => h3 => h2 => h1 => h0
이 hash chain 은 hash 의 one-way 특징이 있기 때문에 hi 에서 hi-1 을 만들 수 있지만 , 역으로 hi-1 에서 hi 값을 만들 수 없음
16Network & Information Security LabNetwork & Information Security Lab
3. SEAD
SEAD Secure Efficient Ad hoc Distance vector routing protocol Hash chain 를 사용한 node 간에 무결성 인증법
metric 과 Sequence Number 에 해당되는 hash 암호문을 보냄으로써 무결성 확보
Each node N forms a one-way hash chain
Vkn, Vkn-1, … , Vo (with Vi-1 = H[Vi])
k : maximum node
n : maximum sequence number
Vo : authenticated seed value (by using CA)
Vks+j : sequence number s && metric m
k-m=j
17Network & Information Security LabNetwork & Information Security Lab
예 ) 5 개의 Node 들이 3 까지의 Sequence Number 값을 주고 받는다고 가정
k = 5, n =3 -> v15, v14, v13, v12, ……..v0 까지의 hash 값이 존재
v14 = H[v15] , v13 = H[v14], v12 = H[v13] … Vi-1 = H[Vi])
A B C D E
3. SEAD
18Network & Information Security LabNetwork & Information Security Lab
V0 값은 각각의 hash chain(V15..V1) 까지의 무결성 증명에 사용 ( 모든 node 들은 hash 값의 무결성 인증을 위해 v0 값을 사용함 )
Metric m 과 Sequence Number s 의 무결성을 인증 받기 위해서는 Vks+j 번째의 hash 암호문을 전송해야 함
예 ) metric 0, Sequence Number 0 전송시 무결성 인증 법 metric 0 , Sequence Number 0 인 경우 , j = k-m Vks+j 이므로 , metric 0, Sequence Number 0 에 해당되는 hash chain value 는 V5 metric 1, Sequence Number 0 에 해당되는 hash chain value 는 V4 metric 2, Sequence Number 0 에 해당되는 hash chain value 는 V3 metric 3, Sequence Number 0 에 해당되는 hash chain value 는 V2
m=0 m=1 m=2 m=3 m=4
S=2 V15 V14 V13 V12 V11
S=1 V10 V9 V8 V7 V6
S=0 V5 V4 V3 V2 V1
K=5, n=3 이라고 가정할 때의 SEAD Table
3. SEAD
19Network & Information Security LabNetwork & Information Security Lab
Node D 가 다른 node 에게 node E 에 대한 routing 정보를 전송함을 가정
모든 node 들이 위에서 만든 hash chain value 를 가지고 있다고 가정함 1)
2) Node C 는 Vks+j 공식을 사용해서 자신이 소유한 V9 값과 일치하는지 검사
또한 V9 값을 9 번 hash 해서 V0 도달여부로 hash 값의 무결성을 인증 할 수 있음
Metric=2, Seq #=1 여기에 해당되는 해당 hash 값인 ( 여기서는 V8) Routing table 에 기록하여 전송함
A B C D E
destination metric Next hop Seq # hash value
E 1 D 1 V9
Node D 의 routing table
Node D 는 Metric 1, seq# 1, 에 대한
인증용 Hash 값으로 V9 를 Table 에 포함
3. SEAD
20Network & Information Security LabNetwork & Information Security Lab
3. SEAD
3)
4) node B 는 Vks+j 공식을 사용해서 자신이 소유한 V8
값과 일치하는지 검사함 Metric=3, Seq #=1 여기에 해당되는 해당 hash 값인 ( 여기서는 V7) Rout
ing table 에 기록하여 전송함
A B C D E
destination metric Next hop Seq # hash value
E 2 C 1 V8
Node C 의 routing table
21Network & Information Security LabNetwork & Information Security Lab
4. CONCLUSION
destination metric next hop seq #
A 3 E 14
B 4 C 15
dest metric n. hop seq # hash val
A 3 E 14 83DF733A
B 4C
15 B938E96C
C 3F
18 F2002330
(a)
(b)
DSDV 와 SEAD 의 Routing table 의 차의점
22Network & Information Security LabNetwork & Information Security Lab
4. CONCLUSION
장점 사전에 hash chain value 값들을 받은 node 들에 한하여
Routing 에 개입 가능 악의적인 목적을 지닌 node 의 Routing 관련 공격에 대한 차단이
가능 공격자가 Routing table metric, Sequence Number 을 위조하기 위해서는
여기에 해당되는 hash 값을 알아야 하므로 Routing 방해와 관련된 공격을 최대한 방지 할 수 있음
단점 초기에 생성될 hash chain value 값으로 인한 overhead 가 예상 Network 내에 존재하는 node 들이 수가 많을 경우 더 많은 계산이
필요 same-distance fraud : 같은 거리에 존재하는 악의적인 node 가
packet 를 그대로 재 전송하는 공격을 차단할 수 없음
23Network & Information Security LabNetwork & Information Security Lab
참고문헌 SEAD : Secure Effcient Distance Vector Routing Effcient security mechanisms for routing protocols Highly Dynamic Destination-sequenced vector routing