[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

New attack on mixminion (& fix)



Ok, I have an new attacks that can be fixed very easily.

It concerns the classic tagging attack problem. If a mix touches the 
second header of the message on the first leg of its journey then the 
second header will come out as junk at the cross over point, BUT the 
payload will still be in clear. The attack therefore proceeds as follows:

- The attacker tags the second header of a mix minion message coming out 
of the victim. 
- Then it notices that at a crossover point it controls a 
message has its second header come out as junk. 
- It then records the payload of the message, and discards the 
minion message (it does not have enough information to forward it anywhere 
anyway).
- Since the message has never arrived we can assume that the sender will 
send the message again. 
- The attacker then does not tag the first leg of the message, but waits 
until one of the crossover points sees the same payload as the old 
discarded message. 
- When the attacker sees a message with the same payload it tags the 
second leg of the message, or it tries to follow it in another way 
(recursive operator torture).

It is trivial to fix the above by making sure that the payload comes out 
as junk if the second header is touched. We just use the hash of the 
second header to transform the payload using an All or nothing transform 
(like BEAR). This in fact makes a three round cipher at the cross over 
point that looks itself like BEAR. The circle is therefore complete.

Yours,

George