|
|
<Mutiny> |
[00:05]
Has anybody here checked out 6/4? |
|
<arma> |
[00:07] 6/4
? |
|
<Mutiny> |
[00:08]
yeah |
|
[00:08]
The Six/Four System is a new protocol standard for decentralized
peer-to-peer networks. Data between Trusted Peers and clients is
tunneled using a trusted public key for data encryption and
authentication. Together with the decentralized, Gnutella-like, but
anonymous mode of routing in the Six/Four Network, this makes
state-sponsored censorship based on either host-based access
controls or content filtering ultimately
impossible. |
|
[00:08]
http://www.hacktivismo.com |
|
<arma> |
[00:30]
"ha" |
|
<Mutiny> |
[00:33]
ha? |
|
[00:33]
heh. the first part of the build process is generating a key pair.
before it even compiles anything. |
|
<arma> |
[00:34] is there a design
doc for 6/4 yet? or a spec? |
|
[00:34] last i checked it
was a bunch of yammering. |
|
<Mutiny> |
[00:35]
looks like it's got lots of docs. |
|
[00:37]
arma:
http://doomtown.mutinyeng.com/sixfour-do
cs/ |
|
<arma> |
[00:41]
skimming |
|
<Mutiny> |
[00:42] if
you don't see a bunch of 'readme' files refresh |
|
<arma> |
[00:44] no, i got the
tgz |
|
<Mutiny> |
[00:44]
even better |
|
<arma> |
[00:47] ah. their anonymity
is based on deniability. |
|
[00:51] like gnunet,
etc. |
|
[00:51] i can't say whether
it's better than the stuff i work on. |
|
[00:51] in five years i hope
to be able to say that it isn't. |
|
[00:52] i can say that they
appear to not be aware of any of the systems designed in the past
10 years. |
|
[00:52] except gnutella.
they know about gnutella. |
|
[00:55] PKCS padding options
suitable for avoiding |
|
[00:55] traffic analysis
MUST be used. |
|
[00:55] ha. ha
ha. |
|
[00:55] as if pkcs can stop
traffic analysis. |
|
[00:55] it might stop a two
year old. but only if you don't explain to him what he's trying to
do. |
|
<Mutiny> |
[00:56]
heh |
|
<arma> |
[00:57] damn. now i'm having
doubts again. low-latency anonymity is hard. |
|
[00:57] there are all these
systems that have popped up lately that don't mind allowing
correlation between parts of the path -- |
|
[00:58] that is, a packet
towards the beginning of the path can be linked to the end of the
path |
|
[00:58] in my world, you're
dead at that point. people will just look at both ends and be sure
it's you. |
|
[00:58] except there are
these other attacks, like packet counting and timing
analysis, |
|
[00:59] that make it not so
relevant if the actual bytes are correlated too. because you're
already dead if they can see both sides. |
|
[00:59] and if they can't
see both sides, then you win, right? because they don't know where
you're going to. |
|
[00:59] it's only in the
grey area in between, where you assume an adaptive adversary who
can compromise new nodes. |
|
[00:59] (and intelligently
choose which to compromise) |
|
[01:00] and i think in that
situation, 6/4 dies quite quickly. |
|
[01:00] but then, most
things die quite quickly. |
|
<Mutiny> |
[01:00]
what doesn't die quite quickly? |
|
<arma> |
[01:00] cascade-based
systems seem more robust. eg, web mixes / jap. |
|
[01:00] but it's not the
fact that it's a cascade topology that provides the protection
- |
|
[01:01] it's the fact that
it's synchronous. |
|
[01:01] that is, packets
from many connections arrive, get batched and mixed, and passed
on. |
|
[01:01] since it's a
cascade, it's possible to get speed and synchronicity
together. |
|
[01:01] with more related
topologies, like onion routing or 6/4, it's quite hard. probably
not worth it. |
|
[01:02] what i can say for
sure about onion routing is that the best avenue for attack is to
guess the two endpoints (guess me, and guess the website i'm going
to), and go snoop the two links and verify. |
|
[01:03] whereas with 6/4 the
best avenue for attack is to watch me, and when a request comes out
of me that didn't go into me, you read the request, and know the
server i'm going to. (this assumes many nodes around me are bad.
but hey, it's hard for me to know either way, when random nodes
show up and ask to be my neighbors.) |
|
[01:04] actually, i take
that back. who knows if that's the best avenue for attack. but it
seems like a fine one. |
|
[01:07] actually.. this
thing is different from gnunet, because the transactions are
streams of packets. |
|
<blanu> |
[01:07] I
have no use for deniability. As far as I'm concerned the useful
thing in anonymity is making it to figure out the IP of the server.
Hence monitoring of endpoints means you've already lost. Unless you
have some hypothetical attacker which can monitor lots of random
endpoints easily and just wait until it finds a match. I don't know
of such an attacker yet, but it's something to
consider. |
|
<arma> |
[01:07] their cover traffic
scheme cannot possibly work. i would have to pass back all the
packets that i get, to all the people i'm connected to, all the
time. otherwise people know who it's going to or that it is going
to me. |
|
[01:08] blanu: that attacker
you describe totally beats onion routing. we've accepted that. but
against a weaker adversary we're quite strong. |
|
[01:09] mutiny: ok. i can
say with increasing certainty that 6/4 is
bullshit. |
|
<blanu> |
[01:09]
Yeah onion routing is the only useful anonymity scheme I know
of. |
|
<arma> |
[01:09] blanu: mixminion is
of no use to you? |
|
[01:10] blanu: you should
learn about web mixes then too. |
|
<blanu> |
[01:10] I
forget what mixminion is all about. It's basically mixmaster,
yes? |
|
<arma> |
[01:10] basically
yes. |
|
[01:11] except done right,
and also supporting recipient anonymity |
|
<blanu> |
[01:11] Is
it multi-hop? |
|
<arma> |
[01:11] yes |
|
<blanu> |
[01:11] So
what is the basic difference between mixmion and onion
routing? |
|
<arma> |
[01:11] it's really very
much like onion routing, but since the messages are email, they can
go slowly, and mix better. |
|
[01:12] also, we're in
better shape with mixminion, since messages aren't streams. so you
don't necessarily get to say "well gosh, 467 packets went that way,
and 467 packets arrived over here" |
|
[01:13] mutiny: ok. i think
i have a handle on 6/4 now. here's how you should compare the
anonymity offered. |
|
[01:13] imagine the
adversary owns c of the n nodes in the network. |
|
<blanu> |
[01:13] Oh
right, that's what I was thinking. Mixminion is as far as I recall
slower, more secure onion routing. So that's great. I'm more
interested in the low latency stuff, but there is definitely a
place for the slower service. |
|
<arma> |
[01:14] in onion routing, he
must own both the first node and the last node. so the chance of
that is (c/n)^2 |
|
[01:14] in 6/4, he must own
the first node. the chance of that is (c/n). nuff
said. |
|
[01:15] mutiny: put another
way, 6/4 users would get equivalent anonymity if they all picked a
random open proxy on the internet and used it. maybe even better
anonymity. |
|
[01:16] blanu: right.
everybody keeps saying that. nobody wants mixminion, everybody
wants tor. we're working on that. :) |
|
<blanu> |
[01:19]
Well I think people put too much emphasis on low latency. Like with
Freenet when we did fproxy then the web browser interface became
the trendy way to access files. That's a *terrible* way to access
file on Freenet. A Napster-like select-and-forget interface makes
much more sense. |
|
[01:22]
Hm... I should think more about this point I just brought up. I'm
not sure why I'm stuck on using tor instead of mixminion in my
projects. I bet I could put something quite functional together
with a message based system and there's even source
code! |
|
[01:22] I
will consider that. |
|
<arma> |
[01:25] ok. not to
discourage you, but: |
|
[01:25] it's a shame that we
can't actually provide the anonymity we'd like, even in a
high-latency system like mixminion. the problem is that various
activities have different usage patterns, and it's probably easy to
distinguish them. |
|
[01:25] so while you *think*
you're getting lots of protection by using mixminion when zooko's
project is also using mixminion, |
|
[01:25] you're probably only
mixing with your own users. |
|
[01:26] (assuming a strong
adversary, that is.) |
|
<blanu> |
[01:26]
Yeah mixminion doesn't actually add anything for me, except source
code. ;-) |
|
<arma> |
[01:27] which admittedly is
a lot. |
|
[01:29] that's why when len
and bram were trying to decide between mixminion and tor for
codecon, i withdrew tor |
|
[01:29] not having source
code is lame. |
|
[01:31] well, maybe more
precisely that is 'brandon not having your source code is
lame' |
|
<blanu> |
[01:31]
Even if traffic analysis was foiled as much as is reasonable, if
the attacker can do taps then he can build up a list of all IPs in
the network. As churn will inevitably occur, he can pick out the
stable nodes and then he can go get a search warrant for each
stable node. So even if the mixer is the awesomest ever, it's not
as if you're really all that safe. |
|
[01:31]
Yes, give me the source!! |
|
[01:31] Of
course it doesn't help much if I can't distribute
it. |
|
[01:31] In
fact that would just be cruel. |
|
<arma> |
[01:32] actually, in theory
not enough of the mixes will be in the same jurisdiction for
warrants to be of any use. |
|
[01:32] you really mean
scientology there, i think. |
|
[01:32] and the hope is that
we can have a diverse enough set of nodes that we can resist even
threats of kneecapping, etc. |
|
[01:33] i mean, mixminion
will clearly be a more robust anonymity system against strong
adversaries |
|
[01:33] i'm too much at the
mercy of kind people with lots of bandwidth, for
tor. |
|
[01:33] octal offered to run
a lot of the backbone nodes, when the code comes
out. |
|
[01:33] which is great, but
i imagine octal doesn't stand up to kneecapping threats on my
behalf. i don't blame him. |
|
<blanu> |
[01:35]
Yeah that whole bandwidth thing is a pain. They should just build
onion routing into TCP routers. |
|
<arma> |
[01:35] still doesn't solve
the bandwidth problem. |
|
<blanu> |
[01:36]
Well someone always has to provide the bandwidth. The problematic
part is that YOU have to acquire it. |
|
<arma> |
[01:37]
huh? |
|
<blanu> |
[01:38]
I'm just saying that if onion routing was widespread then getting
people to set up onion routers would no longer be on your
shoulders. Which I guess is tautological. |
|
<arma> |
[01:38] ah.
yep. |
|
<blanu> |
[01:40] So
how stable is mixminion? |
|
<arma> |
[01:42] meaning does it
crash much? it does not crash much. |
|
[01:42] meaning will 0.0.5
break backward compatibility with 0.0.4? quite
possibly. |
|
[01:43] the basic api should
stay about the same, though. |
|
<blanu> |
[01:43]
Ugh, API. Can't I talk to it over a socket or
something? |
|
<arma> |
[01:44] you could. but then
you'd get stuff in mixminion format. |
|
[01:45] you might prefer
talking to it with system() or the like. |
|
<blanu> |
[01:45]
Argh! Oh well. Maybe IIP or JAP will work out. |
|
<arma> |
[01:45] what do you want to
say to it? |
|
[01:45] iip?
eek. |
|
<blanu> |
[01:45] Oh
you know send this message to this guy. Or give me some
messages. |
|
[01:45]
What's wrong with IIP? |
|
<arma> |
[01:46] what are you written
in? |
|
<blanu> |
[01:46]
Java |
|
<arma> |
[01:46] like 6/4, last i
checked the iip protocol was inferior to tor. |
|
[01:46] a lot of it (like
6/4) was that it was quite unspecified. |
|
<blanu> |
[01:47]
Yes tor would clearly be the best choice if I could use it, but
currently the only thing I've found which I can use is Jap. The IIP
folks said they'd have SOCKS in 3 months so I'll check back with
them then. |
|
<arma> |
[01:48] so one possibly api
for mixminion is that you can queue a message, eg by system or
something like that, and then it can deliver messages to an mbox
like thing, eg a pipe. |
|
<blanu> |
[01:48]
mbox would be great. I have very nice mbox code. |
|
<arma> |
[01:48] mixminion already
supports mbox |
|
[01:49] next time you and
nick are both online, i should hook you two together. it's quite
possible there's an easier interface for sending. |
|
<blanu> |
[01:49] Oh
awesome. But how can I get it to send stuff as
well? |
|
[01:49]
Ah, okay. |
|
<arma> |
[01:49] well, you can just
invoke it, and it'll send it. |
|
<blanu> |
[01:49]
"invoke"? |
|
<arma> |
[01:49] run it. it's a
process. |
|
<blanu> |
[01:50]
Ah, no that's not acceptable. |
|
<arma> |
[01:50] mixminion --send
arma@mit.edu < message |
|
<blanu> |
[01:50]
It's pretty much got to be a socket. |
|
<arma> |
[01:50] but mbox is
ok? |
|
[01:51] anyway, should hook
you up with nick |
|
[01:51] i pay more attention
to tor than to minion these days |
|
<blanu> |
[01:51]
Yeah mbox is great. That's better than a socket even. Heck if I
could *put* messages in an mbox and then mixminion would deliver
and delete them, that would be the best. |
|
<arma> |
[01:51] (3 months?! it's
just fucking socks. like 10 lines of code.) |
|
<blanu> |
[01:52]
Yeah I think they're busy with more exciting
stuff. |
|
<arma> |
[01:52] yes, i think there's
a directory you can just dump your messages. |
|
<blanu> |
[01:52]
But is this like some crazy message format or normal mboxish
format? |
|
<arma> |
[01:53] might be we could
add another pool, to handle that. |
|
[01:53] obviously the main
pool is a crazy message format, because it's
nested-encrypted. |
|
[01:53] but we could have
another pool of stuff that wants to get converted into crazy
message format |
|
[01:54] i mean, maybe.
you'll have to talk to nick. :) |
|
<blanu> |
[01:54]
Yeah I guess you can't use normal mbox because the To line would
have to be some crazy thing where I can specify a chain. Unless
there's some preselected mix I use, then I could just specify the
final destination. |
|
<arma> |
[01:54] i wish the iip folk
would put a bit of effort into documenting their protocol. that way
i could know how it's broken and feel more justified writing them
off. |
|
<blanu> |
[01:55] Is
Nick ever online? I never see him on here. |
|
<arma> |
[01:55] he's rarely online.
not ever here. only on #remops |
|
<blanu> |
[01:55]
Ah, I see. |
|
<arma> |
[01:55] as far as chain
goes, most people should just be able to use the randomly selected
one. |
|
[01:56] particularly as
chains should be selected based on uptime data. it should all be
automated. |
|
<blanu> |
[01:56] So
in that case a normal mbox should be just fine. That would be a
really sweet interface. |
|
[01:57]
Well this is exciting but I'm off to bed. |
|
<arma> |
[01:58] <manager>i'm
confident that we can include that
feature.</> |
|
[01:58] sleep well. me
too. |