/[pkg-mixmaster]/trunk/Docs/draft-moeller-v2-01.txt
ViewVC logotype

Contents of /trunk/Docs/draft-moeller-v2-01.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 555 - (show annotations) (download)
Thu Jul 10 01:36:49 2003 UTC (9 years, 11 months ago) by rabbi
File MIME type: text/plain
File size: 30206 byte(s)
Section number dance...
1 Internet-Draft Ulf Moeller
2 Expires: December 31, 2003
3 Lance Cottrell
4 Anonymizer Inc.
5 Peter Palfrader
6 The Mixmaster Project
7 Len Sassaman
8 Nomen Abditum Services
9 July 2003
10
11
12
13 Mixmaster Protocol Version 2
14 <draft-moeller-v2-01.txt>
15
16 Status of This Memo
17
18 This document is an Internet-Draft and is subject to all provisions
19 of Section 10 of RFC2026.
20
21 Internet-Drafts are working documents of the Internet Engineering
22 Task Force (IETF), its areas, and its working groups. Note that
23 other groups may also distribute working documents as
24 Internet-Drafts.
25
26 Internet-Drafts are draft documents valid for a maximum of six
27 months and may be updated, replaced, or obsoleted by other
28 documents at any time. It is inappropriate to use Internet-
29 Drafts as reference material or to cite them other than as
30 "work in progress."
31
32 The list of current Internet-Drafts can be accessed at
33 http://www.ietf.org/1id-abstracts.html
34
35 The list of Internet-Draft Shadow Directories can be accessed at
36 http://www.ietf.org/shadow.html
37
38 This Internet-Draft will expire on December 31, 2003.
39
40 Copyright Notice
41
42 Copyright (C) The Internet Society (2003). All Rights Reserved.
43
44
45
46 Abstract
47
48 Most e-mail security protocols only protect the message body, leaving
49 useful information such as the the identities of the conversing
50 parties, sizes of messages and frequency of message exchange open to
51 adversaries. This document describes Mixmaster (version 2), a mail
52 transfer protocol designed to protect electronic mail against traffic
53 analysis.
54
55 Mixmaster is based on D. Chaum's mix-net protocol.
56 A mix (remailer) is a service that forwards messages, using public key
57 cryptography to hide the correlation between its inputs and outputs.
58 Sending messages through sequences of remailers achieves anonymity and
59 unobserveability of communications against a powerful adversary.
60
61
62
63 Table of Contents
64
65 1. Introduction
66 2. The Mix-Net Protocol
67 2.1 Message Creation
68 2.2 Remailing
69 2.3 Message Reassembly
70 3. Pool Behavior
71 3.1 Pool Mix Algorithm
72 3.2 Dummy Traffic
73 4. Message Format
74 4.1 Payload Format
75 4.2 Cryptographic Algorithms
76 4.3 Packet Format
77 4.3.1 Header Section Format
78 4.3.2 Body Format
79 4.4 Mail Transport Encoding
80 5. Key Format
81 5.1 Key Rotation
82 6. Administrative Commands
83 7. Delivery of Anonymous Messages
84 8. Security Considerations
85 9. Acknowledgements
86 10. References
87 11. Authors' Addresses
88
89
90 1. Introduction
91
92 This document describes a mail transfer protocol designed to protect
93 electronic mail against traffic analysis. Most e-mail security
94 protocols only protect the message body, leaving useful information
95 such as the the identities of the conversing parties, sizes of
96 messages and frequency of message exchange open to adversaries.
97
98 Message transmission can be protected against traffic analysis by the
99 mix-net protocol. A mix (remailer) is a service that forwards
100 messages, using public key cryptography to hide the correlation
101 between its inputs and outputs. If a message is sent through a
102 sequence of mixes, one trusted mix is sufficient to provide anonymity
103 and unobserveability of communications against a powerful
104 adversary. Mixmaster is a mix-net implementation for electronic mail.
105
106 This memo describes version 2 of the Mixmaster message format, as used
107 on the Internet since 1995. An improved protocol is described in a
108 separate document.
109
110
111 2. The Mix-Net Protocol
112
113 The mix-net protocol [Chaum 1981] allows one to send messages while hiding
114 the relation of sender and recipient from observers
115 (unobserveability). It also provides the sender of a message with the
116 ability to remain anonymous to the recipient (sender anonymity). If
117 anonymity is not desired, authenticity and unobserveability can be
118 achieved at the same time by transmitting digitally signed messages.
119
120 This section gives an overview over the protocol used in Mixmaster. The
121 mixing algorithm is specified in section 3, and the message format is
122 specified in section 4.
123
124
125 2.1 Message Creation
126
127 To send a message, the user agent splits it into parts of fixed size,
128 which form the bodies of Mixmaster packets. If sender anonymity is
129 desired, care should be taken not to include identifying information
130 in the message. The message may be compressed.
131
132 The sender chooses a sequence of up to 20 remailers for each
133 packet. The final remailer must be identical for all packets.
134
135 The packet header consists of 20 sections. For a sequence of n
136 remailers, header sections n+1, ... , 20 are filled with random
137 data. For all sections i := n down to 1, the sender generates a
138 symmetric encryption key, which is used to encrypt the body and
139 all following header sections. This key, together with other control
140 information for the remailer, is included in the i-th header section,
141 which is then encrypted with the remailer's public key. The resulting
142 message is sent to the first remailer in an appropriate transport
143 encoding.
144
145 To increase reliability, redundant copies of the message may be sent
146 through different paths. The final remailer must be identical for all
147 paths, so that duplicates can be detected and the message is delivered
148 only once.
149
150
151 2.2 Remailing
152
153 When a remailer receives a message, it decrypts the first header
154 section with its private key. By keeping track of a packet ID, the
155 remailer verifies that the packet has not been processed before. The
156 integrity of the message is verified by checking the packet length and
157 verifying message digests included in the packet. Then the first
158 header section is removed, the others are shifted up by one, and the
159 last section is filled with random padding. All header sections and
160 the packet body are decrypted with the symmetric key found in the
161 header. This reveals a public key-encrypted header section for the
162 next remailer at the top, and removes the old top header
163 section. Transport encoding is applied to the resulting message.
164
165 The remailer collects several encrypted messages before sending the
166 resulting messages in random order. Thus the relation between the
167 incoming and outgoing messages is obscured to outside adversaries even
168 if the adversary can observe all messages sent. The message is
169 effectively anonymized by sending it through a chain of independently
170 operated remailers.
171
172
173 2.3 Message Reassembly
174
175 When a packet is sent to the final remailer, it contains an indication
176 that the chain ends at that remailer, and whether the packet contains
177 a complete message or part of a multi-part message. If the packet
178 contains the entire message, the packet body is decrypted and after
179 reordering messages the plain text is delivered to the recipient. For
180 partial messages, a message ID is used to identify the other parts as
181 they arrive. When all parts have arrived, the message is reassembled,
182 decompressed if necessary, and delivered. If the parts do not arrive
183 within a time limit, the message is discarded.
184
185 Only the last remailer in the chain can determine whether packets are
186 part of a certain message. To all the others, they are completely
187 independent.
188
189
190 3. Pool Behavior
191
192 3.1 Cottrell Pool Mix Algorithm
193
194 In order to obfuscate the link between incoming and outgoing messages,
195 Mixmaster uses a pooling scheme. Messages that are to be forwarded
196 anonymously are stored in a pool. In regular intervals the remailer fires
197 and sends some random messages from the pool to either the next hop or
198 their final recipients.
199
200 The pooling scheme used in Mixmaster is the "Cottrell Pool Mix", which has
201 the following three parameters:
202 t mixing interval
203 min minimum number of messages in the pool
204 rate percentage of messages to be send in one round
205
206 Every t seconds:
207 - Let n be the number of messages currently in the pool
208 - count is the smaller of (n - min) and (n * rate), or 0 if
209 (n - min) is negative.
210 - Select count random messages from the pool and send them.
211
212 3.2. Dummy Traffic
213
214 "Dummy messages" are multi-hop messages of type NULL with four randomly
215 selected nodes as their chain.
216
217 Older versions of Mixmaster (2.0.4 - 2.9.0) allowed for the creation of
218 dummy message cover traffic, but provided no automated means for introducing
219 this dummy traffic into the system. Beginning in version 3.0, Mixmaster employs
220 an internal dummy policy.
221
222 Every time a message is placed in the pool, the remailer chooses a random
223 number from a geometric distribution and creates that many dummy messages
224 which are also placed in the pool.
225
226 Similarly, prior to each execution of the mixing algorithm described in
227 section 3.1, the remailer selects a random number from a different geometric
228 distribution and adds that many dummy messages to the pool as well.
229
230 The distributions' parameters are chosen so that on average the remailer
231 creates one dummy for every 32 messages coming in and one every 9 mixing
232 rounds.
233
234
235 4. Message Format
236
237 4.1 Payload Format
238
239 The Mixmaster message payload can be an e-mail message, a Usenet
240 message or a dummy message.
241
242 The messages use the formats specified in [RFC 822] and [RFC 1036]
243 respectively, prepended with data specifying the payload type. An
244 additional, more restricted method of specifying message header lines
245 is defined for reasons of backward compability.
246
247 The payload format is as follows:
248
249 Number of destination fields [ 1 byte]
250 Destination fields [ 80 bytes each]
251 Number of header line fields [ 1 byte]
252 Header lines fields [ 80 bytes each]
253 User data section [ up to ~2.5 MB]
254
255 Each destination field consist of a string of up to 80 ASCII characters,
256 padded with null-bytes to a total size of 80 bytes. The following
257 strings are defined:
258
259 null: dummy message
260 post: Usenet message
261 post: [newsgroup] Usenet message
262 [address] e-mail message
263
264 If no destination field is given, the payload is an e-mail message.
265
266 If the destination field is "post: [newsgroup]", a "Newsgroups:
267 [newsgroup]" field is added to the header of the resulting message. If
268 the destination field is of the fourth type, a "To: [address]" field
269 is added to the header of the resulting message. [address] and
270 [newsgroup] are strings of ASCII characters. If the message
271 is a dummy message the node should discard it.
272
273 Message headers can be specified in header line fields. Each header
274 line field consists of a string of up to 80 ASCII characters, padded
275 with null-bytes to a total size of 80 bytes.
276
277 There are three types of user data sections:
278
279 A compressed user data section begins with the GZIP identification
280 header (31, 139). It contains another user data section. The data are
281 compressed using GZIP [RFC 1952]. The GZIP operating system field must
282 be set to Unix, and file names must not be given. Compression may be
283 used if the capabilities attribute of the final remailer contains the
284 flag "C".
285
286 An RFC 822 user data section begins with the identification "##<CR>"
287 (35, 35, 13). It contains an e-mail message or a Usenet message as
288 specified in [RFC 822] and [RFC 1036]. This type cannot be used if
289 the final remailer uses a Mixmaster software version prior to 2.0.4.
290
291 A user data section not beginning with one of the above identification
292 strings contains only the body of the message. When this type of user
293 data section is used, the message header fields must be included in
294 destination and header line fields.
295
296 The payload is limited to a maximal size of 2610180 bytes. Individual
297 remailers may use a smaller limit.
298
299 Remailer operators can choose to remove header fields supplied by the
300 sender and insert additional header fields, according to local policy
301 (see section 5).
302
303
304 4.2 Cryptographic Algorithms
305
306 The asymmetric encryption operation in Mixmaster version 2 uses RSA
307 with 1024 bit RSA keys and the PKCS #1 v1.5 (RSAES-PKCS1-v1_5) padding
308 format [RFC 2437]. The symmetric encryption uses EDE 3DES with cipher
309 block chaining (24 byte key, 8 byte initialization vector) [Schneier
310 1996]. MD5 [RFC 1321] is used as the message digest algorithm.
311
312
313 4.3 Packet Format
314
315 A Mixmaster packet consists of a header containing information for the
316 remailers, and a body containing payload data. To ensure that
317 packets are indistinguishable, the size of these encrypted data fields
318 is fixed.
319
320 The packet header consists of 20 header sections (specified in
321 section 3.3.1) of 512 bytes each, resulting in a total header size
322 of 10240 bytes. The header sections -- except for the first one -- and
323 the packet body are encrypted with symmetric session keys specified in
324 the first header section.
325
326
327 4.3.1 Header Section Format
328
329 Public key ID [ 16 bytes]
330 Length of RSA-encrypted data [ 1 byte ]
331 RSA-encrypted session key [ 128 bytes]
332 Initialization vector [ 8 bytes]
333 Encrypted header part [ 328 bytes]
334 Padding [ 31 bytes]
335
336 Total size: 512 bytes
337
338 To generate the RSA-encrypted session key, a random 24 byte Triple-DES
339 key is encrypted with RSAES-PKCS1-v1_5, resulting in 128 bytes (1024
340 bits) of encrypted data. This Triple-DES key and the initialization
341 vector provided in clear are used to decrypt the encrypted header part.
342 They are not used at other stages of message processing.
343
344 The 328 bytes of data encrypted to form the encrypted header part are
345 as follows:
346
347 Packet ID [ 16 bytes]
348 Triple-DES key [ 24 bytes]
349 Packet type identifier [ 1 byte ]
350 Packet information [depends on packet type]
351 Timestamp [ 7 bytes]
352 Message digest [ 16 bytes]
353 Random padding [fill to 328 bytes]
354
355 The possible packet type identifiers are:
356
357 Intermediate hop 0
358 Final hop 1
359 Final hop, partial message 2
360
361 The packet information depends on the packet type identifier, as follows:
362
363 Packet type 0 (intermediate hop):
364 19 Initialization vectors [152 bytes]
365 Remailer address [ 80 bytes]
366
367 Packet type 1 (final hop):
368 Message ID [ 16 bytes]
369 Initialization vector [ 8 bytes]
370
371 Packet type 2 (final hop, partial message):
372 Chunk number [ 1 byte ]
373 Number of chunks [ 1 byte ]
374 Message ID [ 16 bytes]
375 Initialization vector [ 8 bytes]
376
377 Packet ID: randomly generated packet identifier.
378
379 Triple-DES key: used to encrypt the following header sections and the
380 packet body.
381
382 Initialization vectors: For packet type 1 and 2, the IV is used to
383 symmetrically encrypt the packet body. For packet type 0, there is one IV
384 for each of the 19 following header sections. The IV for the last header
385 section is also used for the packet body.
386
387 Remailer address: e-mail address of next hop.
388
389 Message ID: randomly generated identifier unique to (all chunks of)
390 this message.
391
392 Chunk number: Sequence number used in multi-part messages, starting
393 with 1.
394
395 Number of chunks: Total number of chunks.
396
397 Timestamp: A timestamp is introduced with the byte sequence (48, 48, 48,
398 48, 0). The following two bytes specify the number of days since Jan 1,
399 1970, given in little-endian byte order. A random number of up to 3 may be
400 subtracted from the number of days in order to obscure the origin of the
401 message.
402
403 Early implementations of Mixmaster did not generate a timestamp packet.
404 Implementors should be aware of the partitioning attack implications if
405 they chose to permit processing of packets without timestamps.
406
407 Message digest: MD5 digest computed over the preceding elements of the
408 encrypted header part.
409
410 In the case of packet type 0, header sections 2 .. 20 and the packet body
411 each are decrypted separately using the respective initialization vectors.
412 In the case of packet types 1 and 2, header sections 2 .. 20 are ignored,
413 and the packet body is decrypted using the given initialization vector.
414
415
416 4.3.2 Body Format
417
418 The message payload (section 3.1) is split into chunks of 10236
419 bytes. To each chunk, its length is prepended as a 4 byte
420 little-endian number to form the body of a Mixmaster packet.
421
422 A message may consist of up to 255 packets.
423
424
425 4.4 Mail Transport Encoding
426
427 Mixmaster packets are sent as text messages [RFC 822]. The RFC 822
428 message body has the following format:
429
430 ::
431 Remailer-Type: Mixmaster [version number]
432
433 -----BEGIN REMAILER MESSAGE-----
434 [packet length ]
435 [message digest]
436 [encoded packet]
437 -----END REMAILER MESSAGE-----
438
439 The length field always contains the decimal number "20480", since the
440 size of Mixmaster packets is constant. An MD5 message digest [RFC
441 1321] of the (un-encoded) packet is encoded in base64.
442
443 The packet itself is encoded in base 64 encoding [RFC 1421], broken
444 into lines of 40 characters (except that the last line is shorter).
445
446
447 5. Key Format
448
449 Remailer public key files consist of a list of attributes and a
450 public RSA key:
451
452 [attributes list]
453
454 -----Begin Mix Key-----
455 [key ID]
456 [length]
457 [encoded key]
458 -----End Mix Key-----
459
460 The attributes are listed in one line separated by spaces. Individual
461 attributes must not contain whitespace:
462
463 identifier: a human readable string identifying the remailer
464 address: the remailer's Internet mail address
465 key ID: public key ID
466 version: the Mixmaster software version number
467 capabilities: flags indicating additional remailer capabilities
468 validity date: date from which the key is valid
469 expiration date: date of the key's expiration
470
471 The identifier consists of lowercase alphanumeric characters, beginning
472 with an alphabetic character. The identifier should consist of no more
473 than eight characters in length.
474
475 The encoded key packet consists of two bytes specifying the key length
476 (1024 bits) in little-endian byte order, and of the RSA modulus and the
477 public exponent in big-endian form using 128 bytes each, with preceding
478 null bytes for the exponent if necessary. The packet is encoded in base 64
479 [RFC 1421], and broken into lines of 40 characters each (except that the
480 last line is shorter). Its length (258 bytes) is given as a decimal
481 number.
482
483 The key ID is the MD5 message digest of the representation of the RSA
484 public key (not including the length bytes). It is encoded as a
485 hexadecimal string.
486
487 The version field consists of the protocol version number followed by a
488 colon and the software version information, limited to the ASCII
489 alphanumeric characters, plus dot (.) and dash (-). All implimentations of
490 this protocol should prepend the software version with "2:" to indicate
491 Mixmaster protocol version 2. Existing implimentations lacking a protocol
492 version number imply protocol version 2.
493
494 The capabilities field is optional. It is a list of flags represented
495 by a string of ASCII characters. Clients should ignore unknown
496 flags. The following flags are used in version 2.0.4 through 3.0:
497
498 C accepts compressed messages.
499 M will forward messages to another mix when used as final hop.
500 Nm supports posting to Usenet through a mail-to-news gateway.
501 Np supports direct posting to Usenet.
502
503 The date fields introduced in version 3.0 are optional. They are ASCII
504 date stamps in the format YYYY-MM-DD. The first date indicates the date
505 from which the key is first valid; the second date indicates its
506 expiration. If only one date is present, it is treated as the key creation
507 date. (The date stamp implies 00:00 UTC).
508
509 Digital signatures [RFC 2440] should be used to ensure the
510 authenticity of the key files.
511
512
513 5.1 Key Rotation
514
515 Beginning with version 3.0, Mixmaster offers automatic key rotation. Care
516 must be taken to minimize the possibility for partitioning attacks during
517 the key rotation window.
518
519 Keys are generated with a validity date and an expiration date. Mixmaster
520 clients only display keys which are currently valid and not expired.
521
522 Keys are valid for a 13 month period. Mixmaster remailers generate new
523 keys when the existing key's expiration date is one month or less in the
524 future. Remailers report the most recently generated key as the remailer
525 key when queried, effectively giving each key a 12 month service period.
526
527 Remailers continue to decrypt and process mail encrypted to expired keys
528 for one week past the expiration date on the key. One week after
529 expiration, an expired remailer key should be securely destroyed.
530
531
532 6. Administrative Commands
533
534 The remailer software understands a number of specific administrative
535 commands. These commands are sent via the Subject: line of an email to the
536 email address of the remailer:
537
538 remailer-help: returns information on using the remailer
539 remailer-key: returns the remailer's public key
540 remailer-stats: returns information on the number of messages processed
541 remailer-conf: returns local configuration information
542 remailer-adminkey: returns the public key of the remailer operator
543
544 Upon receiving an administrative request, the remailer returns its reply
545 to the email address specified in the Reply-To: or From: header of the
546 request.
547
548 The remailer-help request should return basic information on using the
549 remailer. Remailers may also accept remailer-help requests with an ISO 639
550 two-letter language code appended following a hyphen. For example,
551 remailer-help-ar will return a help file in Arabic, if available.
552 Supported languages should be listed at the beginning of the remailer-help
553 response.
554
555 The remailer-key request returns the remailer key as described above. It
556 may also return keys and capability information for other remailer
557 protocols supported by the remailer.
558
559 The remailer-stats request returns statistics on the number of messages
560 processed per day by the remailer.
561
562 The remailer-conf request returns local configuration information, such as
563 the version of the remailer software, the supported remailer protocols,
564 filtered headers, blocked newsgroups and domains, and the attribute
565 strings for other remailers the remailer knows about.
566
567 The remailer-adminkey request returns a public OpenPGP key for use in
568 communication with the remailer operator.
569
570
571 7. Delivery of Anonymous Messages
572
573 When anonymous messages are forwarded to third parties, remailer
574 operators should be aware that senders might try to supply header
575 fields that indicate a false identity or to send Usenet control
576 messages [RFC 1036] unauthorized, which is a problem because many news
577 servers accept control messages automatically without any
578 authentication.
579
580 For these reasons, remailer software should allow the operator
581 to disable certain types of message headers, and to insert headers
582 automatically.
583
584 Remailers usually add a "From:" field containing an address controlled
585 by the remailer operator to anonymous messages. Using the word
586 "Anonymous" in the name field allows recipients to apply scoring
587 mechanisms and filters to anonymous messages. Appropriate additional
588 information about the origin of the message can be inserted in the
589 "Comments:" header field of the anonymous messages.
590
591 If the recipient does not wish to receive anonymous messages,
592 unobserveability of communications and authenticity can be achieved at
593 the same time by the remailer verifying that the message is
594 cryptographically signed [RFC 2440] by a known sender.
595
596 Anonymous remailers are sometimes used to send harassing e-mail. To
597 prevent this abuse, remailer software should allow operators to block
598 destination addresses on request. Real-life abuse and attacks on
599 anonymous remailers are discussed in [Mazieres 1998].
600
601
602 8. Security Considerations
603
604 The security of the mix-net relies on the assumption that the
605 underlying cryptographic primitives are secure. In addition, specific
606 attacks on the mix-net need to be considered ([Möller 1998] contains a
607 more detailed analysis of these attacks).
608
609 Passive adversaries can observe some or all of the messages sent to
610 mixes. The users' anonymity comes from the fact that a large number
611 of messages are collected and sent in random order. For that reason
612 remailers should collect as many messages as possible while keeping
613 the delay acceptable.
614
615 Statistical traffic analysis is possible even if single messages are
616 anonymized in a perfectly secure way: An eavesdropper may correlate
617 the times of Mixmaster packets being sent and anonymized messages
618 being received. This is a powerful attack if several anonymous
619 messages can be linked together (by their contents or because they are
620 sent under a pseudonym). To protect themselves, senders must mail
621 Mixmaster packets stochastically independent of the actual messages
622 they want to send. This can be done by sending packets in regular
623 intervals, using a dummy message whenever appropriate. To avoid
624 leaking information, the intervals should not be smaller than the
625 randomness in the delay caused by trusted remailers.
626
627 There is no anonymity if all remailers in a given chain collude with
628 the adversary, or if they are compromised during the lifetime of their
629 keys. Using a longer chain increases the assurance that the user's
630 privacy will be preserved, but in the same time causes lower
631 reliability and higher latency. Sending redundant copies of a message
632 increases reliability but may also facilitate attacks. An optimum must
633 be found according to the individual security needs and trust in the
634 remailers.
635
636 Active adversaries can also create, suppress or modify
637 messages. Remailers must check the packet IDs to prevent replay
638 attacks. Message integrity must be verified to prevent the adversary
639 from performing chosen ciphertext attacks or replay attacks with
640 modified packet IDs, and from encoding information in an intercepted
641 message in a way not affected by decryption (e.g. by modifying the
642 message length or inducing errors). This version of the protocol does
643 not provide integrity for the packet body. Because the padding for
644 header section is random, in this version of the protocol it is
645 impossible for a remailer to check the integrity of the encrypted
646 header sections that will be decrypted by the following remailers.
647 Chosen ciphertext attacks and replay attacks are detected by verifying
648 the message digest included in the header section.
649
650 The adversary can trace a message if he knows the decryption of all
651 other messages that pass through the remailer at the same time. To
652 make it less practical for an attacker to flood a mix with known
653 messages, remailers can store received messages in a reordering pool
654 that grows in size while more than average messages are received, and
655 periodically choose at random a fixed fraction of the messages in the
656 pool for processing. There is no complete protection against flooding
657 attacks in an open system, but if the number of messages required is
658 high, an attack is less likely to go unnoticed.
659
660 If the adversary suppresses all Mixmaster messages from one particular
661 sender and observes that anonymous messages of a certain kind are
662 discontinued at the same time, that sender's anonymity is compromised
663 with high probability. There is no practical cryptographic protection
664 against this attack in large-scale networks. The effect of a more
665 powerful attack that combines suppressing messages and re-injecting
666 them at a later time is reduced by using timestamps.
667
668 The lack of accountability that comes with anonymity may have
669 implications for the security of a network. For example, many news
670 servers accept control messages automatically without any
671 cryptographic authentication. Possible countermeasures are discussed
672 in section 7.
673
674
675 9. Acknowledgements
676
677 Several people contributed ideas and source code to the Mixmaster v2
678 software. "Antonomasia" <ant@notatla.demon.co.uk>, Adam Back
679 <adam@cypherspace.org> and Bodo Möller <bmoeller@acm.org> suggested
680 improvements to this document.
681
682
683 10. References
684
685 [Chaum 1981] Chaum, D., "Untraceable Electronic Mail, Return Addresses, and
686 Digital Pseudonyms", Communications of the ACM 24 (1981) 2.
687
688 [Mazieres 1998] Mazières, D., and Kaashoek, F., "The Design, Implementation and
689 Operation of an Email Pseudonym Server",
690 5th ACM Conference on Computer and Communications Security, 1998.
691 <URL: ftp://cag.lcs.mit.edu/pub/dm/papers/mazieres:pnym.ps.gz>.
692
693 [Möller 1998] Möller, U., "Anonymisierung von Internet-Diensten",
694 Studienarbeit, University of Hamburg, January 1998.
695 <URL: http://agn-www.informatik.uni-hamburg.de/people/3umoelle/st.ps>.
696
697 [RFC 822] Crocker, D., "Standard for the Format of ARPA Internet Text
698 Messages", STD 11, RFC 822, August 1982.
699
700 [RFC 1036] Horton, M., and Adams, R., "Standard for Interchange of
701 USENET Messages", RFC 1036, December 1987.
702
703 [RFC 1321] Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321,
704 April 1992.
705
706 [RFC 1421] Linn, J., "Privacy Enhancement for Internet Electronic
707 Mail: Part I -- Message Encryption and Authentication Procedures", RFC
708 1421, February 1993.
709
710 [RFC 1952] Deutsch, P., "GZIP file format specification version 4.3",
711 RFC 1952, May 1996.
712
713 [RFC 2311] Dusse, S., Hoffman, P, Ramsdell, B, Lundblade, L., and
714 Repka, L., "S/MIME Version 2 Message Specification", RFC 2311, March
715 1998.
716
717 [RFC 2437] Kaliski, B., and Staddon, J., "PKCS #1: RSA Cryptography
718 Specifications, Version 2.0", RFC 2437, October 1998.
719
720 [RFC 2440] Callas, J., Donnerhacke, L., Finney, H., and Thayer, R.:
721 "OpenPGP Message Format", RFC 2440, November 1998.
722
723 [Schneier 1996] Schneier, B., "Applied Cryptography", 2nd Edition, Wiley,
724 1996.
725
726
727 11. Authors' Addresses
728
729
730 Ulf Moeller
731
732 EMail: ulf@fitug.de
733
734
735 Lance Cottrell
736 Anonymizer, Inc.
737 5694 Mission Center Road #426
738 San Diego, CA 92108-4380
739
740 EMail: loki@infonex.com
741
742
743 Peter Palfrader
744
745 EMail: peter@palfrader.org
746
747
748 Len Sassaman
749 Nomen Abditum Services
750 P.O. Box 99282
751 Emeryville, CA 94662-9282
752
753 EMail: rabbi@abditum.com

  ViewVC Help
Powered by ViewVC 1.1.5