Hello,
inspired by the recent discussions on guard discovery, I went ahead and implemented a small patch for Tor that tries to help defend against Hidden Service guard discovery attacks.
It basically allows the operator to specify a set of nodes that will be pinned as middle nodes in Hidden Service rendezvous circuits. The option only affects HS rendezvous circuits and nothing else.
Of course, it doesn't fix guard discovery, it just pushes guard discovery to the next hop, so that they need to compromise two boxes to win.
You can find my branch in 'sticky_mids' at https://git.torproject.org/user/asn/tor.git .
(Here it is in HTTP shape: https://gitweb.torproject.org/user/asn/tor.git/shortlog/refs/heads/sticky_mi... )
I don't expect this to be merged in mainline Tor, but if any HS operators feel like they need it, here it is.
I coded it fast and it seems to work for me, but please inform me of any bugs.
You can use it by adding a line like this in your torrc: """ HSRendezvousMiddleNodes TorLand1 """
(BTW, I'm not advocating TorLand1, it's just a random relay name I thought of. Please use your own web of trust.)
On Sat, Nov 8, 2014 at 12:07 PM, George Kadianakis desnacked@riseup.net wrote:
I don't expect this to be merged in mainline Tor, but if any HS operators feel like they need it, here it is.
Make a ticket for it please, just in case?
I coded it fast and it seems to work for me, but please inform me of any bugs.
You can use it by adding a line like this in your torrc: """ HSRendezvousMiddleNodes TorLand1 """
(BTW, I'm not advocating TorLand1, it's just a random relay name I thought of. Please use your own web of trust.)
Also, it's a much much better idea to specify by key than by nickname. Nicknames are on their way out.
Nick Mathewson nickm@freehaven.net writes:
On Sat, Nov 8, 2014 at 12:07 PM, George Kadianakis desnacked@riseup.net wrote:
I don't expect this to be merged in mainline Tor, but if any HS operators feel like they need it, here it is.
Make a ticket for it please, just in case?
Done. Please see https://trac.torproject.org/projects/tor/ticket/13837 .
Maybe we could prepare a version of my patch that allows people to pin all 3 nodes of the HS circuit? That would be a more complete solution that might make more sense to be merged upstream.