Internet DRAFT - draft-sathyanarayan-ipsecme-advpn
draft-sathyanarayan-ipsecme-advpn
IPSECME Working Group P. Sathyanarayan(Ed.)
Internet Draft S. Hanna
Intended status: Proposed Standard S. Melam
Expires: December 2013 Juniper Networks
Y. Nir
Check Point
D. Migault
Francetelecom - Orange
K. Pentikousis
EICT
October 21, 2013
Auto Discovery VPN Protocol
draft-sathyanarayan-ipsecme-advpn-03
Abstract
This document defines a protocol for dynamically establishing and tearing
down IPsec tunnels as needed without requiring non-scalable configuration.
Status of this Memo
This Internet-Draft is submitted in full conformance with the provisions
of BCP 78 and BCP 79.
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
This Internet-Draft will expire on April 21, 2014
Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the document
authors. All rights reserved.
Sathyanarayan Expires December 21, 2014 [Page 1]
Internet-Draft Auto Discovery VPNs October 2013
This document is subject to BCP 78 and the IETF Trust's Legal Provisions
Relating to IETF Documents (http://trustee.ietf.org/license-info) in
effect on the date of publication of this document. Please review these
documents carefully, as they describe your rights and restrictions with
respect to this document.
Table of Contents
1. Introduction...................................................3
1.1. Conventions Used In This Document.........................4
1.2. Terminology...............................................4
2. Design Considerations..........................................5
3. Auto Discovery VPN Protocol....................................6
3.1. Prerequisites.............................................7
3.2. Shortcut Initiation.......................................7
3.3. Shortcut Termination.....................................10
3.4. Peer Address Identification Payload......................10
3.5. ADVPN_SUPPORTED Notification.............................11
3.6. ADVPN_INFO Payload.......................................12
3.7. ADVPN_STATUS Notification................................15
3.8. The SHORTCUT Exchange....................................17
3.8.1. Content of the IDi and IDr payloads.................18
3.9. PROTECTED_DOMAIN Attribute Type..........................19
3.10. SHORTCUT Response Codes (RCODE).........................20
3.10.1. SHORTCUT_ACK.......................................20
3.10.2. SHORTCUT_OK........................................20
3.10.3. SHORTCUT_PARTNER_UNREACHABLE.......................21
3.10.4. TEMPORARILY_DISABLING_SHORTCUT.....................21
3.10.5. IKEV2_NEGOTIATION_FAILED...........................22
3.10.6. UNMATCHED_SHORTCUT_SPD.............................22
3.10.7. UNMATCHED_SHORTCUT_PAD.............................22
4. Trusted Suggester.............................................23
4.1. Format of Protected Domain Resource......................24
4.2. Lifetime of The Data In Protected Domain Resource........24
5. IPsec Policy..................................................24
5.1. Security Policy Database (SPD)...........................25
5.1.1. Security Policy Database Cache (SPD Cache)..........25
5.2. Peer Authentication Database (PAD).......................26
6. Security Considerations.......................................27
7. IANA Considerations...........................................27
8. References....................................................28
8.1. Normative References.....................................28
8.2. Informative References...................................29
9. Acknowledgments...............................................29
Sathyanarayan Expires December 21, 2014 [Page 2]
Internet-Draft Auto Discovery VPNs October 2013
Appendix A. ADVPN Example Use Cases..............................30
A.1. Branch Office Videoconference............................30
A.2. Optimization for Videoconference with Partner............32
A.3. Heterogeneous Wireless Networks Traffic..................35
Appendix B. Comparison Against ADVPN Requirements................41
Appendix C. PROTECTED_DOMAIN Example.............................48
1. Introduction
IPsec [IPSECARCH] is currently being deployed in more diverse network
environments which exhibit significantly larger numbers of hosts than we
have seen before. For example, IPsec is currently used in a broad set of
scenarios ranging from remote office VPN deployments to mobile device
access to corporate and other sensitive network resources to securing
critical telecommunications infrastructure in cellular networks. Large
deployments of IPsec may involve thousands of gateways and endpoints with
constantly changing traffic patterns. In order to enable efficient and
secure traffic flow in such environments, we need to be able to establish
tunnels dynamically, as needed. As a result, static IPsec configuration
based on presets is no longer deemed adequate. Users expect to be able to
connect remotely and securely without compromising their communications
quality of experience. In other words, a more dynamic method of
establishing and tearing down Security Associations (SAs) [IPSECARCH] than
what is currently possible with current standards is desired. This is
discussed in [ADVPNreq] where it is shown that, for a variety of use
cases, static configuration does not scale for large systems and that a
standardized solution is needed where equipment from different vendors may
be involved.
Motivated by the problem defined in [ADVPNreq], this document proposes a
protocol that can demonstratively scale in large IPsec deployments while
ensuring that routing stretch is minimized and network resources are used
more optimally. The proposed protocol extends [IKEV2] to meet the
requirements spelled out in [ADVPNreq], providing a standard way to
dynamically establish and tear down IPsec tunnels, as needed, without
requiring non-scalable configuration. The protocol introduces the concept
of a "shortcut" which can be used by compliant IPsec gateways to optimize
the traffic path between two peers. The protocol has provisions for
adhering to established policies and is applicable to single- and multi-
domain environments. Shortcuts can be established and torn down
dynamically and, as we show in Appendix A, the proposed solution is
applicable to a variety of use cases and scenarios, pertaining to both
wired and wireless networks.
Sathyanarayan Expires December 21, 2014 [Page 3]
Internet-Draft Auto Discovery VPNs October 2013
The remainder of this document is organized as follows. Section 2 presents
our design considerations and discusses the salient protocol
characteristics we are after. Section 3 specifies the Auto Discovery VPN
Protocol (ADVPN), while Section 4 examines the implications of ADVPN on
IPsec policy. Security considerations are discussed in Section 5.
Further, this document includes three appendices: Appendix A details
several ADVPN use cases, while Appendix B explains how the proposed
protocol meets the requirements set in [ADVPNreq]. Finally, Appendix C
provides an illustrative example of how the PROTECTED_DOMAIN response can
be created.
1.1. Conventions Used In This Document
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 [MUSTSHOULD].
1.2. Terminology
This section defines the terms used throughout this document. The terms
introduced in [ADVPNreq] apply here as well. For reader convenience, we
repeat in particular the following terms:
Endpoint - A device that implements IPsec for its own traffic but does not
act as a gateway.
Gateway - A network device that implements IPsec to protect traffic
flowing through the device.
In addition, this document defines the following terms:
Peer - A host (gateway or endpoint) with an IPsec Security Association.
Shortcut - An IPsec Security Association established dynamically (at the
suggestion of a shortcut suggester).
SHORTCUT exchange - A new IKEv2 exchange that carries all data needed to
establish the shortcut IPsec Security Association.
Shortcut suggester - A peer that initiates a SHORTCUT exchange.
Sathyanarayan Expires December 21, 2014 [Page 4]
Internet-Draft Auto Discovery VPNs October 2013
Shortcut partners - The pair of peers that received a SHORTCUT exchange
suggesting that they should establish a shortcut.
Shortcut initiator - A peer directed by a SHORTCUT exchange to act as the
IKEv2 initiator while establishing a shortcut.
Shortcut responder - A peer directed by a SHORTCUT exchange to act as the
IKEv2 responder while establishing a shortcut.
2. Design Considerations
The protocol described in this document aims at operational environments
with possibly tens of thousands (or more) peers. Peers may belong to the
same administrative domain, or to different administrative domains which
have already established trust relationships. In this kind of network
environment one wants to minimize configuration effort overall and, to the
degree possible, eliminate manual labor in administering route
optimization. This may not only result in better network resource
utilization, but also in increased network resilience as reliance on a few
centrally-located gateways is reduced. In addition, the automation
introduced by the protocol described herein enables administrators to
optimize IPsec traffic flows at time scales that are simply not possible
with today's tools. In general, the protocol should allow for self-
optimization as permitted by established domain policies.
Since IPsec traffic may originate or terminate behind NATs and other
policy-enforcing gateways, we aim for a protocol that can work well in
this environment. In addition, peers are not expected to be stationary.
Given the widespread deployment of wireless networks and the proliferation
of mobile devices with multiple interfaces it is reasonable to anticipate
that some hosts can join the ADVPN from a range of different access points
and this is taken into account in our protocol design.
A central aim of the protocol is to enable peers to setup IPsec tunnels
without the need for continuous manual configuration. In addition, the
establishment of new tunnels should not inadvertently affect other peers,
i.e. it should not call for manual configuration elsewhere in the VPN.
Moreover, the establishment of new IPsec tunnels should be easily
controlled and managed by the administrator. When new tunnels are
operational as well as when they are terminated the administrator should
be fully aware of it.
Sathyanarayan Expires December 21, 2014 [Page 5]
Internet-Draft Auto Discovery VPNs October 2013
With these considerations in mind, we design a system that can function
purely on the basis of local optimizations and policies. In short, the
ADVPN protocol enables each individual gateway to act as a shortcut
suggester (as per administrator configuration), i.e. to recommend a
"shortcut" to appropriate peers with which it has previously established
IPsec security associations. These peers, which we refer to as the
shortcut partners, can accept, reject or ignore this recommendation,
according to their own policies. If the partner(s) reject the
recommendation, the partner response indicates the reasons for the
rejection, so the shortcut suggester can properly optimize its VPN
topology. In addition, responses may also carry informational data that
may be handled by the shortcut suggester in various ways. This foundation
bestows scaling properties to the Auto Discovery VPN protocol, as
described in the following sections.
It is important to highlight that the protocol introduced in this document
does not require peers to have a comprehensive understanding of the global
network topology. Each peer can act in accordance with its own policy.
Taken as a whole, this system optimizes the graph of IPsec Security
Associations to match the current traffic flow (subject to policy
constraints) and then continuously reoptimizes the IPsec tunnel graph as
traffic flows and policies change over time. Appendix A provides
illustrative examples of such a (re)optimization.
3. Auto Discovery VPN Protocol
The Auto Discovery VPN protocol (ADVPN) enables an IPsec gateway to
suggest the establishment of a shortcut, i.e. a direct IPsec tunnel
between two of its peers. For example, the shortcut could be used to
establish a more optimal path for data delivery.
Whenever an IPsec gateway decides that a shortcut between two of its peers
would be beneficial, it initiates a SHORTCUT exchange with both peers,
including all information needed to establish the shortcut in the
exchange. The peers can reject the SHORTCUT exchange but they can also use
the information contained in the exchange to attempt to establish a direct
SA between them. We refer to these peers as the shortcut partners. We
refer to the gateway offering the shortcut suggestion to both partners as
the shortcut suggester.
A shortcut MAY be torn down when it is no longer receiving adequate
traffic (as determined by the shortcut partners) or when the timeout for
Sathyanarayan Expires December 21, 2014 [Page 6]
Internet-Draft Auto Discovery VPNs October 2013
the shortcut expires. Of course, the shortcut partners MAY decide to
explicitly terminate the shortcut at any time.
Note that this protocol works in an exemplary manner in typical hub-and-
spoke topologies but it is also well-suited for arbitrary topologies. For
example, consider the case of two endpoints exchanging an adequate amount
of traffic (as determined by the shortcut suggester) and connected through
a series of gateways, all of which support the Auto Discovery VPN
protocol. As detailed in Appendix A (Sections A.2. and A.3. , the protocol
enables the step-by-step optimization of the traffic flow between two
endpoints through the use of shortcut tunnels. The protocol effectively
enables direct and secure communication between the two endpoints without
any manual configuration involved in setting up the respective tunnels.
3.1. Prerequisites
The Auto Discovery VPN protocol MUST only be used with IKEv2.
Before the Auto Discovery VPN protocol can be used, all participants (i.e.
the shortcut suggester and the shortcut partners) must indicate support
for this protocol by sending ADVPN_SUPPORTED notification payload as
described in Section 3.5. Any IKEv2 peer that sends this notification is
indicating that it supports the protocol defined in this draft.
Shortcut partners and shortcut suggesters MUST NOT send any of the
messages defined in the remainder of this specification unless the
intended recipient of the message has sent the ADVPN_SUPPORTED
notification payload during the IKEv2 exchange. Any party that supports
this protocol will send this notification payload in the first IKE_AUTH
request sent in the IKE exchange. However, it may delay sending this
payload until later, for example, if it has a policy that restricts the
set of peers with which it is willing to establish a shortcut.
3.2. Shortcut Initiation
Once the use of the Auto Discovery VPN protocol is enabled, an IPsec
gateway which acts as a shortcut suggester can decide that two of its
peers (which have indicated support for the ADVPN protocol) should
establish a direct IPsec Security Association. Note that the decision-
making process for selecting the two peers is outside the scope of this
document. As an illustrative example, however, one could consider the
observation of excessive transit traffic load between said peers. Another
reason could be the realization that certain quality of service (QoS)
Sathyanarayan Expires December 21, 2014 [Page 7]
Internet-Draft Auto Discovery VPNs October 2013
requirements would be better served through a shortcut. For instance, some
of the traffic between the two peers may be delay-sensitive and would
benefit from a more direct route. Alternatively, gateway-, policy- and
operation-related reasons, such as overload, scheduled maintenance,
energy-saving and so on, could also trigger the initiation of a shortcut
recommendation. The reasoning behind the trigger that initiates a shortcut
exchange to selected peers is beyond the scope of this document.
Once an IPsec gateway has decided that two peers should establish a direct
SA, it acts as a shortcut suggester and uses its already established IKEv2
SAs with these peers to initiate a SHORTCUT exchange to each of the
shortcut partners. Each SHORTCUT exchange includes most or all of the
information needed to allow the shortcut partners to establish their own
SA, such as, the IP address, port number and identity of the other
partner, an indication of which partner should be the IKEv2 initiator and
which should be the responder, and even an optional Pre-Shared Key, which
can facilitate partner authentication with each other.
The shortcut suggester MAY also include Traffic Selectors in the SHORTCUT
exchange to indicate which traffic should be sent over the shortcut. This
allows traffic for certain destinations to use the ADVPN shortcut while
traffic for other destinations continues to flow through the gateway (i.e.
the shortcut suggester). Further, it allows traffic destined for certain
port numbers (e.g. associated to high-volume, delay-sensitive traffic such
as video conferencing applications) to follow the path defined by the
shortcut, while other types of traffic carrying, for example, sensitive
information that ought to be logged or analyzed, continue to be routed
through the gateway.
The shortcut partners MAY decline to act on the SHORTCUT exchange.
Although the decision to do so is outside the scope of this document, one
could consider, for example, that there may be implementation-specific or
operational reasons for rejecting the newly received shortcut suggestion.
For instance, the shortcut partners may be low on resources or they may
have recently tried to establish this shortcut and failed. Another reason
for not accepting the shortcut recommendation could be that doing so would
violate local policy. For instance, one of the shortcut partners may
accept shortcuts only within its organization.
The shortcut partner(s) MAY ignore the SHORTCUT exchange, but it MUST
provide a reason for such refusal to the shortcut suggester by including
the ADVPN_STATUS notification in the SHROTCUT exchange. We note that a
shortcut suggester SHOULD NOT reinitiate a SHORTCUT exchange just because
the shortcut partners have not set up the requested shortcut tunnel. An
ADVPN_STATUS notification MAY carry a timeout value as an indication by
Sathyanarayan Expires December 21, 2014 [Page 8]
Internet-Draft Auto Discovery VPNs October 2013
either of the partners to the shortcut suggester so that the latter defers
the re-initiation of a SHORTCUT exchange for this partner pair for the
specified amount of time.
The shortcut suggester can indicate, during the SHORTCUT initiation
exchange, which shortcut partner should act as the initiator and which as
the responder. For example, if only one of the two peers is behind a NAT,
the shortcut suggester can indicate the peer behind the NAT as the
initiator. Once this decision is made, the shortcut suggester initiates
the SHORTCUT exchange with the chosen shortcut responder first. Once the
responder's response is received and it indicates acceptance of the
suggestion, the shortcut suggester can proceed with the notification to
the partner that will act as the shortcut initiator. If, on the other
hand, the responder rejects the suggestion, the shortcut suggester MAY
change the roles of the partners or terminate the process.
If the shortcut partner identified as the initiator in the SHORTCUT
exchange decides to establish the shortcut suggested by the exchange, it
will attempt to establish an IKEv2 exchange with its designated shortcut
partner (the "shortcut responder") and then to establish an IPsec security
association between the two. Ordinarily, the Initiator in an IKE_AUTH
exchange MAY include an IDr payload. In an IKE_AUTH exchange established
because of a SHORTCUT, both the IDi and IDr payloads are mandatory, and
their content MUST agree with the ID payloads in the SHORTCUT exchange.
Once the SA between the two partners is established, both shortcut
partners SHOULD send to the shortcut suggester a SHORTCUT response,
indicating that the shortcut tunnel has been established. Details of how
this is done are specified in the descriptions of specific Shortcut Types
in Section 3.4.
If the shortcut partners are able to establish an IPsec security
association, they can use the Traffic Selectors for this SA to determine
which traffic should be sent through this tunnel. Shortcut partners MUST
ensure that the Traffic Selectors negotiated for the shortcut tunnel are a
subset of the Traffic Selectors they have in place for their SA with the
shortcut suggester. Since there may be an overlap between the Traffic
Selectors for the shortcut SA and for the SA with the shortcut suggester,
preference SHOULD be given in this case to sending traffic over the
shortcut SA, as described in Section 4.
If a VPN gateway is performing address translation (NAT) for traffic
coming from one peer and going to another peer, then in MUST NOT suggest a
shortcut between them. Such traffic would have different addresses when
flowing directly between the peers, and there is no guarantee that such
Sathyanarayan Expires December 21, 2014 [Page 9]
Internet-Draft Auto Discovery VPNs October 2013
flows work with the IPsec policy and with the routing in the remote
network.
3.3. Shortcut Termination
After establishing an IPsec Security Association triggered by a SHORTCUT
exchange, as described in the following subsection, either of the shortcut
partners may decide to terminate the shortcut. This may occur at any point
of time and for a variety of reasons (outside the scope of this document),
such as, for example, due to lack of traffic using the shortcut, local
policy, shortage of resources, or other reasons. However, the shortcut SA
SHOULD NOT be terminated simply because the SA with the shortcut suggester
was terminated due to inactivity. On the contrary, dropping the SA with
the shortcut suggester while maintaining the shortcut SA may be quite a
normal occurrence if the only traffic flowing through the shortcut
suggester has now been diverted into the shortcut.
Note that either shortcut partner may terminate a shortcut by closing the
corresponding IKE SA (and therefore all child IPsec SAs) by sending an
IKEv2 Delete payload to the other shortcut partner, thus indicating that
the IKE SA should be deleted.
3.4. Peer Address Identification Payload
The Peer Address Identification Payload, denoted as IDa, contains the
address of the peer gateway. It is formatted in the same manner as the IDi
and IDr payloads which are defined in Section 3.5 of RFC 5996. The ID type
in the IDa payload MUST be from one of the following types:
. ID_IPV4_ADDR, indicating an IPv4 address
. ID_IPV6_ADDR, indicating an IPv6 address
. ID_FQDN, indicating a fully qualified domain name; this is allowed if
and only if the peer has indicated the capability "FQDN Resolver" in
its ADVPN_SUPPORTED notification. See Section 3.5.
This payload is currently defined only for the SHORTCUT exchange. It MUST
NOT be sent to any peer that has not indicated support for SHORTCUT
exchanges by sending the ADVPN_SUPPORTED notification. The Critical bit
MUST be set.
Sathyanarayan Expires December 21, 2014 [Page 10]
Internet-Draft Auto Discovery VPNs October 2013
[RFC EDITOR PLEASE REMOVE THIS PARAGRAPH] For development and
interoperability testing while this document is still a draft and IANA
actions have not taken place, implementations can use the private-use
value of 247 for the payload type of the IDa payload.
3.5. ADVPN_SUPPORTED Notification
The Notify payload for announcing support of ADVPN is included in the
Initial Exchange and is formatted as follows:
1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Next Payload !C! RESERVED ! Payload Length !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Protocol ID ! SPI Size ! ADVPN Supported Message Type !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Capabilities ... !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The fields corresponding to the first 4 octets are defined as described in
RFC 5996. The remaining fields are defined as follows:
. Protocol ID (1 octet) MUST be zero, as specified in Section 3.10 of
RFC 5996.
. SPI Size (1 octet) MUST be zero, in conformance with Section 3.10 of
RFC 5996.
. ADVPN Supported Message Type (2 octets) - MUST be xxxxx. [RFC EDITOR
NOTE: value assigned by IANA for ADVPN_SUPPORTED]
. The Capabilities field can be two or more octets long, indicating the
capabilities that this implementation supports. See the Table below
for the capabilities specified in this document. The first of these
capabilities MUST indicate the protocol version range (0x01-0x08),
and at least one MUST list the features range (0x09-0xff). All
version capabilities MUST precede all feature capabilities.
+------------+-----------+------------------------------------------+
| Value | Name | Comment |
+------------+-----------+------------------------------------------+
| 0x00 | pad | Used to pad the notification to any |
| | | desired length. MAY be sent multiple |
| | | times at the end of the list, and MUST |
| | | be ignored on receipt |
Sathyanarayan Expires December 21, 2014 [Page 11]
Internet-Draft Auto Discovery VPNs October 2013
| | | |
| 0x01 | v1 | The version described in this document. |
| | | MUST be sent first by implementations |
| | | compliant with this document. |
| | | |
| 0x02..0x08 | RES1 | Reserved for future versions |
| | | |
| 0x09 | Suggester | Can act as shortcut suggester in a |
| | | SHORTCUT exchange |
| | | |
| 0x0A | Shortcut | Can act as shortcut partner in a SHORTCUT|
| | Partner | |
| | | |
| 0x0B | FQDN | Can resolve peer locators given as FQDN. |
| | Resolver | Relevant only for the shortcut partner. |
| | | |
| 0x0C | Trusted | This peer can act as a trusted suggester |
| | Suggester | as described in Section 4. |
| | | |
| 0x0D..0x7F | RES2 | Reserved for future extensions |
| | | |
| 0x80..0xDF | RES3 | Reserved |
| | | |
| 0xE0..0xFF | RES4 | Reserved for private use |
+------------+-----------+------------------------------------------+
The IKE exchange Initiator MAY send multiple version capabilities. The
Responder MUST send exactly one version capability, and that capability
represents the version of the specification to be used.
A receiver MUST ignore any capabilities it does not recognize. Extension
documents SHOULD consider the effects of the peer not recognizing such
capabilities. If such extensions are critical for the operation of the
protocol, a new version number may also be needed.
[RFC EDITOR PLEASE REMOVE THIS PARAGRAPH] For development and
interoperability testing while this document is still a draft and IANA
actions have not taken place, implementations can use the private-use
value of 47831 as the ADVPN_SUPPORTED Notify type.
3.6. ADVPN_INFO Payload
The ADVPN_INFO payload is used in the SHORTCUT exchange to send
information from the suggester to a shortcut partner about the shortcut.
Sathyanarayan Expires December 21, 2014 [Page 12]
Internet-Draft Auto Discovery VPNs October 2013
1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Next Payload !C! RESERVED ! Payload Length !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! SHORTCUT Identifier !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Lifetime !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! R | Reserved | PSK Length | Peer Port !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ Pre-Shared Key (variable length) ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ Peer Description (variable length) ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The fields corresponding to the first 4 octets are defined as described in
RFC 5996. The remaining fields are defined as follows:
. SHORTCUT Identifier (4 octets) - a 32-bit identifier for this
shortcut. The same value MUST be used for both shortcut peers and it
MUST be unique per suggester and partners pair. The value SHOULD be
unique per suggester, i.e. there should not exist in the VPN two
SHORTCUTs initiated by the same suggester with the same identifier.
. Lifetime (4 octets) - a 32-bit integer that indicates the maximum
number of seconds that this shortcut recommendation should last.
After this period of time lapses, the shortcut partners SHOULD tear
down the shortcut SA. If the field is 0, the shortcut suggestion MAY
last indefinitely. The shortcut partners MAY use a smaller timeout
value than given here based on their policies.
. R - Role (2 bits) - this field indicates to the partner its
designated role in the upcoming exchange (i.e. shortcut initiator or
responder). Role assignment is decided by the shortcut suggester and,
as mentioned earlier, it is outside the scope of this document. Value
00 is reserved and MUST NOT be used by implementations compliant to
this specification. Value 01 indicates that the receiving peer MUST
act as shortcut responder. Value 10 indicates that the peer receiving
this payload MUST act as the shortcut initiator. Value 11 indicates
that the receiving peer SHOULD NOT initiate the exchange immediately
and MAY initiate the exchange at later stage. The waiting time before
the peer initiates the exchange could be several minutes.
Sathyanarayan Expires December 21, 2014 [Page 13]
Internet-Draft Auto Discovery VPNs October 2013
. PSK Length (1 octet) indicates the length in octets of the Pre-Shared
Key. It MUST be set to zero if certificate authentication is to be
used between the shortcut peers.
. Peer Port (16 bit) - is set to zero when none of the shortcut
partners are behind a NAT. The suggester has IKEv2 and IPsec channels
with both shortcut partners, so it is aware whether partners are
behind a NAT or not. If one of the shortcut partners is behind a NAT,
the Peer Port MUST be a non-zero value. This value is used for UDP
encapsulation as defined in [RFC3948] between the partner that has
received the shortcut payload and the peer shortcut partner.
If the peer shortcut partner is behind a NAT, the Peer Port
designates the port by which the NAT identifies the peer within its
private network. The global IP address of the NAT is provided by the
Peer Address Identification Payload (IDa). When the shortcut partner
receiving the shortcut payload sends an IKEv2 or IPsec ESP packet to
the peer shortcut partner, it MUST UDP encapsulate the packet with IP
source set to its local IP address, source port set to 4500, IP
destination set to the IP provided by the Peer Address Identification
Payload, and destination port set to Peer Port. When the packet
reaches the NAT gateway, the IP destination and destination port are
translated by the NAT to private IP address and 4500. Similarly,
IKEv2 and IPsec ESP packets sent by the peer shortcut partner are UDP
encapsulated with IP source set to the private IP address of the peer
shortcut partner, source port set to 4500. IDa determines the IP
destination payload sent to the peer shortcut partner and the
counterpart shortcut payload Peer Port field sent to the peer
shortcut partner defines the destination port. This field MAY be 4500
or another value depending on whether the shortcut partner of the
shortcut payload (described in this section) is also behind a NAT.
If the peer shortcut partner is not behind a NAT, but the partner
receiving this shortcut payload is behind a NAT, then the Peer Port
value is set to 4500. When the shortcut partner sends an IKEv2 or an
IPsec ESP packet, it MUST UDP encapsulate the packet with IP source
set to its private IP, the port source set to 4500, IP destination
set to the IP provided by the Peer Address Identification Payload
(IDa) and the destination port 4500. When the packet reaches the NAT
gateway, IP source and port are translated by the NAT with the global
IP address and the port used to identify the shortcut partner. These
two values are provided to the peer shortcut partner, by the Peer
Address Identification Payload (IDa) and shortcut payload sent by the
suggester to the peer shortcut partner.
Sathyanarayan Expires December 21, 2014 [Page 14]
Internet-Draft Auto Discovery VPNs October 2013
If the Peer Port is set to zero and the partner is behind a NAT, this
is obviously a misconfiguration. The partner MAY return a RCODE set
to SHORTCUT_PARTNER_UNREACHABLE. If the partner initiates the IKEv2
negotiation, it MUST ignore the Peer Port value and proceed to UDP
encapsulation. The negotiation MAY be successful only if the peer
shortcut partner is not behind a NAT. Similarly if the partner is not
initiating the IKEv2 negotiation, the negotiation MAY be successful
if the shortcut partner has received a properly configured shortcut
payload.
. Pre-Shared Key - An octet string used as the PSK in the IKE_AUTH
exchange between the shortcut partners. This field MUST be the same
in the ADVPN INFO payloads sent to the two shortcut partners. It MUST
be randomly generated using a good random source, and it SHOULD be
long enough to meet the security requirements of the deployment. In
practice, this means that the length of the randomly generated data
should be at least 16 octets long.
. Peer Description (variable length) - The length of this field is
calculated by subtracting the combined lengths of the other fields
from the value of the Payload Length field. It contains a description
of the other peer, in a format that is simply a name, suitable for
logging, and encoded in UTF-8.
[RFC EDITOR PLEASE REMOVE THIS PARAGRAPH] For development and
interoperability testing while this document is still a draft and IANA
actions have not taken place, implementations can use the private-use
value of 248 as the ADVPN_INFO payload type.
3.7. ADVPN_STATUS Notification
The ADVPN_STATUS payload is used by a shortcut partner for conveying to
the suggester and to the other SHORTCUT peer the status of the shortcut.
1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Next Payload !C! RESERVED ! Payload Length !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Protocol ID ! SPI Size ! ADVPN Status Message Type !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! SHORTCUT Identifier !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Sathyanarayan Expires December 21, 2014 [Page 15]
Internet-Draft Auto Discovery VPNs October 2013
!F|C|E| Reserved | RCODE |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Timeout !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The fields corresponding to the first 4 octets are defined as described in
RFC 5996. The remaining fields are defined as follows:
. Protocol ID (1 octet) MUST be zero, as specified in Section 3.10 of
RFC 5996.
. SPI Size (1 octet) MUST be zero, in conformance with Section 3.10 of
RFC 5996.
. ADVPN Status Message Type (2 octets) - MUST be yyyyyy. [RFC EDITOR
NOTE: value assigned by IANA for ADVPN_STATUS]
. SHORTCUT Identifier - the 32-bit field from the SHORTCUT_INFO
notification.
. F (1 bit) - Fatal. Set if this notification means that the SHORTCUT
no longer exists.
. C (1 bit) - Critical. Set if the peer must understand this RCODE, or
else delete the shortcut if the F bit is not set.
. E (1 bit) - Error. Indicates an error condition (rather than a policy
change).
. RCODE (2 octets) - a 16-bit field as described in Section 3.8.1.
. Timeout - this 32-bit field indicates the maximum number of seconds
that the shortcut service is not available by the peer.
The SHORTCUT_STATUS notification may be sent to the suggester in the
SHORTCUT exchange response message. If either the suggester or a partner
needs to communicate a change in status after the original SHORTCUT
exchange is over, the same can be communicated in an INFORMATIONAL
request. Additionally, the same notification is used in the IKE exchange
between the shortcut partners, so that they can match that exchange and
the resulting Security Associations to the shortcut. Since there may be
more than one active shortcut between a pair of shortcut partners, the
notification is inserted into the exchanges that create child SAs, either
the IKE_AUTH exchange or the CREATE_CHILD_SA exchange.
[RFC EDITOR PLEASE REMOVE THIS PARAGRAPH] For development and
interoperability testing while this document is still a draft and IANA
actions have not taken place, implementations can use the private-use
value of 47833 as the ADVPN_STATUS notify type.
Sathyanarayan Expires December 21, 2014 [Page 16]
Internet-Draft Auto Discovery VPNs October 2013
3.8. The SHORTCUT Exchange
This new exchange type defines how the suggestions are conveyed. It is
designed for sending the SHORTCUT data. The suggester initiates the
SHORTCUT exchange and each of the shortcut partners responds to the
notification. The shortcut partner acts as the [RFC5996] Responder. The
exchange is constructed as follows:
HDR, SK {IDa, ADVPN_INFO, IDi,
IDr[, TSi][, TSr][, VID]} -->
<== HDR, SK {N(ADVPN_STATUS)}
The IDa payload, defined in Section 3.4. provides the location of the
other shortcut peer and it may not necessarily have the same data as the
IDi or IDr payloads.
The ADVPN_INFO payload contains PSK and any other information needed for
establishing the SHORTCUT IKE SA, as well as the optional time out
information.
The IDi Identification Payload contains the identity of the shortcut
initiator. The shortcut initiator MUST use this identifier when
establishing the shortcut and the shortcut responder MUST verify that this
identifier was used.
The IDr Identification Payload contains the identity of the shortcut
responder. The shortcut initiator MUST use this payload in the subsequent
IKE_AUTH exchange with the shortcut responder.
The TSi and TSr Traffic Selector Payloads (when present) contain,
respectively, traffic selectors the intended Initiator and intended
Responder in the IKE_AUTH exchange between the shortcut partners. The
content is as specified in Section 3.13 of RFC 5996 [IKEV2].
The responder checks that everything in the request is acceptable
according to local policy. If not, it MUST return an error RCODE. If the
shortcut is acceptable, then it either tries to establish the shortcut IKE
SA, and reports the results in the SHORTCUT response, or it immediately
responds with a SHORTCUT_ACK RCODE, and follows up with more detailed
status reports in future Informational exchanges.
In the subsequent IKE_AUTH exchange between the two partners, the
initiator MUST use the IDi and IDr payloads as specified in the exchange
described in this section, and MUST use a subset (not necessarily a proper
Sathyanarayan Expires December 21, 2014 [Page 17]
Internet-Draft Auto Discovery VPNs October 2013
subset) of the traffic selector payload data, if such data has been
included in the SHORTCUT exchange.
When shortcut are performed within a single administrative domain, IKE PAD
are likely to be configured to trust all partners associated to a given
domain. This will most probably be reflected by a common field in the
certificate, and the ID is determined by the certificate. On the other
end, PSK and a random ID MUST be added in the PAD of the partners.
Creation of a new entry in the PAD is done since the suggester is trusted.
If not the partner MUST return a SHORTCUT Response with UNMATCHED SHORTCUT
PAD.
3.8.1. Content of the IDi and IDr payloads
The identification payloads in the SHORTCUT request message are later used
in the IKE_AUTH exchange between the shortcut partners. They are required
to follow the rules in RFC 5996 for authentication of the IKE SA. However,
those rules are vague and left to specific profiles, specific
implementations and specific administrative decisions.
Since AD-VPN is intended to work with multiple implementations and
multiple administrative domains, we believe it is necessary to specify the
content of these payloads more strictly.
If a shortcut partner is supposed to authenticate using a certificate
(and, therefore, the PSK Length field in the ADVPN_INFO payload is set to
zero), then the ID payload matching this partner MUST match the
certificate that it has. In this case, the ID payload MUST be from one of
the following types:
. ID_IPV4_ADDR or ID_IPV6_ADDR. This ID type MAY be used only if the
certificate contains an alternate name extension of type iPAddress,
and MUST contain the same IP address as the extension.
. ID_FQDN. This ID type MAY be used only if the certificate contains an
alternate name extension of type dNSName, and MUST contain the same
FQDN as the extension.
. ID_RFC822_ADDR. This ID type MAY be used only if the certificate
contains an alternate name extension of type rfc822Name, and MUST
contain the same NAI as the extension.
. ID_DER_ASN1_DN. This ID type can always be used, and if used, MUST
contain an exact copy of the subject field of the certificate.
Sathyanarayan Expires December 21, 2014 [Page 18]
Internet-Draft Auto Discovery VPNs October 2013
If the partners are using a PSK to authenticate, the ID payloads need not
reflect any real name of the partners, as that information is conveyed in
the ADVPN_INFO payload. The ID payloads do, however, need to be unique so
as to allow a quick lookup of the ID payload. To ensure this, the ID
payload MUST be of type ID_KEY_ID, and the content MUST be unique. To
ensure uniqueness across administrative domains, the content of the ID
payload in such cases MUST be randomly or pseudo-randomly generated and
MUST have 128 bits.
3.9. PROTECTED_DOMAIN Attribute Type
This is a new attribute for the CFG payload. In a request, its size MUST
be a constant zero. In a response, it MUST be at least 20 octets long,
having the following format:
1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|R| Attribute Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| |
| Resource Hash |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ Resource URL ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
PROTECTED_DOMAIN Configuration Attribute Format
In the above diagram, Attribute Type is ZZZ, [RFC EDITOR NOTE: value
assigned by IANA for PROTECTED_DOMAIN], Resource Hash is the SHA-1 hash of
the resource, and Resource URL is an HTTP URL pointing at the resource.
The corresponding entry for this attribute as in the table in section
3.15.1 of RFC 5996 is as follows:
Attribute Type Value Multi-Valued Length
--------------------------------------------------------------
Sathyanarayan Expires December 21, 2014 [Page 19]
Internet-Draft Auto Discovery VPNs October 2013
PROTECTED_DOMAIN 1 NO 0, or 20+ octets
The format of the resource itself is described in Section 4.1.
3.10. SHORTCUT Response Codes (RCODE)
This section provides more information on the use of the response codes
(RCODE). RCODE is a 16-bit field, used by the shortcut partners to
indicate the status on the SHORTCUT notification received.
The RCODEs we consider in this document are the following:
Value Description
---------------------
0 SHORTCUT_ACK
1 SHORTCUT_OK
2 SHORTCUT_PARTNER_UNREACHABLE
3 TEMPORARILY_DISABLING_SHORTCUT
4 SHORTCUT_PARTNER_UNREACHABLE
5 IKEv2_NEGOTIATION_FAILED
6 UNMATCHED_SHORTCUT_SPD
7 UNMATCHED_SHORTCUT_PAD
3.10.1. SHORTCUT_ACK
The RCODE value for SHORTCUT_ACK is: 0 (zero)
This RCODE indicates that the receiving partner has accepted the shortcut,
but has yet to establish the shortcut IKE SA. This RCODE MUST be used only
in the response for a SHORTCUT exchange.
3.10.2. SHORTCUT_OK
The RCODE value for SHORTCUT_OK is: 1
This RCODE indicates that the shortcut has been successfully established
between the shortcut partners.
Sathyanarayan Expires December 21, 2014 [Page 20]
Internet-Draft Auto Discovery VPNs October 2013
3.10.3. SHORTCUT_PARTNER_UNREACHABLE
The RCODE value for SHORTCUT_PARTNER_UNREACHABLE is: 2
This RCODE indicates that the attempt to establish the recommended
shortcut has failed because the partner peer was unreachable. This may
happen, for example, if the partner peers are behind separate NATs, or a
firewall drops packets between the shortcut partners. It may also be that
the partner peer is only available through a specific interface. In
addition, the partner peer may have been temporarily disconnected or its
shortcut service has been temporarily disabled as explained in subsection
3.10.4.
It is the responsibility of the shortcut suggester to determine the reason
of the observed unreachability as well as what policy to apply. However,
the shortcut suggester SHOULD NOT initiate another SHORTCUT exchange to
the shortcut partners before the Timeout indicated in the shortcut Data.
If the Timeout value is not present, then it is up to the shortcut
suggester to decide when a new SHORTCUT exchange should be initiated.
3.10.4. TEMPORARILY_DISABLING_SHORTCUT
The RCODE for TEMPORARILY_DISABLING_SHORTCUT is: 3
This RCODE indicates that the shortcut recommendation is refused by the
shortcut peer because it has deactivated the shortcut service. In other
words, this RCODE indicates that any attempt to establish shortcuts will
be refused independently of the SHORTCUT exchange sent. For example, the
shortcut service could be disabled when the shortcut peer is overloaded.
If the shortcut initiator generates this response code, then it SHOULD NOT
initiate the shortcut negotiation.
When receiving an ADVPN_STATUS notification with this response code, the
shortcut suggester SHOULD NOT initiate any other SHORTCUT exchange before
the Timeout indicated in the shortcut Data. If the Timeout value is not
present, then it is up to the shortcut suggester to decide when a new
SHORTCUT exchange should be initiated.
Sathyanarayan Expires December 21, 2014 [Page 21]
Internet-Draft Auto Discovery VPNs October 2013
3.10.5. IKEV2_NEGOTIATION_FAILED
The Shortcut Type for IKEV2_NEGOTIATION_FAILED is: 4
This RCODE indicates that the IKEv2 negotiation between the two partner
peers did not complete successfully. That is, the shortcut recommendation
was accepted and acted upon, but the IKEv2 negotiation failed. This RCODE
does not provide information on the reasons the shortcut establishment
failed, and thus other more specific RCODEs (see below) SHOULD be
preferred by implementations when this is possible.
3.10.6. UNMATCHED_SHORTCUT_SPD
The RCODE for UNMATCHED_SHORTCUT_SPD is: 5
This RCODE indicates an error resulting from the analysis of the SHORTCUT
exchange. Before establishing a shortcut, the shortcut initiator MUST
check that the shortcut partner's IP address matches its Security Policy
Database (SPD). If a mismatch occurs with the shortcut initiator's SPD,
the shortcut initiator MUST NOT initiate the shortcut. In this case, the
initiator MUST use the UNMATCHED_SHORTCUT_SPD RCODE in its ADVPN_STATUS
notification.
If the mismatch occurs with the shortcut responder, it MUST send to the
shortcut suggester the UNMATCHED_SHORTCUT_SPD RCODE in its ADVPN_STATUS
notification. Eventually the shortcut initiator will start an IKEv2
negotiation. The shortcut responder SHOULD terminate the IKEV2 negotiation
with a TS_UNACCEPTABLE. At this stage the shortcut cannot be established
and the shortcut initiator MUST respond to the shortcut suggester with the
IKEv2_NEGOTIATION_FAILED Shortcut Type in its ADVPN_STATUS Notify Payload.
When receiving ADVPN_STATUS with this RCODE, the shortcut suggester SHOULD
NOT reinitiate a SHORTCUT exchange with the shortcut partners with the
same Traffic Selectors in short order.
3.10.7. UNMATCHED_SHORTCUT_PAD
The Shortcut Type for UNMATCHED_SHORTCUT_PAD is: 6
This RCODE indicates an error resulting from the analysis of the SHORTCUT
exchange. Before establishing a shortcut, the shortcut initiator MUST
Sathyanarayan Expires December 21, 2014 [Page 22]
Internet-Draft Auto Discovery VPNs October 2013
check that the shortcut partner's IP address and Identities IDi/IDr match
its Peer Authentication Database (PAD). If a mismatch occurs with the
shortcut initiator's PAD, the shortcut initiator MUST NOT initiate the
establishment of the recommended shortcut. The initiator then sends the
UNMATCHED_SHORTCUT_PAD RCODE in its ADVPN_STATUS notification
If the mismatch occurs with the shortcut responder, it MUST send to the
shortcut suggester the UNMATCHED_SHORTCUT_PAD RCODE in its ADVPN_STATUS
notification. Eventually the shortcut initiator will start an IKEv2
negotiation. The shortcut responder SHOULD terminate the IKEV2 negotiation
with a TS_UNACCEPTABLE. Thus, the shortcut cannot be established and the
shortcut initiator MUST return the shortcut suggester the
IKEv2_NEGOTIATION_FAILED Shortcut Type in its ADVPN_STATUS.
When receiving ADVPN_STATUS with this RCODE, the shortcut suggester SHOULD
NOT reinitiate a SHORTCUT exchange with the shortcut partners with the
same Traffic Selectors in short order.
4. Trusted Suggester
Advertising this capability means that the sender supports sending its
entire protected domain through the PROTECTED_DOMAIN attribute in the CFG
payload.
The intended way to use this is that a spoke node, whether a remote access
client or a gateway, is configured only with credentials for a single hub
gateway. On the first Initial exchange, the hub gateway advertises the
TRUSTED_SUGGESTER capability. In the IKE_AUTH exchange or in a later
Informational exchange, the spoke sends a CFG_REQUEST, asking for the
PROTECTED_DOMAIN. The reply (see Section 3.8.1. gives the spoke a URL for
a resource that contains the entire protected domain of the hub, which is
the entire protected domain of the VPN. The CFG_REPLY also contains a hash
of the resource, which has an important security benefit. Since there are
attacks against HTTP, and no obvious way to secure HTTPS in this context,
using a protected exchange to send a hash of the resource makes sure that
the retrieved resource is in fact the intended one.
The list of IP addresses and ranges returned in the resource is used to
populate the SPD, and provides an initial configuration with all VPN
traffic going through the hub gateway. Normal ADVPN protocol operation can
later optimize the traffic, but this mechanism ensures that bootstrapping
does not require extensive manual configuration.
The procedure described above begins with the bare minimum of
configuration. Some nodes will begin with some initial configuration, in
Sathyanarayan Expires December 21, 2014 [Page 23]
Internet-Draft Auto Discovery VPNs October 2013
which case it is up to them to harmonize their static configuration with
the data from the trusted suggester. It is perfectly valid to use only a
subset of the protected domain in populating the SPD. Appendix C provides
an illustrative example of the use of the PROTECTED_DOMAIN attribute.
4.1. Format of Protected Domain Resource
The protected domain resource is formatted much like a CFG reply. It is a
series of Configuration Attributes (see section 3.15.1 in RFC 5996), but
the only attribute types allowed are INTERNAL_IP4_SUBNET (13) and
INTERNAL_IP6_SUBNET (15). The last Configuration Attribute has the R bit
set to mark it as the last one.
For an example, the following resource indicates a protected domain
comprised of all three test networks from [RFC5737] and [RFC3849]:
0x0D 0x08 0xC0 0x00 0x02 0x00 0xff 0xff 0xff 0x00
- 8-octet IP4_SUBNET: 192.0.2.0 (255.255.255.0)
0x0D 0x08 0xC6 0x33 0x64 0x00 0xff 0xff 0xff 0x00
- 8-octet IP4_SUBNET: 198.51.100.0 (255.255.255.0)
0x0D 0x08 0xCB 0x00 0xD1 0x00 0xff 0xff 0xff 0x00
- 8-octet IP4_SUBNET: 203.0.113.0 (255.255.255.0)
0x8F 0x11 0x20 0x01 0x0D 0xB8 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x20
- Last 17-octet IP6_SUBNET: 2001:DB8::/32
4.2. Lifetime of The Data In Protected Domain Resource
As the Protected Domain Resource is delivered over HTTP/1.1 or above, the
Cache-Control ([HTTPCache]) directives can be used to assign a lifetime.
The IPsec node MUST expire the entries from the SPD as soon as the data
would expire from the cache, or MUST fetch fresh data beforehand.
5. IPsec Policy
This section discusses the implications of the use of the ADVPN Protocol
on IPsec policy.
Sathyanarayan Expires December 21, 2014 [Page 24]
Internet-Draft Auto Discovery VPNs October 2013
5.1. Security Policy Database (SPD)
The SHORTCUT exchange described in Section 3.2. conveys policy in the
sense of Section 4.4.1 of RFC 4301 ([IPSECARCH]). In the terms of that
document, these are SPD elements. Assuming these elements are accepted,
they update the existing security policy of the receiver.
The entries specified in a SHORTCUT exchange are inserted into the SPD
immediately before the entry that they are updating, so that these new
entries take precedence over existing ones.
RFC 4301 does not specify time limits for SPD entries. In that sense, this
document updates RFC 4301. SPD entries now come in two flavors: static
entries, which have no expiration time and are defined by an
administrator, and dynamic entries which have an expiration time as
specified in the SHORTCUT exchange.
For example, suppose a static entry exists for the remote subnet
192.0.2.0/23, and the local subnet is 192.0.1.0/24. Initially, the entry
looks like this:
Local=192.0.1.0/24,Remote=192.0.2.0/23,PROT,Peer=vpngw.example.com
Assume now that a SHORTCUT exchange is received which describes gateway
foo.example.com, and remote subnet 192.0.2.0/24. The database will look as
follows:
Local=192.0.1.0/24,Remote=192.0.2.0/24,PROT,Peer=foo.example.com
Local=192.0.1.0/24,Remote=192.0.2.0/23,PROT,Peer=vpngw.example.com
Because of the rules of processing as specified in Section 5.1 of RFC
4301, the earlier entry takes precedence, and overrides the second entry
for subnet 192.0.2.0/24. The second entry still applies to 192.0.3.0/24.
5.1.1. Security Policy Database Cache (SPD Cache)
The SPD Cache also needs to be updated. With the above entry, a cache
entry was created reflecting the matching SA. If no change to the cache is
Sathyanarayan Expires December 21, 2014 [Page 25]
Internet-Draft Auto Discovery VPNs October 2013
made, the IPsec stack will continue to use the existing SA despite the
change in policy. Since implementations of the SPD cache vary widely, we
do not specify the exact way to handle this change, but discuss below some
implementation suggestions.
One way to handle this would be to narrow the existing SPD Cache entry so
as to cover only the selectors which are not affected by the SHORTCUT.
This has the advantage of forcing the SPD cache entry to a failure match
with the negotiated SA. Whether this is a problem depends on the
implementation of these databases. It is likely not a good idea to also
narrow the existing SAs. While it should be fine for outbound SAs, it will
cause the IPsec stack to drop validly encrypted packets on inbound
processing.
Another way to handle this would be to simply delete the SPD cache entry,
forcing a re-evaluation of the SPD for the next packets. This causes an
even more serious discrepancy between the Security Association Database
(SAD) and SPD Cache. This should only be done if it is possible to match
existing SAs to new SPD cache entries, which, again, depends on the
implementation details.
The one foolproof way is to erase both SPD cache entries and SAs, sending
the appropriate DELETE payloads to the peer. This is perfectly compliant
and perfectly functional, but will create more work for the IKE daemon.
5.2. Peer Authentication Database (PAD)
This database will also be updated with a temporary entry when a SHORTCUT
exchange is received. The entry includes the name, IP address and a
specification of either PSK or certificate authentication. This entry MUST
also expire when the SHORTCUT expires.
It is conceivable that peers will appear in both static and dynamic
entries. It is also possible that the same peer will be mentioned in
multiple SHORTCUT exchanges, each with a different expiration time. An
implementation of this specification MUST track all such entries. Two
entries will be considered to represent the same entity if either they
share both ID and certificate, or if they share ID and IP address.
If all entries matching a particular entity expire, then the
implementation MUST delete all IKE and child SAs associated with that
entity.
Sathyanarayan Expires December 21, 2014 [Page 26]
Internet-Draft Auto Discovery VPNs October 2013
6. Security Considerations
No lifetime is specified for the Pre-Shared Key (PSK) so the shortcut
suggester SHOULD generate the PSK value with plenty of entropy. See
[RANDOMNESS] for advice on generating random numbers for cryptographic
purposes. The shortcut partners may rekey as needed and may even use the
PSK value for reauthentication, although it is not clear that there is
much value in doing so. If one of the shortcut partners decides that the
PSK is too old (recognizing that it is only used for authentication), it
may simply tear down the shortcut SA. Eventually, the shortcut suggester
will set up the shortcut again, if it is needed.
To head off this situation, the shortcut suggester may periodically
initiate a new SHORTCUT exchange to each of the two shortcut partners. If
a shortcut partner receives a SHORTCUT exchange suggesting a shortcut that
already exists with new parameters, the shortcut partner SHOULD establish
a new shortcut SA with the peer partner using the new parameters and then
tear down the old shortcut SA.
7. IANA Considerations
IANA is requested to allocate a new payload type from the "IKEv2 Payload
Types" registry with the name "Identification - Peer Address", i.e. "IDa",
and this document as the corresponding reference document.
IANA is requested to allocate a new Configuration Payload Attribute Type
with name "PROTECTED_DOMAIN", not multivalued, with a length of "0 or more
octets".
IANA is requested to allocate a new payload type from the "IKEv2 Payload
Types" registry with the name "ADVPN Information", i.e. "ADVPN_INFO", and
this document as the corresponding reference document.
IANA is requested to allocate a new exchange type from the "IKEv2 Exchange
Types" registry with name "SHORTCUT" and this document as reference.
IANA is requested to assign two code points from the "IKEv2 Notify Message
Types - Status Types" registry, as follows. The reference document for all
three shall be this document:
. SHORTCUT_SUPPORTED
Sathyanarayan Expires December 21, 2014 [Page 27]
Internet-Draft Auto Discovery VPNs October 2013
. SHORTCUT_STATUS
IANA is requested to set up a new registry called "IKEv2 ADVPN
Capabilities". The value is 8-bit, and the range is partitioned as
follows:
. 0x00 reserved for padding
. 0x01-0x08 used for version indication and negotiation
. 0x09-0x07F used for supported features
. 0x80-0xDF reserved
. 0xE0-0xFF reserved for private use
The policy for allocations from the version range shall be "Standards
Action". The policy for allocation from the features range shall be
"Expert Review". The initial allocation for this registry is as defined in
the table in Section 3.5. with the additional column of reference
specification, which shall be set to this document.
IANA is requested to set up a new registry called "IKEv2 AD-VPN Response
Codes". The value is 16-bit, and the range is partitioned as follows:
. 0x0000-0xBFFF Used for RCODEs
. 0xC000-0xFFFF Reserved for private use
The policy for allocations from this registry shall be FCFS. The initial
allocation is given in the table in Section 3.8.1.
8. References
8.1. Normative References
[IKEV2] Kaufman, C., Hoffman, P., Nir, Y., and P. Eronen, "Internet
Key Exchange Protocol Version 2 (IKEv2)", RFC 5996, September
2010.
[IPSECARCH] Kent, S. and K. Seo, "Security Architecture for the Internet
Protocol", RFC 4301, December 2005.
[MUSTSHOULD] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC1034] Mockapetris, P., "Domain Names - Concepts and Facilities", RFC
1034, November 1987.
Sathyanarayan Expires December 21, 2014 [Page 28]
Internet-Draft Auto Discovery VPNs October 2013
[RFC5890] Klensin, J., "Internationalized Domain Names for Applications
(IDNA): Definitions and Document Framework", RFC 5890, August
2010.
[HTTPCache] Fielding, R., Nottingham, M., and Reschke, J., "Hypertext
Transfer Protocol (HTTP/1.1): Caching", draft-ietf-httpbis-p6-
cache-23 (work in progress), July 2013.
8.2. Informative References
[ADVPNreq] Manral, V., "Auto Discovery VPN Problem Statement and
Requirements",RFC 7018.
[RANDOMNESS] Eastlake, 3rd, D., Schiller, J., and S. Crocker, "Randomness
Requirements for Security", BCP 106, RFC 4086, June 2005.
[RFC3492] Costello, A., "Punycode: A Bootstring encoding of Unicode for
Internationalized Domain Names in Applications (IDNA)", RFC
3492, March 2003.
[MEDIATION] Brunner, T., "IKEv2 Mediation Extension draft-burner-ikev2-
mediation-00"
[RFC5737] Arkko, J., Cotton, M., and Vegoda, L., "IPv4 Address Blocks
Reserved for Documentation", RFC 5737, January 2010.
[RFC3849] Huston, G., Lord, A., and Smith, P., "IPv6 Address Prefix
Reserved for Documentation", RFC 3849, July, 2004.
9. Acknowledgments
This document was prepared using 2-Word-v2.0.template.dot.
The authors of this draft would like to acknowledge the following people
who have contributed to or provided substantial input on the preparation
of this document or predecessors to it: Scott McKinnon, Vishwas Manral,
Valery Smyslov, Michael Richardson and Yaron Sheffer.
Sathyanarayan Expires December 21, 2014 [Page 29]
Internet-Draft Auto Discovery VPNs October 2013
Appendix A. ADVPN Example Use Cases
This appendix presents a few example situations where the ADVPN protocol
may be useful and illustrates how it works.
A.1. Branch Office Videoconference
In this example, users have initiated a videoconference between two branch
offices of SmithCo located in Ashby and Bedford. Each branch office has an
IPsec gateway that is configured to send all traffic to the IPsec gateway
at the main SmithCo office in Paris. Figure 6 illustrates this initial
situation, showing these three IPsec gateways and the IPsec SAs in place
when the videoconference starts.
+----------+
| Paris GW |
+----------+
/ \
/ \
/ \
/ \
/ \
/ \
/ \
+----------+ +------------+
| Ashby GW | | Bedford GW |
+----------+ +------------+
Figure 6: Initial SmithCo IPsec SAs
All of these gateways support SHORTCUT exchanges and have been configured
to use them within SmithCo. Therefore, they all sent the ADVPN_SUPPORTED
notification payload described in Section 3.4 to each other in their
initial IKE exchanges. This means that they are all aware that SHORTCUT
exchange may be used on the IPsec SAs illustrated in Figure 6.
Once the videoconference begins, the Paris GW notices a large amount of
videoconference traffic between the Ashby GW and the Bedford GW. The Paris
GW has been configured to permit videoconference traffic to trigger a
shortcut between two branch gateways so it initiates a SHORTCUT exchange
to the Ashby and Bedford GWs, suggesting that they establish a shortcut.
In this instance, it identifies the Ashby GW as the shortcut initiator by
Sathyanarayan Expires December 21, 2014 [Page 30]
Internet-Draft Auto Discovery VPNs October 2013
setting the I bit in the exchange sent to that gateway and leaving that
bit cleared in the exchange sent to Bedford GW.
Because all gateways in SmithCo have certificates from the same CA and
have been configured to trust that CA to issue certificates, there is no
need to use a PSK. The Paris GW simply sets the IDi Identification Payload
field of the SHORTCUT exchange to the subject DN of the Ashby GW and the
IDr Identification Payload field of the SHORTCUT exchange to the subject
DN of the Bedford GW.
The Paris GW sets the TSi Traffic Selector Payload and TSr Traffic
Selector Payload fields in the SHORTCUT exchange to indicate that the
Ashby GW should only use this shortcut for videoconferencing traffic
destined for the network behind the Bedford GW and vice versa.
After receiving the SHORTCUT exchange, the Ashby GW establishes an IKEv2
exchange with the Bedford GW and then establishes an IPsec security
association between the two. Figure 7 shows the SAs in use after the
shortcut has been established.
+----------+
| Paris GW |
+----------+
/ \
/ \
/ \
/ \
/ \
/ \
/ \
+----------+ +------------+
| Ashby GW |----------------| Bedford GW |
+----------+ +------------+
Figure 7: SmithCo IPsec SAs with the shortcut established
After the timeout period specified by the Paris GW, the shortcut between
Ashby GW and Bedford GW will be terminated. If the videoconference is
finished before that time, the shortcut may also be terminated due to
inadequate traffic, at the discretion of the Ashby GW and Bedford GW.
Sathyanarayan Expires December 21, 2014 [Page 31]
Internet-Draft Auto Discovery VPNs October 2013
A.2. Optimization for Videoconference with Partner
In this example, SmithCo has added a partner JonesCo and established an
IPsec SA between Paris GW (the main SmithCo office) and Tokyo GW (the main
JonesCo office).
Users have initiated a videoconference between the Ashby branch office of
SmithCo and the Concord branch office of JonesCo. Each branch office has
an IPsec gateway that is configured to send all traffic to the IPsec
gateway at the main office for that company. Figure 8 illustrates this
initial situation, showing these four IPsec gateways and the IPsec SAs in
place when the videoconference starts.
+----------+ +----------+
| Paris GW |-------| Tokyo GW |
+----------+ +----------+
/ \
/ \
/ \
/ \
/ \
/ \
/ \
+----------+ +------------+
| Ashby GW | | Concord GW |
+----------+ +------------+
Figure 8: Initial IPsec SAs within SmithCo and JonesCo
All gateways in this example support SHORTCUT exchange. Therefore, they
all sent the ADVPN_SUPPORTED notification payload described in Section 3.4
to each other in their initial IKE exchanges. This means that they are all
aware that SHORTCUT exchange may be used on the IPsec SAs illustrated in
Figure 8. Further, these gateways have been configured to use SHORTCUT
exchange to optimize routing for video traffic within their organizations
and among SmithCo and JonesCo gateways.
Once the videoconference begins, the Paris GW notices a large amount of
videoconference traffic transiting the Paris GW between the Ashby GW and
the Tokyo GW. Therefore, the Paris GW initiates a SHORTCUT exchange to
the Ashby GW and the Tokyo GW, suggesting that they establish a shortcut.
We will not cover all the details of this process because most are similar
to the previous example. However, assume that the Ashby GW and the Tokyo
GW have certificates from different CAs and may not be configured to trust
each other's CA. Therefore, the Paris GW generates a PSK and sends it to
Sathyanarayan Expires December 21, 2014 [Page 32]
Internet-Draft Auto Discovery VPNs October 2013
both the Ashby GW and the Tokyo GW. The Ashby GW and the Tokyo GW use this
PSK to establish a shortcut SA, as shown in Figure 9. Because of the
Traffic Selectors sent by the Paris GW in the SHORTCUT exchange, this
shortcut SA may only be used for video traffic between the Ashby GW and
JonesCo.
+----------+ +----------+
| Paris GW |-------| Tokyo GW |
+----------+ +----------+
/ --/ \
/ --/ \
/ --/ \
/ --/ \
/ --/ \
/ --/ \
/ / \
+----------+ +------------+
| Ashby GW | | Concord GW |
+----------+ +------------+
Figure 9: SmithCo and JonesCo with First Shortcut
After this first shortcut SA has been established, Tokyo GW notices large
volumes of video traffic between Ashby GW and Concord GW. Therefore, Tokyo
GW initiates a SHORTCUT exchange to the Ashby GW and the Concord GW,
suggesting that they establish a shortcut. We do not cover all details of
this process because they are mostly similar to the previous example.
Again, the Ashby GW and the Concord GW probably have certificates from
different CAs so the Tokyo GW generates a PSK and sends it to both the
Ashby GW and the Concord GW. The Ashby GW and the Concord GW use this PSK
to establish a shortcut SA, as shown in Figure 10. Because of the Traffic
Selectors sent by the Tokyo GW in the SHORTCUT exchange, this shortcut SA
may only be used for video traffic between the Ashby GW and the Concord
GW.
Sathyanarayan Expires December 21, 2014 [Page 33]
Internet-Draft Auto Discovery VPNs October 2013
+----------+ +----------+
| Paris GW |-------| Tokyo GW |
+----------+ +----------+
/ --/ \
/ --/ \
/ --/ \
/ --/ \
/ --/ \
/ --/ \
/ / \
+----------+ +------------+
| Ashby GW |-------------------------------| Concord GW |
+----------+ +------------+
Figure 10: SmithCo and JonesCo with Second Shortcut
After some period, the Ashby GW or the Tokyo GW may realize that no
traffic is flowing over the SA between them and therefore decide to
terminate this SA. This will result in the SA configuration shown in
Figure 11.
Note that this optimal SA configuration has been reached without needing
to have any special configuration or global knowledge and it involves
multiple domains. The only requirement is a policy on the Paris GW and the
Tokyo GW indicating that video traffic between SmithCo and JonesCo should
be optimized by creating shortcut SAs.
Sathyanarayan Expires December 21, 2014 [Page 34]
Internet-Draft Auto Discovery VPNs October 2013
+----------+ +----------+
| Paris GW |-------| Tokyo GW |
+----------+ +----------+
/ \
/ \
/ \
/ \
/ \
/ \
/ \
+----------+ +------------+
| Ashby GW |-------------------------------| Concord GW |
+----------+ +------------+
Figure 11: SmithCo and JonesCo in Final Configuration
The shortcut between the Ashby GW and the Concord GW will remain up until
its timeout is reached or traffic levels on this SA drop off because the
videoconference has finished.
A.3. Heterogeneous Wireless Networks Traffic
As wireless networks increase their access capacities, denser deployments
will become the norm. In addition, we observe an increasing number of
cases where operators, for various reasons that are outside of the scope
of this document, opt for network deployments that use a variety of
coverage sites. In practice, this means that, for instance, macro cells
are complemented by smaller cells (pico cells, femto cells, etc.) that
boost capacity and improve end-user experience. Today's cellular networks
can provide access rates in the order of tens of Mb/s with high quality of
service guarantees, and can thus be used as connections where small and
medium enterprises can base their VPNs. Within this context, the operator
may use different gateways for securing subscriber VPN traffic.
Consider, for example, the case illustrated in Figure 12 where two
colleagues from different departments of the same company use multimedia
conferencing to collaborate with some customers. Dotted lines in the
Figure indicate IP connectivity, while dashed lines indicate an
established SA. All gateways and endpoints in the Figure support the
protocol described in this document, i.e., they have indicated so to each
other as described in Section 3.4. One of them, Peer 1 has joined the
teleconference while on the go, but will be arriving at the company office
prior to the conclusion of the teleconference. As Peer 1 roams in the
Sathyanarayan Expires December 21, 2014 [Page 35]
Internet-Draft Auto Discovery VPNs October 2013
mobile network, changing cell sites as it travels towards the office, the
multimedia traffic flows through the Macro GW.
+----------+ +---------+
| Macro GW |-------| Pico GW |
+----------+ +---------+
. . \ \
. . \ \
. . \ \
. . \ \
. +--------+ \ \
. | Cell 2 | \ \
. +--------+ \ \
+--------+ +--------+ +-----------+
| Cell 1 | | Cell 3 | | Office GW |
+--------+ +--------+ +-----------+
\ \
\ \
+--------+ +--------+
Peer 1 movement >>> | Peer 1 | | Peer 2 |
+--------+ +--------+
Figure 12: Initial IPsec SAs within the HetNet
Note that both the Macro GW and the Pico GW are in the realm of the mobile
operator, while the Office GW is in the realm of the company.
The company and the mobile operator have an already established trust
relationship. Moreover, for end-user experience reasons as well as traffic
flow optimization both the company network administrators and the mobile
operator have policies that favor traffic routes that are contained in the
local company network.
Once Peer 1 enters the area of the company campus the wireless network
small-cell deployment covering the company buildings is the preferred
means of connecting to the network, both from the perspective of the
company and the mobile operator. At this stage in our scenario, the fact
that Peer 1 is in the coverage area of the Pico GW is recognized by the
Macro GW, which initiates (as a shortcut suggester) the procedure
described in Section 3. As a result, the first step in the route
optimization is performed and Peer 1 sets up the shortcut with the Pico
GW, which becomes its shortcut partner.
Sathyanarayan Expires December 21, 2014 [Page 36]
Internet-Draft Auto Discovery VPNs October 2013
Figure 13 illustrates the newly established shortcut as well as the fact
that Peer 1 continues to use the same radio interface as before, i.e. this
scenario does not involve vertical handovers.
+----------+ +---------+
| Macro GW |-------| Pico GW |
+----------+ +---------+
. . . | \
. . . | \
. . . | \
. . . | \
. +--------+ . | \
. | Cell 2 | . | \
. +--------+ . | \
+--------+ +--------+ | +-----------+
| Cell 1 | | Cell 3 | | | Office GW |
+--------+ +--------+ | +-----------+
| . \
| . \
+--------+ +--------+
| Peer 1 | | Peer 2 |
+--------+ +--------+
Figure 13: First route optimization within the HetNet
Once Peer 1 moves within the company premises and establishes the shortcut
with the operator Pico GW more route optimization opportunities arise, and
the ADVPN protocol can implement them without requiring any additional
manual configuration neither by the operator nor by the company
administrator.
At this stage, we assume that the Pico GW can determine the fact that Peer
1 could become a shortcut partner of the Office GW. Similarly to what was
mentioned above, the Pico GW initiates the shortcut (i.e. acts as a
shortcut suggester) indicating to Peer 1 and the Office GW that they
should establish an SA with each other. The partners agree to these
recommendations, as per their respective local policies, and proceed with
the establishment. At the end of this process, the configuration is as
illustrated in Figure 14.
Sathyanarayan Expires December 21, 2014 [Page 37]
Internet-Draft Auto Discovery VPNs October 2013
+----------+ +---------+
| Macro GW |-------| Pico GW |
+----------+ +---------+
. . . \
. . . \
. . . \
. . . \
. +--------+ . \
. | Cell 2 | . \
. +--------+ . \
+--------+ +--------+ +-----------+
| Cell 1 | | Cell 3 | | Office GW |
+--------+ +--------+ +-----------+
/ \
/ \
+--------+ +--------+
| Peer 1 | | Peer 2 |
+--------+ +--------+
Figure 14: Second route optimization within the HetNet
After this optimization all IPsec traffic is contained within the local
small-cell wireless network. Note that the company network may include
several pico cells, all of which can establish SAs with the Office GW.
In principle, the protocol can be used to proceed with a further traffic
optimization. Namely, Peer 1 and Peer 2 can establish a direct shortcut
between each other, i.e. become shortcut partners and thus avoid routing
through the Office GW. This is a decision that the Office GW may take
based on local connectivity information. In this case, after following the
same procedure described earlier, the two Peers will establish an SA, as
illustrated in Figure 15.
As Figure 15 shows, traffic may still flow through the Office routers but
Peer 1 and Peer 2 do not need to maintain an SA with the Office GW (if
there is no other traffic).
Finally, note that, in principle, the Office GW could determine that since
no traffic is flowing through its SA with the Pico GW, the respective SA
could be temporarily terminated and initiated later on when the need
arises. This final configuration is illustrated in Figure 16.
Sathyanarayan Expires December 21, 2014 [Page 38]
Internet-Draft Auto Discovery VPNs October 2013
+----------+ +---------+
| Macro GW |-------| Pico GW |
+----------+ +---------+
. . . \
. . . \
. . . \
. . . \
. +--------+ . \
. | Cell 2 | . \
. +--------+ . \
+--------+ +--------+ +-----------+
| Cell 1 | | Cell 3 | | Office GW |
+--------+ +--------+ +-----------+
. .
. .
+--------+ +--------+
| Peer 1 |------| Peer 2 |
+--------+ +--------+
Figure 15: Third route optimization within the HetNet
+----------+ +---------+
| Macro GW |-------| Pico GW |
+----------+ +---------+
. . . .
. . . .
. . . .
. . . .
. +--------+ . .
. | Cell 2 | . .
. +--------+ . .
+--------+ +--------+ +-----------+
| Cell 1 | | Cell 3 | | Office GW |
+--------+ +--------+ +-----------+
. .
. .
+--------+ +--------+
| Peer 1 |------| Peer 2 |
+--------+ +--------+
Figure 16: Final configuration
Sathyanarayan Expires December 21, 2014 [Page 39]
Internet-Draft Auto Discovery VPNs October 2013
Sathyanarayan Expires December 21, 2014 [Page 40]
Internet-Draft Auto Discovery VPNs October 2013
Appendix B. Comparison Against ADVPN Requirements
This section compares the ADVPN protocol specified in this document
against requirements set by [ADVPNreq] (Section 4).
Requirement #1 :
This section details modifications when an endpoint, a gateway, a spoke
and a hub is added or removed or changed.
End points establish a tunnel with a gateway to communicate with another
endpoint. The gateway may use the ADVPN protocol to optimize
communication and either set up endpoint-to-endpoint communication if
both endpoints are attached to the "initial gateway", or to point to a
"closer alternative gateway". The ADVPN protocol described in this
document, impacts either the two endpoints or the endpoint and the
"closer alternative gateway". Hubs or gateways other than the "initial
gateway" or the "closer alternative gateway" IPsec configuration are not
impacted.
An ADVPN is changed means that its IP address is modified. Updating the
outer IP address is the purpose of MOBIKE and involves the two peers
connected with their outer IP addresses.
Similarly, removing an endpoint only impacts the IPsec configuration of
the gateways or the other endpoint it is communicating with. It is up to
local policy that the "initial gateway" decides to keep the IPsec
configuration of the endpoint or to remove it once the endpoint has
moved to the "alternative gateway that is closer". In the case the
"initial gateway" does not remove the SAs associated to the endpoint,
the endpoint is considered attached simultaneously to two gateways.
The use of ADVPN with an endpoint that is added, removed or changed
results in local IPsec configuration modifications. Only gateways that
the endpoint is attached to are modified. Other gateways, spokes and hub
are not impacted.
Gateways may accept traffic from another gateway. The traffic may be the
one associated to an endpoint or to a gateway. In the first case, the
gateway is considered as the "closer alternative gateway" as discussed
above. The second case occurs if the "initial gateway" tunnels traffic
from an "alternative gateway" to a "closer alternative gateway". It may
then use ADVPN so traffic directly goes from the "alternative gateway"
to the "closer alternative gateway". The IPsec configuration is then
Sathyanarayan Expires December 21, 2014 [Page 41]
Internet-Draft Auto Discovery VPNs October 2013
updated on both the "alternative gateways" and the "closer alternative
gateway".
Similarly, when the "closer alternative gateway" is removed, only
gateways and endpoints attached to these gateways are impacted.
The use of ADVPN with a gateway that is added or removed results in
local IPsec configuration modifications. Only gateways attached to are
modified. Others gateways, spokes and hub are not impacted.
Spokes are between endpoints and gateways. Unlike end points, they have
a complete network, and they are attached to a hub. If a spoke-to-spoke
communication is set with ADVPN, then IPsec policies of the two spokes
are updated. The hub may not modify its IPsec policies. Similarly, when
a spoke is removed, the IPsec policies of the other spokes are updated.
The use of ADVPN with a spoke that is added or removed results in local
IPsec configuration modifications. Only spokes attached to the one being
removed are modified. Other gateways, spokes and hubs are not impacted.
Anytime a shortcut is established, new security policies are created on
the shortcut initiator and the shortcut responders. ADVPN avoids these
security policies to be created manually. In addition, it uses PSK
authentication, which is, reduces latency and round trip times over
other authentication methods like EAP-SIM.
Additionally, PROTECTED_DOMAIN capability can provide the initial
protected domain subnet information to all its endpoints, from a trusted
suggester. The trusted suggester provides periodic update on protected
domain subnet information its endpoints. This periodic update, avoids
requirement of any manual configuration change required, whenever new
endpoint is added or existing endpoint is removed/updated, within given
ADVPN protected domain.
Requirement #2 :
The solution specified in this document does not require any manual
intervention for establishing a direct tunnel between endpoints. As
described in Requirement #1 above and in Section 4. , SPD and SAD
entries get automatically updated without any manual intervention. If an
IP address of a shortcut partner has changed, MOBIKE can help in
updating SPD entries automatically. If an IP address change happens
after a reboot of a shortcut partner, then the peer shortcut partner
will detect this condition using IKEv2 keep-alive and can divert the
traffic back to the "initial-gateway". Once rebooted, the shortcut
Sathyanarayan Expires December 21, 2014 [Page 42]
Internet-Draft Auto Discovery VPNs October 2013
partner will establish IPsec tunnel with the "initial-gateway". At this
stage, the "initial-gateway" will send SHORTCUT exchange to the shortcut
partners, to establish shortcut tunnel with new IP address of shortcut
partners.
Requirement #3 :
This draft enables shortcut partners to establish a secure channel
between them automatically. This will allow other tunneling and routing
protocols to establish direct tunnels or exchange route updates.
However, how a routing protocol module is aware of this new shortcut
tunnel (or how it exchanges route updates), with shortcut partners,
using shortcut tunnel or how other tunneling protocols establish direct
tunnel between shortcut partners, is specific to the vendor
implementation. Thus it is out of scope of this specification.
Requirement #4 :
While this document describes the syntax of SHORTCUT messages, it makes
no mandates about the policy for initiating shortcuts, nor about the
policy for accepting or rejecting shortcuts. Some endpoints may agree to
accept shortcuts from any peer, as long as the traffic selectors are a
subset of those that the SPD says should go to that peer. Others may
filter the shortcuts based on IKE ID, so that they do not open tunnels
to endpoints outside their administrative domain. Future documents may
profile such behavior.
Requirement #5 :
When a spoke becomes compromised it may compromise inbound/outbound
communications associated with it. A compromised spoke may want to use
ADVPN in order to corrupt additional traffic that go through other
gateways and spokes. The ADVPN protocol provides facilities to create
shortcuts, however the shortcuts for given traffic is always triggered
by an endpoint dealing with that traffic. As a result, a compromised
host does not affect the security of other unrelated peers.
Requirement #6 :
Sathyanarayan Expires December 21, 2014 [Page 43]
Internet-Draft Auto Discovery VPNs October 2013
This document addresses seamless session handoffs when endpoints roam
around different policy boundaries. A detailed explanation about this is
given in Section A.3.
Requirement #7 :
When a shortcut between different gateways is created for a given
endpoint-to-endpoint session, the endpoint-to-endpoint communication is
not impacted by the shortcut. In other words, this is transparent to the
endpoints. More precisely, a new shortcut partner is created on the two
alternate gateways, spokes or hubs. This modifies the communication
path, but not the session itself.
Requirement #8 :
This document does not explicitly detail all NAT scenarios, in this
version at least, but does provide two mechanisms that address this.
When the suggester proposes a shortcut to the shortcut peers, the
suggester has performed IKE AUTH and can detect the shortcut peers are
behind a NAT. This can be done with multiple ways including the
NAT_DETECTION_SOURCE_IP / NAT_DETECTION_DESTINATION_IP Notify Payload
exchange, the UDP encapsulation and use of port 4500. In most cases,
when the shortcut peer is behind a NAT, inbound IKEv2 and IPsec traffic
are sent through a specific port.
The ADVPN protocol described in this document enables the suggester to
specify each shortcut peer whether the other peer is behind a NAT or not
by setting the NAT bit in the ADVPN_INFO Notification. When this bit is
set, it indicates UDP encapsulation MUST be used fro IKEv2. In addition,
the ADVPN_INFO Notification also specifies the UDP Port on which the
shortcut peer is reachable.
Another advantage of the ADVPN protocol is that the SHORTCUT exchange
are sent to the shortcut peer by the suggester, and the suggester can
determine whether a shortcut can be established or not. If the shortcut
cannot be established, for example if the shortcut peers are both behind
a NAT, then the suggester MAY forgo the establishment of the shortcut
and thus avoid communication disruption due to NATs.
Sathyanarayan Expires December 21, 2014 [Page 44]
Internet-Draft Auto Discovery VPNs October 2013
To address scenario where both the shortcut partners are behind NAT
device, SHORTCUT exchange includes each other's peer UDP port number,
that the shortcut suggester is receiving IKE and IPSec traffic. This
information should help the shortcut partner to reach each other in
certain types of NAT deployments.
Similarly the ADVPN protocol has designed optional exchanges that MAY in
the future be designed to address specific NAT issues. For example,
[MEDIATION] MAY be added for double NAT and hole punching.
Note that ADVPN is essentially based on the use of tunnel mode which
makes TS selectors independent from the IP addresses of the outer
header. Thus, the use of the tunnel mode makes ADVPN more resilient to
NAT compared to transport mode.
Requirement #9 :
This document does not create a MIB. However, it does define several
events that can be reportable:
* The gateway suggests a shortcut
* The peer accepts or rejects a shortcut (the former involves a change
in policy)
* A shortcut times out (again involves a change in policy)
Requirement #10 :
The document is independent of administrative domains. One of the
properties that may be associated with administrative domains is a set
of one or more trust anchors used to issue certificates for VPN gateways
and endpoints. To avoid the need for cross-trusting these anchors, this
document offers the option of using dynamically-generated PSKs.
Requirement #11 :
Sathyanarayan Expires December 21, 2014 [Page 45]
Internet-Draft Auto Discovery VPNs October 2013
While this document describes the syntax of SHORTCUT messages, it makes
no mandates about the policy for initiating shortcuts, or the policy for
accepting and rejecting shortcuts. Some endpoints may agree to accept
shortcuts from any peer, as long as the Traffic Selectors are a subset
of those that the SPD says should go to that peer. Others may filter the
shortcuts based on IKE ID, so that they do not open tunnels to endpoints
outside their administrative domain. Future documents may profile such
behavior.
Requirement #12 :
The Traffic Selectors in the SHORTCUT message can be used to specify
both multicast routing protocols, such as IGMP, and multicast traffic
through the use of multicast addresses in selectors. With this, the
SHORTCUT tunnels can be used to pass multicast and multicast routing
traffic.
Requirement #13 :
This document defines several events that can be logged and monitored:
* The gateway suggests a shortcut
* The peer accepts or rejects a shortcut (the former involves a change
in policy)
* A shortcut times out (again involving a change in policy)
A status report listing active shortcuts for a particular gateway is
also possible and recommended for implementations.
Requirement #14 :
L3VPNs all use some kind of transport-layer protocol. GRE uses protocol
number 43, IP-in-IP uses 4, and so on. Selectors for these protocols can
easily be specified using the TS payloads included in SHORTCUTs. The
additional information that may be needed to set up a tunnel for each of
these protocols is outside the scope of this document.
Sathyanarayan Expires December 21, 2014 [Page 46]
Internet-Draft Auto Discovery VPNs October 2013
Requirement #15 :
QoS policy is outside the scope of this document. However, the mandate
of RFC 5996 to allow multiple parallel SAs for different classes of QoS
applies to peers that a VPN box learns about through SHORTCUT messages.
This means that QoS policy can still be enforced. If there are any
additional requirements to be addressed with respect to QoS, the
SHORTCUT message structure can be extended to support identified QoS
attributes that should be exchanged.
Requirements #16
ADVPN does not make spokes, hubs or gateway single points of failure. By
design, ADVPN provides two types of resiliency: Topological resiliency
by creating shortcuts. These shortcuts provide alternate path, and make
communications resilient in case a hub or spoke fails. In addition, the
use of tunnel mode between gateways makes possible the use of MOBIKE
that provides end point resiliency.
Sathyanarayan Expires December 21, 2014 [Page 47]
Internet-Draft Auto Discovery VPNs October 2013
Appendix C. PROTECTED_DOMAIN Example
This appendix contains an example of how the PROTECTED_DOMAIN response is
created. As this example requires multiple subnets, we will use the non-
routable addresses from RFC 1918 in addition to the documentation subnets
from RFC 5737.
Assume that Company A has two major locations. First, at the company
headquarters there are three non-routable subnets: 192.168.12.0/24,
192.168.23.0/24, and 192.168.34.0/24. At this location, the VPN gateway
has four interfaces: one towards each of the three internal subnets, and
one external interface that connects to the Internet with IP address
203.0.113.5, as illustrated below.
203.0.113.5
|
|
+---------+---------+
| Gateway HeadA |
+----+----+----+----+
| | |
192.168.12.1 | 192.168.34.1
|
192.168.23.1
Traffic to the Internet and to partner sites gets NAT-ted, but non-
routable addresses are allowed within the internal VPN.
Company A has also a datacenter, at a location different from the
headquarters, which is implemented as a non-routable subnet:
192.168.45.0/24. In addition, there is also a routable subnet with some
front-end servers: 198.51.100.0/24, known as the DMZ. The gateway has an
external IP address 203.0.113.10. We would like access to the DMZ to go
through the VPN for communications from within the company, but it can go
either through the VPN or outside the VPN for traffic from partners.
203.0.113.10
|
| +--198.51.100.7 - web server
+---------+---------+ |
| Gateway DataA +--------------+
+---------+---------+ 198.51.100.1 |
Sathyanarayan Expires December 21, 2014 [Page 48]
Internet-Draft Auto Discovery VPNs October 2013
| +--192.51.100.5 - SMTP server
192.168.45.1
In addition to the two main locations introduced above, Company A also has
many smaller locations. Each of those has one /24 non-routable subnet. The
initial configuration of each of those small gateways is such that the
internal subnet is different from that in all the other small gateways.
203.0.113.214
|
|
+---------+---------+
| Gateway BranchA17 |
+---------+---------+
|
10.85.153.1/24
Company A also has a supplier, Company B, that has their own gateway with
some routable and some non-routable addresses. They have a VPN tunnel
configured with Gateway DataA. Although there is some overlap in the
protected domains, the only non-routable addresses that go through this
VPN are the 192.168.23.0/24 subnet that is behind HeadA, and the
192.168.99.0/24 that is behind HeadB. Others are either blocked, or NAT-
ted behind the address of HeadB
203.0.113.122
|
|
+---------+---------+
| Gateway HeadB |
+----+---------+----+
| |
192.168.12.4 192.168.99.4
Only the branch office gateways and Gateway HeadA need the
PROTECTED_DOMAIN (see Section 3.9. ) configuration attribute. Gateway
HeadB has a static policy, and Gateway DataA will not send to it a
PROTECTED_DOMAIN according to the established policy. The field contains
the union of all the sets of addresses for which the DataA server is
willing to forward traffic.
For the BranchA17 gateway, the initial configuration is very simple:
Sathyanarayan Expires December 21, 2014 [Page 49]
Internet-Draft Auto Discovery VPNs October 2013
. One peer is defined: Gateway DataA (203.0.113.10)
. Either a CA certificate and a DN for DataA, or a PSK
. An internal network: 10.85.153.0/24
. Gateway DataA is a trusted suggester
In total, there are nine other branch office gateways other than
BranchA17, and of course there is Gateway HeadA and Gateway HeadB. Only
Gateway DataA knows about all of them. So the PROTECTED_DOMAIN it sends to
other gateways from the same administrative domain is as follows:
. 192.168.12.0/24 (from behind HeadA)
. 192.168.23.0/24 (from behind HeadA)
. 192.168.34.0/24 (from behind HeadA)
. 192.168.45.0/24 (from behind DataA itself)
. 198.51.100.0/24 (DMZ behind DataA itself)
. 192.168.99.0/24 (from behind HeadB)
. 10.85.101.0/24 (from behind BranchA01)
. 10.85.104.0/24 (from behind BranchA02)
. 10.85.125.0/24 (from behind BranchA03)
. 10.85.131.0/24 (from behind BranchA04)
. 10.85.139.0/24 (from behind BranchA11)
. 10.85.143.0/24 (from behind BranchA12)
. 10.85.150.0/24 (from behind BranchA16)
. 10.85.153.0/24 (from behind BranchA17)
. 10.85.159.0/24 (from behind BranchA18)
. 10.85.162.0/24 (from behind BranchA19)
Every time a new branch gateway is added, its protected domain is added to
the SPD of DataA, and this also updates the contents of the
PROTECTED_DOMAIN that it sends. As described in Section 4.2. , the content
expires in BranchA17 after a while, so the cache expiry time is also the
time it takes for such a change to propagate to the other branch offices.
When BranchA17 receives this PROTECTED_DOMAIN, it removes its own
protected domain and anything else for which it has a static
configuration, and adds the rest into the SPD as traffic that is protected
and tunneled to the trusted suggester (Gateway DataA).
A more complex scenario would send a different PROTECTED_DOMAIN also to
the partner gateway HeadB. For example, it could send the following
PROTECTED_DOMAIN:
. 192.168.23.0/24 (This is a network behind Gateway HeadA)
. 192.168.45.1/32 (This is a single address at Gateway DataA)
Sathyanarayan Expires December 21, 2014 [Page 50]
Internet-Draft Auto Discovery VPNs October 2013
The reason for having this configuration is that the IP addresses behind
branch office gateways are not guaranteed to be unique outside of the
administrative domain. So Gateway DataA NATs these addresses behind its
own IP address, which then has to be part of the protected domain. Note
that under this specification, such traffic cannot be "shortcutted",
because we don't have a way to tell the BranchA17 gateway to NAT these
packets when sending them through the shortcut tunnel (TBD)
Authors' Addresses
Praveen Sathyanarayan
Juniper Networks, Inc.
1194 N. Mathilda Ave.
Sunnyvale, CA 94089
USA
Email: praveenys@juniper.net
Steve Hanna
Juniper Networks, Inc.
1194 N. Mathilda Ave.
Sunnyvale, CA 94089
USA
Email: shanna@juniper.net
Suresh Nagavenkata Melam
Juniper Networks, Inc.
1194 N. Mathilda Ave.
Sunnyvale, CA 94089
USA
Email: nmelam@juniper.net
Yoav Nir
Check Point Software Technologies Ltd.
5 Hasolelim st.
Sathyanarayan Expires December 21, 2014 [Page 51]
Internet-Draft Auto Discovery VPNs October 2013
Tel Aviv 6789735
Israel
Email: ynir@checkpoint.com
Daniel Migault
Francetelecom - Orange
38 rue du General Leclerc
92794 Issy-les-Moulineaux Cedex 9
France
Email: mglt.ietf@gmail.com
Kostas Pentikousis
EICT GmbH
Torgauer Strasse 12-15
10829 Berlin
Germany
Email: k.pentikousis@eict.de
Sathyanarayan Expires December 21, 2014 [Page 52]