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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

carrier visited in a random route. We implement no<strong>de</strong>s’ encrypted secret parameter by<br />

encrypting the previously mentioned shared symmetric key k i (a unique parameter) with<br />

the public key G of the gateway, to obtain E G (k i ) – though, there are other ways to<br />

implement this. Each ciphertext is inserted into the route part of carrier and concatenated<br />

to the previous ones. At the end of a route of length r, the route information would be as<br />

follows: E G (k 1 )‖E G (k 2 )‖...‖E G (k r−1 )‖E G (k r )<br />

Due to this concatenation structure, any mesh no<strong>de</strong> can count how many secret parameters<br />

have been inclu<strong>de</strong>d in the carrier. However, they cannot <strong>de</strong>termine the originator<br />

no<strong>de</strong>, since these parameters are encrypted. Hence, insi<strong>de</strong>rs and outsi<strong>de</strong>rs are unable to<br />

know the entire route the carrier took. That count is the criterion that no<strong>de</strong>s use to stop<br />

forwarding the carrier. When a carrier reaches the gateway, it <strong>de</strong>crypts each no<strong>de</strong>s’ secret<br />

parameter to discover which hops the carrier has visited. This information is important to<br />

check the correctness of the protocol, as <strong>de</strong>tailed in the next section.<br />

3.4. The Protocol Description<br />

The protocol is composed of three phases: access, downlink and uplink phases. These<br />

phases are prece<strong>de</strong>d by a setup phase.<br />

1. Setup Phase<br />

Before the no<strong>de</strong>s begin sending or receiving data to/from the gateway, they first<br />

need to generate and distribute key material. In particular, the gateway generates a pair<br />

of asymmetric keys and sends its public key to every mesh no<strong>de</strong>. After that, each no<strong>de</strong><br />

generates a symmetric key and shares it with the gateway. To perform this, each no<strong>de</strong><br />

encrypts its key with the gateway’s public key and sends it to the gateway. Additionally,<br />

a key sharing protocol must be performed between each mesh no<strong>de</strong> and their neighbours<br />

(i.e. the no<strong>de</strong>s within the communication range). These keys will be used for the no<strong>de</strong>s<br />

single-hop communication.<br />

In addition, the gateway <strong>de</strong>fines the number of no<strong>de</strong>s r that a carrier should visit<br />

before being forwar<strong>de</strong>d back to the gateway. This value may consi<strong>de</strong>r the number of<br />

mesh no<strong>de</strong>s (and thus estimating network traffic) and the level of anonymity that should<br />

be achieved. The anonymity level is further commented in the Section 3.5.<br />

2. Access Phase<br />

The protocol starts with the access carriers generation by the gateway. Initially,<br />

this carrier contains only an encrypted nonce value, used to protect the network against<br />

replay attacks. The gateway periodically generates access carriers and casts them to the<br />

mesh network. When a no<strong>de</strong> receives a carrier and wants to make a request, it inserts a<br />

valid access request into the onioned data section, encrypts the result with its shared key,<br />

and then forwards the carrier to any hop within its communication range. However, if a<br />

no<strong>de</strong> has no request to make, it proceeds as before, except that it inserts padding bits into<br />

onioned data part, instead of an actual request.<br />

Besi<strong>de</strong>s operating on the first part of the carrier, each no<strong>de</strong> adds its encrypted<br />

secret parameter into the route information part. Later on, the gateway will use this information<br />

to verify which hops the carrier visited. Since the route is randomly taken, having<br />

this knowledge ensures that the carrier visited different and valid no<strong>de</strong>s in the network.<br />

343

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

Saved successfully!

Ooh no, something went wrong!