[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[minion-cvs] Finish integrating bursty MMTP and DNS into the spec.



Update of /home/minion/cvsroot/doc/spec
In directory moria.mit.edu:/tmp/cvs-serv16386

Modified Files:
	dir-spec.txt minion-spec.txt spec-issues.txt 
Log Message:
Finish integrating bursty MMTP and DNS into the spec.

Index: dir-spec.txt
===================================================================
RCS file: /home/minion/cvsroot/doc/spec/dir-spec.txt,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- dir-spec.txt	3 Sep 2003 16:01:43 -0000	1.13
+++ dir-spec.txt	4 Sep 2003 16:14:02 -0000	1.14
@@ -319,7 +319,15 @@
    
         'Version': The string '1.0'
 
-        'IP': An IPv4 address, in dotted-quad format.
+        'IP': An IPv4 address, in dotted-quad format.  [Deprecated but
+        necessary as of Mixminion 0.0.6; will be removed in favor of
+        'Hostname' in Mixminion 0.0.7.]
+
+        'Hostname': A fully qualified hostname, or an IPv4 address in
+        dotted-quad format.  [New in Mixminion 0.0.6.  As a temporary
+        hack, clients SHOULD assume that servers with hostnames can send
+        *FWD/HOST messages, and that servers with IPs can send
+        *FWD/IPv4 messages.]
 
         'Port': A port at which IP accepts incoming MMTP connections.
 

Index: minion-spec.txt
===================================================================
RCS file: /home/minion/cvsroot/doc/spec/minion-spec.txt,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- minion-spec.txt	22 Aug 2003 01:17:59 -0000	1.11
+++ minion-spec.txt	4 Sep 2003 16:14:02 -0000	1.12
@@ -481,8 +481,8 @@
    0x0000 DROP    (0 octets of routing information)
    0x0001 FWD/IP4 (IP: 4 octets, PORT: 2 octets, KEYID: 20 octets): 26 octets
    0x0002 SWAP-FWD/IPV4 (same info as FWD/IP4)
-   0x0003 FWD/IP6 (IP: 16 octets, PORT: 2 octets, KEYID: 20 octets): 38 octets
-   0x0004 SWAP-FWD/IPV6 (same info as FWD/IP6)
+   0x0003 FWD/HOST (PORT: 2 octets, KEYID: 20 octets, NAME: variable width)
+   0x0004 SWAP-FWD/HOST (same info as FWD/HOST)
 
    0x0100-0x0FFF: PREDEFINED DELIVERY TYPES.
 
@@ -506,12 +506,19 @@
    field contains the SHA1 hash of the ASN.1 representation of the
    next node's identity public key.
 
-   A SWAP routing type tells the node to exchange headers as described below.
-
-   The FWD/IP6 and SWAP-FWD/IP6 routing types are analogous to FWD/IP4
-   and SWAP-FWD/IP4, except that they use IPv6 addresses rather than
-   IP4 addressed.  Path generation in this case is an open issue.
+   A SWAP routing type tells the node to exchange headers as described
+   below.
 
+   The FWD/HOST and SWAP-FWD/HOST routing type are analogous to
+   FWD/IPV4 and SWAP-FWD/IPV4, except that they expect fully qualified
+   hostnames rather than IPv4 addresses.  Servers SHOULD not block
+   while resolving the hostnames.  [The *FWD/HOST family first appears
+   in Mixminion 0.0.6, and is meant to replace *FWD/IPV4.  Mixminion
+   0.0.7 and later will not generate or accept *FWD/IPV4 messages.  If
+   a server is addressed via a static IPs, it should use a dotted quad
+   as their hostname.  As of Mixminion 0.0.7, the types formerly
+   associated with *FWD/IPv4 will become unallocated.]
+   
    See 'E2E-spec.txt' for more information about SMTP and MBOX delivery.
 
 3.2.2. Header Structure
@@ -983,12 +990,12 @@
      * B sends "RECEIVED", CRLF, HASH(M|"RECEIVED") (10 + 20 octets)
 
        [Note that A SHOULD NOT wait for B's reply before sending
-        further packets; rather, A SHOULD sending its next packet
-        immediately.  Node B SHOULD NOT send a reply until it has
-        committed the packet to local storage, and Node A SHOULD NOT
-        remove the packet from local storage before it has it has
+        further packets; rather, A SHOULD start sending its next
+        packet immediately.  Node B SHOULD NOT send a reply until it
+        has committed the packet to local storage, and Node A SHOULD
+        NOT remove the packet from local storage before it has it has
         received B's reply.  Node A MAY pause if it is waiting for 16
-        hashes at a time.]
+        or more hashes at a time.]
 
   * Padding case:
 

Index: spec-issues.txt
===================================================================
RCS file: /home/minion/cvsroot/doc/spec/spec-issues.txt,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- spec-issues.txt	22 Aug 2003 01:18:00 -0000	1.5
+++ spec-issues.txt	4 Sep 2003 16:14:02 -0000	1.6
@@ -24,10 +24,10 @@
             Status of this Document                                    X
    0.       Meta-issues
    1.       Issues in MIX3:1: 'minion-spec.txt'
-   1.1.     Disposition of 'DROP' messages -- RESOLVED
+   1.1.     Disposition of 'DROP' messages -- CLOSED
    1.2.     Generation of dummy messages and link padding
    1.3.     Recommended pooling rule -- RESOLVED
-   1.4.     Hostnames versus IPs -- RESOLVED, NEED SPEC
+   1.4.     Hostnames versus IPs -- CLOSED
    1.5.     IPv6 -- RESOLVED, NEED SPEC
    1.6.     Denial-of-service prevention -- DEFERRED
    1.7.     Bursty MMTP
@@ -40,6 +40,7 @@
    2.6.     News -- RESOLVED, NEED SPEC
    2.7.     PKI bootstrapping 
    2.8.     Multiple recipients
+   2.9.     Plaintext payload versioning
    3.       Issues in MIX3:3: 'dir-spec.txt'
    3.1.     Directory agreement
    3.2.     Integrated pinging
@@ -61,19 +62,7 @@
 
 1. Issues in Mix3:1: 'minion-spec.txt'
 
-1.1. Disposition of 'DROP' messages -- RESOLVED
-
-   We need to specify: are 'DROP' messages dropped before they go
-   into the mix pool, or after they're pulled from the pool?
-
-   [Before. -NM]
- 
-   [My feeling is After, but I should think about it... -GD]
- 
-   [Roger seemed pretty sure that it should be 'before', but I don't
-      remember why.  Roger? -NM]
-
-   [RESOLVED 3Aug: "Before".  Roger will tell us why.]
+1.1. Disposition of 'DROP' messages -- CLOSED
 
 1.2. Generation of dummy messages and link padding
 
@@ -105,51 +94,7 @@
    [RESOLVED 3AUG: Stick with binomial timed dynamic pool until we
      get something better.]
 
-1.4. Hostnames versus IPs -- RESOLVED, NEED SPEC
-
-   In the current specification, we address servers only by IP.  While
-   this approach prevents DNS-related attacks against the mixnet, it
-   wreaks havoc with any attempt to run a server with a dynamic IP.
-
-   Although it is possible to incorporate dynamic-IP servers in the
-   current scheme (for example, nodes could re-address messages to a
-   server's new IP upon learning of the new IP via a fresh directory
-   publication), such approaches basically amount to reinventing a
-   broken, high-latency DNS clone.
-
-   Thus, I think that instead of using an IP address in FWD and
-   SWAP-FWD subheaders, we should use a hostname instead.  Nodes should
-   cache the result of the lookup until a connection fails, in order to
-   prevent spoofing attacks.
-
-   [Peter says we should use TTLs instead so you can move a server
-   without shutting down the old one.  Sounds good.]
-
-   Pro:
-      - Servers with dynamically assigned IP become viable.
-      - Changing a server's IP no longer delays traffic until the
-        change propagates to the directory.
-
-   Con:
-      - The server codebase must become more complicated in order to 
-        efficiently perform and cache DNS lookups while resisting
-        DNS-related lockups.  (But note that any other solution to
-        the dynamic-IP problems would also require a significant amount
-        of server code.)
-      - An attacker who can compromise a node's DNS could block some of
-        the traffic intended for that node until the DNS was restored.
-
-   Nonissues:
-      - We don't need to worry about attackers stealing or destroying
-        traffic by compromising DNS, since MMTP is authenticated.
-  
-                                      -- Nick
-
-   [3Aug: We decided to allow administrators to provide either
-     hostname or IP at their discretion.  I need to come up with a
-     migration plan and modify minion-spec.txt to say the right
-     thing. -NM]
-    
+1.4. Hostnames versus IPs -- CLOSED
 
 1.5. IPv6 -- RESOLVED, NEED SPEC
 
@@ -302,6 +247,17 @@
 
    [3Aug: <=8 addresses.  If client gets more than 8, divides into N/8
      messages.  Eliminate dups at client; dups at server are error.]
+
+2.9. Plaintext payload versioning
+
+   We should burn a byte or two for a version number on plaintext
+   payloads.  This way, we have some hope of changing to a better 
+   fragmentation algorithm in the future, or what have you.
+   
+   Doing this doesn't break the key property that forward payloads
+   can be recognized as okay, but that corrupt payloads, reply
+   payloads, and encrypted payloads are indistinguishable except to
+   their recipients.
 
 3. Issues in MIX3:3: 'dir-spec.txt'