PDoS-Resilient Push Protocols for Sensor Networks

Similar documents
An Enhanced Scheme to Defend against False-Endorsement-Based DoS Attacks in WSNs

TDMA-Based Detection of Packet Modification Attacks in Wireless Sensor Networks 1

Use of Symmetric And Asymmetric Cryptography in False Report Filtering in Sensor Networks

A METHOD FOR DETECTING FALSE POSITIVE AND FALSE NEGATIVE ATTACKS USING SIMULATION MODELS IN STATISTICAL EN- ROUTE FILTERING BASED WSNS

Secure Routing in Wireless Sensor Networks: Attacks and Countermeasures

ENSF: ENERGY-EFFICIENT NEXT-HOP SELECTION METHOD USING FUZZY LOGIC IN PROBABILISTIC VOTING-BASED FILTERING SCHEME

Improved Resilience against False Data Injection Attacks using PCRE Filtering Scheme

Sleep/Wake Aware Local Monitoring (SLAM)

A Secure Routing Method for Detecting False Reports and Wormhole Attacks in Wireless Sensor Networks *

An Interleaved Hop-by-Hop Authentication Scheme for Filtering of Injected False Data in Sensor Networks

A Feedback-based Multipath Approach for Secure Data Collection in. Wireless Sensor Network.

Key establishment in sensor networks

SELECTING VOTES FOR ENERGY EFFICIENCY IN PROBABILISTIC VOTING-BASED FILTERING IN WIRELESS SENSOR NETWORKS USING FUZZY LOGIC

WIRELESS sensor networks have received a lot of attention

A Fuzzy System based Approach to Extend Network Lifetime for En-Route Filtering Schemes in WSNs

Maximizing the Lifetime of Clustered Wireless Sensor Network VIA Cooperative Communication

CMNTS:Catching Malicious Nodes with Trust Support in Wireless Sensor Networks

Selective Forwarding Attacks Detection in WSNs

ISSN: ISO 9001:2008 Certified International Journal of Engineering and Innovative Technology (IJEIT) Volume 3, Issue 10, April 2014

Statistical En-route Filtering of Injected False Data in Sensor Networks

Unpredictable Software-based Attestation Solution for Node Compromise Detection in Mobile WSN

CSC 774 Advanced Network Security

LIGHTWEIGHT KEY MANAGEMENT SCHEME FOR HIERARCHICAL WIRELESS SENSOR NETWORKS

Chapter 55 Elimination of Black Hole and False Data Injection Attacks in Wireless Sensor Networks

Reliable Broadcast Message Authentication in Wireless Sensor Networks

Dynamic Key Ring Update Mechanism for Mobile Wireless Sensor Networks

Wireless Sensor Networks: Security Issues, Challenges and Solutions

Chongqing, China. *Corresponding author. Keywords: Wireless body area network, Privacy protection, Data aggregation.

AN EFFICIENT MAC PROTOCOL FOR SUPPORTING QOS IN WIRELESS SENSOR NETWORKS

Path Renewal Method in Filtering Based Wireless Sensor Networks

Energy-Efficient Security Threshold Determination Method for the Enhancement of Interleaved Hop-By-Hop Authentication

MODELING AND SIMULATION OF THRESHOLD ANALYSIS FOR PVFS IN WIRELESS SENSOR NETWORKS

The Design and Evaluation of Interleaved Authentication for Filtering False Reports in Multipath Routing WSNs

CHAPTER 2 WIRELESS SENSOR NETWORKS AND NEED OF TOPOLOGY CONTROL

Catching BlackHole Attacks in Wireless Sensor Networks

Source Anonymous Message Authentication and Source Privacy using ECC in Wireless Sensor Network

Secure Data Collection for Wireless Sensor Networks

Defending Against Resource Depletion Attacks in Wireless Sensor Networks

Secure Path-Key Revocation for Symmetric Key Pre-distribution Schemes in Sensor Networks

Routing Scheme in Energy efficient based Protocols for Wireless Sensor Networks

Wireless Network Security Spring 2015

Duplicate Node Detection Using Distributed Protocols (3D-NUP) in WSN

Kun Sun, Peng Ning Cliff Wang An Liu, Yuzheng Zhou

DETECTING, DETERMINING AND LOCALIZING MULTIPLE ATTACKS IN WIRELESS SENSOR NETWORK - MALICIOUS NODE DETECTION AND FAULT NODE RECOVERY SYSTEM

Providing Transparent Security Services to Sensor Networks

Key establishment in sensor networks

Black Hole Detection Scheme in WSN for Mobile Replica Node Detection and Rejection

Computer Based Image Algorithm For Wireless Sensor Networks To Prevent Hotspot Locating Attack

Localized and Incremental Monitoring of Reverse Nearest Neighbor Queries in Wireless Sensor Networks 1

A New Approach for Key Forwarding Scheme in WSN Using Mobile Sink

Introduction and Statement of the Problem

Session key establishment protocols

Session key establishment protocols

Reservation Packet Medium Access Control for Wireless Sensor Networks

CS 161 Computer Security

Random Key Pre-distribution Schemes using Multi-Path in Wireless Sensor Networks

Cryptography and Network Security. Prof. D. Mukhopadhyay. Department of Computer Science and Engineering. Indian Institute of Technology, Kharagpur

Provably Secure On-demand Source Routing in Mobile Ad Hoc Networks

How to Break and Repair Leighton and Micali s Key Agreement Protocol

ENERGY-EFFICIENT PATH CONFIGURATION METHOD FOR DEF IN WSNS

Energy-Aware Routing in Wireless Ad-hoc Networks

Lightweight and Compromise-Resilient Message Authentication in Sensor Networks

INSENS: Intrusion-tolerant routing for wireless sensor networks. By: Jing Deng, Richard Han, and Shivakant Mishra

SENSOR-MAC CASE STUDY

CSMA based Medium Access Control for Wireless Sensor Network

ComparisonofPacketDeliveryforblackholeattackinadhocnetwork. Comparison of Packet Delivery for Black Hole Attack in ad hoc Network

Mitigating DoS attacks against broadcast authentication in wireless sensor networks

Design and Implementation of TARF: A Trust Aware Routing Framework WSN s

Ameliorate Threshold Distributed Energy Efficient Clustering Algorithm for Heterogeneous Wireless Sensor Networks

Balanced Load Sharing Protocol for Wireless Sensor Networks

Wireless Network Security Spring 2014

EFFICIENT AND PRIVACY-AWARE DATA AGGREGATION IN MOBILE SENSING

Enhancing Energy Efficiency in Wireless Sensor Networks via Improving Elliptic Curve Digital Signature Algorithm

The Cryptographic Sensor

CSC 774 Advanced Network Security

Hop-by-Hop Cooperative Detection of Selective Forwarding Attacks in Energy Harvesting Wireless Sensor Networks

Provably Secure On-demand Source Routing in Mobile Ad Hoc Networks

ISSN: ISO 9001:2008 Certified International Journal of Engineering Science and Innovative Technology (IJESIT) Volume 3, Issue 4, July 2014

1 Defining Message authentication

1 Connectionless Routing

IMPROVING WIRELESS SENSOR NETWORK LIFESPAN THROUGH ENERGY EFFICIENT ALGORITHMS

Presented by: Mariam Ahmed Moustafa Faculty of Engineering, Alexandria University, Egypt. 24 March 2016 RIPE NCC / MENOG 16

Defenses against Wormhole Attack

Cryptography: More Primitives

Analysis of Cluster-Based Energy-Dynamic Routing Protocols in WSN

S. Erfani, ECE Dept., University of Windsor Network Security

PROTECTING SOURCE LOCATION PRIVACY AGAINST WORMHOLE ATTACK USING DAWN IN WIRELESS SENSOR NETWORKS

Nodes Energy Conserving Algorithms to prevent Partitioning in Wireless Sensor Networks

End-To-End Delay Optimization in Wireless Sensor Network (WSN)

A NOVEL APPROACH FOR DETECTING COMPROMISED NODES IN WIRELESS SENSOR NETWORKS

Security Issues In Mobile Ad hoc Network Routing Protocols

Crypto-systems all around us ATM machines Remote logins using SSH Web browsers (https invokes Secure Socket Layer (SSL))

Chord-based Key Establishment Schemes for Sensor Networks

On the Energy Cost of Communication and Cryptography in Wireless Sensor Networks

Time Synchronization in Wireless Sensor Networks: CCTS

Wireless Network Security Spring 2016

Mobile Agent Driven Time Synchronized Energy Efficient WSN

Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY Fall Quiz II

SECURE DATA AGGREGATION TECHNIQUE FOR WIRELESS SENSOR NETWORKS IN THE PRESENCE OF SECURITY THREATS

Clustering Based Certificate Revocation Scheme for Malicious Nodes in MANET

Transcription:

2009 Third International Conference on Sensor Technologies and Applications PDoS-Resilient Push Protocols for Sensor Networks Matthias Enzmann, Christoph Krauß, and Claudia Eckert Fraunhofer Institute for Secure Information Technology (SIT), Rheinstr. 75, 64295 Darmstadt, Germany Fraunhofer Institute for Secure Information Technology (SIT), Parkring 4, 85748 Garching (near Munich), Germany {matthias.enzmann, christoph.krauss, claudia.eckert}@sit.fraunhofer.de, contact author Abstract Push protocols are attractive for WSNs if sensor information is expected to be sent frequently. However, node compromise and changing routes in a WSN pose a security challenge in the design of a push service as the service may be misused for Path-based Denial of Service (PDoS) attacks. In this paper, we propose push protocols resilient against PDoS attacks which also cope with the dynamics of WSNs. Index Terms wireless sensor networks, security, PDoS attack, push protocol. I. INTRODUCTION Push protocols are more attractive than query-response protocols, especially for wireless sensor networks (WSN), as up-to-date sensor information can be provided to receivers as soon as it is available. It is expected that WSNs [1] will be deployed in many security- and safety-critical applications, such as military surveillance, or medical applications such as patient health monitoring. Thus, securing sensor networks is of paramount importance. However, since the resources of the sensor nodes are severely constrained, and sensor nodes may be deployed in an unattended or even hostile environment, this is a challenging task. An adversary may compromise a sensor node to access all data stored on the node (e.g., cryptographic keys) and perform insider attacks [2], e.g., inject false data to cause false alarms. Likewise, she can inject numerous false messages to waste the scarce energy resources of the forwarding nodes that send the data through multi-hop communication to the base station, called sink. This attack is called Path-based Denial of Service (PDoS) attack [4]. In this paper, we propose two protocols allowing sensor nodes to send measurements/reports to the sink while preventing an adversary from sending arbitrary many reports along the multi-hop path to the sink, thereby depleting the resources of all forwarding nodes. In particular, we want to prevent an adversary from replaying old or injecting new messages to deplete the resources of participating sensor nodes. In other words, we seek to design protocols allowing a secure push service from a sensor node to the sink. II. RELATED WORK Several protocols have been proposed to cope with false data injection and PDoS attacks. For instance, the protocols presented in [5][6][7][8] rely on a threshold scheme, i.e., after an adversary compromises a certain number of nodes, the security of the protocols totally breaks down. In addition, false messages are filtered out in a probabilistic way, i.e., they are forwarded several hops before being filtered out. In [9], a commutative cipher-based filtering mechanism is proposed that does not rely on a threshold scheme. The protocol works only in query-response operation mode, i.e., sensor nodes can only send messages after they have received a query. The major drawback of the protocol is the dependency on appropriate commutative ciphers. All appropriate ciphers are based on public key cryptography which should be avoided in resource constrained WSNs. A protocol that also works in query-response operation mode but relies only on efficient symmetric key cryptography is proposed in [10]. An adversary can compromise an arbitrary number of sensor nodes and the protocol is still resistant against PDoS attacks. In our work, we seek to achieve resilience to node compromise comparable to the protocol proposed in [10] without relying on a query-response operation mode. In addition, our proposed protocol uses only efficient symmetric cryptographic primitives in normal operation and at most one asymmetric operation during setup/reorganization. In contrast to previous work, our protocol does not rely on a threshold scheme and does not require probabilistic filtering. III. SETTING We consider large scale, static WSNs that are deployed in a hostile environment. Sensor nodes are limited in their storage, computational, and communication resources, e.g., comparable to the Berkeley MICA motes [11]. Since sensor nodes are battery-powered, it is crucial to conserve energy to prolong the lifetime of the network. Each node has enough storage space to store a few bytes of keying information and is able to perform some basic operations, like computing hash functions, symmetric encryption, etc. However, they are not able to constantly perform public key operations. The sensor nodes can be deployed randomly (e.g., via aerial scattering), i.e., the immediate neighboring nodes of any sensor node are not known in advance. The network is densely deployed, such that the same or similar physical phenomena may be detected by multiple sensor nodes. The sink is assumed to be uncompromised at all times, i.e., always trusted, and it is not resource constrained, unlike the nodes. It possesses all keying material shared with the sensor nodes. We assume that messages from the sink are authenticated by an authentication scheme, that supports immediate authentication and replay protection, e.g., [12]. In this work, we focus only on the threat of PDoS attacks. We assume additional mechanisms are deployed to cope with an adversary that injects false data with the goal to deceive the sink, e.g., [3]. 978-0-7695-3669-9/09 $25.00 2009 IEEE DOI 10.1109/SENSORCOMM.2009.75 455

456

In the next step, S uses a collision-resistant one-way function h : {0,1} l {0,1} k, where k is some fixed integer determined by h. This function is used to produce the value c = h m (r) = h h h(r), i.e., the function h is iteratively applied m times to the input r. In the following, we will refer to c as the tag (for R n ). It will be used later on by the nodes to determine the freshness of any report allegedly sent by CH and it will also identify the session between S and CH. The value r used in computing the tag is encrypted using a symmetric key K CH which, we assume, was established beforehand between S and CH. We denote the encrypted value of r by {r} KCH. Another requirement is that at least the nodes S i R n must be able to determine the authenticity of the tuple (m, c, ID CH ) containing the counter m, the tag c, and the identifier ID CH of CH in order to thwart or mitigate certain attacks on the protocol (see Section VII). However, considering only the nodes of the initial route R n is not sufficient as R n may change and new nodes need to authenticate the tuple (m, c, ID CH ) or the protocol would be open for attacks, again. Hence, we need a secure authentication scheme σ that allows all nodes to authenticate (m, c, ID CH ) at all times. By secure we mean that for a given value x it is hard to forge the corresponding authentication data σ(x) later, we will also call σ(x) an authenticator (for x). Using an appropriate authentication scheme σ, S produces an authenticator σ(m, c, ID CH ) for (m, c, ID CH ) which becomes part of the Establish message. The complete Establish message sent upstream to CH then has the following structure. S CH: m, c, ID CH, σ(m, c, ID CH ), {r} KCH (1) To verify an Establish message, each node S i R n (1 i n) checks if c W and c B, i.e., if c is not already active and not blacklisted, respectively. Afterwards, the authentication data σ(m, c, ID CH ) is verified with respect to (m, c, ID CH ). If any one check fails S i simply drops the message. If S i was able to successfully verify the data, the tuple (m, c, ID CH, σ(m, c, ID CH )) is stored and c becomes part of the working set W. After this, S i forwards the message to the next node S i+1. Eventually, the node S n = CH, will also receive the message. Like its predecessors, CH verifies the authenticity of (m, c, ID CH ). Then it decrypts {r} KCH and verifies that h m (r) = c. If any one of its checks fails, CH will blacklist c, i.e., store c in B, and henceforth refuse to send or accept any message relating to c. If all goes well, CH stores the resulting tuple (m, c,σ(m, c, ID CH ), r) and puts c in W. This concludes the establishment phase. B. Push After CH received and processed sensor information from its cluster nodes, it wants to sent the report data R back to S. For this, it first decreases its current local lifetime counter m n by 1, i.e., it sets m n := m n 1. Then it computes the tag c := h mn (r). If (the updated) m n = 0, the lifetime of the established route R n has expired, since the secret r will be disclosed as h 0 (r) = r. Thus, S and CH will have to engage into a new run of Establish in order to continue to securely receive and send reports. In this case, CH moves c from W to B and, after the final message was sent, deletes r, c, and all of its remaining state information with respect to R n. Finally, CH sends the following Push message, including the report R towards S, by sending it to its predecessor S n 1. CH S : R,c (2) Each node S i (0 i n 1) maintains its own locally stored version of the counter m i and the tag c i = h mi (r). If S i has only received legitimate Push messages so far, its own counter m i and the current counter m i+1 of its successor, S i+1, must differ by 1 after S i+1 sent the message. That is, m i = m i+1 +1 must hold. Now, when S i receives a Push message R,c, it looks up h(c ) in its storage. According to Equation (3), if c is a valid tag, S i will find a suitable state c i. h(c ) = h([h mi+1 (r)]) = [h (mi+1+1) (r)] = h mi (r) = c i (3) If the look-up did not bring up a state, the message will be dropped and S i will stop processing it. Otherwise, S i holds a state tuple. The state s tag and counter are updated to catch up with S i+1, i.e., S i sets c i := c and m i := m i 1. If in this process m i becomes zero, the node will delete the state tuple and move c from the working set W to the blacklist B. Finally, S i will forward the Push message to its predecessor S i 1. Of course, the node S 0, i.e., the sink, will not forward any message. Also, if the sink s local counter m 0 reaches zero, it needs to run Establish to further receive any report. C. Adopt As we seek to support a possibly long-standing relationship between S and CH, we cannot assume that the route R n will not change during that period, e.g., through updates of the nodes routing tables. Therefore, we introduce Adopt messages whose main purpose is to integrate and synchronize sensor nodes which became new members of R n or whose state is out of sync with their route neighbors. Suppose that node S j receives an update for its routing table telling it to route messages destined for S over S i instead of S i recall that Push messages travel from CH to S. We denote a route before the update by R n and the route to be newly established by Rñ. In case of a route update, S j sends the following Adopt message to S i. S j S i : m j, c j, m,c, ID CH, σ(m, c, ID CH ) (4) The message consists of S j s internal state, i.e., its current lifetime counter m j and the tag c j, the initially sent counter m and its corresponding tag c, the cluster head s identifier ID CH, as well as the authentication data σ(m, c, ID CH ). In the following, we distinguish two cases: (a) S i has no state in W that relates to c (b) S i has some state relating to c in W. (a) If the receiving node S i has no previous state information, it will have to verify the authenticity of the message using m, c, ID CH, and the authenticator σ(m, c, ID CH ). If this fails or c is blacklisted in B, S i drops the message. Otherwise, it checks if Equation (5) holds. c = h (m mj) (c j ) (5) The check ensures that the pair (m j, c j ), received from S j, is a valid pair derived from (m, c) initially sent by S. If Equation 457

(5) holds, S i adopts S j s state as its own, i.e., the Adopt message is stored and c becomes part of S i s working set W. Note that the internal states of all nodes in an established route are supposed to be identical and will only (temporarily) differ when a Push message travels from CH to S. Next, S i will consult its own routing table and forward the Adopt message to its predecessor S i 1, i.e., a node closer to S (according to its routing table). Again, the receiving node S i 1 may or may not have state information with respect to the current or a previous route, which leads us back to our starting point, i.e., applying case (a) or (b). After S i has sent the message, it will behave as any other node in Rñ. (b) If the receiving node S i has memory of a previous route R n, it will find an internal state (m i, c i, m, c, ID CH, σ(m, c, ID CH)) by looking up c. The action taken by S i with respect to the Adopt message will depend on the following conditions. (C1) m = m (C2) σ(m, c, ID CH ) = σ(m, c, ID CH) (C3) Equation (5) holds (C4) m j m i The look-up of c and Condition (C1) ensure that S j and S i both refer to the same tag and initial counter, respectively. Condition (C2) ensures that the authenticator σ(m, c, ID CH ) is valid recall that S i has already checked the validity of its authenticator σ(m, c, ID CH). Next, condition (C3) ensures that the counter m j and the tag c j are valid. Finally, (C4) checks if the nodes disagree on the counter s current value. If any one of the conditions (C1) (C4) is not satisfied, S i drops the message. Note that failure to comply with conditions (C1) (C3) is security-related while a failure in only (C4) indicates that both nodes are synchronized, i.e., m j = m i. If either (i) m i > m j or (ii) m i < m j S i needs to take action. (i) In the case m i > m j, the node S i will assume that it has an outdated state. Since more up-to-date counters will have seen more Push messages, they represent less remaining lifetime with respect to Rñ. Hence, S j s lower counter m j is more up-to-date than S i s. Consequently, S i updates its own counter and tag to the values from the Adopt message, i.e., it sets m i := m j and c i := c j. Furthermore, S i will assume that its other route neighbor will need an update of its state, too. Thus, if it received the message from its successor, i.e., S j = S i+1, it sends the Adopt message downstream to its predecessor S i 1. Similarly, if it received the Adopt message from its predecessor, i.e., S j = S i 1, then it forwards the message upstream to its successor S i+1. (ii) If m i < m j then S i will assume that its own state is more up-to-date than the one received from S j. In this case, S i takes the received Adopt message, replaces m j and c j with m i and c i, respectively, and sends the modified message back to S j. Upon reception of the Adopt message, S j will find itself in the same role as S i in paragraph (i). VI. SECURITY ANALYSIS OF THE PROTOCOL In the following, we will analyze our push protocol with respect to the security requirements from Section IV-C. We consider two phases, the setup and synchronization of nodes and the operational phase of nodes. The former includes Establish messages and Adopt messages and the latter includes Push messages. In the following, we use the term related for messages that include or refer to the same tag c. A. Freshness We will now show that the protocol satisfies the freshness requirement. Note that freshness refers to a single node s point of view. That is, a message considered fresh by some node S i is not necessarily a recently generated message but one that had not been processed by S i before. Let M be an Establish or Adopt message related to R n. Furthermore, suppose that node S i has not received any message related to route R n and its corresponding tag c. Upon reception of M, S i will verify the authenticity of the message by checking the authenticator σ. Depending on the authentication scheme, this might be an operation that makes use of asymmetric cryptography, i.e., it might be an expensive operation in terms of energy. However, no matter which authentication scheme will be employed the computation has to be done only once per route and thus, the energy consumption for the processing of M is acceptable. If S i was able to verify the authenticity of M it will check if the tag c from the message is in its working set W or in its blacklist B. According to Sections V-A and V-C, if M had been processed before, S i would have put c into W c might have been moved from W to B if R n became inactive (see Section V-B). By assumption, S i has not received any message relating to R n, i.e., c / W and c / B, thus S i will rule that M is fresh, as required. Let M be a Push message related to an established route R n that includes node S i. Upon reception of M, S i processes M according to Section V-B. Using the tag c from M, S i tries to look up c i = h(c ) from its state table, i.e., it checks if c is the predecessor of one of its currently active tags c i. Note that, globally speaking, c would have to be considered fresh if c would be any predecessor of any one of S i s active tags, i.e., c i = h j (c ), for some j > 0. Although, S i s local view will only allow it to consider c as fresh if it is the immediate predecessor of one of its active tags (j = 1), it will also never accept tags ĉ = h k (c i ) (for k 0) which are successors of or identical to any currently active tag c i, i.e., tags from previously received Push messages. Since S i will only accept the immediate predecessor of any on of its local tags c i, it will not accept any previously processed message, as required. B. Unforgeability In the following, we will show that our protocol also satisfies the unforgeability requirement, i.e., that a compromised node Sj cannot produce a proof of freshness that would be accepted by any honest node S i. Recall that checking the freshness of some message M is not only a matter of verifying the included tag c, c, or both but also verifying the authenticity of the initial tag c. Further note that though anyone can produce tags c = h m ( r), for some m > 0 and some r {0,1} l (see Section V-A), only the sink S is able 458

to produce an authenticator σ, for a given tuple (m, c, ID CH ), that will be accepted by all nodes. Let M be an authentic Establish or Adopt message created by the sink S and let Sj be a compromised node. For contradiction, suppose that Sj is able to change one or more of m, c, ID CH, σ(m, c, ID CH ) from M such that the change cannot be detected by an honest node, i.e., passes verification. First, assume that Sj comes up with a new and different tuple m, c, ID CH, σ(m, c, ID CH) that passes verification. In this case, the attacker would have found a way to forge an authenticator σ(m, c, ID CH) which violates our assumption that σ is a secure authentication scheme. Now, assume that Sj was able to find m, c, ID CH such that σ(m, c, ID CH) = σ(m, c, ID CH ). Again, this violates our security assumption on σ as in this case Sj would be able to efficiently find collisions with respect to authenticators. Hence, we conclude that undetectably changing m, c, ID CH, or σ(m, c, ID CH ) from some authentic message M is infeasible. Let M be a Push message. According to Sections V-B and VI-A, an honest node S i will only forward M if it contains a fresh tag c with respect to S i s local view. Suppose Sj replaces c by c c in M, creating the Push message M. Any honest node S i will only accept M if c is the predecessor of one of its previously established tags c i. Suppose Sj knows any one of S i s currently active tags c i and produces c such that h(c ) = c i. This, however, means that Sj is able to find a second pre-image of c i which violates our assumption that h is one-way and collision-resistant. Thus, we conclude that forging a fresh tag c is infeasible and messages M cannot be forged by Sj. VII. DISCUSSION OF PROTOCOL MISUSE In the previous section, we have shown that our protocol satisfies the stated security requirements. In the following, we consider attacks of an adversary A that aim on subverting the functionality of the whole WSN by misusing our protocol in order to mount PDoS attacks. As a basic defense mechanism, link layer security can be employed to prevent successful attacks from an adversary outside the WSN. Using link layer security, messages are only accepted from authenticated neighbors which are part of the WSN. As a result, an adversary first needs to compromise sensor nodes to perform a PDoS attack. Note, however, that link layer security is not a prerequisite for our protocol. In any case, A s goal is to inject or replay messages, e.g., to create alternate routes, in order to deplete the resources of as many nodes as possible. For this, A may modify, replay, or even try to forge any message from our protocol. However, as shown in Section VI-B, an adversary cannot forge messages but she can (mis)use eavesdropped messages for her attacks. Let M be an authentic Establish or Adopt message eavesdropped by A. M is only accepted and forwarded by nodes which recognize M as fresh. For instance, take Figure 1 and assume that node S 2 was compromised by A and subsequently sends M to all its network neighbors, i.e., sensor nodes 7, 8, 11, 13, 16, and 17. As these attacked nodes are not part of R n, they will rule that M is fresh and forward M towards CH. Note that A cannot redirect M towards a new cluster head as ID CH is authenticated. Hence, M will always be drawn to CH by virtue of the routing algorithm. Although, attacked notes may infect some of their network neighbors too, it can be expected that, by the pull towards CH, M will end up at some node that processed M before and thus, will drop it. For instance, attacked node 11 can be expected to forward M to attacked node 16 or 17 but surely not to node 5, 10, or 15. Therefore, A s attack can be expected to only have a local impact that will not subvert the whole WSN. A more powerful adversary may be able to inject M at any desired point in the network, e.g., by using a wormhole. For example, in Figure 1, A may transfer M to another, possibly also compromised, node 4. If node 4 is compromised it will forward M to all of its neighbors, i.e., nodes 3, 8, 9, otherwise either to node 8 or 9. Note that an uncompromised node 4 will not accept M if link layer security is employed, as S 2 is not one of its neighbors. Given that node 4 forwards M, at least one alternate route to CH will be created. In order to subvert the whole WSN with this attack, the adversary needs to compromise a large amount of sensor nodes at distinct locations. However, if the adversary has compromised that many nodes, the functionality of the WSN is already at stake. Next, we consider attacks using Push messages. First, assume that an adversary has compromised CH = S n with a remaining lifetime counter m n. Thus, A is able to inject m n push messages which are forwarded towards S by all nodes in R n. However, the attack is still limited to at most m n Push messages. In contrast, a simple push protocol would allow A to inject an arbitrary number of messages. Now, assume that A compromised an intermediate node S i. As shown in Section VI-B, A cannot forge Push messages but she can try to replay them. However, as shown in Section VI-A, replayed messages are dropped by all nodes on the route R n and all nodes without a corresponding state for the Push message. Now, A may still attack her network neighbors which have not received an Establish or Adopt message related to some legitimate Push message M. In this attack, A first replays the previously received Establish message related to M and then sends all of M s preceding Push messages over the established route. Again, in the worst case, A will be able to replay at most m messages. For example, assume S 2 in Figure 1 is compromised and has stored an Establish message and all m related Push messages. By sending the Establish message to nodes 7, 8, 11, 13, 16, and 17, these nodes will accept m Push messages. Note that this attack is also expected to have an impact on S 2 s network neighbors only. Likewise, Adopt messages can be used instead of Push messages for the attack discussed before. In this case, the counter m j of each affected node will be decremented by 1 with each Adopt message, see (b)(i). As before, this attack can be combined with a wormhole attack, such that the adversary will be able to replay all m messages to any node in the network. As mentioned before, if A is able to perform such sophisticated wormhole attacks, the 459

WSN is likely to be unusable anyway. Thus, in the following we ignore wormholes and concentrate on securing the protocol against the injection attacks on network neighbors. In the next section, we sketch the idea for making the protocol more resilient against this type of attack. VIII. PROTOCOL ENHANCEMENT The protocol enhancement is inspired by the Neighbor Watch System (NWS) [13] which uses the fact that the onehop neighbors of some node S i are in communication range and hence, are able to overhear all messages sent by S i (see the dotted circles for nodes S i in Figure 1). The basic idea for the enhancement is that nodes neighboring the nodes in R n also perform all steps of the protocol in parallel we call these nodes watchers. That is, whenever Establish, Push, or Adopt messages are sent, watchers act like any node S i R n. As a result, replayed messages from a compromised node S i will be dropped by the watchers before the message reaches nodes further away. For example, in Figure 1, nodes 7, 8, 11, 13, 16, 17 would watch S 2, i.e., perform the protocol in parallel to S 2. Thus, replayed messages from S 2 will be dropped by all watchers and the attack cannot spread. Conversely, in the basic protocol, if S 2 attacks node 11, the attack may spread to node 5, if node 11 routes messages for the sink over node 5. Clearly, the enhancement introduces additional costs for the watchers to overhear messages and to perform the protocol in parallel. However, additional costs for listening are not necessarily introduced, e.g., if neighbouring nodes can have synchronized duty/sleep cycles like in S-MAC [14], i.e., nodes send/receive at the same time and sleep at the same time. Still, even then the enhancement will consume considerably more energy than the basic protocol and hence its application needs to be carefully considered. Also, the enhancement will not payoff if in most instances the attacked nodes will forward messages via any node in R n. In other words, if there is a strong pull towards R n for any message forwarded from an attacked node, the resources spent by the watchers will be wasted. Note that the enhancement is not meant as a protection against wormhole attacks. IX. PERFORMANCE ANALYSIS In this section, we analyze the storage and energy requirements of the protocol and its enhancement in detail. In addition, we provide a comparison between an unprotected push protocol and our protocols in terms of energy consumption. A. Storage Requirements Each node S i R n (i = 0,...,n) must store a state tuple with respect to route R n. A state tuple is comprised of the node s current counter m i, its current tag c i, the lifetime counter m, the route s tag c, the identifier ID CH of the cluster head, and the authenticator σ(m, c, ID CH ). In addition, each node holds a working set W and a black list B. However, the storage size of W can be ignored, as the route s tag is already accounted for in the state tuple. Furthermore, CH must additionally store the symmetric key K CH shared with S and the seed r. Let L m, L h, L ID, L K, L r, and L σ denote the byte-length of a node s local counter, a hash value, a node identifier, a symmetric key, the seed r, and the authenticator σ, respectively. Assuming that a node may hold a state table and black list with s and b many entries, respectively, the total storage required is SR = s (2 (L m +L h )+L ID +L σ )+b L h. Now, if we have L m = L ID = 2, L h = L r = L K = 8, L σ = 20 for the byte-length of the state tuple s respective entries, s = 5 tuples stored in the state table, and a blacklist which may hold b = 10 entries, we get SR = 290 bytes for each intermediate node and SR + L K + L r = 306 bytes for CH, which is suitable for current sensor hardware. B. Energy Consumption In the following, we first calculate the energy needed for running a simple, unprotected push protocol and for running our initial protocol. Then, we compare the two under an attack scenario and finally, compare the initial push protocol with its enhanced version using watchers. For this, let n be the length of the route, m be the number of Push messages, and β be the number of messages injected by the adversary A. We denote the energy consumption for the performed operations by e s (e r ) for sending (receiving) 1 Byte, e h for computing a hash value, and e σ for validating σ. In an unprotected push service, a message only holds the report data R. Hence, the energy consumption for sending R along R n is E = L R (e s +e r ) n. In our protocol, the energy consumed for processing a Push message is slightly higher, as an additional hash value is sent which must be verified by each node in R n, resulting in E = ((L R +L h ) (e s +e r )+e h ) n. The energy required for establishing the route R n is given as E S = (L Establish (e s + e r ) + e h + e σ ) n, where L Establish denotes the byte-length of an Establish message. For the attack scenarios below, we assume that A = CH, which is the worst case, and that A has α network neighbors (including S n 1 R n ) which are attacked by sending them β messages. Furthermore, for the routes of the injected messages, we assume the worst case, again. That is, we assume that messages forwarded by the attacked nodes travel along alternate, disjoint routes. For simplicity, we assume that the length of R n and the alternate routes is the same, i.e., n. In an attack on an unprotected push service, the energy consumed is given as E A = L R (e s +e r ) n α β, neglecting costs for setting up a route. For an attack on our protocol, we assume that m i = m for all S i R n, i.e., the maximum number of messages can be sent by A. First, assume that A uses β messages in its attack, where β > m. This induces an energy consumption function ε(x,l) = (L (e s + e r ) + e h ) x n + (L e r + e h ) (β x), where x and L denote the number of allowed messages and the message s byte-length, respectively. The first term of ε s outer sum is the energy consumed for processing x messages along R n and the second term is the energy consumed by the node processing/filtering messages after m = 0. Thus, an attack on R n with Push messages gives us E A = E S + ε(m, L R + L h ). However, A could do more damage if she uses Adopt messages in the attack, as the byte-length L Adopt of an Adopt message is expected to be greater than the length (L R + L h ) 460

of a Push message. Note that A may send at most m 1 Adopt messages along R n and thus, the energy consumption is ÊA = E S + ε(m 1, L Adopt ). Now, for the worst case scenario, we assume that A attacks its network neighbors with β > m Adopt messages, resulting in Ê A = E S + (L Adopt (e s + e r ) + e h + e σ ) n (α 1) + ε(m 1, L Adopt ) α. The first term of the outer sum is the energy consumed for establishing R n, the second term is the cost for setting up the (α 1) alternate routes using Adopt messages, and the third term is the cost for attacking each route, i.e., R n and (α 1) alternate routes, with Adopt messages. In reality, the worst case scenario with completely disjoint routes does not seem to be likely. Since the initially chosen route R n will have the least routing costs, nodes neighboring R n are likely to make use of nodes in R n. For comparison, we also calculate the energy for the (most favorable) case of an attack where all attacked nodes route the injected messages to the next honest node preceding A, i.e., node S n 1. In this case, the energy consumed is given as Ê A = E S + (L Adopt (e s + e r ) + e h + e σ ) (α 1) + (L Adopt (e s + e r ) + e h ) (m 1) (n + 2(α 1)) + (L Adopt e r + e h ) (β m + 1) α. The first row of equation Ê A is the cost for the setup of R n and A s network neighbors. However, by assumption, the Adopt messages do not create alternate routes (no factor n in the second term) as they are routed over S n 1 and thus, are filtered out. The second row is the cost for the processing of (m 1) Adopt messages by the n nodes in R n and A s remaining (α 1) network neighbors. By assumption, the latter forward the Adopt messages in one hop to S n 1, which immediately filters them out. Finally, the last row is the cost of all network neighbors of A (including S n 1 ) for filtering out the Adopt messages sent after m = 0. At the end, we consider the energy consumption of the protocol enhancement where injected messages are immediately filtered out by the watchers. We assume the worst-case, again, and that, on average, γ nodes act as watchers (including the watched node). Thus, we get Ẽ A = E S γ + (L Adopt (e s + e r ) + e h ) (m 1) n γ + (L Adopt e r + e h ) (β m + 1) γ + e l,t γ where e l,t is the energy possibly consumed by a watcher for additional listening on the wireless channel for time t. The energy consumed in an attack is shown in Figure 2. For this, we used the quantities from [5] and [15], i.e., e s = 16.25µJ, e r = 12.5µJ, e h = 15µJ (RC5), e σ = 45.09mJ (ECC160) and we set α = 4, γ = 3, m = 100, and n=100. For a report s length we allocated L R = 24 bytes. Assuming an S-MAC-like protocol for medium access, we let e l,t = 0. Figure 2 shows that E A, the energy consumption in an attack on an unprotected protocol, rises steeply. Conversely, Ê A, Ê A, and ẼA start with relatively high setup costs but after this, the consumed energy is comparatively low. Also, in the worst case, the protocol enhancement outperforms the basic protocol, for the chosen parameters. However, in general, listening costs e l,t cannot be neglected but will be influenced by several factors, e.g., Medium Access Control protocol, the duty schedule, etc. Thus, Ẽ A can be expected to have a higher offset than shown. Energy Consumption [J] 90 80 70 60 50 40 30 20 10 E A Ê A Ê A Ẽ A 0 0 50 100 150 200 250 300 β Fig. 2. Energy consumption depending on the injected traffic β. X. CONCLUSION AND FUTURE WORK We presented a push protocol and its enhancement, both of which are resilient against PDoS attacks in WSNs. Although, such attacks cannot be completely ruled out in open environments, such as WSNs, our protocols help to limit the damage of an attack. Naturally, the added security also has its costs. However, these costs will payoff as attacks on an unprotected push protocol may bring down the whole WSN. In future work, we plan to validate the protocols with different environments and parameters. REFERENCES [1] I. Akyildiz, W. Su, Y. Sankarasubramaniam, and E. Cayirci, A survey on sensor networks, IEEE Comm. Mag. 40, vol. 8, pp. 102 114, 2002. [2] C. Krauß, M. Schneider, and C. Eckert, On handling insider attacks in wireless sensor networks, ISTR, vol. 13, pp. 165 172, 2008. [3], Defending against false-endorsement-based DoS attacks in wireless sensor networks, in WiSec, 2008. [4] J. Deng, R. Han, and S. Mishra, Defending against path-based DoS attacks in wireless sensor networks, in SASN, 2005. [5] F. Ye, H. Luo, S. Lu, and L. Zhang, Statistical en-route filtering of injected false data in sensor networks, in INFOCOM, 2004. [6] S. Zhu, S. Setia, S. Jajodia, and P. Ning, An interleaved hop-by hop authentication scheme for filtering false data in sensor networks, in IEEE Symposium on Security and Privacy, 2004. [7] H. Yang, F. Ye, Y. Yuan, S. Lu, and W. Arbaugh, Toward resilient security in wireless sensor networks, in MobiHoc, 2005. [8] L. Zhou and C. Ravishankar, A fault localized scheme for false report filtering in sensor networks, in ICPS, 2005. [9] H. Yang and S. Lu, Commutative cipher based en-route filtering in wireless sensor networks, in VTC Wireless Security Symposium, 2004. [10] C. Krauß, M. Schneider, K. Bayarou, and C. Eckert, STEF: A secure ticket-based en-route filtering scheme for wireless sensor networks, in ARES, 2007. [11] Crossbow Technology Inc., MICA2, http://www.xbow.com/. [12] Q. Dong, D. Liu, and P. Ning, Pre-authentication filters: providing dos resistance for signature-based broadcast authentication in sensor networks, in WiSec, 2008. [13] S.-B. Lee and Y.-H. Choi, A resilient packet-forwarding scheme against maliciously packet-dropping nodes in sensor networks, in SASN, 2006. [14] W. Ye, J. Heidemann, and D. Estrin, Medium access control with coordinated adaptive sleeping for wireless sensor networks, IEEE/ACM Trans. Netw., vol. 12, pp. 493 506, 2004. [15] A. S. Wander, N. Gura, H. Eberle, V. Gupta, and S. C. Shantz, Energy analysis of public-key cryptography for wireless sensor networks, in PERCOM, 2005. 461