+ All Categories
Transcript
Page 1: Ad hoc Networking Security: Solving  Node Selfishness Problem

Ad hoc Networking Security: Solving Node Selfishness Problem

Presented by : Ali N M Noman PhD Student

CSI 5148 [email protected]

Course Instructor: Professor Ivan Stojmenovic

Page 2: Ad hoc Networking Security: Solving  Node Selfishness Problem

Outline1. Problem Definition & Security Challenges2. Background Information

1. Basic Cryptography- Encryption, Digital Signature

2. DSR3. Analyzing Solutions4. Conclusion

Page 3: Ad hoc Networking Security: Solving  Node Selfishness Problem

Node Selfishness Problem:Selfishness problem:

A form of misbehavior where a node does not participate in network operation in order to save its power.

1 2 D3S

Scenario 1: Node S wants to send a packet(p) to Node D using the route <S,1,2,3,D> , where Node 2 is a selfish node

PPDid not

forward P

Can a selfish node do its own network operation?

Page 4: Ad hoc Networking Security: Solving  Node Selfishness Problem

Node Selfishness ProblemSelfishness problem:

A form of misbehavior where a node does not participate in network operation in order to save its power.

1 2 D3S

Scenario 2: However Node 2 can send a packet (p1) using the route<2,3,D>

P1 P1

Page 5: Ad hoc Networking Security: Solving  Node Selfishness Problem

Node Selfishness Problem: Security Challenges

Is it an active attack? No

However it degrades the network performance. “10 to 40% of misbehaving nodes cause 16 to 32% of degradation of the average throughput of the network”.

Can traditional cryptographic solution (i.e. integrity, authentication) solve this problem?No

Page 6: Ad hoc Networking Security: Solving  Node Selfishness Problem

Background: Basic Security Goals

Confidentiality/secrecy: Encode(encrypt) M(plain text) into a unreadable text , C(cipher text) prior to transmission so that no one except bob and tom can decode(decrypt) it. Integrity: Tom can verify whether M was not modified in transmission or not. Authentication: Tom can verify that M was really sent by Bob.Non Repudiation: After sending the msg M, Bob cannot deny.

•Recall the purpose of our handwritten signature. (Digital Signature)• (Digital Signature) is one of the main motivation behind developing public key cryptography

Bob Tom

Bob wants to send a msg, M to Tom

Wired/wireless link

Page 7: Ad hoc Networking Security: Solving  Node Selfishness Problem

Public Key Cryptography:RSA

Public key is known to all; private key is a secret. Encryption: Encrypt M with receiver’s public key. Here, C= (M)e_tom mod N

Decryption: Receiver (i.e. Tom) will decrypt it using its private key which is a secret to all. Here, M= (C)d_tom mod N [assuming C is not modified in transmission]

BobPublic key:(e_bob, N)Private Key: (d_bob, N)

Bob wants to send a msg, M to Tom

Wired/wireless link

TomPublic key:(e_tom, N)Private Key: (d_tom, N)

Page 8: Ad hoc Networking Security: Solving  Node Selfishness Problem

Public Key Cryptography:RSA

Digital Signature : Sender(Bob) will encrypts(i.e. sign) the message, M with its private key and send (M | DS) to Tom. Here DS= (M)d_bob mod N

Signature Verification: Tom verifies Bob’s signature as follows:If M== (DS)e_bob mod N correct signatureElse It is not signed by Bob

Remark: This solution ensures integrity and authentication and non repudiation but does not provide secrecy. How can you also include secrecy here??

BobPublic key:(e_bob, N)Private Key: (d_bob, N)

Bob wants to send a msg, M to Tom

Wired/wireless link

TomPublic key:(e_tom, N)Private Key: (d_tom, N)

Page 9: Ad hoc Networking Security: Solving  Node Selfishness Problem

RSA: Computational ChallengesExample: assume C(encrypted text)= 542;Receiver’d private key(d,n)=(157,2773)In this case, P= 542157 mod 2773 =805 hard for your calculator.But you can do that using this trick:

Page 10: Ad hoc Networking Security: Solving  Node Selfishness Problem

Question 1:Question : Alice has the public key {e = 13, n = 899} and the private key {d = 517, n =899}. Bob has the public key {e = 17, n = 851} and the private key {d = 233, n = 851}. Suppose Bob has received the plain/unencrypted message 67 and the signature 129. Describe how Bob verifies the signature . [ Note: In this case, message is directly used to calculate signature using RSA]

Solution: Here, M=67 and DS=129.

Step 1. Bob should decrypt the DS using Alice’s public keyM’= (DS)13 mod 899=67

[use the trick given in the presentation]

Step 2. Now Bob will compare M’ with M . If they match then the signature is verified.

Page 11: Ad hoc Networking Security: Solving  Node Selfishness Problem

DSR: Dynamic Source Routing An on demand routing protocolEach data packet carries a complete path(i.e. ordered list of nodes towards destination)

1 2 D3S

DSR Example(simplified): S wants to send a packet ,P to Destination

1. S chooses a(best) route to D from its cache : <S,1,2,3,D> . This route is added in packet header of P.

4 5

2. (If everything goes well) the packet will traverse to D using the red path

Page 12: Ad hoc Networking Security: Solving  Node Selfishness Problem

DSR: Dynamic Source Routing

1 2 D3S

DSR Example(simplified): Route Discovery (S to D)

4

1. Route Request : (S, D, request ID,RR=<S>).2. Each intermediate node adds itself in the RR if it is not D or does not

know a path to D 3. D will send back the RR to S using a Route Reply. D can

choose an already discovered path to S or can initiate another R. request to S if necessary .

2 main mechanisms: Route discovery: Discover (multiple) routes to D. Route maintenance : Updating route cache in nodes in

order to ensure data transfer from S to D.

5

<S,4>

<S,5>

<S,1>

<S,1, 2>

<S,1, 2,3>

RR=<S,1, 2,3, D>

Route Reply

Page 13: Ad hoc Networking Security: Solving  Node Selfishness Problem

DSR: Dynamic Source Routing Route Maintenance:

Sending Route Error Massage to S: Intermediate Node informs S if link is broken

Packet Salvaging: Intermediate Node should forward packet to D using other path(if known) if the given path is broken.

Page 14: Ad hoc Networking Security: Solving  Node Selfishness Problem

Solving Node Selfishness Problem Solutions can be categorized as:

Monitoring BasedWatchdogEnd-End Ack2H-ack

Reputation BasedCORECONFIDANTSigned Token

PreventiveNuglets (not feasible)

Page 15: Ad hoc Networking Security: Solving  Node Selfishness Problem

Watchdog First proposal for mitigating routing misbehavior in MANET

Most of the later solutions rely on it.

2 components: Watchdog(monitoring) : Misbehavior(selfish) node detection Pathrater: choose a best path by avoiding a path with misbehaving(selfish) node.

Build on top of source routing protocol, DSR.

Watchdog Summary: Selfish Node detection. All nodes operates in promiscuous mode to monitor its neighbor nodes. If it finds that its neighbor node is misbehaving(selfish) for t (threshold) times, the node reports it to the source node.

Page 16: Ad hoc Networking Security: Solving  Node Selfishness Problem

Watchdog : in selfish node detectionSelfish Node detection using Watchdog: Example(simplified)

1 2 D3S PPDid not

forward PNode 1 does not over hear forwarding of P from Node

2

Confirms it by checking t times

Reports to S: Node 2 is selfish

Page 17: Ad hoc Networking Security: Solving  Node Selfishness Problem

How Pathrater works?

Steps involved in finding the best path using pathrater (simpified)

1. Initially a node gives a rate of 0.5 to all of its known nodes and a (fixed) rate of 1 to itself.

2. Adds 0.01 to all nodes in the DSR packet forwarding path if it is successful

3. Deduct -0.05 from all unreachable nodes of a DSR packet forwarding path (if it is unsuccessful due to broken link).

4. Maximum rating of each node (except the initiator) is 0.8.

5. A misbehavior node will get the rating of -100.6. Source Node, S will calculate the average rating of

all nodes in each path and choose the path with maximum average rating.

Page 18: Ad hoc Networking Security: Solving  Node Selfishness Problem

Executing the entire Watchdog Algorithm Consider the following Scenario:1. Node S has the following rate for its known nodes:

2. Assume following events occur in order: E-1: packet forwarding to 3 using route <S,4,1,2,3> is successful E-2: packet forwarding to 3 using route <S,5,1,6,2,3> fails as link

between 6 & 2 is broken (i.e. node 2 & node 3 is unreachable) E-3: Packet forwarding attempt using <S,5,7,2,3> identifies Node 7 as

a selfish node

S 1 2 3 4 5 6 71.0 0.55 0.5 0.5 0.6 0.5 0.5 0.5

1 2 3S

4

5

6

7

Page 19: Ad hoc Networking Security: Solving  Node Selfishness Problem

Executing the entire Watchdog AlgorithmQuestion 2:What is the updated node rating table of node S? Which one of the following 3 routes S will choose to send a packet to Node 3: Is it <S,5,7,2,3> or <S,4,1,2,3> or <S,5,1,2,3>?

S 1 2 3 4 5 6 71.0 0.5

50.5 0.5 0.6 0.5 0.5 0.5

E-1 1.0 0.56

0.51

0.51

0.61

E-2 1.0 0.46

0.46

E-3 1.0 -100

Final

1.0 0.56

0.46

0.46

0.61

0.5 0.5 -100

Rating of <S,5,7,2,3> = (1.0+0.5-100+0.46+0.46)/5 Rating of <S,4,1,2,3> =(1.0+0.61+0.56+0.46+0.46)/5Rating of <S,5,1,2,3> =(1.0+0.5+0.56+0.46+0.46)/5

<S,4,1,2,3> has the highest rating. So it will be chosen

Page 20: Ad hoc Networking Security: Solving  Node Selfishness Problem

Watchdog Algorithm: Pros & ConsSimple. Enhance the network performance. Weaknesses in Monitoring: collision, limited power transmission.

It does not give any penalty to a selfish node, instead it helps the selfish node to save its energy. How??What if A lies?? Reputation of A??

Page 21: Ad hoc Networking Security: Solving  Node Selfishness Problem

End-End Ack-How it works?Basis: Monitoring the reliability of routes by acknowledging in an end-end manners

If S gets an ack (within the time out interval) from D after sending a packet, the route is fine. Otherwise not Successful delivery of a packet will increase the route rating and unsuccessful delivery decrease route ratingIf a route’s goes under a threshold(not reliable any more) the route will not be used (may be for a specific time)

Cross layer mechanism makes it possible to use TCP ack instead of implementing end –end ack in network layer

TCP

Network

TCP

Network

S Dend-end ack

Page 22: Ad hoc Networking Security: Solving  Node Selfishness Problem

End-End Ack-Pros & Cons Unreliable routes can be avoided. So routes having selfish node can also be avoided.

Cross layer mechanism makes it possible to use TCP ack instead of adding explicit ack in network layer .

Ack needs to be signed (specially in network layer ack implementation). In this case, end-end security association is required

Can it detect the selfish/misbehaving node? No ---This is the main drawback of this solution.

Page 23: Ad hoc Networking Security: Solving  Node Selfishness Problem

Signed token based Solution Collaborative localized monitoring.

Only Nodes with a valid token(signed collaboratively by its neighbors) can participate in network operation.

A misbehaving/selfish node’s token will be revoked by its neighbors.

RSA is used

Based on threshold secret sharing(polynomial secret sharing).

Here private/secret key(sk) is shared among n nodes. Signing a token with private key , sk is same as if k(out of n) nodes sign the token with the part of sk it posses ”

Page 24: Ad hoc Networking Security: Solving  Node Selfishness Problem

Signed token: How it works? 3 components: Collaborative monitoring, token renewal, token revocation. Token Renewal: K out of N neighbor nodes issue/renew a token for a node.

Page 25: Ad hoc Networking Security: Solving  Node Selfishness Problem

Signed token: How it works? contd Steps Involved(simplified):Upon detecting misbehavior of a neighbor ,a node broadcast a SID( single intrusion detection) to its neighbor.

Once a node received m (e.g. m=k) independent SID it broadcasts a GID(Global Intrusion Detection) to its neighbors.

When a node received K independent GID, it constructs a signed TREV(token revocation) packet and broadcasts it.

Upon receiving the signed TREV, a node checks its TREV table, if there is no entry for this node include it into the TREV table.

Any active link with a revoked node will be considered as broken

Page 26: Ad hoc Networking Security: Solving  Node Selfishness Problem

Signed token: Pros & Cons Localized solutions. Signature management is also done locally.

Self organized.

Very much suitable for a dense network; protect misbehavior in routing and packet forwarding.

A node with less than K neighbors cannot communicate. –> Main Drawback

Page 27: Ad hoc Networking Security: Solving  Node Selfishness Problem

CONFIDANT A reputation based solution. Can be considered as an extension of DSR. Treats Misbehavior as an exception.4 components: Monitor, Reputation System, Trust Manager, Path Manager

1. Misbehavior detected2. Exceed the threshold3. Rate the selfish node considering other’s feedback also .4. Informs it to others as an alarm5. Other Nodes will do the same thing. However they will also

consider informer’s trustworthiness6. If the node rate is less than the threshold , avoid the path with

misbehaving node

Page 28: Ad hoc Networking Security: Solving  Node Selfishness Problem

Executing CONFIDANT : (simplified example)

1. Route Request: A wants to send a packet to E

2. Route Reply: D and E both know a path to E

Route Cache of A

empty

Route Cache of A

[A,B,E][A,C,D,E]

Page 29: Ad hoc Networking Security: Solving  Node Selfishness Problem

Executing CONFIDANT : (simplified example)

3 . Data Flow & Alarm: A sends data and receives alarm from C

that D is misbehaving

4. Act on Alarm: A chooses an alternative path to E

Route Cache of A

[A,B,E][A,C,D,E]

Route Cache of A

[A,B,E]Update

d

Page 30: Ad hoc Networking Security: Solving  Node Selfishness Problem

CONFIDANT: Pros & Cons Performance enhancement with some overhead.

Overhead(O): In this case additional alarm messages are transmitted along with all DSR’s regular messages(i.e. Route Request, Route Reply and Route Error Message)

In the last execution of CONFIDANT, Overhead(O)=2/10=1/5=20% [ This is Question3]

Trust issue. Alarm msg needs to be signed

Page 31: Ad hoc Networking Security: Solving  Node Selfishness Problem

Conclusion Monitoring is the basis for most of the proposed solutions.

Where as Watchdog solution only avoids a route having misbehaving node , the reputation based solutions (e.g. CONFIDANT and Signed) also penalize the selfish/misbehaving node/

However most of the solutions have some limitations.

End-End ack selfish node undetectedSigned Token Node needs at least K neighbors to perform

Page 32: Ad hoc Networking Security: Solving  Node Selfishness Problem

References: 

Yang, H.; Meng, X.; Lu, S. Self-organized network layer security in mobile ad hoc networks. ACM MOBICOM Wireless Security Workshop (WiSe 2002), Atlanta, GA,Sept 28, 2002. S. Buchegger and J.-Y. Le Boudec, Nodes Bearing Grudges: Towards Routing Security, Fairness,and Robustness in Mobile Ad Hoc Networks, in Proceedings of the 10th Euromicro Workshopon Parallel, Distributed and Network-based Processing.  S. Buchegger and J.-Y. Le Boudec, Performance Analysis of the CONFIDANT Protocol, inProceedings of MobiHoc 2002.  S. Marti, T. Giuli, K. Lai, and M. Baker, Mitigating Routing Misbehavior in Mobile Ad HocNetworks, in Proceedings of MOBICOM 2000.  P. Michiardi and R. Molva, Core: A COllaborative REputation mechanism to Enforce Node Cooperation in Mobile Ad Hoc Networks, in Proceedings of IFIP Communication and MultimediaSecurity Conference 2002. Conti, M.; Gregori, E.; Maselli, G. Improving the performability of data transfer in mobile ad hoc networks. The 2nd IEEE International Conference on Sensor and Ad Hoc Communications and Networks (SECON 2005), Santa Clara, CA, Sept 26–29, 2005.

“Ad Hoc Network Security” by Pietro Michiardi & Refik Molva

Page 33: Ad hoc Networking Security: Solving  Node Selfishness Problem

Thank You.

Questions??

Page 34: Ad hoc Networking Security: Solving  Node Selfishness Problem

34

Appendix-1: RSA key pair generation Steps Involved:

Page 35: Ad hoc Networking Security: Solving  Node Selfishness Problem

Appendix2: Question 1 Digital SignatureDigital Signature (DS): DS is created by encrypting the message with sender’s private key. Receiver can verify it by decrypting DS with sender’s public key.

Question 1 : Alice has the public key {e = 13, n = 899} and the private key {d = 517, n =899}. Bob has the public key {e = 17, n = 851} and the private key {d = 233, n = 851}. Suppose Bob has received the plain/unencrypted message 67 and the signature 129. Describe how Bob verifies the signature. [ Note: In this case, message is directly used to calculate signature using RSA] Solution: Here, M=67 and DS=129. Step 1. Bob should decrypt the DS using Alice’s public key

M’= (DS)13 mod 899=67 [use the trick discussed during presentation]Step 2. Now Bob will compare M’ with M. If they match then the signature is verified.

Page 36: Ad hoc Networking Security: Solving  Node Selfishness Problem

Appendix3: Question 2 on Pathrater Question 2:What is the updated node rating table of node S? Which one of the following 3 routes S will choose to send a packet to Node 3: Is it <S,5,7,2,3> or <S,4,1,2,3> or <S,5,1,2,3>?

S 1 2 3 4 5 6 71.0 0.5

50.5 0.5 0.6 0.5 0.5 0.5

E-1 1.0 0.56

0.51

0.51

0.61

E-2 1.0 0.46

0.46

E-3 1.0 -100

Final

1.0 0.56

0.46

0.46

0.61

0.5 0.5 -100

Rating of <S,5,7,2,3> = (1.0+0.5-100+0.46+0.46)/5 Rating of <S,4,1,2,3> =(1.0+0.61+0.56+0.46+0.46)/5Rating of <S,5,1,2,3> =(1.0+0.5+0.56+0.46+0.46)/5

[ Follow Slide No 17-19 . The algorithm is given there]

<S,4,1,2,3> has the highest rating. So it will be chosen

Page 37: Ad hoc Networking Security: Solving  Node Selfishness Problem

Appendix 4: Question 3 on CONFIDANT  Communication Overhead in CONFIDANT: In this case additional alarm messages are transmitted along with all DSR’s messages (i.e. Route Request, Route Reply and Error Message). It is calculated as follows: Question 3: Consider the following execution of the CONFIDANT Algorithm to calculate overhead(0).

Page 38: Ad hoc Networking Security: Solving  Node Selfishness Problem

Appendix 4: Question 3 on CONFIDANT Solution:

In this case Overhead(O) = 2/(6+4)=1/5= 20%


Top Related