13.01.2013 Views

Calculating trust in sensor networks

Calculating trust in sensor networks

Calculating trust in sensor networks

SHOW MORE
SHOW LESS

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

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

<strong>Calculat<strong>in</strong>g</strong> <strong>trust</strong> <strong>in</strong> <strong>sensor</strong> <strong>networks</strong><br />

Ari Karjala<strong>in</strong>en<br />

Hels<strong>in</strong>ki September 22, 2009<br />

Pro gradu thesis<br />

UNIVERSITY OF HELSINKI<br />

Department of Computer Science<br />

Date of acceptance Grade<br />

Instructor


HELSINGIN YLIOPISTO — HELSINGFORS UNIVERSITET — UNIVERSITY OF HELSINKI<br />

Tiedekunta — Fakultet — Faculty Laitos — Institution — Department<br />

Faculty of science Department of computer science<br />

Tekijä — Författare — Author<br />

Ari Karjala<strong>in</strong>en<br />

Työn nimi — Arbetets titel — Title<br />

<strong>Calculat<strong>in</strong>g</strong> <strong>trust</strong> <strong>in</strong> <strong>sensor</strong> <strong>networks</strong><br />

Oppia<strong>in</strong>e — Läroämne — Subject<br />

Computer science<br />

Työn laji — Arbetets art — Level Aika — Datum — Month and year Sivumäärä — Sidoantal — Number of pages<br />

Pro gradu thesis September 22, 2009 66 pages<br />

Tiivistelmä — Referat — Abstract<br />

Sensor <strong>networks</strong> can benefit from a <strong>trust</strong> management scheme. A <strong>sensor</strong> network can become<br />

more resilient aga<strong>in</strong>st node capture if every node <strong>in</strong> the network monitors their neighbours. The<br />

<strong>in</strong>formation of how one node <strong>trust</strong>s another can also be used <strong>in</strong> rout<strong>in</strong>g. Trust-based rout<strong>in</strong>g tries<br />

to forward traffic through more <strong>trust</strong>worthy nodes, so that malicious nodes could <strong>in</strong>terfere with the<br />

operation of the network. The route through which a packet traverses then forms a cha<strong>in</strong> of <strong>trust</strong><br />

from one node to another. This cha<strong>in</strong> can further be used to measure the <strong>trust</strong>worth<strong>in</strong>ess of distant<br />

nodes. This thesis evaluates how a <strong>trust</strong> management solution behaves <strong>in</strong> a <strong>sensor</strong> network, and<br />

what k<strong>in</strong>ds of <strong>trust</strong> cha<strong>in</strong>s the solution creates when malicious nodes are <strong>in</strong>troduced to the network.<br />

Results show that, given some <strong>in</strong>accuracies, such a scheme can be used to identify un<strong>trust</strong>worthy<br />

nodes from far away.<br />

ACM Comput<strong>in</strong>g Classification System (CCS):<br />

C.2 [Computer-Communication Networks: Security and protection],<br />

C.2.3 [Network Operations: Network management],<br />

C.2.2 [Network Protocols: Rout<strong>in</strong>g protocols]<br />

Ava<strong>in</strong>sanat — Nyckelord — Keywords<br />

<strong>sensor</strong> network, <strong>trust</strong> management, rout<strong>in</strong>g, <strong>trust</strong>-based rout<strong>in</strong>g, network simulation<br />

Säilytyspaikka — Förvar<strong>in</strong>gsställe — Where deposited<br />

Kumpula Science Library, series C-2009-<br />

Muita tietoja — övriga uppgifter — Additional <strong>in</strong>formation


Contents<br />

1 Introduction 1<br />

2 Sensor <strong>networks</strong> 3<br />

2.1 Realworld nodes and <strong>networks</strong> . . . . . . . . . . . . . . . . . . . . . . . . . 5<br />

2.2 Rout<strong>in</strong>g protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9<br />

2.3 Service discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12<br />

2.4 Security considerations <strong>in</strong> <strong>sensor</strong> <strong>networks</strong> . . . . . . . . . . . . . . . . . . . 13<br />

2.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16<br />

3 Trust management 18<br />

3.1 Trust-based rout<strong>in</strong>g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19<br />

3.2 Confidant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20<br />

3.3 CORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21<br />

3.4 A Secure Rout<strong>in</strong>g Protocol for wireless ad hoc <strong>networks</strong> . . . . . . . . . . . 23<br />

3.5 TARP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24<br />

3.6 Trusted Greedy Perimeter Stateless Rout<strong>in</strong>g . . . . . . . . . . . . . . . . . . 25<br />

3.7 A Trust-Based Geographical Rout<strong>in</strong>g Scheme . . . . . . . . . . . . . . . . . 26<br />

3.8 WSNodeRater and GESAR . . . . . . . . . . . . . . . . . . . . . . . . . . . 27<br />

3.9 Trust-based LEACH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29<br />

3.10 Dynamic <strong>trust</strong>ed rout<strong>in</strong>g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31<br />

3.11 Overview of <strong>trust</strong>-based rout<strong>in</strong>g protocols . . . . . . . . . . . . . . . . . . . 33<br />

4 Analysis of <strong>trust</strong>ed service discovery 37<br />

4.1 Simulat<strong>in</strong>g network-protocols <strong>in</strong> JSIM . . . . . . . . . . . . . . . . . . . . . 38<br />

4.2 The <strong>trust</strong>-based rout<strong>in</strong>g protocol . . . . . . . . . . . . . . . . . . . . . . . . 39<br />

ii


4.3 <strong>Calculat<strong>in</strong>g</strong> a cha<strong>in</strong> of <strong>trust</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . 40<br />

4.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44<br />

5 Results 45<br />

5.1 Scenario 1: A cloud of nodes . . . . . . . . . . . . . . . . . . . . . . . . . . 46<br />

5.2 Scenario 2: Two islands with one bridge . . . . . . . . . . . . . . . . . . . . 50<br />

5.3 Scenario 3: Two islands with two bridges . . . . . . . . . . . . . . . . . . . 52<br />

5.4 Compar<strong>in</strong>g different <strong>trust</strong>-metrics . . . . . . . . . . . . . . . . . . . . . . . . 55<br />

5.5 Identify<strong>in</strong>g malicious nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . 58<br />

5.6 Summary of tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60<br />

6 Conclusions and future work 61<br />

References 62<br />

iii


1 Introduction<br />

Wireless <strong>sensor</strong> <strong>networks</strong> are <strong>networks</strong> of autonomous sens<strong>in</strong>g gadgets, or ”nodes”. These<br />

nodes leverage the small size and low price of modern short range wireless communication<br />

technologies and <strong>in</strong>tegrated circuits to report sensed data. A <strong>sensor</strong> network may consist<br />

of a large number of <strong>sensor</strong>s scattered across difficult terra<strong>in</strong>. These <strong>sensor</strong>s will form an<br />

ad hoc network amongst themselves and send their sensed data hop-by-hop to a specific<br />

gateway node, called a s<strong>in</strong>k. This s<strong>in</strong>k-node will act as a gateway to other <strong>networks</strong> and<br />

will allow a remote user to monitor and adm<strong>in</strong>ister the <strong>sensor</strong> network from outside the<br />

network.<br />

Nodes conta<strong>in</strong> an <strong>in</strong>tegrated programmable circuit, that will be used to control the node<br />

and its operation. The nodes are typically battery-powered, rely<strong>in</strong>g on small low-energy<br />

batteries to power their lifetime. The nodes conta<strong>in</strong> a radio and communicate with each<br />

other through some short range wireless communications protocol. The node is equipped<br />

with an array of sens<strong>in</strong>g equipment such as light, temperature or motion <strong>sensor</strong>s.<br />

An important part the operation of <strong>in</strong>dividual nodes and the whole network is that the<br />

nodes can be programmed to aggregate, dissem<strong>in</strong>ate or filter the data they sense. This can<br />

have a positive effect on the lifetime of the energy-scarce network as well as allow more<br />

<strong>in</strong>telligent <strong>sensor</strong>y fields to be built.<br />

A <strong>sensor</strong> network will most likely operate on the same network<strong>in</strong>g protocols that modern<br />

computers do, so a <strong>sensor</strong> network may be reachable from other <strong>networks</strong>, for example<br />

the Internet. This will ease deployment as the available network <strong>in</strong>frastructure (cell-phone<br />

<strong>networks</strong>, WLANs, satellite hookups) can be used control the <strong>sensor</strong> network.<br />

Sensor <strong>networks</strong> face many challenges, as they by their design, are very hard to protect<br />

from tamper<strong>in</strong>g. An attacker would have very little trouble <strong>in</strong> gett<strong>in</strong>g their hands on a<br />

deployed <strong>sensor</strong>. Experiments have shown that captur<strong>in</strong>g a node is possible and would<br />

up open huge vulnerabilities <strong>in</strong> a <strong>sensor</strong> network. A captured node may try to attack<br />

the network from with<strong>in</strong>. Ways to avert this scenario have been <strong>in</strong>troduced, where<strong>in</strong> a<br />

distributed <strong>trust</strong> management system will be built <strong>in</strong>to the nodes. In this system, all nodes<br />

1


monitor their neighbour<strong>in</strong>g nodes for any deviations or signs of malicious <strong>in</strong>tent.<br />

To ga<strong>in</strong> more from this <strong>trust</strong> management system, it can be <strong>in</strong>corporated <strong>in</strong>to the rout<strong>in</strong>g<br />

protocol of the network. An un<strong>trust</strong>worthy malicious node will not be allowed to par-<br />

ticipate <strong>in</strong> rout<strong>in</strong>g decisions or packet transmission. This allows malicious nodes to be<br />

excluded from the network, thus result<strong>in</strong>g <strong>in</strong> a more resilient and fault tolerant network.<br />

If nodes <strong>in</strong> a distributed <strong>trust</strong> management system monitor and gather <strong>trust</strong>-<strong>in</strong>formation<br />

about their neighbours, this <strong>in</strong>formation could be used to def<strong>in</strong>e a cha<strong>in</strong> of <strong>trust</strong> from one<br />

node to another. This cha<strong>in</strong> of <strong>trust</strong> can then provide the user with important <strong>in</strong>formation<br />

about the network, the node at the other side of the cha<strong>in</strong> and the nodes <strong>in</strong> between.<br />

One such example would be service discovery where this cha<strong>in</strong> of <strong>trust</strong> could be used to<br />

differentiate different service providers. The provider with the best cha<strong>in</strong> cha<strong>in</strong> of <strong>trust</strong><br />

should be chosen <strong>in</strong> such an event.<br />

This thesis will seek to evaluate how <strong>trust</strong> <strong>in</strong>formation can be propagated to a cha<strong>in</strong> of<br />

<strong>trust</strong>. This work will <strong>in</strong>clude discussions of how to best represent <strong>in</strong>dividual op<strong>in</strong>ions <strong>in</strong>to<br />

one s<strong>in</strong>gle metric that will def<strong>in</strong>e this cha<strong>in</strong> of <strong>trust</strong>. In addition to this, the metric must<br />

also be tested <strong>in</strong> various sorts of <strong>networks</strong>. The aim of this thesis is to give an estimate<br />

of how accurately this cha<strong>in</strong> of <strong>trust</strong> would work <strong>in</strong> a <strong>sensor</strong> network that is populated<br />

with malicious nodes. The results will show that a cha<strong>in</strong> of <strong>trust</strong> will work, but with some<br />

irregularities own<strong>in</strong>g to performance of the underly<strong>in</strong>g rout<strong>in</strong>g protocol.<br />

Chapter 2 will expla<strong>in</strong> what <strong>sensor</strong> <strong>networks</strong> are, how they network and what sort of<br />

security threats they face. To combat these security threats, a number of <strong>trust</strong>-based<br />

rout<strong>in</strong>g protocols have been <strong>in</strong>troduced, which will be highlighted <strong>in</strong> Chapter 3. In Chapter<br />

4 a test is performed with one <strong>trust</strong>-based rout<strong>in</strong>g protocol to see how it could be used to<br />

describe a node over a cha<strong>in</strong> of other nodes. A network simulator is used to chart different<br />

sorts of <strong>networks</strong> and results are presented <strong>in</strong> Chapter 5.<br />

2


2 Sensor <strong>networks</strong><br />

Advances <strong>in</strong> <strong>in</strong>tegrated circuits and wireless communications have enabled the development<br />

of wireless <strong>in</strong>tegrated <strong>sensor</strong>s. These <strong>sensor</strong>s can be formed to create <strong>sensor</strong> <strong>networks</strong>,<br />

that can monitor or even <strong>in</strong>teract with their environment. These multifunctional, low-<br />

power, low-cost nodes are small <strong>in</strong> size and communicate with each other wirelessly. These<br />

<strong>in</strong>telligent <strong>sensor</strong>s are fitted with an onboard processor that allows data-process<strong>in</strong>g and<br />

aggregation of sens<strong>in</strong>g data.<br />

Applications for <strong>sensor</strong> <strong>networks</strong> have been suggested <strong>in</strong> for example the transportation-<br />

and health care-<strong>in</strong>dustries, environmental oversight, security and safety applications and<br />

the military [PK00] [ASSC02]. All of these <strong>in</strong>dustries would benefit from the <strong>sensor</strong> net-<br />

works ease of deployment, dynamic topology and <strong>in</strong>telligent sens<strong>in</strong>g and data-process<strong>in</strong>g<br />

capabilities.<br />

A <strong>sensor</strong> network has the advantage of be<strong>in</strong>g a rapidly deployable, low cost, flexible and<br />

fault tolerant way of sett<strong>in</strong>g up a <strong>sensor</strong>y field. It has been postulated that a field of<br />

distributed <strong>sensor</strong>s may be used to monitor numerous phenomena <strong>in</strong>side or around the<br />

field more effectively, <strong>in</strong>stead of one or few central <strong>sensor</strong>s (for example radars or cameras)<br />

[PK00]. As a self-organiz<strong>in</strong>g network of autonomous <strong>sensor</strong>s it is easy to set up <strong>in</strong> remote<br />

locations, s<strong>in</strong>ce the <strong>sensor</strong>s can be scattered on the field <strong>in</strong> numerous ways without much<br />

regard to the field’s topology. The <strong>sensor</strong>s can be manually deployed <strong>in</strong> the are or scattered<br />

from a helicopter or a similar apparatus.<br />

The nodes <strong>in</strong> a <strong>sensor</strong> network employ dynamic multi-hop rout<strong>in</strong>g protocols that allow the<br />

topology of the field to change without any affect on the <strong>networks</strong> operation. A <strong>sensor</strong><br />

can be moved <strong>in</strong>side a field, and the rout<strong>in</strong>g protocol will adapt to its new neighbours.<br />

Neighbour<strong>in</strong>g nodes can provide a fail<strong>in</strong>g <strong>sensor</strong>’s rout<strong>in</strong>g services and possibly cont<strong>in</strong>ue<br />

its sens<strong>in</strong>g services. If the <strong>sensor</strong>s are low-cost and easily deployable, a field can thus be<br />

refreshed with new <strong>sensor</strong>s that can take over, supplement, or expand the exist<strong>in</strong>g field.<br />

A dedicated s<strong>in</strong>k-node is assigned <strong>in</strong>side a <strong>sensor</strong> network. It has the responsibility of<br />

operat<strong>in</strong>g as a gateway between the <strong>sensor</strong> network and other <strong>networks</strong> such as the Internet.<br />

3


Connection to the outside <strong>networks</strong> is not necessary, but will allow remote monitor<strong>in</strong>g and<br />

control of the <strong>sensor</strong>s. The s<strong>in</strong>k node typically operates on different network protocols<br />

towards the Internet and the <strong>sensor</strong> network. A s<strong>in</strong>k node is usually also responsible for<br />

automatically gather<strong>in</strong>g <strong>sensor</strong>y <strong>in</strong>formation from the field and thus operat<strong>in</strong>g as a cache<br />

of sens<strong>in</strong>g data for the network.<br />

Design and security challenges <strong>in</strong> <strong>sensor</strong> <strong>networks</strong> derive from their low process<strong>in</strong>g- and<br />

communication-capabilities and their environment [ASSC02]. A <strong>sensor</strong> network may con-<br />

ta<strong>in</strong> numerous nodes that operate on a very limited power supply. It will be more than<br />

likely that at some time a <strong>sensor</strong> will run out of power and disappear from the network.<br />

This is a challenge as packets have to be re-routed or a new <strong>sensor</strong> must be located to<br />

cont<strong>in</strong>ue sens<strong>in</strong>g the same area.<br />

A <strong>sensor</strong> network may conta<strong>in</strong> hundreds or thousands (or even millions!) of <strong>sensor</strong> nodes,<br />

so production costs will have to be considered when deploy<strong>in</strong>g <strong>sensor</strong> <strong>networks</strong>. Besides the<br />

challenge this proposes on the organization of the network, price must also be considered.<br />

If the cost of a <strong>sensor</strong> network is higher than traditional <strong>sensor</strong>s, a <strong>sensor</strong> network will<br />

most likely not be chosen. This pressure may keep the price of nodes as low as possible. It<br />

will be likely that <strong>sensor</strong> nodes will follow Moore’s law by <strong>in</strong>troduc<strong>in</strong>g even cheaper nodes<br />

with a fixed performance-level <strong>in</strong>stead of even more powerful nodes with the same price<br />

[KW03].<br />

As the <strong>sensor</strong>s are placed <strong>in</strong>side or very near the observed area or phenomenon, they must<br />

endure unattended operation <strong>in</strong> possibly extreme conditions. Possible locations <strong>in</strong>clude<br />

the ocean, large <strong>in</strong>dustrial structures or <strong>in</strong>side a biologically or chemically contam<strong>in</strong>ated<br />

area. A node must be able to endure these environments, or <strong>in</strong> case it doesn’t, a redundant<br />

or adjacent node should take over its duties.<br />

Environmental- , size- and price-considerations will most likely dictate that a node must<br />

operate on a very limited power supply. A node’s power supply could be someth<strong>in</strong>g like<br />

a common AA-battery or similar. Some method of replenish<strong>in</strong>g the battery may exist,<br />

for example solar panels, but this depends largely on where and how the <strong>sensor</strong> network<br />

is deployed. Protocols and components of the node must be optimized to operate at<br />

4


low power. A good guidel<strong>in</strong>e for design<strong>in</strong>g <strong>sensor</strong> nodes is that it is more economical to<br />

compute thousands of operations <strong>in</strong>stead of send<strong>in</strong>g just one bit [KW03].<br />

Security challenges arise from the fact that <strong>sensor</strong> nodes are unattended and scattered<br />

across a large area. So, unlike a normal networked computer, a <strong>sensor</strong> node can very<br />

easily be attacked physically. Besides acts of vandalism, a skilled attacker could ”hack”<br />

the node and <strong>in</strong>trude the network from with<strong>in</strong>. This scenario and others are detailed <strong>in</strong><br />

Chapter 2.4.<br />

The follow<strong>in</strong>g chapters will detail real world nodes that have been produced and an ex-<br />

ample of an experiment where a <strong>sensor</strong> network was deployed. To give an idea about<br />

network<strong>in</strong>g <strong>sensor</strong>s, different rout<strong>in</strong>g protocols for <strong>sensor</strong> <strong>networks</strong> will be detailed along<br />

with discussion about service discovery. F<strong>in</strong>ally, several security challenges will be high-<br />

lighted.<br />

2.1 Realworld nodes and <strong>networks</strong><br />

An <strong>in</strong>tegral part of mak<strong>in</strong>g <strong>sensor</strong> <strong>networks</strong> more feasible and tempt<strong>in</strong>g is develop<strong>in</strong>g<br />

small and affordable hardware. Many companies now produce <strong>sensor</strong> nodes. Much of<br />

the current development focuses on mak<strong>in</strong>g smaller <strong>sensor</strong>s. This section highlights a few<br />

different commercially available <strong>sensor</strong> nodes and one realworld scenario where a <strong>sensor</strong><br />

network was deployed to research bird habitats.<br />

The MICAz node (also called a ”mote”) by Crossbow Technology is a low-power wireless<br />

<strong>sensor</strong> node [MICAZ]. It is a 58 mm x 32 mm x 7 mm device that weighs 18 grams (with-<br />

out batteries). A picture of the node can be seen <strong>in</strong> Figure 1. It runs on 2 AA-batteries.<br />

Wireless communication-capabilities are provided by an IEEE 802.15.4, Zigbee compliant<br />

2.4 GHz radio. Its processor/radio board, which is based on the Atmel ATMega128L mi-<br />

crocontroller, houses a 10-bit analog-to-digital converter, 128 kilobytes of program memory<br />

and 512 kilobytes of memory for measurements.<br />

A very small s<strong>in</strong>gle-chip <strong>sensor</strong> node was developed at the University of California at<br />

Berkeley <strong>in</strong> 2003. This SPEC [SPEC] [SPEC2] mote was the size of a gra<strong>in</strong> of sand at 2<br />

5


Figure 1: MICAz <strong>sensor</strong> node by Crossbow Technology. Image source [XBOW]<br />

mm x 2.5 mm (see Figure 2). This small chip houses among other th<strong>in</strong>gs an ”AVR-like<br />

RISC-processor”, 3 kilobytes of memory, an 8-bit analog-to-digital converter and a micro-<br />

radio operat<strong>in</strong>g at a wavelength of 900 MHz. Spec runs on T<strong>in</strong>yOS [TINYOS]. Successful<br />

communications tests have been performed where the node was able to transmit a distance<br />

of about 12 meters (40 feet) with a throughput of 19 200 bits per second.<br />

A F<strong>in</strong>nish company called Sens<strong>in</strong>ode has produced a node called NanoSensor [SENSI]. The<br />

product is ma<strong>in</strong>ly targeted at development and research use, as the company is push<strong>in</strong>g<br />

the IPv6 6LowPAN (IETF RFC 4944) protocol stack that it helped produce. The node<br />

itself (see Figure 3) is equipped with a Zigbee-compatible 2.4 GHz radio, 128 kB of Flash<br />

memory and 8 kB of RAM and houses a light <strong>sensor</strong> and a 3-axis accelerometer for sens<strong>in</strong>g<br />

duties. The node runs on two AA-batteries.<br />

A work<strong>in</strong>g prototype has been built of a <strong>sensor</strong> node that is fabricated by pr<strong>in</strong>t<strong>in</strong>g silver<br />

<strong>in</strong>k on paper [VRYT08]. The circuit layout and radio antenna were pr<strong>in</strong>ted on a piece of<br />

paper (see Figure 4) and the rest of the node assembly, which <strong>in</strong>cluded battery, temperature<br />

<strong>sensor</strong>, an <strong>in</strong>tergrated controller <strong>in</strong>clud<strong>in</strong>g the radio controller, were added to the paper.<br />

6


Figure 2: The SPEC mote and the tip of a ballpo<strong>in</strong>t pen for reference. Image source<br />

[SPEC]<br />

Figure 3: A cased NanoSensor development node. Image source [SENSI]<br />

7


3#.-!!!!!!!!!!!"#$!>&!,#41*93)0!?-3)--9!()31(-!@.++&!<br />

D)++&! ! !!!!!!"#$! E&!"#-9*!7(.3.327)!?++)48*2&!<br />

!<br />

!<br />

Figure 4: A prototype of a <strong>sensor</strong> ”pr<strong>in</strong>ted on paper”. Image source [VRYT08]<br />

The overall size of the node measured at under 10 cm x 10 cm. A work<strong>in</strong>g but crude<br />

prototype, the radio was tested to be functional and transmitt<strong>in</strong>g at small distances.<br />

An example of a realworld <strong>sensor</strong> network is a network built on the Great Duck Island<br />

<strong>in</strong> Ma<strong>in</strong>e, United States [MCP + 02]. Research <strong>in</strong>to the disturbances to bird habitats had<br />

concluded that even a small human presence can have a large impact on the life of a bird<br />

colony by <strong>in</strong>creas<strong>in</strong>g stress, reduc<strong>in</strong>g breed<strong>in</strong>g success and even forc<strong>in</strong>g birds to migrate<br />

to more unsuitable habitats. A method of reduc<strong>in</strong>g human <strong>in</strong>terference and footpr<strong>in</strong>t on<br />

the observable bird population and breed<strong>in</strong>g places was needed. In 2002 a network of 32<br />

<strong>sensor</strong> nodes were deployed on a small island of the coast of Ma<strong>in</strong>e to monitor the habitats<br />

of the Leach’s Storm Petrel. A s<strong>in</strong>k node (called a base-station) was <strong>in</strong>stalled on the island<br />

which connected the <strong>sensor</strong> network to the Internet via a satellite l<strong>in</strong>k.<br />

)9+1()0!!!!!!!!!!!!!!!!!!!!!!!"#$!G&!HB,?!4)9+1()0!7.C)(!*)I)*!<br />

.-+&!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)4#33)0!82!C#()*)++!+)-+.(!4.01*)&!<br />

A UC Berkeley MICA node (a predecessor of the MICAz node) was equipped with tem-<br />

perature, pressure, photoresistor, humidity and passive <strong>in</strong>frared sens<strong>in</strong>g capabilities (for a<br />

picture of the node see Figure 5). A pair of AA batteries was enough to power the nodes<br />

over the fall and w<strong>in</strong>ter. The nodes were placed <strong>in</strong> and around the burrows where the<br />

birds were liv<strong>in</strong>g. This allowed the researchers to collect and monitor the com<strong>in</strong>gs and<br />

go<strong>in</strong>gs of the birds dur<strong>in</strong>g the test period without affect<strong>in</strong>g the birds natural habitat <strong>in</strong><br />

any way.<br />

ded on March 4, 2009 at 09:10 from IEEE Xplore. Restrictions apply.<br />

8


n neither use every drop of enthe<br />

batteries manufactured with<br />

tch to batch or from manufacmake<br />

a conservative estimate<br />

e to supply 2200 mAh at 3 volts.<br />

operate uniformly over the dehas<br />

8.148 mAh per day available<br />

oses how to allocate this energy<br />

, sens<strong>in</strong>g, local calculations and<br />

hat s<strong>in</strong>ce different nodes <strong>in</strong> the<br />

tions, they also may have very<br />

s. For example, nodes near the<br />

rd all messages from a patch,<br />

y need to merely report its own<br />

here will be some set of power<br />

odes exhaust their supplies, the<br />

<strong>in</strong>operable. Consequently, we<br />

ith respect to the energy bottle- Figure 3: Acrylic enclosure used for deploy<strong>in</strong>g the<br />

Figure 5: A picture<br />

an estimate of what is possible Mica<br />

of<br />

mote.<br />

the MICA node and its cas<strong>in</strong>g that was used <strong>in</strong> monitor<strong>in</strong>g the<br />

of AA batteries, weLeach’s tabulated Storm Petrels on the Great Duck Island <strong>in</strong> 2002. Image source [MCP<br />

erations <strong>in</strong> Table 2.<br />

mount<strong>in</strong>g holes for secur<strong>in</strong>g the <strong>sensor</strong> boards. To provide<br />

nAh<br />

weather-proof<strong>in</strong>g, we coat the entire <strong>sensor</strong> package with a<br />

20.000<br />

10 micron parylene sealant, which protects exposed electri-<br />

8.000<br />

cal contacts from water. The <strong>sensor</strong>s rema<strong>in</strong> exposed to<br />

illisecond 1.250<br />

protect their sensitivity. Each coated node is then enclosed<br />

sample (analog) 1.080<br />

<strong>in</strong> a transparent acrylic enclosure. The enclosure is venti-<br />

sample (digital) 0.347<br />

lated to not distort the <strong>sensor</strong> read<strong>in</strong>gs; its primary func-<br />

the ADC 0.011<br />

tion is to provide additional protection aga<strong>in</strong>st mechanical<br />

1.111<br />

failures and to raise the <strong>sensor</strong> off the ground. Acrylic pack-<br />

ta 83.333<br />

ag<strong>in</strong>g was chosen because it is <strong>in</strong>frared and radio frequency<br />

transparent, which won’t obstruct <strong>sensor</strong> read<strong>in</strong>gs or wireless<br />

communication.<br />

by various Mica operations. The acrylic enclosure shown <strong>in</strong> Figure 3 is used for deploy<strong>in</strong>g<br />

nodes above the ground on Great Duck Island. The<br />

e node is determ<strong>in</strong>ed by the cur- size of the Mica mote itself was almost too large to fit <strong>in</strong> pe-<br />

M<strong>in</strong>imiz<strong>in</strong>g power <strong>in</strong> sleep mode trel burrows; therefore we placed the parylene sealed motes<br />

ors, the radio, and putt<strong>in</strong>g the <strong>in</strong>to the burrows without enclosures. Not us<strong>in</strong>g the enclo-<br />

ode. Additionally, I/O p<strong>in</strong>s on sure is less robust; we’ve noticed expansion and contraction<br />

be put <strong>in</strong> a pull-up state when- of connectors over the course of four weeks lead<strong>in</strong>g to faulty<br />

ntribute as much as 100 µA of electrical connections. We advocate the future use of sol-<br />

ecture uses a DC booster to prodered connections to solve this problem.<br />

rad<strong>in</strong>g alkal<strong>in</strong>e batteries. With<br />

etween 200 and 300 µA, depend- 4.5 Patch Gateways<br />

hile this functionality is crucial Us<strong>in</strong>g different gateway nodes directly affects the underly-<br />

gs and communications, it is not <strong>in</strong>g transit network available. We implemented two designs:<br />

Furthermore, the current draw an 802.11b s<strong>in</strong>gle hop with an embedded l<strong>in</strong>ux system and<br />

portional to the supply voltage. a s<strong>in</strong>gle hop mote-to-mote network.<br />

ith a Schottky diode, which al- Initially, we chose CerfCube [1], a small, StrongArm-based<br />

the DC booster while reduc<strong>in</strong>g embedded system, to act as the <strong>sensor</strong> patch gateway. Each<br />

odes. The modification allows gateway is equipped with a CompactFlash 802.11b adapter.<br />

d 50 µA current draw (battery Port<strong>in</strong>g functionality to CerfCubes is fairly easy; they run<br />

he energy available for tasks to an embedded version of L<strong>in</strong>ux operat<strong>in</strong>g system. Permanent<br />

storage is plentiful – the gateway can use the IBM<br />

MicroDrive which provides up to 1 GB of storage. Sup-<br />

nt<br />

ply<strong>in</strong>g adequate power for this device is a challenge, with-<br />

nsor network us<strong>in</strong>g Mica motes out power management features this device consumes about<br />

<strong>in</strong> July 2002. The network con- 2.5W (two orders of magnitude more than the motes). To<br />

itecture described <strong>in</strong> Section 3. satisfy the CerfCube power requirements, we considered a<br />

weather conditions on GDI, we solar panel provid<strong>in</strong>g between 60 and 120 Watts <strong>in</strong> full sun-<br />

ective packag<strong>in</strong>g that m<strong>in</strong>imally light connected to a rechargeable battery with capacity be-<br />

ty. Mica motes by their design tween 50 and 100 Watt-hours (e.g., sealed lead-acid). Re-<br />

ly, with the battery case firmly searchers from Intel Research and JPL have demonstrated<br />

ocess<strong>in</strong>g and <strong>sensor</strong> boards, and delay-tolerant network<strong>in</strong>g us<strong>in</strong>g CerfCubes and motes [10]<br />

+ 02]<br />

2.2 Rout<strong>in</strong>g protocols<br />

Network<strong>in</strong>g <strong>sensor</strong>s br<strong>in</strong>gs up different challenges and requires new approaches to rout<strong>in</strong>g<br />

protocols. The nodes <strong>in</strong> a <strong>sensor</strong> network cannot operate with the same resorces or rules<br />

of any ad hoc network. The role and usage of <strong>sensor</strong> <strong>networks</strong> and therefore the k<strong>in</strong>d of<br />

relayed data also differentiates it from other ad hoc <strong>networks</strong>.<br />

A big concern with <strong>sensor</strong> <strong>networks</strong> is the node itself. The size of the nodes requires weaker<br />

transmission ranges and smaller batteries to be used. This means that an efficient rout<strong>in</strong>g<br />

protocol must take <strong>in</strong>to account the limited resources of the nodes.<br />

Another consern is the difficulty of build<strong>in</strong>g a global nam<strong>in</strong>g scheme for a huge number<br />

of nodes. Nodes will most likely not have a global identifier. Also, contrary to other<br />

<strong>networks</strong>, the flow of <strong>in</strong>fomation <strong>in</strong> a <strong>sensor</strong> network will most likely be from multiple<br />

areas (<strong>sensor</strong>s) to one address (the s<strong>in</strong>k). The flow of sensed <strong>in</strong>formation will most likely<br />

also be largely redundant, as many nodes may sense the same phenomenon.<br />

A number of rout<strong>in</strong>g protocols have been designed for rout<strong>in</strong>g data <strong>in</strong> <strong>sensor</strong> <strong>networks</strong><br />

[AY05]. They differ <strong>in</strong> 5 respects as some protocols are data-centric, some hierarchical<br />

and others location-based, and there are also a few that are designed with network-flow or<br />

9


quality of service <strong>in</strong> m<strong>in</strong>d. The rest of this chapter will highlight some examples of these<br />

protocols.<br />

Data-centric rout<strong>in</strong>g protocols, such as SPIN and Directed Diffusion work by discard<strong>in</strong>g<br />

the typical address<strong>in</strong>g of normal <strong>networks</strong> <strong>in</strong> favor of queries that are sent to the network.<br />

SPIN [HKB99] uses high-level meta-data to describe and advertise data that the nodes<br />

gather. This meta-data is then advertised to other nodes which then flood the meta-data<br />

onwards. A request-mechanism is also implemented to retrieve advertised data. SPIN<br />

cannot guarantee the delivery of the data as some nodes may not retrieve the wanted<br />

data, although the protocol has been shown to operate better than pure flood<strong>in</strong>g.<br />

Directed Diffusion [IGE00] is a breakthrough [AY05] <strong>in</strong> data-centric rout<strong>in</strong>g and has s<strong>in</strong>ce<br />

spawned many modifications. It works by build<strong>in</strong>g paths based on routes and <strong>in</strong>trested<br />

parties of data. A s<strong>in</strong>k will notify the network of what k<strong>in</strong>d of data it is <strong>in</strong>terested <strong>in</strong>. The<br />

nodes will cache this <strong>in</strong>terest and then respond, if they or their neigbours have data that<br />

corresponds to this <strong>in</strong>terest. The replies (called gradients) are then used to determ<strong>in</strong>e the<br />

fastest route from the s<strong>in</strong>k to the source of the data. Nodes <strong>in</strong> Directed Diffusion may<br />

contribute only by cach<strong>in</strong>g and rely<strong>in</strong>g data if they themselves are not the source of the<br />

<strong>in</strong>terest<strong>in</strong>g data, thus leav<strong>in</strong>g sens<strong>in</strong>g to only the important nodes. Directed Diffusion is<br />

query-driven and as such will not operate efficiently when a constant steady stream of<br />

<strong>in</strong>formation is required.<br />

Hierarchical protocols try to divide the network <strong>in</strong>to clusters <strong>in</strong> order to build more scalable<br />

<strong>networks</strong>. The aim of hierarchical protocols is to m<strong>in</strong>imize energy consumption of nodes<br />

by m<strong>in</strong>imiz<strong>in</strong>g transmissions to the s<strong>in</strong>k. The nodes form clusters, and transmit their data<br />

to elected cluster-heads that then aggregate, fuse or compress the data before send<strong>in</strong>g it<br />

to the s<strong>in</strong>k.<br />

Leach (Low Energy Adaptive Cluster<strong>in</strong>g Hierarchy) [HCB00] is one of the most popular<br />

hierarchical protocols. In Leach about 5% of the nodes will be elected as cluster-heads,<br />

with the nom<strong>in</strong>ation chang<strong>in</strong>g every now and then to conserve energy. Cluster-heads then<br />

gather data from the nodes <strong>in</strong> their cluster, dissem<strong>in</strong>ate and aggregate this data, and<br />

then forward it to the s<strong>in</strong>k. Leach works only if the cluster-heads are <strong>in</strong>deed capable<br />

10


of transmitt<strong>in</strong>g directly to the s<strong>in</strong>k, so it does not scale well to vast <strong>networks</strong>. A more<br />

efficient modification of Leach is Pegasis (Power Efficient GAther<strong>in</strong>g <strong>in</strong> Sensor Information<br />

Systems) which operates by form<strong>in</strong>g cha<strong>in</strong>s of neighbour<strong>in</strong>g nodes that gather <strong>in</strong>formation<br />

from each other, then elect a leader to transmit that data to the s<strong>in</strong>k.<br />

Location-based protocols take advantage of the fact that nodes usually provide some sort<br />

of location <strong>in</strong>formation. This can be used to determ<strong>in</strong>e the shortest route between the<br />

node and the s<strong>in</strong>k. Location-<strong>in</strong>formation can also be used to address nodes <strong>in</strong> a particular<br />

area <strong>in</strong>stead of the nodes’ actual addresses.<br />

GPSR (Greedy Perimeter Stateless Rout<strong>in</strong>g) [KK00] is one of the earliest works <strong>in</strong> location-<br />

based rout<strong>in</strong>g protocols. It was orig<strong>in</strong>ally designed for ad hoc <strong>networks</strong>, where each hop<br />

is chosen accord<strong>in</strong>g to its distance to the f<strong>in</strong>al dest<strong>in</strong>ation. Beacon-messages are used to<br />

determ<strong>in</strong>e the locations of other nodes. GPSR is stateless, as each node just selects the<br />

most suitable hop from its neighbours until the packet f<strong>in</strong>ds its f<strong>in</strong>al recipient. GPSR is as<br />

its name suggests, greedy, <strong>in</strong> that it may always forward packets to a specific node until<br />

that node runs out of energy.<br />

GEAR (Geographic and Energy-Aware Rout<strong>in</strong>g) [GE01] is a location-based modification<br />

of Directed Diffusion. It works by constra<strong>in</strong><strong>in</strong>g the <strong>in</strong>terests to certa<strong>in</strong> regions <strong>in</strong>stead of<br />

the whole network. GEAR works by divid<strong>in</strong>g the network <strong>in</strong>to separate areas, where data<br />

can be sent. Forward<strong>in</strong>g to these areas is done by specific nodes, called holes. A hole is<br />

a node very near the target area. GEAR employs a distributed learn<strong>in</strong>g algorithm that<br />

weighs transmission times and used energy to decide the optimal node on the other side<br />

of the hole. After a packet reaches the specified area, it is simply flooded to every node <strong>in</strong><br />

the area. Leach, GPSR and GEAR will be covered <strong>in</strong> more detail <strong>in</strong> the follow<strong>in</strong>g sections.<br />

An example of a QoS-based (quality of service) rout<strong>in</strong>g protocol is SPEED [SA03] that<br />

provides soft real-time end-to-end guarantees for packet delivery. With SPEED, applica-<br />

tions can estimate an end-to-end delay for a packet by divid<strong>in</strong>g the distance to the recipient<br />

by the transmission time. The stateless rout<strong>in</strong>g protocol estimates transmission times by<br />

measur<strong>in</strong>g the time it takes to receive an ACK from a neighbour. This <strong>in</strong>formation is<br />

then used to decide the fastest neighbour. If the fastest neighbour is not fast enough<br />

11


for the desired speed, the packet is dropped accord<strong>in</strong>g to random chance. This random<br />

punishement is used to force the rout<strong>in</strong>g protocol to try and f<strong>in</strong>d a faster or alternative<br />

route.<br />

A rout<strong>in</strong>g algorithm called Maximum residual energy path [CT04] offers an energy-conserv<strong>in</strong>g<br />

approach to rout<strong>in</strong>g packets <strong>in</strong> <strong>sensor</strong> <strong>networks</strong>. It considers the cost of a path to be the<br />

amount of energy a node is left with after transmitt<strong>in</strong>g a packet. This favors nodes that<br />

have high energy or can forward a packet with the least stra<strong>in</strong> on their battery. The<br />

Bellman-Ford shortest path-algorithm is used to select the cheapest path, which would<br />

be the path whose residual energy is the largest of possible paths. Simulations made by<br />

the authors suggest that maximiz<strong>in</strong>g residual energy prolongs the lifetime of the network<br />

more than m<strong>in</strong>imiz<strong>in</strong>g energy-consumption when transmitt<strong>in</strong>g.<br />

Research <strong>in</strong>to <strong>sensor</strong> <strong>networks</strong> has spawned numerous new rout<strong>in</strong>g protocols [AY05]. These<br />

protocols try to best match the demands of a <strong>sensor</strong> network by<br />

2.3 Service discovery<br />

Service discovery allows a more dynamic way of leverag<strong>in</strong>g different networked entities.<br />

Service discovery <strong>in</strong> a <strong>sensor</strong> network may <strong>in</strong>clude the discovery of a specific service <strong>in</strong><br />

a network from either <strong>in</strong>side or outside the <strong>sensor</strong> network. A user may want to query<br />

a deployed <strong>sensor</strong> network from a mobile term<strong>in</strong>al (for <strong>in</strong>stance a PDA) while stroll<strong>in</strong>g<br />

around the area of the network. Another scenario could be a user, that uses a remote<br />

computer to monitor and ma<strong>in</strong>ta<strong>in</strong> several different <strong>sensor</strong> <strong>networks</strong> remotely. A user may<br />

be <strong>in</strong>terested <strong>in</strong> only the aggregated data from the network, such as the latest read<strong>in</strong>gs<br />

gathered straight from the s<strong>in</strong>k-node, or a user may want to f<strong>in</strong>d the nearest <strong>sensor</strong> that<br />

will provide it with the sens<strong>in</strong>g capability that the user wants.<br />

Different service discovery protocols already exist such as the SLP [SLP], UPnP [UPNP]<br />

or the Bluetooth Service Discovery Protocol (SDP) [BT]. None of these protocols are<br />

specifically designed for <strong>sensor</strong> <strong>networks</strong>.<br />

A protocol called SensorML [SML] exists that aims to provide service discovery specifically<br />

12


for <strong>sensor</strong> <strong>networks</strong>. SensorML conta<strong>in</strong>s an <strong>in</strong>formation model and XML encod<strong>in</strong>gs for<br />

discover<strong>in</strong>g, query<strong>in</strong>g and controll<strong>in</strong>g <strong>sensor</strong>s that may be connected to the rest of the<br />

Internet.<br />

SensorML conta<strong>in</strong>s <strong>in</strong>tricate ways for describ<strong>in</strong>g the type and properties of a <strong>sensor</strong> <strong>in</strong><br />

XML, such as what k<strong>in</strong>d of data it can provide, how long the data will be valid, what<br />

the <strong>sensor</strong> is attached to or who operates the <strong>sensor</strong>. SensorML does not itself def<strong>in</strong>e how<br />

services should be found; for <strong>in</strong>stance should the service provider actively advertise itself<br />

to the network and how and who keeps track of the different services <strong>in</strong> the network.<br />

An open question is whether the same service discovery protocol should be used <strong>in</strong>side and<br />

outside the <strong>sensor</strong> network. Could a s<strong>in</strong>k-node perhaps translate service requests from one<br />

protocol to another when query<strong>in</strong>g the <strong>sensor</strong>s? Or should the s<strong>in</strong>k even query the <strong>sensor</strong>s?<br />

A s<strong>in</strong>k could work as a gateway for the <strong>sensor</strong>s and exclude direct communications with<br />

the <strong>sensor</strong>s from the outside.<br />

2.4 Security considerations <strong>in</strong> <strong>sensor</strong> <strong>networks</strong><br />

Sensor <strong>networks</strong> can pose unique security challenges. Traditional security techniques, that<br />

are used <strong>in</strong> more common <strong>networks</strong>, may not be directly applied to <strong>sensor</strong> <strong>networks</strong>. For<br />

one, <strong>sensor</strong> nodes have very limited communication and computational capacities and must<br />

operate on very low power levels. This limits both transmission range and <strong>in</strong>tervals and<br />

may also rule out public-key cryptography.<br />

By their design <strong>sensor</strong> <strong>networks</strong> may require that end-to-end security be discarded. [KW03]<br />

In traditional <strong>networks</strong> the <strong>in</strong>termediary routers do not need to have access to the messages<br />

contents, but a <strong>sensor</strong> network may some form employ data aggregation or <strong>in</strong>-network<br />

process<strong>in</strong>g to promote the lifespan of the network. This requires that <strong>in</strong>termediary nodes<br />

have access to the data they are forward<strong>in</strong>g. Nodes may refuse to forward repeated or<br />

redundant data to the data collector. They may also choose to aggregate and bundle<br />

larger amounts of sens<strong>in</strong>g data that will be sent at a later time.<br />

Sett<strong>in</strong>g up cryptographic keys <strong>in</strong> <strong>sensor</strong> <strong>networks</strong> may be harder than <strong>in</strong> other <strong>networks</strong><br />

13


[PSW04]. A shared network-wide key would create a s<strong>in</strong>gle po<strong>in</strong>t of failure, where a<br />

compromised node may leak the key. Public-key cryptography (such as Diffie-Hellman<br />

key establishment) can prove to be computationally beyond the capabilities of <strong>sensor</strong><br />

nodes. Other approaches, such as us<strong>in</strong>g the s<strong>in</strong>k-node or a distributed pool of random<br />

keys to authenticate other nodes, have been proposed but they still are vulnerable to one<br />

or several captured nodes.<br />

Another aspect to consider is the ease of access an attacker may have to a node. A <strong>sensor</strong><br />

network will most likely consist of many unattended nodes scattered across a large area<br />

so ga<strong>in</strong><strong>in</strong>g access to a node will most likely be easy. Because of f<strong>in</strong>ancial considerations,<br />

a node may not have a very tamper-proof exterior. Thus, one possible attack on a <strong>sensor</strong><br />

network is node capture, where an attacker can capture and reprogram a node [BBD06]. If<br />

this attack goes unnoticed it may result <strong>in</strong> a node that behaves <strong>in</strong> an arbitrarily malicious<br />

way.<br />

If an attacker captures a node, he may extract code and keys from the node and use this<br />

<strong>in</strong>formation to launch an attack from more powerful computers. An off-the-shelf laptop<br />

will have hugely more powerful processors, more sensitive antennas and higher-powered<br />

radio transmitters than any node. A laptop computer can more efficiently eavesdrop or<br />

disrupt the <strong>sensor</strong> network. Several laptops may also be connected by a faster low-latency<br />

network that allows an attacker to mount coord<strong>in</strong>ated assaults from different parts of the<br />

network.<br />

There are several ways an attacker may take advantage of a node upon ga<strong>in</strong><strong>in</strong>g physical<br />

access [BBD06]. An attacker may change the sens<strong>in</strong>g unit of a node and thus <strong>in</strong>ject<br />

erroneous data to the network. Some nodes are designed as modular units and chang<strong>in</strong>g<br />

the sens<strong>in</strong>g component could be as easy as unplugg<strong>in</strong>g the old one and replac<strong>in</strong>g it with a<br />

new one. This operation could only take a couple of seconds. If the sens<strong>in</strong>g component is<br />

soldered <strong>in</strong>to the node it may be harder to change, but a skilled attacker could still do it<br />

<strong>in</strong> a matter of m<strong>in</strong>utes.<br />

An attacker may also be <strong>in</strong>terested <strong>in</strong> read<strong>in</strong>g or writ<strong>in</strong>g the external memory of the node<br />

if it is possible that sensitive <strong>in</strong>formation is stored <strong>in</strong> it. The simplest way to do this<br />

14


would be to eavesdrop on the wires of the memory-chip. This passive attack could go on<br />

for a long period of time without anyone notic<strong>in</strong>g. Another way would be to use a second<br />

micro-controller to effectively hijack the I/O of the memory-chip, thus replac<strong>in</strong>g the nodes<br />

external memory with the attackers.<br />

A more serious method would be to attack the micro-controller of the node. This may be<br />

possible through the node bootloader or a possible debugg<strong>in</strong>g port found on some node-<br />

types. Both of these attacks allow the attacker to obta<strong>in</strong> the contents of the nodes memory.<br />

A realistic method of attack<strong>in</strong>g the bootloader requires the source code of the node to be<br />

known <strong>in</strong> advance. The attacker may also take advantage of the standard IEEE 1149.1<br />

JTAG test access port found on many types of nodes. If the test port is not disabled, an<br />

attacker may read the contents of the nodes memory.<br />

All of the physical attacks presented above require special <strong>in</strong>struments and can most likely<br />

be committed on the field. The most damag<strong>in</strong>g ones will most likely take the node off the<br />

network for a while. This absence could be used to detect captured nodes [BBD06].<br />

A work<strong>in</strong>g method of remote code <strong>in</strong>jection and node capture on Crossbow Technologies<br />

MICAz-nodes has been demonstrated [FC08]. The attack exploits software vulnerabilities<br />

and permanently <strong>in</strong>jects code <strong>in</strong>to the program memory of an Atmel AVR-based <strong>sensor</strong>.<br />

The attack requires that the version of the node operat<strong>in</strong>g system (T<strong>in</strong>yOS) and the<br />

program memory content is known <strong>in</strong> advance and the runn<strong>in</strong>g code has at least one<br />

expoitable buffer overflow vulnerability. A fake stack is <strong>in</strong>jected <strong>in</strong>to the node’s data<br />

memory by us<strong>in</strong>g <strong>in</strong>structions already present <strong>in</strong> the node (also called ”gadgets”). The<br />

<strong>in</strong>jected code can then be written onto the permanent flash memory thus permanently<br />

<strong>in</strong>fect<strong>in</strong>g the node. The attack can be used to <strong>in</strong>stall malware on the <strong>sensor</strong> node and<br />

spread the malware onto other nodes. No permanent and foolproof solution is given to<br />

protect a MICAz node from this type of attack.<br />

Rout<strong>in</strong>g protocols are highly susceptible to node capture. A captured node may be used<br />

to spoof, alter or replay rout<strong>in</strong>g data. This allows the attacker to manipulate the network<br />

by disrupt<strong>in</strong>g the <strong>networks</strong> rout<strong>in</strong>g. A malicious node may commit several different k<strong>in</strong>ds<br />

of attacks to a network and disrupt its rout<strong>in</strong>g [KW03].<br />

15


A malicious node may refuse to forward all or some packets that it receives. This is known<br />

as a blackhole or a greyhole-attack. These attacks work if the attacker is able to <strong>in</strong>ject<br />

itself <strong>in</strong>to a route.<br />

A s<strong>in</strong>khole is a node that tries to lure all possible routes to itself by advertis<strong>in</strong>g itself as a<br />

very high-quality candidate to other nodes. A laptop that disguises itself as a node may<br />

use a high-powered radio to advertise itself to the whole network. As most communications<br />

from the network are towards the s<strong>in</strong>k-node, a s<strong>in</strong>khole can effectively take over the network<br />

by advertis<strong>in</strong>g itself as the best candidate for rout<strong>in</strong>g packets to the s<strong>in</strong>k. A malicious<br />

node may also launch a sybil-attack, <strong>in</strong> which it disguises itself as several nodes.<br />

An attacker may also launch a wormhole-attack on the network. A wormhole occurs when<br />

the traffic of one part of the network is relayed by a low-latency l<strong>in</strong>k to another part of<br />

the network. This can effectively create a s<strong>in</strong>khole s<strong>in</strong>ce the attacker is able to create a<br />

shorter connection to the s<strong>in</strong>k from a distant part of the network.<br />

An attacker can also spoof l<strong>in</strong>k layer acknowledgements for overheard packets. This can<br />

be used to advertise a weak l<strong>in</strong>k as a strong l<strong>in</strong>k, or a dead node as a live node.<br />

A method of combat<strong>in</strong>g some of these attacks is us<strong>in</strong>g l<strong>in</strong>k-layer encryption. This effectively<br />

elim<strong>in</strong>ates all but the wormhole-attack [KW03]. Wormholes may be detected by some<br />

methods, for <strong>in</strong>stance geographic rout<strong>in</strong>g protocols can notice if a route advertised through<br />

a wormhole is well above their normal transmission ranges.<br />

Eventually, if a node is compromised and the attacker gets around any possible encryption<br />

or authentication mechanisms, there exists no possible way to counter any of the attacks<br />

described above. The follow<strong>in</strong>g chapter will give one possible solution to the problem of<br />

compromised nodes, distributed <strong>trust</strong> management.<br />

2.5 Summary<br />

Sensor <strong>networks</strong> are ad hoc wireless <strong>networks</strong> formed by very small autonomous sens<strong>in</strong>g<br />

devices. These <strong>sensor</strong>s typically conta<strong>in</strong> a radio, a CPU, a small amount of memory and<br />

run some sort of an embedded operat<strong>in</strong>g system complete with their on network stacks.<br />

16


Development of these <strong>sensor</strong>s leans towards mak<strong>in</strong>g <strong>sensor</strong>s smaller while lower<strong>in</strong>g their<br />

price. It could be possible, that <strong>in</strong> the future we will see <strong>sensor</strong> <strong>networks</strong> comprised of<br />

thousands or millions of small disposable <strong>sensor</strong>s. Some research has focused on identify<strong>in</strong>g<br />

different methods of disrupt<strong>in</strong>g these <strong>networks</strong> or attack<strong>in</strong>g the nodes directly. Node<br />

capture is a possible method of attack that could have a significant impact on the operation<br />

of any k<strong>in</strong>d of <strong>sensor</strong> network.<br />

17


3 Trust management<br />

Research done <strong>in</strong> mobile ad hoc <strong>networks</strong> has shown that network performance is severely<br />

reduced if nodes <strong>in</strong> the network misbehave [MM02b]. Misbehav<strong>in</strong>g nodes usually refuse to<br />

participate <strong>in</strong> network activity because of selfish or malicious <strong>in</strong>tents. A selfish node may<br />

refuse to forward packets because it is try<strong>in</strong>g to save energy. A selfish node will use the<br />

network but will not cooperate. A malicious node will go beyond that and do anyth<strong>in</strong>g to<br />

disrupt the network.<br />

A <strong>sensor</strong> network organizes and operates very similarly to any ad hoc network. The<br />

network topology is not known beforehand, and nodes may not have complete <strong>trust</strong> about<br />

their neighbour’s <strong>in</strong>tent. Nodes <strong>in</strong> a <strong>sensor</strong> network are often unattended, so ga<strong>in</strong><strong>in</strong>g<br />

physical access to them would be easy for an attacker. Research has suggested [BBD06]<br />

[FC08] that nodes can be compromised on the field with only a m<strong>in</strong>imal lapse <strong>in</strong> the<br />

nodes presence. A general assumption about <strong>sensor</strong>s is that they can be captured and<br />

reprogrammed for malicious purposes.<br />

One countermeasure aga<strong>in</strong>st such an attack would be that each node <strong>in</strong> a network collects<br />

<strong>trust</strong> <strong>in</strong>formation about its neighbours. This would be called distributed <strong>trust</strong> manage-<br />

ment.<br />

A node may gather subjective observations about its neighbour<strong>in</strong>g nodes to determ<strong>in</strong>e<br />

how much it may <strong>trust</strong> them. This is called direct <strong>trust</strong>. This approach would require no<br />

central node or server to determ<strong>in</strong>e who should be <strong>trust</strong>ed, and who should not. Such a<br />

distributed <strong>trust</strong> management system could be more resilient towards attacks where large<br />

parts of the network could be taken over.<br />

Gather<strong>in</strong>g data (or ”evidence”) for <strong>trust</strong> evaluation can be a cumbersome process. Some<br />

relevant behaviour that a <strong>trust</strong> management scheme could look for <strong>in</strong>clude momentary<br />

absence from the network (see node capture <strong>in</strong> Chapter 2.4), answer<strong>in</strong>g to non-exist<strong>in</strong>g<br />

queries, weird or <strong>in</strong>valid <strong>sensor</strong> read<strong>in</strong>gs or reluctance to co-operate <strong>in</strong> rout<strong>in</strong>g or packet<br />

forward<strong>in</strong>g [FGRL07].<br />

Nodes may also engage <strong>in</strong> shar<strong>in</strong>g their <strong>trust</strong>-<strong>in</strong>formation. This sort of behavior could be<br />

18


called recommend<strong>in</strong>g or gossip<strong>in</strong>g about other nodes. A node may request another node<br />

how much it <strong>trust</strong>s a third node. Another way to share this <strong>in</strong>formation is warn<strong>in</strong>g others<br />

about malicious behavior. This sort of <strong>in</strong>formation is called <strong>in</strong>direct <strong>trust</strong>.<br />

The follow<strong>in</strong>g chapters detail several different <strong>trust</strong> management systems along with rout-<br />

<strong>in</strong>g protocols that takes advantage of the <strong>trust</strong> <strong>in</strong>formation. The systems differ <strong>in</strong> how<br />

they calculate <strong>trust</strong> and what types of behavior they monitor from other nodes.<br />

3.1 Trust-based rout<strong>in</strong>g<br />

Many proposals for <strong>trust</strong>-based rout<strong>in</strong>g for <strong>sensor</strong>- or ad hoc <strong>networks</strong> have emerged.<br />

Trust-based rout<strong>in</strong>g generally def<strong>in</strong>es a rout<strong>in</strong>g scheme that tries to avoid uncooperative<br />

or malicious nodes. This behaviour requires that other nodes must constantly be monitored<br />

and rated. The follow<strong>in</strong>g chapter describes wireless <strong>sensor</strong> network rout<strong>in</strong>g protocols that<br />

share these characteristics.<br />

Trust-based rout<strong>in</strong>g decisions are based on the node’s perception of its neighbours. This<br />

has the added benefit that network efficiency can be maximized by redirect<strong>in</strong>g traffic to<br />

properly behav<strong>in</strong>g nodes. Security can also be maximized by redirect<strong>in</strong>g traffic away from<br />

malicious or misbehav<strong>in</strong>g nodes. Network lifetime can also be maximized by redirect<strong>in</strong>g<br />

traffic to nodes that have fuller batteries.<br />

In order to def<strong>in</strong>e how <strong>trust</strong>worthy a node is, all of the nodes must actively monitor their<br />

neighbours for malicious behavior. All of the solutions described below depend on this<br />

k<strong>in</strong>d of functionality. When monitor<strong>in</strong>g other nodes, a node uses its radio to listen to<br />

other activity. A radio is then said to be <strong>in</strong> a promiscuous-mode. This allows the node to<br />

detect all activities around it, but is unfortunately power consum<strong>in</strong>g.<br />

A <strong>trust</strong>-based rout<strong>in</strong>g protocol must def<strong>in</strong>e what sort of behaviour it expects from other<br />

nodes. The most common trait of a well behav<strong>in</strong>g node is that it forwards every packet<br />

that is sent to it. Further qualifications can be added, such as whether the packet was<br />

sent without modifications or whether the node also transmits packets from every other<br />

node. Every type of attack aga<strong>in</strong>st a <strong>sensor</strong> network has its own characteristics and a<br />

19


more detailed monitor<strong>in</strong>g scheme will more likely detect different k<strong>in</strong>ds of attacks.<br />

A <strong>trust</strong>-based rout<strong>in</strong>g-algorithm might only use first-hand observations (direct <strong>trust</strong>) about<br />

it neighbours or it might gather third-hand observations (<strong>in</strong>direct <strong>trust</strong>) from other nodes.<br />

Indirect <strong>trust</strong> adds another layer of complications as the observations can also be from<br />

un<strong>trust</strong>ed nodes. Some protocols do not employ <strong>in</strong>direct <strong>trust</strong> at all, while some weigh<br />

recommendations aga<strong>in</strong>st what is known about the recommender. Some protocols also<br />

use active notifications <strong>in</strong> situations where they discover an un<strong>trust</strong>worthy node. These<br />

notifications usually warn other nodes about a bad node.<br />

The follow<strong>in</strong>g details different <strong>trust</strong>-based rout<strong>in</strong>g protocols, their components, how they<br />

def<strong>in</strong>e <strong>trust</strong> and how they monitor their surround<strong>in</strong>gs along with details about how <strong>trust</strong><br />

is used <strong>in</strong> rout<strong>in</strong>g decisions.<br />

3.2 Confidant<br />

Confidant [BB02] is a distributed <strong>trust</strong> manager that cooperates with the rout<strong>in</strong>g layer.<br />

Confidant is based on the Dynamic Source Rout<strong>in</strong>g protocol (DSR). Confidant consists<br />

of 4 components: the monitor, the <strong>trust</strong> monitor, the reputation system and the path<br />

manager.<br />

The monitor is <strong>in</strong> charge of notic<strong>in</strong>g unwanted behaviour <strong>in</strong> neighbour<strong>in</strong>g nodes and it<br />

reports deviations to the reputation system. The reputation system ma<strong>in</strong>ta<strong>in</strong>s a list of<br />

nodes and their reputations. The system changes a nodes reputation only when the moni-<br />

tor notices significant bad behaviour that occurs for a long period of time. The reputation<br />

system then modifies the reputation for the node depend<strong>in</strong>g on the type of bad behaviour<br />

that was monitored.<br />

The <strong>trust</strong> manager component sends out and deals with ALARM-messages. These mes-<br />

sages are used by nodes to notify about un<strong>trust</strong>worthy nodes. An ALARM-message def<strong>in</strong>es<br />

the type of misbehaviour that was noticed, how long this has occured and which node is<br />

<strong>in</strong> question. A node will send out and ALARM when it observes or is alarmed by an<br />

un<strong>trust</strong>worthy node. To deal with false messages, Confidant uses a sort of friends list<br />

20


of <strong>trust</strong>worthy nodes. These are nodes that a node <strong>trust</strong>s and is will<strong>in</strong>g to share <strong>trust</strong><br />

<strong>in</strong>formation. Confidant identifies friends on four levels from no <strong>in</strong>formation to complete<br />

<strong>trust</strong> and uses this <strong>in</strong>formation to weigh received ALARM-messages.<br />

The path manager keeps a list of known routes. These routes are established accord<strong>in</strong>g to<br />

the DSR protocol by send<strong>in</strong>g route requests and route replies. Normally DSR chooses the<br />

route that receives the fastest or the shortest replies. Confidant adds <strong>trust</strong> considerations<br />

to the decision, although the article doesn’t [BB02] def<strong>in</strong>e how. If the reputations system<br />

notices enough bad behaviour about a node to raise suspicion, the path manager deletes all<br />

the routes that have this node. If the path manager receives route requests from malicious<br />

nodes, it may drop the requests. The path manager also re-arranges routes accord<strong>in</strong>g to<br />

the ALARM-messages the <strong>trust</strong> manager receives.<br />

3.3 CORE<br />

CORE [MM02a] def<strong>in</strong>es itself as a generic method that aims to enforce node co-operation<br />

<strong>in</strong> ad hoc <strong>networks</strong>. It <strong>in</strong>corporates a monitor<strong>in</strong>g scheme to gather <strong>trust</strong>-<strong>in</strong>formation<br />

about neighbour<strong>in</strong>g nodes. This <strong>trust</strong>-<strong>in</strong>formation can <strong>in</strong> turn be used to weigh packet<br />

forward<strong>in</strong>g, route discovery, network management or any other decisions <strong>in</strong> regards to<br />

node co-operation. The article def<strong>in</strong>es a way <strong>in</strong> which the DSR rout<strong>in</strong>g protocol can use<br />

this <strong>trust</strong>-<strong>in</strong>formation <strong>in</strong> route discovery.<br />

CORE def<strong>in</strong>es <strong>trust</strong> as a product of direct-, <strong>in</strong>direct- and what it calls functional reputa-<br />

tion. It calculates direct- and <strong>in</strong>direct <strong>trust</strong>s accord<strong>in</strong>g to different functions, or observable<br />

traits of nodes and then comb<strong>in</strong>es these values to a s<strong>in</strong>gle <strong>trust</strong>-value with functional <strong>trust</strong>.<br />

Direct <strong>trust</strong> (or what the article calls subjective reputation) is def<strong>in</strong>ed as a product of<br />

past actions, where more relevance is given to past observations. This is so that sporadic<br />

misbehaviour will have less of an impact than long term behaviour. Direct <strong>trust</strong> is def<strong>in</strong>ed<br />

as:<br />

directreputation t si (sj | f) = � ρ(t, tk)σk<br />

Where directreputation t si (sj | f) is the direct reputation value calculated at time t by<br />

21


node si about node sj while monitor<strong>in</strong>g the function f. σk is the success of observation<br />

k, a negative observation would have a value −1 and a positive observation would have a<br />

value of 1 with a scale of anyth<strong>in</strong>g <strong>in</strong> between for partially successful actions. ρ(t, tk) is a<br />

time dependent function that gives higher relevance to past values of σk.<br />

Indirect <strong>trust</strong> <strong>in</strong> CORE works by neighbours shar<strong>in</strong>g only their positive observations about<br />

other nodes. This approach is chosen as a means to combat denial of service-attacks from<br />

malicious nodes that could otherwise badmouth good nodes.<br />

Functional reputation <strong>in</strong> CORE means a comb<strong>in</strong>ed metric of both direct- and <strong>in</strong>direct<br />

reputations accord<strong>in</strong>g to function f. All of the functional reputations of a node can then<br />

be comb<strong>in</strong>ed <strong>in</strong>to one global reputation-value that different weights to different functional<br />

reputations. Each node must ma<strong>in</strong>ta<strong>in</strong> a Reputation table where it stores the direct- and<br />

<strong>in</strong>direct reputations of each observable function for every neighbour<strong>in</strong>g node.<br />

The f<strong>in</strong>al <strong>trust</strong>-value is def<strong>in</strong>ed as such:<br />

reputation t si = � wk ∗ (directreputation t si (sj | fk) + <strong>in</strong>directreputation t si (sj | fk)<br />

Where wk is the weight associated to the functional reputation of function fk.<br />

The article does not specifically def<strong>in</strong>e which sort of behaviour (or functions) nodes should<br />

monitor about their neighbours. It does suggest however, that packet forward<strong>in</strong>g and<br />

rout<strong>in</strong>g functions should be monitored to ensure efficient operation of the network, with<br />

more weight given to packet forward<strong>in</strong>g.<br />

Instead of a proprietary monitor<strong>in</strong>g scheme, each node <strong>in</strong> CORE uses the Watchdog-<br />

mechanism [MGLB00] to validate other nodes behaviour. Watchdog is summoned every<br />

time the correct execution of a function by another node must be verified. It does this by<br />

stor<strong>in</strong>g all expected behaviour to a buffer. It then compares the observered behaviour to<br />

this buffer and removes the entry <strong>in</strong> case the expected and observed behaviours match.<br />

This is also marked as positive behaviour and the reputation table is updated accord<strong>in</strong>gly.<br />

If an entry stays <strong>in</strong> the buffer for too long, it is marked as a negative observation and also<br />

marked <strong>in</strong> the reputation table.<br />

An entry is stored <strong>in</strong> the reputation table for each observed function of other nodes. A<br />

22


node uses this table to determ<strong>in</strong>e if it will co-operate with other nodes regard<strong>in</strong>g different<br />

functions. Therefore nodes will deny co-operation to nodes that have not have misbehaved<br />

previously, thus exclud<strong>in</strong>g them from the network. CORE also ma<strong>in</strong>ta<strong>in</strong>s that nodes with<br />

positive reputations should gradually lose their reputations if they idle. This is required<br />

to enforce constant node co-operation by reward<strong>in</strong>g non-idl<strong>in</strong>g nodes.<br />

Two applications for the CORE <strong>trust</strong> management scheme were presented <strong>in</strong> the paper<br />

[MM02a]. The first one was an extension to the DSR-protocols route discovery phase and<br />

the seconds on to packet forward<strong>in</strong>g. Watchdog is able to detect any node <strong>in</strong> the vic<strong>in</strong>ity<br />

that does not reply to route requests or does not forward successfully forward packets that<br />

are sent to it. This will cause the uncooperative nodes to be labelled with bad reputation<br />

values. Accord<strong>in</strong>g to CORE pr<strong>in</strong>ciple of exclusion these nodes will then be denied any<br />

route requests. The same pr<strong>in</strong>ciple can be used to exclude nodes from packet forward<strong>in</strong>g.<br />

If a misbehav<strong>in</strong>g node drops packets it will soon discover that no one will forward its<br />

packets.<br />

3.4 A Secure Rout<strong>in</strong>g Protocol for wireless ad hoc <strong>networks</strong><br />

Trust management is based on a distributed authentication model [LS05]. The model<br />

<strong>in</strong>cludes both direct and <strong>in</strong>direct <strong>trust</strong>. Direct <strong>trust</strong> is based on monitor<strong>in</strong>g neighbour<strong>in</strong>g<br />

nodes and their transmissions. Indirect <strong>trust</strong> is based on exchang<strong>in</strong>g <strong>trust</strong>-values between<br />

other nodes.<br />

Each node ma<strong>in</strong>ta<strong>in</strong>s a <strong>trust</strong> table that conta<strong>in</strong>s the calculated <strong>trust</strong>-values of every node<br />

it knows. Trust is as a number between -1 to 4. Nodes that have a <strong>trust</strong>-value below 2<br />

are considered un<strong>trust</strong>worthy.<br />

The model def<strong>in</strong>es <strong>trust</strong> as a series of <strong>trust</strong>ed and authenticated nodes. If a node wants to<br />

know if another node is <strong>trust</strong>worthy, it will ask for recommendation from every <strong>trust</strong>worthy<br />

node. These nodes will then send back their <strong>trust</strong> of the unknown node. The orig<strong>in</strong>al<br />

ask<strong>in</strong>g node will then weigh these recommendations accord<strong>in</strong>g to how much it <strong>trust</strong>s the<br />

recommenders and uses this <strong>in</strong>formation to calculate the <strong>in</strong>itial <strong>trust</strong> for an unknown node.<br />

23


The model also <strong>in</strong>cludes a way to punish false recommendations. If a node falsely recom-<br />

mends a node to another, the distributed authentication model might lower both nodes’<br />

<strong>trust</strong>s unless one of the nodes starts badmouth<strong>in</strong>g the other.<br />

The model monitors the neighbour<strong>in</strong>g nodes for any malicious activity and decreases their<br />

<strong>trust</strong> if it f<strong>in</strong>ds any. If a node beg<strong>in</strong>s to consider another node as un<strong>trust</strong>worthy, it broad-<br />

casts a WARNING-message to other nodes. Upon receiv<strong>in</strong>g a WARNING-message, a<br />

node determ<strong>in</strong>es if it is from a <strong>trust</strong>worthy node. If so it adds the detected malicious to a<br />

blacklist.<br />

The rout<strong>in</strong>g uses HELLO messages to f<strong>in</strong>d and locate new neighbours. The distributed<br />

authentication model is then used to identify these nodes. When send<strong>in</strong>g a packet, a node<br />

forms a route request to determ<strong>in</strong>e the route to the dest<strong>in</strong>ation. Route requests from<br />

un<strong>trust</strong>worthy nodes are dropped.<br />

3.5 TARP<br />

TARP [AKG06] (Trust-Aware Rout<strong>in</strong>g Protocol) is a <strong>trust</strong>-based rout<strong>in</strong>g scheme that con-<br />

sists of two concurrent components: reputation assessment and path reliability evaluation.<br />

TARP keeps track of several k<strong>in</strong>ds of successful transmissions to a node <strong>in</strong> order to calculate<br />

<strong>trust</strong>-values. What TARP looks for is:<br />

• Number of unicast messages it has sent to a node and node has reported to have<br />

forwarded.<br />

• Number of unicast messages it has received from a node.<br />

• Number of broadcast messages it has sent to a node and node has reported to have<br />

forwarded.<br />

• Number of broadcast messages it has received from a node.<br />

• Number of messages it has actually overheard that the node has forwarded.<br />

TARP sees direct <strong>trust</strong> as a product of the two-way l<strong>in</strong>k between itself and the node,<br />

24


and the nodes will<strong>in</strong>gness (or maliciousness) to forward the messages. TARP re-evaluates<br />

a nodes <strong>trust</strong> at specific <strong>in</strong>tervals, where it looks at the collected statistics derived from<br />

communications with the node. Trust is def<strong>in</strong>ed <strong>in</strong> TARP as a number between 0 and 1.<br />

TARP also handles <strong>in</strong>direct <strong>trust</strong> by allow<strong>in</strong>g nodes to send reputation reports either as a<br />

reply to a previous reputation request or if a <strong>trust</strong> of a node drop below a certa<strong>in</strong> threshold.<br />

When a node receives a reputation report about another node, it recalculates the nodes<br />

<strong>trust</strong>, while weigh<strong>in</strong>g <strong>in</strong> how much it prefers direct <strong>trust</strong> over <strong>in</strong>direct <strong>trust</strong>.<br />

Path reliability evaluation <strong>in</strong> TARP is a rout<strong>in</strong>g protocol that uses <strong>trust</strong>-<strong>in</strong>formation to<br />

f<strong>in</strong>d the most reliable route from a node to the s<strong>in</strong>k. It works by f<strong>in</strong>d<strong>in</strong>g the most <strong>trust</strong>ed<br />

route from the s<strong>in</strong>k over on to every node <strong>in</strong> the cloud. Each node receives multiple<br />

possible routes from the s<strong>in</strong>k, and selects the most <strong>trust</strong>ed one as its primary route. Each<br />

messages from that po<strong>in</strong>t on is transmitted to the s<strong>in</strong>k via the primary route.<br />

3.6 Trusted Greedy Perimeter Stateless Rout<strong>in</strong>g<br />

T-GPSR [PM07] is an improved variant of GPSR (see Chapter 2.2). An <strong>in</strong>tegral part<br />

of GPSR is that every node know its position on a common grid. GPSR uses location<br />

<strong>in</strong>formation to select the next hop, and beacon messages to gather the locations of other<br />

nodes. When send<strong>in</strong>g a message, the rout<strong>in</strong>g layer must know the address as well as the<br />

f<strong>in</strong>al position of the recipient.<br />

Rout<strong>in</strong>g decisions are based on transmitt<strong>in</strong>g the packet to the node that is nearest to the<br />

f<strong>in</strong>al recipient. GPSR is a stateless protocol. Every hop has a simple choice to make and<br />

the route is not known or established at the beg<strong>in</strong>n<strong>in</strong>g of transmission.<br />

T-GPSR adds <strong>trust</strong> to the decision mak<strong>in</strong>g. In normal GPSR, the node that is closest to<br />

the f<strong>in</strong>al recipient is chosen. In T-GPSR, the node that is the closest and has the highest<br />

<strong>trust</strong> is chosen as the next hop.<br />

Trust <strong>in</strong> T-GPSR is based on first-hand observations about neighbours. After a packet<br />

is forwarded, a node beg<strong>in</strong>s to eavesdrop on nearby communications to see whether the<br />

packet is forwarded <strong>in</strong>tact. Trust is thus described as.<br />

25


T rusti(n) = W (PA) ∗ PA + W (PP ) ∗ PP<br />

Where T rusti(node) is how much node i <strong>trust</strong>s node n, PA is the number of successfully<br />

forwarded packet by node n, PP is the number of times node n has forwarded a packet<br />

without tamper<strong>in</strong>g with its contents and W (PA) and W (PP ) are the designated weights<br />

for PP and PA.<br />

This protocol does not implement <strong>in</strong>direct <strong>trust</strong>. The authors conclude that us<strong>in</strong>g <strong>in</strong>direct<br />

<strong>trust</strong> is vulnerable to deception where a malicious node may transmit false <strong>in</strong>formation<br />

about itself or others.<br />

3.7 A Trust-Based Geographical Rout<strong>in</strong>g Scheme<br />

Trust-based geographical rout<strong>in</strong>g scheme [HLK07] is a rout<strong>in</strong>g protocol where each node<br />

monitors its neighbours and tries to build routes that are as <strong>trust</strong>worthy and short as<br />

possible. Trust-based geographical rout<strong>in</strong>g requires that all nodes know their position <strong>in</strong><br />

common coord<strong>in</strong>ates. It also employes a k<strong>in</strong>d of quality of service-scheme by def<strong>in</strong><strong>in</strong>g a<br />

m<strong>in</strong>imum <strong>trust</strong> for a route that a packet must travel.<br />

In <strong>trust</strong>-based geographical rout<strong>in</strong>g, every packet can <strong>in</strong>dividually be def<strong>in</strong>ed with a packet<br />

<strong>trust</strong> requirement which is a number between 0 and 1. This value def<strong>in</strong>es the m<strong>in</strong>imum<br />

<strong>trust</strong> of each hop that the packet should pass.<br />

Trust is based <strong>in</strong> direct observations of neighbour<strong>in</strong>g nodes. After a packet is sent the node<br />

eavesdrops on its neighbours to f<strong>in</strong>d out whether the packet is forwarded. This <strong>in</strong>formation<br />

is then used to calculate the <strong>trust</strong> for the forward<strong>in</strong>g node as such.<br />

T rusti,j =<br />

� NK=1 P i j,k ∗ Si j,k<br />

� NK=1 P i j,k<br />

Where P i j,k is the packet <strong>trust</strong> requirement for packet Pk, S i j,k<br />

26<br />

is 0 if the node j did not<br />

forward the packet Pk and 1 if it did. So if a malicious node drops many packets that<br />

have a high packet <strong>trust</strong> requirement, its reputation will drop faster than if it dropped less<br />

important packets.


Trust-based geographical rout<strong>in</strong>g does not use <strong>in</strong>direct observations from other nodes.<br />

Each packet also has a filter-distance which def<strong>in</strong>es the m<strong>in</strong>imum distance this packet<br />

should travel with each hop. The filter-distance is <strong>in</strong>itially set as an approximate of the<br />

overall distance divided by the transmission range of the nodes. This filter is used to avoid<br />

the situation where a packet is sent to a <strong>trust</strong>ed but close node. The ma<strong>in</strong> po<strong>in</strong>t is to<br />

guarantee an average hop-distance for the route and m<strong>in</strong>imize hop count.<br />

Rout<strong>in</strong>g decisions are made as the node that is the closest to the target out of all the<br />

nodes that fulfill the m<strong>in</strong>imum <strong>trust</strong> and filter-distance of the packet.<br />

3.8 WSNodeRater and GESAR<br />

WSNodeRater [MN07] (Wireless Sensor Node Rater) is an application-layer protocol that<br />

<strong>in</strong>teracts directly with the network layer, built on top of the a new rout<strong>in</strong>g protocol called<br />

GESAR. It consists of three <strong>in</strong>dependent components for node monitor<strong>in</strong>g, node rat<strong>in</strong>g<br />

and event responses. GESAR (Geographic, Energy and Security Aware Rout<strong>in</strong>g protocol)<br />

is an enhanced version of the GEAR rout<strong>in</strong>g protocol (see Chapter 2.2), that <strong>in</strong>teracts<br />

directly with the response component of WSNodeRater.<br />

The rout<strong>in</strong>g protocol GESAR works by simply expand<strong>in</strong>g the GEAR rout<strong>in</strong>g protocol<br />

with the <strong>trust</strong>-<strong>in</strong>formation WSNodeRater provides. The distributed learn<strong>in</strong>g algorithm of<br />

GEAR considers energy and distance when learn<strong>in</strong>g new routes to different areas of the<br />

network. GESAR expands this by also consider<strong>in</strong>g the risk associated with a node. The<br />

<strong>in</strong>formation from WSNodeRater is thus used to f<strong>in</strong>d the most <strong>trust</strong>worthy and energy-<br />

efficient route.<br />

WSNodeRater uses both direct- and <strong>in</strong>direct observations to determ<strong>in</strong>e <strong>trust</strong>-values for<br />

other nodes. The monitor<strong>in</strong>g component of WSNodeRater handles monitor<strong>in</strong>g activities<br />

around the node and supplies the rat<strong>in</strong>g component with first-hand <strong>in</strong>formation about<br />

other nodes. It uses a technique called Energy Efficient Monitor<strong>in</strong>g Procedure (EEMP)<br />

to m<strong>in</strong>imize power usage. EEMP tries to m<strong>in</strong>imize the amount of time the monitor<strong>in</strong>g<br />

component must listen to other nodes <strong>in</strong> promiscuous mode. EEMP works by shar<strong>in</strong>g the<br />

monitor<strong>in</strong>g workload between several nodes. EEMP assumes that a relationship can be<br />

27


uilt between two or several nodes that agree to share the monitor<strong>in</strong>g work for their area.<br />

EEMP does not def<strong>in</strong>e strict timeslots for each node to do the monitor<strong>in</strong>g. The <strong>in</strong>dividual<br />

monitor<strong>in</strong>g timeslots for each node are <strong>in</strong>stead determ<strong>in</strong>ed randomly and <strong>in</strong>dependently.<br />

EEMP works by divid<strong>in</strong>g each timeslot <strong>in</strong>to two parts, the ON- and OFF-parts. Each<br />

node then decides probabilities that it will start monitor<strong>in</strong>g dur<strong>in</strong>g the ON-slot, and a<br />

probability that it will stop monitor<strong>in</strong>g dur<strong>in</strong>g the OFF-slot. Shared monitor<strong>in</strong>g is random,<br />

with the off chance that at some po<strong>in</strong>t, no node is monitor<strong>in</strong>g the area.<br />

The rat<strong>in</strong>g component draws <strong>in</strong>formation from the monitor<strong>in</strong>g component and gathers<br />

<strong>in</strong>direct observations from other nodes. First hand observations def<strong>in</strong>e the <strong>trust</strong> of a node<br />

by a number between 0 and 1. Trust is calculated as:<br />

riski = frequencyi<br />

frequencymax<br />

Where frequencymax is the maximum amount of bad behaviour that is tolerated per time<br />

and frequencyi is def<strong>in</strong>ed as:<br />

frequencyi = badbehaviouri<br />

timei<br />

Where badbehaviouri is the amount of bad behaviour noticed about node i and timei is<br />

the amount of time spent monitor<strong>in</strong>g node i.<br />

The scheme then works by assign<strong>in</strong>g un<strong>trust</strong>worthy nodes a high number, <strong>in</strong>dicat<strong>in</strong>g high<br />

risk. Trustworthy nodes receive a low number, <strong>in</strong>dicat<strong>in</strong>g low risk.<br />

Nodes may notify other nodes about node i by transmitt<strong>in</strong>g their risk for node i. These<br />

<strong>in</strong>direct observations are added to the overall risk by.<br />

riski = W ∗ riskdirect,i + (1 − W ) ∗ risk<strong>in</strong>direct,i<br />

Where W is a weigh<strong>in</strong>g factor that is used to def<strong>in</strong>e how much emphasis direct observa-<br />

tions are given over <strong>in</strong>direct observations. What is notable here is that WSNodeRater<br />

automatically <strong>trust</strong>s <strong>in</strong>direct observations and does not consider or weight the source of<br />

the <strong>in</strong>formation.<br />

28


The rat<strong>in</strong>g component also employs a strategy of recalculat<strong>in</strong>g the risk of node i only when<br />

node i is seen behav<strong>in</strong>g well. If a node does not misbehave for a certa<strong>in</strong> amount of time,<br />

the rat<strong>in</strong>g component will beg<strong>in</strong> to lower the risk of node i.<br />

The rat<strong>in</strong>g component f<strong>in</strong>ally weighs the <strong>trust</strong> of a node by:<br />

<strong>trust</strong>i = 1 − ri<br />

rmax<br />

Where rmax is the maximum risk that is tolerated of another node. So <strong>trust</strong>worthy nodes<br />

will receive a high number near 1 and risky, un<strong>trust</strong>worthy nodes will receive a low number<br />

near 0.<br />

The article does not def<strong>in</strong>e what sort of behaviour is monitored of the nodes nor how nodes<br />

actually share the monitor<strong>in</strong>g work.<br />

The response component of WSNodeRater can take action toward un<strong>trust</strong>worthy nodes<br />

or work with the GESAR rout<strong>in</strong>g layer to avoid bad nodes. These actions <strong>in</strong>clude noti-<br />

fy<strong>in</strong>g other nodes about a misbehav<strong>in</strong>g node or shutt<strong>in</strong>g off all communications with the<br />

misbehav<strong>in</strong>g node.<br />

3.9 Trust-based LEACH<br />

A new <strong>trust</strong>-based version of the LEACH [HCB00] has been <strong>in</strong>troduced [SZ08] that simply<br />

called Trusted-LEACH or TLEACH. Trust management <strong>in</strong> TLEACH uses both direct and<br />

<strong>in</strong>direct <strong>trust</strong>. TLEACH, like LEACH, works <strong>in</strong> tight <strong>in</strong>tervals, divid<strong>in</strong>g the operation of<br />

the network to a well orchestrated and synchronized beat of data retrieval and monitor<strong>in</strong>g.<br />

TLEACH beg<strong>in</strong>s by elect<strong>in</strong>g nodes for cluster-heads. The cluster heads are <strong>in</strong> charge of<br />

gather<strong>in</strong>g and forward<strong>in</strong>g data from the nodes <strong>in</strong> their cluster to the s<strong>in</strong>k. The size of the<br />

clusters is determ<strong>in</strong>ed so that about 5% of the nodes are cluster-heads. In normal LEACH,<br />

the cluster head is chosen randomly and changed every now and aga<strong>in</strong>. In TLEACH every<br />

node chooses the most <strong>trust</strong>worthy node to be the cluster head. To avoid malicious nodes<br />

from becom<strong>in</strong>g cluster heads, a m<strong>in</strong>imal <strong>trust</strong> value is chosen that a cluster head must<br />

fullfill.<br />

29


After a cluster head is chosen, it segments time to periods of data send<strong>in</strong>g and monitor<strong>in</strong>g.<br />

Each node <strong>in</strong> a cluster gets a small w<strong>in</strong>dow of time to send data to the cluster head. Dur<strong>in</strong>g<br />

other times a node may randomly monitor its neighbours to gather <strong>trust</strong> <strong>in</strong>formation.<br />

The cluster head constantly keeps listen<strong>in</strong>g and monitor<strong>in</strong>g its nodes and gathers <strong>trust</strong>-<br />

<strong>in</strong>formation. After every node has sent data to the cluster head the cluster head forwards<br />

this data to the s<strong>in</strong>k. Dur<strong>in</strong>g this time the other nodes may or may not eavesdrop on the<br />

cluster head accord<strong>in</strong>g to how much they <strong>trust</strong> the cluster head. After this is done a new<br />

cycle beg<strong>in</strong>s and the nodes transmit new data.<br />

Indirect <strong>trust</strong> about other nodes is provided only by the cluster-heads to the nodes <strong>in</strong><br />

its cluster. Every node weighs this <strong>in</strong>formation to how much it <strong>trust</strong>s the cluster-head<br />

accord<strong>in</strong>g to the formula:<br />

<strong>in</strong>direct<strong>trust</strong>(i, j) = <strong>trust</strong>(i, head) ∗ rec(head, j) + (1 − <strong>trust</strong>(i, head)) ∗ <strong>trust</strong>(i, j)<br />

Where i is the receiv<strong>in</strong>g node, head is the cluster head and j is the node that is be<strong>in</strong>g<br />

talked about. <strong>trust</strong>(i, j) is how much node i <strong>trust</strong>s node j before and rec(head, j) is the<br />

<strong>in</strong>direct <strong>trust</strong>-packet (recommendation) that the cluster head sends about node j. The<br />

formula guarantees that if the recommender is not <strong>trust</strong>ed, then the recommendation will<br />

have little impact on the f<strong>in</strong>al op<strong>in</strong>ion.<br />

Direct <strong>trust</strong> <strong>in</strong> TLEACH is a multistep process where a node monitors either direct events<br />

about a nodes behavior or receives recommendations from other nodes.<br />

A node keeps track of how another node performs by calculat<strong>in</strong>g the number of good and<br />

bad behaviours us<strong>in</strong>g beta distribution:<br />

direct<strong>trust</strong>(i, j, O) =<br />

Ngood + 1<br />

Ngood + Nbad + 2<br />

Where O is the type of operation that is monitored and Ngood and Nbad are the amounts<br />

of good and bad behaviour that was detected about the operation. The result will be a<br />

number between 0 and 1, with an unknown node hav<strong>in</strong>g a <strong>trust</strong> value of 0,5.<br />

The overall <strong>trust</strong> of a node is calculated whenever the direct or <strong>in</strong>direct <strong>trust</strong>s are updated.<br />

The new observation about a node is added to the overall <strong>trust</strong> accord<strong>in</strong>g to the formula:<br />

30


<strong>trust</strong> = (1 − w) ∗ <strong>trust</strong>old + w ∗ newobservation<br />

Where <strong>trust</strong>old is the previous <strong>trust</strong>, newobservation is the result from the new observation<br />

(direct- or <strong>in</strong>direct <strong>trust</strong>) and w is a weigh<strong>in</strong>g factor that determ<strong>in</strong>es how much weight<br />

should be given to new observation aga<strong>in</strong>st the old <strong>trust</strong> value. The authors propose<br />

a variable weigh<strong>in</strong>g factor w that is constantly adjusted to reward good behavior and<br />

discourage bad.<br />

3.10 Dynamic <strong>trust</strong>ed rout<strong>in</strong>g<br />

A secure rout<strong>in</strong>g mechanism is proposed <strong>in</strong> [DYN] that uses <strong>trust</strong> <strong>in</strong>formation to f<strong>in</strong>d the<br />

safest route between nodes <strong>in</strong> a <strong>sensor</strong> network. The protocol utilizes a distributed <strong>trust</strong><br />

management scheme that gathers <strong>trust</strong> <strong>in</strong>formation about other nodes, then comb<strong>in</strong>es this<br />

with a geographical rout<strong>in</strong>g protocol. A thorough list of monitored behaviour is used to<br />

def<strong>in</strong>e direct <strong>trust</strong>, that is then comb<strong>in</strong>ed with <strong>in</strong>direct <strong>trust</strong> from other nodes.<br />

The scheme proposes that the follow<strong>in</strong>g traits of other nodes are monitored and tabulated,<br />

which <strong>in</strong>clude:<br />

1. Packet forward<strong>in</strong>g.<br />

2. The network-layer acks that are received.<br />

3. Packet <strong>in</strong>tegrity, which means that no forwarded packets should be tampered with.<br />

4. Authentication and Crypthography/Confidentiality which mean that the use of se-<br />

curity measures must also be monitored for correct behaviour.<br />

5. Reputation responses and correct reputation shar<strong>in</strong>g, which means that a node will<br />

be monitored that it participates <strong>in</strong> distribut<strong>in</strong>g reputation <strong>in</strong>formation and that the<br />

<strong>in</strong>formation is correct.<br />

6. Rema<strong>in</strong><strong>in</strong>g energy, which means that nodes will share their energy-levels with neigh-<br />

bour<strong>in</strong>g nodes.<br />

31


7. The distance to the s<strong>in</strong>k node, because nodes closer to the s<strong>in</strong>k will be seen as more<br />

favourable.<br />

The scheme also proposes that a log of previous <strong>in</strong>teractions should be kept to combat<br />

on-off -types of attacks, where malicious nodes may try to confuse other nodes by selec-<br />

tively co-operat<strong>in</strong>g with them. This log would conta<strong>in</strong> a history of previous <strong>in</strong>teractions<br />

accounted by whether they were successful or unsuccessful. In addition to this log the over-<br />

all number of <strong>in</strong>teractions with a node will also be recorded. The number of <strong>in</strong>teractions<br />

will be used to def<strong>in</strong>e a confidence factor for a node.<br />

Six of these traits are directly calculated as direct <strong>trust</strong>. Trust of node B by node A<br />

concern<strong>in</strong>g trait i is then calculated as:<br />

T A,B<br />

i<br />

= aiS A,B<br />

i<br />

aiS A,B<br />

i<br />

A,B<br />

− biFi A,B<br />

+ biF<br />

Where ai and bi are the weight given to successful and unsuccessful occurrences of trait i.<br />

S A,B<br />

i<br />

is the number of successful occurrences of trait i and F A,B<br />

i<br />

occurrences of trait i.<br />

i<br />

32<br />

are the number of failed<br />

The confidence factor of a node will be calculated accord<strong>in</strong>g to the total number of <strong>in</strong>ter-<br />

actions with a node. This factor is def<strong>in</strong>ed as:<br />

C A,B = 1 −<br />

1<br />

nB + wc<br />

Where nB is the number of <strong>in</strong>teractions with node B and wc is a basel<strong>in</strong>e factor that is<br />

used to weigh the <strong>in</strong>itial confidence of newly discovered nodes.<br />

F<strong>in</strong>ally a direct <strong>trust</strong> value will be calculated as:<br />

DT A,B = C A,B 6�<br />

(<br />

i=1<br />

Wi ∗ T A,B<br />

i )<br />

Where Wi is a weigh<strong>in</strong>g factor for the six previous <strong>trust</strong>s concern<strong>in</strong>g trait i.<br />

Indirect <strong>trust</strong> is used <strong>in</strong> the scheme when for example a new, previously unknown node is<br />

found or when there is a neutral op<strong>in</strong>ion about a node. In these cases a node will request


that nodes around it send <strong>in</strong> their <strong>trust</strong>-<strong>in</strong>formation about the node <strong>in</strong> question, and uses<br />

these values to calculate <strong>in</strong>direct <strong>trust</strong> as:<br />

IT A,B n�<br />

= W (DT<br />

j=1<br />

A,Nj Nj,B<br />

)DT<br />

Where Nj is node j of the neighbour<strong>in</strong>g nodes, W (DT A,Nj ) is a weight given to the nodes<br />

recommendation that is dependent on the direct <strong>trust</strong> of node Nj and f<strong>in</strong>ally DT Nj,B is<br />

the node Nj:s op<strong>in</strong>ion about node B. Recommendations from an un<strong>trust</strong>ed node will then<br />

be given less significance than recommendations from a <strong>trust</strong>worthy node.<br />

F<strong>in</strong>ally the <strong>trust</strong>-value of node B will be calculated as:<br />

T T A,B = WDT ∗ DT A,B + WIT ∗ IT A,B<br />

Where WDT and WIT are use to weigh the significance of direct <strong>trust</strong>-values to <strong>in</strong>direct<br />

<strong>trust</strong>-values. As firsthand <strong>in</strong>formation should be given a higher significance, the article<br />

recommends WDT be higher.<br />

The weigh<strong>in</strong>g factors will be def<strong>in</strong>ed so that the overall <strong>trust</strong>-value of node B will be a<br />

number between 0 and 1, with 0 not<strong>in</strong>g a completely un<strong>trust</strong>worthy node and 1 not<strong>in</strong>g a<br />

completely <strong>trust</strong>worthy node.<br />

Rout<strong>in</strong>g <strong>in</strong> this scheme works by a utiliz<strong>in</strong>g a stateless rout<strong>in</strong>g protocol that weighs the<br />

next hop of a packet accord<strong>in</strong>g to the <strong>trust</strong>-values of the neighbours. A decision will be<br />

based on both the distance of the node to the f<strong>in</strong>al dest<strong>in</strong>ation as well as the nodes’ <strong>trust</strong>-<br />

value. In this regard the rout<strong>in</strong>g works very similarly to the Trusted Greedy Perimeter<br />

Stateless-rout<strong>in</strong>g that was previously presented.<br />

3.11 Overview of <strong>trust</strong>-based rout<strong>in</strong>g protocols<br />

The last sections detailed several different approaches to rout<strong>in</strong>g <strong>in</strong> ad hoc- and especially<br />

<strong>sensor</strong> <strong>networks</strong>. The oldest examples were from 2002 and the latest from 2009. What they<br />

all had <strong>in</strong> common was a <strong>trust</strong> management system that used passive monitor<strong>in</strong>g to spy<br />

on their neighbours. This <strong>in</strong>formation was then used to base rout<strong>in</strong>g or other decisions.<br />

33


Figure 6 summarizes some of the most common characteristics of the previous rout<strong>in</strong>g<br />

protocols.<br />

Some approaches detailed what should be monitored about other nodes, some did not. The<br />

most common trait to look for was whether the other node forwarded packets. The most<br />

complete list of monitored traits was used <strong>in</strong> Dynamic Trusted Rout<strong>in</strong>g. WSNodeRater<br />

used a shared monitor<strong>in</strong>g mechanism to m<strong>in</strong>imize energy consumption, by shar<strong>in</strong>g the<br />

monitor<strong>in</strong>g load amongst many nodes. Several different ways of detect<strong>in</strong>g and identify<strong>in</strong>g<br />

malicious or suspicious activity have been identified [FGRL07], but the previously detailed<br />

<strong>trust</strong> management approaches implemented only a subset of these.<br />

Not every approach used <strong>in</strong>direct <strong>trust</strong>, these were TGPSR and the Trust-Based Geo-<br />

graphical Rout<strong>in</strong>g Scheme. Indirect <strong>trust</strong> is when nodes share their <strong>trust</strong>-<strong>in</strong>formation<br />

about other nodes. Some approaches used <strong>in</strong>direct <strong>trust</strong>, but did not consider whether the<br />

<strong>in</strong>formation itself should be <strong>trust</strong>ed. This k<strong>in</strong>d of behavior could be used to spread false<br />

rumors about other nodes. In TLEACH, only the elected cluster-head is allowed to spread<br />

<strong>in</strong>direct <strong>trust</strong>-<strong>in</strong>formation about other nodes. In CORE, only positive observations about<br />

other nodes is spread as <strong>in</strong>direct <strong>trust</strong>-<strong>in</strong>formation.<br />

Rout<strong>in</strong>g was based on the idea that less <strong>trust</strong>worthy nodes should be cut off from rout<strong>in</strong>g-<br />

duties and thus excluded from the network. In some approaches other services were also<br />

denied from un<strong>trust</strong>worthy nodes, such as packet forward<strong>in</strong>g or route discovery. In the<br />

Trust-based Geographical Rout<strong>in</strong>g Scheme, a sender could def<strong>in</strong>e a m<strong>in</strong>imum <strong>trust</strong> for<br />

every packet that it sends. The packet is then forwarded to nodes whose <strong>trust</strong> is atleast<br />

the required m<strong>in</strong>imum <strong>trust</strong> of the packet.<br />

A clear dist<strong>in</strong>ction should be made about <strong>trust</strong> and reliability. A node should be <strong>trust</strong>ed<br />

when it is seen as friendly. A node should be seen as reliable when it is friendly and<br />

participat<strong>in</strong>g <strong>in</strong> the network. This raises the question, how do we separate the <strong>in</strong>truders<br />

from the faulty nodes, and should both be handled the same way?<br />

Someth<strong>in</strong>g that should be taken <strong>in</strong>to consideration is how a potential attack is seen through<br />

<strong>trust</strong> management. If an attacker manages to <strong>in</strong>sert a malicious node to the network, can<br />

this be detected by these different monitor<strong>in</strong>g schemes? Is it likely that they report false<br />

34


positives, nodes that seem to be f<strong>in</strong>e but <strong>in</strong> reality damage the network? Is a <strong>trust</strong><br />

management system needed or would l<strong>in</strong>k layer encryption be enough to exclude attackers<br />

from the network? And how much energy is a node wast<strong>in</strong>g while it is monitor<strong>in</strong>g its<br />

neighbours versus how much it saves by avoid<strong>in</strong>g bad nodes? One article [SLL09] tries to<br />

measure how much shar<strong>in</strong>g <strong>trust</strong> <strong>in</strong>formation impacts a nodes energy consumption. The<br />

results simply showed that some <strong>trust</strong> management protocols consumed more energy than<br />

others. Unfortunately these results could not answer our previous question, as the article<br />

did not take monitor<strong>in</strong>g <strong>in</strong>to consideration.<br />

It is difficult to decide which of these <strong>trust</strong>-based rout<strong>in</strong>g protocols would be best suited for<br />

their purpose, as the none seem to address the previous questions and most importantly;<br />

can they actually detect and isolate captured nodes from a network?<br />

35


Name Direct- Indirect-<strong>trust</strong> Warn<strong>in</strong>g mechanism Monitored behaviour* Rout<strong>in</strong>g protocol<br />

Confidant X X X ? DSR<br />

CORE X X X (1,8) DSR<br />

SRP X X X 1 not specified<br />

TARP X X X 1 not specified<br />

T-GPSR X 1,2 GPSR<br />

TGRS X 1 not specified<br />

WSNodeRater X X X ? GESAR (GEAR)<br />

TLEACH X X ? LEACH<br />

Teihal X X 1,2,3,4,5,6,7 not specified<br />

* Monitored behaviour:<br />

1: Packet forward<strong>in</strong>g<br />

2: Network ACK<br />

3: Packet <strong>in</strong>tegrity<br />

4: Authentication<br />

5: Cryptography<br />

6: Corrent reputation shar<strong>in</strong>g<br />

7: Rema<strong>in</strong><strong>in</strong>g energy<br />

8: Rout<strong>in</strong>g functions<br />

36<br />

? : Not exactly specified <strong>in</strong> the article<br />

Figure 6: Comparison of different <strong>trust</strong>-based rout<strong>in</strong>g schemes.


4 Analysis of <strong>trust</strong>ed service discovery<br />

The previous sections have <strong>in</strong>cluded comparisons of different rout<strong>in</strong>g protocols for service<br />

discovery, <strong>in</strong>clud<strong>in</strong>g <strong>trust</strong>-based ones. A major motivation for def<strong>in</strong><strong>in</strong>g and monitor<strong>in</strong>g<br />

<strong>trust</strong> <strong>in</strong> <strong>sensor</strong> <strong>networks</strong> is that an <strong>in</strong>dividual node may be subject to node capture. A<br />

malicious node could then try to damage the network by send<strong>in</strong>g false sens<strong>in</strong>g data or<br />

by disrupt<strong>in</strong>g the rout<strong>in</strong>g. But all of the proposed <strong>trust</strong>-based rout<strong>in</strong>g protocols only<br />

consider the neighbour<strong>in</strong>g nodes. As such, a node will have no way of know<strong>in</strong>g anyth<strong>in</strong>g<br />

about nodes far away from them.<br />

Another th<strong>in</strong>g to consider is how the <strong>trust</strong> <strong>in</strong>formation could be leveraged for other appli-<br />

cations? If the <strong>trust</strong> management system could give an accurate guess about which nodes<br />

are malicious and which are not, would the user like to know about it? Consider a scenario<br />

where a user has used service discovery to locate two <strong>sensor</strong>s from the network and now<br />

cannot decide which of them is more suitable? Discard<strong>in</strong>g such <strong>in</strong>formation as location<br />

(maybe the nodes are right next to each other) or power levels, should we ask which of<br />

the nodes is more <strong>trust</strong>worthy?<br />

The follow<strong>in</strong>g chapters detail a way with which the <strong>in</strong>dividual <strong>trust</strong>-values of other nodes<br />

can be used to describe the <strong>trust</strong>worth<strong>in</strong>ess of a s<strong>in</strong>gle node. Consider the previous scenario<br />

where a user has received a reply from one of the potential service providers: What if the<br />

<strong>trust</strong>worth<strong>in</strong>ess of the provider could be def<strong>in</strong>ed as the product of the route through which<br />

a packet must traverse. If the service provider is not <strong>trust</strong>ed by its neighbours, the overall<br />

<strong>trust</strong>worth<strong>in</strong>ess should go down. If the packet traverses a route of highly <strong>trust</strong>ed nodes,<br />

the <strong>trust</strong>worth<strong>in</strong>ess should be high. If the packet goes through a couple of un<strong>trust</strong>worthy<br />

nodes, the <strong>trust</strong>worth<strong>in</strong>ess should go down.<br />

We def<strong>in</strong>e the <strong>trust</strong>worth<strong>in</strong>ess of a service or a node as the cha<strong>in</strong> of <strong>in</strong>dividual reputations,<br />

or <strong>trust</strong>s from the service provider to the service seeker. As a node receives a packet for<br />

forward<strong>in</strong>g, it must alter the <strong>trust</strong>worth<strong>in</strong>ess field of the packet accord<strong>in</strong>g to how much it<br />

<strong>trust</strong>s the node from which it received the packet.<br />

A series of simulations were prepared to test how this type of a scheme would behave<br />

37


<strong>in</strong> a network that uses <strong>trust</strong>-based rout<strong>in</strong>g. The Dynamic <strong>trust</strong>ed rout<strong>in</strong>g-protocol from<br />

Chapter 3.10 was used <strong>in</strong> a network simulator called JSIM. Several ways of calculat<strong>in</strong>g the<br />

overall <strong>trust</strong>worth<strong>in</strong>ess are proposed and discussed. F<strong>in</strong>ally a series of different <strong>networks</strong><br />

are built <strong>in</strong> the JSIM simulator to chart the <strong>trust</strong>worth<strong>in</strong>ess of nodes <strong>in</strong> a network that<br />

is <strong>in</strong>fested with malicious nodes. The focus will be <strong>in</strong> present<strong>in</strong>g how given parts <strong>in</strong> a<br />

network will be seen from different parts of the network.<br />

4.1 Simulat<strong>in</strong>g network-protocols <strong>in</strong> JSIM<br />

JSIM [JSIM] is a network simulation platform developed <strong>in</strong> Java. It is built around a<br />

component-based architecture. Every entity is def<strong>in</strong>ed as an autonomous component that<br />

is then connected to other components by strict contracts (or <strong>in</strong>terfaces). For <strong>in</strong>stance a<br />

802.11 MAC-layer can be def<strong>in</strong>ed as a component that is then connected to a network-layer<br />

component and a physical-medium component (a radio-antenna). JSIM also makes sure<br />

that discreet events <strong>in</strong> the simulator occur <strong>in</strong> the correct order and on the right time.<br />

JSIM is built as a comprehensive framework of protocols and components that can be con-<br />

nected amongst each other to simulate different networked entities. Creat<strong>in</strong>g and def<strong>in</strong><strong>in</strong>g<br />

the simulator environment is done us<strong>in</strong>g a Tcl script language <strong>in</strong>terpreter <strong>in</strong>tegrated <strong>in</strong>to<br />

JSIM, that allows rapid development and runtime creation and modification of the simu-<br />

lator environment.<br />

Simulat<strong>in</strong>g <strong>sensor</strong> <strong>networks</strong> is possible with JSIM as the software conta<strong>in</strong>s an exist<strong>in</strong>g<br />

framework of several ad hoc rout<strong>in</strong>g protocols, a generic <strong>sensor</strong> application layer, a 802.11<br />

MAC layer along with different k<strong>in</strong>ds of radio-antennas, batteries and even processors.<br />

The nodes <strong>in</strong> the simulator can be spread across a field <strong>in</strong> three dimensions and they can<br />

be moved freely with<strong>in</strong> this field. This allows the user to simulate for <strong>in</strong>stance how nodes<br />

network when randomly scattered, how the network performs and what k<strong>in</strong>d of an impact<br />

different scenarios have on the network or node lifetime.<br />

An immobile prototype <strong>sensor</strong> was built with JSIM that used an 802.11 MAC-layer for<br />

communications, no mobility-models and the implemented rout<strong>in</strong>g protocol that was based<br />

on the Dynamic <strong>trust</strong>ed rout<strong>in</strong>g scheme described <strong>in</strong> sections 3.10 and 4.2. A representa-<br />

38


To other <strong>sensor</strong>s...<br />

Simulated Sensor<br />

ID<br />

Address<br />

resolution<br />

The "airwaves"<br />

Keeps track of<br />

battery and<br />

energy<br />

Queue<br />

Wireless Channel<br />

Sensor<br />

application<br />

WirelessAgent<br />

Rout<strong>in</strong>g<br />

protocol<br />

L<strong>in</strong>k layer<br />

Mac 802.11<br />

Wireless<br />

Physical<br />

Initiates<br />

communications<br />

Keeps track of<br />

the position of<br />

all the <strong>sensor</strong>s<br />

Determ<strong>in</strong>es<br />

how a node<br />

moves <strong>in</strong> the<br />

area<br />

Mobility<br />

Model<br />

Physical Node Tracker<br />

Figure 7: A diagram of the components of a <strong>sensor</strong> and their connections <strong>in</strong> JSIM. A simu-<br />

lated <strong>sensor</strong> <strong>in</strong> JSIM is broken down <strong>in</strong>to several loosely coupled autonomous components.<br />

The components are then connected with each other through ports.<br />

tion of the components of the implemented <strong>sensor</strong> can be seen <strong>in</strong> Figure 7.<br />

4.2 The <strong>trust</strong>-based rout<strong>in</strong>g protocol<br />

A version of the Dynamic Truster Rout<strong>in</strong>g -protocol for JSIM was used to gather results.<br />

Curiosly, the implementation was built on the regular GPSR rout<strong>in</strong>g protocol but a <strong>trust</strong><br />

management and calculation rout<strong>in</strong>e was added to its rout<strong>in</strong>e of rout<strong>in</strong>g decisions. Where<br />

normally GPSR chooses the next hop by send<strong>in</strong>g the packet as close to the f<strong>in</strong>al recipient as<br />

possible, Dynamic Truster Rout<strong>in</strong>g comb<strong>in</strong>es forward<strong>in</strong>g- and <strong>in</strong>tegrity checks and energy-<br />

awareness to the decision.<br />

A node that must forward a packet chooses the next hop amongst its neighbours by<br />

consider<strong>in</strong>g their distance to the f<strong>in</strong>al recipient and other weight<strong>in</strong>g factors. This decision<br />

39


is calculated as a sole number, a node’s reputation. The node with the highest reputation<br />

is chosen as the next hop. Reputation for node x towards node i is def<strong>in</strong>ed as:<br />

Where:<br />

And:<br />

reputationi(x) = distancei(x) + energyi(x) + forwardi(x) + <strong>in</strong>tegrityi(x)<br />

distancei(x) = Wd ∗<br />

1 − � distance(x, target)<br />

� distance(allneighbours, target)<br />

energyi(x) = We ∗ rema<strong>in</strong><strong>in</strong>genergy(x)<br />

forwardi(x) = Wf ∗ succesfullyforwarded<br />

packetssent<br />

<strong>in</strong>tergrityi(x) = Wi ∗ <strong>in</strong>tergityma<strong>in</strong>ta<strong>in</strong>ed<br />

packetssent<br />

Wd + We + Wf + Wi = 1<br />

In this case the weigh<strong>in</strong>g factors were Wd = 0.5, We = 0.1, Wf = 0.2 and Wi = 0.2.<br />

4.3 <strong>Calculat<strong>in</strong>g</strong> a cha<strong>in</strong> of <strong>trust</strong><br />

Def<strong>in</strong><strong>in</strong>g service <strong>trust</strong>worth<strong>in</strong>ess or the cha<strong>in</strong> of <strong>trust</strong> is based on gather<strong>in</strong>g different op<strong>in</strong>-<br />

ions about nodes <strong>in</strong>to one estimate. We need to def<strong>in</strong>e a way to gather <strong>in</strong>dividual repu-<br />

tations of nodes <strong>in</strong>to one metric. This chapter details four different ways of def<strong>in</strong><strong>in</strong>g this<br />

metric.<br />

S<strong>in</strong>ce all reputations are presented as a numeric value between 0 and 1, we try to f<strong>in</strong>d the<br />

most representive way of def<strong>in</strong><strong>in</strong>g a queue of numbers <strong>in</strong>to one number that would give<br />

the best estimate of the nature of the queue. This queue is the <strong>in</strong>dividual reputations of<br />

nodes compris<strong>in</strong>g a route from node x to node y.<br />

40


A simple way of def<strong>in</strong><strong>in</strong>g this metric would be to simply multiply the metric with the<br />

reputation of the last hop. We will call this the aggregated-metric:<br />

n�<br />

<strong>trust</strong>worth<strong>in</strong>ess(x, y) = reputationi(i − 1)<br />

i=1<br />

Where reputationi(i − 1) is the <strong>trust</strong> of node i about the last node i − 1 <strong>in</strong> the path.<br />

This will ensure that the result will stay between 0 and 1. If the route conta<strong>in</strong>s un<strong>trust</strong>ed<br />

nodes (nodes with a low reputation), the results would drastically fall. Longer routes<br />

will <strong>in</strong>evitably appear more un<strong>trust</strong>worthy as each hop decreases the total <strong>trust</strong>worth<strong>in</strong>ess<br />

of the node. This metric does have the advantage of need<strong>in</strong>g only one field <strong>in</strong> the data<br />

transimission packet, as every hop only needs to look at the <strong>trust</strong>worth<strong>in</strong>ess-field and<br />

multiply it with the reputation of the last hop.<br />

Another space-conscious approach would be to calculate a square root of the multiplied<br />

number. We will call this the square root -method:<br />

<strong>trust</strong>worth<strong>in</strong>ess(x, y) =<br />

�<br />

<strong>trust</strong>worth<strong>in</strong>ess(i − 1, i − 2) ∗ reputationi(i − 1)<br />

This method requires the same <strong>in</strong>formation as the previous multiply-method. It works<br />

by multiply<strong>in</strong>g the previous <strong>in</strong>formation with the reputation of the previous hop, but also<br />

calculates a square root of the result. This has the added benefit of giv<strong>in</strong>g an estimate<br />

of the average reputation of all the nodes <strong>in</strong> the route. Unfortunately this method also<br />

places too much emphasis on the last hop and so tends to ’lose history’.<br />

A critical piece of <strong>in</strong>formation would be the number of hops a route comprises off. This<br />

<strong>in</strong>formation can easily be transmitted from the rout<strong>in</strong>g layer.<br />

One way this allows us to calculate the cha<strong>in</strong> of <strong>trust</strong> is by a simple arithmetic average of<br />

all of the reputations of the route:<br />

�ni=1 reputationi(i − 1)<br />

<strong>trust</strong>worth<strong>in</strong>ess(x, y) =<br />

n<br />

The average of reputations gives us a good estimate of the overall nature of the route while<br />

giv<strong>in</strong>g equal weight to each hop of the route.<br />

41


Another method of us<strong>in</strong>g the hop count of a route would be to count the multiplied<br />

reputations of the route with the hop count:th root:<br />

<strong>trust</strong>worth<strong>in</strong>ess(x, y) = n<br />

�<br />

�<br />

�<br />

� n �<br />

reputationi(i − 1)<br />

One major benefit of this approach is that lower reputations will have a larger impact on<br />

the total <strong>trust</strong>worth<strong>in</strong>ess of the route.<br />

To test the different metrics described above, we def<strong>in</strong>e three test scenarios and calculate<br />

the <strong>trust</strong>worth<strong>in</strong>ess with three of the four metrics, route average, hop count:th root and<br />

square root. We will omit the aggregated-metric, as it is not easily compared to the other<br />

three metrics. The most we can answer about the aggregated method is that the result<br />

will lower with every hop, f<strong>in</strong>ally result<strong>in</strong>g <strong>in</strong> very low numbers.<br />

Figure 8: Different methods of calculat<strong>in</strong>g cha<strong>in</strong>s of <strong>trust</strong> <strong>in</strong> a route consist<strong>in</strong>g of good,<br />

then bad, then good nodes.<br />

Figure 8 shows the <strong>trust</strong> calculations of the three metrics when a packet traverses 11 nodes.<br />

The reputations of the nodes decrease steadily from 0,9 to 0,1 as the packet moves from<br />

hop to hop and then rise steadily back to 0,9. The average and hop:th root-methods each<br />

react similarly to the reputations with the hot:th root-method return<strong>in</strong>g more pessimistic<br />

i=1<br />

42


esults. The square root-method reacts heavily to the s<strong>in</strong>k<strong>in</strong>g and ris<strong>in</strong>g reputations of<br />

the hops, and ends up with the most optimistic results.<br />

Figure 9: Different methods of calculat<strong>in</strong>g cha<strong>in</strong>s of <strong>trust</strong> <strong>in</strong> a route consist<strong>in</strong>g of bad<br />

nodes, then good nodes.<br />

Figure 9 has a route where the first half of hops have a bad reputation of 0,3 and 0,2, while<br />

the second half has hops with good reputations of 0,8 and 0,9. Aga<strong>in</strong>, the average and<br />

the hop:th root react similarly with hop:th root be<strong>in</strong>g more pessimistic aga<strong>in</strong>. The square<br />

root-method reacts to the changes very optimistically end<strong>in</strong>g with a very high result of<br />

0,85. This high a number would suggest that the route is very <strong>trust</strong>worthy, though <strong>in</strong><br />

reality it is not. This is a good example of how the square root-method forgets its history.<br />

Figure 10 shows a route with alternat<strong>in</strong>g bad (0,1) and good (0,9) hops. It shows what a<br />

sober<strong>in</strong>g effect the hop:th root-method has on the results. With a route that has a high<br />

contrast between each hop, the average-method gives results suggest<strong>in</strong>g neither good nor<br />

bad hops. The square root-method is less optimistic but reacts erratically to each hop.<br />

The hop:th root-method gives a bigger weight to the history of the route and so gives the<br />

most pessimistic and steady results.<br />

From these figures we see that both the arithmetic average- and hop:th root-method return<br />

similar results, with the hop:th root-method <strong>in</strong> general return<strong>in</strong>g the most pessimistic<br />

43


Figure 10: Different methods of calculat<strong>in</strong>g cha<strong>in</strong>s of <strong>trust</strong> <strong>in</strong> a route consist<strong>in</strong>g of alter-<br />

nat<strong>in</strong>g bad and good nodes.<br />

results, so both of them would be good candidates for def<strong>in</strong><strong>in</strong>g a cha<strong>in</strong> of <strong>trust</strong> out of<br />

<strong>in</strong>dividual reputations.<br />

4.4 Summary<br />

If a <strong>sensor</strong> network uses a <strong>trust</strong> management scheme, or <strong>in</strong> our case: uses a <strong>trust</strong>-based<br />

rout<strong>in</strong>g protocol, the nodes could aggregate <strong>in</strong>dividual <strong>trust</strong>s to form cha<strong>in</strong>s of <strong>trust</strong> from<br />

one node to another. This would allow nodes to identify packets from less <strong>trust</strong>worthy<br />

nodes near of far away. All this requires is a way of calculat<strong>in</strong>g <strong>in</strong>dividual op<strong>in</strong>ions <strong>in</strong>to one<br />

representative number. The previous chapter has proposed and compared some methods.<br />

One of these methods will be later simulated <strong>in</strong> the JSIM network simulator us<strong>in</strong>g the<br />

ATSR rout<strong>in</strong>g protocol described <strong>in</strong> Chapter 3.10.<br />

44


5 Results<br />

The JSIM network simulator was used to test how a cha<strong>in</strong> of <strong>trust</strong> scheme would work<br />

<strong>in</strong> a <strong>sensor</strong> network. The JSIM simulator was used ma<strong>in</strong>ly because it had support for<br />

simulat<strong>in</strong>g both <strong>sensor</strong> <strong>networks</strong> and the Dynamic Trusted Rout<strong>in</strong>g-protocol. A basic<br />

service discovery-protocol was then implemented on top of the Dynamic Truster Rout<strong>in</strong>g<br />

protocol-layer. The simulation was setup as a grid of <strong>sensor</strong> nodes.<br />

The simulations were divided <strong>in</strong>to 3 scenarios. Each scenario had a different number of<br />

nodes <strong>in</strong> different k<strong>in</strong>ds of locations. Each scenario was divided <strong>in</strong>to 2 tests. One test<br />

<strong>in</strong>cluded no malicious nodes and one had a number of malicious nodes, implement<strong>in</strong>g a<br />

black hole-attack. These two tests could then be compared to see how the network behaves<br />

when attack<strong>in</strong>g nodes are <strong>in</strong>side the network.<br />

Three metrics were calculated from each of these tests: average reputations of all the nodes<br />

and cha<strong>in</strong>s of <strong>trust</strong> towards two different nodes.<br />

An average reputation is derived as the arithmetic average of every nodes op<strong>in</strong>ion of a node<br />

(exclud<strong>in</strong>g the ones that don’t have an op<strong>in</strong>ion). When present<strong>in</strong>g the average reputation<br />

of nodes, the grid is populated with blue boxes that represent nodes, and black boxes that<br />

represent malicious black hole -nodes. The size of a box <strong>in</strong>dicates the average reputation<br />

of a node with a larger box mean<strong>in</strong>g a more reputable node. An example of this k<strong>in</strong>d of<br />

graph can be found <strong>in</strong> Figure 11.<br />

A cha<strong>in</strong> of <strong>trust</strong> is calculated for two ask<strong>in</strong>g nodes. This test is dependent on the position<br />

of the ask<strong>in</strong>g node <strong>in</strong> the grid and the average reputations of other nodes. The test reveals<br />

how <strong>trust</strong>worthy a service would be from any other node <strong>in</strong> the network for the ask<strong>in</strong>g<br />

node. When represent<strong>in</strong>g cha<strong>in</strong> of <strong>trust</strong> from one to to another, a different k<strong>in</strong>d of graph<br />

is used. One node is designated as the ask<strong>in</strong>g node, represented as a yellow box. Every<br />

other non-malicious node is represented as blue box, with the size of the box represent<strong>in</strong>g<br />

the <strong>trust</strong>worth<strong>in</strong>ess of a route to the ask<strong>in</strong>g node. Malicious nodes are presented as black<br />

boxes. An unknown node that could not be reached by the ask<strong>in</strong>g node is presented as a<br />

question mark (?). An example of this k<strong>in</strong>d of graph can be found <strong>in</strong> Figure 12 on page<br />

45


Figure 11: A graph of average reputations <strong>in</strong> a grid of nodes. The grid conta<strong>in</strong>s 17 normal<br />

nodes and 3 black hole -nodes.<br />

47.<br />

This way each scenario would produce 6 different results that could be used to assess how<br />

a <strong>trust</strong>ed rout<strong>in</strong>g protocol and a cha<strong>in</strong> of <strong>trust</strong> -scheme will operate <strong>in</strong> a <strong>sensor</strong> network.<br />

S<strong>in</strong>ce a <strong>trust</strong>ed rout<strong>in</strong>g protocol requires <strong>in</strong>formation about its neighbours before it will<br />

operate normally, the network was primed by transmitt<strong>in</strong>g random data between the<br />

nodes. This was implemented by two nodes on the opposite corners of the grid each<br />

download<strong>in</strong>g roughly 2 kB of data from each non-malicious node. In a 5x5 grid of nodes<br />

with 23 transmitt<strong>in</strong>g nodes and a 256 byte payload this would amount to around 170<br />

packets transmitted. At that po<strong>in</strong>t, every node will have a pretty good op<strong>in</strong>ion about its<br />

neighbours.<br />

5.1 Scenario 1: A cloud of nodes<br />

Scenario number 1 consists of 25 nodes aligned <strong>in</strong> a 5x5 grid. When malicious nodes are<br />

added to the grid, they are spaced as a cluster of 7 nodes near one side of the grid. Nodes<br />

<strong>in</strong> the opposite left lower- and right upper-corners function as the service ask<strong>in</strong>g nodes.<br />

46


Figure 12: A graph describ<strong>in</strong>g cha<strong>in</strong>s of <strong>trust</strong> of other nodes for node <strong>in</strong> position 0,0 (the<br />

yellow box). The larger the box, the more <strong>trust</strong>worthy a route to a node is. This graph<br />

conta<strong>in</strong>s 13 normal nodes (one unreachable) and 3 black hole -nodes.<br />

The addition of the black hole -nodes does not completely cut off the two corner nodes,<br />

but only a few friendly nodes connect the two nodes.<br />

The results from the scenario shows that at least when no malicious nodes are <strong>in</strong> the grid,<br />

both the average reputations and cha<strong>in</strong>s of <strong>trust</strong> are as predicted. F<strong>in</strong>d<strong>in</strong>gs from these<br />

graphs are:<br />

• In Figure 13c there seems to be number of nodes scattered randomly <strong>in</strong> the grid<br />

that are less <strong>trust</strong>worthy (under 0.7) than the rest of the nodes (above 0.75). This is<br />

because all of their service replies have taken a route through either nodes coord<strong>in</strong>ates<br />

0,100 or 100. This is because the node on 0,0 happens to have less <strong>trust</strong> for these<br />

two nodes. It appers that although all of the nodes have dropped packets, these two<br />

nodes have done it a bit more than their neighbours. So it is more a fault of why<br />

these two nodes have misbehaved, there is noth<strong>in</strong>g particularly wrong with the other<br />

47


nodes.<br />

• In Figure 13e the <strong>trust</strong>worth<strong>in</strong>ess of nodes seems to drop l<strong>in</strong>early <strong>in</strong> the node’s<br />

distance from the ask<strong>in</strong>g node. The different gradients of both Figures 13c and 13e<br />

are odd and have most likely someth<strong>in</strong>g to do with the simulator. Basically the<br />

situations should be identical but for some reason node 0 sees the network as less<br />

<strong>trust</strong>worthy than node 24. We conjectured that this is because the <strong>in</strong>itiation rout<strong>in</strong>e<br />

<strong>in</strong> the beg<strong>in</strong>n<strong>in</strong>g favors node 0, but <strong>in</strong>vert<strong>in</strong>g the order <strong>in</strong> the <strong>in</strong>itiation rout<strong>in</strong>e had<br />

no effect on the results.<br />

The results from the tests with black hole nodes show that the rout<strong>in</strong>g protocol is able to<br />

circumvent the malicious nodes. The malicious nodes also seem to have an effect on the<br />

reputations of the nodes that they almost completely surround. Outliers <strong>in</strong> the graphs<br />

<strong>in</strong>clude:<br />

• All the black hole -nodes suffer a reputation of around 0.57. The number should<br />

be lower. This is due to the fact that position of node to the dest<strong>in</strong>ation is given<br />

a weight<strong>in</strong>g factor of 0.5, so their reputations will not decrease until the position is<br />

given less weight.<br />

• In Figure 13b normal nodes <strong>in</strong> the left lower-corner of the grid have substantially<br />

lower reputations than the other normal nodes. This is due to the fact that the node<br />

<strong>in</strong> position 0,100 does not <strong>trust</strong> the node <strong>in</strong> position 0,0 (the ask<strong>in</strong>g node <strong>in</strong> this case),<br />

so it routes the packets through nodes 200,0 and 100,0. Upon close <strong>in</strong>spection the<br />

node <strong>in</strong> position 0,0 is not <strong>trust</strong>ed amongst its neighbours. Some of the nodes have<br />

sent a packet to the node and unfortunately the one and only packet that they sent<br />

was dropped, so they thought the node was a black hole. Here we see how dependent<br />

the <strong>trust</strong>worth<strong>in</strong>ess metric is on the proper operation of the rout<strong>in</strong>g layer.<br />

The previous measurements were done by compar<strong>in</strong>g two nodes on different corners of<br />

the grid. A different set of tests was committed to describe how neighbour<strong>in</strong>g nodes view<br />

the grid. The tests were done with the same parametres as scenario 1, us<strong>in</strong>g 7 blackhole-<br />

48


(a) Average reputations with no malicious<br />

nodes<br />

(c) Cha<strong>in</strong>s of <strong>trust</strong> for node 0, no malicious<br />

nodes<br />

(e) Cha<strong>in</strong>s of <strong>trust</strong> for node 24, no malicious<br />

nodes<br />

Figure 13: Results for scenario 1<br />

(b) Average reputations with 7 blackholes<br />

49<br />

(d) Cha<strong>in</strong>s of <strong>trust</strong> for node 0, with blackholes<br />

(f) Cha<strong>in</strong>s of <strong>trust</strong> for node 24, with blackholes


nodes. A row of 5 nodes were chosen to query for services from the grid and record the<br />

<strong>trust</strong>worth<strong>in</strong>ess-results they received. The results of these tests can be seen <strong>in</strong> Figure 14.<br />

The tests reveal that nodes on the right side of the grid, furthest away from the blackhole-<br />

nodes view most of the grid as more reliable than nodes beh<strong>in</strong>d the malicious cloud. This<br />

is because packets travell<strong>in</strong>g to these nodes do not have to circumvent the blackholes<br />

and as the hop count is smaller, the overall <strong>trust</strong>worth<strong>in</strong>ess of the route is higher. For<br />

<strong>in</strong>stance: a packet travell<strong>in</strong>g from node 400,400 (the node <strong>in</strong> the top-right corner) to node<br />

0,0 (bottom-left corner) have to traverse 4 hops of very reliable nodes result<strong>in</strong>g with a total<br />

<strong>trust</strong>-value of 0.765. When the same <strong>in</strong>formation is sent to node 400,0 <strong>in</strong> the bottom-right<br />

corner, the packets only traverse 2 reliable hops result<strong>in</strong>g with a <strong>trust</strong>-value of 0.927.<br />

5.2 Scenario 2: Two islands with one bridge<br />

Scenario 2 consists of two 3x5 grids of nodes connected by a ’bridge’ of 3 nodes. In the test<br />

that <strong>in</strong>clude hostile nodes, the 3 connect<strong>in</strong>g nodes are designated as black hole -nodes, to<br />

see if they can cut off communication from the two grids. The two nodes that are ask<strong>in</strong>g<br />

for services are placed <strong>in</strong> opposite corners of the two grids, so that they are as far away<br />

from each other as possible.<br />

The tests without malicious nodes (Figure 15) show that the rout<strong>in</strong>g protocol is able to<br />

f<strong>in</strong>d its way through the bridge and the two grids are able to communicate with each other.<br />

Some more f<strong>in</strong>d<strong>in</strong>gs from the graph:<br />

• In the average reputations, two nodes <strong>in</strong>side the clusters have a somewhat lower<br />

reputations than the others. This is because a few nodes have chosen to believe that<br />

the nodes are black holes. This is the same k<strong>in</strong>d of behaviour that was seen <strong>in</strong> the<br />

previous scenario. The nodes that do not <strong>trust</strong> the nodes with lower reputations<br />

have tried to send only one packet before giv<strong>in</strong>g up and label<strong>in</strong>g the malfunction<strong>in</strong>g<br />

node as a black hole.<br />

• In both the tests that measure <strong>trust</strong>worth<strong>in</strong>ess, the same malfunction can be seen.<br />

For example <strong>in</strong> Figure 15c the node <strong>in</strong> position 0,200 has a significantly lower <strong>trust</strong>-<br />

50


(a) Cha<strong>in</strong>s of <strong>trust</strong> for node 0, with blackholes (b) Cha<strong>in</strong>s of <strong>trust</strong> for node 5, with blackholes<br />

(c) Cha<strong>in</strong>s of <strong>trust</strong> for node 10, with blackholes (d) Cha<strong>in</strong>s of <strong>trust</strong> for node 15, with blackholes<br />

(e) Cha<strong>in</strong>s of <strong>trust</strong> for node 24, with blackholes<br />

Figure 14: Comparison of how different positions affect <strong>trust</strong>worth<strong>in</strong>ess-results.<br />

51


worth<strong>in</strong>ess as its neighbours. This is because it sent the transmission packet to a<br />

node that doesn’t <strong>trust</strong> it, hence result<strong>in</strong>g <strong>in</strong> a low <strong>trust</strong>worth<strong>in</strong>ess <strong>in</strong> the end. This<br />

happens, because two nodes may have totally different op<strong>in</strong>ions about each other<br />

and these op<strong>in</strong>ions have no correlation between themselves.<br />

From the tests that <strong>in</strong>clude malicious nodes, we see that the 3 black hole -nodes that<br />

connect the two grids effectively disrupt communications. The nodes ask<strong>in</strong>g for services<br />

<strong>in</strong> the different grids are unable to get a response from the opposite side, as marked by<br />

the question marks <strong>in</strong> graphs 16b and 16c. Other f<strong>in</strong>d<strong>in</strong>gs <strong>in</strong>clude:<br />

• Some nodes <strong>in</strong> the right grid have no reputation. Reputation among other normal<br />

nodes seems to be consistent.<br />

• There is a large variance <strong>in</strong> how <strong>trust</strong>worthy nodes appear <strong>in</strong>side their own grid.<br />

Some nodes have a <strong>trust</strong>woth<strong>in</strong>ess under 0.3 and the highest seem to have <strong>trust</strong>wor-<br />

th<strong>in</strong>ess of over 0.9. There also seems to be no apparent reason other than a larger<br />

hop count on some paths.<br />

5.3 Scenario 3: Two islands with two bridges<br />

The scenario consists of 2 3x5 grids of nodes connected by 2 5-node bridges. The tests<br />

that have malicious nodes, one of the bridges is designated as 5 black hole -nodes. This<br />

will show whether the rout<strong>in</strong>g protocol is able to f<strong>in</strong>d a function<strong>in</strong>g route between the two<br />

grids. The two nodes that ask for services are aga<strong>in</strong> designated <strong>in</strong> opposite corners, so<br />

that they are as far away from each other as possible.<br />

In the tests that have no attack<strong>in</strong>g nodes, it can be seen that the average reputation of<br />

nodes is spread out between the whole area. The highest reputations are over 0.9 and the<br />

lowest are just over 0.5. For some reason the left side of the area is seen as less reputable<br />

than the right side. The nodes <strong>in</strong> the middle of the bridges also have a lower reputation<br />

than the other nodes <strong>in</strong>side the bridges. Other f<strong>in</strong>d<strong>in</strong>gs <strong>in</strong>clude:<br />

52


(a) Average reputations with no malicious nodes<br />

(b) Cha<strong>in</strong>s of <strong>trust</strong> for node 0, no malicious nodes<br />

(c) Cha<strong>in</strong>s of <strong>trust</strong> for node 26, no malicious nodes<br />

Figure 15: Results for scenario 2, without malicious nodes.<br />

53


(a) Average reputations with blacholes<br />

(b) Service <strong>trust</strong>worth<strong>in</strong>ess for node 0, no malicious nodes<br />

(c) Service <strong>trust</strong>worth<strong>in</strong>ess for node 26, no malicious nodes<br />

Figure 16: Results for scenario 2, with blachole-nodes.<br />

54


• The <strong>trust</strong>worth<strong>in</strong>ess of nodes decreases rapidly the farther they are from the ask<strong>in</strong>g<br />

node. This is directly related to the amount of nodes a packet must hop, but for<br />

some reason is more apparent <strong>in</strong> this scenario that the previous.<br />

• The same behaviour that was seen <strong>in</strong> the previous scenario, nodes <strong>in</strong>side the ask<strong>in</strong>g<br />

nodes grid seem to have randomly high or low <strong>trust</strong>worth<strong>in</strong>ess.<br />

• Some nodes are unreachable.<br />

The tests that <strong>in</strong>clude malicious nodes showed more consistent results. The rout<strong>in</strong>g proto-<br />

col was able to establish routes us<strong>in</strong>g the proper bridge despite the bridge made entirely of<br />

black holes. The average reputations of the nodes are evenly spread out among the map.<br />

The middle node <strong>in</strong> the ’faulty’ bridge seems to have never received any contact because<br />

no normal node has knowledge if it. Other f<strong>in</strong>d<strong>in</strong>gs <strong>in</strong>clude:<br />

• The <strong>trust</strong>worth<strong>in</strong>ess of nodes is spread just as unevenly as <strong>in</strong> the previous test.<br />

The nodes that are <strong>in</strong> the same grid with the ask<strong>in</strong>g node seem to have random<br />

<strong>trust</strong>worth<strong>in</strong>ess. This aga<strong>in</strong> is because the rout<strong>in</strong>g has trouble f<strong>in</strong>d<strong>in</strong>g the shortest<br />

path to the recipient. Some nodes <strong>in</strong> the island are not <strong>trust</strong>ed by the other nodes<br />

so they reroute packets through unnecessary hops.<br />

• All the nodes <strong>in</strong> the adjacent island seem to have around the same <strong>trust</strong>worth<strong>in</strong>ess<br />

numbers, suggest<strong>in</strong>g the rout<strong>in</strong>g operates more consistently when fetch<strong>in</strong>g packets<br />

from there.<br />

5.4 Compar<strong>in</strong>g different <strong>trust</strong>-metrics<br />

All of the previous tests were done us<strong>in</strong>g the aggregated <strong>trust</strong>-metric, where every hop<br />

multiplies the <strong>trust</strong>worth<strong>in</strong>ess of the packet with the <strong>trust</strong> of the previous hop. This<br />

results <strong>in</strong> a gradual reduction of the overall <strong>trust</strong>worth<strong>in</strong>ess with every hop. As can be<br />

seen <strong>in</strong> every previous test, the further a node is, the lower the <strong>trust</strong>worth<strong>in</strong>ess of that<br />

node is. This happens <strong>in</strong> spite of the fact that usually every hop of the route is very<br />

reliable.<br />

55


(a) Average reputations without malicious nodes<br />

(b) Cha<strong>in</strong>s of <strong>trust</strong> for node 0, no malicious nodes<br />

(c) Cha<strong>in</strong>s of <strong>trust</strong> for node 28, no malicious nodes<br />

Figure 17: Results for scenario 3, without malicious nodes.<br />

56


(a) Average reputations with blackhole-nodes<br />

(b) Cha<strong>in</strong>s of <strong>trust</strong> for node 0, with blackhole-nodes<br />

(c) Cha<strong>in</strong>s of <strong>trust</strong> for node 28, with blackhole-nodes<br />

Figure 18: Results for scenario 3, with blachole-nodes.<br />

57


In Chapter 4.3 two other <strong>trust</strong>-metrics were proposed: the arithmetic average and the hop<br />

count:th root. These two metrics differ from the simple aggregated metric by describ<strong>in</strong>g<br />

the overall <strong>trust</strong>worth<strong>in</strong>ess of a route not by the length of the route but by the reputations<br />

of the hops. This chapter <strong>in</strong>troduces and compares results from these two metrics.<br />

Scenario 3 (two clouds of nodes connected by two bridges) was used to gather results<br />

for both the average and hop counth root-methods. The parameters for the experiment<br />

were the same as <strong>in</strong> Figures 18b and 18c. One of the connect<strong>in</strong>g bridges was filled with<br />

malicious blackhole-nodes. Two nodes on the opposite corners of the grid then measured<br />

the <strong>trust</strong>worth<strong>in</strong>ess of every non-malicious node <strong>in</strong> the grid. The results of these tests can<br />

be seen <strong>in</strong> Figure 19.<br />

The tests revealed very similar results between the two metrics, <strong>in</strong>fer<strong>in</strong>g that the differences<br />

are not as stark as proposed <strong>in</strong> Chapter 4.3. Although scenario 3 is probably not a very<br />

realistic scenario, it does h<strong>in</strong>t that when travers<strong>in</strong>g even long routes of equally reputable<br />

nodes both metrics behave very similarly. Closer <strong>in</strong>spection of the results reveals that<br />

when the packets travel the same routes, the average-method does return slightly more<br />

optimistic results but these differences are m<strong>in</strong>iscule. The actual rout<strong>in</strong>g of the packets<br />

has a much larger impact on the results <strong>in</strong> Figures 19a to 19d.<br />

So <strong>in</strong>stead of recommend<strong>in</strong>g which method would be best suited <strong>in</strong> real life use, these<br />

tests reveal that when given a large grid of nodes with parametres somewhat close to what<br />

they will be <strong>in</strong> reality, both methods can be expected to behave almost similarly. The<br />

differences <strong>in</strong> all of the tests were so small that choos<strong>in</strong>g between the two should yield to<br />

technical considerations <strong>in</strong>stead.<br />

5.5 Identify<strong>in</strong>g malicious nodes<br />

To test whether the cha<strong>in</strong> of <strong>trust</strong> could be used to detect malicious nodes from friendly<br />

nodes, a new scenario was prepared. 100 nodes were placed <strong>in</strong> a 10 x 10 grid, with a<br />

4x4 box of 16 blackhole nodes near the center of the field. This time the blackholes were<br />

programmed to reply to service requests, so that it could be seen whether their cha<strong>in</strong> of<br />

<strong>trust</strong> could separate them from the friendly nodes. The test was the same as the previous<br />

58


(a) Cha<strong>in</strong>s of <strong>trust</strong> for node 28 with blackhole-nodes, us<strong>in</strong>g the hop count:th root metric<br />

(b) Cha<strong>in</strong>s of <strong>trust</strong> for node 28 with blackhole-nodes, us<strong>in</strong>g the arithmetic average of reputa-<br />

tions<br />

(c) Cha<strong>in</strong>s of <strong>trust</strong> for node 28, with blackhole-nodes, us<strong>in</strong>g the hop count:th root metric<br />

(d) Cha<strong>in</strong>s of <strong>trust</strong> for node 28 with blackhole-nodes, us<strong>in</strong>g the arithmetic average of reputa-<br />

tions<br />

Figure 19: Compar<strong>in</strong>g the arithmetic average and hop count:th root <strong>trust</strong>-metrics <strong>in</strong> sce-<br />

nario 3.<br />

59


scenarios <strong>in</strong> every other sense, the <strong>trust</strong>-values of <strong>in</strong>dividual nodes were multiplied together<br />

to form the same aggregated <strong>trust</strong>worth<strong>in</strong>ess-value. The larger network was primed by<br />

4 nodes <strong>in</strong> each opposite corner of the field download<strong>in</strong>g some 10 packets from each and<br />

every other node. This allowed every node to form a good op<strong>in</strong>ion about their neighbour<strong>in</strong>g<br />

nodes. The results of this test can be seen <strong>in</strong> Figure 20. The node that asked the service<br />

was located <strong>in</strong> the upper-left corner of the field.<br />

The test was largely successful, because every malicious blackhole node has a substantially<br />

smaller <strong>trust</strong> than their neigbours. This means the scheme avoided giv<strong>in</strong>g out false-<br />

positives. Instead we see a lot of false-negatives also. This is ma<strong>in</strong>ly a fault of the rout<strong>in</strong>g<br />

protocol, and the same k<strong>in</strong>d of behaviour could be seen <strong>in</strong> the previous tests also. Nodes<br />

further away from the ask<strong>in</strong>g node have a lower <strong>trust</strong>worth<strong>in</strong>ess-value.<br />

5.6 Summary of tests<br />

The results from the all the simulations showed that a cha<strong>in</strong> of <strong>trust</strong> can be used to measure<br />

the <strong>trust</strong>worth<strong>in</strong>ess of a <strong>sensor</strong> network. Much of the accuracy of such a scheme stems<br />

from the underly<strong>in</strong>g <strong>trust</strong> management solution. The way an <strong>in</strong>dividual node monitors its<br />

neighbours has the biggest <strong>in</strong>fluence on the results of a long cha<strong>in</strong> of reputations <strong>in</strong> a cha<strong>in</strong><br />

of <strong>trust</strong>. In fact, discrepancies <strong>in</strong> the rout<strong>in</strong>g protocol was the only source of false negatives<br />

<strong>in</strong> our tests. The rest of the smaller questions fall back to how the cha<strong>in</strong> of <strong>in</strong>dividual<br />

reputations is calculated <strong>in</strong>to a s<strong>in</strong>gle number. This equation determ<strong>in</strong>es for example: the<br />

limit where a good node is considered a bad node, how much an <strong>in</strong>dividual op<strong>in</strong>ion affects<br />

the whole cha<strong>in</strong> and how the f<strong>in</strong>al result should be <strong>in</strong>terpreted. The methods given here<br />

are by no means perfect; they all have their faults. But what we can learn here is that<br />

given a map of nodes and some <strong>trust</strong> management solution, an cha<strong>in</strong> of <strong>trust</strong> calculated<br />

from <strong>in</strong>dividual op<strong>in</strong>ions can be used to extract <strong>in</strong>terest<strong>in</strong>g and possibly useful <strong>in</strong>formation<br />

from the network.<br />

60


Figure 20: Identify<strong>in</strong>g malicious nodes from a large field of nodes. For clarity, this picture<br />

only presents a nodes <strong>trust</strong> as boxes without text. Friendly nodes are colored blue, and<br />

blackhole nodes are black.<br />

6 Conclusions and future work<br />

This thesis has dealt with rout<strong>in</strong>g <strong>in</strong> <strong>sensor</strong> <strong>networks</strong>. A number of different rout<strong>in</strong>g pro-<br />

tocols were highlighted along with some that <strong>in</strong>corporated distributed <strong>trust</strong> management<br />

systems. Distributed <strong>trust</strong> management systems have been proposed as a way of combat-<br />

<strong>in</strong>g an event of node capture. A capture can occur when an attacker ga<strong>in</strong>s physical access<br />

to a node and reprograms it to attack or disrupt the network.<br />

The <strong>trust</strong>-based rout<strong>in</strong>g protocols def<strong>in</strong>ed different ways of detect<strong>in</strong>g these malicious nodes<br />

and all used this <strong>in</strong>formation to base some of their rout<strong>in</strong>g decisions. The l<strong>in</strong>e between<br />

61


friendly and malicious was never seen as a clear l<strong>in</strong>e, but <strong>in</strong>stead a gradual transition from<br />

one end to another.<br />

A open question is whether any of these <strong>trust</strong> management systems are effective <strong>in</strong> de-<br />

tect<strong>in</strong>g a realworld attack though captured nodes. Many of the systems focused on packet<br />

forward<strong>in</strong>g or rout<strong>in</strong>g duties to detect malicious nodes. No real data was shown about<br />

what would be the most realistic way to detect an attacker from a <strong>sensor</strong> network.<br />

Regardless of the fact how a malicious node will be detected, the <strong>trust</strong> <strong>in</strong>formation could<br />

be used further def<strong>in</strong>e the network. A cha<strong>in</strong> of <strong>trust</strong> could be used to describe one node to<br />

another. Ways of calculat<strong>in</strong>g this cha<strong>in</strong> were <strong>in</strong>troduced and simulation results on small<br />

<strong>sensor</strong> <strong>networks</strong> were presented. The results showed that such a scheme can work if the<br />

rout<strong>in</strong>g protocol works well.<br />

Future work could be directed towards prov<strong>in</strong>g the feasibility of <strong>trust</strong> management and<br />

further; <strong>trust</strong>-based rout<strong>in</strong>g <strong>in</strong> <strong>sensor</strong> <strong>networks</strong>. Node capture is a grave threat to a <strong>sensor</strong><br />

network, and a work<strong>in</strong>g <strong>trust</strong> management solution should be able to identify and isolate<br />

compromised nodes from a network. If a <strong>trust</strong> management solution fails to do this, it<br />

can only give a bl<strong>in</strong>d estimate about node reliability, which is a whole other matter. A<br />

work<strong>in</strong>g <strong>trust</strong> management solution could then be used as <strong>in</strong>put for other services that a<br />

<strong>sensor</strong> network depends on, such as service discovery.<br />

References<br />

AKG06 Abusalah, L., Khokhar, A. and Guizani, M., Nis01-4: Trust-aware rout<strong>in</strong>g <strong>in</strong><br />

mobile ad hoc <strong>networks</strong>. IEEE Global Telecommunications Conference, 2006.<br />

GLOBECOM ’06.<br />

ASSC02 Akyildiz, I., Su, W., Sankarasubramaniam, Y. and Cayirci, E., A survey on<br />

<strong>sensor</strong> <strong>networks</strong>. Communications Magaz<strong>in</strong>e, IEEE, 40,8(2002), pages 102 –<br />

114.<br />

AY05 Akkaya, K. and Younis, M., A survey on rout<strong>in</strong>g protocols for wireless <strong>sensor</strong><br />

<strong>networks</strong>. Elsevier Ad Hoc Networks Journal, 3,3(2005), pages 325–349.<br />

62


BB02 Buchegger, S. and Boudec, J.-Y., Performance analysis of the confidant pro-<br />

tocol. Proceed<strong>in</strong>gs of the 3rd ACM <strong>in</strong>ternational symposium on Mobile ad hoc<br />

network<strong>in</strong>g & comput<strong>in</strong>g, MobiHoc, pages 226 – 236.<br />

BBD06 Becher, A., Benenson, Z. and Dornseif, M., Tamper<strong>in</strong>g with motes: Real-<br />

world physical attacks on wireless <strong>sensor</strong> <strong>networks</strong>. Security <strong>in</strong> Pervasive<br />

Comput<strong>in</strong>g, Lecture Notes <strong>in</strong> Computer Science, 3934, pages 104 – 118.<br />

BT Bluetooth technology <strong>in</strong>fo site. http://www.bluetooth.com. [7.4.2009]<br />

CT04 Chang, J.-H. and Tassiulas, L., Maximum lifetime rout<strong>in</strong>g <strong>in</strong> wireless <strong>sensor</strong><br />

<strong>networks</strong>. IEEE/ACM Transactions on Network<strong>in</strong>g, 12, pages 609 – 619.<br />

FC08 Francillon, A. and Castelluccia, C., Code <strong>in</strong>jection attacks on harvard-<br />

architecture devices. CCS ’08: Proceed<strong>in</strong>gs of the 15th ACM conference on<br />

Computer and communications security, pages 15 – 26.<br />

FGRL07 Fernandez-Gago, M., Roman, R. and Lopez, J., A survey on the applicability<br />

of <strong>trust</strong> management systems for wireless <strong>sensor</strong> <strong>networks</strong>. Third Interna-<br />

tional Workshop on Security, Privacy and Trust <strong>in</strong> Pervasive and Ubiquitous<br />

Comput<strong>in</strong>g, 2007. SECPerU 2007, pages 25 – 30.<br />

GE01 Gov<strong>in</strong>dan, R. and Estr<strong>in</strong>, D., Geographical and energy aware rout<strong>in</strong>g: a re-<br />

cursive data dissem<strong>in</strong>ation protocol for wireless <strong>sensor</strong> <strong>networks</strong>. UCLA Com-<br />

puter Science Department Technical Report UCLA/CSD-TR-01-0023.<br />

SLP Guttman, E., Perk<strong>in</strong>s, C., Veizades, J. and Day, M., Service Location Proto-<br />

col, version 2. Request for Comments (Standards Track) 2608, 1999. URL<br />

http://tools.ietf.org/html/rfc2608.<br />

HCB00 He<strong>in</strong>zelman, W. R., Chandrakasan, A. and Balakrishnan, H., Energy-efficient<br />

communication protocol for wireless micro<strong>sensor</strong> <strong>networks</strong>. Proceed<strong>in</strong>gs of the<br />

33rd Hawaii International Conference on System Sciences.<br />

HKB99 He<strong>in</strong>zelman, W., Kulik, J. and Balakrishnan, H., Adaptive protocols for <strong>in</strong>for-<br />

mation dissem<strong>in</strong>ation <strong>in</strong> wireless <strong>sensor</strong> <strong>networks</strong>. MobiCom ’99: Proceed<strong>in</strong>gs<br />

63


of the 5th annual ACM/IEEE <strong>in</strong>ternational conference on Mobile comput<strong>in</strong>g<br />

and network<strong>in</strong>g, pages 174 – 185.<br />

HLK07 Hung, K.-S., Lui, K.-S. and Kwok;, Y.-K., A <strong>trust</strong>-based geographical rout-<br />

<strong>in</strong>g scheme <strong>in</strong> <strong>sensor</strong> <strong>networks</strong>. Wireless Communications and Network<strong>in</strong>g<br />

Conference, 2007, IEEE WCNC 2007, pages 3123 – 3127.<br />

IGE00 Intanagonwiwat, C., Gov<strong>in</strong>dan, R. and Estr<strong>in</strong>, D., Directed diffusion: a scal-<br />

able and robust communication paradigm for <strong>sensor</strong> <strong>networks</strong>. MobiCom ’00:<br />

Proceed<strong>in</strong>gs of the 6th annual <strong>in</strong>ternational conference on Mobile comput<strong>in</strong>g<br />

and network<strong>in</strong>g, pages 56–67.<br />

JSIM The JSIM homepage. http://www.j-sim.org/. [7.4.2009]<br />

KK00 Karp, B. and Kung, H., Gpsr: greedy perimeter stateless rout<strong>in</strong>g for wire-<br />

less <strong>networks</strong>. MobiCom ’00: Proceed<strong>in</strong>gs of the 6th annual <strong>in</strong>ternational<br />

conference on Mobile comput<strong>in</strong>g and network<strong>in</strong>g, pages 243 – 254.<br />

KW03 Karlof, C. and Wagner, D., Secure rout<strong>in</strong>g <strong>in</strong> wireless <strong>sensor</strong> <strong>networks</strong>: attacks<br />

and countermeasures. Proceed<strong>in</strong>gs of the First IEEE International Workshop<br />

on Sensor Network Protocols and Applications, pages 113 – 127.<br />

LS05 Li, H. and S<strong>in</strong>ghal, M., A secure rout<strong>in</strong>g protocol for wireless ad hoc <strong>networks</strong>.<br />

Proceed<strong>in</strong>gs of the 39th Annual Hawaii International Conference on System<br />

Sciences, 2006. HICSS ’06., 9, pages 225a – 225a.<br />

MCP + 02 Ma<strong>in</strong>war<strong>in</strong>g, A., Culler, D., Polastre, J., Szewczyk, R. and Anderson, J.,<br />

Wireless <strong>sensor</strong> <strong>networks</strong> for habitat monitor<strong>in</strong>g. WSNA ’02: Proceed<strong>in</strong>gs of<br />

the 1st ACM <strong>in</strong>ternational workshop on Wireless <strong>sensor</strong> <strong>networks</strong> and appli-<br />

cations, pages 88 – 97.<br />

MGLB00 Marti, S., Giuli, T. J., Lai, K. and Baker, M., Mitigat<strong>in</strong>g rout<strong>in</strong>g misbehav-<br />

ior <strong>in</strong> mobile ad hoc <strong>networks</strong>. Proceed<strong>in</strong>gs of the 6th annual <strong>in</strong>ternational<br />

conference on Mobile comput<strong>in</strong>g and network<strong>in</strong>g, pages 255 – 265.<br />

64


MICAZ The MicaZ datasheet. http://www.xbow.com/Products/Product_pdf_<br />

files/Wireless_pdf/MICAz_Datasheet.pdf. [7.4.2009]<br />

MM02a Michiardi, P. and Molva, R., Core: A collaborative reputation mechanism<br />

to enforce node cooperation. Proceed<strong>in</strong>gs of the IFIP TC6/TC11 Sixth Jo<strong>in</strong>t<br />

Work<strong>in</strong>g Conference on Communications and Multimedia Security: Advanced<br />

Communications and Multimedia Security, pages 107 – 121.<br />

MM02b Michiardi, P. and Molva, R., Simulation-based analysis of security exposures<br />

<strong>in</strong> mobile ad hoc <strong>networks</strong>. European Wireless Conference 2002, Next Gener-<br />

ation Wireless Networks: Technologies, Protocols, Services and Applications,<br />

Florence Italy, Jan 2002.<br />

MN07 Maarouf, I. and Naseer, A., Wsnoderater - an optimized reputation system<br />

framework for security aware energy efficient geographic rout<strong>in</strong>g <strong>in</strong> wsns.<br />

Computer Systems and Applications, 2007. AICCSA ’07. IEEE/ACS Inter-<br />

national Conference on, pages 258 – 265.<br />

PK00 Pottie, G. and Kaiser, W., Wireless <strong>in</strong>tegrated network <strong>sensor</strong>s. Communica-<br />

tions of the ACM, 43,5(2000), pages 51–58.<br />

PM07 Pirzada, A. and McDonald, C., Trusted greedy perimeter stateless rout<strong>in</strong>g.<br />

Networks, 2007. ICON 2007. 15th IEEE International Conference on, pages<br />

206 – 211.<br />

PSW04 Perrig, A., Stankovic, J. and Wagner, D., Security <strong>in</strong> wireless <strong>sensor</strong> <strong>networks</strong>.<br />

Communications of the ACM, 47,6(2004), pages 53 – 57.<br />

SA03 Stankovic, J. A. and Abdelzaher, T., SPEED: A stateless protocol for real-<br />

time communication <strong>in</strong> <strong>sensor</strong> <strong>networks</strong>. Proceed<strong>in</strong>gs of the 23rd International<br />

Conference on Distributed Comput<strong>in</strong>g Systems, 2003.<br />

SML Introduction to SensorML. http://vast.uah.edu/SensorML. [7.4.2009]<br />

SENSI Sens<strong>in</strong>ode homepage. http://www.sens<strong>in</strong>ode.com. [7.4.2009]<br />

65


SLL09 Shaikh, R., Lee, Y.-K. and Lee, S., Energy consumption analysis of<br />

reputation-based <strong>trust</strong> management schemes of wireless <strong>sensor</strong> <strong>networks</strong>.<br />

ICUIMC ’09: Proceed<strong>in</strong>gs of the 3rd International Conference on Ubiquitous<br />

Information Management and Communication.<br />

SPEC2 Researchers create wireless <strong>sensor</strong> chip the size of glitter. http://www.<br />

universityofcalifornia.edu/news/article/5456. [7.4.2009]<br />

SPEC Spec takes the next step toward the vision of true smart dust. http://www.<br />

jlhlabs.com/jhill_cs/spec/. [7.4.2009]<br />

SZ08 Song, F. and Zhao, B., Trust-based leach protocol for wireless <strong>sensor</strong> <strong>networks</strong>.<br />

Second International Conference on Future Generation Communication and<br />

Network<strong>in</strong>g, 2008. FGCN ’08., 1, pages 202 – 207.<br />

TINYOS The T<strong>in</strong>yOS homepage. http://www.t<strong>in</strong>yos.net. [7.4.2009]<br />

UPNP The UPNP forum. http://www.upnp.org. [7.4.2009]<br />

VRYT08 Vyas, R., Rida, A., Yang, L. and Tentzeris, M., Design and development of the<br />

first entirely paper-based wireless <strong>sensor</strong> module. Antennas and Propagation<br />

Society International Symposium, 2008. AP-S 2008. IEEE.<br />

XBOW Crossbow technology. http://www.xbow.com/. [7.4.2009]<br />

DYN Zahariadis, T., Trakadas, P., Leligou, H., Papadopoylos, K., Ladis, E., Tse-<br />

likis, C., Vangelatos, C., Besson, L., Manner, J., Loupis, M., Alvarez, F.<br />

and Papaefstathiou, Y., Secur<strong>in</strong>g wireless <strong>sensor</strong> <strong>networks</strong> towards a <strong>trust</strong>ed<br />

”<strong>in</strong>ternet of th<strong>in</strong>gs”. Future of the Internet Conference 2009, Prague.<br />

66

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

Saved successfully!

Ooh no, something went wrong!