13.07.2015 Views

Multi-user Broadcast Authentication in Wireless Sensor Networks

Multi-user Broadcast Authentication in Wireless Sensor Networks

Multi-user Broadcast Authentication in Wireless Sensor Networks

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

the cryptographic mechanisms to be used. Section IIIpresents the system assumption, adversary model, andsecurity objectives. In Section IV, we <strong>in</strong>troduce two basicschemes. We further propose two advanced schemes anddetail the underly<strong>in</strong>g design logic <strong>in</strong> Section V. SectionVI analyzes the performance of the proposed schemes,and we conclude our paper <strong>in</strong> Section VII.II. PRELIMINARIESThe Bloom Filter: A Bloom filter is a simple spaceefficientrandomized data structure for represent<strong>in</strong>g a set<strong>in</strong> order to support membership queries [23]. A Bloomfilter for represent<strong>in</strong>g a set S = sI, S2, ..., sn of nelements is described by a vector V of m bits, <strong>in</strong>itiallyall set to 0. A Bloom filter uses k <strong>in</strong>dependent hashfunctions h1, ..., hk with range 0, ..., m- 1, which mapeach item <strong>in</strong> the universe to a random number uniformover [0, ..., m- 1]. For each element s E S, the bits hi(s)are set to 1 for 1 < i < k. Note that a bit of V can beset to 1 multiple times. To check if an item x is <strong>in</strong> S,we check whether all bits hi (x) are set to 1. If not, x isnot a member of S for certa<strong>in</strong>, that is, no false negativeerror. If yes, x is assumed to be <strong>in</strong> S. A Bloom filter mayyield a false positive. It may suggest that an element xis <strong>in</strong> S even though it is not. The probability of a falsepositive for an element not <strong>in</strong> the set can be calculated asfollows. After all the elements of S are hashed <strong>in</strong>to theBloom filter, the probability that a specific bit is still 0 is(1 1)k e-k/m* The probability of a false positivef is then f = (1 -(1 - )k)k (1_ e-km)kThe Merkle Hash Tree: A Merkle Tree is a construction<strong>in</strong>troduced by Merkle <strong>in</strong> 1979 to build secureauthentication schemes from hash functions [22]. It is atree of hashes where the leaves <strong>in</strong> the tree are hashesof the authentic data values nI, n2, ..., n,. Nodes furtherup <strong>in</strong> the tree are the hashes of their respective children.For <strong>in</strong>stance, assum<strong>in</strong>g that w = 4 <strong>in</strong> Fig. 1, the valuesof the four leaf nodes are the hashes of the data values,h(ni), i = 1, 2, 3, 4, respectively, under a one-way hashfunction ho (e.g., SHA-1 [25]). The value of an <strong>in</strong>ternalnode A is ha= h(h(ni) Ih(n2)), and the value of theroot node is hr h(ha Ihb). hr is used to commit to theentire tree to authenticate any subset of the data valuesni, n2, n3, and n4 <strong>in</strong> conjunction with a small amountof auxiliary authentication <strong>in</strong>formation AAI (i.e., log2 Nhash values where N is the number of leaf nodes). Forexample, a receiver with the authentic hr requests for n3and requires the authentication of the received n3. Thesource sends the AAI :< ha, h(n4) > to the receiver. Thereceiver can then verify n3 by first comput<strong>in</strong>g h(n3),Roothe,h(ni) h(n2) h(n3) h(n4)n1 X n2 n3X n44~~~~~~~~bFig. 1. An example of Merkle hash treehb = h(h(n3)lh(n4)) and hr = h(ha Jhb), and thencheck<strong>in</strong>g if the calculated hr is the same as the authenticroot value hrIII.SYSTEM MODEL, ADVERSARY MODEL, ANDDESIGN GOALSSystem Model: In this paper, we consider a largespatially distributed WSN, consist<strong>in</strong>g of a fixed s<strong>in</strong>k(s)and a large number of sensor nodes. The sensor nodesare usually resource-constra<strong>in</strong>ed with respect to memoryspace, computation capability, bandwidth, and powersupply. The WSN is aimed to offer <strong>in</strong>formation servicesto many network <strong>user</strong>s that roam <strong>in</strong> the network, <strong>in</strong>addition to the fixed s<strong>in</strong>k(s) [20]. The network <strong>user</strong>smay <strong>in</strong>clude mobile s<strong>in</strong>ks, vehicles, and people withmobile clients, and they are assumed to be more powerfulthan sensor nodes <strong>in</strong> terms of computation andcommunication abilities. For example, the network <strong>user</strong>scould consist of a number of doctors, nurses, medicalequipment (act<strong>in</strong>g as actuators) and so on, <strong>in</strong> the caseof CodeBlue [19], where the WSN is used for emergencymedical response. These network <strong>user</strong>s broadcastqueries/commands through sensor nodes <strong>in</strong> the vic<strong>in</strong>ity,and expect the replies that reflect the latest network<strong>in</strong>formation. The network <strong>user</strong>s can also communicatewith the s<strong>in</strong>k or the backend server directly withoutgo<strong>in</strong>g through the WSN if necessary. We assume thatthe s<strong>in</strong>k is always trustworthy but the sensor nodes aresubject to compromise. At the same time, the <strong>user</strong>s ofthe WSN may be dynamically revoked due to eithermembership changes or compromise, and the revocationpattern is not restricted. We also assume that the WSNisloosely synchronized.Adversary Model: In this paper, we assume that theadversary's goal is to <strong>in</strong>ject bogus messages <strong>in</strong>to thenetwork, attempt to deceive sensor nodes, and obta<strong>in</strong>the <strong>in</strong>formation of his <strong>in</strong>terest. Additionally, Denial ofService (DoS) attacks such as bogus message flood<strong>in</strong>g,aim<strong>in</strong>g at exhaust<strong>in</strong>g constra<strong>in</strong>ed network resources, isanother important focus of the paper. We assume that225

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!