[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-bugs] #15540 [Tor]: Increase the capacity of a HS server by using bridges after we implement Prop 188
#15540: Increase the capacity of a HS server by using bridges after we implement
Prop 188
-------------------------+---------------------
Reporter: s7r | Owner:
Type: enhancement | Status: new
Priority: normal | Milestone:
Component: Tor | Version:
Keywords: tor-hs | Actual Points:
Parent ID: #15463 | Points:
-------------------------+---------------------
Will try to keep the post in a reasonable size.
Long story short, the first bottleneck when running a big HS is the Guard
server. Given the fact that all the traffic to or from a HS has to go
through the Guard server, the Guard's capacity is actually the max. limit.
The server hosting the HS can be a ten-gigabit server, it won't matter if
the Guard's capacity is 5MB/s (and that is also shared with other clients
using the same guard). Currently the only way you can increase the
capacity of a HS is to increase NumEntryGuards value and
MaxClientCircuitsPending value.
Will describe a possible solution for this which could be possible after
we implement prop 188. We are also under the assumption that clients
building 4 hop circuits in the network are not easily distinguished
(confirmation for this would be great). Regardless of this and unrelated,
prop 188 should be implemented anyway, because it protects the bridge-db.
Let's say prop 188 is implemented, so each bridge selects a Guard and
keeps it static for as long as the consensus recommends so (same behavior
as a regular Tor client). A big HS server would use bridges to connect to
the Tor network. The bridges can either be from bridge-db, or, if the HS
operator is concerned about performance and availability, the bridges can
also be high speed, dedicated and private (PublishServerDescriptor 0), or
someone can run high speed public bridges (PublishServerDescriptor 1) and
use those.
According to prop 188, when used with bridges, Tor will build 4 hop
circuits:
{{ Finally, observe that even though the circuit is one hop longer than
it would be otherwise, no relay's count of permissible RELAY_EARLY cells
falls lower than it otherwise would. This is because the extra hop that
Bob adds is done with a CREATE_FAST cell, and so he does not need to send
any RELAY_EARLY cells not originated by Alice. }}
Something as follows:
HS Server -> bridge(s) -> Guard(s) as per prop 188 -> middle -> middle
-> rendezvous
Each bridge could be a false positive for the HS server, in case an
attacker discovers the bridge's guard.
In this scenario, if the bridge's IP is discovered by an attacker, the HS
server is better protected if it uses a bridge from bridge-db (which also
handles other clients) as opposite to a dedicated private bridge.
If we use the bridges with pluggable transports, we will also mitigate a
different type of attack (where an ISP, network administrator, datacenter
looks for IP addresses which send and receive massive amounts of Tor
traffic but do not belong to Tor relays).
It is known that having more points of entry in the Tor network means a
higher probability to get deanon, but big HSes need to handle many
concurrent clients - a bit hard to do through a single guard.
Questions:
1.For prop 188, who will choose and remember the bridge's Guard? The
client connecting to the bridge or the bridge itself?
sysrqb and Yawning think that it's better for the client to select and
remember the guard for a bridge. This way, a client using Tor with bridges
will have chances to get deanon as low as a client using Tor normally. In
its current form today, prop 188 suggest that bridges choose their own
guards.
2.Would it help if we could optionally add more Guards for the same bridge
(something like NumBridgeEntryGuards)?
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/15540>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs