In legacy/trac#28634 (moved), we realized that we may want to make some fraction of pre-built GENERAL and HS_VANGUARDS circuits look like padded onion service circuits, as a defense in depth against a classifier that can still recognize our specially padded onion service circuits as, well, special, and still interesting.
But we don't want to make all general circuits look this way. Just some fraction. So it would be nice if the machine conditions could somehow toss a coin to decide to apply the machine to a circuit. Unfortunately, right now the conditions are memoryless, so we have nothing that can say "you already tossed the coin", but we could special case just this to have a flag on the circuit or something.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items
...
Show closed items
Linked items
0
Link issues together to show that they're related.
Learn more.
BTW as a more general comment in this ticket, we should think a lot before we use this feature because the overhead danger is high (depending on the probability) and reaping the benefits is not always as straightforward.
For example, consider using this feature for ticket legacy/trac#28634 (moved) to make general circuits look more random and blend in with random-lookin HS circuits. In that case, it's true that we increase the false positive rate of identifying a single intro or rend circuit, but if you look at the whole HS circuit dance, you can see that an HS client starts using 2 circuits at the same time (intro and rend, let's ignore hsdir for now). This ticket won't make normal clients start using 2 circuits at once, so even tho a single circuit might look random if the probability triggers, the fact that it's missing the second circuit might still act as an identifier in that the session is not actually an HS dance and it's faking it.
No longer needed for legacy/trac#28634 (moved). I started working on this in mikeperry-github/ticket30092 (same PR; WIP commit there that doesn't compile) but I'm going to switch to higher prio tickets before finishing this up.
I agree with asn in comment:7. This may or may not help, and it seems like we'll need a probability_to_launch_new_circ option as well, somehow, if we do need this.
Please let me know if this seems useful for padding research.