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 adversary is able to compromise both network <strong>user</strong>sand the sensor nodes. The adversary hence could exploitthe compromised <strong>user</strong>s/nodes for such attacks. However,we do assume that adversary cannot compromise anunlimited number of sensor nodes.Design Goals: Our security goal is straightforward:all messages broadcasted by the network <strong>user</strong>s of theWSN should be authenticated so that the bogus ones<strong>in</strong>serted by the illegitimate <strong>user</strong>s and/or compromisedsensor nodes can be efficiently rejected/filtered. We alsofocus on m<strong>in</strong>imiz<strong>in</strong>g the overheads of the security design.Especially, energy efficiency (with respect to bothcommunication and computation) and storage overheadare given priority to cope with the resource-constra<strong>in</strong>ednature of WSNs.IV. THE BASIC SCHEMESA. The Certificate-Based <strong>Authentication</strong> Scheme (CAS)CAS works as follows. Each <strong>user</strong> (not a sensor) ofthe WSN is equipped with a public/private key pair(PK/SK), and signs every message he broadcasts withhis SK us<strong>in</strong>g a digital signature scheme such as ECDSA[10]. Note that <strong>in</strong> all our designs, we do not requiresensors to have public/private key pairs for themselves.To prove the <strong>user</strong>'s ownership over his public key, thes<strong>in</strong>k2 is also equipped with a public/private key pair andserves as the certification authority (CA). The s<strong>in</strong>k issueseach <strong>user</strong> a public key certificate, which, to its simplestform, consists of the follow<strong>in</strong>g contents: CertuIDUID, PKUID, ExpT, SIGSKsikA{h(UID ExpT PKUID)},where UID denotes the <strong>user</strong>'s ID, PKUID denotes itspublic key, ExpT denotes certificate expiration time,and SIGSKs<strong>in</strong>k{h(UIDJJExpT||PKUID)} is a signatureover h(UID lExpTI PKUID) with SKS<strong>in</strong>k. Hence, abroadcast message is now of the form as follows:< M, tt, SIGSK(ID{h(UID JttJ M)},CertUID > (I)Here, M denotes the broadcast message and tt denotesthe current time. For the purpose of messageauthentication, sensor nodes are preloaded with PKs<strong>in</strong>kbefore the network deployment; and message verificationconta<strong>in</strong>s two steps: the <strong>user</strong> certificate verification andthe message signature verification.CAS suffers from two ma<strong>in</strong> drawbacks. First andforemost, it is not efficient <strong>in</strong> communication, as thecertificate has to be transmitted along with the messageacross every hop as the message propagates <strong>in</strong>the WSN. A large per message overhead will result2We assume that the s<strong>in</strong>k represents the network planner.<strong>in</strong> more energy consumption on every s<strong>in</strong>gle sensornode. In CAS, the per message overhead is as highas |tt| + ISIGSKu D{h(UID||M)}j + ICertuID = 128bytes. As <strong>in</strong> [31], the <strong>user</strong> certificate is at least 86bytes, when ECDSA-160 [10] is used. Here, we assumethat tt and UID are both two bytes, <strong>in</strong> which case thescheme supports up to 65, 535 network <strong>user</strong>s. Moreover,ISIGSKUID {h (UID M) } = 40 bytes, when ECDSA- 160[10] is assumed. Second, to authenticate each message,it always takes two expensive signature verification operations.This is because the certificate should always beauthenticated <strong>in</strong> the first place.B. The Direct Storage Based <strong>Authentication</strong> Scheme(DAS)One way to reduce the per message overhead andthe computational cost is to elim<strong>in</strong>ate the existenceof the certificate. A straightforward approach is thento let sensor nodes simply store all the current <strong>user</strong>s'ID <strong>in</strong>formation and their correspond<strong>in</strong>g public keys. Inthis way, a broadcast message now only conta<strong>in</strong>s thefollow<strong>in</strong>g contents:< M, tt, SIGSKUID {h(UID lItt JM)}, UID, PKUID > (II)Verify<strong>in</strong>g the authenticity of a <strong>user</strong> public key is reducedto f<strong>in</strong>d<strong>in</strong>g out whether or not the attached <strong>user</strong>/publickey pair is conta<strong>in</strong>ed <strong>in</strong> the local memory. Upon <strong>user</strong>revocation, the s<strong>in</strong>k simply sends out ID <strong>in</strong>formationof the revoked <strong>user</strong>, and every sensor node deletes thecorrespond<strong>in</strong>g <strong>user</strong>/public key pair <strong>in</strong> its memory.The drawbacks of DAS are obvious. Given a storagelimit of 5 KB, only 232 <strong>user</strong>s can be supported at most;even with a memory space of 19.5 KB, DAS can onlysupport up to 1, 000 <strong>user</strong>s. At the same time, CAS cansupport up to 2, 560 <strong>user</strong>s given the same storage limit 5KB. The reason is that <strong>in</strong> CAS only the ID <strong>in</strong>formationof the revoked <strong>user</strong>s are stored by the sensor nodes.Therefore, DAS is neither memory efficient nor scalable.However, the advantage of DAS is also significant ascompared to CAS. Itsuccessfully reduces the per messageoverhead down to tt + SIGSKuID {h(UID JM) } +IUIDI + PKUID I= 64 bytes. The above analysis clearlyshows that more advanced schemes are needed other thanDAS and CAS. And the direction to seek is to improvestorage efficiency while reta<strong>in</strong><strong>in</strong>g or further reduc<strong>in</strong>g theper message overhead.V. THE ADVANCED SCHEMESA. The Bloom Filter Based <strong>Authentication</strong> Scheme (BAS)226

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

Saved successfully!

Ooh no, something went wrong!