Internet DRAFT - draft-stott-behave-safenet
draft-stott-behave-safenet
BEHAVE Working Group D. Stott
Internet Draft R. Townsend
Expires: December 31, 2005 Lucent Technologies/Bell Labs
June 29, 2005
SAFENeT: Server-based Architecture For
Enterprise NAT and Firewall Transversal
draft-stott-behave-safenet-00.txt
IPR Statement
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Abstract
One of the main challenges hindering the acceptance of VoIP is a
standards-based solution for traversing middleboxes such as Network
Address Translation (NAT) and FireWall (FW) boxes. This Internet-
Draft presents SAFENeT, a protocol that is intended to operate in an
enterprise environment and that allows the accommodation of real-time
services by the call server, internal to the enterprise network, to
communicate with the NAT/FW to enable the transversal of real-time
services including VoIP. This document describes the SAFENeT
architecture and protocol and shows how it overcomes the problems
caused by NATs/FWs. The SAFENeT architecture also enables security
features such as data confidentiality and digital integrity to be
used for the VoIP traffic traversing the NAT/FW.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 The NAT Routable Address Problem . . . . . . . . . . . . . 3
1.3 The VoIP Binding Problem . . . . . . . . . . . . . . . . . 3
1.4 Security Problems Caused by NATs and FWs . . . . . . . . . 4
1.5 SAFENeT as a Solution for Real-time Services . . . . . . . 4
1.6 Organization of This Internet-Draft . . . . . . . . . . . . 5
2. Existing Solutions . . . . . . . . . . . . . . . . . . . . . . 5
2.1 Application Layer Gateways (ALGs) . . . . . . . . . . . . . 5
2.2 Media Relays (MRs) . . . . . . . . . . . . . . . . . . . . 6
2.3 Session Border Controllers (SBCs) . . . . . . . . . . . . . 6
2.4 The MIDCOM and NSIS Solutions . . . . . . . . . . . . . . . 7
Stott & Townsend Expires – December 31, 2005 [Page 1]
Internet Draft SAFENeT June 29, 2005
2.5 RTP-based Solutions . . . . . . . . . . . . . . . . . . . 7
2.6 Controllable Firewalls . . . . . . . . . . . . . . . . . . 8
3. The SAFENeT Solution - Server-based Architecture For
Enterprise NAT/FW Transversal . . . . . . . . . . . . . 8
3.1 An Overview of SAFENeT . . . . . . . . . . . . . . . . . . 8
3.2 Assumptions . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3 Improvement Rationales . . . . . . . . . . . . . . . . . . 11
4. Examples and Details of SAFENeT . . . . . . . . . . . . . . . 13
4.1 Overview of Examples Illustrating SAFENeT . . . . . . . . . 13
4.2 Diagrams of Examples Illustrating SAFENeT . . . . . . . . . 14
4.3 Details of SAFENeT Communication Protocol (SCP) . . . . . . 21
4.4 Details of SAFENeT UA Communication Protocol (SUCP) . . . . 23
4.5 Illustrative Example of SCP and SUCP . . . . . . . . . . . 24
4.6 SAFENeT Block Caching Optimization . . . . . . . . . . . . 26
5. Discussion of Concerns . . . . . . . . . . . . . . . . . . . . 27
5.1 Don’t Mess with the Firewall . . . . . . . . . . . . . . . 27
5.2 Multiple NATs . . . . . . . . . . . . . . . . . . . . . . . 28
5.3 Complex Enterprise Topologies . . . . . . . . . . . . . . . 29
6. UNSAF Architectural Considerations . . . . . . . . . . . . . . 29
6.1 Addressing UNSAF Architectural Considerations in General . 29
6.2 Addressing Specific UNSAF Architectural
Considerations Per IAB . . . . . . . . . . . . . . . . . 30
6.3 IAB Consideration Summary . . . . . . . . . . . . . . . . 31
7. Security Considerations . . . . . . . . . . . . . . . . . . . 32
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 33
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 33
9.1 Normative References . . . . . . . . . . . . . . . . . . . 33
9.2 Informative References . . . . . . . . . . . . . . . . . . 33
Authors’ Addresses . . . . . . . . . . . . . . . . . . . . . . . . 34
Full Copyright Statement . . . . . . . . . . . . . . . . . . . . . 35
Status of This Document . . . . . . . . . . . . . . . . . . . . . 35
1. Introduction
1.1 Overview
Firewalls (FW) are essential in today’s environment for protecting
corporate and academic university networks from outside attacks and
for partitioning large internal networks for security reasons such as
between different organizations within these internal networks.
While Network Address Translation (NAT) boxes are common for
overcoming the limitations due to the scarcity of available IP
addresses, they also provide privacy through isolation of internal
networks (and the identity of individual users) from visibility from
Stott & Townsend Expires – December 31, 2005 [Page 2]
Internet Draft SAFENeT June 29, 2005
the outside. One of the challenges hindering the acceptance of VoIP
is a standards-based method for traversing boxes such as NATs and
FWs.
"Middleboxes" are defined as in [MIDBOX] –
any intermediary box performing functions apart from normal,
standard functions of an IP router on the datagram path between a
source host and destination host. In this Internet-Draft,
middlebox refers only to NATs and FWs.
1.2 The NAT Routable Address Problem
The way VoIP establishes an RTP session creates problems when a NAT
is involved. The VoIP protocols assume that the initiating endpoint
advertises an IP address/port number that is routable from the remote
receiving host and is unmodified by any network equipment. Neither
of these conditions are true when a NAT is present. The Initiating
Phone’s IP address is generally a private address that is not
routable (i.e., known) from outside the NAT and the transmitted port
number is not the same as the one determined by the Initiating Phone
because the NAT changes it. Therefore, the recipient has no way to
determine a connection back to the Initiating Phone.
1.3 The VoIP Binding Problem
Typical Internet applications use a simple client/server model in
which the client connects to a well-known port number on the server.
VoIP is different from these typical Internet applications because it
uses separate signaling and bearer sessions (and may even have
additional sessions (e.g., RTCP) to monitor the quality of the bearer
channel). The bearer and signaling channels must be bound so that
the bearer traffic goes to the correct endpoint. The signaling
session uses the familiar client/server model for setting up and
taking down the bearer connection but is also responsible for
establishing parameters for that bearer connection. The bearer
session is peer-to-peer.
FWs are usually configured to (a) allow traffic to specific ports on
specific servers (usually in a demilitarized zone (DMZ)), (b) permit
local/private hosts behind the FW to open connections to outside
servers, and (c) permit the reply via an authorized, previously made
connection. When the FW opens a connection based on a request from
an internal client and permits packets to flow through, it records
the ports and addresses of the internal Initiating Phone to identify
where to send the reply. With VoIP, the endpoints (i.e., both
Initiating Phone and Receiving Phone) independently open sockets to
receive bearer traffic. Because the FW does not initiate the
traffic, it is unable to anticipate the traffic from a remote host
(to say nothing about guaranteeing the binding of both the bearer and
Stott & Townsend Expires – December 31, 2005 [Page 3]
Internet Draft SAFENeT June 29, 2005
signaling channels for the VoIP session) and blocks the connection.
Further, since the RFC 3550 on RTP [RTP] does not specify
definitively what the endpoint must choose as port numbers (on a
session–by-session basis), the FW administrator cannot know which
ports to open to incoming replies (as would be done for normal
Internet replies from servers) and is faced with opening nearly all
UDP ports – not a good thing for security reasons.
1.4 Security Problems Caused by NATs and FWs
For environments needing a secure connection (bearer channel,
signaling channel or both), Application Layer Gateways (ALG),
traditionally used to add intelligence to middleboxes to handle
applications such as VoIP, create difficulties for encrypted traffic.
Security measures such as encryption that are designed to protect
signaling data from malicious network entities have the effect of
hiding the data from the ALG. Since ALGs cannot look at the data
being transported, they block VoIP bearer traffic. So VoIP cannot be
supported in secure environments. UAs wishing to set up a secure
connection to achieve data confidentiality and data integrity for
signaling likewise find that the current systems do not support this
functionality. Additionally, since the NAT changes the source
address, the hash produced by the initiating host in a digital
signature will not be confirmed by the receiving host and an error
message will be generated.
1.5 SAFENeT as a Solution for Real-time Services
SAFENeT is proposed as a solution for any real-time services and,
specifically, for VoIP for enterprise or academic environments. This
Internet-Draft distinguishes an enterprise network from the
residential case in which each customer may have his or her own NAT
and the ISP on the public side of the NAT owns the call server. The
residential case is more likely to accept ICE because they have to
trust the ISP's call server (and might as well trust the path to the
STUN server the call server that the ISP also owns) and they have
fewer concerns about potential "bad" behaviors from ICE, such as
routing internal calls though the STUN/TURN server).
In this Internet-Draft, the term VoIP is used to reflect the
characteristics of real-time services including VoIP as well as other
applications such as video and IM.
This Internet-Draft proposes a solution optimized for VoIP. SAFENeT
solves the problems of return routable addresses, binding the
signaling and bearer streams, and the security issues of encryption
for confidentiality (supporting hop-by-hop encryption and end-to-end
encryption by the UA of S/MIME bodies) and digital signatures for
Stott & Townsend Expires – December 31, 2005 [Page 4]
Internet Draft SAFENeT June 29, 2005
integrity. SAFENeT does not address privacy in the Rec. X.805 [X805]
sense.
Note: In this Internet-Draft, the term ‘encryption and digital
signatures’ and its variants is meant to convey the concepts
of both encryption, i.e., data confidentiality, and digital
signatures including using message digests with a hash
calculation on the message contents, i.e., data integrity, as
in [X805].
The intent of this version of the Internet-Draft is to see if there
is any interest in pursuing the proposal and to elicit comments and
discussions on problem areas that need more work.
1.6 Organization of This Internet-Draft
While some solutions exist for handling NAT/FW transversal, all have
drawbacks; Section 2 describes these existing solutions. Section 3
proposes the SAFENeT solution with assumptions and rationales.
Section 4 gives examples and details of the SAFENeT solution.
Section 5 adds further discussion of concerns of NAT/FW traversal.
Section 6 covers considerations to be made when selecting a technique
for traversing a NAT per the IAB draft [NAT-TRAV]. Section 7 is the
section on security. Section 8 is the IANA considerations and
Section 9 contains references.
2. Existing Solutions
This section describes a number of technologies that have been
proposed to solve the NAT/FW transversal problem. As we show,
clearly none of them is suitable for enterprise VoIP systems in which
a high level of security is a principal requirement. An IAB draft
[NAT-TRAV] details considerations to be made when selecting a
technique for traversing a NAT.
From Rosenberg, [ICE], “Unfortunately, these techniques all have
pros and cons which make each one optimal in some network topologies,
but a poor choice in others.”
2.1 Application Layer Gateways (ALGs)
ALGs are often integrated with NAT boxes. They process every packet
sent through the box and inspect the packet contents for pre-
programmed application-specific fields with address or port
information. For example, an ALG with VoIP support might inspect the
packets looking for INVITE messages. The ALG would read the INVITE
message to get the UA’s address and port number (from the SDP), bind
Stott & Townsend Expires – December 31, 2005 [Page 5]
Internet Draft SAFENeT June 29, 2005
a new address and port number for that media stream, and rewrite the
SDP with the new (public) address and port number.
The key difficulties in using an ALG in this situation are (a) the
need to reprogram the ALG to support each new protocol, (b) the need
to address the resource intensiveness of a box in the main stream of
communication, and (c) the obvious inability to support protocols
using cryptography (e.g., S/MIME) if the application requires
confidentiality.
2.2 Media Relays (MRs)
Another class of transversal techniques is illustrated by a type of
box called an MR. MRs terminate the signaling protocol on each side
of the relay (similar to a media gateway but using the same protocol
on both the input and output sides). The advantages of an MR are
that (a) the signaling and bearer paths are forces through the same
point, (b) the session is broken into 2 independent sessions such
that any end-to-end requirements of the protocol do not need to apply
across the box, and (c) the box serves as an endpoint for encryption,
i.e., the clear text is available for reading and rewriting in the
box. One example of this technique in SIP is called a back-to-back
UA (B2BUA). The B2BUA box implements a complete SIP stack on each
side of the B2BUA function.
MRs are generally the network engineers last choice. They are
clearly performance and reliability bottlenecks and they break
security assumptions including end-to-end authentication. MRs limit
the effectiveness of the signaling protocol because messages are no
longer truly end-to-end. For example, they are likely to drop
headers they do not understand, i.e., new features may require
reprogramming of the MR.
2.3 Session Border Controllers (SBCs)
A special case of an MR is the SBC. SBCs are gateway boxes meant to
sit at the edge of a network and provide peering to various telephony
networks, including video, IM, and gateways to other IP or TDM
networks. They often add features such as firewalling, QoS and SLA
management, and limited intrusion detection/prevention. SBCs
advertise the capability of providing NAT transversal and FW
pinholing. A careful study of these claims reveals that they are
implementations of an ALG and, as such, have the same limitations
described in the ALG section above; additionally, most SBCs are MRs
and have the attributes of Section 2.2.
Stott & Townsend Expires – December 31, 2005 [Page 6]
Internet Draft SAFENeT June 29, 2005
2.4 The MIDCOM and NSIS Solutions
The MIDCOM WG has been addressing solutions in which one trusted
third party entity controls the transport layer behavior of another
entity in the network to support the transport of an application.
The WG has discussed protocols where a call server controls a FW to
support VoIP is one such example. The WG has also developed a series
of NAT transversal protocols for VoIP: Interactive Connectivity
Establishment [ICE], Simple Transversal of UDP Through Network
Address Translators [STUN], Traversal Using Relay NAT [TURN].
The basic architecture of these protocols is to (a) place a protocol
server outside the NAT and (b) modify the client application to work
with the protocol. The basic distinction between STUN and TURN is
that STUN only supports UDP and TURN requires all traffic to go
through the server.
SAFENeT has an advantage over ICE in that it requires a smaller
number of messages to determine which protocol it should use and that
packet loss may cause ICE to choose non-ideal paths (e.g., hosts on
the same network may end up communicating through the STUN server if
the wrong packet is lost). Both STUN and TURN have security problems
as stated in their respective specifications. TURN requires all
packets to go through the TURN server, becoming a performance
bottleneck and coming at high cost to the provider of the TURN
service. [TURN] also states a reliability issue, “TURN will **almost
always** provide connectivity to a client.”
The NSIS WG has also been working on middlebox transversal. These
protocols generally allow, but not require, a third party such as a
proxy to control the middlebox to support traversal features.
Future efforts in NSIS are expected to provide significant help in
supporting communication between the proxy and the middlebox.
Unfortunately, the recent NSIS effort is currently incomplete and
does not meet the needs for enterprise quality VoIP.
2.5 RTP-based Solutions
VoIP’s separation of control and bearer streams (and, in particular,
negotiating the bearer port numbers from inside the control protocol)
causes problems for administering FWs. FW administrators need to (a)
use bulky ALGs to handle VoIP traffic or (b) essentially allow
transversal for all UDP traffic. When the control messages (e.g.,
the SDP bodies) are encrypted or even just authenticated with an
integrity check, the network administrator is placed in the bad
situation of allowing insecure traffic or barring certain traffic.
One Internet-Draft [expired], now expired, modified the RTP
specification to allow all RTP streams to a single host to be
Stott & Townsend Expires – December 31, 2005 [Page 7]
Internet Draft SAFENeT June 29, 2005
multiplexed to the same port. Multiplexing RTP streams to a single
well-known port substantially reduces the FW administration problem
and VoIP will behave similarly to most typical Internet applications.
In theory, the FW could communicate with the call server to
determine which initiating and receiving hosts have valid connections
open.
[expired] advocates having RTP and RTPC on separate well-known ports.
While they could share the same port, there are arguments against
doing that, namely, that (a) the 2 streams may have different QoS
parameters since those parameters are assigned on a per-connection
basis and not on a per-packet basis and (b) sending both RTP and RTPC
packets to the same port may cause existing RTP stack to fail. These
authors do not know if this work will be continued in the future.
2.6 Controllable NAT/FWs
One study [BLTJ] demonstrated a VoIP system that communicated with a
specialized NAT/FW to support address and port mapping and pinholing
under the control of a SIP proxy connecting two SIP phones. In this
architecture, the SIP proxy used ITU-T Rec. H.248/MEGACO [H248] to
communicate with the NAT/FW to request address and port mappings to
open pinholes based on the MEGACO messages. The architecture solved
the problem for NAT/FW transversal but not end-to-end integrity.
3. The SAFENeT Solution - Server-based Architecture For Enterprise
NAT/FW Transversal
3.1 An Overview of SAFENeT
SAFENeT uses a different approach in solving the NAT/FW traversal
problem from those described above and is inherently simpler in
operation. SAFENeT solves the NAT problem by having a SIP proxy
function as a call server internal to the enterprise network. The
call server communicates with the NAT/FW, negotiates an addressing
mapping for the session, then communicates the result to the
local/private endpoint. Optionally, it moves the transversal logic
from the endpoints to a call server, one under the control of the
enterprise, and opens up the possibility of allowing a secure
environment.
This architecture solves the NAT routable address problem, provides
for appropriate binding of the two sessions needed by VoIP, and
optionally allows for security measures (data confidentiality and
integrity) if desired.
SAFENeT requires two area of specification. The first area of
specification is a standard secure interface to the NAT/FW to allow a
Stott & Townsend Expires – December 31, 2005 [Page 8]
Internet Draft SAFENeT June 29, 2005
trusted server (e.g., the call server) to cooperate with the NATs/FWs
to establish safe bindings that allows the authorized traffic (i.e.,
bearer stream) to traverse the NAT/FW.
The first part is nothing more than an application protocol for SIP
proxies to communicate with the NAT/FW as in and drafts in NSIS
similar to [NSIS-FW] and [NSLP]. The call server would obtain a NAT
binding for the session and open a pinhole in the FW. In a system
not needing end-to-end cryptography or digital signatures for
confidentiality or integrity respectively, this SAFENeT Communication
Protocol (SCP) alone is sufficient for a viable, working system; see
Section 4.3 for details.
SCP differs from the other work in NSIS in that it is meant to be
used for VoIP and similar applications while using the
procedures/protocols for controlling middleboxes (NATs and FWs)
[NSLP] in allowing the transversal of application streams. It is
intended to be used between a trusted server and the relevant
middleboxes and covers the case in which the bearer and signaling
paths are separate. It is not meant to be a replacement for the NSIS
work but does allow a migration from SCP to the NSIS solution. NSIS-
aware middleboxes could be configured to use SCP and the SAFENeT
architecture.
A second area of specification is an extension to the SIP
specification to allow the User Agents (UAs) to learn about the NAT
bindings thereby enabling end-to-end cryptography or digital
signatures between UAs (e.g., S/MIME encoded Session Description
Protocol (SDP) bodies as described in RFC 3261 [SIP]). This optional
protocol is known as SUCP for SAFENeT UA Communication Protocol, the
details being described in Section 4.4. Since the rationale of end-
to-end cryptography is to ensure the SDPs are not read by a malicious
interloper, eliminating the need to traverse network boxes that can
read or modify the bit stream provides an extra bonus for security.
Offering a protocol allowing digital signatures adds data integrity
as a security attribute. The UA needs to generate the SDP body with
the public address and port number as established by the SIP proxy.
The UA must obtain this information from the call server before
sending the INVITE or OK messages and before computing the hash that
is sent to the remote receiver (the description in Section 4.2 below
will illuminate these details better).
3.2 Assumptions
This section describes some simple assumptions about the target
system under which SAFENeT correctly operates. They were selected to
reflect a typical enterprise or academic VoIP system with high
security needs. Most medium and large business firms, including
Stott & Townsend Expires – December 31, 2005 [Page 9]
Internet Draft SAFENeT June 29, 2005
those in the fields of finance, medical and military are expected to
be in this category.
1) The basic example of an enterprise network has NAT(s) and/or
FW(s) at the boundary to the public network. See Figure 1.
The FW allows incoming SIP messages between remote hosts and an
internal SIP proxy.
+----------+
| Call |
| Server |
+----------+
\
\
\
__\________ ___ ____
/ \ / \\/ \
| \ // )) \\
+----------+ +----------+ // \\ +----------+
| IP | | NAT/ |____( Internet )_____| Remote |
| Phone | | FW | \\ // | Phone |
+----------+ +----------+ \\ ) // +----------+
\___/ \___/
Figure 1: Architecture of SAFENeT
2) The enterprise IT management controls the servers in the
enterprise network and knows and controls the topology of the
private network (e.g., between local/private clients and their
SIP proxy(ies)). The enterprise administrator can configure
the NAT/FW to permit only certain addresses and ports to be
used for VoIP connections involving particular servers. While
the NAT/FW may be owned by an entity other than the
enterprise, the enterprise must be able to control the NAT/FW.
3) The signaling path is constrained to always pass through the
call server.
4) Traditional security mechanisms by the enterprise protect the
call server and middlebox from unauthorized physical or
administrative access.
5) The internal call server is a trusted entity.
6) Communication between UAs in the local/private realm and their
call server(s) does not traverse the boundary with the public
network.
Stott & Townsend Expires – December 31, 2005 [Page 10]
Internet Draft SAFENeT June 29, 2005
7) The protocol proposed in this Internet-Draft is assumed to run
over a secure protocol such as TLS using mutually
authenticated certificates to provide authentication,
confidentiality, and integrity.
8) Without loss of generality, UAs have local/private addresses
that, in general, have no valid route from the remote UA.
9) The system supports hop-by-hop encryption techniques such as
SIPS over TLS [SIP]. Encrypted messages can only be processed
by SIP entities, i.e., SIP proxies and UAs.
10) The system supports S/MIME. UAs can choose to add (a) end-to-
end message integrity on S/MIME bodies with digital signatures,
(b) end-to-end encryption of S/MIME bodies, or (c) both. UAs
generally use S/MIME to protect the SDP but can also protect a
copy of the SIP headers. Only UAs can process cryptographic
S/MIME bodies. The solution cannot require UAs to copy
encrypted headers (such as media addresses) into clear text
headers as this defeats the purpose of encryption and
introduces potential coherency (i.e., improperly modified
headers) issues.
11) NAT vendors may implement their devices however they see fit.
Without loss of generality, NATs will display behavior as
symmetric NAT [STUN] where the NAT selects new external
address and port numbers for each new connection.
12) It is not acceptable to route traffic between local/private
UAs via the public network. It is also not acceptable for a
UA to send local/private addresses outside the NAT for the
reasons described in the Introduction.
13) The solution may support the case where the call server
applies cryptographic functions on behalf of the UA. Under
this method, the call server could be signing or encrypting
messages on behalf of the UA because the UA do not have the
capability to do so themselves (e.g., lack of a public key
certificate or lack of a software application).
3.3 Improvement Rationales
There are five basic reasons for SAFENeT being a viable (and better)
alternative as a solution to the NAT/FW transversal problem.
1) The call server (a trusted entity inside the enterprise FW)
controls the packet routing for signaling messages.
Stott & Townsend Expires – December 31, 2005 [Page 11]
Internet Draft SAFENeT June 29, 2005
2) The trusted call server handles all signaling message
processing.
3) No additional proxies or servers are required; a call server is
presumed to exist.
4) The UA communicates only signaling/control information with a
trusted SIP proxy, i.e., does not rely on an unknown trust
relationship with a server in the public network.
5) There are no restrictions on types of NATs/FWs SAFENeT can
support.
The first advantage is a clear improvement over ICE and UNSAF-like
systems. The SIP proxy is configured with the simple routing
instructions (such as the subnets with voice endpoints that connect
to the public network, those solely within the local/private
network, default routes toward the NAT/FW, or even where IPv4/IPv6
mappings should be applied) to determine how to route the bearer
streams. Recall that ICE requires complex procedures and message
exchanges to (a) determine the type of NAT as input to selecting the
proper procedure in the STUN server and (b) determine if alternate
paths to the remote host exist.
The second advantage is in contrast to ALG-based solution that
require code to process the VoIP signaling messages. Besides having
a maintenance advantage, the SAFENeT approach makes it easier to
enforce policies because they are processed within a single entity.
The same reasoning can also be applied to note that security is
improved using the SAFENeT architecture.
Unlike several of the alternative solutions, SAFENeT requires no
additional boxes (presuming a server, such as one for session
control, already exists), thereby improving performance,
reliability, and security, and lowering cost.
With SAFENeT, the only entities the UA communicates with are its SIP
proxy (for signaling) and the remote UAs (for bearer traffic). The
SIP proxy provides the binding requests on behalf of the UA, thereby
minimizing the configuration setup/data needed by the UA, this
latter function being applicable only for the option of end-to-end
encryption. The only changes in the UA behavior are (a) code to
handle the slight modification to the SIP headers and (b) the
addition of the functionality for processing a response to the call
server with the NAT mappings between the local/private and public
addresses (described below). In contrast, with the ICE approach,
the UAs in the local/private network all need to be configured with
the addresses of any available STUN or TURN servers with weights to
probabilistically determine how to select each.
Regarding the last advantage, SAFENeT needs to make no distinctions
about NAT behavior as do the alternatives as stated in [ICE].
Stott & Townsend Expires – December 31, 2005 [Page 12]
Internet Draft SAFENeT June 29, 2005
The problems discussed in [NSLP] are either resolved by the SAFENeT
proposal or are not relevant – save one. The issue of QoS signaling
is still relevant and needs to be addressed.
4. Examples and Details of SAFENeT
4.1 Overview of Examples Illustrating SAFENeT
Figure 2 illustrates a VoIP transaction with no NAT in the system;
the system works fine. While the Receiving Phone is shown without a
NAT/FW, there is no loss of generality; the connection protocol is
simply carried out on the receiving side too.
Figure 3 illustrates the well-known NAT problem of an external
address that is not routable from the remote host.
Figure 4 shows a basic version of the SAFENeT solution, i.e., one in
which the message does not involve encryption. As noted earlier, a
similar situation holds true for ALGs with encryption.
Notes for the succeeding diagrams:
Recall that in this Internet-Draft, the term ‘encryption and
digital signatures’ and its variants are meant to convey the
concepts of both encryption, i.e., data confidentiality, and
digital signatures including any hash-oriented message contents,
i.e., data integrity.
The OpenRequest and OpenReply messages signify that the NAT has
generated a binding between the local/private phone and the
public address.
This document distinguishes "end-to-end" encryption (e.g.,
S/MIME) from hop-by-hop encryption (e.g., TLS or IPSec);
end-to-end encryption is hidden from the call server and
middlebox whereas hop-by-hop encryption is processed by the call
server, but not the middlebox
The bindings in the RTP part of the diagram are shown as the
attached destination address/port numbers.
The public IP addresses used in all the examples of this document
are shown as assigned in the TEST-NET and Benchmark Testing
blocks [RFC 3330] and are just that – examples. The two
different blocks were chosen to reflect that, in a real world
implementation, the Initiating Phone and Receiving Phone will be
on different nets.
Figure 5 shows how the basic version fails if the message is
digitally signed. A similar case holds for encrypted messages.
Stott & Townsend Expires – December 31, 2005 [Page 13]
Internet Draft SAFENeT June 29, 2005
Figure 6 shows the SAFENeT version that correctly handles both
encryption and digital signatures.
Figure 7 shows an incoming call and confirms the assertion made above
about no loss of generality.
4.2 Diagrams of Examples Illustrating SAFENeT
Figure 2 depicts a system with null NAT functionality; no problems
arise.
+----------+ +---------+ +---------+ +---------+
|Initiating| | Call | | NAT/FW | |Receiving|
| Phone | | Server | | | | Phone |
+----------+ +---------+ +---------+ +---------+
10.0.1.2 192.0.2.9 192.0.2.11 198.18.2.4
| | | |
| F1: INVITE | | |
|------------------>| | |
| | F2: INVITE | |
| |-------------------+------------------>|
| | | F3: OK |
| |<------------------+-------------------|
| F4: OK | | |
|<------------------| | |
| F5: ACK | | |
|------------------>| | |
| | F6: ACK | |
| |-------------------+------------------>|
| | RTP | |
| | 10.0.1.2.:12000 | |
|<------------------+-------------------+-------------------|
| | RTP | |
| | 198.18.2.4:5600 | |
|-------------------+-------------------+------------------>|
| | | |
Figure 2: Example without NAT’s Address Translation
Function Active
Stott & Townsend Expires – December 31, 2005 [Page 14]
Internet Draft SAFENeT June 29, 2005
Figure 3 shows the well-known NAT problem in which case the
Initiating Phone is unaware of the NAT. The Receiver is unable to
route back using the local/private address since the public Internet
has no knowledge of it. ALGs can also offer a specialized solution
to the problem by rewriting the SDP. Subsequently, if the message is
encrypted, the ALG cannot process the message and the transaction
fails. For digital signatures, the message digest is incorrect and
the message is rejected by the Receiver.
+----------+ +---------+ +---------+ +---------+
|Initiating| | Call | | NAT/FW | |Receiving|
| Phone | | Server | | | | Phone |
+----------+ +---------+ +---------+ +---------+
10.0.1.2 192.0.2.9 192.0.2.11 198.18.2.4
| | | |
| F1: INVITE | | |
|------------------->| | |
| | F2: INVITE | |
| |-------------------+------------------>|
| | | F3: OK |
| |<------------------+-------------------|
| F4: OK | | |
|<-------------------| | |
| F5: ACK | | |
|------------------->| | |
| | F6: ACK | |
| |-------------------+------------------>|
| | | RTP |
| | | 10.0.1.2.:12000 |
| | | ?? <-----------|
| | | |
Figure 3: Example showing the well-known problem with NATs
for the case of encryption without any attempt
to mitigate and the transaction fails
Stott & Townsend Expires – December 31, 2005 [Page 15]
Internet Draft SAFENeT June 29, 2005
Figure 4 show how a basic SAFENeT offers a solution in the case in
which the message is neither encrypted or digitally signed. The
Proxy generates an exchange with the Initiating Phone to generate,
then later activate, a binding between the local/private address and
the public address being transmitted. No end-to-end encryption nor
digital signature is involved.
+----------+ +---------+ +---------+ +---------+
|Initiating| | Call | | NAT/FW | |Receiving|
| Phone | | Server | | | | Phone |
+----------+ +---------+ +---------+ +---------+
10.0.1.2 192.0.2.9 192.0.2.11 198.18.2.4
| | | |
| F1: INVITE | | |
|------------------>| | |
| | F2: OpenRequest | |
| |------------------>| |
| | F3: OpenReply | |
| |<------------------| |
| | F4: INVITE | |
| |-------------------+------------------>|
| | | F5: OK |
| |<------------------+-------------------|
| F6: OK | | |
|<------------------| | |
| |F7: UpdateRequest | |
| |------------------>| |
| | F8: UpdateReply | |
| |<------------------| |
| F9: ACK | | |
|------------------>| | |
| | F10: ACK | |
| |-------------------+------------------>|
| | | RTP |
| | | 192.0.2.11:2346 |
| | |<------------------|
| | RTP | |
| | 10.0.1.2.:12000 | |
|<------------------+-------------------| |
| | RTP | |
| | 198.18.2.4:5600 | |
|-------------------+-------------------+------------------>|
| | | |
| | | |
Figure 4: Example with NAT using a basic SAFENeT without
end-to-end encryption and digital signature support
(and no encryption or digital signing) giving a
successful transaction
Stott & Townsend Expires – December 31, 2005 [Page 16]
Internet Draft SAFENeT June 29, 2005
In Figure 5, we show that encryption and digital signing add another
level of complication. For case with encryption, the INVITE message
cannot be processed by the FW and, for the case with digital
signing, the digest in the F4: INVITE message has not been
recalculated to reflect the proper public address and is therefore
rejected by the Receiver. The transaction does not proceed.
+----------+ +---------+ +---------+ +---------+
|Initiating| | Call | | NAT/FW | |Receiving|
| Phone | | Server | | | | Phone |
+----------+ +---------+ +---------+ +---------+
10.0.1.2 192.0.2.9 192.0.2.11 198.18.2.4
| | | |
| F1: INVITE | | |
|------------------->| | |
| | F2: OpenRequest | |
| |------------------>| |
| | F3: OpenRepy | |
| |<------------------| |
| | F4: INVITE | |
| |-------------------+------------------>|
| | | F5: 403 Forbidden |
| |<------------------+-------------------|
| F6: 403 Forbidden | | |
|<-------------------| | |
| | | |
Figure 5: Example with NAT using the basic SAFENeT
without digital signature support
(but with digital signature)
Stott & Townsend Expires – December 31, 2005 [Page 17]
Internet Draft SAFENeT June 29, 2005
In Figure 6, we show SAFENeT with security support to allow
encryption or digital signatures. The public address must be sent
back to the Initiating Phone to encrypt the message including the
public address for the encryption case or to generate a new hash
using the public address before sending out the INVITE* message to
the Receiving Phone for the digital signature case. Now the
transaction can proceed successfully.
When the outgoing message relies on a security certificate, the hash
in the certificate must be recalculated with the proper public
address replacing the local/private address. The term ‘with
mappings’ is used to signify elements in that action.
+----------+ +---------+ +---------+ +---------+
|Initiating| | Call | | NAT/FW | |Receiving|
| Phone | | Server | | | | Phone |
+----------+ +---------+ +---------+ +---------+
10.0.1.2 192.0.2.9 192.0.2.11 198.18.2.4
| | | |
| F1: INVITE | | |
|------------------->| | |
| | F2: OpenRequest | |
| |------------------>| |
| | F3: OpenReply | |
| |<------------------| |
| F4: 444 Response* | | |
|<-------------------| | |
| F5: ACK | | |
|------------------->| | |
| F6: INVITE** | | |
|------------------->| | |
| | F7: INVITE** | |
| |-------------------+------------------>|
| | | F8: OK |
| |<------------------+-------------------|
| | F9: UpdateRequest | |
| |------------------>| |
| | F10: UpdateReply | |
| |<------------------| |
| F11: OK | | |
|<-------------------| | |
| F12: ACK | | |
|------------------->| | |
| | F13: ACK | |
| |-------------------+------------------>|
-- Continued on next page --
Stott & Townsend Expires – December 31, 2005 [Page 18]
Internet Draft SAFENeT June 29, 2005
-- From previous page --
| | | RTP/RTCP |
| | | 192.0.2.11:2346/ |
| | | 2347 |
| | |<------------------|
| | RTP/RTCP | |
| | 10.0.1.2.:12000/ | |
| | 12001 | |
|<-------------------+-------------------| |
| | RTP/RTCP | |
| | 198.18.2.4:5600/ | |
| | 5601 | |
|--------------------+-------------------+------------------>|
| | | |
* with mapping information
** with proper credentials
Figure 6: Example with NAT using SAFENeT with end-to-end
encryption and digital signature support
(and with an encrypted or digitally
signed message)
Stott & Townsend Expires – December 31, 2005 [Page 19]
Internet Draft SAFENeT June 29, 2005
Figure 7 shows an incoming call. With similar interactions between
the call server and the local/private phone as described above, the
transaction can proceed successfully.
+----------+ +---------+ +---------+ +----------+
|Receiving | | Call | | NAT/FW | |Initiating|
| Phone | | Server | | | | Phone |
+----------+ +---------+ +---------+ +----------+
10.0.1.2 192.0.2.9 192.0.2.11 198.18.2.4
| | | |
| | | F1: INVITE |
| |<------------------+-------------------|
| F2: INVITE | | |
|<-------------------| | |
| F3: OK | | |
|------------------->| | |
| | F4: OpenRequest | |
| |------------------>| |
| | F5: OpenReply | |
| |<------------------| |
| F6: 444 Response* | | |
|<-------------------| | |
| F7: OK** | | |
|------------------->| | |
| | | |
| | F8: OK** | |
| |-------------------+------------------>|
| | | F9: ACK |
| |<------------------+-------------------|
| F10: ACK | | |
|<-------------------| | |
| RTP | | |
| 198.18.2.4:5600 | | |
|--------------------+-------------------+------------------>|
| | | RTP |
| | | 192.0.2.11:2346 |
| | |<------------------|
| | RTP | |
| | 10.0.1.2.:12000 | |
|<-------------------+-------------------| |
| | | |
* with mapping information
** with proper credentials
Figure 7: Example of an incoming call using SAFENeT
with encryption and digital signature support
Stott & Townsend Expires – December 31, 2005 [Page 20]
Internet Draft SAFENeT June 29, 2005
4.3 Details of SAFENeT Communication Protocol (SCP)
SAFENeT defines a protocol (SCP) for communicating between the SIP
proxy (call server) and the NAT/FW similar in functionality to that
of RFC 3303 [RFC3303]. Illustrated in Figure 4, the process includes
(a) the call server acting as a manager requesting a NAT mapping
for the RTP stream described in the SIP SDP,
(b) the NAT/FW reserving the binding and replying to the manager
with the requested mapping,
(c) the manager requesting the binding be enabled,
(d) the RTP communication taking place, and
(e) the manager closing the binding after the call completes.
The protocol is assumed to run over a secure transport protocol such
as TLS [TLS]. TLS is an excellent choice because proxies are already
required to support it. Mutual authentication through public key
certificate validation is required for the system to be secure.
TLS, using mutually authenticated certificates, provides
authentication, confidentiality, and integrity. These properties
provided by TLS, protection against many common security threats,
such as eavesdropping and masquerading. Additionally, mutual
certificate authentication (with Diffie-Hellman-based session key
exchanges, used in most common public-key systems) is used to
prevent man-in-the-middle attacks. Access control to the SCP
manager and agent is well defined and manageable because the set of
managers and agents that can communicate with the SCP boxes is
small.
It is recommended that both the call server and the NAT/FW be
configured with its peer’s public key and that it only accept
connections from devices if it has that device’s public key
configured. The call server is located in a DMZ.
In this process the NAT/FW is an SCP agent and the call server is the
SCP manager. SCP contains the basic messages for opening a session,
updating session parameters, and closing the session. TLS provides
the secure connection. The manager connects to the NAT/FW acting as
an SCP agent once (e.g., at boot time) and reuses the same TLS
connection for all sessions.
Because no communication protocol currently exists to exchange these
types of messages, SAFENeT defines a simple, text-based message
format. The format is conceived to be easy to implement and enhance.
As new protocol are developed (e.g., future NSIS protocols), this
protocol can migrate to the newer one.
The first SCP message from the manager to the agent is the stream
header, used to inform the agent the SCP version number the manager
Stott & Townsend Expires – December 31, 2005 [Page 21]
Internet Draft SAFENeT June 29, 2005
is using. All subsequent messages are a single request or reply
separated by a pair of CRLF as do many applications like SMTP. The
manager can send any of three message types: OpenRequest,
UpdateRequest, and CloseRequest. The agent can reply using
OpenReply, UpdateReply, CloseReply, or ErrorMessage. The agent
replies to a request with a reply message or an error message.
Replies must correspond to the appropriate last request.
If at any point the agent detects an error in request (such as a bad
value or unsupported feature), it replies with an ErrorMessage
instead of the normal reply message. The error message indicates
which field caused the error, the type of error, and an optional text
description of the error.
The agent can also send Info messages to provide asynchronous
notifications to the manager, e.g., a time-out due to inactivity.
Each message follows a common format. The first line is the header
indicating the message type and unique session ID. Because the agent
established the ID, the OpenRequest does not specify one; the agent
chooses one and includes it in the OpenReply message. A message body
consisting of a sequence of request fields, follows the header.
Table 1 shows the possible request fields. Most parameters can be
set to 0 (zero) to indicate the value is unassigned or to –1 to
indicate a wildcard. When the session is activated, the agent must
verify that all the appropriate fields have been set – e.g., a NAT’s
policy may require that the local/private address and port number be
set as well as the remote address. The interface parameter can be
used to specify a particular interface on the NAT/FW. In general,
the manager needs to know *a priori* the meaning of the interface
value (e.g., the NAT/FW may expect the SNMP ifIndex or some other
interpretation). The manager should set the interface value to 0
(zero) as unassigned unless it knows the specific interface value.
Stott & Townsend Expires – December 31, 2005 [Page 22]
Internet Draft SAFENeT June 29, 2005
Table 1 – Request Field Types
+-------------------------------------------------------------------+
| Request | Parameters | Description |
| Type | | |
|----------+---------------+----------------------------------------|
| From: |address port# | The local/private address and port |
| | interface | number and NAT/FW interface |
| | | |
| To: |address, port# | The mapped (public) address and port# |
| | | |
| For: |address, port# | The remote destination |
| | interface | |
| | | |
| Proto: |IP protocol | Specific IP protocol 9E.g., UDP, TCP) |
| | | |
| Active: |Boolean | True to indicate activation of mapping;|
| | | False – not activated |
| | | |
| Action: |type | FW action can be block, reject, allow,|
| | | or log |
+-------------------------------------------------------------------+
4.4 Details of SAFENeT UA Communication Protocol (SUCP)
Just as we need to add a protocol for the manager (call server) to
the agent (NAT/FW), we also need to devise an optional communication
protocol for use between the manager and the UA (agent). This
section defines such a protocol. If another mechanism comes into
use, these messages could be included to enhance that protocol. This
part of the protocol might not be needed if the end-to-end security
aspects of the protocol are not used.
Using Figure 6 as an illustration, SUCP is an extension to the SIP
headers as well as requiring additional SCP interactions. On an
INVITE message, SUCP adds a single header specifying the
local/private address and port number and the remote addresses of the
media sessions (or a list of such tuples if it opens multiple
sessions). Next the manager checks if the message is to traverse (a)
a NAT, (b) a FW and no NAT, (c) both a FW and a NAT, or (d) neither.
For (a) the call server obtains the mappings as describe in Section
4.3, communicates them to the UA, and proceeds using a modified SCP
as in Figure 6. For (b), the call server requests a pinhole be
opened and passes the INVITE as normal. For (c), use the combined
actions for (a) and (b). For(d), the call server passes the INVITE
directly to the remote UA and removes the OpenRequest.
Stott & Townsend Expires – December 31, 2005 [Page 23]
Internet Draft SAFENeT June 29, 2005
An example of the initial SIP header would include information with
the UA address and port number:
MediaMapRequest: saddr=10.0.1.2,sport=12000.
The call server can determine if the session will be using a NAT.
If a NAT is not involved, the call server ignores (or removes) the
request and processes the message as normal.
If a NAT is involved, the call server uses SCP with additional
messages to communicate the binding information to the UA and
proceeds similarly as in Section 4.3. The UpdateRequest/Reply
messages (that are SIP messages) secure the binding from the NAT and
transmits it to the UA. The UA uses this information to encrypt the
SDP or recalculate the message digest. The UA will reconstruct the
SDP with the public address and port numbers (the only address the
remote UA sees), acknowledge the SIP message, and send the new
INVITE with public address, the same Call-ID as the original INVITE,
and the appropriate CSeq number:
MediaMapRequest: saddr=192.0.2.11,sport=2346.
The remote host will then have a routable address and any encrypted
or digitally signed message can be deciphered correctly by the
remote host.
On teardown, the call server uses SCP to delete the binding and/or
close the pinhole.
There is the possibility of using policy use-cases to provide the
communication between the call server and the UA as is currently
being introduced in the SIPPING WG [usecase] since the knowledge and
mechanism may already exist.
4.5 Illustrative Example of SCP and SUCP
In a scenario for an outbound call, using encryption or digital
signature, through a NAT/FW as in Figure 6, the UA sends an INVITE
message (F1) to the call server (see Figures 8a-f).
F1: INVITE +---------------------------------+
| MediaMapRequest: \ |
| saddr=10.0.1.2,sport=12000; \ |
| saddr=10.0.1.2,sport=12001 |
+---------------------------------+
Figure 8a – INVITE Message
Recognizing the sender is inside the NAT/FW, the call server/manager
uses SCP to obtain a mapping for the UA. The manager sends an
OpenRequest message (F2) to the agent (NAT) to open a session based
on the Initiating Phone’s (the local UA’s) private address and port
Stott & Townsend Expires – December 31, 2005 [Page 24]
Internet Draft SAFENeT June 29, 2005
number and the Receiver’s (the remote UA) address. The remote UA is
free to choose any ephemeral port.
F2: OpenRequest +-------------------------------+
| OpenRequest |
| From: 10.0.1.2 12000-12001 0 |
| For: 0 0 |
| Proto: UDP |
| Active: False |
+-------------------------------+
Figure 8b – Request to Open Message
The agent then chooses a session ID and builds a mapping for the
given addresses and port number and replies with an OpenReply message
(F3) that establishes a session ID, 31824 in this example.
F3: OpenReply +-------------------------------+
| OpenReply 31824 |
| From: 10.0.1.2 12000-12001 1 |
| To: 192.0.2.11 2346-2347 |
| Proto: UDP |
| Active: False |
+-------------------------------+
Figure 8c – Reply Message
The manager sends the mapped (public) address and port number to the
UA (F4).
F4: 444 Response +----------------------------------+
| 444 UseMediaMapping: \ |
| saddr=10.0.1.2,sport=12000; \ |
| maddr=192.0.2.11,mport=2346; \ |
| saddr=10.0.1.2,sport=12001; \ |
| maddr=192.0.2.11,mport=2347 |
+----------------------------------+
Figure 8d – Mapping Information to UA Message
At this point, the UA has the NAT mapping it needs to advertise the
public address and port number to the remote UA as F5 F6in Figure 6
F5and the call server forwards the new INVITE to the remote UA as F6
F7using the public address and port numbers.
Stott & Townsend Expires – December 31, 2005 [Page 25]
Internet Draft SAFENeT June 29, 2005
Once the network accepts the call, the manager sends an UpdateRequest
message (F9) to activate the binding for this session (and/or open a
FW pinhole).
F9: UpdateRequest +-------------------------------+
| UpdateRequest 31824 |
| For: 198.18.2.4 –1 0 |
| Active: True |
+-------------------------------+
Figure 8e – Activate the Binding Message
The agent replies with an UpdateReply as F10.
F10: UpdateReply +-------------------------------+
| UpdateReply 31824 |
| For: 198.18.2.4 –1 2 |
| Active: True |
+-------------------------------+
Figure 8f – Reply to the Activation Message
After the proper OKs and ACKs, the NAT/FW is ready to accept/traverse
RTP traffic between the remote UA at 192.0.2.11:2346 and mapping it
to the local/private UA address/port number at 10.0.1.2:12000.
Similarly, the RTCP stream uses port 2347 on the public side and
12001 on the private side.
When the call is complete, the manager sees an acknowledged BYE SIP
message and sends a CloseRequest with the session ID to the agent to
delete the binding.
4.6 SAFENeT Block Caching Optimization
The performance of SAFENeT for applications like VoIP can optionally
be improved by pre-allocating NAT mappings. This allows the manager
to choose the public address and port number without contacting the
NAT. Thus, the SIP INVITE can complete with a single message between
the manager and the agent instead of the two described in Section 4.3
and illustrated in Section 4.2. To enable this optimization, the
manager needs to reserve a block of public port numbers (and
addresses if appropriate) from the NAT for future mappings.
The manager obtains a block of port numbers and session IDs from the
agent using a new message type, ReserveBlock. The manager can
specify the size of the block in the message body. The agent finds a
suitable block of addresses and returns a list with the public
address, port number, and session ID for each. The manager can then
Stott & Townsend Expires – December 31, 2005 [Page 26]
Internet Draft SAFENeT June 29, 2005
choose its own mappings from the list. It still needs to use the
UpdateRequest message to activate the mappings at the NAT. The
manager is contacted when the call completes. For example, if the
remote UA dos not answer or redirects the call to another endpoint
(i.e., call forwarding), the manager would disregard the original
binding and choose a new one when the UA sends the INVITE to the next
remote UA.
5. Discussion of Concerns
This section discusses some issues of concern for middlebox traversal
solutions. Because enterprises rely on the security of their FW, it
is reasonable to be concerned that changes to the FW may have adverse
effects on security. The issue of enterprises having multiple FWs is
covered as well as the issue of complex enterprise topology.
5.1 Don’t Mess with the Firewall
A valid question for any middlebox solution is why an administrator
who is responsible for the enterprise’s network security should trust
the SAFENeT solution enough to install it in his/her network.
Administrators should be concerned that the solution allows
applications to open *bad* holes through the FW. An example is a
solution that allows middlebox-aware viruses to open backdoors
through the FW to propagate or release sensitive data back through
the FW; obviously unacceptable. Similarly, a solution that allows a
remote host to control the access through the FW would likely result
in severe problems.
SAFENeT offers an architecture and protocol that allows restrictions
to be placed on how the system is provisioned that address the above
concerns. The SAFENeT architecture is proposed to allow only a small
set of authorized hosts (e.g., the local call servers hat are often
physically co-located with the agents) can access the middlebox.
This restriction can be enforced by the enterprise with various key
management policies, access control mechanisms, and social
engineering mechanisms. For example, some administrators may
statically configure the managers and agents by entering the other
element’s public key manually. Others may find a public key
infrastructure (PKI) system or symmetric key-based authentication
system to be more effective. Vendors and administrators are also
free to use host-based access control mechanisms to restrict the set
of managers that can connect using SCP.
The fundamental purpose of the solution is to allow VoIP traffic to
traverse the middlebox but not allow any additional connections. As
a point of reference, consider ALGs. These devices are generally
accepted as allowable at the enterprise edge for non-encrypted VoIP.
Stott & Townsend Expires – December 31, 2005 [Page 27]
Internet Draft SAFENeT June 29, 2005
A key differentiator for SAFENeT over ALG is where the VoIP logic for
parsing the VoIP message is processed. With ALGs, the logic must be
programmed into the middlebox and must be changed to correctly deal
with each newest VoIP message format and feature set. With SAFENeT,
it is handled by the call server which needs only a secure
communication channel to the middlebox.
It can be a debatable issue whether it is better to trust a middlebox
vendor’s VoIP processing code or a service provider’s VoIP code. FW
vendors might not be current with the latest VoIP protocol
developments but service providers might not have the most secure
software engineering practices. If one must be flawed in such a way
that the system is vulnerable to DoS attacks or exploitable code,
better that the failure be confined to the call server instead of
affecting the FW. If properly built, the agent failure mode when it
detects an improperly formed SCP message should failsafe by dropping
the connection to the agent. We are unaware of any ALG product that
would prevent such an attacking (or zombie) host from spoofing a call
session message to open a connection through the FW. This situation
cannot happen with SAFENeT because the SCP messages are
authenticated.
Compared to other proposed solutions, SAFENeT clearly provides a more
secure solution. SAFENeT does not open FW pinholes until both
endpoints have acknowledged the call. Most host-based solutions
(e.g., ICE and those based on NSIS solutions) open a pinhole before
signaling the remote endpoint, and will do so even in the case when
the endpoint refuses the call or diverts to voice mail. With other
host-based solutions, any internal host is capable of opening
pinholes through the FW whereas in SAFENeT only a call server can
establish a connection.
5.2 Multiple NATs
While SAFENeT is not optimized for multiple NATs (e.g., where traffic
passes through back-to-back NATs), it is supported. The SAFENeT
architecture can accommodate the case for multiple NATs such as
between department boundaries with multiple NAT instantiations, each
with its own manager. The manager needs to be aware of the
connecting NATs and the routing between them. The trick to making
this work is to issue multiple SCP commands to each involved NAT.
The first set of SCP messages are to reserve a port and address from
each NAT. The second set is to update each mapping with the ports
from the other NAT(s). Once all the bindings have been specified,
the manager can send to the endpoint the mapping from the NAT nearest
to the endpoint and then specify ports to neighboring NATs along the
path.
Stott & Townsend Expires – December 31, 2005 [Page 28]
Internet Draft SAFENeT June 29, 2005
If the manager uses the option of reserving multiple NAT port
bindings ahead of time, the process is much simpler. The manager
simply needs to choose ports for each involved NAT and send updates
to each NAT along the path as before.
5.3 Complex Enterprise Topologies
SAFENeT assumes that the manager can be configured with routing data
for the enterprise. In particular, the manager must know what
middleboxes are along the path from the local endpoint to the NAT/FW
at the enterprise edge. As the enterprise topology becomes more
complex, distributing managers throughout the network helps in
scaling the problem.
One difficult problem for any middlebox solution, that does not
restrict the data path, is the handling of multiple potential routes.
An underlying assumption is that the solution is able to predict the
data path. If the network permits per-packet load sharing over two
different paths with different (logically separate) NATs, it may not
be possible for NATs in the two different paths to assign the same
bindings because of previous assignments. Judicious choices in
network architecture design may be needed to alleviate problems like
these.
6. UNSAF Architectural Considerations
While the authors believe SAFENeT is not an UNSAF architecture as
described in RFC 3424 [UNSAF] and does not suffer the same
limitations, some discussion is warranted for completeness both on
how SAFENeT differs from the UNSAF architecture and on how SAFENeT
addresses the architectural considerations proscribed in Section 4 of
[UNSAF]. This discussion can also serve both to highlight the value
of SAFENeT in solving the NAT/FW traversal of VoIP traffic while
enabling a higher level of security in transactions requiring it and
to note the longer term use of NATs/FWs for corporate/enterprise
environments.
6.1 Addressing UNSAF Architectural Considerations in General
The discussion of UNSAF considerations should start with a listing
of what problems we are solving by the use of NATs/FWs at the edge
of enterprise networks. The rationale behind the solutions to those
problems are generally considered to be (a) relief from the
limitations of the IPv4 address space, (b) keeping the topology of
the enterprise network private from the outside world, (c) providing
an isolation of unwanted traffic from the outside, and (d) using
NAT/FW as the endpoint for secure tunnels in providing secure VPN
transport across the external domain.
Stott & Townsend Expires – December 31, 2005 [Page 29]
Internet Draft SAFENeT June 29, 2005
The UNSAF considerations are based on two premises. One is that
UNSAF solutions are short term workarounds and “MUST be considered
transitional in IETF proposals, and a better architectural solution
is being sought” [UNSAF]. For enterprises with the need for strict
security, the authors note that while IPv6 solves reason (a), it
does not hold a solution to either (b), (c), or (d). Therefore, the
SAFENeT proposal may be a longer term solution to the VoIP NAT/FW
traversal problem. Nonetheless, as noted in the proposal
description above, this solution is simple enough that it can likely
be migrated into a more general, long term solution if/when one
becomes available.
Secondly, the [UNSAF] document prescribes certain considerations
that are addressed below.
6.2 Addressing Specific UNSAF Architectural Considerations Per IAB
The IAB has mandated [UNSAF] that any protocols developed by which a
client attempts to determine its address in another realm on the
other side of a NAT through a collaborative protocol reflection
mechanism document a specific set of considerations.
From Section 4 of [UNSAF]:
“By distinguishing these approaches as short term fixes, the IAB
believes the following considerations must be explicitly addressed in
any proposal:
1. Precise definition of a specific, limited-scope problem that is
to be solved with the UNSAF proposal. A short term fix should
not be generalized to solve other problems. Such generalizations
lead to the the (sic) prolonged dependence on and usage of the
supposed short term fix -- meaning that it is no longer accurate
to call it "short term".
2. Description of an exit strategy/transition plan. The better
short term fixes are the ones that will naturally see less and
less use as the appropriate technology is deployed.
3. Discussion of specific issues that may render systems more
"brittle". For example, approaches that involve using data at
multiple network layers create more dependencies, increase
debugging challenges, and make it harder to transition.
4. Identify requirements for longer term, sound technical solutions;
contribute to the process of finding the right longer term
solution.
5. Discussion of the impact of the noted practical issues with
Stott & Townsend Expires – December 31, 2005 [Page 30]
Internet Draft SAFENeT June 29, 2005
existing deployed NATs and experience reports.”
For consideration (1), SAFENeT covers the case of VoIP (and similar
applications) traversing NATs/FWs in an enterprise environment.
Additionally, it covers the further cases in which encryption is used
for data confidentiality and digital signatures used for data
integrity.
For (2), as in other cases, the problem for some may be self-healing
(by use of IPv6) for some of its attributes but others may be long
term issues (isolation of data from the public network, isolation of
the enterprise topology from the public network) leaving SAFENeT as a
long term solution. Even the long term SAFENeT solution can likely
be merged into more comprehensive solutions as will be determined in
the marketplace, e.g, as might be developed in NSIS.
For (3), neither discovery nor security is an issue as it is with
STUN because the call server is a defined part of the enterprise
network, i.e., inside the NAT/FW. Every solution that works with
applications and addresses/ports uses data at multiple network
layers and thereby creates debugging issues – seems unavoidable for
this type of protocol.
On the long term issue (4) and referencing the considerations in the
Internet-Draft on STUN:
- the bindings for SAFENeT are explicit,
- although the control is not “in-band”, the enterprise topology is
known and the call server is provisioned only with appropriate
addresses as described in section 4.3, thereby relieving the
problem,
- limiting control is not an issue since the call server resides
within the private enterprise network, and
- SAFENeT is simple.
For (5), no assumptions have been made about NATs/FWs. Assigning the
ports does not seem to be a problem. Likewise for timeouts; SCP is
assumed to run over a protocol like TCP (e.g., TLS over TCP) that
provides reliable delivery; the endpoint will eventually disconnect
if the signaling cannot complete.
6.3 IAB Consideration Summary
SAFENeT has less of an issue with the IAB considerations than other
schemes. Having the call server inside the NAT/FW allows the
enterprise to manage its own topology and, in fact, opens the door
to allowing to better security operation. This architecture, as
contrasted with others requiring a box outside the FW and as
contrasted with the residential case assumed to have the call server
Stott & Townsend Expires – December 31, 2005 [Page 31]
Internet Draft SAFENeT June 29, 2005
outside the FW, alleviates the majority of the IAB considerations
for NAT traversal.
7. Security Considerations
As in STUN, attack possibility discussions can be limited to denial
of service (DoS), masquerading, and eavesdropping attacks. These
descriptions do not include attacks from within the enterprise from
trusted sources; untrusted ones are summarily fired.
Like all Internet applications, it is possible to flood the agent
with spoofed packet (e.g., SYN packets for TCP). The underlying
transmission protocol provides authentication.
For a distributed DoS (DDoS) attack in which a remote UA with a
legitimate return address distributes that address to other evil UAs
all of whom call try to call in, the NAT/FW should reject all of
those extra calls because it will not have a mapping with the
outgoing call. If there was no original outgoing call, the attack is
no different from any DDoS attack.
Attempts to trick the local/private UAs by providing them with fake
mapped addresses won’t work because only the call server can supply
addresses via its interaction with the NAT/FW in setting up call
bindings. Other varieties of attacks using fake addresses are
thwarted similarly.
Eavesdropping attacks are carried out using a faked address to the
attacker who then passes the traffic on to the original recipient.
As above SAFENeT precludes a faked address because of the isolation
of the call server and its local/private connection with the NAT/FW
in setting up the bindings.
Other attacks rely on one primitive, namely injecting a response with
a faked address. Not being able to do this in an SAFENeT environment
precludes virus and Trojan horse attacks. Not running SAFENeT on
general-purpose computers and using best-practices to harden the
platforms is the best approach to attacks of these sorts.
Public-key authentication provides a mechanism to verify each host's
identity (including the DNS mapping between the host and it address).
Public-key authentication also prevent Man-in-the-Middle attacks
because each host authenticates the other using its respective
private key, which the potential MitM cannot know. After exchanging
session keys between the authenticated hosts, the session keys are
used to encrypt each message and to include a data integrity check.
These two mechanisms provide confidentiality, integrity and
authentication.
Stott & Townsend Expires – December 31, 2005 [Page 32]
Internet Draft SAFENeT June 29, 2005
8. IANA Considerations
A standard port over which to run SCP is TBD.
9. References
9.1 Normative References
None
9.2 Informative References
[MIDBOX] RFC 3234, B. Carpenter and S. Brim, “Middleboxes: Taxonomy
and Issues”.
[RTP] RFC 3550, H. Schulzrinne, S. Casner, R. Frederick, V.
Jacobson, “RTP: A Transport Protocol for Real-Time Applications”.
[X805] ITU-T Rec. X.805, “Security architecture for systems
providing end-to-end communications”.
[NAT-TRAV] J. Rosenberg, draft-iab-nat-traversal-considerations-00,
“Considerations for Selection of Techniques for NAT Traversal”.
[ICE] J. Rosenberg, draft-ietf-mmusic-ice-04, “Interactive
Connectivity Establishment (ICE): A Methodology for Network Address
Translator (NAT) Traversal for Multimedia Session Establishment
Protocols”.
[STUN] RFC 3489, J. Rosenberg, J. Weinberger, C. Huitema, R. Mahy.
“Simple Traversal of User Datagram Protocol (UDP) Through Network
Address Translators (NATs)”.
[TURN] J. Rosenberg, R. Mahy, and C. Huitema, draft-rosenberg-
midcom-turn-07, “Traversal Using Relay NAT (TURN)”.
[expired] J. Peterson and J.Rosenberg, draft-peterson-rosenberg-avt-
rtp-ssrc-demux-00, “A Multiplexing Mechanism for Real-Time Protocol
(RTP)”, July 2004.
[BLTJ] P. Sijben, W. van Willigenburg, M. de Boer, and S. van der
Gaast, “Middleboxes: Controllable Media Firewalls,” Bell Labs
Technical Journal, vol. 7, pp.141-157, August 2002.
[H248} ITU-T Rec. H.248, “Gateway control protocol”.
Stott & Townsend Expires – December 31, 2005 [Page 33]
Internet Draft SAFENeT June 29, 2005
[NSIS-FW] R. Hancock, G. Karagiannis, J. Loughney, and S. van den
Bosch, draft-ietf-nsis-fw-07, “Next Steps in Signaling: Framework”.
[NSLP] M. Stiemerling, H. Tschofenig, C. Aoun, draft-ietf-nsis-nslp-
natfw-05, “NAT/Firewall NSIS Signaling Layer Protocol (NSLP)”,
(Status is ‘AD is watching’).
[SIP] RFC 3261, J. Rosenberg, H. Schulzrinne, G. Camarillo, A.
Johnston, J. Peterson, R. Sparks, M. Handley, E. Schooler, “SIP:
Session Initiation Protocol”.
[RFC3303] RFC 3303, P. Srisuresh et al, “Middlebox Communication
Architecture and Framework”.
[TLS] RFC 2246, T. Dierks, C. Allen, “The TLS Protocol Version
1.0”.
[usecase] V. Hilt, draft-hilt-sipping-policy-usecases-00, “Use Cases
for Session-Specific Session Initiation Protocol (SIP) Session
Policies”.
[UNSAF] RFC 3424, L. Daigle, Ed., “IAB Considerations for Unilateral
Self-Address Fixing (UNSAF), November 2002.
Author's Addresses
David Stott Phone: +1 973 386 3898
Room 15A-149 Email: stott@lucent.com
Lucent Technologies, Bell Labs URI:
67 Whippany Road
Whippany, NJ 07981
USA
Rick Townsend Phone: +1 732 949 8667
Room 4C-605A Email: rltownsend@lucent.com
Lucent Technologies, Bell Labs URI:
101 Crawfords Corner Road
Holmdel, NJ 07733
USA
Comments are solicited and should be addressed to the working group's
mailing list at ietf-behave@list.sipfoundry.org and/or to the
authors.
Stott & Townsend Expires – December 31, 2005 [Page 34]
Internet Draft SAFENeT June 29, 2005
Full Copyright Statement
"Copyright (C) The Internet Society (2005).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights."
"This document and the information contained herein are provided on
an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE
INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE."
Status of This Document
"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/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html"
This Internet-Draft will expire on December 31, 2005.
Stott & Townsend Expires – December 31, 2005 [Page 35]