cryptographic algorithms and protocols for security and ...the design of the cryptographic protocols...

215
KATHOLIEKE UNIVERSITEIT LEUVEN FACULTEIT INGENIEURSWETENSCHAPPEN DEPARTEMENT ELEKTROTECHNIEK Kasteelpark Arenberg 10, B-3001 Leuven-Heverlee Cryptographic Algorithms and Protocols for Security and Privacy in Wireless Ad Hoc Networks Promotor: Prof. dr. ir. B. Preneel Proefschrift voorgedragen tot het behalen van het doctoraat in de ingenieurswetenschappen door Stefaan SEYS mei 2006

Upload: others

Post on 24-Jan-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

  • A KATHOLIEKE UNIVERSITEIT LEUVENFACULTEIT INGENIEURSWETENSCHAPPENDEPARTEMENT ELEKTROTECHNIEKKasteelpark Arenberg 10, B-3001 Leuven-Heverlee

    Cryptographic Algorithms and Protocols for

    Security and Privacy in Wireless Ad Hoc Networks

    Promotor:

    Prof. dr. ir. B. Preneel

    Proefschrift voorgedragen tot

    het behalen van het doctoraat

    in de ingenieurswetenschappen

    door

    Stefaan SEYS

    mei 2006

  • A KATHOLIEKE UNIVERSITEIT LEUVENFACULTEIT INGENIEURSWETENSCHAPPENDEPARTEMENT ELEKTROTECHNIEKKasteelpark Arenberg 10, B-3001 Leuven-Heverlee

    Cryptographic Algorithms and Protocols for

    Security and Privacy in Wireless Ad Hoc Networks

    Jury:

    Prof. H. Neuckermans, voorzitter

    Prof. B. Preneel, promotor

    Prof. C. Mitchell (RHUL)

    Prof. F. Piessens

    Prof. J. Vandewalle

    Prof. I. Verbauwhede

    Proefschrift voorgedragen tot

    het behalen van het doctoraat

    in de ingenieurswetenschappen

    door

    Stefaan SEYS

    U.D.C. 681.3*D46 mei 2006

  • c© Katholieke Universiteit Leuven – Faculteit IngenieurswetenschappenArenbergkasteel, B-3001 Heverlee (Belgium)

    Alle rechten voorbehouden. Niets uit deze uitgave mag vermenigvuldigd en/ofopenbaar gemaakt worden door middel van druk, fotocopie, microfilm, elektron-isch of op welke andere wijze ook zonder voorafgaande schriftelijke toestemmingvan de uitgever.

    All rights reserved. No part of the publication may be reproduced in any formby print, photoprint, microfilm or any other means without written permissionfrom the publisher.

    D/2006/7515/53

    ISBN 90-5682-719-7

  • Acknowledgements

    There are lots of people I would like to thank for a variety of reasons.

    First, I want to thank my promotor Prof. Bart Preneel for giving me the oppor-tunity to pursue a Ph.D. at COSIC. Bart is especially thanked for his guidanceand advice (quite literally 24/7) during the past years, and for carefully readingand correcting earlier drafts of this thesis.

    I am also very grateful to Prof. Frank Piessens and Prof. Chris Mitchell formanaging to read the whole manuscript so thoroughly in record time and pro-viding helpful suggestions and comments to improve this thesis. I want to thankProf. Joos Vandewalle and Prof. Ingrid Verbauwhede for kindly accepting to bemembers of the jury, and Prof. Neuckermans for chairing it.

    A big thanks goes to all my past and current COSIC fellows for their friendlinessand help. In particular, I would like to thank Claudia Dı́az for the enjoyabletime we spent researching all things anonymous, and Dave Singelée for our joinedwork on ad hoc network security. Special thanks go to my former colleagues JorisClaessens for setting a great example, and Wim Moreau for making me feel athome in COSIC from day one. I thank my long-time officemates and friendsRobert Maier, Thomas Herlea and Dave Singelée for always living up to thehundreds of small and bigger requests I must have made during the past years. Iwould also like to thank Karel Wouters and Dave for taking care of some of myresponsibilities during the busy time of writing this thesis.

    Péla Noë deserves a big thank you for keeping me from drowning in my oh-so dreaded paperwork and other practical matters. I also thank Péla for herfriendship and showing interest in life outside COSIC. I would like to thankElvira Wouters for her patience and valuable help with all sorts of administrativematters.

    A word of thanks also goes to my long-time friends for showing (or at leastfeigning) interest in my work and providing an easy escape from my Ph.D life.

    i

  • ii

    I would like to thank my family for their continuous encouragements, especiallymy parents for their unconditional support, and finally my partner Michèle forher love and enthusiasm.

    I want to acknowledge the K.U.Leuven and the Institute for the Promotion ofInnovation by Science and Technology in Flanders (IWT), for funding my researchwork.

    Stefaan SeysMay 2006

  • Abstract

    Wireless ad hoc networks are the next evolutionary step in digital communica-tion systems. Supporting security and privacy are essential before these networkscan become an everyday reality. Without the necessary measures, wireless com-munications are easy to intercept and the activities of the users can be traced.Moreover, the specific properties of wireless ad hoc networks, in particular thelack of fixed servers and the limited resources of the network devices, presentinteresting challenges when designing security and privacy solutions in this en-vironment. This thesis presents solutions for a number of important securityproblems in wireless ad hoc networks.

    The thesis starts with an overview of the efficiency of the most important crypto-graphic primitives, including block ciphers, stream ciphers, hash functions, publickey cryptosystems, and digital signature schemes. Efficiency means cycles (or en-ergy) per Byte or operation. The information that is collected here was used inthe design of the cryptographic protocols presented in the thesis.

    One-time signature schemes based on a one-way function are an attractive so-lution for low-power devices, as they can be efficiently implemented using blockciphers or hash functions. The drawback is that they require large keys that canonly be used once. This thesis evaluates the overall performance of several one-time signature schemes and public key authentication mechanisms, and comparesthem with conventional signature schemes.

    Cooperation can be useful to share the load of a demanding task in resourceconstrained environments. This thesis presents a construction to transform a one-time signature scheme into a cooperative threshold one-time signature scheme,which allows multiple users to jointly sign a message. This scheme is used tobuild a complete authentication mechanism for sensor networks.

    Key establishment is a difficult task in ad hoc networks due to the absence offixed servers. The thesis presents a key establishment scheme for dynamic ad hoc

    iii

  • iv

    networks that does not rely on fixed servers or public key cryptography. Thiskey establishment scheme is integrated with an existing routing scheme for adhoc networks. The security and efficiency of the resulting scheme are analyzed.

    Finally, the thesis deals with privacy in ad hoc networks. The state of the artof anonymous routing schemes for ad hoc networks is presented and analyzed.Following this analysis, the thesis presents a novel anonymous routing schemefor wireless ad hoc networks that protects the anonymity of the users against astronger adversary, while being more efficient than previous works. The securityand efficiency of this scheme are analyzed.

  • Samenvatting

    Draadloze ad-hoc netwerken zijn de volgende evolutionaire stap in digitale com-municatiesystemen. Vooraleer deze netwerken op grote schaal ingezet kunnenworden, zal men de nodige maatregelen moeten ondernemen om de beveiligingen privacy van de gebruikers en hun gegevens te kunnen garanderen. Zonder ex-tra maatregelen is het eenvoudig om draadloze communicatie te onderscheppenen de activiteiten van de gebruikers te volgen. Het ontwerp van deze maatregelenwordt bemoeilijkt door de specifieke eigenschappen van ad-hoc netwerken, in hetbijzonder de afwezigheid van vaste servers en de beperkte rekenkracht, geheugen,bandbreedte en energievoorraad van de mobiele toestellen. Dit resulteert danook in een boeiend en uitdagend onderzoeksdomein. Deze thesis is gericht op hetoplossen van een aantal belangrijke beveiligingsproblemen.

    De thesis begint met een overzicht van de efficiëntie van de belangrijkste crypto-grafische primitieven: blok- en stroomcijfers, hashfuncties, publieke-sleutelvercij-feringsalgoritmen en digitale handtekeningen. Efficiëntie betekent hier het aantalprocessorcycli (of energieverbruik) per Byte of per operatie. De informatie diehier verzameld is, werd gebruikt in het ontwerp van de protocollen die in dezethesis gepresenteerd worden.

    Eénmalige-handtekeningschema’s, die gebaseerd zijn op een éénwegsfunctie, zijninteressant voor toestellen met beperkte capaciteiten, aangezien zij efficiënt ge-implementeerd kunnen worden op basis van blokcijfers of hashfuncties. Het na-deel van deze schema’s is echter dat ze erg grote sleutels nodig hebben die slechtséénmaal gebruikt kunnen worden. Deze thesis evalueert de globale performantievan verschillende éénmalige-handtekeningschema’s en authentiseringsmechanis-men voor publieke sleutels; en vergelijkt deze met conventionele schema’s.

    Deze thesis stelt een constructie voor om éénmalige-handtekeningschema’s omte zetten naar een drempelschema. In dit schema kunnen een aantal knopensamenwerken om een handtekening te plaatsen. Deze vorm van samenwerkingkan bruikbaar zijn daar zij toelaat een zware taak te verdelen over verschillende

    v

  • vi Abstract in Dutch

    toestellen. Dit schema wordt vervolgens gebruikt om een volledig authentise-ringsmechanisme voor sensornetwerken te ontwerpen.

    Het afspreken van geheime sleutels is niet eenvoudig in ad-hoc netwerken door deafwezigheid van vaste servers. Deze thesis stelt een mechanisme voor om geheimesleutels af te spreken in een dynamisch ad-hoc netwerk. Om het systeem zo effi-ciënt mogelijk te houden, maken we geen gebruik van publieke-sleutelcryptografie.Het schema werkt autonoom, zonder hulp van vaste knopen die dienst doen alssleutelverdelingscentra. Dit schema wordt vervolgens gëıntegreerd met een rou-teringsprotocol voor ad-hoc netwerken. De veiligheid en de efficiëntie van hetprotocol worden geanalyseerd.

    Ten slotte handelt deze thesis ook over privacy in ad-hoc netwerken. De thesisgeeft een volledig overzicht en analyse van de state-of-the-art van anonieme rou-teringsprotocollen voor ad-hoc netwerken. Na deze analyse volgt de beschrijvingvan een nieuw anoniem routeringsprotocol dat bestaande protocollen tracht teverbeteren op twee gebieden: efficiëntie en anonimiteit. De veiligheid en effi-ciëntie van het schema worden geanalyseerd.

  • List of Tables

    2.1 Performance of ASIC implementations of 128-bit AES and MUGI. 172.2 Power consumptions of SHA-1, AES, RSA, DSA and ECDSA on

    a 32-bit Intel StrongARM SA1100 @ 206MHz. . . . . . . . . . . . 172.3 Performance of 128-bit AES on several platforms. . . . . . . . . . . 172.4 Software performance of cryptographic primitives. . . . . . . . . . 322.5 Elliptic curve, symmetric primitives, RSA and discrete log in F∗q

    key length comparison. . . . . . . . . . . . . . . . . . . . . . . . . . 322.6 Software performance of public key primitives. . . . . . . . . . . . 33

    3.1 Cost of the LDW for different group sizes g. . . . . . . . . . . . . . 463.2 Authentication paths for a Merkle tree with 8 leaves. . . . . . . . . 493.3 Efficiency of one-time signature schemes. . . . . . . . . . . . . . . . 663.4 Summary of digital signature costs for message hash size s = 160. . 68

    5.1 Expected number of turns before a node is no longer isolated. . . . 995.2 Efficiency of the EHBT scheme. . . . . . . . . . . . . . . . . . . . . 1025.3 Maximum supported compromised link keys for several configura-

    tions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

    6.1 Comparison of different anonymous routing schemes. . . . . . . . . 1316.2 Average privacy and privacy/cost ratio of two probability distri-

    butions for TTL value selection. . . . . . . . . . . . . . . . . . . . . 1436.3 Average privacy and privacy/cost ratio of two probability distri-

    butions for padding length selection. . . . . . . . . . . . . . . . . . 146

    vii

  • List of Figures

    2.1 Schematic model of an encryption scheme. . . . . . . . . . . . . . . 152.2 Schematic model of a digital signature scheme. . . . . . . . . . . . 21

    3.1 Security level offered by the HORS scheme. . . . . . . . . . . . . . 433.2 Evolution of the number of public keys when using the HORS

    signature scheme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443.3 Example Merkle hash tree with 8 leaves. . . . . . . . . . . . . . . . 483.4 Public key chains . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523.5 Signing efficiency of one-time signature schemes. . . . . . . . . . . 633.6 Verification efficiency of one-time signature schemes. . . . . . . . . 643.7 Communication efficiency of one-time signature schemes. . . . . . . 643.8 Energy consumption of signer (communications and computations). 653.9 Energy consumption of verifier (communications and computations). 653.10 Overall energy consumption of one-time signature schemes. . . . . 66

    4.1 Preparation phase of the cooperative threshold one-time signaturescheme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

    4.2 Example sensor network with three cells. . . . . . . . . . . . . . . . 83

    5.1 Evolution of node W ’s neighborhood as it travels through the net-work. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

    5.2 Multiple routes that can be used to establish link keys. . . . . . . . 945.3 Network model. Nodes move on the grid of the torus. . . . . . . . 995.4 Probability of having at least one node in the overlap between two

    consecutive neighborhoods. . . . . . . . . . . . . . . . . . . . . . . 1005.5 Probability that a node does not share a key with any of the nodes

    in its neighborhood. . . . . . . . . . . . . . . . . . . . . . . . . . . 100

    ix

  • x List of Figures

    6.1 Intercepting and blocking of messages. . . . . . . . . . . . . . . . . 1146.2 DSR route discovery process. . . . . . . . . . . . . . . . . . . . . . 1206.3 Trapdoor Boomerang Onion used in ANODR. . . . . . . . . . . . . 1236.4 ANODR Route Request and Reply messages transmitted by node

    Ni, and elements stored in its routing table. . . . . . . . . . . . . . 1246.5 ASR Route Request and Reply messages, and elements stored in

    the routing table by node Ni. . . . . . . . . . . . . . . . . . . . . . 1256.6 MASK Route Request and Reply messages, and elements stored

    in the routing table by node Ni. . . . . . . . . . . . . . . . . . . . 1276.7 SDAR Route Request and Reply messages, and elements stored in

    the routing table by node Ni. . . . . . . . . . . . . . . . . . . . . . 1296.8 Hidden route from source S to destination D. . . . . . . . . . . . . 1346.9 Evolution of padding and TTL values of a message. . . . . . . . . . 1406.10 Privacy and cost of an exponential probability distribution for

    TTL value selection. . . . . . . . . . . . . . . . . . . . . . . . . . . 1446.11 Privacy and cost of an exponential probability distribution for

    padding length selection. . . . . . . . . . . . . . . . . . . . . . . . . 146

  • List of Acronyms

    ADSL Asymmetric Digital Subscriber LineAES Advanced Encryption StandardAODV Ad hoc On-demand Distance Vector (Routing)APES Anonymity and Privacy in Electronic Services (IWT/STWW

    Project)AP Access PointBS Base StationCA Certification AuthorityCBC Cipher Block ChainingCCM Counter with CBC-MACCFB Cipher FeedbackDES Data Encryption StandardDHIES Diffie-Hellman Integrated Encryption SchemeDSN Distributed Sensor NetworkDSR Dynamic Source RoutingDoS Denial of ServiceDSA Digital Signature AlgorithmDSS Digital Signature StandardECB Electronic CodebookECC Error-Correcting CodeECDSA Elliptic Curve Digital Signature AlgorithmECIES Elliptic Curve Integrated Encryption SchemeECPM Elliptic Curve Point MultiplicationEHBT Efficient Hierarchical Binary Tree (protocol)FIPS Federal Information Processing Standards

    xi

  • xii List of Acronyms

    FPGA Field-Programmable Gate ArrayGPS Global Positioning SystemsGSM Global System for Mobile CommunicationsIOI Item of InterestIP Internet ProtocolISP Internet Service ProviderKDC Key Distribution CenterLAN Local Area NetworkLDM Lamport-Diffie one-time signature scheme with Merkle

    improvementLDW Lamport-Diffie one-time signature scheme with Winternitz

    improvementLFSR Linear Feedback Shift RegisterMAC Message Authentication CodeMANET Mobile Ad hoc NetworkMCSP Mobile Communication Service ProviderNAT Network Address TranslationNIST National Institute for Standards and TechnologyNSA National Security AgencyOEAP Optimal Asymmetric Encryption PaddingOFB Output FeedbackOCB Offset Codebook ModeOSI Open Systems InterconnectionOTS One-Time Signature (scheme)OWF One-Way FunctionPET Privacy Enhancing TechniquePGP Pretty Good PrivacyPKI Public Key InfrastructurePSS Probabilistic Signature SchemePSEC Provably Secure Elliptic Curve (cryptosystem)RFID Radio Frequency IdentificationRREQ Route RequestRREP Route ReplySIM Subscriber Identity Module

  • xiii

    SSH Secure ShellSSL Secure Socket LayerSTS Station-to-Station (protocol)TBO Trapdoor Boomerang OnionTCP Transmission Control ProtocolTTL Time-to-LiveTORA Temporally Ordered Routing AlgorithmURL Universal Resource LocatorWEP Wired Equivalent PrivacyWLAN Wireless Local Area Network

  • List of Notations

    x ∈R S Element x is selected uniformly random from the set S.

    QRn The set of quadratic residues modulo integer n.

    {0, 1}n Bit-string of length n, i.e., any piece of digital data ({0, 1}∗indicates arbitrary length).

    {0, 1}nR A uniform random selected bit-string of length n ({0, 1}∗R in-dicates arbitrary length, i.e., a source of random bits).

    Int(x) The value of the bit-string x interpreted as an integer (withlittle or big endian).

    bxc The largest integer less than or equal to x.

    dxe The smallest integer larger than or equal to x.

    a | b, a 6 | b Integer a divides b, integer a does not divide b.

    |x| Bit-length of x.

    i = a→ b For all integers i ranging from a to b, starting from a.

    Proc(x) Indicates a procedure or algorithm using input x.

    Proc(x) Indicates the output of the algorithm Proc(x).

    xv

  • xvi List of Notations

    〈a, b〉 The concatenation of bit-strings a and b. This notation is onlyused if using a, b is confusing.

    Ek[m] The encryption with a symmetric cipher of message m usingsecret key k.

    MACk[m] The Message Authentication Code of message m using secretkey k.

    PubD(m) The encryption with an asymmetric cipher of message m usingthe public key of user D (if we need to specify a specific publickey, we will use Pubpk (m)).

    SignD(m) A digital signature on message m using the private key of userD (if we need to specify a specific private key, we will useSignsk (m)).

    Ek[a], MACk[·] Shorthand for 〈Ek [a], MACk [a]〉. This notation can also beused with other operators, e.g., 〈Ek [a],SignD(·)〉.

    Ek[a,MACk[·]] Shorthand for 〈Ek [a, MACk [a]]〉. This notation can also beused with other operators, e.g., 〈Ek [a,SignD(·)]〉.

    SignRSAD(m) RSA signature on message m using the private key of user D.

    SignOTD(m) One-time signature on message m using D’s private key. Here,we assume that the one-time signature scheme does not includepadding and hashing of the message.

    S −→ D : m Sender S transmits message m to destination D.

    S −→ ∗ : m Sender S broadcasts message m.

  • Contents

    Acknowledgements i

    Abstract iii

    Abstract in Dutch v

    List of Tables vii

    List of Figures ix

    List of Acronyms xi

    List of Notations xv

    Contents xvii

    Summary in Dutch xxi

    1 Introduction 11.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 This thesis and related work . . . . . . . . . . . . . . . . . . . . . . 31.3 Outline and main contributions . . . . . . . . . . . . . . . . . . . . 7

    2 Efficiency of Cryptographic Primitives 112.1 Symmetric primitives . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    2.1.1 Symmetric encryption . . . . . . . . . . . . . . . . . . . . . 122.1.2 Efficiency of symmetric techniques . . . . . . . . . . . . . . 15

    2.2 Public key cryptography . . . . . . . . . . . . . . . . . . . . . . . . 19

    xvii

  • xviii Contents

    2.2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 192.2.2 Public key certificates . . . . . . . . . . . . . . . . . . . . . 202.2.3 The RSA, Rabin and DSA public-key encryption and sig-

    nature schemes . . . . . . . . . . . . . . . . . . . . . . . . . 222.2.4 Elliptic curve cryptography . . . . . . . . . . . . . . . . . . 272.2.5 Efficiency of public key cryptography . . . . . . . . . . . . . 29

    2.3 Conclusions and future work . . . . . . . . . . . . . . . . . . . . . 31

    3 Efficiency of One-Time Signature Schemes 353.1 Lamport-Diffie one-time signatures . . . . . . . . . . . . . . . . . . 36

    3.1.1 Lamport-Diffie scheme with Merkle improvement . . . . . . 373.1.2 Lamport-Diffie scheme with Winternitz improvement . . . . 37

    3.2 The HORS one-time signature scheme . . . . . . . . . . . . . . . . 393.2.1 On the security of HORS . . . . . . . . . . . . . . . . . . . 41

    3.3 Efficiency of one-time signature schemes . . . . . . . . . . . . . . . 433.3.1 Efficiency of the LDM . . . . . . . . . . . . . . . . . . . . . 453.3.2 Efficiency of the LDW . . . . . . . . . . . . . . . . . . . . . 453.3.3 Efficiency of the HORS scheme . . . . . . . . . . . . . . . . 46

    3.4 One-time public key authentication . . . . . . . . . . . . . . . . . . 473.4.1 Merkle trees . . . . . . . . . . . . . . . . . . . . . . . . . . . 473.4.2 One-way chains . . . . . . . . . . . . . . . . . . . . . . . . . 49

    3.5 Efficiency of one-time signature schemes with public key authen-tication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523.5.1 Efficiency of Merkle tree authentication . . . . . . . . . . . 523.5.2 Efficiency of one-way chain authentication . . . . . . . . . . 57

    3.6 Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613.7 Conclusions and future work . . . . . . . . . . . . . . . . . . . . . 67

    4 Efficient Cooperative Signatures 714.1 Threshold signatures . . . . . . . . . . . . . . . . . . . . . . . . . . 724.2 Threshold Lamport-Diffie signatures . . . . . . . . . . . . . . . . . 734.3 Multi-signer LDW signatures . . . . . . . . . . . . . . . . . . . . . 744.4 Cooperative threshold one-time signatures . . . . . . . . . . . . . . 75

    4.4.1 Signature generation . . . . . . . . . . . . . . . . . . . . . . 764.4.2 Signature verification . . . . . . . . . . . . . . . . . . . . . 784.4.3 Informal Security proof of our scheme . . . . . . . . . . . . 80

  • Contents xix

    4.5 Application of our scheme in sensor networks . . . . . . . . . . . . 814.5.1 Network operation . . . . . . . . . . . . . . . . . . . . . . . 814.5.2 Strong authentication between query nodes and cells . . . . 834.5.3 One-time secret key updates . . . . . . . . . . . . . . . . . 85

    4.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

    5 Dynamic Key Establishment 895.1 Secure Neighborhood Discovery protocol . . . . . . . . . . . . . . . 90

    5.1.1 Neighborhood . . . . . . . . . . . . . . . . . . . . . . . . . . 905.1.2 Bootstrapping the system: key pre-distribution . . . . . . . 915.1.3 Dynamic Neighborhood Discovery . . . . . . . . . . . . . . 91

    5.2 Establishing link keys . . . . . . . . . . . . . . . . . . . . . . . . . 935.2.1 Normal operation . . . . . . . . . . . . . . . . . . . . . . . . 935.2.2 Exceptional operation . . . . . . . . . . . . . . . . . . . . . 94

    5.3 Implementation based on DSR . . . . . . . . . . . . . . . . . . . . 955.4 Performance evaluation . . . . . . . . . . . . . . . . . . . . . . . . 96

    5.4.1 Analytic model and simulations . . . . . . . . . . . . . . . . 965.4.2 Efficiency of the scheme . . . . . . . . . . . . . . . . . . . . 101

    5.5 Security analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1025.5.1 Informal analysis of the Secure Neighborhood Discovery . . 1025.5.2 Informal analysis of AuthDSR . . . . . . . . . . . . . . . . 1035.5.3 Evolution of compromised link keys . . . . . . . . . . . . . 104

    5.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

    6 Privacy in Ad Hoc Networks 1076.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

    6.1.1 Privacy in a digitized world . . . . . . . . . . . . . . . . . . 1086.1.2 Anonymity at different layers . . . . . . . . . . . . . . . . . 110

    6.2 Anonymity: definitions and requirements . . . . . . . . . . . . . . 1116.2.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . 1116.2.2 Adversary model . . . . . . . . . . . . . . . . . . . . . . . . 1126.2.3 Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

    6.3 Anonymous connections in wired networks . . . . . . . . . . . . . . 1166.3.1 Overview of existing technologies . . . . . . . . . . . . . . . 117

    6.4 Anonymous connections in mobile ad hoc networks . . . . . . . . . 1196.4.1 On demand routing protocols . . . . . . . . . . . . . . . . . 119

  • xx Contents

    6.4.2 A generic anonymous on demand routing protocol . . . . . 1216.4.3 Evaluation of state of the art . . . . . . . . . . . . . . . . . 1216.4.4 Comparison and evaluation . . . . . . . . . . . . . . . . . . 129

    6.5 ARM: efficient anonymous routing for mobile ad hoc networks . . 1306.5.1 Trapdoor identifier . . . . . . . . . . . . . . . . . . . . . . . 1306.5.2 Route discovery . . . . . . . . . . . . . . . . . . . . . . . . . 1326.5.3 Route reply . . . . . . . . . . . . . . . . . . . . . . . . . . . 1346.5.4 Data forwarding . . . . . . . . . . . . . . . . . . . . . . . . 1366.5.5 Padding and time-to-live schemes . . . . . . . . . . . . . . . 1376.5.6 Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

    6.6 Analysis of the padding and time-to-live schemes . . . . . . . . . . 1396.6.1 Privacy offered by random TTL selection . . . . . . . . . . 1396.6.2 Privacy offered by random padding selection . . . . . . . . 1436.6.3 Analysis of our protocol . . . . . . . . . . . . . . . . . . . . 147

    6.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

    7 Conclusions and Future Research 1497.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1497.2 Future work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

    References 153

    Index 169

    List of Publications 171

  • Algoritmen en protocollenvoor beveiliging en privacy indraadloze ad-hoc netwerken

    Nederlandse samenvatting

    Hoofdstuk 1: Inleiding

    Door de steeds verdergaande miniaturisatie van computersystemen is het tegen-woordig mogelijk om toestellen te ontwikkelen die een relatief krachtige proces-sor, opslagcapaciteit en communicatiemogelijkheden bundelen in een draagbareverpakking. Typische voorbeelden zijn PDA’s en mobiele telefoons. Momen-teel worden meestal rechtstreekse punt-tot-punt-verbindingen gebruikt, zoals bij-voorbeeld een mobiele telefoon naar een basisstation of een PDA naar een WiFitoegangspunt. Een andere mogelijkheid, die momenteel sterk in ontwikkeling is,zijn draadloze ad-hoc netwerken of Mobile Ad hoc Networks (MANET’s). Ineen ad-hoc netwerk vormen knopen automatisch en autonoom een netwerk vanzodra ze in elkaars bereik komen. Wanneer een knoop wil communiceren meteen andere knoop die buiten zijn bereik is, dan wordt het bericht doorgestuurdvan knoop naar knoop tot de eindbestemming bereikt wordt. MANET’s kun-nen bijvoorbeeld ingezet worden om snel en goedkoop een communicatienetwerkop te zetten in gebieden waar er geen bestaande infrastructuur is, of waar dezevernietigd werd, zoals in ramp- en oorlogsgebieden. Een ander voorbeeld vanad-hoc netwerken zijn sensornetwerken. Sensornetwerken bestaan uit duizenden

    xxi

  • xxii Summary in Dutch

    miniatuursensors die draadloos met elkaar communiceren over een ad-hoc net-werk. Mogelijke toepassingen van sensornetwerken zijn het opmeten van bodem-en weercondities op akkers, detecteren van barsten in grote bouwwerken zoalsbruggen, enz.

    Omdat het relatief eenvoudig is om draadloze communicatie ongedetecteerd teonderscheppen, speelt de beveiliging van deze netwerken een cruciale rol in deontwikkeling ervan. De beveiliging van ad-hoc netwerken is niet vanzelfsprekenddoor verschillende redenen. Ten eerste zijn de knopen beperkt in rekencapaciteit,geheugen, bandbreedte en energievoorraad. Dit betekent dat de beveiligingsme-chanismen zo efficiënt mogelijk moeten zijn. Ten tweede zijn er niet altijd vas-te knopen (“servers”) in het netwerk die kunnen aangesproken worden om eenbepaalde dienst te leveren. Hierdoor zijn de meeste traditionele beveiligingsme-chanismen (bijvoorbeeld voor het afspreken van sleutels) niet van toepassing inad-hoc netwerken. Ten slotte wordt de beveiliging bemoeilijkt door de multi-hoproutering en het feit dat de knopen zich vrij kunnen bewegen door het netwerk.Naast beveiliging is ook de privacy van de gebruiker van belang. Door gebruikte maken van draadloze communicatie laat de gebruiker immers automatischsporen na van zijn activiteiten. Privacy zal zeker een belangrijke rol spelen inad-hoc netwerken, daar iedere gebruiker mogelijk berichten zal doorsturen vanandere gebruikers. Ad-hoc netwerken zorgen dus voor nieuwe uitdagingen inzakebeveiliging en privacy.

    Deze thesis levert een bijdrage tot mogelijke oplossingen voor een deel van dezeuitdagingen. Deze thesis bestudeert niet één bepaald onderdeel tot in de klein-ste details, maar behandelt meerdere uiteenlopende aspecten. Hoofdstuk 2 geefteen overzicht van de state-of-the-art van cryptografische primitieven en geeft eenanalyse van de efficiëntie van deze algoritmen. De ontwerpen in de volgendehoofdstukken zijn gebaseerd op de resultaten die in dit hoofdstuk verzameld wer-den. Hoofdstuk 3 geeft een gedetailleerde analyse van de efficiëntie van éénmaligedigitale handtekeningen die gebaseerd zijn op een éénwegsfunctie. Deze analysehoudt rekening met alle aspecten van het gebruik van digitale handtekeningenin een draadloze omgeving: genereren van sleutels, berekenen van een handte-kening, verifiëren van een handtekening, doorsturen van een handtekening enverificatie van een éénmalige publieke sleutels. In hoofdstuk 4 stellen we een con-structie voor om éénmalige-handtekeningschema’s om te vormen tot coöperatieveéénmalige-handtekeningschema’s. Met dit schema kunnen verschillende gebrui-kers samen een handtekening zetten op een bepaald bericht. In een tweede deelvan dit hoofdstuk tonen we hoe dit schema kan ingezet worden in een completeoplossing voor de authentisering van berichten in sensornetwerken. Hoofdstuk5 handelt over een sleutelverdelingssysteem voor dynamische ad-hoc netwerken.Via dit systeem kunnen knopen sleutels afspreken met andere knopen in hun

  • xxiii

    steeds veranderende buurt. We tonen ook aan dat hetzelfde systeem kan ge-bruikt worden om een sleutel af te spreken met knopen die verder (meer dan éénhop) verwijderd zijn. Ten slotte bespreken we hoe het systeem kan gëıntegreerdworden in een bestaand routeringsprotocol voor ad-hoc netwerken. Hoofdstuk6 handelt over de privacy in ad-hoc netwerken. Het hoofdstuk begint met eeninleiding tot het onderzoeksdomein en stelt de state-of-the-art voor van anoniemerouteringsprotocollen voor ad-hoc netwerken. Daarna stellen we een nieuw ano-niem routeringsprotocol voor dat ontworpen werd om efficiënter te zijn en meeranonimiteit te bieden dan bestaande voorstellen. Hoofdstuk 7 sluit de thesis afen formuleert nieuwe uitdagingen voor de toekomst.

    Hoofdstuk 2: Efficiëntie van cryptografische primitie-ven

    Bijna alle protocollen voor de beveiliging van netwerken en computersystemenmaken in meer of mindere mate gebruik van cryptografische primitieven. Zoalsin de inleiding vermeld werd, hebben we bij het ontwerp van de protocollendie we voorstellen in hoofdstukken 3 tot en met 6, getracht om een zo efficiëntmogelijke oplossing te bieden. Dit hoofdstuk is dan ook gericht op de efficiëntievan de belangrijkste klassen van cryptografische primitieven: symmetrische blok-en stroomcijfers, hashfuncties, asymmetrische vercijferingsschema’s en digitalehandtekeningschema’s.

    Efficiëntie van symmetrische primitieven

    Symmetrische vercijferingssystemen maken gebruik van een geheime sleutel diegekend is door twee partijen: de partij die een boodschap vercijfert en de partijdie de boodschap zal ontcijferen.

    Blokcijfers transformeren een klaartekstblok van vaste lengte naar een cijfertekst-blok van vaste lengte. Er zijn verschillende manieren (“modes of operation”)om klaarteksten die langer zijn dan de bloklengte te vercijferen. In 2000 werdRijndael verkozen als de nieuwe Advanced Encryption Standard (AES) voor deVerenigde Staten. Rijndael won de wedstrijd die uitgeschreven werd door de Na-tional Institute for Standards and Technology (NIST) in 1997 om de bestaandeData Encryption Standard (DES) te vervangen. Als opvolger van de DES, zalde AES de de facto cryptografische standaard worden voor de vercijfering in hetbankwezen, administraties en de industrie. Een belangrijk criterium bij het ont-werp van de AES was veelzijdigheid. Dit betekent dat het algoritme efficiënt moet

  • xxiv Summary in Dutch

    gëımplementeerd kunnen worden op uiteenlopende platformen, zowel in softwareals in hardware. Deze veelzijdigheid zorgt ervoor dat de AES een zeer performantblokcijfer is, en een ideaal referentiepunt is om andere algoritmen aan te toetsen.

    In tegenstelling tot blokcijfers, produceren stroomcijfers een oneindig lange pseu-do-willekeurige bitstroom S(k) die enkel afhangt van de sleutel. Een boodschapm kan dan vercijferd worden door deze samen te tellen (XOR) met de pseudo-willekeurige bitstroom S(k): c = m ⊕ S(k). Om de cijfertekst c te ontcijferenmoet deze operatie gewoon herhaald worden: m = c ⊕ S(k). Stroomcijfers heb-ben het voordeel dat er niet moet gewacht worden tot een klaartekstblok gevuldis en dat er geen foutpropagatie is (zolang de stromen gesynchroniseerd blijven).Draadloze communicatiesystemen maken meestal gebruik van stroomcijfers omde communicatie te vercijferen. Zo maken Bluetooth en GSM gebruik van res-pectievelijk het E0 en A5/1 stroomcijfer. Deze algoritmen werden ontworpen omzo efficiënt mogelijk te zijn, zowel in energieverbruik als in het aantal poortenin de hardware-implementatie. Het WEP-algoritme dat gebruikt wordt in deIEEE 802.11 standaard voor draadloze netwerken maakt gebruik van het RC4stroomcijfer. RC4 is zeer snel in software en heeft zeer weinig werkgeheugennodig (< 1 kByte).

    Cryptografische hashfuncties spelen een belangrijke rol in integriteitsbeschermingvan berichten en in digitale handtekeningschema’s. Een hashfunctie beeldt bitrij-en van willekeurige lengte af op bitrijen van een vaste lengte. Een hashfunctie Hmoet minstens voldoen aan de volgende drie eigenschappen: (1) éénwegsfunctie:het is onmogelijk om uit een hashwaarde h een bericht m te berekenen zodatH(m) = h, (2) zwak botsingsvrij: het is onmogelijk om, gegeven een boodschapm, een tweede boodschap m′ te vinden met H(m) = H(m′) en (3) sterk bot-singsvrij: het is onmogelijk om twee verschillende boodschappen te vinden metdezelfde hashwaarde.

    In het kader van het NESSIE project werden de snelheid en de veiligheid vanverschillende cryptografische primitieven geëvalueerd. Een deel van de resultatenzijn samengevat in Tabel 1.

    Efficiëntie van publieke-sleutelcryptografie

    In tegenstelling tot symmetrische cryptografische systemen maakt publieke-sleu-telcryptografie gebruik van twee verschillende sleutels: een private (geheime) eneen publieke sleutel. De publieke sleutel wordt afgeleid uit de private sleutel, om-gekeerd is dit niet mogelijk. De private sleutel wordt nooit vrijgegeven, terwijlde publieke sleutel door iedereen gekend mag zijn.

  • xxv

    Bij publieke-sleutelvercijfering worden de private en publieke sleutel gegenereerddoor de ontvanger Bob (de persoon die boodschappen zal ontcijferen). Een bood-schap vercijferen voor Bob verloopt zo: Alice verkrijgt de publieke sleutel vanBob, gebruikt deze om haar bericht te vercijferen en stuurt het resultaat naarBob. Bob gebruikt dan zijn private sleutel om het ontvangen bericht te ontcij-feren. Merk op dat iedereen Bob’s publieke sleutel mag gebruiken om berichtennaar hem te sturen. Bij symmetrische cryptografie zou Bob met iedere zendereen andere geheime sleutel moeten afspreken.

    Bij digitale handtekeningschema’s is het gebruik van de publieke en private sleutelomgekeerd: de zender gebruikt zijn private sleutel om een boodschap te handte-kenen. De ontvanger gebruikt de publieke sleutel van de zender om zijn handte-kening te controleren. Aangezien de publieke sleutel voor iedereen beschikbaaris, kan dus iedereen handtekeningen van alle gebruikers controleren.

    De veiligheid van de meeste publieke-sleutelsystemen is gebaseerd op een “moei-lijk” wiskundig probleem. Zo is de veiligheid van het veel gebruikte RSA encryp-tie- en handtekeningschema gerelateerd aan de moeilijkheid om grote getallen tefactoriseren. Het nadeel van publieke-sleutelsystemen is dat ze veel minder effi-ciënt zijn dan symmetrische primitieven (zie Tabel 1). Publieke-sleutelsystemendie gebruik maken van elliptische krommen (zoals ECDSA) hebben het voordeeldat ze efficiënter zijn dan hun tegenhangers (zoals DSA) die werken in het veldF∗q en dat ze dezelfde veiligheid kunnen bieden met kleine sleutellengtes. Zo isECDSA met een 160-bit sleutel even veilig als DSA met een 1024-bit sleutel.

    Conclusies

    Uit Tabel 1 blijkt duidelijk dat symmetrische primitieven veel efficiënter zijn danpublieke-sleutelsystemen. Publieke-sleutelsystemen die gebruik maken van ellip-tische krommen zijn efficiënter dan hun tegenhangers die werken in het veld F∗q enbieden bovendien dezelfde veiligheid met kortere sleutels. Ten slotte merken weop dat de publieke operaties (vercijferen en handtekeningen verifiëren) van RSAen Rabin ongeveer twee maal zo snel zijn dan de ECDSA-operaties. De geheimeoperaties zijn dan weer veel minder efficiënt. In de volgende hoofdstukken heb-ben we steeds getracht om deze efficiëntieverschillen optimaal te benutten, d.w.z.dat de minst krachtige knopen in het netwerk steeds enkel de efficiënte operatiesmoeten uitvoeren.

  • xxvi Summary in Dutch

    Tabel 1. Performantie van cryptografische primitieven in software [134].

    Algoritme |sleutel| Platform|hash| PIII/Linux Athlon

    AES 128 25/26/523 30/31/500RC4 128 7.3/2659 11/2600RIPEMD-160 160 18/16/1339 21/12/1493SHA-1 160 15/16/1024 12/12/825SHA-2 256 40/44/2747 34/39/2369SHA-2 512 83/157/11K 71/106/9752RSA-OAEP 1024 2026K/42M/1654M 2289K/48M/2027MECDSA-GF(2p) 160 4775K/6085K/4669K 4464K/572K/4354KECDSA-GF(2163) 163 5061K/6809K/4852K 4602K/6159K/4426KRSA-PSS 1024 42M/2029K/1334M 48M/2288K/1419M

    Voor de AES en RSA-OAEP zijn dit vercijfer-/ontcijfer-/sleutel-initialisatietijden. VoorRC4 is dit genereren van de sleutelstroom/sleutel-initialisatie. Voor de hashfuncties isdit hash/initialisatie/initialisatie+finalisatie. Voor de ECDSA en RSA-PSS zijn dithandteken-/verificatie-/sleutelgeneratietijden. De symmetrische primitieven zijn geme-ten in cycli/Byte of cycli/initialisatie, de asymmetrische in cycli/aanroep.

    Hoofdstuk 3: Efficiëntie van éénmalige digitale hand-tekeningen

    Uit het vorige hoofdstuk blijkt dat symmetrische primitieven veel efficiënter zijndan publieke-sleutelsystemen. Zelf met de snelste publieke-sleuteloperaties, RSAvercijfering of verificatie, neemt één publieke-sleuteloperatie evenveel tijd in danhet vercijferen van 80 kBytes met AES. Dit heeft ons gemotiveerd om een gede-tailleerde studie te maken van de efficiëntie van éénmalige-handtekeningschema’sdie enkel gebruik maken van éénwegsfuncties. Daar éénwegsfuncties efficiëntgëımplementeerd kunnen worden via blokcijfers of hashfuncties, lijken deze sche-ma’s op het eerste zicht efficiënter te zijn dan conventionele handtekeningsche-ma’s zoals RSA, DSA en ECDSA. Het nadeel van deze systemen is echter dateen publieke sleutel slechts éénmaal gebruik kan worden. Hierdoor is een ef-ficiënt mechanisme voor het authentiseren van meerdere publieke sleutels eenbelangrijk aspect bij het gebruik van éénmalige-handtekeningschema’s. In dithoofdstuk evalueren we dan ook alle aspecten van het gebruik van éénmalige-handtekeningschema’s: (1) genereren van de private en publieke sleutels, (2)authentiseren van de publieke sleutels, (3) handtekeningen zetten en verifiërenen (4) de communicatiekost.

  • xxvii

    De belangrijkste bijdragen in dit hoofdstuk zijn:

    – Een gedetailleerde evaluatie van de efficiëntie van drie besproken éénmalige-handtekeningschema’s: LDM, LDW en HORS.

    – Een gedetailleerde evaluatie van de efficiëntie van twee authentiseringsme-chanismen: Merkle-bomen en éénwegskettingen.

    – Een analyse van de veiligheid van het HORS-schema.

    Eénmalige-handtekeningschema’s

    We hebben drie verschillende éénmalige-handtekeningschema’s geëvalueerd: hetLamport-Diffie-schema met verbeteringen door Merkle (LDM), het Lamport-Diffie-schema met verbeteringen door Winternitz (LDW) en het HORS-schema.Deze schema’s maken enkel gebruik van een éénwegsfunctie f . In zijn eenvou-digste vorm kan het Lamport-Diffie-schema gebruikt worden om één bit te hand-tekenen. De private sleutel bestaat uit twee willekeurige getallen x0 en x1. Depublieke sleutel wordt berekend door de functie f toe te passen op de privatesleutel. Dit resulteert in het koppel {f(x0), f(y0)}. De handtekening voor bit bis xb. Het is duidelijk dat eenzelfde sleutelpaar maar éénmaal gebruikt kan wor-den. Om meerdere bits te tekenen wordt dit schema meerdere keren herhaald.In dit geval bestaat de private sleutel dus uit meerdere willekeurige getallen:sk = {x1, x2, . . . , xt}.

    Authentisering van de éénmalige publieke sleutels

    Iedere ontvanger heeft een geauthentiseerde kopie nodig van de publieke sleutelom een handtekening te kunnen verifiëren. Aangezien een publieke sleutel slechtséénmaal kan gebruikt worden in deze schema’s, is er nood aan een efficiëntemanier om meerdere publieke sleutels te authentiseren. In deze thesis hebben wijtwee mechanismen bestudeerd: Merkle-bomen en éénwegskettingen.

    Merkle-bomen

    Een Merkle-boom is een binaire boom met op iedere knoop een getal van l bits. Dewaarde van iedere interne knoop is gelijk aan het resultaat van een éénwegsfunctietoegepast op de twee kinderen (zie Fig. 1):

    {leaf i = P [i, i] = leafcalc(i) ,

    P [i, j] = f(〈P [i , (i + j − 1 )/2 ],P [(i + j + 1 )/2 , j ]〉) .

  • xxviii Summary in Dutch

    Hierin is leafcalc het algoritme dat gebruikt wordt om de onderste bladen van deboom te berekenen. In dit geval bestaat leafcalc uit twee deeltaken: het genererenvan een publieke sleutel en het berekenen van de hashwaarde van deze publiekesleutel. Iedere hashwaarde die zo bekomen wordt, is één blad van de boom.

    De volledige boom wordt berekend door de gebruiker S, die handtekeningen wilplaatsen. We veronderstellen dat iedere gebruiker V , die handtekeningen wilverifiëren, een geauthentiseerde kopie heeft gekregen van de top van de boom(P [1, 8] in Fig. 1). Een bepaald blad van de boom, neem leaf 3 in Fig. 1, kan opde volgende manier geauthentiseerd worden: gebruiker S berekent het blad leaf 4en de interne knopen P [5, 8] en P [1, 2]. Deze waarden, het authentiseringspadgenoemd, stuurt hij samen met de derde publieke sleutel (die bij leaf 3 hoort)door naar gebruiker V . Gebruiker V berekent nu leaf 3 (leaf 3 is de hashwaardevan de ontvangen publieke sleutel) en berekent uit leaf 3 en de ontvangen leaf 4de waarde P [3, 4]. Deze waarde combineert hij met de ontvangen waarde P [1, 2]om P [1, 4] te berekenen. Uit P [1, 4] en P [5, 8] kan hij uiteindelijk de top vande boom berekenen. Indien deze dezelfde is als de geauthentiseerde kopie diegebruiker V al in zijn bezit had, dan wordt de publieke sleutel aanvaard.

    Wanneer Merkle-bomen gebruikt worden in combinatie met een éénmalig-hand-tekeningschema, dan bestaat het plaatsen van een handtekening uit de volgendehandelingen:

    1. Berekenen van de top van de boom. Hiervoor moeten alle publieke sleutels,die in de toekomst gebruikt zullen worden, berekend worden. Dit moet slechtséén keer gebeuren per boom. De top van de boom wordt verspreid naar allegebruikers die handtekeningen zullen verifiëren.

    2. Genereren van de publieke en private sleutel die voor deze handtekeninggebruikt zullen worden.

    3. Berekenen van het authentiseringspad. Jakobsson et al. [80] hebben hiervooreen algoritme ontwikkeld dat slechts O(log2(N)/ log2(log2(N))) invocatiesvan f nodig heeft per pad dat berekend moet worden.

    4. Berekenen van de handtekening.

    5. Doorsturen van de handtekening, de publieke sleutel en het authentiserings-pad.

    Om een handtekening te verifiëren, controleert men eerst de authenticiteit van deontvangen publieke sleutel (via het authentiseringspad en de top van de gebruikteMerkle-boom) en daarna de handtekening zelf.

  • xxix

    P [1, 8]

    P [1, 4]

    P [1, 2]

    leaf1

    · · ·

    leaf2

    · · ·

    P [3, 4]

    leaf3

    · · ·

    leaf4

    · · ·

    P [5, 8]

    P [5, 6]

    leaf5

    · · ·

    leaf6

    · · ·

    P [7, 8]

    leaf7

    · · ·

    leaf8

    · · ·

    1

    Figuur 1. Merkle tree met 8 bladen. De top P [1, 8] kan gebruikt worden omheel de boom te authentiseren.

    Eénwegskettingen

    Een tweede efficiënte methode om publieke sleutels te authentiseren is het ge-bruik van éénwegskettingen. De persoon die handtekeningen wil plaatsen, begintmet het genereren van een private sleutel: skN = {x1, x2, . . . , xt}. In plaatsvan de functie f éénmaal toe te passen om de publieke sleutel te bekomen,past de gebruiker de functie N -maal toe. Hier is N het aantal publieke sleu-tels die geauthentiseerd kunnen worden met de éénwegskettigen. De laatste setvan waarden die zo bekomen wordt, pk1 = {fN (x1), fN (x2), . . . , fN (xt)}, isde eerste publieke sleutel die gebruikt zal worden. Deze wordt op een geau-thentiseerde manier doorgegeven aan alle personen die handtekeningen willenverifiëren (zoals de top van de Merkle-boom). De voorlaatste set van waarden,sk1 = {fN−1(x1), fN−1(x2), . . . , fN−1(xt)}, is de eerste private sleutel die zalgebruikt worden om een handtekening te plaatsen. Aangezien een handtekeningbestaat uit een deel van de private sleutel, kan deze geverifiëerd worden door defunctie f toe te passen en na te kijken of dat men de overeenkomstige waardenuit de publieke sleutel pk1 bekomt. Eénmaal het sleutelpaar (pk1, sk1) gebruiktis, worden de vorige set van waarden op de kettingen de nieuwe private sleu-tel: sk2 = {fN−2(x1), fN−2(x2), . . . , fN−2(xt)}. De nieuwe publieke sleutel isgelijk aan de oude private sleutel: pk2 = sk1. Dit proces wordt verder gezettot de oorspronkelijke private sleutel skN bereikt is. Op deze manier kunnen Nhandtekeningen geplaatst worden.

    Wanneer éénwegskettingen gebruikt worden in combinatie met een éénmalig-handtekeningschema, dan bestaat het plaatsen van een handtekening uit de vol-gende handelingen:

  • xxx Summary in Dutch

    1. Berekenen van de éénwegskettingen. Hiervoor moeten alle publieke sleutels,die in de toekomst gebruikt zullen worden, berekend worden. Dit moet slechtséén keer gebeuren. De laatste bekomen waarden worden verspreid naar allegebruikers die handtekeningen willen verifiëren.

    2. Genereren van de private sleutel die voor deze handtekening gebruikt zalworden. Voor de eerste handtekening is dit het meeste werk, omdat dantot het einde van de kettingen moet gerekend worden. Voor iedere volgendehandtekening wordt dit steeds minder intensief, omdat steeds een kleiner deelvan de kettingen berekend moet worden.

    3. Berekenen van de handtekening.

    4. Doorsturen van de handtekening. Bemerk dat hier geen publieke sleutel moetdoorgestuurd worden.

    Efficiëntie van de verschillende schema’s

    We hebben de performantie geëvalueerd van de drie éénmalige-handtekening-schema’s in combinatie met de twee mechanismen om publieke sleutels te au-thentiseren. Deze evaluatie resulteerde in algebräısche uitdrukkingen voor alleverschillende aspecten en numerieke evaluaties. Figuur 2 geeft de totale kost perhandtekening in mJ van de verschillende schema’s. In dit scenario werd veron-dersteld dat er een handtekening gestuurd wordt naar 10 personen ter verificatie.Verder werd er verondersteld dat de top van de Merkle-boom of de eerste pu-blieke sleutel (in het geval van éénwegskettingen) geauthentiseerd werd met eenECDSA-handtekening. Deze initialisatiekost zorgt ervoor dat de kost per handte-kening in eerste instantie kleiner wordt als het aantal handtekeningen per boomof set van éénwegskettingen groter wordt.

    Hoofdstuk 4: Efficiënte coöperatieve digitale handte-keningen

    In dit hoofdstuk stellen we een constructie voor die het mogelijk maakt om ie-der éénmalig-handtekeningschema om te zetten naar een drempelschema. In ditschema kunnen een aantal knopen samenwerken om een handtekening te plaat-sen. In een (t, n)-drempelschema moeten minstens t knopen samenwerken omeen correcte handtekening te verkrijgen.

    De belangrijkste bijdragen in dit hoofdstuk zijn:

  • xxxi

    0 200 400 600 800 1000 1200 1400 1600 1800 20000

    1000

    2000

    3000

    4000

    5000

    6000

    # signatures

    mJ/

    sign

    atur

    e

    HORS−18 with Merkle

    LDW with OWC

    ECDSA

    LDM with Merkle

    HORS−18 with OWC

    LDM with OWC

    HORS−20 with Merkle

    HORS−20 with OWC

    LDW with Merkle

    Figuur 2. Vergelijking van het energieverbruik van de verschillende handteke-ningschema’s. We veronderstellen hier 1 persoon die een handtekening plaats diedoor 10 personen geverifiëerd wordt.

    – We stellen een constructie voor om een éénmalig-handtekeningschema om tezetten naar een drempelschema.

    – We tonen aan hoe dit kan ingezet worden in een authentiseringsmechanismevoor sensornetwerken.

    Coöperatief éénmalig-handtekeningschema

    Traditionele handtekeningschema’s zijn gebaseerd op “eenvoudige” wiskundigeuitdrukkingen. Zo bestaat een RSA-handtekening in essentie uit het berekenenvan een modulaire macht: s = md (mod pq). Hierin is s de handtekening,m de boodschap en {d, p, q} de geheime sleutel. Dit maakt het mogelijk omeen drempelschema te bouwen via mathematische constructies. Een eenvoudigdrempelschema voor RSA kan eruit bestaan de geheime sleutel d te verdelen intwee delen d1 en d2, zodat d1 + d2 = d. Deze sleutels worden verdeeld tussentwee gebruikers. Deze gebruikers rekenen dan ieder een “halve” handtekeninguit: s1 = md1 (mod pq) en s2 = m

    d2 (mod pq). Het product van deze twee

    halve handtekeningen is een geldige RSA-handtekening die geplaatst werd metde sleutel d: s1s2 = s. Daar éénmalige-handtekeningschema’s die gebaseerd

  • xxxii Summary in Dutch

    ECC (H ) = α code words

    ω symbols

    k users H ′5

    H

    Figuur 3. Voorbereidingsfase van het coöperatief éénmalig-handtekeningsche-ma.

    zijn op éénwegsfuncties niet kunnen beschreven worden met elegante wiskundeuitdrukkingen, is het niet mogelijk een gelijkaardige constructie te gebruiken.

    Om toch een drempelschema te kunnen construeren, geven we iedere gebrui-ker een eigen volledige private en publieke sleutel. De redundantie wordt danniet toegevoegd aan de handtekeningen zelf (zoals in het voorbeeld van de RSA-constructie), maar aan het bericht dat getekend zal worden. Figuur 3 toontdit proces. Eerst wordt de hashwaarde H van het bericht berekend. Op dezehashwaarde wordt een foutcorrigerende code toegepast die de nodige redundan-tie toevoegt, dit resulteert in ECC (H). Iedere gebruiker zal een deel van dezeECC (H) handtekenen. De persoon die de handtekening wil controleren, verza-melt en verifiëert eerst alle individuele partiële handtekeningen. Daarna gebruikthij de foutcorrigerende code om H ′ te bereken uit de gereconstrueerde ECC ′(H).Indien de berekende H ′ gelijk is aan de hashwaarde van de gehandtekende bood-schap, dan wordt de volledige handtekening geaccepteerd.

    Na een gedetailleerde beschrijving, geven we een veiligheidsanalyse van de con-structie.

    Authentisering in sensornetwerken

    Na de beschrijving van het coöperatief éénmalig-handtekeningschema, geven weaan hoe het kan ingezet worden om efficiënte data-authentisering te bieden insensornetwerken. In vele sensornetwerken worden sensorknopen gegroepeerd inclusters. Wanneer bijvoorbeeld de temperatuur van een kamer opgevraagd wordt,dan worden de verschillende opmetingen van een volledige cluster eerst lokaalverwerkt tot een globaal resultaat. Dit resultaat wordt dan als antwoord terug-gestuurd.

  • xxxiii

    Wij stellen een authentiseringsmethode voor die toelaat dat al de knopen in een-zelfde cluster samenwerken om een bericht te authentiseren. Daarnaast stellenwe ook een efficiënte methode voor om de publieke en private sleutels te hernieu-wen. Het volledige systeem is zo ontworpen dat de zwakke sensorknopen nooitrekenintensieve taken moeten uitvoeren, maar dat deze taken steeds door desterke “‘query”-knoop (de knoop die de gegevens van het sensornetwerk uitleest)uitgevoerd worden.

    Hoofdstuk 5: Dynamisch sleutelbeheer

    Wanneer symmetrische cijfers worden gebruikt om gegevens te vercijferen, dan ishet essentieel dat de twee communicerende partijen kunnen beschikken over eengedeelde geheime sleutel. In dit hoofdstuk stellen we een mechanisme voor om de-ze sleutel af te spreken in een dynamisch ad-hoc netwerk. Om het systeem zo effi-ciënt mogelijk te houden, maken we geen gebruik van publieke-sleutelcryptografie.

    De belangrijkste bijdragen in dit hoofdstuk zijn:

    – We stellen een efficiënt sleutelbeheersysteem voor ad-hoc netwerken voor. Ditschema werkt autonoom, zonder hulp van vaste knopen die dienst doen alssleutelverdelingscentra.

    – We tonen aan hoe dit schema kan gëıntegreerd worden met een routerings-schema voor ad-hoc netwerken.

    – We hebben de veiligheid en de efficiëntie van het voorgestelde systeem gea-nalyseerd.

    Initialisatie

    Ons systeem is een uitbreiding van “key pre-distribution”-schema’s (KPD) naareen omgeving waar knopen zich vrij kunnen bewegen. In een KPD-schema wor-den geheime sleutels in de knopen gëınstalleerd voor ze uitgezet worden. Eeneenvoudig KPD-schema kan er bijvoorbeeld in bestaan dat iedere knoop 60 wil-lekeurig gekozen sleutels krijgt uit een set van 5000 sleutels. De kans dat tweeknopen dan een sleutel delen is ongeveer 50%. Er bestaan vele variaties diebijvoorbeeld rekening houden met de plaats waar een knoop waarschijnlijk zalterechtkomen, enz.

  • xxxiv Summary in Dutch

    Sleutels opzetten met de buurt

    Eénmaal de knopen uitgezet zijn, proberen zij sleutels af te spreken met alleknopen in hun buurt. Een buurt met straal l wordt gedefinieerd als alle knopendie bereikbaar zijn in maximaal l hops. Indien een knoop geen sleutel deelt viahet KPD-schema met één of meerdere van zijn buren, dan zal hij via andereknopen waarmee hij wel een sleutel deelt, een sleutel opzetten met deze buren.

    Na deze initiële fase deelt elke knoop een geheime sleutel met alle andere knopenin zijn buurt. Veronderstel nu dat (door de mobiliteit van de knopen) een nieuweknoop B in de buurt van knoop A komt. Knoop A zal nu een sleutel met denieuwe knoop afspreken. Met zeer grote waarschijnlijkheid zullen er meerderepaden zijn tussen knopen A en B, waarbij iedere hop op dit pad beschermd is dooreen sleutel die gedeeld is door de twee eindpunten van deze hop (aangezien iedereknoop sleutels deelt met zijn gehele buurt). Knoop A stuurt via één van dezepaden een bericht naar knoop B met de vraag een sleutel af te spreken. Knoop Bgenereert dan een willekeurige sleutel en verdeelt deze in stukken via een (m,n)“secret sharing”-mechanisme. Met dit mechanisme heeft men minstens m van den delen van de sleutel nodig om deze te reconstrueren. Knoop B stuurt nu iederdeel over een verschillend pad naar knoop A. Hierbij worden de delen hop-per-hop vercijferd via de bestaande sleutels. Knoop A reconstrueert de sleutel uitminstens m delen. Het “secret sharing”-mechanisme heeft twee voordelen. Teneerste mogen een aantal delen van de geheime sleutel verloren gaan en ten tweedemoet een aanvaller minstens m delen bemachtigen om het geheim te achterhalen.

    Integratie met een routeringsprotocol

    In dit deel tonen we aan hoe ons sleutelbeheersysteem gëıntegreerd kan wordenin bestaande routeringsprotocollen, in het bijzonder het Dynamic Source Rou-ting (DSR) protocol. De integratie van de twee systemen, routering enerzijds ensleutelbeheer anderzijds, heeft twee voordelen. Ten eerste kan het routeringspro-tocol beveiligd worden met de sleutels die opgezet worden via het sleutelbeheersysteem en ten tweede wordt de extra overhead vermeden die gecreëerd wordt,wanneer de twee systemen onafhankelijk van elkaar gëımplementeerd worden.

    Performantie- en veiligheidsanalyse

    Ten slotte geven we een performantie- en veiligheidsanalyse van het voorgestel-de sleutelbeheersysteem. De performantieanalyse is gebaseerd op een analytischmodel en op simulaties om aan te tonen dat het analytisch model accuraat is.

  • xxxv

    In de veiligheidsanalyse wordt de veiligheid van het sleutelbeheersysteem en hetgëıntegreerd routeringsprotocol besproken. Ten slotte hebben we, via een eenvou-dig analytisch model, achterhaald hoe snel het aantal gecompromitteerde knopengroeit wanneer een aanvaller een fractie c van de geheime sleutels achterhaaldheeft. Deze analyse geeft aan dat het schema veiliger wordt wanneer men destraal l van de buurt kleiner maakt, en wanneer men het (m,n) “secret sharing”-mechanisme minder robuust maakt (een kleinere m kiest).

    Hoofdstuk 6: Privacy in ad-hoc netwerken

    Dit laatste hoofdstuk handelt over privacy in ad-hoc netwerken. In de huidigesamenleving, waar de digitalisering zich blijft uitbreiden, wordt onze privacysteeds meer bedreigd. Met de huidige technologie is het mogelijk om op zeer kortetijd zeer grote hoeveelheden gegevens te verwerken (bedenk bijvoorbeeld hoe snelde Google zoekmachine resultaten kan produceren). Door de digitalisering vandiensten laten we ook steeds meer sporen na van onze handelingen. Al onzebanktransacties en informatie over telefoongesprekken worden opgeslagen, onskoopgedrag wordt verzameld via klantenkaarten, enz. Door het gebruik vanmobiele telefonie, zoals GSM, wordt niet alleen informatie over de gesprekkenopgeslagen, maar ook de locatie van waar we belden. Met de introductie vanad-hoc netwerken, waarin iedere gebruiker mogelijk berichten zal doorsturen vanandere gebruikers, zal dit probleem nog groter worden. In dit geval kunnen weniet langer vertrouwen op de mobiele operator om onze gegevens te beschermen.

    We vatten dit hoofdstuk aan met een inleiding tot het privacy-domein. Daarnageven we een volledig overzicht en analyse van de state-of-the-art van anoniemerouteringsprotocollen voor ad-hoc netwerken. In de analyse duiden we de zwakkeen sterke punten aan van de voorgestelde protocollen.

    Na deze inleiding stellen we een eigen protocol voor anonieme routering in ad-hocnetwerken voor. In ons voorstel trachten we de bestaande protocollen te verbe-teren op twee gebieden: op het gebied van efficiëntie en de geboden anonimiteit.

    De belangrijkste bijdragen in dit hoofdstuk zijn:

    – We geven een overzicht van de state-of-the-art in anonieme routeringsproto-collen voor ad-hoc netwerken.

    – We presenteren een nieuw schema dat meer privacy biedt en efficiënter is dande bestaande voorstellen.

    – We geven een gedetailleerde analyse van de anonimiteit die geboden wordt.

  • xxxvi Summary in Dutch

    DN1

    N2

    S

    Figuur 4. Route tussen zender S en bestemming D. De volle lijn duidt eenechte route tussen S en D aan, terwijl de stippelijnen nepberichten aanduidenom de locatie van de echte route te beschermen.

    ARM: anonieme routering voor mobiele ad-hoc netwerken

    Een eerste onderdeel van het anoniem routeringsprotocol is de constructie vanéénmalige pseudoniemen die knopen kunnen gebruiken om elkaar te contacteren.De voorgestelde constructie is gebaseerd op een geheime sleutel die gedeeld wordttussen de twee communicerende partijen. De pseudoniemen die op deze manierbekomen worden, hebben het voordeel dat ze op een efficiënte manier herkendkunnen worden door de andere partij, zonder dat enige andere partij een ideeheeft aan wie het bericht gericht is.

    Eénmaal een nieuw pseudoniem geconstrueerd is, kan het gebruikt worden oméén of meerdere paden op te zetten naar de andere partij. Het opzetten vandeze paden gebeurt zodanig dat de deelnemende knopen (die berichten zullendoorsturen naar elkaar tot de eindbestemming bereikt is) geen idee hebben wiede communicerende partijen zijn of waar deze gelocaliseerd zijn. Onze oplossingbiedt dus bescherming tegen de knopen die deel uitmaken van het netwerk. Daar-naast biedt onze oplossing ook bescherming tegen een aanvaller die alle berichtenin het netwerk kan afluisteren. Het is duidelijk dat, wanneer deze aanvaller her-haaldelijk een bericht ziet passeren over eenzelfde route, hij kan aannemen datde eindpunten van deze route met elkaar communiceren. Daarom stellen we eensysteem voor om de locatie van een echte route te beschermen via nepberichten(zie Fig. 4).

    Om deze bescherming te bieden maken we zowel gebruik van een “padding”-schema (hierdoor krijgen berichten een willekeurige lengte) en een “time-to-live”-schema (de nepberichten sterven uit nadat ze een aantal hops afgelegd hebben).Na de voorstelling van ons anoniem routeringsprotocol geven we een gedetailleer-

  • xxxvii

    de analyse van de anonimiteit en efficiëntie die geboden wordt door padding entime-to-live schema’s.

  • Chapter 1

    Introduction

    1.1 Motivation

    The short but rapidly evolving history of digital communication systems hasrecently taken another turn. Since their introduction in the 1940s, digital com-puters have evolved from room-filling machines, available only to a few largeorganizations, to affordable, light and portable devices. In parallel, starting inthe late 1950s, computer networks evolved from small isolated networks centeredaround a mainframe, to the now omnipresent Internet, connecting computersaround the globe. Until recently, computers were typically connected to a wallsocket using a wire, limiting the mobility of the users. With the introductionof the 802.11 Wireless Local Area Network (WLAN) standard in the 1990s, itis now possible to make a wireless connection to an Access Point (AP), whichreplaces the traditional Ethernet socket. These recent advances in wireless tech-nologies and further miniaturization of computer systems, enable the next majorevolutionary step: Mobile Ad hoc Networks (MANETs).

    The most important characteristics of MANETs are [121]:

    – Self-organized and Decentralized: An ad hoc network establishes itself themoment two or more devices enter each others’ communication range. Thishappens without the use of any fixed infrastructure, but relies solely on thedevices that make up the ad hoc network.

    – Dynamic network topology: In many situations, the devices will be mobile.Next to this, due to power considerations, devices can turn themselves off atany time. Both actions imply a changing network topology.

    1

  • 2 Chapter 1. Introduction

    – Multi-hop, wireless connections: Obviously, nodes can only be mobile if theyare linked through wireless connections. Possible technologies include radioand infrared. In order to be able to communicate with devices that are out ofrange, intermediate devices will forward data packets in a hop-by-hop fashion.

    – Heterogeneity: The devices that make up an ad hoc network can have verydifferent capabilities (ranging from radio enabled light switches, al the wayup to laptops).

    MANETs make it possible to rapidly deploy networks in areas that have noexisting communications infrastructure, making them extremely well suited toestablishing communications in disaster areas or war zones. Other applicationsinclude urban mesh networks and car to car networks. Urban mesh networks havethe potential to allow users to bypass broadband providers. A single house couldconnect to the Internet and then extend access to the entire neighborhood viawireless, multi-hop ad hoc networking. Cars could benefit in many ways from acommunication link. Next to the obvious benefits to business and entertainmentapplications, safety on the road would also improve: traffic congestion avoidance,collision avoidance, braking coordination, remote diagnostics, etc.

    One specific example of MANETs are Distributed Sensor Networks (DSNs). Sen-sor networks consist of thousands of miniature sensors (referred to as motes)that are deployed in some area of interest [14, 90, 135, 171, 174]. These sensors,equipped with the necessary computing power and communication capabilities,form a wireless ad hoc network to collect and forward the necessary sensing data.Typical characteristics of sensor networks (in addition to those of a MANET)are:

    – Unattended: Once the sensors have been deployed, they may be physicallyimpossible to reach.

    – Limited power supply: In many situations, the sensor node’s energy is sup-plied by a battery. If the sensor’s cannot be reached, then the battery cannotbe replaced.

    – Limited processing power: Cheap miniature sensors with ultra-low powerbudgets will not be equipped with fast, multimedia-enabled processors.

    – Limited bandwidth: Fast transmission speeds are not required and requiremore power.

    Possible applications of sensor networks include: (1) A farmer or ecologist couldequip motes with sensors that detect temperature, humidity, etc., making eachmote a mini weather station. Scattered throughout a field, orchard or forest,these motes would allow the tracking of micro-climates, detect diseases, etc. (2)

  • 1.2 This thesis and related work 3

    A biologist could equip an endangered animal with a collar containing a motethat senses position, temperature, etc. As the animal moves around, the motegathers data from the sensors. This data is collected by an ad hoc network ofdata retrieving motes scattered throughout the animals natural habitat. (3) Sky-scrapers, bridges and other large structures could be fitted with motes that areequipped with a positioning system. Minute changes in related position of motescan be used to detect cracks and creases in these structures.

    Providing security is an important issue that needs to be solved before MANETscan become an everyday reality. Wireless communications are easy to interceptwithout detection. Moreover, radio waves travel through walls and windows, andcan be intercepted outside the physical perimeter of homes and corporations. Themedia attention given to the failing Wired Equivalent Privacy (WEP)1 protocol[24, 63, 170], and in a lesser degree, to the Bluetooth security shortcomings[82], proves that security is deemed important by the general public. Due tothe specific properties of wireless ac hoc networks, it is not straightforward toprovide security services. First of all, there are no online central servers that canbe used to facilitate security services such as signing public key certificates orestablishing session keys. Secondly, multi-hop routing implies that every node inthe system is a potential router for any other node. Mechanisms need to be inplace to establish the level of trust we have in these other nodes, to protect ourdata from them, etc. Thirdly, because of the dynamic network topology, routeswill continuously change. New nodes will enter a node’s neighborhood, while oldnodes leave the neighborhood. This means that nodes will continuously have toestablish new trust relationships. Finally, the security mechanisms will have tooperate on nodes with limited resources. Traditional security mechanisms werenot designed with the specific properties of ad hoc networks in mind. Therefore,the majority of these mechanisms are not directly applicable to MANETs. Sincethe late 1990s, a substantial research effort has been directed at designing securitymechanisms for wireless ad hoc networks.

    1.2 This thesis and related work

    Providing security for ad hoc networks encompasses the complete informationsecurity research domain, ranging from developing efficient cryptographic primi-tives to preparing security policies. We can distinguish several subtopics (manyof them a complete research field themselves):

    1WEP was the first mechanism proposed to secure IEEE 802.11 wireless Local Area Networks(LANs).

  • 4 Chapter 1. Introduction

    Efficient cryptographic primitives

    Many security mechanisms rely on cryptography. Because of the limited resourcesof the nodes in an ad hoc network, it is important that these cryptographicprimitives are as efficient as possible. Efficiency has always been an importantcharacteristic of cryptographic primitives, but when designing protocols for adhoc networks, their efficiency should be considered as important as the securitythey offer. We provide a detailed analysis of the efficiency of the most commoncryptographic primitives in Chapter 2. In Chapter 3, we present a detailedanalysis of the efficiency of one-time signature schemes based on a universal one-way function. Finally, in Chapter 4 we show how it is possible to constructcooperative threshold one-time signature schemes, in which multiple users cancooperate to sign a message.

    Authentication and Key establishment

    Cryptography reduces the confidentiality and integrity of a message to the con-fidentiality and integrity of a key. When using symmetric cryptography, theparties involved have to negotiate a secret key. A good key establishment schemeprovides entity authentication (all parties know the identity of the other par-ties with whom they are establishing a key), key authentication (all parties areassured that no unauthorized parties could have obtained the secret key), andkey confirmation (all parties are assured that all other parties have knowledgeof the secret key). Key establishment schemes can be divided into three majorcategories: (1) key pre-distribution schemes, (2) schemes using a trusted thirdparty, and (3) schemes based on public key cryptography.

    Key pre-distribution schemes have received a lot of attention in the setting of adhoc networks. They are very suited for ad hoc networks as they do not requirea trusted third party to be available at all times, and are very efficient (theydo not require computations and very little communications). Eschenauer andGligor [58] were the first to propose random key pre-distribution to establish keysin ad hoc networks. They propose installing a random subset of a larger batchof keys in every node. After deployment, the nodes check whether they sharea key with one or more of their neighbors. For example, two nodes will shareat least one key with a probability of 50% if each of them receives 60 differentkeys out of a batch of 5000 keys. Many variations and adaptations have beenproposed subsequently (e.g., based on location information, using structured keydistribution instead of random distribution, etc.). We refer to [37] for an overview.Du et al. have combined Blom’s key pre-distribution scheme [22] with random keypre-distribution, resulting in a scheme with a nice threshold property. As long as

  • 1.2 This thesis and related work 5

    less than or equal to λ nodes have been compromised, uncompromised nodes aresecure; when more than λ nodes are compromised, all pairwise keys in the entirenetwork are compromised [56]. These proposals are all targeted at static (ornear-static) networks. In Chapter 5 we propose a key establishment scheme thatextends key pre-distribution schemes to the setting of dynamic networks. Thisscheme uses key pre-distribution as a bootstrap mechanism and allows nodes tocontinuously establish pairwise keys with their neighbors or any other node inthe network. We achieve this by allowing every node in the network to becomea trusted third party for any other node.

    Schemes using trusted third parties are not really suited for ad hoc networks asthey assume that the trusted third party is available to anybody. However, theycan be applied in a distributed fashion as in the scheme we propose in Chapter 5.

    The disadvantage of public key based schemes is that they require certificatesand that public key algorithms are inefficient (Chapter 2). Zhou and Haas [185]propose to distribute the task of the Certification Authority (CA) to multiplenodes using a threshold scheme. This has two advantages: (1) if one or moreof the CAs becomes unreachable, a node can still obtain a certificate, and (2)an adversary will have to compromise multiple CAs before he can falsify cer-tificates. We have extended this idea in [156]. The self-organized Public KeyInfrastructure (PKI) for ad hoc networks was introduced by Hubaux et al. [75].Their scheme is similar to Pretty Good Privacy (PGP) [187] in the sense thatpublic key certificates are issued by the users. However, as opposed to PGP,certificates are stored and distributed by the users (and not by certificate direc-tories). Each user maintains a local repository that contains a limited number ofcertificates. When user u wants to obtain the public key of user v, they mergetheir local repositories, and u tries to find an appropriate certificate chain from uto v in the merged repositories. A third mechanism to authenticate public keysis using identity-based public key systems [23]. In identity-based schemes, thepublic key is mathematically derived from the identity of the user, i.e., knowingthe identity of a user automatically provides you with an authenticated copy ofthat user’s public key. This has been adapted to ad hoc networks in, a.o., [42, 93].Finally, we mention the work by Jakobsson and Pointcheval [81]. They propose avariation on the well known Station-to-Station (STS) protocol [107, Sect. 12.6],that is specifically designed for efficiency.

    Carman et al. [35, 36] have analyzed several approaches for key managementin sensor networks. They present detailed performance evaluation of severalschemes, including key pre-distribution, protocols using a trusted server, au-tonomous key agreement protocols and the use of identity-based public key cryp-tography.

  • 6 Chapter 1. Introduction

    Broadcast authentication

    Unless directed antennas are used, radio transmissions are automatically broad-cast transmissions. In multi-hop routing this is important as it allows to use allnodes within range as potential routers for our messages. In order to preventan adversary from flooding the entire network with messages, authentication ofbroadcast messages is an important aspect of ad hoc network security. Oneobvious solution would be to attach a digital signature to every broadcast mes-sage, as the same signature can be verified by every recipient. The inefficiencyof digital signature schemes combined with the fact that broadcast is the mainmethod of establishing routes in ad hoc networks, means that this is not an idealsolution. Perrig et al. propose different protocols that uses efficient Message Au-thentication Codes (MACs) [124, 126] or one-time signature [125] to authenticatebroadcast messages. As MACs are symmetric primitives, the key to create andverify a MAC value is the same. This means that every node v that can verify abroadcast message originating at node u, can also impersonate node u. Perrig etal. solve this by introducing time as an asymmetric property in the system. Thesender u computes a MAC of his broadcast message using a key k that is notknown to the other nodes at the moment of broadcast. After a short time delay,the key k is released to the other nodes. The other nodes can authenticate thiskey k using one-way chains (see Sect. 3.4.2 on p. 49). The moment the key isreleased, it cannot be used any more to create MACs, only to verify them. Thedisadvantage of this mechanism is that it requires a synchronized clock.

    Secure Routing

    Almost all ad hoc routing schemes [121, 127] use broadcast at some point. There-fore, most proposals for secure broadcast also include a section on how to use thesecure broadcast mechanism to create secure routing schemes [125, 126]. Hu etal. [73] present a secure broadcast mechanism that can use serveral authentica-tion methods, they also discuss a number of attacks on ad hoc routing schemes.Papadimitratos and Haas propose a scheme based on MACs that only requiresthat the two communicating nodes share a secret key [118]. In [117] they presenta protocol that is based on digital signatures. Other schemes based on digitalsignatures include [71, 167]. In Chapter 5 we show how our key establishmentprotocol can be built on top of the Dynamic Source Routing (DSR) routingprotocol, and how we can use the established keys to build a secure version ofDSR.

  • 1.3 Outline and main contributions 7

    Privacy

    Privacy is an important issue for mobile wireless networks. Soon after the publi-cation of the Bluetooth standard, it was shown that it is straightforward to tracka device’s whereabouts [82]. As many wireless devices are also personal devices(e.g., PDA, cell phone, etc.), this implies that it is possible to track people asthey move about. The moment ubiquitous computing becomes a reality, the pri-vacy risks become even higher. People will be able to use their personal deviceto connect to a wide range of services anytime, anywhere. In high density areas,such as city centers, shopping malls and airports, multi-hop ad hoc networks canbe used to offer connectivity to these services. Not only the service providers,but all users, will have to be trusted not to reveal private information aboutother users. It is clear that, as we progress more and more towards ubiquitouscomputing, privacy enabling techniques become more and more important. Weprovide a detailed overview of the state in the art of privacy preserving ad hocrouting schemes in Chapter 6. We propose a new efficient anonymous routingscheme that protects against a more powerful adversary.

    Incentives and reputation schemes

    Ad hoc networks rely on other devices (usually owned by different users) to for-ward messages for each other. An important issue here is that the average useris selfish and is likely to abuse the system by not forwarding messages of others.This has triggered research towards techniques to provide users with an incentiveto forward messages. The field can be split into two different approaches: award-ing well behaving users and punishing misbehaving users. The awarding schemes[33, 34, 79, 184] usually involve paying users to forward messages, in many casesusing a micro-payment scheme [102, 112, 146]. The downside of these proto-cols are their overhead and the fact that they require some fixed infrastructure.Reputation systems work by detecting and punishing the misbehaving nodes,so that cooperation is more attractive than cheating [30, 31, 32, 74, 105, 113].The disadvantage of reputation schemes is that it is difficult to distinguish be-tween malicious behavior and broken links, device failures, etc. They also havedifficulties to prevent users from framing other users.

    1.3 Outline and main contributions

    The outline of this doctoral thesis is the following:

  • 8 Chapter 1. Introduction

    – Chapter 1 presents the motivation and context of the work described in thisthesis.

    – Chapter 2 shows the state of the art of cryptographic primitives and pro-vides a detailed analysis of their efficiency. The design decisions made in thesubsequent chapters were based on the information provided in this chapter.

    – Chapter 3 provides a detailed analysis of the efficiency of one-time signatureschemes based on a universal one-way function and compares them withtraditional signature schemes such as the Elliptic Curve Digital SignatureAlgorithm (ECDSA). This analysis takes into account all aspects of usingthese schemes in a wireless environment, including authentication of the one-time public keys. This chapter is an extended version of the research resultsthat we have published in [159].

    – Chapter 4 shows how it is possible to construct cooperative threshold one-time signature schemes, in which multiple users can cooperate to sign a mes-sage. In the second part of this chapter, we show how to build a completedata authentication mechanism, that allows multiple sensor nodes to jointlyauthenticate data packets. In this scheme, the sensor nodes are only requiredto perform the efficient public operations (i.e., encryption and signature ver-ification) of the RSA or Rabin public key systems, while the computationaldemanding tasks are off-loaded to the powerful query nodes. This chapterextends the research results that we have published in [158].

    – Chapter 5 presents a key establishment and secure routing protocol fordynamic ad hoc networks. The key establishment scheme, which is based onsecret sharing, allows nodes to securely maintain pairwise keys and broadcastkeys with their 1-hop neighborhood. The same mechanism also allows anytwo arbitrary nodes to securely establish a pairwise key. We show how tointegrate the key establishment protocol with the DSR protocol. This workwas partially presented in [160].

    – Chapter 6 describes a novel anonymous routing scheme for ad hoc networks.The chapter starts with an introduction to the field of anonymity and thepresentation of the state of the art in anonymous routing schemes for adhoc networks. We show the strengths and weaknesses of these schemes, withrespect to both the anonymity they offer and their efficiency. Next, we presenta novel anonymous routing scheme that outperforms existing proposals bothconcerning efficiency and the provided anonymity. We show and analyze howit is possible to hide routes by allowing limited broadcast, and how to selecttime-to-live values in order to achieve optimal performance with respect toanonymity. This chapter extends the research results that we have published

  • 1.3 Outline and main contributions 9

    in [157].

    – Chapter 7 summarizes the conclusions and provides possible directions forfuture research.

    We have worked on other research publications that have not been included inthis thesis. In [48, 50], we introduce an information theoretic model that can beused to measure the degree of anonymity provided by schemes for anonymousconnections. In [156], we present a key management scheme for ad hoc networksbased on hierarchical and distributed PKI. An extension of the “Resurrectingduckling” protocol by Stajano and Anderson [168, 169] was presented in [154].Finally, in [155] we show how to mitigate denial-of-service attacks on ad hocnetworks by authenticating every single message in the network.

  • Chapter 2

    Efficiency of CryptographicPrimitives

    As mentioned in the introductory chapter of this thesis, a large part of our re-search was motivated by the restrictions of the mobile devices for which ourprotocols are designed. In this chapter we describe and evaluate the efficiencyof the most common cryptographic primitives, both symmetric techniques andpublic-key techniques. This chapter is not intended as a rigorous and detailedexplanation of the cryptographic primitives we describe, but rather to help under-stand the performance differences between these primitives. As such, we will notdefine every notion that is required to completely analyze many security aspects.For example, we will use the terms “easy”, “hard”, “infeasible”, etc. withoutmathematical definitions to describe the exact meaning of these terms. We referto [104, 107, 130] for exact definitions, detailed descriptions and rigorous securityanalyses of the primitives we briefly discuss here.

    Contributions in this chapter

    – This chapter gives an overview of the state of the art of current cryptographicprimitives and provides a detailed analysis of their efficiency.

    – We also explain why certain schemes are more efficient than others.

    – The information provided in this chapter is necessary to explain the designdecisions we made in the following chapters.

    11

  • 12 Chapter 2. Efficiency of Cryptographic Primitives

    2.1 Symmetric primitives

    There are three fundamental classes of symmetric primitives: stream ciphers,block ciphers, and cryptographic hash functions. Stream ciphers and block ci-phers are usually used to provide confidentiality, i.e., hiding messages from unau-thorized parties using encryption. The other main application of block ciphersis the construction of MACs. MACs are used to provide message integrity andauthentication. Message integrity allows detection of unauthorized modifica-tions of messages, while entity authentication provides the recipient with proofof the identity of the source of the message (see [107] for exact definitions).Finally, cryptographic hash functions have multiple applications, e.g., integrityprotection, preparing messages for digital signatures, building one-time signatureschemes, etc.

    2.1.1 Symmetric encryption

    Shannon was one of the pioneers in the field of cryptography [162]. Shannondescribed a good encryption algorithm as a mixing-transformation which dis-tributes the meaningful messages from the sparse region of meaningful messagesfairly uniformly over the entire message space. Note that for Shannon the plain-text space is a sparse region inside the larger message space (the ciphertext space).Although nowadays, it is no longer true for all encryption algorithms that theplaintext space is the same as (or a subspace of) the ciphertext space, this notionof mixing-transformation still remains meaningful. Nowadays, an essential prop-erty of a good encryption algorithm is that the ciphertexts have a distribution inthe ciphertext space which is indistinguishable from the uniform distribution inthe same space.

    The basic model of an encryption scheme is depicted in Fig. 2.1. Alice wants totransmit a secret message to Bob over an insecure channel in such a way that anadversary Eve is not able to learn the message although she can eavesdrop on thechannel. For this purpose Alice and Bob use an encryption scheme. Syntactically,an encryption scheme can be defined as follows:

    Definition 2.1 (Encryption scheme). Let the set of plaintext messages, theset of ciphertext messages (cryptograms), the encryption and decryption key spacebe M, C,PK and SK respectively. An encryption scheme consists of three algo-rithms Gen, E and D:

    – The encryption-decryption key pair (pk , sk) is generated by the efficient keygeneration algorithm Gen : {0, 1}∗R → PK× SK.

  • 2.1 Symmetric primitives 13

    – Messages are encrypted with the efficient encryption algorithm E : PK×M→C. We denote this by

    c = Epk (m) .

    – Cryptograms are decrypted with the efficient decryption algorithm D : SK ×C →M. We denote this by

    m = Dsk (c) .

    Here, “efficient” means that the required time is polynomial in the bit-length ofthe input.

    In the case of symmetric encryption schemes, the encryption and decryption keyis the same and needs to be exchanged between Alice and Bob beforehand. Inasymmetric or public key cryptosystems there are two different keys, one forencryption and one for decryption. The encryption key pk is made public, whilethe decryption key sk is kept secret by its owner (see Sect. 2.2).

    Block ciphers

    If block ciphers are used for encryption, messages are divided into data blocksof a fixe