[Remops] Status of the Mixmaster project

Mike Mestnik cheako at mikemestnik.net
Tue Jul 10 22:20:36 BST 2012


I know this is a few years late, but setting up Mixmaster I encountered
a few problems in the software and protocol.

Simply put mixmaster may not handle mixed messages being passed into the
mixmaster client side appropriately.  What should happen in that case is
to decrement the TTL and forward the message to the node the msg is
current encrypted for.  What happens, I guess, is that the message is
being re-mixed.  In the event of a mail loop that means a message could
be mixed to pass through many hundreds of nodes.  It accured to me that
Mixmaster emails should have a TTL, I think it would be safe to generate
TTLs like so:

A for semi random value X from 12 to ~56+-10, TTL=int(156/X).  I worked
wit hthese numbers for a while and reduced the equation down to this.
156 is 12*13.  The end result is once chance to produce 13, 12, 11, 10.
 Starting with 9 there is 2 chances and 7 has 3...  and so fourth.

Now it's sad that there is a 1 in 50+ chance to get a 13 and in that
case you'll be advertising yourself as the originator.  However the ppl
who get 12 need others to get 13 so that they can be anonymous.

However I feel it's vary important to have a TTL, regardless of the
tradeoff of security.  Though this will require an extension onto the
protocol and perhaps that means a new version?

How this came about.  I had nullmail installed and I ran into a
situation where there were no-longer any viable relay servers.  Plus I'm
converting this server to host tor hidden services and these hidden
websites will need to send mail.  mixmaster, I believe, will be perfect
for this.  I configured mixmaster-smtp and pointed nullmailer at that...
 Un-aware that mixmaster wouldn't deliver mail to SMTP servers, but
instead call into sendmail(nullmailer).  This created a mail loop that I
didn't catch until after I had reconfigured mixmaster to use a local
instance of socat.  Here is my configuration:

/etc/nullmailer/remotes:
localhost smtp --port=8025

/etc/mixmaster/smtp.conf: default localhost:8025

/etc/mixmaster/client.conf:
SMTPRELAY localhost
SMTPUSERNAME/SMTPPASSWORD

/etc/rc.local: # socat 2.0.0-b4 installed.
( set +e
daemon -n gmail --stop
daemon -n gmail -- socat -ly TCP-LISTEN:25,bind=localhost,fork,reuseaddr
'OPENSSL,verify=0 | SOCKS4A:smtp.gmail.com:465 | TCP:127.0.0.1:9050'
)

torrc: socks 127.0.0.1:9050


More information about the Remops mailing list