| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- Filename: xxx-encrypted-services.txt
- Title: Encrypted services as a replacement to exit enclaving
- Author: Roger Dingledine
- Created: 2011-01-12
- Status: Draft
- We should offer a way to run a Tor hidden service where the server-side
- rendezvous circuits are just one hop.
- 1. Motivation
- There are three Tor use cases that this idea addresses:
- 1) Indymedia wants to run an exit enclave that provides end-to-end
- authentication and encryption. They tried running an exit relay that
- just exits to themselves:
- https://trac.torproject.org/projects/tor/ticket/800
- but a) it handles lots of other traffic too since it's a relay, and
- b) exit enclaves don't actually work consistently, because the first
- connection from the user doesn't realize it should use the exit enclave.
- 2) Wikileaks uses Tor hidden services not to hide their service,
- but because the hidden service address provides a type of usability
- we didn't think much about: unlike a more normal address, a Tor
- hidden service address either works (meaning you get your end-to-end
- authentication and encryption) or it fails hard. With a hidden service
- address there's no way a user could accidentally submit their documents
- to Wikileaks without using Tor, but with normal Tor it's possible.
- 3) The Freenode IRC network wants to provide end-to-end encryption and
- authentication to its users, a) to handle the fact that the IRC protocol
- doesn't really provide much of that by default, and b) to funnel all
- their Tor users into a single location so they can handle the anonymous
- users better. They don't mind the fact that their service is hidden, but
- they'd rather have better performance for their users given the choice.
- 2. Design
- It seems that the main changes required would be to a) make
- circuit_launch_by_extend_info() know to use 1 hop rather than the
- default, and know not to try to cannibalize a general 3-hop circ for
- these circuits, and b) add a way in the torrc file to specify that this
- service wants to be an encrypted service rather than a hidden service.
- I had originally pondered some sort of even more efficient "signed
- document saying this service is running at this Tor relay", which
- would be more efficient because it would cut out the rendezvous step.
- But by reusing the hidden service rendezvous infrastructure, we a)
- blend in with hidden services (and hidden service descriptors) and
- don't need to teach users (or their Tor clients) a new interface,
- and b) can offer the encrypted service on a non-relay.
- One design question to ponder: should we continue to use three-hop
- circuits for our introduction points, and for publishing our encrypted
- service descriptor? Probably.
- 3. Security implications
- There's a possible second-order effect here since both encrypted
- services and hidden services will have foo.onion addresses and it's
- not clear based on the address whether the service will be hidden --
- if *some* .onion addresses are easy to track down, are we encouraging
- adversaries to attack all rendezvous points just in case?
- ...
|