Internet DRAFT - draft-bradner-annfwd-req
draft-bradner-annfwd-req
Network Working Group Scott Bradner
Internet-Draft HT Kung
Expires May 2002 Harvard University
November 2001
Requirements for an Anonymizing Packet Forwarder
<draft-bradner-annfwd-req-00.txt>
1. Status of This Memo
This document is an Internet-Draft and is subject to all provisions
of Section 10 of RFC 2026.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
2. Abstract
There are a number of situations in the Internet where it would be
useful to be able to have an application be able to send traffic to a
destination without revealing the IP address of the destination to
the source, or the IP address of the source to the destination, or
both. One way to do this is to have a network resident set of
servers which can forward packets, with encryption and decryption
applied to their source and destination addresses when appropriate.
We will call this server an anonymizing forwarder.
This memo describes the requirements for such a server. A companion
document [FRW-DRAFT] will describe a proposed framework on the usage
of anonymizing forwarders and how these requirements are applicable.
3. Conventions Used in This Document
Bradner & Kung [Page 1]
Internet-Draft Anonymizing Forwarder Requirements November 2001
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC-2119 [2].
4. Background
This memo describes the requirements for an anonymizing packet
forwarder to be used in situations such as the following.
A client needs to interact with a server (the "target server") but
the IP address of the target server needs to be hidden in order to
minimize the potential for denial of service (DoS) attacks on the
target server. The client first interacts with an initialization
server, which may be a local application or a network-based server.
This initialization server securely sends the client a message that
includes the IP address of the target server encrypted in the key of
a set of forwarding servers and an IP address that can be used to
reach the same set of forwarding servers. Additional information can
also be included to be used for authenticating the request. The
forwarding servers can be using anycast-style addressing (see
[RFC1546] and [ANYCAST]).
When the client wishes to send a message to the target server, it
builds the packet without including the destination IP address, and
sends this along with the encrypted address of the target server to
the IP address for the forwarding servers. The forwarding server
decrypts the target server address. If additional authenticating
information is present, the forwarding server can check that
information before proceeding. When all checks have been completed,
the forwarding server builds a packet by taking the packet supplied
by the client and inserting the IP address of the target server into
the destination address field. The packet is then sent to the target
server.
The design of the anonymizing forwarding server described in this
memo assumes that the use will be for low-bandwidth signaling, not
data transfer that may require high bandwidth. This assumption is
made so that rate limiting can be used to minimize the chance that
the anonymizing forwarding server could be used to hide a denial of
service attack.
There are many applications that fit the model of signaling defined
here. These include request/response messages in connection setup
and termination, user authentication, service registration, and
service discovery. These types of applications only need medium
bandwidth to function properly.
The anonymizing forwarding server of this type differs from other
Bradner & Kung [Page 2]
Internet-Draft Anonymizing Forwarder Requirements November 2001
address translation servers or devices such as NAT/VPN/Proxy. First,
as mentioned above, the anonymizing forwarding server is for
signaling, not for data transfer. Second, it is a stateless packet
forwarder. In particular, it does not keep any connection or session
state or any mapping tables that, for example, could be used to
generate translated IP addresses and port numbers. A consequence is
that the anonymizing forwarding server is oblivious to the number of
connections or sessions, and does not have translation tables to
manage.
The anonymizing forwarding server performs a function of decrypting a
packet to recover the IP address of the next forwarding hop or the
final destination. This function is similar to that performed by a
node in onion routing [ONION]. The anonymizing forwarding server
differs from onion routing in that it is intended to provide a stand-
alone anonymizing network infrastructure at the IP layer.
There are other application level anonymizers, including mixmaster
for anonymous email forwarding [MIX] and anonymizing proxy [TRUST].
The anonymizing forwarding server intends to contribute to the goal
of supporting anonymity at the IP layer, as envisioned by the
"Controlled Nymity IP" effort [NymIP].
5. Threat Model
One of the main threats we are trying to deal with is revealing the
IP address of the target server, but in doing so, we do not want our
anonymizing forwarders to become the conduit for denial of service
attacks.
Since all traffic going in and out an anonymizing forwarding server
is visible, our approaches need to be resistant to traffic analysis.
An anonymizing forwarding server may be compromised due to reasons
such as password leak and broken systems. In addition, an
imperfection of a system that hides the location of a forwarder and
its output links may allow an adversary to monitor the output links.
In these cases, the IP address of the target server could be revealed
to the adversary. To mitigate this threat, various approaches can be
taken. For example, the forwarding infrastructure can forward a
packet in multiple hops using forwarders under different management
authorities. Forwarders can hide their existence by hiding
themselves behind other forwarders. Forwarders can also use
different IP addresses at times. In this case, initialization
servers will need to be synchronized with the change of forwarders'
IP addresses. When the risk of compromised forwarders is determined
to be sufficiently high, the IP address of the target server can be
Bradner & Kung [Page 3]
Internet-Draft Anonymizing Forwarder Requirements November 2001
changed.
An anonymizing forwarding server can itself be a target of denial of
service attacks. It needs to be resistant to such attacks.
In this requirement we are not specifically concerned with protecting
the packet contents between the client and forwarding server since we
expect the end to end packet contents will be encrypted.
6. Requirements
Forwarding Function: The forwarding server MUST be able to receive an
arriving packet on a port, encrypt, decrypt and extract some of the
contents of the packet, select the IP address of the next hop using
the decrypted content, verify the source, build the outgoing packet,
and forward it to the next hop.
Stateless: The forwarding server MUST NOT keep any state about
individual packet transmissions in order to do its work. This means
that packets of a given application session may use different
forwarding servers. All messages to a forwarding server MUST contain
all the information that the forwarding server will need to verify
the source, build the packet and forward it to the next hop. All
information about a particular packet SHOULD be discarded as soon as
the transmission is complete. The destination and source IP addresses
SHOULD be kept, but SHOULD NOT be in a correlated way, so that rate
limiting can be done (see below).
Anycast: The forwarding server MAY use anycast-style addressing (see
[RFC1546] and [ANYCAST]), so that any of a number of forwarding
servers using the same anycast address may forward a packet sent to
it.
Multi-hop Forwarding: A forwarding server MAY support multi-hop
forwarding, under which a client's packet may be forwarded by a
sequence of two or more forwarders before reaching its target server.
These forwarders together are sufficient in decrypting the IP address
of the target server, but a subset of them are not. Multi-hop
forwarding can provide added protection against an adversary who
attempts to compromise a forwarder or monitor its output links. For
example, by involving forwarders protected under strong but different
security measures in multi-hop forwarding, we can reduce the chance
that a set of forwarders that are sufficient for the decryption are
all compromised. That is, the adversary would need to defeat all the
security measures, rather than just one of them, in order to succeed.
Scalable Deployment: Forwarding servers MUST be able to be deployed
Bradner & Kung [Page 4]
Internet-Draft Anonymizing Forwarder Requirements November 2001
in such a way that the number of servers can be raised as the demand
increases.
Overall Rate Limiting: Each forwarding server SHOULD be able to limit
the maximum rate at which it will forward messages in order to
minimize the ease with which it could be used in a denial of service
attack.
Per Next-hop Rate Limiting: In addition to putting a limit on the
overall rate that a single forwarding server will forward traffic to
a next-hop forwarder or to any one destination, there SHOULD be a
maximum limit on the rate at which traffic can be sent to any of
them.
Per Preceding-hop Rate Limiting: Similar to the above, there MAY be a
maximum rate at which traffic will be forwarded for any preceding-hop
forwarder or for any single source.
DoS Resistant: The forwarding infrastructure itself SHOULD be denial
of service resistant. Any forwarding server that may receive packets
directly from clients should be able to sustain requests arriving at
the wire speed. This means that the server should not have extra
services running that could prevent it from achieving wire-speed
performance. It SHOULD also be protected against SYN and other well-
known attacks.
Managing Request Queue: For any forwarding server that may receive
packets directly from clients, its queue of forwarding requests
SHOULD be DoS resistant as well. A Random Early Discard [RED] queue
management could be used to discard requests when they arrive at too
high a rate.
Traffic Analysis Resistant: The forwarding server SHOULD provide
means of inhibiting an adversary from correlating input and output
traffic, and thus inferring the IP address or location of the next
hop or the target server. For example, the forwarding server MAY
randomly delay packets, make all output packets of the same size,
randomize their transmission order, and insert false traffic.
Statistics and logging: The forwarding server MAY provide facilities
for statistics gathering and logging purposes, provided the
information does not correlate input and output IP addresses.
Encryption Schemes: The address of the target host MUST be so
encrypted that clients of the forwarding server and other
unauthorized parties cannot see the address before it is decrypted.
The key infrastructure required by the encryption scheme SHOULD be
scalable to support a large number of clients and a moderate number
Bradner & Kung [Page 5]
Internet-Draft Anonymizing Forwarder Requirements November 2001
of forwarding servers.
7. Security Considerations
We have identified two areas of security concerns. The first is the
necessity of minimizing the risk that forwarding servers could be
used to launch DoS attacks. The rate limiting requirement is one of
the methods to be used to address this issue. The second is the need
for a key management infrastructure to support encryption in the
forwarding server's key, and to prevent the server from being
compromised. Existing and future public-key infrastructure (PKI)
could be exploited.
8. References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels," RFC 2119, March 1997.
[MIX] Chaum, D. L., "Untraceable Electronic Mail, Return Addresses,
and Digital Pseudonyms," Communications of the ACM February 1981
Volume 24 Number 2.
[RED] Floyd, S., and Jacobson, V., "Random Early Detection gateways
for Congestion Avoidance," Volume 1, Number 4, August 1993, p.
397-413.
[ANYCAST] Katabi, D., and Wroclawski, J., "A Framework for Global IP-
Anycast (GIA)," Proceedings of ACM SIGCOMM 2000, Stockholm, Sweden,
2000.
[FRW-DRAFT] Kung, H. T. and Bradner, S., " A Framework for an
Anonymizing Packet Forwarder" <draft-kung-annfwd-framework.txt>,
Draft, November 2001
[NymIP] The NymIP Effort, http://nymip.velvet.com.
[RFC1546] Milliken, W., Partridge C., and Mendez, T., "Host
anycasting service," RFC 1546, November 1993.
[ONION] Reed, M., Syverson, P., and Goldschlag, D., "Anonymous
Connections and Onion Routing," IEEE Journal on Selected Areas in
Communications, vol. 16 no. 4, May 1998, pp. 482-494.
[TRUST] Waldman, M., Cranor, L. F., and Rubin, A., "Trust," in P2P:
Harnessing the Benefits of a Disruptive Technology, edited by A.
Oram, O'Reilly & Associates, Sebastopol, California 2001, pp.
Bradner & Kung [Page 6]
Internet-Draft Anonymizing Forwarder Requirements November 2001
242-270.
8. Authors' Addresses
Scott Bradner
Harvard University
29 Oxford St.
Cambridge MA 02138
Email: sob@harvard.edu
Phone: +1-617-495-3864
HT Kung
Harvard University
33 Oxford St.
Cambridge MA 02138
Email: kung@harvard.edu
Phone: +1-617-496-6211
Bradner & Kung [Page 7]