18.11.2014 Views

Anais - Engenharia de Redes de Comunicação - UnB

Anais - Engenharia de Redes de Comunicação - UnB

Anais - Engenharia de Redes de Comunicação - UnB

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.

We consi<strong>de</strong>r two kinds of computer-boun<strong>de</strong>d adversaries: an insi<strong>de</strong>r and an outsi<strong>de</strong>r.<br />

The insi<strong>de</strong>r is a malicious no<strong>de</strong> in the set of no<strong>de</strong>s that compose the mesh network.<br />

It can perform any task that other mesh no<strong>de</strong>s are able to, such as forwarding packets,<br />

checking packets type, and making an access request to the gateway. The outsi<strong>de</strong>r is a<br />

malicious no<strong>de</strong> that is not in the set of no<strong>de</strong>s that compose the mesh network. It can monitor<br />

the mesh no<strong>de</strong>s and the gateway activities. Also, it can <strong>de</strong>termine which web activities<br />

are performed by the gateway on behalf of mesh no<strong>de</strong>s. We assume a small number of<br />

insi<strong>de</strong>rs and one or few outsi<strong>de</strong>rs. Insi<strong>de</strong>rs and outsi<strong>de</strong>rs may cooperate to launch attacks<br />

against mesh no<strong>de</strong>s’ privacy. They may inject or modify traffic, try to replay messages,<br />

jam no<strong>de</strong>s’ communication, etc. Also, we consi<strong>de</strong>r that the no<strong>de</strong>s cannot stop the message<br />

flow.<br />

3.3. The Data Carrier<br />

The data carrier is a specific purpose packet periodically issued by the gateway router.<br />

When a no<strong>de</strong> wants to either make an access request or send uplink data to the gateway,<br />

it has to wait for the appropriate data carrier. If a no<strong>de</strong> wants to make an access request,<br />

then it uses the access carrier; if it wants to send uplink data, it should use the uplink<br />

carrier. Both carriers, however, have the same basic structure and they will be addressed<br />

in this section as data carrier.<br />

The data carrier consists of two well-<strong>de</strong>fined parts. The first part is called<br />

onioned data and the second one is called encrypted route information. The onioned<br />

data part is composed of a multilayer encrypted data, i.e. an onion. It is built by successively<br />

encrypting the received data carrier at each mesh no<strong>de</strong>. As an onion, the<br />

onioned data may be constructed by either employing a symmetric cryptosystem, such<br />

as AES [Daemen and Rijmen 2002], or an asymmetric cryptosystem, such as El Gamal<br />

[Gamal 1985]. Here we employ a symmetric cryptosystem to build the onion. Throughout<br />

this paper we <strong>de</strong>note E X (·) a ciphertext using the symmetric or public key X.<br />

The onioned data has the following general format:<br />

E kr (...E k2 (E k1 (data 1 ), data 2 )..., data r ), where k i is a symmetric key shared between<br />

the gateway and a no<strong>de</strong> i, and data i is the plain data inserted by each mesh no<strong>de</strong><br />

i; data r is the data corresponding to the last no<strong>de</strong> of a route of length r. Note that<br />

this approach enables multiple no<strong>de</strong>s using the same carrier to communicate with the<br />

gateway. Additionally, data i could be just padding bits in case a no<strong>de</strong> has no data to<br />

inclu<strong>de</strong> into the carrier.<br />

As stated before, the data carrier is just a packet abstraction. The actual packets<br />

are the access and the uplink carriers. Hence, data i is actually a request (<strong>de</strong>noted as req)<br />

if the packet is an access carrier, the req is composed of {reqId, url, N i }, where reqId<br />

is the request’s i<strong>de</strong>ntification generated by the requester no<strong>de</strong>, url is the Internet address<br />

that the no<strong>de</strong> wants to access and N i is the no<strong>de</strong>’s i<strong>de</strong>ntification. Differently, if the packet<br />

is an uplink carrier, the data will be uplink = {url, updata, N i }, where url is the web<br />

<strong>de</strong>stination of the uplink data, and updata is the uplink traffic the active no<strong>de</strong> is sending.<br />

The second part of the carrier, the encrypted route information, consists of a set<br />

of no<strong>de</strong>s’ encrypted secret parameters. A no<strong>de</strong>’s secret parameter is a unique information<br />

about the no<strong>de</strong>, which, later on, will work as the no<strong>de</strong>’s i<strong>de</strong>ntification. Precisely, when<br />

the carrier returns to the gateway, it uses these parameters to i<strong>de</strong>ntify which no<strong>de</strong>s the<br />

342

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

Saved successfully!

Ooh no, something went wrong!