[tahoe-lafs-trac-stream] [Tahoe-LAFS] #2810: disable Foolscap 'gifts' (third-party references)
Tahoe-LAFS
trac at tahoe-lafs.org
Sat Aug 27 20:31:17 UTC 2016
#2810: disable Foolscap 'gifts' (third-party references)
--------------------------+------------------------
Reporter: warner | Owner: warner
Type: task | Status: new
Priority: normal | Milestone: 1.12.0
Component: code-network | Version: 1.11.0
Keywords: anonymity | Launchpad Bug:
--------------------------+------------------------
Foolscap-0.9.0 (released 21-Sep-2015) added a Tub option to ignore
"gifts", which is the feature that enables third-party references (also
known as "introductions"). This allows Alice to include a reference to Bob
as an argument in a message to Carol, where Bob is an object on a
different Tub than either Alice or Carol. It works by sending a special
reference type (named "their-reference") that contains the full FURL of
the target. The recipient automatically establishes a connection to the
new Tub before delivering the arguments to the method.
While this is an important primitive for generalized distributed systems,
we don't actually use it in Tahoe. And in the context of Tor and
anonymity, it is a threat: Carol might be running her node behind an onion
address, so Alice does not know Carol's real IP address. Alice could
create a third-party reference with a FURL that points to a host she
controls, send it to Carol, then record what IP address the resulting
connection came from.
The way we're using connection handlers in Tahoe will prevent this
(Carol's tub will be configured to use Tor for all outbound connections,
so !Alice/Bob will observe a connection coming from a Tor exit node), but
it'd be good to have defense in depth.
So the change is simple: in `node.py`, where we're building up the list of
tub options to apply (currently things like `logLocalFailures` and
`disconnectTimeout`), we should add `tub.setOption("accept-gifts",
False)`.
--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2810>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage
More information about the tahoe-lafs-trac-stream
mailing list