[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Firewalled relays

I recall a discussion from last spring about the possibility of adding support for exit nodes behind firewalls.  If I recall correctly, the general idea was to add these nodes as a fourth hop in the tor network.  This allowed these nodes to connect to "pseudo exit" nodes which would be the third hop.  Since these 4th hop nodes were initiating the connection to the 3rd hop, they could do so from behind firewalls which would normally prevent incoming connections to the node.  I have an alternative but similar suggestion which may have fewer limitations than the previous model and hopefully will also alleviate some of the anonymity/abuse concerns with the previous suggestion.

The idea is to allow firewalled relays in the tor network in general.  Firewalled relays would always have to initiate all connections between themselves and other tor relays or clients.  The only limit to interconnections that these relays would have would be that they could not connect with other firewalled relays (although even that could be lifted in some cases with firewall hole punching). 

To achieve this, firewalled relays would borrow an idea from hidden services and register rendezvous points with the directory servers.  The rendezvous points would have to be with non-firewalled relays.  Unlike hidden services though, these rendezvous points need not be 3 hops into the cloud, they need only be single hops.  Upon startup, a firewalled relay would initiate and establish a connection to at least one non-firewalled relay and register that connection as a rendezvous point.

The rendezvous points would only be used to tell firewalled relays that another relay or a client wanted to relay through the firewalled relay.  Anyone wishing to establish a connection with a firewalled relay would contact them through the tor network as a client would making 3 hops before hitting the rendezvous point (this contact would be as anonymous as any other tor usage).

Once a client or non-firewalled relay contacts a firewalled relay through the rendezvous point indicating its desire to relay through it, the firewalled relay will initiate a connection back to the relay or client asking to relay though it.  From there on out the firewalled relay would behave as a regular relay.

With this design, any traffic using the firewalled relay would undergo a normal 3 hop path through the tor network just like other normal tor traffic.  The rendezvous points would only be used to communicate desired connections but not to carry traffic.  Setup time for connections would increase, but throughput should be unaffected.