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.

The access carriers travels through r random no<strong>de</strong>s before being forwar<strong>de</strong>d back to<br />

the gateway. Each no<strong>de</strong> checks how many times a carrier has been forwar<strong>de</strong>d by counting<br />

the number of encryptions on the route information part. Based on the count, the no<strong>de</strong><br />

<strong>de</strong>termines the packet’s <strong>de</strong>stination. That is, if the count is less then r (r was <strong>de</strong>fined in the<br />

setup phase) the no<strong>de</strong> continues forwarding the packet. Otherwise, if the count is equal<br />

to r, that means the current no<strong>de</strong> is the last one in the random route and should send the<br />

carrier back to the gateway. The gateway receives the carrier sent back from a no<strong>de</strong> and<br />

verifies its correctness. In or<strong>de</strong>r to perform this, the gateway first <strong>de</strong>crypts each encrypted<br />

secret parameter. After that, it obtains the plaintext of each shared symmetric key which<br />

works as no<strong>de</strong>’s i<strong>de</strong>ntification. Based on that, it discovers the carrier’s route by checking<br />

the or<strong>de</strong>r of these keys. From this knowledge, the onioned data can be <strong>de</strong>crypted. At the<br />

end, the gateway may have a set of plain access requests, and thus, will be able to provi<strong>de</strong><br />

access to the requesters. The protocol is verified based on the success of <strong>de</strong>cryption<br />

operation over the onioned data. If it is not successful, the protocol has not been properly<br />

followed and the gateway drops the carrier.<br />

As an example, suppose a gateway G, a parameter r = 6, and a sequence of<br />

no<strong>de</strong>s N 1 , . . . , N 7 , hops of a random route. Suppose N 1 , N 2 , N 4 , N 5 , and N 7 are just<br />

forwar<strong>de</strong>rs, whereas N 3 and N 6 are requesters. At first, G generates an access carrier<br />

E k1 (nonce) containing a nonce value encrypted with the shared symmetric key k 1 . This<br />

encryption is performed as a mean to authenticate the packet to N 1 . After receiving the<br />

carrier, N 1 processes it by padding onioned data with dummy bits and then encrypting<br />

the result using k 1 to obtain E k1 (nonce, pad). Then N 1 generates its encrypted secret<br />

parameter E G (k 1 ) and inserts it into to the route part of the carrier. Finally, N 1 sends the<br />

new carrier, E k1 (nonce, pad), E G (k 1 ), to the no<strong>de</strong> N 2 .<br />

N 2 , N 4 , N 5 operates exactly as N 1 .On the other hand, N 3 and N 6 proceeds slightly<br />

different. As requesters, rather than adding padding bits, they add an actual request into<br />

the onioned data. After finishing, N 6 sends the carrier to N 7 . As any other no<strong>de</strong> in the<br />

route, N 7 verifies if the number of parameters on the route part are equal to r. Up to that<br />

point, as the route part has 6 encryptions and r = 6, N 7 just forwards the carrier back to<br />

G. The following message flow summarizes this example.<br />

G → N 1 : E k1 (nonce)<br />

N 1 → N 2 : E k1 (nonce, pad), E G (k 1 )<br />

N 2 → N 3 : E k2 (E k1 (nonce, pad), pad), E G (k 1 )‖E G (k 2 )<br />

N 3 → N 4 : E k3 (E k2 (E k1 (nonce, pad), pad)req 3 ), E G (k 1 )‖E G (k 2 )‖E G (k 3 )<br />

N 4 → N 5 : E k4 (E k3 (E k2 (E k1 (nonce, pad), pad), req 3 ), pad),<br />

E G (k 1 )‖E G (k 2 )‖E G (k 3 )‖E G (k 4 )<br />

N 5 → N 6 : E k5 (E k4 (E k3 (E k2 (E k1 (nonce, pad), pad), req 3 ), pad), pad),<br />

E G (k 1 )‖E G (k 2 )‖E G (k 3 )‖E G (k 4 )‖E G (k 5 )<br />

N 6 → N 7 : E k6 (E k5 (E k4 (E k3 (E k2 (E k1 (nonce, pad), pad), req 3 ), pad), pad), req 6 ),<br />

E G (k 1 )‖E G (k 2 )‖E G (k 3 )‖E G (k 4 )‖E G (k 5 )‖E G (k 6 )<br />

N 7 → G : E k6 (E k5 (E k4 (E k3 (E k2 (E k1 (nonce, pad), pad), req 3 ), pad), pad), req 6 ),<br />

E G (k 1 )‖E G (k 2 )‖E G (k 3 )‖E G (k 4 )‖E G (k 5 )‖E G (k 6 )<br />

344

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

Saved successfully!

Ooh no, something went wrong!