rights / license: research collection in copyright - non ... · chapter 5 analyses the jamming...

65
Research Collection Student Paper Schemes for Anti-Jamming Broadcast Communication Research Report Author(s): Yu, Der-Yeuan Publication Date: 2011 Permanent Link: https://doi.org/10.3929/ethz-a-007216498 Rights / License: In Copyright - Non-Commercial Use Permitted This page was generated automatically upon download from the ETH Zurich Research Collection . For more information please consult the Terms of use . ETH Library

Upload: others

Post on 27-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

Research Collection

Student Paper

Schemes for Anti-Jamming Broadcast CommunicationResearch Report

Author(s): Yu, Der-Yeuan

Publication Date: 2011

Permanent Link: https://doi.org/10.3929/ethz-a-007216498

Rights / License: In Copyright - Non-Commercial Use Permitted

This page was generated automatically upon download from the ETH Zurich Research Collection. For moreinformation please consult the Terms of use.

ETH Library

Page 2: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

Schemes for Anti-JammingBroadcast Communication

Research Report

Der-Yeuan [email protected]

September 2011

Examiner: Prof. Dr. Srdjan CapkunSupervisor: Christina Popper

Department of Computer Science, ETH Zurich

Page 3: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance
Page 4: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

Abstract

In digital communications, direct-sequence spread spectrum (DSSS) isan important modulation technique that achieves privacy of data trans-fer and anti-jamming properties by hiding signals below the noise level.Decoding an incoming signal requires the knowledge of parametersthat the sender used to modulate the original message. However, inthe scenario of anti-jamming broadcast, prior secret distribution intro-duces overhead which impacts system scalability and may be infeasi-ble if the receivers are unknown before the communication. To addressthis issue, variations of DSSS such as Uncoordinated DSSS (UDSSS),Delayed Seed-Disclosure DSSS (DSD-DSSS), and Randomized Differ-ential DSSS (RD-DSSS) have been recently proposed. These schemesallow the receiver to obtain, during transmission, the necessary infor-mation to recover messages using a public spreading code set, hencerelieving the requirement for pre-shared secrets.

Given the diversity of evaluation methodologies adopted by variousproposals, this study aims at fairly comparing various DSSS-based anti-jamming broadcast schemes by identifying and mapping their commonparameters. We also propose and implemented a software frameworkupon which all DSSS-based anti-jamming broadcast schemes can beevaluated. Such a unified benchmarking solution contributes to theconvenient design of customized simulations that compares the perfor-mances between different schemes. In addition to software simulation,we also derived analytic expressions that characteriz and compare theirjamming probabilities.

Through simulation and analytic formulation, we observe and showthat, with fixed public code set complexity, UDSSS offers the highestefficiency, RD-DSSS is most resistant to jamming, and DSD-DSSS ispotentially the compromise of the two aspects. The results of this thesisprovide an insight into which anti-jamming schemes can be adoptedbased on the friendliness of the signal environment.

i

Page 5: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance
Page 6: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

Preface

This report is written as part of the Research in Computer Science course inthe spring semester of 2011 with the System Security Group of ETH Zurich,Switzerland.

I appreciate Professor Capkun for making possible this research opportunityand mentoring me on my academic plans.

Particularly, I am grateful to my supervisor, Christina Popper, for overseeingthis research project while providing valuable career advices and references.

Family and friends, thanks for encouraging and stimulating me to be a betterperson.

iii

Page 7: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance
Page 8: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

Contents

Contents v

1 Introduction 11.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Chapter Overview . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Background and Related Work 32.1 Direct-Sequence Spread Spectrum (DSSS) . . . . . . . . . . . . 32.2 Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . 42.3 Uncoordinated DSSS (UDSSS) . . . . . . . . . . . . . . . . . . . 5

2.3.1 Basic Mechanism . . . . . . . . . . . . . . . . . . . . . . 52.3.2 Enhanced Mechanism . . . . . . . . . . . . . . . . . . . 52.3.3 Unique Parameters . . . . . . . . . . . . . . . . . . . . . 72.3.4 Observations . . . . . . . . . . . . . . . . . . . . . . . . 7

2.4 Delayed Seed Disclosure DSSS (DSD-DSSS) . . . . . . . . . . . 82.4.1 Basic Mechanism . . . . . . . . . . . . . . . . . . . . . . 82.4.2 Enhanced Mechanism . . . . . . . . . . . . . . . . . . . 92.4.3 Unique Parameters . . . . . . . . . . . . . . . . . . . . . 102.4.4 Observations . . . . . . . . . . . . . . . . . . . . . . . . 11

2.5 Randomized Differential DSSS (RD-DSSS) . . . . . . . . . . . 112.5.1 Basic Mechanism . . . . . . . . . . . . . . . . . . . . . . 112.5.2 Enhanced Mechanism . . . . . . . . . . . . . . . . . . . 132.5.3 Unique Parameters . . . . . . . . . . . . . . . . . . . . . 142.5.4 Observations . . . . . . . . . . . . . . . . . . . . . . . . 15

2.6 Parameter Mapping . . . . . . . . . . . . . . . . . . . . . . . . . 15

3 Framework Design 173.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.2 Sender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

v

Page 9: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

Contents

3.3 Receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.4 Benchmark Scripting . . . . . . . . . . . . . . . . . . . . . . . . 21

4 Simulations 234.1 Despreading Efficiency . . . . . . . . . . . . . . . . . . . . . . . 234.2 Chip-Level Error Tolerance . . . . . . . . . . . . . . . . . . . . 25

4.2.1 Varying Chip-Level Error Rate e . . . . . . . . . . . . . 264.2.2 Varying Integration Threshold τ . . . . . . . . . . . . . 274.2.3 Simulation Stability . . . . . . . . . . . . . . . . . . . . 29

5 Analysis 315.1 Reactive Attacker Model . . . . . . . . . . . . . . . . . . . . . . 32

5.1.1 Uncoordinated DSSS . . . . . . . . . . . . . . . . . . . . 325.1.2 Delayed Seed Disclosure DSSS . . . . . . . . . . . . . . 335.1.3 Randomized Differential DSSS . . . . . . . . . . . . . . 34

5.2 Probability of Successful Jamming . . . . . . . . . . . . . . . . 355.2.1 Computationally Unbounded Jammers . . . . . . . . . 355.2.2 Computationally Bounded Jammers . . . . . . . . . . . 35

5.3 Message Recovery with Compromised Secrets . . . . . . . . . 365.4 Synchronisation Overhead . . . . . . . . . . . . . . . . . . . . . 385.5 Despreading Overhead for Injected Messages . . . . . . . . . . 38

6 Summary 416.1 Uncoordinated DSSS . . . . . . . . . . . . . . . . . . . . . . . . 416.2 Delayed Seed Disclosure DSSS . . . . . . . . . . . . . . . . . . 416.3 Randomized Differential DSSS . . . . . . . . . . . . . . . . . . 42

7 Conclusion 437.1 Benchmarking Framework . . . . . . . . . . . . . . . . . . . . . 437.2 Evaluation and Analysis . . . . . . . . . . . . . . . . . . . . . . 43

A Documentation of MATLAB Code 45A.1 Benchmark Framework . . . . . . . . . . . . . . . . . . . . . . . 45A.2 Scheme Implementation . . . . . . . . . . . . . . . . . . . . . . 49

A.2.1 UDSSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49A.2.2 DSD-DSSS . . . . . . . . . . . . . . . . . . . . . . . . . . 49A.2.3 RD-DSSS . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

A.3 Sample Simulation Scripts . . . . . . . . . . . . . . . . . . . . . 50A.3.1 Despreading Efficiency . . . . . . . . . . . . . . . . . . 51A.3.2 Chip-Level Error Tolerance with Varying Error Rates . 51A.3.3 Chip-Level Error Tolerance with Varying Integration

Thresholds and Error Rates . . . . . . . . . . . . . . . . 52A.4 Analysis Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Bibliography 55

vi

Page 10: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

Chapter 1

Introduction

1.1 Motivation

In the field of wireless communication, signal transmissions are subject tochannel noise, interference with other signals, and even jamming attacks.Techniques such as frequency hopping spread spectrum (FHSS) and direct-sequence spread spectrum (DSSS) have been developed to address such is-sues [10], where senders and receivers pre-share secret transmission param-eters prior to actual communication. In the case of broadcast, pre-sharingsecrets to receivers which are dynamically added to or removed from the au-dience is inconvenient and impacts the scalability of the system. This prob-lem gives rise to the development of uncoordinated anti-jamming broadcastcommunications.

DSSS is a modulation technique that spreads messages in the frequencydomain and essentially hides information as noise. Successful retrieval ofthe message requires pre-distributed parameters of how signals are modu-lated. Based on DSSS, Popper et al. proposed, in [8] and [9], UncoordinatedDSSS (UDSSS), that requires no pre-shared secret between the sender andreceivers by appending the parameters at the end of each message transmis-sion. In [6], Liu et al. proposed Delayed-Seed Disclosure DSSS (DSD-DSSS),which seeks to enforce the security of the appended parameters. In [7], Liuet al. introduced the Randomized Differential DSSS (RD-DSSS) as a similarextension of DSSS.

Given the various performance evaluations, we seek to design a unified con-struction through which fair comparisons of schemes’ strengths and weak-nesses can be made. Each of the three schemes is evaluated on its efficiency,success rate under chip-level errors, and resilience to reactive jamming at-tacks on the secret parameter. Evaluations are performed with benchmarksimulations as well as by analytic expressions.

1

Page 11: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

1. Introduction

1.2 Objectives

The main goals of this project are listed below.

• Introduce a software framework where DSSS-based anti-jamming broad-cast schemes can be implemented, simulated, and compared.

• Simulate the three schemes in the framework: UDSSS, DSD-DSSS, andRD-DSSS.

• Simulate signal transmission for the three proposed schemes to a cer-tain abstraction level and compare their efficiency.

• Analytically evaluate the jamming-resistance of the three proposedschemes.

1.3 Chapter Overview

This research report is ordered as follows.

Chapter 1 illustrates the motivation and scope of this study.

Chapter 2 introduces DSSS, UDSSS, DSD-DSSS, and RD-DSSS. A mappingof the parameters between schemes is also constructed to provide thebasis of upcoming comparisons.

Chapter 3 discusses the design of the framework used to simulate transmis-sion in the three schemes.

Chapter 4 presents simulation results on schemes’ efficiency and error tol-erance.

Chapter 5 analyses the jamming resistance of schemes by deriving jammingprobabilities. In addition, various performance overheads for both thejammer and a regular receiver is also formalized.

Chapter 6 summarizes the characteristics of each scheme.

Chapter 7 concludes the report.

Appendix A provides the usage of program codes used in this study.

2

Page 12: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

Chapter 2

Background and Related Work

This chapter begins by briefly summarizing the mechanism of DSSS in 2.1,on which the anti-jamming schemes are based. The three schemes to be eval-uated in this study are then discussed by first introducing their mechanismsfor transmission and reception, followed by identifying their unique param-eters. In 2.2 we discuss the common parameters for all schemes. UDSSS,DSD-DSSS and RD-DSSS are briefly introduced in 2.3, 2.4, and 2.5 respec-tively. Finally, in 2.6, we seek to map the unique parameters between theschemes together to obtain a common basis for evaluation. Note that forall comparisons between the schemes, we assume that their enhanced varia-tions introduced by their respective authors are adopted. In addition, sincewe also assume that the same digital-to-analogue modulation scheme isused, mechanisms for each DSSS-based scheme are detailed down to thechip level.

2.1 Direct-Sequence Spread Spectrum (DSSS)

DSSS is a modulation technique widely used in the field of telecommunica-tions, such as IEEE 802.11g [4]. Originally, each message bit is modulatedusing digital modulation schemes, such as BPSK, to analogue signals andtransmitted through the channel. With DSSS, before being modulated toanalogue signals, each bit is first modulated by a series of high-frequencysignals, known as chips. The resulting signal is therefore spread in the fre-quency domain, which makes it more resistant to narrow-band interference.The sequence of chips is also known as a spreading code. Spreading codes areusually pseudonoise codes that can be generated by pseudo-random num-ber generators or well-constructed codes like the Walsh-Hadamard [1] orGold codes [3].

3

Page 13: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

2. Background and Related Work

A spreading code c is defined as a string of chips where each chip is either+1 or -1.

c = {+1,−1}+

When spreading, a message bit is first converted from 1 to +1 and 0 to -1.The resulting bit value is used to multiply with the spreading code and sentto the digital modulator.

To illustrate DSSS, consider the transmission of a message containing a bitb = 0. Using a spreading code (+1, +1, -1, +1), the spread message bit wouldbecome

(−1,−1,+1,−1)

and be sent to a BPSK modulator for transmission. Upon reception, the mes-sage can be despread by essentially performing an inner product betweenthe received chips and the spreading code.

(−1,−1,+1,−1) · (+1,+1,−1,+1) = −4

This process is also known as the integration process. The integration valuecan be defined as the inner product of the chips and a spreading code se-quence divided by the number of chips used in the spreading code. In thiscase, the integration value would be -1, which can then be mapped to thebit 0.

During actual signal transmission, the chips might contain errors such thatintegration may not give a perfect value of either +1 or -1. In this case, thereceiver often determines a threshold τ ∈ (0, 1] such that a bit closest to theintegration value is output as long as the absolute value of integration isgreater than τ.

To successfully reconstruct the message, the receiver must be provided withthe spreading codes used for transmission. This can be achieved by havingthe sender and receiver share some secret parameters used to generate theexact same set of spreading codes on both sides. However, if a jammerknows the spreading codes during transmission, she can jam the messageand corrupt the information. To address this, in designing anti-jammingbroadcast schemes without pre-shared secrets, the parameters are usuallyappended to the end of the message. Such parameters differs with differentschemes and will be generally referred to as the secret.

2.2 Common Parameters

To fairly evaluate message transmission efficiency, we first apply all schemesto transmit messages of the same length. In this respect, the variable M isused to represent the number of bits in a message for all schemes.

4

Page 14: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

2.3. Uncoordinated DSSS (UDSSS)

In later evaluations, we also compare the chip-level error tolerance betweenthe different despreading strategies, during which specific integration thresh-olds would be set for the receivers. We therefore also need to unify thevalue of the despreading threshold, which is denoted by τ. Given a fixedτ amongst all schemes, we can then observe and compare their resultingdespreading success rates.

2.3 Uncoordinated DSSS (UDSSS)

2.3.1 Basic Mechanism

In the basic mechanism, a public code set is defined which consists of nu-merous spreading code sequences. A spreading code sequence consists ofM spreading codes, which are used to spread their corresponding messagebits.

Given a message, the sender proceeds as follows.

1. Choose a spreading code sequence from the public code set at random.

2. Spread the message using the chosen spreading code sequence andtransmit.

The receiver, upon reception, attempts to despread the message by takingthe following steps.

1. Initialize an empty setM of received messages.

2. For every chip offset

a) Despread some randomly selected message bits using the corre-sponding spreading code in all possible spreading code sequences.

b) The secret discovery process proceeds with a criterion check: ifthe despreading of a bit results in an integration value greaterthan τ, the entire message is despread using the correspondingspreading code sequence and added toM.

2.3.2 Enhanced Mechanism

In practical message transmission scenarios, messages are often of signifi-cant length, which results in longer spreading code sequences. This impliesthat the storage requirement is directly proportional to the message length.To increase scalability and efficiency of the UDSSS, the technique of delayedkey disclosure is introduced [9], where the spreading codes for message bits

5

Page 15: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

2. Background and Related Work

are generated from a key, which is shorter than the message. More impor-tantly, since the public code set is used to spread the key bits, less bits arespread with the spreading code sequence. This results in a shorter windowof opportunity for jammers, thereby increasing security.

A public code set UDSSS.C, which is used to spread the key bits, is first de-fined and consists of UDSSS.n code sequences. Each code sequence containsUDSSS.l spreading codes used to spread the key, which consists of exactlyUDSSS.l bits. They key bits are used as a seed to a pseudorandom num-ber generator that generates the spreading code sequence for spreading themessage bits.

The sender, given a message, proceeds as follows.

1. Randomly generate a key UDSSS.K with UDSSS.l bits.

2. Spread the message bit by bit using M spreading codes randomly gen-erated with the seed UDSSS.K.

3. Spread UDSSS.K using a code sequence which is randomly selectedfrom UDSSS.C.

4. Concatenate the spread message and key and transmit.

The receiver, upon reception of an incoming stream of chips, despreads themessage in the following steps.

1. Initialize an empty setM of received messages.

2. For every chip offset

a) Identify the corresponding chip offset for the key. For a chip offsetat x, the corresponding offset for the key should be x + MN.

b) Despread UDSSS.k randomly selected key bits using the corre-sponding spreading codes in all spreading code sequences inUDSSS.C.

c) The secret discovery process proceeds with a criterion check: ifany despreading results in an integration value greater than τ,the entirety of the key chips are despread using the correspondingspreading code sequence to obtain the key. The messages chipsare then despread by the spreading code generated from usingthe extracted key as the seed. The extracted message bits are thenadded toM.

Figure 2.1 illustrates how UDSSS spreads an input message to obtain thespread message chips and corresponding key chips.

6

Page 16: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

2.3. Uncoordinated DSSS (UDSSS)

pseudo-random generator

spreading codes

key bits

message bits

message chips key chips

… …

spreading code sequence 1

spreading code sequence i

UDSSS.C

choose randomly

key generator1

2

3

4

4

5

66

7

Figure 2.1: UDSSS transmission. The numbers on the lines represents theorder of operations.

2.3.3 Unique Parameters

For UDSSS, the secret for a message transmission is the key, which is ran-domly generated by the sender.

The following parameters are specific to UDSSS and must be publicly known.

• UDSSS.C: the code set containing all possible spreading code sequencesfor the key.

• UDSSS.n: the number of spreading code sequences in UDSSS.C.

• UDSSS.l: the number of bits in the key.

• UDSSS.k: on the receiver’s end, the number of random key bits tocheck for each received chip offset.

2.3.4 Observations

From the design of UDSSS, one should easily observe that the UDSSS’s se-cret, the key, is spread by a fixed set of spreading code sequences. An at-tacker with the computational ability to deduce the selected spreading codesequence before the end of the transmission can easily jam the later key bitsto perform a denial-of-service attack. This is a possible vulnerability shouldthe complexity of UDSSS.C be too small. However, we shall later show byanalysis, that the simple design of UDSSS makes it comparatively efficient.In addition, error correction coding can be implemented on the key suchthat partially extracted key bits could still allow the receiver to reconstruct

7

Page 17: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

2. Background and Related Work

the entire key correctly. On the other hand, given the same number of avail-able bits, a key that contains error correction would be equivalent to a keywith fewer effective bits.

2.4 Delayed Seed Disclosure DSSS (DSD-DSSS)

2.4.1 Basic Mechanism

In DSD-DSSS, two public spreading code sets are constructed: DSD.Cp andDSD.Ce. In the basic scheme, random spreading codes are selected fromDSD.Ce to spread a seed of length DSD.ls, which is passed to a pseudoran-dom generator that chooses M spreading codes from DSD.Cp to spread themessage bits. (Note that in the enhanced version, DSD.Cp is also used tospread the seed bits.)

The sender, given a message, proceeds as follows.

1. Randomly generate a seed DSD.s with DSD.ls bits.

2. Use a pseudorandom generator with DSD.s as seed and select M spread-ing codes from DSD.Cp to spread the message bits.

3. Spread DSD.s using DSD.ls randomly selected spreading codes fromUDSSS.C.

4. Concatenate the spread message and key and transmit.

The receiver, upon reception of an incoming stream of chips, despreads themessage in the following steps.

1. Initialize an empty setM of received messages.

2. For every chip offset

a) Identify the corresponding chip offset for the seed. For a chipoffset at x, the corresponding offset for the seed should be x +MN.

b) The secret discovery process proceeds with a criterion check: searchin DSD.Ce for DSD.ls spreading codes that, when combined in se-quence, can despread the entire seed, producing for each seed bitan integration value greater than τ.

c) If such a combination is found, the seed bits can be obtained andpassed to a pseudorandom generator to select M spreading codesfrom DSD.Cp. The message is then despread and added toM.

8

Page 18: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

2.4. Delayed Seed Disclosure DSSS (DSD-DSSS)

2.4.2 Enhanced Mechanism

In the basic mechanism, the receiver has to try all possible spreading codesin DSD.Ce for each seed bit, since the selection of spreading codes for theseed bits have no correlation with one another. This also implies that if thejammer injects one bogus seed into the channel, the receiver would have todeal with 2DSD.ls combinations of seed bits. In the extended approach, thisissue is addressed by modifying the spreading code selection step.

A content-based code subset selection mechanism is introduced to organize, outof DSD.Cp, multiple subsets which would be randomly chosen by the outputof a selection function DSD.F to spread a seed bit. DSD.F takes in as input:

• value of the later seed bit, and

• the spreading code chosen to spread the later seed bit

To prevent the attacker from easily reversing the function and identifyingthe later spreading code, all spreading codes in DSD.Cp are organized usingfinite projective planes [11], such that each spreading code exists in mul-tiple subsets. Defined by a number DSD.n, which is a power of a primenumber, a finite projection plane can be constructed such that it consists ofDSD.n2 + DSD.n + 1 points with DSD.n2 + DSD.n + 1 distinct lines, whereevery DSD.n + 1 points are collinear, any two points coexist in at most oneline, and exactly DSD.n + 1 lines intersect at each point. Each point onthe finite projective plane construction corresponds to one spreading code,and each line corresponds to a spreading code subset containing DSD.n + 1codes. The set of spreading code subset is denoted by DSD.Cp,sub and is alsopublicly known.

The output of DSD.F selects a spreading code subset in DSD.Cp,sub, fromwhich a random element spreading code would be chosen to spread thecurrent seed bit. The algorithm therefore spreads the seed from the leastsignificant bit to the most significant bit. As an initialization, the spreadingcode used to spread the last seed bit is randomly selected from DSD.Ce.To ensure that all DSD.n + 1 possible subsets of DSD.Cp be selected by theoutput of DSD.F, the size of DSD.Ce must consequently be lower boundedby

|DSD.Ce| ≥ d|DSD.Cp|

2e (2.1)

where the division by 2 is allowed due to the complexity of the later seed bitvalue as the second argument of DSD.F.

Concretely, the sender sends a message as follows.

1. Randomly generate a seed DSD.s with DSD.ls bits.

9

Page 19: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

2. Background and Related Work

2. Use a pseudorandom generator with DSD.s as seed and select M spread-ing codes from DSD.Cp to spread the message bits.

3. Randomly choose a spreading code in DSD.Ce to spread the last bit ofthe seed.

4. Iteratively choose a spreading code from DSD.Cp’s subset, which isselected by DSD.F.

5. Concatenate the spread message and key and transmit.

The receiver, upon reception of an incoming stream of chips, despreads themessage in the following steps.

1. Initialize an empty setM of received messages.

2. For every chip offset

a) Identify the corresponding chip offset for the seed. For a chipoffset at x, the corresponding offset for the seed should be x +MN.

b) The secret discovery process starts by searching in DSD.Ce for aspreading code that despreads the last seed bit with integrationvalue greater than τ.

c) If such a spreading code is found, iteratively recover the entireseed. A seed bit can be recovered by searching in DSD.Cp’s subset,which is chosen from DSD.F.

d) The secret discovery process ends with a criterion theck: if anentire seed is recovered, pass it to a pseudorandom generatorto select M spreading codes from DSD.Cp. The message is thendespread and added toM.

Figure 2.2 illustrates how DSD-DSSS spreads an input message to obtain thespread message chips and corresponding key chips.

2.4.3 Unique Parameters

For DSD-DSSS, the secret for a message transmission is the seed, which israndomly generated by the sender.

The following parameters are specific to DSD-DSSS and must be publiclyknown.

• DSD.n: the number which is used to derive the size of both DSD.Cpand DSD.Ce.

10

Page 20: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

2.5. Randomized Differential DSSS (RD-DSSS)

content-based code subset selection

pseudo-random generator

spreading codes

seed bits

message bits

message chips seed chips

… …

spreading code 1

spreading code i

DSD.Cp

7 choose randomly

seed generator

… …

spreading code 1

spreading code i

DSD.Ce

0 organize into subsets

123

4

5

5

6

7

8

Figure 2.2: DSD-DSSS transmission. The numbers on the lines representsthe order of operations. Note that the spreading of seed bits are abstractedinto “content-based code subset selection.”

• DSD.Cp: the code set used to spread the message bits and all seed bitsexcept for its least significant bit.

• DSD.Cp,sub: the set of DSD.n + 1 subsets of indices in DSD.Cp.

• DSD.Ce: the code set used to spread the least significant bit of the seed.

• DSD.F: the function which, given an index in DSD.Ce or DSD.Cp anda bit as a seed, randomly generates an index of DSD.Cp,sub.

• DSD.ls: the number of bits in the seed.

2.4.4 Observations

While the jammer that wishes to jam the spreading code for later seed bitsdoes not benefit from content-based code subset selection, the receiver’ssearch space for the correct spreading codes are drastically decreased. How-ever, the subset selection function DSD.F should be carefully designed togive uniformly distributed outputs.

2.5 Randomized Differential DSSS (RD-DSSS)

2.5.1 Basic Mechanism

In RD-DSSS, a code set RD.P is first constructed that contains spreadingcodes used to spread message bits. A second set RD.C is then constructed

11

Page 21: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

2. Background and Related Work

that consists of a number of spreading code sequences, similar to those ofUDSSS, each containing M randomly chosen spreading codes from RD.P.RD.C would then be the pool from which a random sequence is selected tospread the message. For storage efficiency, each sequence in RD.C actuallystores only the spreading codes’ indices in RD.P. To transmit the selection ofthe spreading code sequence, each sequence is represented by its exclusivespreading code (known as index codes), which is stored in RD.I.

A fundamental difference between RD-DSSS and other DSSS schemes ishow a message bit 0 is spread. In regular DSSS schemes, a bit 0 is firsttransformed into -1 and multiplied by the designated spreading code to es-sentially invert its chip values. With RD-DSSS, the sender encodes a bit0 with a spreading code which is different from the designated spreadingcode. Given good properties of the spreading code set, the receiver can thenmeasure the correlation between the received message chips and the desig-nated spreading code. A high correlation maps to 1, and a low correlationmaps to 0.

The transmission of RD-DSSS therefore proceeds as follows. The sender,given a message, executes the steps below.

1. Randomly select a spreading code sequence from RD.C and obtain itscorresponding index code from RD.I.

2. Spread the message bits.

a) Represent a bit of value 1 with its corresponding spreading codein the selected sequence.

b) Represent a bit of value 0 with a any spreading code in RD.P otherthan the corresponding spreading code in the selected sequence.

3. Concatenate the spread message and index code and transmit.

The receiver, upon reception of an incoming stream of chips, despreads themessage in the following steps.

1. Initialize an empty setM of received messages.

2. For every chip offset

a) Identify the corresponding chip offset for the index code. For achip offset at x, the corresponding offset for the index code shouldbe x + MN.

b) The secret discovery process searches in RD.I to identify an indexcode that produces an integration value greater than τ, which isthe criterion.

12

Page 22: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

2.5. Randomized Differential DSSS (RD-DSSS)

c) If such an index code is found, the corresponding spreading codesequence in RD.C is selected to despread the message as follows.Perform an integration between the message chips for each bitand its corresponding spreading code in the sequence. An inte-gration value greater than τ maps to a bit 1, and 0 otherwise. Thecomplete despread message is then added toM.

2.5.2 Enhanced Mechanism

In the basic scheme, the spread message has a higher correlation with thechosen spreading code sequence. This can be detected by the jammer duringtransmission of the message bits to jam the remaining parts of the message.In essence, the basic RD-DSSS scheme is therefore as vulnerable as UDSSS.

To reduce the correlation, the enhanced version uses more than one spread-ing code sequence to spread the message. In addition, message bits arepermuted by a permutation function RD.h.

Concretely, the sender spreads and transmits a message as follows.

1. Randomly select RD.k spreading code sequence from RD.C and obtaintheir corresponding index codes from RD.I. Denote by RD.Aj a set thatcontains the spreading codes for the j-th bit in all selected spreadingcode sequences.

2. Spread the message bits.

a) Represent the j-th bit of value 1 with a randomly selected spread-ing code in RD.Aj.

b) Represent the j-th bit of value 0 with a any spreading code inRD.P other than those contained in RD.Aj.

3. Each bit message is given a ranking, which is the output of a hashfunction RD.h(RD.Aj). Sorting rankings in descending order essen-tially generates a permutation which is applied to the spread messagebits.

4. Concatenate the permuted spread message and index codes and trans-mit.

The receiver, upon reception of an incoming stream of chips, despreads themessage in the following steps.

1. Initialize an empty setM of received messages.

2. For every chip offset

13

Page 23: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

2. Background and Related Work

spreading code sequences

spreading code sequence indices

message bits

message chips index codes

0 randomly assembleindex generator

… …

spreading code sequence 1

spreading code sequence i

RD.C

… …

spreading code 1

spreading code i

RD.P

… …

index code 1

index code i

RD.I

permutation and spreading

1

2

3

4

56

6

6

7

Figure 2.3: RD-DSSS transmission. The numbers on the lines representsthe order of operations. Note that the spreading of message bits and theirpermutation are abstracted into “permutation and spreading.”

a) Identify the corresponding chip offset for the index codes. For achip offset at x, the corresponding offset for the index code shouldbe x + MN.

b) The secret discovery process searches in RD.I to identify RD.kindex codes that produce integration values greater than τ for allreceived index codes, which is the criterion.

c) If such a set of index codes is found, the corresponding spread-ing code sequences in RD.C are selected and the permutation isreconstructed. Reverse the permutation of the received messagechips and despread the the message bits: for the j-th bit, performan integration with all codes in RD.Aj in the sequence. If any in-tegration value is greater than τ, output a bit 1, and 0 otherwise.The complete despread message is then added toM.

Figure 2.3 illustrates how RD-DSSS spreads an input message to obtain thespread message chips and corresponding index codes.

2.5.3 Unique Parameters

For RD-DSSS, the secrets for a message transmission are the indices in RD.C,which is randomly generated by the sender.

The following parameters are specific to RD-DSSS and must be publiclyknown.

14

Page 24: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

2.6. Parameter Mapping

• RD.P: The spreading code set for all message bits.

• RD.C: The set of sequences of M indices in RD.P, which are used tospread a bit 1 in the message.

• RD.I: The set of index codes that represents each sequence in RD.C.

• RD.k: The number of index codes to use for message transmissions.

• RD.h: The permutation function that gives a message bit a rankingbased on its set of spreading codes.

2.5.4 Observations

The enhanced version of RD-DSSS requires the receiver to identify all in-dex codes that were used by the sender. Unlike the key or seed bits inUDSSS and DSD-DSSS, the selection of individual index codes are unre-lated, thereby increasing the computation overhead of the receiver. On theother hand, the usage of multiple index codes and permutation of messagebits successfully reduce the dependency between the spread message andany defined spreading code sequences.

2.6 Parameter Mapping

In an effort to map the parameters from each scheme together, we haveidentified some common parameters that can be directly inferred, as shownbelow.

• Length of message bits M

• Length of all spreading codes and index codes N

• Integration threshold for despreading τ ∈ [0, 100%]

We also seek to unify disjoint unique parameters between schemes, whichprimarily involve the size of public code sets. Here we map them togetherin the spirit that the total storage for public spreading code sets are similar.Particularly, the reason for unifying the size of the code sets can also beattributed to the comparable resistance against non-reactive attacks.

The strongest constraint on the code set size resides in delayed seed disclo-sure DSSS, where DSD.n decides the sizes of DSD.Cp and DSD.Ce. Giventhe condition that DSD.n should be a power of a prime number, code sizesfor every scheme are determined in sequence by considering their own con-straints, as shown below.

15

Page 25: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

2. Background and Related Work

1. Set the value of DSD.n, and calculate the corresponding |DSD.Cp| and|DSD.Ce|.

2. Set UDSSS.n = round( |DSD.Cp|+ |DSD.Ce|

UDSSS.l

).

3. Set |RD.P| = round( |DSD.Cp|+ |DSD.Ce|

136

).

4. Set |RD.I| = 135|RD.P| as in the original paper [7].

The mapping of code sizes does not produce identical total sizes amongstschemes, but still gives closest estimates and eases the comparison betweenvarious schemes. Nonetheless, there still exist individual parameters ofscheme that cannot be mapped all together, such as

• UDSSS.k

• The lengths of the key in UDSSS and seed in DSD-DSSS, which can bemapped by

UDSSS.l = DSD.ls

However, their closest counterpart in RD-DSSS is RD.k ∈ {2, 3, 4, 5},which is too small to be of practical use for both UDSSS and DSD-DSSS.

Under such circumstances, simulations and analysis would include varyingof these disjoint parameters as additional degrees of freedom when neces-sary.

16

Page 26: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

Chapter 3

Framework Design

For evaluations based on simulation, we have implemented a frameworkin MATLAB that generalizes all DSSS-based schemes. For any DSSS-basedscheme, the public parameter set up, sending, and receiving algorithms canbe implemented and plugged into the framework. This provides a unifiedplatform in which schemes can be compared. In the scope of our studies,schemes are implemented down to the chip level.

3.1 introduces the program framework that we use to construct benchmarksfor individual schemes. To illustrate how the schemes are designed in thisstudy, the general spreading and despreading procedures on the sender andreceiver are detailed in 3.2 and 3.3 respectively. 3.4 deals with how bench-marking scripts are designed.

3.1 Overview

A central function, Benchmark, acts as a general interface to which function-alities of a particular scheme can connect. The prototype is

function stats = Benchmark(msg, param, setupHandle, spreadHandle,

despreadHandle)

where msg is the matrix of messages (note that one message is enough torun the program) and param contains the scheme-specific parameters. Eachindividual scheme is instantiated by passing, using function handles, itsthree scheme-specific functions as follows.

• the set up function to pass as setupHandle, which consists of settingup parameters for the scheme, such as public spreading code sets;

• the spreading function to pass as spreadHandle for the sender, whichspreads a bit message to chip-level signals;

17

Page 27: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

3. Framework Design

despreadHandle

Chip-level Errors

spreadHandle

setupHandle

Original Messages

Despread Messages

Output: Despreading Operations

Comparison Output: Success Rate

Figure 3.1: Diagram of the Benchmark interface. Processes with dotted boxesindicates where scheme-specific implementations are to be plugged in.

• the despreading function to pass as despreadHandle for the receiver,which takes a chip-level signal segment and extracts all possible mes-sages.

Finally, stats is a structure array containing the following two fields:

• stats.successCount: total number of successful message transmis-sions.

• stats.opCount: mean number of despreading operations performedby the receiver during the despreading step for all messages.

The simulation takes place in Benchmark, where messages are processed inthe following steps, as illustrated in Figure 3.1.

1. Set up code set parameters for the scheme through setupHandle.

2. For each message:

a) Spread the signal into the chip-level using spreadHandle.

b) De-synchronize the chip-level signal and simulate a window cap-ture by the receiver, the size of which is twice the signal length.

c) Add chip-level errors by flipping an expected number of chipswhich are randomly selected according to the chip error rate e.

18

Page 28: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

3.2. Sender

d) Despread the chip-level signal to extract possible messages usingdespreadHandle. The number of despreading operations in thisstep is stored.

e) Compare the original message with all extracted messages in thedespreading step. If there exists a message where any 85% of itsbits are the same as the original message, increase the number ofsuccessful transmissions by 1 1.

3. Output the total number of successful transmissions and the mean ofthe number of despreading operations used in the despreading stepfor all messages.

As an example, consider the set up, spreading and despreading functions forUDSSS which are implemented as UDSSS Setup, UDSSS Spread and UDSSS Despread

respectively. To benchmark UDSSS’s performance in transmitting the mes-sage set m using pre-defined parameters param, the following commandshould be used.

stats = Benchmark(msg, param, @UDSSS Setup, @UDSSS Spread,

@UDSSS Despread)

Given the output statistics stored in stats, we then compare various schemesby running their corresponding Benchmark interfaces with parameters thatconform to the mapping described in Section 2.6.

The main idea of this unified interface approach is to introduce a generalframework, in which similar schemes can be evaluated, provided that thescheme-specific set up, sending, and receiving functions are designed.

3.2 Sender

After the set up of parameters through setupHandle, the operations by thesender is abstracted in spreadHandle, where random secrets are chosen andused to spread a message. For instance, in UDSSS, this corresponds to thefollowing steps, which are implemented in UDSSS Spread.

1. Randomly choosing a key and spreading sequence.

1The basic Hamming(7,4) code is capable of correcting one bit error in a byte, givingan error tolerance of 12.5% for each byte. In satellite communication applications such asthe DVB-S digital television [5], concatenated code schemes consisting of a Reed-Solomoncoding followed by a Viterbi decoder were prevalent before being recently replaced by turbocodes [2]. For demonstration purposes, here we simply suppose that an ECC scheme isalready implemented on the application’s end such that at most any 15% of the bit messagecan be corrupted and still be recovered.

19

Page 29: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

3. Framework Design

2. Spread the input message bits with the spreading codes derived fromthe key

3. Spread the key bits with a randomly chosen spreading code sequence.

4. Concatenate the two spread signals.

3.3 Receiver

The steps taken by the receiver is more involved than those of the sender.Due to possible injection attacks, it is imperative for receivers to despreadall valid chip segments that could contain messages. A chip offset is validif the receiver is able to successfully despread and obtain the entirety of thesecret by running the secret discovery process as described for each schemein Chapter 2.

Every chip offset in the signal capture window is checked despite the factthat a message could have already been extracted in a previously-checkedchip offset. The receiver in turn could output multiple messages, the va-lidity of which is left to be verified by the application in a higher level ofabstraction and hence not addressed here. Note that after a chip offset is de-termined to be valid, further individual despreading operations would givethe binary value which is most closely represented by the chips, regardlessof the integration threshold τ. Generally, the following steps are taken bythe designed despreading functions.

1. Identify all valid chip offsets.

2. For all valid chip-level offsets, despread to obtain the secret.

3. For all chip-level offsets, from which secrets are successfully obtained,despread the corresponding message chips to obtain message bits.

4. Output all despread messages and the total number of despreadingoperations used.

Again, using UDSSS as an example, the following would be the steps thatthe receiver takes.

1. For each chip offset:

a) Check if a spreading code sequence is used by comparing UDSSS.kspreading codes.

b) If a spreading code sequence is identified, store the despread keyand the chip offset.

2. For each stored chip offset, despread the corresponding message.

20

Page 30: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

3.4. Benchmark Scripting

RD_Despread

RD_Spread

RD_Setup

Benchmark Instance 3

DSD_Despread

DSD_Spread

DSD_Setup

Benchmark Instance 2

UDSSS_Despread

UDSSS_Spread

UDSSS_Setup

UDSSS Statistics

Benchmark Instance 1

RD StatisticsDSD Statistics

Comparison and Plotting

Original Messages

UDSSS Parameters DSD Parameters RD Parameters

Parameter Generation and Mapping1

2

3Figure 3.2: Flow of a general benchmarking script, which involves threephases as indicated: parameters set up, simulation, and statistics compari-son.

3. Output all despread messages and the total number of despreadingoperations used.

3.4 Benchmark Scripting

Given the Benchmark interface, DSSS-based schemes that transmit bit mes-sages can be implemented and evaluated, producing statistics on the successrate and the average number of despreading operations. Scripts can then bewritten that invoke the Benchmark interface for each scheme in question withequivalent parameters, such as the code set complexity, as mentioned in 2.6.

A general simulation routine involves three phases.

1. Set up parameters, preferably according to some equivalence map-ping.

2. Run a certain number of simulations.

3. Comparing or plotting the interested statistics.

A example process flow of a general simulation that compares the schemesis illustrated in Figure 3.2. Descriptions for some scripts used in this studycan be found in the documentation in Appendix A.

21

Page 31: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance
Page 32: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

Chapter 4

Simulations

In this chapter, we assume a scenario without attackers and compare theperformance between individual schemes by simulating transmissions andevaluating the number of despreading operations invested by each receiverto obtain a correct message. While attackers may not be present, channelnoise may affect the modulated signals such that demodulation gives er-roneous chip values. To compare the chip error tolerance of each scheme,results from a series of chip-error injection simulations are presented andanalysed.

In 4.1, the number of despreading operations for receivers in each scheme ismodelled using a formula which matches the result from a simulation. 4.2shows evaluations of chip-error resistance and discusses the strengths andweaknesses of the schemes.

4.1 Despreading Efficiency

One of the most basic performance measures is the efficiency of messagereception at the receiver’s end. In this regard, we ran simulations to evaluatethe despreading efficiency of various schemes given various code set sizes,the mapping of which is derived in 2.6.

To prevent possible message insertions, receivers in all schemes check allchip offsets, even if a message has been successfully identified and despreadin some earlier chip offset. As a result, we quantify despreading efficiencyby the total number of despreading operations required by a receiver inextracting all possible messages within a received signal window.

The lack of hardware optimization in the software level restricts simulationsfrom running at realistic parameter settings. As a remedy, a formula is

23

Page 33: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

4. Simulations

derived for each scheme which, provided with required parameters, givesthe expected total number of despreading operations. Under the assumptionof high auto-correlation and low cross-correlation properties of spreadingcodes, the formulae are shown below for each scheme.

#Ops(UDSSS) = [UDSSS.k ·UDSSS.n · N (M + UDSSS.l)] +[M + UDSSS.l −UDSSS.k] (4.1)

#Ops(DSD-DSSS) = [|DSD.Ce|N(M + DSD.ls) + (DSD.ls − 1)(DSD.n + 1)] +[M] (4.2)

#Ops(RD-DSSS) = [|RD.I|N(M + RD.k) + |RD.I|(RD.k− 1)] +[M · RD.k] (4.3)

For each formula, the first square bracket calculates the minimal number ofdespreading operations a receiver requires to sweep all chip offsets, and thesecond square bracket corresponds to the despreading overhead of extract-ing a valid message in one of the chip offsets.

The simulation is performed by simulating spreading on the sender and de-spreading on the receiver. Since all chip offsets are to be scanned to identifyall possible legitimate messages, random offsetting of the signal would notaffect the final outcome and therefore only one run is needed for each codeset size on each scheme. We first illustrate the similarity between simula-tion and formula modelling by comparing their results on some unrealisticparameters, as shown below.

• M = 128

• N = 30

• UDSSS.l = DSD.ls = 10

The results are shown in Figures 4.1, which suggests that there is indeed ahigh similarity between simulation and theoretical results. This justifies theuse of the formulae to evaluate the schemes with realistic parameters, suchas follows.

• M = 1024

• N = 512

• UDSSS.l = DSD.ls = 32

Figure 4.2 shows the corresponding plot. By observing the receiver’s de-spreading algorithm, the majority of the despreading operations are investedin synchronizing with the sender’s signal. To check whether a chip offsetis correct, UDSSS takes the least number of despreading operations to scanthrough all chip offsets of a demodulated signal due to the fact that onlyfew spreading codes out of all possible code sequences have to be checked.

24

Page 34: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

4.2. Chip-Level Error Tolerance

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5

x 104

0

2

4

6

8

10

12

14

16

18x 10

7

Code Set Size

Num

ber

of d

espr

eadi

ng o

pera

tions

for

the

rece

iver

(no

jam

min

g)

UDSSS k=2UDSSS k=3UDSSS k=4DSDRD k=2RD k=5

(a) Simulation results

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5

x 104

0

2

4

6

8

10

12

14

16

18x 10

7

Code Set Size

Num

ber

of E

xpec

ted

Des

prea

ding

Ope

ratio

ns

UDSSS k=2UDSSS k=3UDSSS k=4DSDRD k=2RD k=5

(b) Theoretical results

Figure 4.1: Despreading operations required by receivers to scan all chipoffsets with simple parameters to illustrate the accuracy of the formulation

For DSD-DSSS, essentially all seed bits have to be despread through revers-ing the process of content-based code subset selection. An additional curveis plotted for UDSSS with UDSSS.k = 12 to illustrate an efficiency-wiseanalogy to UDSSS’s parameters. RD-DSSS takes the most despreading op-erations because for each offset, all index codes must at least be verifiedonce before a invalid offset is rejected. Furthermore, its search space ofsize |RD.I|, which is much greater than that of the search space of eitherUDSSS or DSD-DSSS, results in a significant efficiency difference with thetwo schemes.

4.2 Chip-Level Error Tolerance

The lowest level of scheme evaluation in this study is the chip-level, whichis the output of demodulation modules. We are interested in identifying theimpact of chip-level errors, which could be attributed to any disruptions inthe modulated signal level such that demodulation gives erroneous chips. Ineach parameter setting we run multiple trials consisting of message spread-ing, simulated transmission with random chip flipping, and despreading toobtain a measure of how often messages are successfully despread by thereceiver. Recall that in Section 3.1, successful despreading is defined as theevent that at least 85% of the extracted message bits are the same as in theoriginal message.

25

Page 35: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

4. Simulations

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5

x 104

0

0.5

1

1.5

2

2.5x 10

10

Code Set Size

Num

ber

of E

xpec

ted

Des

prea

ding

Ope

ratio

ns

UDSSS k=2UDSSS k=12DSDRD k=2

Figure 4.2: Despreading operations required by receivers to scan all chipoffsets.

4.2.1 Varying Chip-Level Error Rate e

In this benchmark, we evaluate the impact on the message despreading suc-cess rate subject to various chip error rates. The following are the parametersand settings.

• M = 1024

• UDSSS.l = DSD.ls = 32

• |UDSSS.C| = 992, |DSD.Cp|+ |DSD.Ce| = 977, |RD.P|+ |RD.I| = 952

• N = 512

• τ = 75%

• UDSSS.k ∈ {2, 5}

• RD.k ∈ {2, 5}

• Signal offsets are known to the receiver (because we are only interestedin success rates here)

• Each parameter combination is evaluated with 1000 trials

26

Page 36: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

4.2. Chip-Level Error Tolerance

Figure 4.3 shows the results of various schemes, where we can observe thatUDSSS gives a higher success rate, while RD-DSSS is dependent highly onits number of appended index codes. More appended index codes implieshigher risk of unrecoverable chip error on the index codes. As an example,the probability that at least one of 5 index codes is jammed is clearly higherthan that of 2 index codes. Therefore, for a higher chip-error tolerance, RD.kwould have to be reduced at the cost of a lowered complexity of the messagespreading codes of RD-DSSS.

On the other hand, UDSSS gives superior results since the receiver seeksto despread the key as long as 1 out of all the checked spreading codescorrectly despreads a key bit. Hence even though the integration thresholdis not reached for the despreading of certain key bits, the receiver can stillpick the most likely one and try to extract the message bits. The increaseof UDSSS.k implies that more key spreading codes are verified, giving aneven higher possibility of finding 1 correctly despread bit, which in essencemeans that the receiver takes a closer look at the codes.

While ECC is not immediately applicable for DSD-DSSS with content-basedcode subset selection nor RD-DSSS, ECC can be implemented on the keyportion of UDSSS, thereby tolerating some bit errors of the key. An ECCimplementation over UDSSS can therefore further increase the probabilityof successfully recovering the key and eventually the message.

4.2.2 Varying Integration Threshold τ

Recall that when determining the validity of a chip offset, the receiver dis-cards the offset if the integration result is below τ after any despreadingoperation. Here we are therefore interested in observing the variability ofsuccess rates given various integration thresholds. 600 trials with parametersettings similar to the previous experiment are run to obtain Figure 4.4, withparameters identical to those in 4.2.1. To fit the curves within the originalchip-error range, the integration threshold is set to

τ ∈ {73%, 75%, 77%}

We observe from all schemes a steady and similar decay in success rate,signifying that lowering the threshold can increase the success probabilityon all schemes given the same error rates. However, arbitrarily loweringthe integration threshold results in more false despreading successes of thesecret and burdens the receiver with the overhead of despreading wrongmessage bits, which implies a trade-off between despreading accuracy anddespreading success rate.

27

Page 37: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

4. Simulations

0.18 0.2 0.22 0.24 0.26 0.28 0.3 0.32 0.34 0.360

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Chip Error Rate

Suc

cess

Rat

e

UDSSS k=2UDSSS k=5DSDRD 2 index codesRD 5 index codes

Figure 4.3: Despreading success rate subject to various chip-error rates

0.18 0.2 0.22 0.24 0.26 0.28 0.3 0.320

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Chip Error Rate

Suc

cess

Rat

e

UDSSS Th=374UDSSS Th=384UDSSS Th=394DSD Th=374DSD Th=384DSD Th=394RD Th=374RD Th=384RD Th=34

Figure 4.4: Despreading success rate subject to various chip-error rates withvarious integration thresholds

28

Page 38: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

4.2. Chip-Level Error Tolerance

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0.18 0.19 0.2 0.21 0.22 0.23 0.24 0.25 0.26 0.27 0.28 0.29 0.3 0.31 0.32Chip Error Rate

Suc

cess

Rat

e

(a) UDSSS

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0.18 0.19 0.2 0.21 0.22 0.23 0.24 0.25 0.26 0.27 0.28 0.29 0.3 0.31 0.32Chip Error Rate

Suc

cess

Rat

e

(b) DSD-DSSS

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0.18 0.19 0.2 0.21 0.22 0.23 0.24 0.25 0.26 0.27 0.28 0.29 0.3 0.31 0.32Chip Error Rate

Suc

cess

Rat

e

(c) RD-DSSS

Figure 4.5: Boxplot showing the stability of 100 trials.

4.2.3 Simulation Stability

We are further interested in assessing the stability of the success rate curvesof experiments with fewer trials. As a simple measure, 6 sets of 100 trials foreach configuration were run again and Figure 4.5 shows the resulting boxplot that illustrates the stability of the simulation amongst 6 sets. As canbe observed, the curves are most stable around the extremes of completesuccess or failure, and variates in between their transitions.

29

Page 39: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance
Page 40: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

Chapter 5

Analysis

This study deals with obtaining a unified base for comparison of jammingresistance amongst different schemes. However, due to the abstraction ofthe modulation and demodulation process, jamming cannot be robustly re-flected from the chip level during simulation. We therefore approach theproblem with modelling and formulation. As for the strategies of attackers,we consider the following attacker strategies.

• Reactive attackers that jams the secret portion, which is usually moreefficient and effective than simply jamming the message. For this typeof attackers, we assume that they are equipped with parallel signal re-ception and transmission capabilities, where during transmission, eachattacker is capable of transmitting one spread message.

• Attackers performing denial-of-service attacks by injecting bogus se-crets.

5.1 introduces the mechanisms of jammers in respective schemes and theirrespective probability formulae for successful jamming, under the assump-tion that the attackers are synchronized with the signals. Synchronization isrequired so that the jamming resistance of all schemes can be equally com-pared. It is also a reasonable assumption in a scenario where the senderrepeatedly transmits the same spread message so that receivers are allowedsufficient time to capture the signals and extract the information. As a re-sult, the attacker could synchronize itself during earlier repetitions and jamfuture signals. The computational overhead for jammers to synchronize witha sender is therefore worthy of investigation.

The resulting plots for the probabilities of successful jamming are derived in5.2. 5.3 discusses the ability to despread messages with partially recoveredindex codes for RD-DSSS. In 5.4 we measure the computational overheadfor the attacker to synchronize with the legitimate signal such that reactive

31

Page 41: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

5. Analysis

attacks are most effective. Finally, in 5.5 we investigate the performanceimpact of receivers in an event of injected messages by formulating the in-curred despreading overhead.

Unless stated otherwise, the following parameters are used for the evalua-tion throughout this section.

1. M = 1024

2. UDSSS.l = DSD.ls = 32

3. N = 512

4. |UDSSS.C| = 992, |DSD.Cp|+ |DSD.Ce| = 977, |RD.P|+ |RD.I| = 952

5.1 Reactive Attacker Model

In modelling reactive attacks, we first assume that attackers are synchro-nized with the sender. Attackers aim at jamming the secret portion of thesignal by first identifying used spreading codes to infer future spreadingcodes. Once a future spreading code is either identified or guessed, the at-tacker jams the message by spreading random bits with the guessed spread-ing codes.

Identifying the spreading codes rely heavily on the despreading efficiencyof the jammer, and we derive the probability of successful jamming for at-tackers with infinite and finite spreading power. For the computationallybounded jammer, we let d be the number of despreading operations thatit is capable of computing at the end of every bit transmission. In addi-tion, the attacker is also assumed to be able to transmit and receive signalsconcurrently.

5.1.1 Uncoordinated DSSS

A synchronized reactive jammer that targets UDSSS by jamming the key bitsproceeds as follows.

1. Identify the spreading code that was used to spread the first bit of thekey.

2. Identify the spreading code sequence used for the entire key.

3. Jam future key bits by injecting random bits spread by the correspond-ing spreading code from the identified code sequence.

Successful jamming is defined to be the identification of the spreading codesequence before sufficient key bits are decoded at the receiver’s end. Since

32

Page 42: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

5.1. Reactive Attacker Model

the jammer needs only to identify the first spreading code used to spreadthe key, the probability of success for a jammer with infinite despreadingpower is therefore trivially

PUDSSS, infinite = 1 (5.1)

With the bounded jammer, the probability is

PUDSSS, finite(d) = min((UDSSS.l −UDSSS.lerr)d

UDSSS.n, 1)

(5.2)

where UDSSS.lerr is the number of bit errors tolerated by the possible ECCencoding such that the receiver can still reconstruct the key from the jammedsignals.

5.1.2 Delayed Seed Disclosure DSSS

A synchronized reactive jammer that targets DSD-DSSS by jamming the seedbits proceeds as follows.

1. Randomly pick a spreading code in DSD.Cp to jam the most significantseed bit.

2. For each seed bit except the lease significant bit:

a) Search the search space to identify spreading code.

b) If identified, pick one out of the 2(n + 1) (spreading codes, bit)combinations that could be the pre-image of the function DSD.F.Use the spreading code to spread the inverse of pre-image bit andtransmit it to jam the next bit.

c) If the spreading code is not identified in time to guess the pre-images of the function DSD.F, spread a random bit using a ran-domly chosen spreading code from DSD.Cp and transmit.

Note that in the absence of ECC mechanisms, the attacker need only to jamone bit of the seed to succeed.

Similar to UDSSS, successful jamming of DSD-DSSS is defined to be thefailure of seed extraction by the receiver, resulting from bits being overshad-owed by the injected signals. The maximal probability of success for theunbounded jammer is derived by the author as

PDSD,infinite = 1−(

1− 1|DSD.Cp|

)(1− 1

DSD.n + 1

)DSD.ls−1

(5.3)

33

Page 43: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

5. Analysis

For the bounded jammer, the maximal success probability is

PDSD,finite(d) = 1−(

1− 1|DSD.Cp|

)(

1− d|DSD.Cp|

1DSD.n + 1

+|DSD.Cp| − d|DSD.Cp|

1|DSD.Cp|

)DSD.ls−1

(5.4)

5.1.3 Randomized Differential DSSS

A synchronized reactive jammer that targets RD-DSSS proceeds by trying toguess and jam the sent index codes.

1. Initialize a pool of all unused index codes with is initialized to RD.I.

2. On the start of the first index code, since any index code could havebeen used, randomly select one from the pool to jam.

3. For each received index code signal except the last

a) Identify the current index code by comparing the signal with thecodes in the pool.

b) If identified, remove the index code from the pool.

c) At the start of the next index code, randomly one from the poolto jam.

Successful jamming of RD-DSSS, similar as before, is defined as a failure ofidentifying all index codes on the receiver’s end. The success probability ofthe unbounded attacker is therefore

PRD,infinite = 1−RD.k

∏i=1

(1− 1|RD.I| − (i− 1)

)(5.5)

≈k

∑i=1

1|RD.I| − (i− 1)

since1

|RD.I| − k� 1 (5.6)

The probability of jamming a correct index code is even lower for the boundedattacker. Therefore we again use the approximation to obtain the correspond-ing success probability

PRD,finite(d) =1

|RD.I| + f (|RD.I|, d, RD.k− 1) (5.7)

34

Page 44: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

5.2. Probability of Successful Jamming

where

f (r, s, t) =

sr

[1

r− 1+ f (r− 1, s, t− 1)

]+

r− sr

[1r+ f (r, s, t− 1)

]t 6= 0

0 t = 0(5.8)

However, considering that |RD.I| � |RD.k|, this implies that even if a jam-mer was unable to identify a previously used index code, the probability ofselecting this index code to jam future transmissions is also small consider-ing the size of the index code pool. In this regard, the success probability ofthe bounded attacker can approximated by that of the unbounded attacker.

PRD,finite ≈ PRD,infinite (5.9)

≈k

∑i=1

1|RD.I| − (i− 1)

(5.10)

5.2 Probability of Successful Jamming

5.2.1 Computationally Unbounded Jammers

Based on Equations 5.1, 5.3, and 5.5, Figure 5.1 plots the probabilities ofsuccessful jamming of computationally unbouded jammers against schemeswith various code set sizes, which can be regarded as an upper bound onthe probability of jamming from a theoretical perspective.

Reactive attacks on UDSSS for any code size is always successful since pow-erful jammers can immediately identify the spreading code sequence usedto spread the key by analysing the first key bit. Assuming that the functionDSD.F for content-based code subset selection is unknown, the probabil-ity curve for DSD-DSSS represents an upper bound of the probability ofsuccessful jamming. RD-DSSS performs gives exceptionally low probabili-ties of successful jamming since the selection of individual index codes arecompletely uncorrelated by design. For both DSD-DSSS and RD-DSSS, theprobability decreases exponentially with the code set size before saturation.

5.2.2 Computationally Bounded Jammers

In dealing with practical jammers that are aware of the protocols, we are in-terested in how severe the jamming probability can reach given various jam-mer computation powers. Figure 5.2 shows a plot of jammer’s despreadingpower versus the corresponding jamming probabilities, which are derived

35

Page 45: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

5. Analysis

0 0.5 1 1.5 2

x 107

−7

−6

−5

−4

−3

−2

−1

0

Code Set Size

Jam

min

g P

roba

bilit

y (lo

g sc

ale

with

bas

e 10

)

UDSSSDSDRD 2 index codesRD 5 index codes

Figure 5.1: Jamming probability by attackers with infinite despreadingpower

using Equations 5.2, 5.4, and 5.9. Here the maximum allowed bit errors forthe key of UDSSS is defined as

UDSSS.lerr = UDSSS.l × 12.5%

For UDSSS and DSD-DSSS, the jammer is able to increase its chances ofsuccessful jamming by improving the computation power, where the attackscan again saturate to absolute success for UDSSS. Contrarily, jammers for RDhave negligible improvements in jamming probability, due to the negligiblecorrelation between index code selection.

5.3 Message Recovery with Compromised Secrets

In UDSSS, the key is used as a seed to generate pseudo-random spreadingcodes; in DSD-DSSS, the seed is used to generate pseudo-random indicesin the DSD.Cp. Both schemes rely on the complete recovery of the secret toobtain the exact stream of spreading codes used to spread the message bits.This implies that if any of the bits of the secret is wrongly extracted fromthe signal, the resulting spreading codes would most likely be one that iscompletely disjoint from the correct ones.

36

Page 46: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

5.3. Message Recovery with Compromised Secrets

0 0.5 1 1.5 2

x 105

−8

−7

−6

−5

−4

−3

−2

−1

0

Jammer’s Despreading Efficiency (#ops per code offset)

Jam

min

g P

roba

bilit

y (lo

g sc

ale

with

bas

e 10

)

UDSSSDSDRD 2 index codesRD 5 index codes

Figure 5.2: Jamming probability by attackers with finite despreading power

On the other hand, we noticed that this may not be the case for RD-DSSS.Specifically, even with some unrecoverable index codes, the receiver couldstill have the possibility of recovering an ECC-encoded message as follows.The probability of a message bit bi being 1 is

Pi{bi = 1} = 12

. (5.11)

The probability that a bit of value 1 is spread by a spreading code p whichis generated by a particular index code is

Pi{p|bi = 1} = 1RD.k

. (5.12)

Therefore, the probability that a message bit is spread by the spreading codegenerated by a particular index code is

Pi{p} = Pi{p|bi = 1}Pi{bi = 1} = 12 · RD.k

. (5.13)

This implies that for each unrecoverable index code, the expected ratio of biterrors in the message increases by

12 · RD.k

. (5.14)

37

Page 47: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

5. Analysis

The receiver can therefore tolerate some failures in recovering index codesby using error correction on the message. For example, if RD.k = 5, thenone missing index code would result in an expected 10% error in messagebits, which could still be corrected by ECC such as the Hamming(7,4) code.

We conclude this discussion by noting that in the event that the secret forthe RD-DSSS receiver is partially jammed, sufficient number of successfullydespread index codes could still produce enough correct message bits suchthat ECC can recover the complete message. On the other hand, not onebit-error in the secret is tolerated by UDSSS and DSD-DSSS receivers.

5.4 Synchronisation Overhead

The previous modelling assumes that the attacker is synchronized such thatshe can jam the secret on the correct chip offset. Here we evaluate the compu-tational overhead of jammers trying to synchronize with the sender’s signal.By expectation, half the entire signal length is searched before the correctchip offset is found. Therefore similar to derivations in Section 4.1, we canderive the expected number of despreading operations to synchronize ineach scheme as below.

#SyncOps(UDSSS) = UDSSS.k ·UDSSS.n · N(

M + UDSSS.l2

)(5.15)

#SyncOps(DSD-DSSS) = |DSD.Ce|N(

M + DSD.ls

2

)+ (DSD.ls − 1)(n + 1)

(5.16)

#SyncOps(RD-DSSS) = |RD.I|N(

M + RD.k2

)+ |RD.I|(RD.k− 1) (5.17)

Here we assume that the correct offset is at the middle of the entire incomingchip signal.

Figure 5.3 illustrates the differences of synchronisation overhead for thethree schemes. Since there is no correlation between index codes, RD-DSSSrequires the most despreading operations. Compared to DSD-DSSS, UDSSSwith equivalent code set size has fewer possible spreading code sequences,which implies a smaller search space for each chip offset. As a result, evenwith a redundant 5 spreading code checks for each chip offset, UDSSS is stillthe most efficient scheme in which a receiver can synchronize.

5.5 Despreading Overhead for Injected Messages

Considering the low probability of successful reactive jamming on DSD-DSSS and RD-DSSS, it could be more worthwhile for the attacker to launch

38

Page 48: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

5.5. Despreading Overhead for Injected Messages

0 0.5 1 1.5 2

x 107

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5x 10

12

Code Set Size

Ave

rage

Des

prea

ding

Ope

ratio

ns fo

r S

ynch

roni

zatio

n

UDSSS k=2UDSSS k=5DSDRD 2 index codes

Figure 5.3: Average despreading overhead for synchronization

a denial-of-service attack at the receiver by injecting multiple bogus secrets.As a result, one would also need to measure the incurred computationaloverhead of receivers in trying to despread all possible messages.

For each scheme, the additional computational overhead required for eachreceiver to despread a message with a valid seed is derived as follows. Herethe minimum despreading operations is used as a metric as we again assumethat synchronization is already achieved.

#InjectOps(UDSSS) = [UDSSS.k ·UDSSS.n] + [M + UDSSS.l −UDSSS.k](5.18)

#InjectOps(DSD-DSSS) = [|DSD.Ce|+ (DSD.ls − 1)(DSD.n + 1)] + [M](5.19)

#InjectOps(RD-DSSS) ≈ [|RD.I| · RD.k] + [M · RD.k] (5.20)

Each formula calculates in the first square bracket the maximal number ofdespreading operations required by the receiver to identify the secret, and inthe second square bracket the number of despreading operations to obtainthe corresponding message.

Figure 5.4 shows the results of modelling the overhead while varying thecode set size. Here we can observe that UDSSS suffers the least overhead

39

Page 49: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

5. Analysis

0 0.5 1 1.5 2

x 107

3

3.5

4

4.5

5

5.5

6

6.5

7

7.5

8

Code Set Size

Num

ber

of D

espr

eadi

ng O

pera

tions

(lo

g sc

ale

with

bas

e 10

)

UDSSS k=2UDSSS k=25DSDRD 2 index codesRD 5 index codes

Figure 5.4: Despreading overhead for one valid key/seed/index codes

due to its efficient spreading code sequence identification, which is wouldonly reach the same order as DSD-DSSS when UDSSS.k = 25. In contrast,since RD-DSSS relies heavily on the independent selection of individual in-dex codes, its performance under injection attacks is therefore reduced sig-nificantly.

However, by comparing Figure 5.3 and 5.4, we observe that the overheadincurred by a single message injection is orders smaller than that investedin synchronization, as was also observed in in Section 4.1. This impliesthat while more messages are inserted, resulting in more application-levelvalidity checks, injection attacks cause negligible impact on the efficiency ofreceivers in terms of despreading overhead unless performed repetitively.

40

Page 50: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

Chapter 6

Summary

6.1 Uncoordinated DSSS

A UDSSS receiver requires the least amount of despreading operations whenchecking the validity of a chip offset, thereby significantly reducing the com-putation overhead and making itself the most efficient scheme amongst thethree. It is also the only scheme where ECC is applicable for secret recon-struction. However, due to the comparatively small set of fixed spreadingcode sequences, UDSSS suffers high probability of jamming, should the at-tacker be provided with sufficient computation power. Therefore, UDSSS ismostly useful for scenarios where jamming is uncommon and signal receiv-ing efficiency is desired.

6.2 Delayed Seed Disclosure DSSS

An immediate remedy to UDSSS’s weakness from fixed spreading code se-quences is the content-based subset selection employed in DSD-DSSS. Withmultiple possibilities of spreading code selection for each seed bit, the at-tacker can no longer accurately identify the entire spreading code sequence.However, with the introduction of the selection function DSD.F, the receiverwould invest more despreading operations in identifying the seeds. In addi-tion, since the despreading of each seed bit already requires accurate knowl-edge of the later bit, ECC is not useful to be immediately applied. Thisimplies that as long as the attacker can successfully jam one bit of the seed,the receiver would be unable to reconstruct it and despread the message.

In our analysis, DSD-DSSS strikes a balance between UDSSS and RD-DSSSboth in terms of efficiency and anti-jamming capabilities.

41

Page 51: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

6. Summary

6.3 Randomized Differential DSSS

The secret portion in RD-DSSS consists of individual index codes, whichare selected independently. The lack of correlation between the selectedindices implies that not only is ECC not immediately applicable, but thereceiver also has to spend the majority of the computation trying out allpossible spreading codes in RD.C. This makes RD-DSSS the least efficientscheme of all. In return for the lowered efficiency, the jamming resistance isorders superior than that of UDSSS or DSD-DSSS. We have also analyticallyshown that ECC-encoded messages could potentially recover message bitsthat were spread by missing code sequences due to loss of index codes.

To reduce the despreading overhead, one could intuitively reduce the sizeof RD.C. On the other hand, by employing a function, somewhat similarto DSD-DSSS’s content-based code subset selection, to select the earlier in-dex codes based on the selection of the later index codes, the search spacecould also be further improved. Though both modifications benefit the re-ceiver in terms of efficiency, they would also contribute to an increase in theprobability of reactive jamming attacks.

42

Page 52: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

Chapter 7

Conclusion

7.1 Benchmarking Framework

We have constructed a unified benchmarking framework to simulate trans-mission of various DSSS-based schemes, and provided intuitions on howscripts can be composed to simulate and compare their performances. Todemonstrate its effectiveness, we have realized UDSSS, DSD-DSSS, and RD-DSSS under the framework to generate simulation results. The modularstructure of the framework allows one to simulate and evaluate further pos-sible proposals of DSSS-based anti-jamming communication schemes.

As a possible extension, the software design can incorporate hardware inter-faces, so that actual data transmissions over radio can also be conducted ina unified manner to provide more insights than simulation.

7.2 Evaluation and Analysis

The various DSSS-based anti-jamming schemes compared in this study con-sists of several unique parameters, whose counterparts could not be abso-lutely identified in another scheme. For example, the ratio between |RD.P|and |RD.C| in RD-DSSS could not be easily mapped to a parameter inUDSSS or DSD-DSSS. However, this study compares DSSS-based anti-jammingbroadcast schemes by seeking to reasonably unify the construction duringanalysis, as an effort to fair comparison.

By comparing the schemes, we have identified performance differences be-tween UDSSS, DSD-DSSS, and RD-DSSS in terms of efficiency. Generallyspeaking, the order of despreading efficiency for the receiver is UDSSS >DSD-DSSS > RD-DSSS, while the order of resistance to reactive jamming

43

Page 53: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

7. Conclusion

attacks is RD-DSSS > DSD-DSSS > UDSSS. On the other hand, variance ofparameters exclusive to a scheme could lead to various fluctuations of thecomparison result.

Finally, the different emphasis of various techniques motivates a optimiza-tion problem. In real-world scenarios, hybrid schemes can be designedto balance between efficiency and jamming resistance by selecting suitableschemes based on the detected hostility of the communication environment.

44

Page 54: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

Appendix A

Documentation of MATLAB Code

The following documentation introduces the important MATLAB codes writ-ten for this study. In A.1, the usage of the benchmark framework and howDSSS-based schemes can be realized. The reader can find in A.2 the imple-mentations of UDSSS, DSD-DSSS, and RD-DSSS based on this framework.A.3 shows the scripts used for the simulations discusses in the report. A.4provides information on how plots in assessing the jamming resistance ofschemes can be reproduced.

A.1 Benchmark Framework

Benchmark is the core function in this simulation architecture and is shownin Listing A.1.

function stats = Benchmark(msg, param, setupHandle, spreadHandle,

despreadHandle)

Simulation scripts can be written by calling only this function. Evaluationof various DSSS-based schemes can be done by passing the following argu-ments:

• the bit message(s) to transmit and test on during simulation,

• the parameters used for this simulation run and scheme parameters,

• the scheme-specific set-up, spreading, and despreading functions.

The bit messages msg should be a n-by-m matrix of bit values, where n is thenumber of messages on which transmission is tested and m is the length ofthe bit messages.

45

Page 55: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

A. Documentation of MATLAB Code

The parameter param is a structure array data type that contains parame-ters used for the transmissions. In addition, the following parameters arecommon to all schemes.

• param.isSync enables synchronization between the sender and receiverwhen set to 1. This implies that the despreading function has knowl-edge of the correct chip offest in a chip-level signal capture such that abrute-force search across all other offsets are not required. This modeis used to perform the chip-level error tolerance simulations, since thestatistic of interest is solely the despreading success rate. The simula-tion time can be reduced drastically.

• param.cheat enables passing the spreading codes/index codes usedto encode the secret to the receiver when set to 1. This flag is also usedfor the simulation of chip-level error tolerance for the same reason asabove.

• param.verbose enables verbose mode when set to 1, which prints foreach tested bit message the spreading codes/index codes used to en-code the secret and the extracted bit messages.

• noiseRatio is the ratio of randomly flipped chips to simulate chip-level errors.

46

Page 56: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

A.1. Benchmark Framework

Listing A.1: Benchmark.m1 function [ s t a t s ] = Benchmark ( msg , param , setupHandle ,

spreadHandle , despreadHandle )2 % BENCHMARK i s t he g e n e r a l f ramework t h a t s i m u l a t e s a DSSS−

based s i g n a l3 % t r a n s m i s s i o n schemes , g i v e n t he c o r r e s p o n d i n g s e t−up ,

s p r e a d i n g , and4 % d e s p r e a d i n g f u n c t i o n s . The l o w e s t l e v e l o f d e t a i l i s c h i p s .5 %6 % INPUT7 % msg : n x m b i n a r y matr ix , c o r r e s p o n d i n g to n b i t messages

o f l e n g t h m8 % param : a s t r u c t c o n t a i n i n g scheme−s p e c i f i c p a r m a e t e r s and

s i m u l a t i o n9 % s e t t i n g s

10 % s e t u p H a n d l e : f u n c t i o n h a n d l e to t he scheme s e t−upf u n c t i o n

11 % s p r e a d H a n d l e : f u n c t i o n h a n d l e to t he s p r e a d i n g p r o c e s s12 % d e s p r e a d i n g H a n d l e : f u n c t i o n h a n d l e to d e s p r e a d a s e q u e n c e

o f c h i p s13 %14 % OUTPUT15 % s t a t s . s u c c e s s C o u n t : th e t o t a l number , out o f n , o f t i m e s

a message i s16 % s u c c e s s f u l l y r e c e i v e d .17 % s t a t s . opCount : mean number o f d e s p r e a d i n g o p e r a t i o n s t he

r e c e i v e r s have18 % i n v e s t e d f o r each message1920 % Envi ronment s e t u p21 addpath ( ’ U t i l s / ’ ) ;2223 % G e n e r a t e scheme s p e c i f i c p a r a m e t e r s by t he s e t u p H a n d l e24 param = setupHandle ( param ) ;2526 % I n i t i a l i z e s s u c c e s s c o u n t e r and d e s p r e a d i n g o p e r a t i o n s

c o u n t e r27 successCount = 0 ;28 opCount = zeros ( s ize (msg , 1 ) , 1 ) ;2930 % For each message31 for i = 1 : s ize (msg , 1 )3233 i f param . verbose == 1 % Output message i f v e r b o s e mode i s

e n a b l e d34 f p r i n t f ( ’ T r i a l %02d\n ’ , i ) ;35 end3637 % Spread message

47

Page 57: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

A. Documentation of MATLAB Code

38 i f param . verbose == 1 % Output message i f v e r b o s e mode i se n a b l e d

39 f p r i n t f ( ’ \ tSpreading . . . \ n ’ ) ;40 end41 [ s i g n a l param ] = spreadHandle (msg( i , : ) , param ) ;4243 % De−s y n c h r o n i z e44 signalCapture = CaptureSignal ( s ignal , param . isSync ) ;4546 % Add ch ip− l e v e l e r r o r s47 signalCapture = ChannelNoise ( signalCapture , param .

noiseRat io ) ;4849 % Despread message50 i f param . verbose == 1 % Output message i f v e r b o s e mode i s

e n a b l e d51 f p r i n t f ( ’ \ tDespreading . . . \ n ’ ) ;52 end53 [ msgDespread opCount ( i ) ] = despreadHandle ( signalCapture ,

param ) ;5455 % O r g a n i z e s t a t i s t i c s o f s u c c e s s c o u n t e r56 for j = 1 : s ize ( msgDespread , 1 )57 i f sum( xor (msg( i , : ) , msgDespread ( j , : ) ) ) <= s ize (msg

, 2 ) ∗0 .1558 successCount = successCount + 1 ;59 break ;60 end61 end6263 end6465 % O r g a n i z e s t a t i s t i c s and output66 s t a t s = s t r u c t ;67 s t a t s . successCount = successCount ;68 s t a t s . opCount = mean ( opCount ) ;6970 end

48

Page 58: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

A.2. Scheme Implementation

A.2 Scheme Implementation

A.2.1 UDSSS

The scheme-specific functions for UDSSS are implemented as shown below,and can be passed as function handles to invoke Benchmark for simulation.

• Set-up function: UDSSS Setup

• Spreading function: UDSSS Spread

• Despreading function: UDSSS Despread

The following parameters should be specified for UDSSS in the structurearray param.

• nMsg: number of messages to test

• msgLen: message length M

• codeLen: code length (chips) N

• th: despreading threshold (in chips) τN

• keyLen: key length UDSSS.l

• codeSize: total size of public code set |UDSSS.C|

• k: UDSSS.k, number of spreading codes to test for each chip offset

An example script to individually simulate UDSSS is provided in Benchmark UDSSS.m.

A.2.2 DSD-DSSS

The scheme-specific functions for DSD-DSSS are implemented as shown be-low, and can be passed as function handles to invoke Benchmark for simula-tion.

• Set-up function: DSD Setup

• Spreading function: DSD Spread

• Despreading function: DSD Despread

The following parameters should be specified for DSD-DSSS in the structurearray param.

• nMsg: number of messages to test

• msgLen: message length M

• codeLen: code length (chips) N

49

Page 59: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

A. Documentation of MATLAB Code

• th: despreading threshold (in chips) τN

• keyLen: key length DSD.ls

• n: parameter DSD.n to generate code book size

An example script to individually simulate DSD-DSSS is provided in Benchmark DSD.m.

A.2.3 RD-DSSS

The scheme-specific functions for RD-DSSS are implemented as shown be-low, and can be passed as function handles to invoke Benchmark for simula-tion.

• Set-up function: RD Setup

• Spreading function: RD Spread

• Despreading function: RD Despread

The following parameters should be specified for RD-DSSS in the structurearray param.

• nMsg: number of messages to test

• msgLen: message length M

• msgCodeLen: code length for message bits (chips) N

• indCodeLen: code length for index (chips) N

• msgTh: despreading threshold for message codes (chips) τN

• indTh: despreading threshold for index codes (chips) τN

• nIndexCodes: number of index codes to append RD.k

• msgCodeSetSize: total size of codebook for message bits |RD.P|• indCodeSetSize: total size of codebook for index |RD.C|

Note that in the original proposal for RD-DSSS [7], the spreading codelength for messages and index codes are defined separately. In our analysis,we have assigned them the same value, N, but preserved the two separatevariables in the implementation. Similarly, both the integration thresholdfor message codes and index codes are also assigned τ.

An example script to individually simulate RD-DSSS is provided in Benchmark RD.m.

A.3 Sample Simulation Scripts

Simulation Scripts can be composed by calling three instances of Benchmarkwith the scheme-specific function handles for UDSSS, DSD-DSSS, and RD-

50

Page 60: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

A.3. Sample Simulation Scripts

DSSS respectively. A simple example of simulating one transmission foreach scheme can be found in Benchmark All, where the code set parametersare assigned according to the mapping.

A.3.1 Despreading Efficiency

To evaluate despreading efficiency of various schemes, Benchmark CodeSize

can be run that produces an output file, from which the script Plot CodeSize

can plot the code set size versus despreading complexity figures. The proto-type for Benchmark CodeSize is

function out = Benchmark CodeSize(nMsg, msgLen, keyLen,

codeLen, kRange, nIndexCodesRange, th, noiseRatio, filename)

with the following argument.

• nMsg: number of trials

• msgLen: message length (bits) M

• codeLen: code length (chips) M

• th: despreading threshold (chips) τN

• keyLen: key/seed length (bits) for UDSSS and DSD-DSSS

• kRange: range of number of codes (UDSSS.k) to test for each chip offset(UDSSS)

• nIndexCodesRange: range of number of indexes (RD.k) to append (RD)

• noiseRatio: ratio of randomly flipped chips

• filename: file name to save the results

An example usage would be running the following commands under MAT-LAB in sequence.

Benchmark CodeSize(1, 128, 10, 30, [2 3 4], [2 5], 30, 0,

’CodeSizeVsOpCount msg128.mat’);

Plot CodeSize(’CodeSizeVsOpCount msg128.mat’);

A.3.2 Chip-Level Error Tolerance with Varying Error Rates

A simple script Benchmark Noise defined as

function stats = Benchmark Noise(noiseRatioRange)

is written that simulates chip-level random errors and writes results to anoutput file. noiseRatioRange is a 1-dimensional array that contains the ratio

51

Page 61: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

A. Documentation of MATLAB Code

of chip-level errors to test on all schemes. The resulting file is generatedwith an automatic name and can be used by Plot Noise to plot the errorrate versus success rate graphs.

A sample execution is

Benchmark Noise([0.18 : 0.01 : 0.23]);

Plot Noise

A.3.3 Chip-Level Error Tolerance with Varying Integration Thresh-olds and Error Rates

To observe various integration thresholds, a script Benchmark Th Noise.m isalso written, as defined below.

function stats = Benchmark Th Noise(thRange, noiseRatioRange)

thRange is a 1-dimensional array that contains the integration thresholds torun a series of simulations with various chip-level error rates, defined in the1-dimensional array noiseRatioRange.

A sample execution is

Benchmark Th Noise([374 384 394], 0.18 : 0.01 : 0.32);

Plot Th Noise

A.4 Analysis Scripts

A number of scripts are also written to plot the results of analytic expres-sions for modelling each schemes jamming resistance. These schemes areindependent of the simulation framework and can be run separately.

• Model DespreadingEfficiency models the simulation results for largecode sets by providing analytic predictions which has been shown tosuccessfully match the simulation results on code sets with smallersizes.

function [ ] = Model DespreadingEfficiency(msgLen, keyLen,

codeLen, udsssK, rdK, dsdN)

The following parameters are available.

– msgLen: message length (bits) M

– keyLen: key/seed length (bits) for UDSSS and DSD-DSSS

– codeLen: code length (chips) M

52

Page 62: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

A.4. Analysis Scripts

– udsssK: array of number of codes (UDSSS.k) to test for each chipoffset (UDSSS)

– rdK: array of number of indexes (RD.k) to append (RD)

– dsdN: array of DSD.n to derive code set sizes for all schemes

• Plot Attack1.m plots results considering a reactive jammer with infi-nite computational power.

• Plot Attack2.m plots results with computationally bounded jammers,and also provides a parameter n which corresponds to DSD.n.

• Plot Sync.m evaluates and plots the computational overhead for syn-chronization.

• Plot Injection.m evaluates and plots the computational overhead foran injected secret of each scheme.

53

Page 63: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance
Page 64: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

Bibliography

[1] Sanjeev Arora and Boaz Barak. Computational Complexity: A ModernApproach. Cambridge University Press, 2009.

[2] Claude Berrou, Alain Glavieux, and Punya Thitimajshima. Near Shan-non Limit Error-Correcting Coding and Decoding: Turbo-Codes. 1,May 1993.

[3] Robert Gold. Optimal Binary Sequences for Spread Spectrum Multi-plexing (Corresp.). IEEE Transactions on Information Theory, 13(4), Octo-ber 1967.

[4] IEEE. IEEE 802.11g-2003: Further Higher Data Rate Extension in the2.4 GHz Band. 2003.

[5] European Telecommunications Standards Institute. Framing structure,channel coding and modulation for 11/12 ghz satellite services, 1997.

[6] An Liu, Peng Ning, Huaiyu Dai, Yao Liu, and Cliff Wang. DefendingDSSS-based Broadcast Communication against Insider Jammers via De-layed Seed-Disclosure. In Proceedings of the 26th Annual Computer Secu-rity Applications Conference, ACSAC ’10, 2010.

[7] Yao Liu, Peng Ning, Huaiyu Dai, and An Liu. Randomized differen-tial DSSS: Jamming-Resistant Wireless Broadcast Communication. InProceedings of the 29th conference on Information communications, INFO-COM’10, 2010.

[8] Christina Popper, Mario Strasser, and Srdjan Capkun. Jamming-resistant broadcast communication without shared keys. In Proceedingsof the USENIX Security Symposium, 2009.

55

Page 65: Rights / License: Research Collection In Copyright - Non ... · Chapter 5 analyses the jamming resistance of schemes by deriving jamming probabilities. In addition, various performance

Bibliography

[9] Christina Popper, Mario Strasser, and Srdjan Capkun. Anti-JammingBroadcast Communication using Uncoordinated Spread Spectrum Tech-niques. IEEE Journal on Selected Areas in Communications, June 2010.

[10] Bernard Sklar. Digital Communications: Fundamentals and Applications.Prentice Hall, 2001.

[11] Henk C.A. van Tilborg. Fundamentals of Cryptology: A Professional Refer-ence and Interactive Tutorial, pages 295 – 304. Kluwer Academic Publish-ers, 2000.

56