For detailed information, please view our
talk at SIGCOMM 2015
or check out the
FAQ page. Below is a high-level description:
A user specifies two things: who they want to communicate with (the destination),
and arbitrary "forbidden" geographic regions they wish to avoid while doing so.
If successful, we return
proof that the user's packets did not traverse the
forbidden regions.
Alibi Routing then searches its peer-to-per network to locate other peers who
can relay the user's packets while provably avoiding the forbidden region. We
call such a peer an
alibi.
Here's an example of a user in Italy trying to communicate with a server in
Norway while avoiding Germany:
The green regions denote where alibis
might exist. Alibi Routing
searches these regions for alibis. If it can find one, then the user's packets
are forwarded through the alibi. The user gets proof that the alibi avoided
the region, if it was able to do so.