dealing with selfish and malicious nodes in ad hoc networks

43
Dealing with Selfish and Malicious Nodes in Ad Hoc Networks

Upload: reba

Post on 14-Jan-2016

40 views

Category:

Documents


0 download

DESCRIPTION

Dealing with Selfish and Malicious Nodes in Ad Hoc Networks. What are they?. Selfish nodes 損人利己 Malicious nodes 損人 不 利己 ,白開心. How likely are they to exist?. Watchdog and Pathrater. “Mitigating routing misbehavior in mobile Ad hoc networks,” Mobcom’00. Watchdog and Pathrater. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

Dealing with Selfish and Malicious Nodes in Ad Hoc Networks

Page 2: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

What are they?

Selfish nodes– 損人利己

Malicious nodes– 損人不利己,白開心

Page 3: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

How likely are they to exist?

Page 4: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

Watchdog and Pathrater

“Mitigating routing misbehavior in mobile Ad hoc networks,” Mobcom’00.

Page 5: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

Watchdog and Pathrater

Misbehaving nodes– Selfish, malicious, overloaded, broken

Basic idea: identify misbehaving nodes and avoid them in routing.

Page 6: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

Watchdog

A scheme to identify misbehaving nodes On top of dynamic source routing Monitors next node’s transmission Tallies its misbehaviors Reports its misbehaving status when tally

reaches a threshold

A B CS

D

Page 7: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

Pathrater

Page 8: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

Watchdog’s Weakness (1)

Ambiguous collision: while A is monitoring B’s forwarding, it hears a collision.

Question: has B forwarded the packet?

A B CS

D

Page 9: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

Watchdog’s Weakness (2)

Receiver collision: a packet forwarded by B may collide at C.

Problem: a selfish B may choose to forward any packet only once?

A B CS

D

Page 10: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

Watchdog’s Weakness (3)

Partial dropping: the watchdog reports misbehavior only if it reaches a threshold.

Problem: a selfish node may choose to drop packets at a “safe” rate?

Page 11: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

Watchdog’s Weakness (4)

Collusion: two or more nodes collude to cheat.

Example: C always drops packets, but B does not report it.

A B CS

D

Page 12: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

The Confidant Protocol

Buchegger & Boudec, “Performance Analysis of the Confidant Protocol,” Mobihoc’02

Page 13: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

The Self Gene (a book by Richard Dawkins)

Three kinds of birds:– Sucker 以德報怨者– Cheat 自私自利者– Grudger 禮尚往來者

In a population with 50% suckers and 50% cheats, both groups will lead to extinction.

In a population with a majority of cheats and marginal groups of suckers and grudgers, only grudgers survive.

Page 14: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

The Watchdog and Pathrater Scheme

Basic idea: identify misbehaving nodes and avoid them in routing.

The scheme does not punish misbehaving nodes, whose packets get forwarded as usual.

Two kinds of nodes: suckers and cheats.

Page 15: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

The Confidant Scheme

Treat misbehaving nodes as cheats.

Treat non-misbehaving nodes as grudgers, rather than suckers.

Do not forward misbehaving nodes’ packets.

Page 16: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

The Nuglet Scheme

Buttyan and Hubaux, “Stimulating cooperation in self-organizing mobile ad hoc networks,” MONET 2002.

Page 17: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

Selfish nodes, malicious nodes

Malicious nodes– Hard to deal with– Uncommon

Selfish nodes– Very common– Easies to deal with– Interested in their own interests.

Consider selfish nodes first.

Page 18: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

The Nuglet Scheme

Nuglet counter: a tamper-proof counter

Can send a packet only if you have enough nuglets.

-3+1 +1 +1

Page 19: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

Analysis of the Nuglet Scheme (1)

What to analyze? Assuming each node is interested in

maximizing the number of its own outgoing packets.

Can send (B+C)/(N+1) own packets, if you forward (NB-C)/(N+1) packets for others, where

– C: initial number of nuglets– B: amount of battery (in terms of # of packet

transmissions)– N: cost of each outgoing packet

Page 20: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

Analysis of the Nuglet Scheme (2)

Four possible forwarding strategies:If f < (NB-C)/(N+1) then unconditionally forward forward if c ≤ C, and forward with some

probability if c > C forward if c ≤ C forward with some probability if c ≤ C where c = current nuglet countWhich strategy is best for selfish nodes?

Page 21: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

Analysis of the Nuglet Scheme (3)

Best strategy in what sense? Ro = rate of generating own packets Rf = rate of incoming packets for forwarding Zo = # own packets sent / # generated Selfish node wishes to maximize

– # of own packets sent, i.e. (B+C)/(N+1) – Zo

Which strategy is best for selfish nodes?

Page 22: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

Implementation Issues

A security module containing the nuglet counter and some other functions.

All outgoing packets must pass this module. Must be able to distinguish between own and

others’ packets. Ensure it does forward others’ packets which

have gone thru the security module.– Cash on delivery– Nuglet synchronization, mobility problem

Page 23: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

The Sprite System

Zhong & Chen & Yang, “Sprite: A Simple, Cheat-Proof, Credit-Based System for Mobile Ad-Hoc Networks,” Infocom’03

Page 24: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

Sprite

Dealing with only selfish nodes. An all-software solution; no need for tamper-

proof hardware. Credit based. Game theory based.

Page 25: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

Architecture

Page 26: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

Who Pays whom? And How much?

The nuglet scheme

Why?

-3+1 +1 +1

Page 27: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

Who pays whom?

Three options : Sender Destination Both sender and destination

senderdestination

Page 28: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

Who pays whom?

Three options: Each intermediate node Each intermediate node who ever forwards

the message Each intermediate node who successfully

forwards the message– The next node should report to CCS on receiving

the message

Page 29: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

Payment scheme

Has to deal with selfish nodes

Page 30: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

Possible Cheating Actions

After receiving a packet– Reports a receipt, drops the packet– Reports no receipt (& drops or forwards the packet)

Receiving no packet– Reports a receipt

To CCS

Page 31: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

Objectives of Payment Scheme

Motivating nodes to forward packets

Motivating nodes to report receipts

Preventing false receipts

Page 32: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

Motivating nodes to forward packets

β≥ 0

Page 33: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

Motivating nodes to report receipts

The sender pays

Page 34: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

Preventing false receipts

γ= 1 if destination reports receipt of packet γ« 1 otherwise

Page 35: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

The Receipt-Submission Game (1)

Players: the nodes from sender to destination,

Truth (Ti): each player either – has received the packet or – has not received the packet.

Page 36: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

Game (2)

Action (Ai): each player either – reports a receipt to CCS, or– does not report a receipt to CCS.

Cost of action:

Page 37: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

Game (3)

Payment: as described earlier.

Welfare (Utility):

Page 38: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

Game (4)

Strategy: each player may – tell the truth (Ai = Ti), or– cheat (Ai ≠ Ti).

Optimal strategy for a player: a strategy that brings the player the maximum welfare regardless other players’ strategies.

Theorem: Telling the truth is an optimal strategy if the destination does not cheat and

Page 39: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

Game (5)

Theorem: Telling the truth is an optimal strategy if the destination does not cheat and

Theorem: Any group of colluding players cannot cheat to increase their total welfare.

The game is cheat-proof.

Page 40: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

Zen (禪 ) Approaches

Page 41: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

A Zen Approach (1)

“敢問師父 , 如何處理 selfish nodes?”

“ 老僧這裡不用電腦 !”

Page 42: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

A Zen Approach (2)

“敢問師父 , 如何處理 selfish nodes?”

“至道無難,唯嫌擇揀。老僧這裡不計較 ! ”

Page 43: Dealing with  Selfish  and  Malicious  Nodes in Ad Hoc Networks

A Zen Approach (3)

“敢問師父 , 如何處理 selfish nodes?”

師棒之。