[tor-bugs] #16861 [Tor]: Pad Tor connections to collapse netflow records
Tor Bug Tracker & Wiki
blackhole at torproject.org
Sun Jan 31 04:06:36 UTC 2016
#16861: Pad Tor connections to collapse netflow records
-------------------------------------------------+-------------------------
Reporter: mikeperry | Owner:
Type: enhancement | mikeperry
Priority: High | Status:
Component: Tor | needs_review
Severity: Normal | Milestone: Tor:
Keywords: 028-triage, 028-triaged, | 0.2.8.x-final
pre028-patch, 201511-deferred, | Version:
TorCoreTeam201601, 201512-deferred | Resolution:
Parent ID: | Actual Points:
Sponsor: | Points: medium
-------------------------------------------------+-------------------------
Changes (by mikeperry):
* status: needs_revision => needs_review
Comment:
Ok, I have a new set of patches ready in mikeperry/netflow_padding-
v4_squashed+rebased. They are rebased on top of nickm/fast_channel_lookup
and are ready to be squashed. See mikeperry/netflow_padding-v4_squashed if
you want to spot-check the full history. The two heads are identical in
content.
For this bug, all of the issues from comment:40 should now be fixed, with
the following provisos:
1. I did notice another issue with time. After thinking about it, I think
I still prefer explicit checks rather than simply using monotonic time,
because if the clock jumps backwards, I don't want to sit around not
sending padding forever while we wait for it to catch up with itself. I'd
rather handle each case explicitly, though I admit it is kinda mind-
bending either way we go. I think I did it right?
1. I changed timestamp_active_highres to timestamp_xfer_highres. xfer
seemed to capture what I want. I left it non-cached, though, due to it
being equivalent in speed to time(), and I want the resolution.
1. Am I right that directionality does not apply to link-level cells? Only
circuit RELAY cells, yes?
1. I left the CELL_PADDING and CELL_PADDING_NEGOTIATE handling in
channeltls.c. Is command.c a better place for some reason?
1. I left the test in circuit_send_next_onion_skin(). Happy for a
suggestion for a better place. It seems OK to me, though, given that is
where the control port decides to tell the controller about a very similar
thing.
1. I did not change the is_client stuff. If you have concrete suggestions
here, happy to hear them. Still don't like purely behavioral decisions,
though.
I think I'd prefer these fixup commits squashed when merged, so feel free
to do that if you don't see any more major issues. Again, mikeperry
/netflow_padding-v4_squashed+rebased should be all ready for squash and
merge, or squash and another round of fixups.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/16861#comment:44>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list