Internet DRAFT - draft-lopez-lisp-oe
draft-lopez-lisp-oe
INTERNET ENGINEERING TASK FORCE Edward Lopez
INTERNET-DRAFT Fortinet
Intended Status: Experimental
Expires: September 5, 2014 March 4, 2014
Opportunistic Encryption for the Locator/ID Separation Protocol (LISP)
draft-lopez-lisp-oe-00
Abstract
The Locator/ID Separation Protocol (LISP), allows the creation of
VPNs between routing locators (RLOCs). As LISP encapsulated packets
are generally expected to traverse publically routed spaces, it is
desirable to encrypt the payloads of these packets, to protect them
from pervasive surveillance attacks. This document describes a
methodology to encrypt LISP encapsulated packets, as they traverse
between RLOCs.
For a full description of LISP, please consult [RFC6830].
Status of this Memo
This Internet-Draft is submitted to IETF 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/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
Copyright and License Notice
Lopez Expires September 5, 2014 [Page 1]
INTERNET DRAFT draft-lopez-lisp-oe-00 March 4, 2014
Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved.
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. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Requirements Notation . . . . . . . . . . . . . . . . . . . . . 3
3 Opportunistic Encryption in LISP . . . . . . . . . . . . . . . 4
3.1 Key Exchange Between RLOCs . . . . . . . . . . . . . . . . 4
3.1.1 Key Count . . . . . . . . . . . . . . . . . . . . . . . 6
3.1.2 Key Algorithm . . . . . . . . . . . . . . . . . . . . . 6
3.1.3 R-Bit . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1.4 Key Material . . . . . . . . . . . . . . . . . . . . . . 7
3.2 Encryption of LISP Encapsulated Packets . . . . . . . . . . 8
4 Security Considerations . . . . . . . . . . . . . . . . . . . . 9
5 IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 10
6 References . . . . . . . . . . . . . . . . . . . . . . . . . . 10
6.1 Normative References . . . . . . . . . . . . . . . . . . . 10
6.2 Informative References . . . . . . . . . . . . . . . . . . 10
7 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 10
Lopez Expires September 5, 2014 [Page 2]
INTERNET DRAFT draft-lopez-lisp-oe-00 March 4, 2014
1 Introduction
Opportunistic encryption has been widely discussed as a methodology
to mitigate pervasive surveillance attacks against protocols. The
brief definition of opportunistic encryption is the ability to apply
strong encryption with a protocol to protect personally identifiable
data from being readable in cleartext, where the encryption is
independent of other external protocols, and does not place an
excessive burden on the protocol to which opportunistic encryption is
applied. In the case of LISP, which is an encapsulating protocol,
this means that opportunistic encryption does not rely on the packets
undergoing encapsulation to be previously encrypted. In short,
opportunistic encryption within LISP is an additional step performed
by LISP when encapsulating packets.
However, it is also understood that while protocols such as LISP may
include opportunistic encryption, that the encryption mechanisms
applied should utilize available standards in encryption algorithms,
hashing algorithms, authentication methods, and key exchange methods,
whenever possible. The reason for this is to allow the broadest
opportunity for implementation relative to common and tested
software, hardware acceleration, and interoperability between
implementations.
In the case of LISP, the encryption/hash algorithms and methodology
is intended to be consistent with the IETF standard for Encapsulating
Security Payload [RFC 4303], when performing in Transport Mode
Processing (Section 3.1.1), which does not result in a double
encapsulation of the original packet. The methodology of key
exchange will be integrated within the LISP Map Server/Map Resolver
functionality, so as to seamlessly perform requires key exchanges as
part of the standard LISP mapping functions. The intended result is
that the payload of LISP encapsulated packets, which are UDP packets,
will be encrypted as the packet traverses between LISP Tunneling
Routers (xTRs).
It is important to note that as opportunistic encryption methods are
being integrated into existing LISP functionality, this document does
not obsolete or supercede any current RFCs associated with affected
LISP functionality. It is the solely the burden of the methods
described within this document to ensure interoperability with
devices supporting LISP without opportunistic encryption.
2 Requirements Notation
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
Lopez Expires September 5, 2014 [Page 3]
INTERNET DRAFT draft-lopez-lisp-oe-00 March 4, 2014
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
3 Opportunistic Encryption in LISP
It is important to understand that the purpose of opportunistic
encryption is to protect data from pervasive surveillance attacks.
However, this does not necessarily means that it adds to the security
or integrity of the data being shielded. This may seem to be an
unusual concept. Another way to state this is that opportunistic
encryption for LISP packets (LISP-OE) is anonymous between xTRs. No
effort is used to authenticate the identity of the xTRs beyond a
willingness to participate with the key exchange and packet
encryption process. Communication is shielded by the opportunistic
encryption from external third-parties, but no additional security is
added to the integrity of communications between xTRs themselves.
The methodology for this opportunistic encryption is straightforward.
The two xTRs involved with perform a basic Diffie-Hellman key
enchange [RFC2631], transmitting the key-material within the Map-
Request and Map-Reply messages. Each of the two xTRs will then
generate a shared secret key, which will be used as a manual
encryption key for an IPSec Encapsulating Security Payload (ESP)
encryption, operating in Transport-mode of operation.
There are a number of advantages in using IPSec ESP for opportunistic
encryption of LISP packets. IPSec ESP is a well established
encrypting protocol, which has been well commoditized and accelerated
via silicon (ASICs, FPGAs, specialty processors, etc). This means
that the deployment of LISP-OE can benefit from wide adoption with
high-performance implementations. The nature of IPSec ESP allows for
support for multiple encryption and hash schemes. Finally, the
resulting packets are not outwardly detected as LISP packets by
third-parties, nor by LISP xTRs not participating within LISP-OE.
This is an important concern regarding interoperability between xTRs
supporting LISP-OE, and those that do not.
3.1 Key Exchange Between RLOCs
As noted, the key exchange will make use of Map-Request and Map-Reply
messages between xTRs to transmit key material between each other.
It is important for the operation of LISP that this exchange be
performed within a single exchange between xTRs, in order to mitigate
the potential for packet loss due to delay in establishing LISP-OE.
As noted, the LISP mapping system will not store or distribute any
additional identity information, such as PKI certificates or pre-
Lopez Expires September 5, 2014 [Page 4]
INTERNET DRAFT draft-lopez-lisp-oe-00 March 4, 2014
shared keys, for the purpose of authenticating LISP-OE speakers. The
nature of LISP-OE is to be anonymous, which also helps to limit the
key exchange to a single packet exchange. However, it is possible to
consider the use of a black/white list or similar ACL type schema in
which limits which other xTRs a given xTR can communicate with via
LISP-OE.
The Map-Request and Map-Reply messages will use the LISP security
type LCAF to encode the key material within the messages.
Security Key Canonical Address Format:
0 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| AFI = 16387 | Rsvd1 | Flags |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 11 | Rsvd2 | 6 + n |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Key Count | Rsvd3 | Key Algorithm | Rsvd4 |R|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Key Length | Key Material ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... Key Material |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| AFI = x | Locator Address ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Length value n: length in bytes of fields that start with the Key
Material field.
Key Count: the Key Count field declares the number of Key sections
included in this LCAF.
Key Algorithm: the Algorithm field identifies the key's
cryptographic algorithm and specifies the format of the Public Key
field.
R bit: this is the revoke bit and, if set, it specifies that this
Key is being Revoked.
Key Length: this field determines the length in bytes of the Key
Material field.
Key Material: the Key Material field stores the key material. The
format of the key material stored depends on the Key Algorithm field.
AFI = x: x can be any AFI value from [AFI].This is the locator
Lopez Expires September 5, 2014 [Page 5]
INTERNET DRAFT draft-lopez-lisp-oe-00 March 4, 2014
address that owns the encoded security key.
Details on how each of these fields are used for LISP-OE follow in
subsequent sub-sections
3.1.1 Key Count
While Key Count is an 8-bit field, LISP-OE supports a maximum of two
Key sections within this LCAF. Each of these Key sections represents
a unique encryption/hash set proposal for performing LISP-OE.
The first Key section represents the preferred encryption/hash set
proposal for use with LISP-OE, and the second optional Key section
represents an alternative proposal, if the first is not supported.
The receiving xTR may support any or both proposals, but should only
respond to the Key section which will be used. Should the receiving
xTR respond to both proposals, the initiating xTRs preference will be
used
3.1.2 Key Algorithm As the underlying encryption for LISP-OE will make
use of IPSec ESP, it is important that the message exchange reflect
the encryption and hash algorithm sets which can be supported. These
proposals should be expressed within the 8 bits of this field, with
the first 4 bits supporting the encryption algorithm, and the last 4
bits supporting the hash algorithm. This will allow up to 16 of each
type (encryption/hash) to be supported
Encryption Values
-----------
0000 = Null
0001 = DES
0010 = 3DES
0011 = AES
0100-1100 = Reserved for future use
1101-1111 = Reserved for private use
Hash Values
Lopez Expires September 5, 2014 [Page 6]
INTERNET DRAFT draft-lopez-lisp-oe-00 March 4, 2014
-----------
0000 = Null
0001 = MD5
0010 = SHA1
0011 = SHA256
0100 = SHA384
0101 = SHA512
0110-1100 = Reserved for future use
1101-1111 = Reserved for private use
For example, a Key Algorithm Value of 51, or binary 00110011 would
represent a proposal for an AES/SHA256 encryption/hash set.
While LISP-OE makes use of IPSec-ESP with a manual key, it is
important that the algorithm proposals made in these Key sections are
supportable by the the host. There is no mechanism proposed within
this draft to synchronize these Key section proposals with the host's
IPSec ESP configuration
Three values each for encryption and hash, 1101-1111 within their
respective four bits, is reserved for private use. This allows for
the support of LISP-OE with non standard algorithms.
3.1.3 R-Bit The R-bit when set represents the revocation of an existing
Key. Relative to LISP-OE, and xTR can revoke a Key for any reason,
but most likely based on exceeding a locally configured lifetime
value. It is important to note the xTRs participating in LISP-OE do
not negotiate Key lifetimes, but instead can revoke a Key based on
locally configured conditions.
3.1.4 Key Material
As previously noted, the goal for LISP-OE's use of the Security Type
LCAF is to establish an IPSec ESP security association (SA), with a
single packet exchange between xTRs. This means that the Key
Material field must include sufficient information to perform the
following:
Lopez Expires September 5, 2014 [Page 7]
INTERNET DRAFT draft-lopez-lisp-oe-00 March 4, 2014
- Creation of a Security Parameters Index (SPI) to be used by the
IPSec ESP SA- Initial sequence number calculation, including use of
64-bit extended sequence number- The actual exchange of key material
required by the encryption/hash algorithm set proposed in the Key
Algorithm field- Determine in NAT traversal (NAT-T) is to be used in
associated with the resulting SA
Following the exchange of this information within the Key Material
field, the xTRs can then individually establish an IPSec ESP SA,
based on their local configurations.
3.2 Encryption of LISP Encapsulated Packets
Once the key exchange is complete between a pair of xTRs, each xTR
will use its key material as the manual key configuration to be used
within an IPSec ESP SA. The operation of IPSec ESP is covered by
[RFC4303]. This section describes how LISP-OE uses IPSec ESP to
perform opportunistic encryption of LISP packets.
The IPSec ESP will be performed using IPSec ESP in transport mode,
based on section 3.1.1 of [RFC4303]. As LISP already encapsulates
the original IP traffic between source and destination EIDs, with the
outer LISP header using the source ITR and destination ETR IP
addresses, it would be needlessly redundant to make use of tunnel
mode operation. LISP-OE assumes the use of transport mode for IPSec
ESP operations.
Optionally, NAT traversal (NAT-T) may be supported if one or both
xTRs participating in LISP-OE resides behind a NAT boundary. An
example of this may be in the use of carrier-grade NAT (CGN) between
RLOCs
The following diagrams provide an overview of how a LISP packet would
be transformed using LISP-OE. LISP-OE can support both IPv4 and
IPv6, and additional IPv6 header information is assumed to follow the
Original LISP IP Header, as well as within the LISP Payload
Original LISP Data Packet
-----------------------------------
|Original LISP| UDP/4341 | LISP |
| IP Header |(LISP Data)|Payload|
-----------------------------------
Resulting LISP-OE Packet w/ LISP Data
Lopez Expires September 5, 2014 [Page 8]
INTERNET DRAFT draft-lopez-lisp-oe-00 March 4, 2014
------------------------------------------------------
|Original LISP| ESP | UDP/4341 | LISP | ESP |ESP|
| IP Header |Header|(LISP Data)|Payload|Trailer|ICV|
------------------------------------------------------
|<- - - - - encryption - - - ->|
|<- - - - - - - integrity - - - - - ->|
Resulting LISP-OE Packet using NAT-T w/ LISP Data
---------------------------------------------------------------
|Original LISP|UDP/4500| ESP | UDP/4341 | LISP | ESP |ESP|
| IP Header |(NAT-T) |Header|(LISP Data)|Payload|Trailer|ICV|
---------------------------------------------------------------
|<- - - - - encryption - - - ->|
|<- - - - - - - integrity - - - - - ->|
4 Security Considerations
It is anticipated that any security review of LISP-OE will find that
the overall security of LISP-OE is relatively weak. There is no
mechanism to authenticate or otherwise verify the integrity of the
xTRs performing LISP-OE. The key exchange methodology offers no
explicit protection of the key material. Also, the operation of
IPSec ESP on an encryption-only mode relies heavily on local
configuration rather than mutually defined policies (such as key/SA
lifetime).
However, it is important to note that the principal purpose of LISP-
OE is to provide protection for LISP encapsulated packets to third-
party pervasive surveillance, and not to provide additional security
between the participating xTRs themselves.
The exchange of key material is performed using Map-Request/Map-Reply
messages in the LISP control plane. As this communication is on a
separate path from LISP data plane communications, it can be
protected by the use of internal protocols such as IPSec between the
xTR and the LISP Mapping Server/Resolver
Of critical requirement is for LISP-OE to establish this protection
with a minimal number of additional packet exchanges (in this case
one), to prevent excessive packet drops while the opportunistic
encryption is being established.
The use of IPSec ESP as the means for LISP-OE to perform
opportunistic encryption is intended to prevent the need to support a
wholly separate encryption methodology, while taking advantage of
Lopez Expires September 5, 2014 [Page 9]
INTERNET DRAFT draft-lopez-lisp-oe-00 March 4, 2014
proven and commercially available implementations of IPSec. This
draft predominantly focuses on the use of LISP mapping messages as a
means to exchange key-material, as an efficient alternative to other
exchange mechanisms such as Internet Key Exchange (IKE).
As previously noted within this document's Introduction, as
opportunistic encryption methods are being integrated into existing
LISP functionality, this document does not obsolete or supercede any
current RFCs associated with the associated LISP functionality. It
is the solely the burden of the methods described within this
document to ensure interoperability with devices supporting LISP
without opportunistic encryption.
5 IANA Considerations
Implementation of the methodologies described by this document does
not incur additional IANA considerations
6 References
6.1 Normative References
[RFC2631] Rescorla, E., "Diffie-Hellman Key Agreement Method",
RFC 2631, June 1999.
[RFC3947] Kivinen, T., Swander, B., Huttunen, A., and V. Volpe,
"Negotiation of NAT-Traversal in the IKE", RFC 3947,
January 2005.
[RFC4303] Kent, S., "IP Encapsulating Security Payload (ESP)",
RFC 4303, December 2005.
[RFC6830] Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, "The
Locator/ID Separation Protocol (LISP)", RFC 6830, January
2013.
6.2 Informative References
[LCAF] Farinacci, D., Meyer, D., and J. Snijders, "LISP Canonical
Address Format", draft-ietf-lisp-lcaf-04.txt.
7 Authors' Addresses
Lopez Expires September 5, 2014 [Page 10]
INTERNET DRAFT draft-lopez-lisp-oe-00 March 4, 2014
Edward Lopez
Fortinet
Sunnyvale, California
USA
Phone: 703-220-0988
Email: elopez@fortinet.com
Lopez Expires September 5, 2014 [Page 11]