Sunteți pe pagina 1din 36

SEAD: Secure Efficient Distance Vector Routing for Wireless Ad Hoc Networks

Guided by:-

Presented by:-

Mr. S.R.Doggiwal Reader- IT Dept. SKIT

Pushpasnhu Jha VIII Sem. I.T.

Outline
Ad Hoc Networks DSDV Possible Attacks SEAD Conclusion

Ad Hoc Networks
A network without the usual routing infrastructure such as base stations and access points. Quickly and inexpensively set up as needed May arise in personal area networking, meeting rooms and conferences, disaster relief and rescue operations, battle field operations, etc. Routing protocol difficult to design as:
Highly dynamic nature Limited resources including bandwidth, processing capacity, memory, battery power

Routing Protocols
Routing Protocols for Ad Hoc networks
Periodic protocols (proactive) On-demand protocols (reactive) (hybrids of two)

SEAD base on
DSDV (Destination-Sequenced Distance-Vector ad hoc network routing protocol)

DVR
Distance Vector Routing
Easy to implement Efficient (memory/cpu) Path calculation
Bellman-Ford

16/02/2004

CSE Dept., MNIT

Example:

16/02/2004

CSE Dept., MNIT

DVR
Distance Vector Routing
Routing information exchange
Periodically Triggered update

Counting to infinity problem (looping)

DVR
Counting to infinity problem (looping)
E tell C(Dest: A, Distance:2) from me

C tell E(Dest: A, Distance:3) from me


E tell C(Dest: A, Distance:4) from me C tell E(Dest: A, Distance:5) from me If link AB & AC broken counting to infinity

DSDV
DSDV
Addition of sequence number to prevent loops Routing table is tagged
with the most recent sequence number

DSDV
Dest
MH1 MH2

Next-hop
MH2 MH2

Metric
2 1

Seq #
S406 S128

MH3
MH4 MH5 MH6 MH7 MH8

MH2
MH4 MH6 MH6 MH6 MH6

2
0 2 1 2 3

S564
S710 S392 S076 S128 S050

MH3 MH2 MH1

MH4 MH6

MH5 MH8 MH7 10

DSDV
Node receives a routing update
update if sequence number
> orig. = orig. and metric is lower

Routing updates
Periodic Triggered (metric update/new seq. num)

DSDV-SQ

11

DSDV
No Counting to infinity problem (looping)
B tell C(Dest:A,Dist:infinity,S.no: s1>prev)
E tell C(Dest:A,Dist:2,S.no:<s1)--ignored

If link AB & AC broken no counting to infinity


12

Assumptions
All wireless links in the network are bidirectional No physical or MAC layer attacks Wireless network may drop, corrupt, duplicate, or reorder packets MAC layer can detect randomly corrupted packets Network diameter(m-1 upper bound) Nodes in ad hoc network may be resource constrained
13

Possible Attacks
Ignorance attack (discarding packets) Jam attack (jam routing packets) Modification attack (modifying packets) Replay attack (sending old advertisements) Wormhole attack
Virtual vertex cut

14

Message Authentication
Ad Hoc wireless network
Infeasible to use asymmetric crypto operations (such as digital signatures)

SEAD
one-way hash functions to do message authentication H:{0, 1}* {0, 1} : length in bits

Simple to compute but computationally infeasible to invert.


15

One way hash chain


One way hash chain h0, h1, h2, , hn hi = H(hi-1) for 1 i n, h0=x The node at initialization generates the elements of its hash chain as shown above, from "left to right" in using these values, the node progresses from "right to left" given an authenticated hi value, a node can authenticate hi-3 by computing H(H(H(hi-3))) and verifying that the resulting value equals hi.
16

Tree-Authenticated Values
Values from a one-way hash chain are very efficient to verify, but only if values in sequence Tree structure is used for more efficient authentication of values To authenticate v0, v1, vw-1, place them a leaf nodes of a binary tree blind all the values with a one-way hash function H, vi = H(vi) Use Merkle[1] hash tree construction to commit to the values v0, ... vw-1 Each internal node of the binary tree is derived from its two child nodes
m_parent = H(m_left || m_right)

17

Example:
Sender want to authenticate key v2
It includes values v3, m01, m47 Receiver with an authentic root value m07 verify that H[ H[m01 || H[H[v2] || v3]] || m47] == stored m07

m07

m03
If the verification successful, the receiver knows that v2 is authentic

m23 v'2

H[ H [m01 || H[ H[v2] || v3 ] ]

|| 18 ] m47

SEAD

Secure Efficient Ad Hoc Distance vector routing protocol Goal


Need less resource Against incorrect routing state in other node

Base on DSDV Metric & Seq # authenticators Neighbor authentication

19

Metric & Seq # authenticators


Add authenticators to metric and sequence number Guarantees the lower bound of each metric and sequence number. Use one-way hash chains

SEAD
dest
MH1 MH2 MH3

metric
3 4 3

n. hop
MH5 MH3 MH6

seq #
12 12 12

hash val
83DF733A B938E96C F2002330
20

Metric & Seq # authenticators


If Using asymmetric cryptography[3]
Spend more time (forged routing updates)
DoS attack

Inner attack (compromised node) Reduce resources(CPU/energy) (verification)

Use one-way hash chains


1. Source node randomly pick up a value x in the beginning hash chain: x=h0,h1,h2,,hn-1 2. Suppose
m: network diameter n: divisible by m

3. Releases hn to everybody
21

Metric & Seq # authenticators


For authenticating a routing update
i: sequence number j: metric
sends

hn-i*m+j

22

Metric & Seq # authenticators


Example
i=1 2 3 4
m=5, n=20

Hn-i*m+j
2 3 4

j=0

h15 h10 h5 h0

h16 h11 h6 h1

h17 h12 h7 h2

h18 h13 h8 h3

h19 h14 h9 h4

i=sequence number j=metric m=network diameter n=length of hash chain


23

Metric & Seq # authenticators


Example (m=3, n=12)
A A
dest metric A 0 n. hop A seq # 1 hash val h9 of A

B
j=0 1 i=1 h9 2 3 4

C
2

h10 h7 h4 h1

h11 h8 h5 h2

dest metric B 0

n. hop B

seq # 1

hash val h9 of B

h6 h3 h0

dest metric

n. hop

seq #

hash val

i: seq # j: metric

h9 of C

24

Metric & Seq # authenticators


Example (m=3, n=12)
A A
dest metric A 0 1 B n. hop A B n. hop B A C n. hop C B seq # 2 2 seq # 2 2 2 seq # 2 2 hash val h6 of A h7 of B hash val h6 of B h7 of A h7 of C hash val h6 of C h7 of B
25

B
j=0 1 i=1 h9 2 3 4

C
2

h10 h7 h4 h1

h11 h8 h5 h2

dest metric B A C 0 1 1

h6 h3 h0

i: seq # j: metric

dest metric C B 0 1

Metric & Seq # authenticators


Example (m=3, n=12)
A A
dest metric A 0 1 2 0 1 1 B C n. hop A B B seq # 2 2 2 hash val h6 of A h7 of B h8 of C

B
j=0 1 i=1 h9 2 3 4

C
2

h10 h7 h4 h1

h11 h8 h5 h2

dest metric
B A C

n. hop
B A C n. hop C B B

seq #
2 2 2 seq # 2 2 2

hash val
h6 of B h7 of A h7 of C hash val h6 of C h7 of B h8 of A 26

h6 h3 h0

i: seq # j: metric

dest metric C B A 0 1 2

Metric & Seq # authenticators


The attacker can never forge better metrics or sequence numbers
Attacker can only generate worse metrics or sequence numbers

Other information(node name/next hop)


Can be forged TESLA[2], HORS[2] can be used to prevent this

27

Neighbor authentication
Ensures that the routing information originates from the correct sender assume a shared secret key among each pair of nodes, and use the respective key in conjunction with a Message Authentication Code Each node maintains a neighbor table Each node trusts any zero-metric update with a valid authenticator
if a node has received such an update from another node for a recent sequence number, it considers that node a neighbor and computes a Message Authentication Code for it in subsequent updates.

one of the two nodes will transmit a routing update first.


the receiving node will send a triggered routing update

28

SEAD vs DSDV
SEAD doesn't use an average weighted settling time average weighted settling time
Average time between node receive
first update best update

SEAD doesnt delay any triggered update When a node detects a broken link and send a routing update, SEAD doesn't increment the sequence number. Instead, the node flags its routing table entry for this destination to not accept any new updates for this same sequence number
29

Security Analysis
Given an advertisement for a route
metric: h hops sequence number: s

Attacker can generated


metric h sequence number s Can only redirect the path from source to des No routing loop, unless the loop contains attackers
30

Security Analysis
An attacker that has not compromised any node (and hence does not possess any cryptographic keys from a node) cannot successfully send any routing messages, since an uncompromised neighbor node will reject the messages due to the failed neighbor authentication SEAD is robust against non-collaborating attackers:
Attacker cannot advertise a better route than it has heard

Against collaborating attackers


The number of hops from the source to the first attacker, plus the number of hops from the last attacker to the destination cannot exceed the best non-attacker path
31

Security Analysis
If attackers form a vertex cut between two groups
No routing protocol can eliminate such attacks

32

Conclusion
SEAD
Robust against attacks Efficient if nodes in space are distributed randomly enough Doesn't provide a way to prevent an attacker from tampering with next hop or destination columns

Hash chains are consumed very fast


Either new hn needs to be released very often or the hash chain to be rather long
33

Refrences
1. Andrew S. Tanenbaum, Computer Networks 2. Guoyou He, Destination-Sequenced Distance Vector (DSDV) Protocol 3. Willian Stallings, Cryptography and Network Security-Principles and

Practices.

34

Questions?
35

Thanks to All

36

S-ar putea să vă placă și