[messaging] Mixmaster Protocol Design
Tom Ritter
tom at ritter.vg
Wed Jul 16 16:08:20 PDT 2014
On 16 July 2014 16:18, Trevor Perrin <trevp at trevp.net> wrote:
> On Wed, Jul 16, 2014 at 12:20 PM, Tom Ritter <tom at ritter.vg> wrote:
>> On 15 July 2014 21:14, Trevor Perrin <trevp at trevp.net> wrote:
>>> The rest of the changes seem like a failed attempt to prevent tagging
>>> attacks via integrity protection.
>>
>> Why do you say it fails? If each Mix Header authenticates the next
>> (as opposed to each header authenticating every single header), when a
>> message transits an attacker-uncontrolled node, it will be discarded
>> as the next header was corrupted. (Each header also needs to
>> authenticate the body.)
>
> The message won't be discarded if a later header is tagged.
If I tag Header 5, I can't recognize the tag unless I'm the recipient
for Header 5. If I'm not the recipient for Header 4, the recipient at
Header 4 will discard it because it was modified.
If I am the recipient for Header 4 I would recognize that I'm the
recipient for Header 5 _also_, and the chain was constructed such that
a remailer sends a message to itself. Possible I suppose, but not
very secure.
>> What's more, I think if you authenticate every header in every header,
>> you disclose the path length. You can't authenticate a random header
>> added at the end in the next hop, so when you receive a message that
>> only authenticates 17 of the headers, you know where you are in the
>> chain.
>
> The "random header added at the end" should be
> deterministic-but-random-looking so it can be MAC'd yet can't be
> distinguished from a real header. That's what I was trying to
> describe in my last mail.
We may be talking past each other. This is what I'm seeing the problem is:
Client Constructs twenty headers (let's say 5 of them are real, 15
fake) and computes a MAC for each of them and enclose these MACs in
the first 5 headers.
Remailer 1 verifies the MACs on Headers 1-20, then tacks on a random
header at the end, and sends it off
Remailer 2 can verify the MAC the client put on headers 1-19, but not
any MAC on Header 20, because Remailer 1 couldn't put their MAC inside
the envelope the client encrypted.
>>>> Pynchon Gate is
>>>> also state of the art in nymservers, but is undeveloped.
>>>
>>> Unclear to me whether multi-server PIR (like Pynchon Gate) is
>>> practical for a "nymserver", or even whether nymservers are that
>>> useful.
>>>
>>> The original idea for nymservers, I think, is that they would store
>>> "reply blocks" associated to a user's email address, where each reply
>>> block is a set of mix-headers for routing a message to Alice. When
>>> the nymserver receives a message for "alice at nymserver.whatever" it
>>> would attach a reply-block to the message and forward it through the
>>> mix net. Because of the onion-like nature of each reply block,
>>> Alice's identity would be hidden even from her nymserver.
>>
>> Yes, this is Type I or GHIO nymservers. The Reply Blocks became
>> extraordinarily complex, with latency commands and duplication
>> commands, etc. They're brittle, and intolerant to the removal of
>> nodes from the remailer network. (Contrasted with Tor, where if a new
>> node comes up or goes down, the consensus is updated every hour.)
>
> Was bookkeeping complexity and brittleness-in-case-of-network-changes
> the main problem with reply-block nymservers, or was it security
> issues like:
>
> http://archives.seul.org/mixminion/dev/Oct-2007/msg00010.html
Well, AIUI, issues with people actually using it were the brittleness
of remailers going up and down. And I know that the complexity of the
system let to lots of user errors on AAM. The security issues like
intersection attacks are great reasons it's not a good idea - not
reasons it failed in deployment and use.
>> I'm not too familiar with Bitcoin mining, but as I understand it, you
>> can mine blocks on multiple blockchains at once. Imagine two Tor
>> networks, one run by Tor Project, and the second run by CCC.de. A
>> node could run on both networks, and it'd not be apparent which
>> network you were using if you talked to it. Similarly, the
>> distributors in Pynchon Gate could be distributors for multiple
>> nymservers.
>
> I guess, but this still means everyone has to agree to use the same
> distributor nodes, or else user choice of their distributors will
> partition users into potentially-small anonymity sets. So I think
> this implies Pynchon Gate would need to be a centralized
> infrastructure, which brings a bunch of downsides.
I tend to see the Tor network model as a hammer, and I apply it too
often I think. Nonetheless, why would a Tor-network-like set
distributors, functioning for any number of nymservers, partition
users? If a nymserver was not a member of the 'Distributor
Collective', then sure, but otherwise a user connecting to any
distributor in the Collective could be accessing a nym for any
nymserver. The main problem I see with that is scaling for disk size
and bandwidth.
-tom
More information about the Messaging
mailing list