Opened 19 months ago

Last modified 14 months ago

#30172 new enhancement

Always send PADDING_NEGOTIATE if middle supports it

Reported by: mikeperry Owned by:
Priority: Medium Milestone: Tor: unspecified
Component: Core Tor/Tor Version:
Severity: Normal Keywords: wtf-pad, tor-relay, tor-cell, padding, circpad-researchers-maybe-want
Cc: Actual Points:
Parent ID: Points: 4
Reviewer: Sponsor: Sponsor2-can

Description (last modified by mikeperry)

We should define some kind of NULL machine for whatever hop is most common in our padding machine list, and negotiate that machine if no other machines apply to the current circuit. This machine shouldn't take up a slot or count as negotiated, tho, so we can still negotiate other machines at later points if the circuit purpose changes, etc.

Similarly, this NULL machine should (maybe) set should_negotiate_end and send a PADDING_NEGOTIATE at circuit close.

We need to do this so that there isn't an obvious PADDING_NEGOTIATE cell request/response pair with obvious timings that it went to the middle node (since the PADDING_NEGOTIATED response will come faster than all other responses on the circuit). See also #30092 for similar motivating reasoning.

Child Tickets

Change History (6)

comment:1 Changed 19 months ago by mikeperry

Description: modified (diff)

comment:2 Changed 19 months ago by mikeperry

Description: modified (diff)

comment:3 Changed 19 months ago by nickm

Milestone: Tor: unspecified

Tentatively calling this unspecified, but the 041-proposed can move it forward.

comment:4 Changed 19 months ago by mikeperry

Points: 4

While this is simple to implement, figuring out exactly which strategy to use will take some experimentation.

comment:5 Changed 18 months ago by mikeperry

Keywords: 041-proposed removed
Parent ID: #28634

Taking this out of 041-proposed. See also #30348. We should think about this more and maybe wait a full research cycle before doing this.

comment:6 Changed 14 months ago by mikeperry

Keywords: circpad-researchers-maybe-want added
Note: See TracTickets for help on using tickets.