DC-Nets and sheep
doug@OpenMind.com (Doug Cutrell)
One possible way around this societal control of anonymous remailers might be the existence of very large DC-nets (or related technologies). The idea
I've been arguing that DC-Nets are among the crypto protocols that we've not exploited much so far. I was working on an implementation, till I got stuck with the 'net' part of it. The basic protocol is very simple, with hooks to the bit-flipping crypto routines. The problem is integrating the DC into an existing net protocol in a manner that makes it transparent and practical to use. Ideally a layer over IP or Ethernet, as DC-Nets share many of the basic problems of net protocols - conflict resolution, random wait-before-resend etc. Ideas? (Read section 13.4.8 of Tim's Cyphernomicon for an explanation of DC-Nets) Note that the major problems lie in the _practical_ implementation, which is not necessarily the speed - despite conflict resolution and anti-collusion techniques, the basic operation in a DC-Net, assuming the presence of a stream of random numbers, is the fast XOR. DC-Net implementation problems are more severe than those in secure-IP (swIPe etc) as they have to handle lots of things at a lower level in the network protocol. Doug goes on to suggest that to be immune from the "sheep^H^H^H^H^Hpeople" DC-Nets will have to have millions of members. But if anon remailers were used by millions, than they'd be immune too. All crypto is vulnerable to mob action until it's widespread. ----------------------------------------------------------------------------- Rishab Aiyer Ghosh "Clean the air! clean the sky! wash the wind! rishab@dxm.ernet.in take stone from stone and wash them..." Voice/Fax/Data +91 11 6853410 Voicemail +91 11 3760335 H 34C Saket, New Delhi 110017, INDIA
I've been arguing that DC-Nets are among the crypto protocols that we've not exploited much so far. I was working on an implementation, till I got stuck with the 'net' part of it. Speaking of long-term integration on the internet, might it not be a good idea to get some IP address range assigned for dc-net use? To integrate with the rest of the Internet, there should be some IP address that this message appears to originate from. These are the addresses that need reservation. Class A,B,C addresses are the standard unicast addresses for network interfaces. Class D addresses are multicast addresses. Class E addresses are reserved; there are 27 bits of address space available. If we could reserve some 11 bit prefix of this address space, that would leave us with 16 bits of address for dc-net addresses. This will certainly suffice until the new IP is fully deployed. As far as social mechanisms go, how does one go about reserving some prefix of the Class E address space? Could our resident IETF gurus comment, please? Very Simple Review: To send one message, (1) a group of people make a bunch of bilateral communications. (2) Each person publishes the sum of all the messages the receive. (3) The sum of all the broadcasts in item (2) is the message. There are a bunch of integration issues to deal with as well. For communication internal to the dc-net, i.e. from one member to another, a Class D multicast address will suffice. All the dc-net members would be members of the multicast group, and any of them could reconstruct a message. Communication from the dc-net to the rest of the internet is the problem. How does someone send a message into the dc-net? How does the dc-net send a message outside itself? How do you properly do name service? For sending a message into the dc-net, a message directly posted from the outside to the internal multicast address for the dc-net would suffice. But most systems can't route to a Class D address yet. Sending a message from the dc-net should appear, in an ideal world, to originate from the Class E address for the dc-net, but the same routing problem is even worse here. Unicast proxy addresses for the net solve both of these. By using multiple loopback interfaces, you can given a machine on the Internet more IP addresses than it has physical interfaces. That is, if a single machine has only an ethernet connection, adding two loopback interfaces could give that machine three IP addresses. These extra IP addresses can be used as proxy addresses. These proxy sites would have to be trusted at least against denial of service. If one assumes higher level authentication and integrity checking, alterations in the message stream by the proxy can be detected. Failure recovery could then include choice of a new proxy or reconfiguration of the dc-net. I can't really comment now on how might a proper long term solution might work. One would at least keep the proxy addresses for backward compatibility, since it's unlikely for many years to have direct support for dc-nets shipped as standard kernel features, although that _is_ the eventual goal. It's likely that the protocols for discovering and joining multicast groups, as one example of an aggregate addressed entity, will apply here. Eric
participants (2)
-
hughes@ah.com -
rishab@dxm.ernet.in