SR3: Secure Reputation-based Resilient Routing Karine Altisen - - PowerPoint PPT Presentation

sr3 secure reputation based resilient routing
SMART_READER_LITE
LIVE PREVIEW

SR3: Secure Reputation-based Resilient Routing Karine Altisen - - PowerPoint PPT Presentation

SR3: Secure Reputation-based Resilient Routing Karine Altisen Stphane Devismes Raphal Jamet Pascal Lafourcade VERIMAG, Universits de Grenoble This work was supported by the ARESA2 ANR Project Altisen et al. (VERIMAG) SR3 15 May 2013 1


slide-1
SLIDE 1

SR3: Secure Reputation-based Resilient Routing

Karine Altisen Stéphane Devismes Raphaël Jamet Pascal Lafourcade

VERIMAG, Universités de Grenoble This work was supported by the ARESA2 ANR Project

Altisen et al. (VERIMAG) SR3 15 May 2013 1 / 31

slide-2
SLIDE 2

Outline

Introduction SR3 Security properties Resiliency and performances Conclusion

Altisen et al. (VERIMAG) SR3 15 May 2013 2 / 31

slide-3
SLIDE 3

Introduction

Outline

Introduction SR3 Security properties Resiliency and performances Conclusion

Altisen et al. (VERIMAG) SR3 15 May 2013 3 / 31

slide-4
SLIDE 4

Introduction

Challenges of secure routing in WSN

Security for routing in wireless sensor networks is hard, but necessary:

◮ Low memory, computing power, energy consumption ◮ Wireless medium is inherently vulnerable ◮ Compromise nodes: easy

Altisen et al. (VERIMAG) SR3 15 May 2013 4 / 31

slide-5
SLIDE 5

Introduction

Two main types of attacks

Packet-level attacks, e.g.

◮ Data messages alteration ◮ Creation of new data or control messages

Altisen et al. (VERIMAG) SR3 15 May 2013 5 / 31

slide-6
SLIDE 6

Introduction

Two main types of attacks

Packet-level attacks, e.g.

◮ Data messages alteration ◮ Creation of new data or control messages

They are solved with lightweight cryptography (e.g., hash functions, symmetric cryptography, nonces).

Altisen et al. (VERIMAG) SR3 15 May 2013 5 / 31

slide-7
SLIDE 7

Introduction

Two main types of attacks

Packet-level attacks, e.g.

◮ Data messages alteration ◮ Creation of new data or control messages

They are solved with lightweight cryptography (e.g., hash functions, symmetric cryptography, nonces). Routing-level attacks, e.g.

◮ Compromised nodes drop packets (blackholes, select forwarding) ◮ Attackers attract traffic using out-of-band channels (wormholes)

Altisen et al. (VERIMAG) SR3 15 May 2013 5 / 31

slide-8
SLIDE 8

Introduction

Two main types of attacks

Packet-level attacks, e.g.

◮ Data messages alteration ◮ Creation of new data or control messages

They are solved with lightweight cryptography (e.g., hash functions, symmetric cryptography, nonces). Routing-level attacks, e.g.

◮ Compromised nodes drop packets (blackholes, select forwarding) ◮ Attackers attract traffic using out-of-band channels (wormholes)

Our protocol is resilient against this type of attacks Resiliency “Capacity of a network to endure and overcome internal attacks” [EOKMV11]

Altisen et al. (VERIMAG) SR3 15 May 2013 5 / 31

slide-9
SLIDE 9

SR3

Outline

Introduction SR3 Security properties Resiliency and performances Conclusion

Altisen et al. (VERIMAG) SR3 15 May 2013 6 / 31

slide-10
SLIDE 10

SR3

Main ideas

SR3: Secure Reputation-based Resilient Routing

◮ Convergecast routing from all sensors to the sink (server) ◮ Reinforced random walk

◮ Built with a reputation mechanism ◮ Based on unconditionally trusted information Altisen et al. (VERIMAG) SR3 15 May 2013 7 / 31

slide-11
SLIDE 11

SR3

SR3: Overview

A Sink BH C D

◮ A chooses the next hop among its

neighbors, according to its confidence on them.

Altisen et al. (VERIMAG) SR3 15 May 2013 8 / 31

slide-12
SLIDE 12

SR3

SR3: Overview

A Sink BH C D

◮ A chooses the next hop among its

neighbors, according to its confidence on them.

◮ The sink answers with an ACK

that tries to follow the reverse of the path of the message.

Altisen et al. (VERIMAG) SR3 15 May 2013 8 / 31

slide-13
SLIDE 13

SR3

SR3: Overview

A Sink BH C D

◮ A chooses the next hop among its

neighbors, according to its confidence on them.

◮ The sink answers with an ACK

that tries to follow the reverse of the path of the message.

◮ If A gets a valid ACK, it increases

its confidence in the neighbor who previously routed the corresponding message.

Altisen et al. (VERIMAG) SR3 15 May 2013 8 / 31

slide-14
SLIDE 14

SR3

SR3: Packet-level attacks

Messages: Eksrc(Data||N), H(N), Src ACK: N, Src

◮ Attacker who listens to the data ◮ Attacker who replays acknowledgements ◮ Attacker who alters or creates messages ◮ Attacker forging ACKs

Altisen et al. (VERIMAG) SR3 15 May 2013 9 / 31

slide-15
SLIDE 15

SR3

SR3: Packet-level attacks

Messages: Eksrc(Data||N), H(N), Src ACK: N, Src

◮ Attacker who listens to the data

→ Symmetric cryptography Eksrc using a key shared with the sink

◮ Attacker who replays acknowledgements ◮ Attacker who alters or creates messages ◮ Attacker forging ACKs

Altisen et al. (VERIMAG) SR3 15 May 2013 9 / 31

slide-16
SLIDE 16

SR3

SR3: Packet-level attacks

Messages: Eksrc(Data||N), H(N), Src ACK: N, Src

◮ Attacker who listens to the data

→ Symmetric cryptography Eksrc using a key shared with the sink

◮ Attacker who replays acknowledgements

→ An unpredictable nonce N per message, encrypted with the data

◮ Attacker who alters or creates messages ◮ Attacker forging ACKs

Altisen et al. (VERIMAG) SR3 15 May 2013 9 / 31

slide-17
SLIDE 17

SR3

SR3: Packet-level attacks

Messages: Eksrc(Data||N), H(N), Src ACK: N, Src

◮ Attacker who listens to the data

→ Symmetric cryptography Eksrc using a key shared with the sink

◮ Attacker who replays acknowledgements

→ An unpredictable nonce N per message, encrypted with the data

◮ Attacker who alters or creates messages

→ Add H(N) and check that it matches the ciphertext part

◮ Attacker forging ACKs

Altisen et al. (VERIMAG) SR3 15 May 2013 9 / 31

slide-18
SLIDE 18

SR3

SR3: Packet-level attacks

Messages: Eksrc(Data||N), H(N), Src ACK: N, Src

◮ Attacker who listens to the data

→ Symmetric cryptography Eksrc using a key shared with the sink

◮ Attacker who replays acknowledgements

→ An unpredictable nonce N per message, encrypted with the data

◮ Attacker who alters or creates messages

→ Add H(N) and check that it matches the ciphertext part

◮ Attacker forging ACKs

→ Keep the nonce secret until delivery, and reveal it in the ACK

Altisen et al. (VERIMAG) SR3 15 May 2013 9 / 31

slide-19
SLIDE 19

SR3

SR3: Keep track of messages using LQueue

◮ When A generates a new message with a nonce N, it chooses the next

hop B, and stores a trace of this choice in LQueue, a bounded size FIFO list. LQueue: [(N′, D) ] A Sink B D C

Altisen et al. (VERIMAG) SR3 15 May 2013 10 / 31

slide-20
SLIDE 20

SR3

SR3: Keep track of messages using LQueue

◮ When A generates a new message with a nonce N, it chooses the next

hop B, and stores a trace of this choice in LQueue, a bounded size FIFO list. LQueue: [(N′, D), (N, B)] A Sink B D C

EkA(Data||N), H(N), A

Altisen et al. (VERIMAG) SR3 15 May 2013 10 / 31

slide-21
SLIDE 21

SR3

SR3: Keep track of messages using LQueue

◮ When A generates a new message with a nonce N, it chooses the next

hop B, and stores a trace of this choice in LQueue, a bounded size FIFO list. LQueue: [(N′, D), (N, B)] A Sink B D C

EkA(Data||N), H(N), A EkA(Data||N), H(N), A

Altisen et al. (VERIMAG) SR3 15 May 2013 10 / 31

slide-22
SLIDE 22

SR3

SR3: Keep track of messages using LQueue

◮ When A generates a new message with a nonce N, it chooses the next

hop B, and stores a trace of this choice in LQueue, a bounded size FIFO list. LQueue: [(N′, D), (N, B)] A Sink B D C

EkA(Data||N), H(N), A EkA(Data||N), H(N), A ◮ Decrypt ◮ Check validity ◮ Build ACK

Altisen et al. (VERIMAG) SR3 15 May 2013 10 / 31

slide-23
SLIDE 23

SR3

SR3: Keep track of messages using LQueue

◮ When A generates a new message with a nonce N, it chooses the next

hop B, and stores a trace of this choice in LQueue, a bounded size FIFO list. LQueue: [(N′, D), (N, B)] A Sink B D C

EkA(Data||N), H(N), A EkA(Data||N), H(N), A

N, A

◮ Decrypt ◮ Check validity ◮ Build ACK

Altisen et al. (VERIMAG) SR3 15 May 2013 10 / 31

slide-24
SLIDE 24

SR3

SR3: Keep track of messages using LQueue

◮ When A generates a new message with a nonce N, it chooses the next

hop B, and stores a trace of this choice in LQueue, a bounded size FIFO list.

◮ Upon reception of an ACK which contains N,

◮ If A is not the final destination for that ACK, A routes it, ◮ Else, if it recalls the corresponding message using LQueue, it reinforces

A’s trust in B.

◮ Otherwise, A drops the ACK.

LQueue: [(N′, D), (N, B)] A Sink B D C

EkA(Data||N), H(N), A EkA(Data||N), H(N), A

N, A N, A

◮ Decrypt ◮ Check validity ◮ Build ACK

Altisen et al. (VERIMAG) SR3 15 May 2013 10 / 31

slide-25
SLIDE 25

SR3

SR3: Keep track of messages using LQueue

◮ When A generates a new message with a nonce N, it chooses the next

hop B, and stores a trace of this choice in LQueue, a bounded size FIFO list.

◮ Upon reception of an ACK which contains N,

◮ If A is not the final destination for that ACK, A routes it, ◮ Else, if it recalls the corresponding message using LQueue, it reinforces

A’s trust in B.

◮ Otherwise, A drops the ACK.

LQueue: [(N′, D) ] A Sink B D C

EkA(Data||N), H(N), A EkA(Data||N), H(N), A

N, A N, A

◮ Decrypt ◮ Check validity ◮ Build ACK

Altisen et al. (VERIMAG) SR3 15 May 2013 10 / 31

slide-26
SLIDE 26

SR3

SR3: Reputation

◮ Trust in a node is the number of identifiers of that node in a bounded

FIFO list, LRouting, initially empty.

◮ Messages are routed probabilistically according to the node’s LRouting.

Pr(X = n) = |LRouting|n + δ−1

v

|LRouting| + 1 F’s LRouting, max size = 3 : [ , , ] (⋆)

P(X = C) = 0 + 0.5 1 = 50% P(X = D) = 0 + 0.5 1 = 50%

A B C D F H Sink

Altisen et al. (VERIMAG) SR3 15 May 2013 11 / 31

slide-27
SLIDE 27

SR3

SR3: Reputation

◮ Trust in a node is the number of identifiers of that node in a bounded

FIFO list, LRouting, initially empty.

◮ Messages are routed probabilistically according to the node’s LRouting.

Pr(X = n) = |LRouting|n + δ−1

v

|LRouting| + 1 F’s LRouting, max size = 3 : [ C, , ] (⋆)

P(X = C) = 1 + 0.5 2 = 75% P(X = D) = 0 + 0.5 2 = 25%

A B C D F H Sink m m Ack(m)

Altisen et al. (VERIMAG) SR3 15 May 2013 11 / 31

slide-28
SLIDE 28

SR3

SR3: Reputation

◮ Trust in a node is the number of identifiers of that node in a bounded

FIFO list, LRouting, initially empty.

◮ Messages are routed probabilistically according to the node’s LRouting.

Pr(X = n) = |LRouting|n + δ−1

v

|LRouting| + 1 F’s LRouting, max size = 3 : [ C, D, ] (⋆)

P(X = C) = 1 + 0.5 3 = 50% P(X = D) = 1 + 0.5 3 = 50%

A B C D F H Sink m m m Ack(m)

Altisen et al. (VERIMAG) SR3 15 May 2013 11 / 31

slide-29
SLIDE 29

SR3

SR3: Reputation

◮ Trust in a node is the number of identifiers of that node in a bounded

FIFO list, LRouting, initially empty.

◮ Messages are routed probabilistically according to the node’s LRouting.

Pr(X = n) = |LRouting|n + δ−1

v

|LRouting| + 1 F’s LRouting, max size = 3 : [ C, D, C ] (⋆)

P(X = C) = 2 + 0.5 4 = 63% P(X = D) = 1 + 0.5 4 = 37%

A B C D F H Sink m m Ack(m)

Altisen et al. (VERIMAG) SR3 15 May 2013 11 / 31

slide-30
SLIDE 30

SR3

SR3: Reputation

◮ Trust in a node is the number of identifiers of that node in a bounded

FIFO list, LRouting, initially empty.

◮ Messages are routed probabilistically according to the node’s LRouting.

Pr(X = n) = |LRouting|n + δ−1

v

|LRouting| + 1 F’s LRouting, max size = 3 : [ C, D, C ] (⋆)

P(X = C) = 2 + 0.5 4 = 63% P(X = D) = 1 + 0.5 4 = 37%

A B BH (C) D F H Sink m

Altisen et al. (VERIMAG) SR3 15 May 2013 11 / 31

slide-31
SLIDE 31

SR3

SR3: Reputation

◮ Trust in a node is the number of identifiers of that node in a bounded

FIFO list, LRouting, initially empty.

◮ Messages are routed probabilistically according to the node’s LRouting.

Pr(X = n) = |LRouting|n + δ−1

v

|LRouting| + 1 F’s LRouting, max size = 3 : [ D, D, C ] (⋆)

P(X = C) = 1 + 0.5 4 = 37% P(X = D) = 2 + 0.5 4 = 63%

A B BH (C) D F H Sink m m m Ack(m)

Altisen et al. (VERIMAG) SR3 15 May 2013 11 / 31

slide-32
SLIDE 32

SR3

SR3: Reputation

◮ Trust in a node is the number of identifiers of that node in a bounded

FIFO list, LRouting, initially empty.

◮ Messages are routed probabilistically according to the node’s LRouting.

Pr(X = n) = |LRouting|n + δ−1

v

|LRouting| + 1 F’s LRouting, max size = 3 : [ D, D, C ] (⋆)

P(X = C) = 1 + 0.5 4 = 37% P(X = D) = 2 + 0.5 4 = 63%

A B BH (C) D F H Sink m m m Ack(m)

Altisen et al. (VERIMAG) SR3 15 May 2013 11 / 31

slide-33
SLIDE 33

SR3

SR3: Reputation

◮ Trust in a node is the number of identifiers of that node in a bounded

FIFO list, LRouting, initially empty.

◮ Messages are routed probabilistically according to the node’s LRouting.

Pr(X = n) = |LRouting|n + δ−1

v

|LRouting| + 1 F’s LRouting, max size = 3 : [ D, D, D ] (⋆)

P(X = C) = 0 + 0.5 4 = 12% P(X = D) = 3 + 0.5 4 = 88%

A B BH (C) D F H Sink m m m Ack(m)

Altisen et al. (VERIMAG) SR3 15 May 2013 11 / 31

slide-34
SLIDE 34

SR3

SR3: LAckRouting and routing acknowledgments

◮ Messages leave a trail of entries in a FIFO bounded-size list

LAckRouting on the routing nodes. A B C Sink

LAckRouting

LAckRouting

Altisen et al. (VERIMAG) SR3 15 May 2013 12 / 31

slide-35
SLIDE 35

SR3

SR3: LAckRouting and routing acknowledgments

◮ Messages leave a trail of entries in a FIFO bounded-size list

LAckRouting on the routing nodes. A B C Sink

EkA(Data||N), H(N), A

LAckRouting

(H(N), A)

LAckRouting

Altisen et al. (VERIMAG) SR3 15 May 2013 12 / 31

slide-36
SLIDE 36

SR3

SR3: LAckRouting and routing acknowledgments

◮ Messages leave a trail of entries in a FIFO bounded-size list

LAckRouting on the routing nodes. A B C Sink

EkA(Data||N), H(N), A EkA(Data||N), H(N), A

LAckRouting

(H(N), A)

LAckRouting

(H(N), B)

Altisen et al. (VERIMAG) SR3 15 May 2013 12 / 31

slide-37
SLIDE 37

SR3

SR3: LAckRouting and routing acknowledgments

◮ Messages leave a trail of entries in a FIFO bounded-size list

LAckRouting on the routing nodes. A B C Sink

EkA(Data||N), H(N), A EkA(Data||N), H(N), A EkA(Data||N), H(N), A

LAckRouting

(H(N), A)

LAckRouting

(H(N), B)

Altisen et al. (VERIMAG) SR3 15 May 2013 12 / 31

slide-38
SLIDE 38

SR3

SR3: LAckRouting and routing acknowledgments

◮ Messages leave a trail of entries in a FIFO bounded-size list

LAckRouting on the routing nodes.

◮ ACKs follow those indications, and are routed randomly when they

cannot. A B C Sink

EkA(Data||N), H(N), A EkA(Data||N), H(N), A EkA(Data||N), H(N), A

LAckRouting

(H(N), A)

LAckRouting

(H(N), B) N, A

Altisen et al. (VERIMAG) SR3 15 May 2013 12 / 31

slide-39
SLIDE 39

SR3

SR3: LAckRouting and routing acknowledgments

◮ Messages leave a trail of entries in a FIFO bounded-size list

LAckRouting on the routing nodes.

◮ ACKs follow those indications, and are routed randomly when they

cannot. A B C Sink

EkA(Data||N), H(N), A EkA(Data||N), H(N), A EkA(Data||N), H(N), A

LAckRouting

(H(N), A)

LAckRouting

∅ N, A N, A

Altisen et al. (VERIMAG) SR3 15 May 2013 12 / 31

slide-40
SLIDE 40

SR3

SR3: LAckRouting and routing acknowledgments

◮ Messages leave a trail of entries in a FIFO bounded-size list

LAckRouting on the routing nodes.

◮ ACKs follow those indications, and are routed randomly when they

cannot. A B C Sink

EkA(Data||N), H(N), A EkA(Data||N), H(N), A EkA(Data||N), H(N), A

LAckRouting

LAckRouting

∅ N, A N, A N, A

Altisen et al. (VERIMAG) SR3 15 May 2013 12 / 31

slide-41
SLIDE 41

SR3

Lost and forged acknowledgements

A B C Sink I NI, F

Altisen et al. (VERIMAG) SR3 15 May 2013 13 / 31

slide-42
SLIDE 42

SR3

Lost and forged acknowledgements

A B C Sink I NI, F ACKs therefore have a

1 Nb probability of being dropped at each

retransmission, with Nb an upper bound on the number of nodes.

Altisen et al. (VERIMAG) SR3 15 May 2013 13 / 31

slide-43
SLIDE 43

Security properties

Outline

Introduction SR3 Security properties Resiliency and performances Conclusion

Altisen et al. (VERIMAG) SR3 15 May 2013 14 / 31

slide-44
SLIDE 44

Security properties

Security properties and proofs

◮ Nonce confidentiality before delivery ◮ Data confidentiality, even after delivery ◮ Packet unforgeability (implies authentication and integrity)

Altisen et al. (VERIMAG) SR3 15 May 2013 15 / 31

slide-45
SLIDE 45

Security properties

Security properties and proofs

◮ Nonce confidentiality before delivery ◮ Data confidentiality, even after delivery ◮ Packet unforgeability (implies authentication and integrity)

These proofs are done using games, which evaluate the probability that an attacker breaks the property (its advantage), depending on the primitives used and the attacker capabilities.

Altisen et al. (VERIMAG) SR3 15 May 2013 15 / 31

slide-46
SLIDE 46

Security properties

Security properties and proofs

◮ Nonce confidentiality before delivery ◮ Data confidentiality, even after delivery ◮ Packet unforgeability (implies authentication and integrity)

These proofs are done using games, which evaluate the probability that an attacker breaks the property (its advantage), depending on the primitives used and the attacker capabilities. Using game reductions, we are then able to find an upper bound on the advantage of any attacker, which we can then use to find the right compromise between costs and the level of security.

Altisen et al. (VERIMAG) SR3 15 May 2013 15 / 31

slide-47
SLIDE 47

Security properties

Modeling the protocol

Hash function

We model it as a random oracle H : {0, 1}ηn → {0, 1}ηh. The number of times the adversary calls H is denoted qH.

Nonces

Nonces are modeled as truly random numbers of size ηn.

Block Cipher

A block cipher F is a set of permutations of {0, 1}ηc, indexed on keys. We assume that the block cipher is PRP-CCA-secure, which is the property we rely on for security.

GenO(·)

src (Data)

The function which generates a packet produced by src containing Data, using O as a block cipher, and drawing a new nonce N.

Altisen et al. (VERIMAG) SR3 15 May 2013 16 / 31

slide-48
SLIDE 48

Security properties

Data confidentiality

Let A be an adversary running in two phases (A1 and A2).

Experiment ExptFG

F (A) :

ksrc

$

← − Init(K) (O, O−1) ← (Fksrc , F −1

ksrc )

(Data0, Data1, state)

$

← − AGenO(·)

src

(·),H(·) 1

() b

$

← − {0, 1} (C, h, src, N)

$

← − GenO(·)

src (Datab)

If (b = AGenO(·)

src

(·),H(·) 2

(C, h, src, N, state)) Return 1 Else Return 0

Altisen et al. (VERIMAG) SR3 15 May 2013 17 / 31

slide-49
SLIDE 49

Security properties

Advantage and bounds

The find-then-guess advantage of A against F is defined as the probability

  • f A winning the game (i.e. Pr[ExptFG

F (A) = 1]) minus the probability of

winning for an adversary that outputs a random bit:

AdvFG

F (A) = Pr[ExptFG F (A) = 1] − 1

2

We then use Cryptoverif [Bla07]1, an automated prover of cryptographic properties in the computational model, to get an upper bound on this advantage.

1http://prosecco.gforge.inria.fr/personal/bblanche/cryptoverif/ Altisen et al. (VERIMAG) SR3 15 May 2013 18 / 31

slide-50
SLIDE 50

Security properties

Advantage and bounds

For all adversaries A making qG queries to Gen and qH queries to the hash function, there exists an adversary B (making qG + 1 queries to O in its game) such that:

AdvFG

F (A) ≤ 2q2 G + 2qG

2ηc + 2q2

G + 4qG + 2

2ηn + 2AdvPRP−

CPA F

(B)

Altisen et al. (VERIMAG) SR3 15 May 2013 19 / 31

slide-51
SLIDE 51

Security properties

Advantage and bounds

For all adversaries A making qG queries to Gen and qH queries to the hash function, there exists an adversary B (making qG + 1 queries to O in its game) such that:

AdvFG

F (A) ≤ 2q2 G + 2qG

2ηc + 2q2

G + 4qG + 2

2ηn + 2AdvPRP−

CPA F

(B)

From this, we can choose our parameters to achieve the desired security

  • bound. For instance, if we use a ηc = 128b block cipher and a ηn = 96b

nonce, and we allow the attacker qG = 220 oracle calls and answers, we get:

AdvFG

F (A) ≤ 2 × (220)2 + 2 × 220

2128 + 2 × (220)2 + 4 × 220 + 2 296 + 2AdvPRP−

CPA F

(B) = ... = 2−54.999 + 2AdvPRP−

CPA F

(B)

Altisen et al. (VERIMAG) SR3 15 May 2013 19 / 31

slide-52
SLIDE 52

Security properties

Choosing the block cipher and final bound

AdvFG

F (A) ≤ 2−54.999 + 2AdvPRP− CPA F

(B) If we use AES-128 as block cipher, the best attack known to this day needs 2126.1 operations. Therefore, we can expect AdvPRP−

CPA AES−128(B) to be much

smaller than 2−54 for any adversary B.

Altisen et al. (VERIMAG) SR3 15 May 2013 20 / 31

slide-53
SLIDE 53

Security properties

Choosing the block cipher and final bound

AdvFG

F (A) ≤ 2−54.999 + 2AdvPRP− CPA F

(B) If we use AES-128 as block cipher, the best attack known to this day needs 2126.1 operations. Therefore, we can expect AdvPRP−

CPA AES−128(B) to be much

smaller than 2−54 for any adversary B.

◮ Using nonces of 12 bytes and hashes of 8 bytes, ◮ Using a correct blockcipher of 16 bytes (e.g. AES-128), ◮ With an attacker that has 220 packets with chosen data, hash function

calls, and validity queries, The probability of the adversary breaking one of the three properties is less than 2−50.

Altisen et al. (VERIMAG) SR3 15 May 2013 20 / 31

slide-54
SLIDE 54

Resiliency and performances

Outline

Introduction SR3 Security properties Resiliency and performances Conclusion

Altisen et al. (VERIMAG) SR3 15 May 2013 21 / 31

slide-55
SLIDE 55

Resiliency and performances

Comparison points

Protocols with different underlying mechanisms

◮ Uniform Random Walk ◮ Gradient Based Routing (GBR) plus variants built for enhanced

resiliency [EOKMV11]

◮ RGBR (randomly select a lower height neighbor each time) ◮ PRGBR (send to the same height with p = 0.4) ◮ PRDGBR (PRGBR + duplication at each node)

◮ Greedy-Face-Greedy (geographical)

Altisen et al. (VERIMAG) SR3 15 May 2013 22 / 31

slide-56
SLIDE 56

Resiliency and performances

Simulation parameters, models and topologies

◮ Sinalgo2, from ETH Zurich ◮ Asynchronous network (FIFO links) ◮ Every honest node generates messages, random intervals ◮ From 50 to 400 randomly positioned sensors, one centered sink ◮ Topology: Unit Disk Graphs, average degree from 8 to 32 ◮ Connectivity: connected graphs only ◮ Overall, around 15k simulations, sending over 6 billion messages.

2http://www.disco.ethz.ch/projects/sinalgo/ Altisen et al. (VERIMAG) SR3 15 May 2013 23 / 31

slide-57
SLIDE 57

Resiliency and performances

Chosen attacks

◮ Safe networks ◮ Blackholes (10%, 20% and 30%) ◮ Selective forwarding (10% and more, overall less impact than

blackholes)

◮ From 0 to 100% of messages transmitted

◮ 5% Wormholes→Blackholes + 5% Blackholes

◮ Direct link to the sink, switch behaviors at one third of the simulation

◮ Sybil nodes (10% and more, not significantly better than blackholes)

◮ From 1 to 5 identities

All attackers are randomly positioned.

Altisen et al. (VERIMAG) SR3 15 May 2013 24 / 31

slide-58
SLIDE 58

Resiliency and performances

30% Blackholes, degree 8

0.2 0.4 0.6 0.8 1 50 100 150 200 250 300 350 400 Average delivery rate Number of nodes GFG GBR RGBR PRGBR PRDGBR RW SR3 Altisen et al. (VERIMAG) SR3 15 May 2013 25 / 31

slide-59
SLIDE 59

Resiliency and performances

30% Blackholes, degree 32

0.2 0.4 0.6 0.8 1 50 100 150 200 250 300 350 400 Average delivery rate Number of nodes GFG GBR RGBR PRGBR PRDGBR RW SR3 Altisen et al. (VERIMAG) SR3 15 May 2013 26 / 31

slide-60
SLIDE 60

Resiliency and performances

30% Blackholes, degree 32, 200 nodes

10 20 30 40 50 60 70 80 90 100

Proportion of nodes (%):

10 20 30 40 50 60 70 80 90 100 GFG 10 20 30 40 50 60 70 80 90 100 GBR 10 20 30 40 50 60 70 80 90 100 RGBR 10 20 30 40 50 60 70 80 90 100 PRGBR 10 20 30 40 50 60 70 80 90 100 PRDGBR 10 20 30 40 50 60 70 80 90 100 RW 10 20 30 40 50 60 70 80 90 100 SR3

Distribution of the delivery rate (in %) for each node

Altisen et al. (VERIMAG) SR3 15 May 2013 27 / 31

slide-61
SLIDE 61

Resiliency and performances

No attackers, degree 16

5 10 15 20 25 30 50 100 150 200 250 300 350 400 Average number of hops Number of nodes GFG GBR RGBR PRGBR PRDGBR RW SR3

For 400 nodes, RW is around 600 hops.

Altisen et al. (VERIMAG) SR3 15 May 2013 28 / 31

slide-62
SLIDE 62

Resiliency and performances

5% WH->BH, 5% BH, 200 nodes, degree 8, over time

0.2 0.4 0.6 0.8 1 50000 100000 150000 200000 250000 300000 350000 400000 450000 500000

  • Avg. delivery rate on the window (x-104..x]

The xth message has been processed (either delivered or lost) GFG GBR RGBR PRGBR PRDGBR RW SR3 Altisen et al. (VERIMAG) SR3 15 May 2013 29 / 31

slide-63
SLIDE 63

Conclusion

Outline

Introduction SR3 Security properties Resiliency and performances Conclusion

Altisen et al. (VERIMAG) SR3 15 May 2013 30 / 31

slide-64
SLIDE 64

Conclusion

Conclusion and future work

◮ SR3, Secure Reputation-based Resilient Routing ◮ Proved secure packet format using CryptoVerif ◮ Resilient against multiple attacks ◮ Efficient algorithm on both small (<50 nodes) and large (>400 nodes)

networks Future works:

◮ Dynamicity and mobility of nodes ◮ Implementation and energy measurements planned in ARESA2

Altisen et al. (VERIMAG) SR3 15 May 2013 31 / 31

slide-65
SLIDE 65

Conclusion

Thanks for your attention. Questions ? rjamet@imag.fr http://www-verimag.imag.fr/~rjamet/SR3/

Altisen et al. (VERIMAG) SR3 15 May 2013 31 / 31

slide-66
SLIDE 66

Conclusion

Bibliography

  • B. Blanchet, Cryptoverif: Computationally sound mechanized prover for cryptographic protocols, Dagstuhl

seminar "Formal Protocol Verification Applied, 2007, p. 117.

  • O. Erdene-Ochir, A. Kountouris, M. Minier, and F. Valois, Enhancing resiliency against routing layer attacks

in wireless sensor networks: Gradient-based routing in focus, International Journal On Advances in Networks and Services 4 (2011), no. 1 and 2, 38–54. Altisen et al. (VERIMAG) SR3 15 May 2013 31 / 31

slide-67
SLIDE 67

Conclusion

20% Selective Forwarding, 200 nodes, degree 8, varying p

0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1 Average delivery rate Drop rate of the compromised nodes GFG GBR RGBR PRGBR PRDGBR RW SR3 Altisen et al. (VERIMAG) SR3 15 May 2013 31 / 31

slide-68
SLIDE 68

Conclusion

10% Sybil, 200 nodes, degree 8, varying number of identities

0.2 0.4 0.6 0.8 1 1 2 3 4 5 6 7 8 9 10 Average delivery rate Number of pseudonymous identities per SY node GFG GBR RGBR PRGBR PRDGBR RW SR3 Altisen et al. (VERIMAG) SR3 15 May 2013 31 / 31