Internet DRAFT - draft-goswami-ipsec-espll
draft-goswami-ipsec-espll
IPSEC
Internet Draft S. Goswami
Document: draft-goswami-ipsec-espll-00.txt Independent
Consultant
Expires: November 2003 May 2003
Encapsulating Security Payload for Link Layers (ESPLL)
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026.
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026.
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.
Abstract
The trend has been to use different encryption mechanism for
different layers. Although it can be argued that multiple layers is
good protection, such an approach is higly inefficient from the view
performance and necessity. In some situations this kind separate
encryption mechanism may afford the bytes 7 levels of encryption, for
example : AES (from 802.11)+ 3DES (from IPSec) + 3DES (from TLS/SSL).
Recently link layer encryption has become an important issue,
specially in the context of wireless networks. Although this document
does not attempt to solve this multiple layer encryption issue, it is
an effort to that goal. Specifically, this document describes a way
to use ESP in several link layer technologies.
Goswami Expires - November 2003 [Page 1]
ESPLL May 2003
Conventions used in this document
In examples, "C:" and "S:" indicate lines sent by the client and
server respectively.
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.
Table of Contents
1. Overview and Rationale.........................................2
2. ESP Packet for Link Layer......................................2
3. Link Layer Issues..............................................4
3.1 Security Parameter Index (SPI).............................4
3.2 Fragmentation..............................................4
3.3 Encryption Algorithms......................................5
3.4 Authentication Algorithms..................................5
4. Operational Advantages.........................................5
5. Specific Link Layers...........................................7
5.1 802.11 Links...............................................7
5.2 802.3 Links................................................8
5.3 802.15 Links...............................................8
5.4 802.16 Links...............................................8
6. Formal Syntax..................................................9
7. Security Considerations........................................9
8. References.....................................................9
Acknowledgments..................................................10
Author's Addresses...............................................10
1. Overview and Rationale
The Encapsulating Security Payload (ESP) header is designed to
provide services in IPv4 and IPv6. Over time ESP has proven to be a
robust mechanism for securing an IP connection. For wireline security
at the link layer has been achieved through physical isolation. One
exception has been the cellular network, where the link layer is
secured through encryption. Recently several new link layer
technologies have matured - - 802.11, 802.15, 802.16, and 802.20. All
of these new link layer technologies can benefit from using ESP on
multiple fronts: ESP is a proven protocol, use of ESP at multiple
layers would allow reuse of code/modules, ESP works very well with
key exchange protocols such as IKE, etc.
2. ESP Packet for Link Layer
Goswami Expires - November 2003 [Page 2]
ESPLL May 2003
ESP has two modes, transport and tunnel [1,2]. ESP header is inserted
after the IP header and before the upper layer protocol header in
transport mode or before an encapsulated IP header in tunnel mode.
Although both modes are possible, we will consider only transport for
ESPLL.
ESP provides confidentiality, data origin authentication,
connectionless integrity, an anti-replay service, and limited traffic
flow confidentiality.
The following figure shows the ESP packet format, which is kept
unchanged in ESPLL.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ----
| Security Parameters Index (SPI) | ^Auth.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Cov-
| Sequence Number | |erage
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ----
| Payload Data* (variable) | | ^
~ ~ | |
| | |Conf.
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Cov-
| | Padding (0-255 bytes) | |erage*
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| | Pad Length | Next Header | v v
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ------
| Authentication Data (variable) |
~ ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1 ESP Packet format
The SPI is a 32 bit value (some specific values have been reserved)
that together with the destination address (using a MAC address
instead of an IP address) and protocol type (ESPLL) uniquely
identifies a Security Association (SA).
The Sequence Number is a 32 bit that is monotonically increased
starting at 0 when an SA is established between two peers.
Payload Data is a variable-length field containing data that is
described by the Next Header field. The Payload Data field is
mandatory and is an integral number of octets in length. An
encryption algorithm that uses cryptographic synchronization data
such as Initialization Vector (IV) usually is defined in a RFC that
Goswami Expires - November 2003 [Page 3]
ESPLL May 2003
shows the length, structure of the cryptographic synchronization
data.
Padding has been used in ESP for several purposes: 4-byte boundary
termination requirement, partial traffic flow confidentiality, the
block size of a block cipher, etc.
The Pad Length field indicates the number of pad bytes immediately
preceding it.
The Next Header is an 8-bit field that identifies the type of data
contained in the Payload Data field, e.g., an extension header in
IPv6 or an upper layer protocol identifier. The value of this field
is chosen from the set of Protocol Numbers defined in the most recent
"Assigned Numbers" [IETF STD-2] RFC from the Internet Assigned
Numbers Authority (IANA).
The Authentication Data is a field of variable-length that contains
an Integrity Check Value (ICV) computed over the ESP packet by
excluding the the Authentication Data itslef. The length of the
field is specified by the authentication function selected. The
Authentication Data field is optional, and is included only if the
authentication service has been configured for the SA.
3. Link Layer Issues
Link LayerÆs have some issues that are not shared by the IP layer and
there are issues that are shared by the IP layer.
3.1 Security Parameter Index (SPI)
The SPI in the ESP packet is a 32-bit value that is used by a
receiver to identify the Security Association (SA) to which an
incoming packet is bound. In addition to the SPI, the source and
destination addresses can be used to determine the exact SA. For
unicast traffic usually only the SPI is sufficient for determining
SA, for multicast traffic the group address and the source address
can be used in addition to SPI to determine the SA. The SPI to be
used with ESP is generated during Phase 2 of IKE exchange in the
IPSec DOI. Thus for ESPLL, the SPI can be entered manually or IKE
for Link Layer can be defined or a IEEE 802.11i based key exchange
can be used.
3.2 Fragmentation
If necessary ESP allows fragmentation to be performed after ESP
processing within an IPsec implementation. Thus, transport mode ESP
Goswami Expires - November 2003 [Page 4]
ESPLL May 2003
is applied only to a whole IP datagrams (not to IP fragments). An IP
packet to which ESP has been applied may itself be fragmented by IP
routers in the route, and such fragments are reassembled prior to ESP
processing at a receiver.
Some link layers (e.g. 802.11) have fragmentation and
defragmentation capability, whereas others (e.g. 802.3) do not have
any.
Thus each link layer requires a separate discussion.
3.3 Encryption Algorithms
The only mandatory encryption algorithms that ESP supports are DES in
CBC mode and NULL. The cipher text is generated from the payload by
encrypting the result (Payload Data, Padding, Pad Length, and Next
Header) using the key, encryption algorithm, algorithm mode indicated
by the SA and cryptographic synchronization data (if any). In both
DES and 3DES, the actual cipher data is preceded by an Initialization
Vector (IV) field. The cipher text is generated from the payload and
pad.
In ESPLL also, the process of generating the cipher remain the same,
except in the Next Header field. The Next Header field in ESP usually
contains the header type of the original (pre-encrypted) payload. The
Next Header field length is different in link layer technologies
(i.e. known as Type/Subtype in 802.11, Type in Ethernet II, Type in
SNAP, none in 802.3/802.2 etc.). In accordance with ESP, in ESPLL the
Next Header field contains the appropriate value( after an
appropriate mapping from 2 octets to 1 octets if required).
3.4 Authentication Algorithms
The Authentication Data is a variable-length field containing an
integrity check value computed over the ESP packet minus the
Authentication Data. The length of the field is specified by the
authentication function selected. The Authentication Data field is
optional in ESP and is computed after encryption of the payload
field.
4. Operational Advantages
Using ESPLL has the advantage that the same code, same SPD and SAD
can be used for both the link layer and the network layer. In other
words the SPD and SAD can be shared between IPSec ESP and ESPLL. The
following figure shows diagram of such a node.
Goswami Expires - November 2003 [Page 5]
ESPLL May 2003
[IP Stack ]
[IPSec ESP ]-------
[Driver ] |--- (SPD)(SAD)
[ESPLL ]-------
[NIC ]
Fig. 2 An ESPLL node with IPSec ESP
In the IP layer, according to RFC 2401, SPD is indexed by selectors
which are composed of the following elements: Source/Destination IP
Address, User ID, System Name, Transport Layer Protocol,
Source/Destination Ports. For the ESPLL case the port field, User
ID, and System Name may not exist (although as SPD is used for
outbound packet processing these information can be made available),
whereas the protocol field may be available for use along with Source
and Destination MAC addresses instead of IP addresses.
Similarly RFC 2401 also mentions a selector for SAD as follows:
Destination IP Address, IPSec protocol type (AH or ESP), and SPI. In
ESPLL these information are available if the IP address is replaced
by MAC address.
In addition it is possible to transfer an SA between network and link
layers. The following figure shows how three ESPLL and IPSec enabled
nodes may first establish an ESPLL SA, which could then be
transferred to IPSec or vice-versa (step 2a in the figure below). The
exact protocol for SA transfer is to be described later.
---------------------- ---------------- ----------------
| [Key Exchange] |<--0-->|[Key Exchange]| | |
| | | | | |
| [ IPSec ] |<------|-----3--------|-->| [IPSec] |
| \ | | | | / |
| \ | | 2b | | / |
| \ 2a | | /------|---|-- |
| \ | | / | | |
| [ESPLL] |<--1-->| [ESPLL] | | |
| | | | | |
---------------------- ---------------- ----------------
| | | |
-------------------- ------------- Links
Node 1 Node 2 Node 3
Goswami Expires - November 2003 [Page 6]
ESPLL May 2003
Fig. 3 ESP SA transfer
5. Specific Link Layers
In the following are described how ESPLL can be used with a few
popular Link Layers.
5.1 802.11 Links
The following figure shows a 802.11 frame [8,9,10]. The frame has a
header and a trailer. The header is composed of several fields and
the trailer is Frame Check Sequence.
Octets
2 2 6 6 6 2 6 0-2312 4
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Frame |Duration|Addr1|Addr2|Addr3|Sequence|Addr4|Body |Frame Check|
|Control | ID | | | |Control | | |Sequence |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-
Figure 4 802.11 Frame
The following figure shows the Frame Control field. For a detailed
description of these please consult XXX.
Bits
2 2 4 1 1 1 1 1 1 1 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
|Protocol|Type |Subtype|To|From|More |Retry|Power|More|WEP|Order|
|Version | | |DS|DS |Frags | |Mgmt |Data| | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++
Figure 5 802.11 FrameÆs Frame Control Field
Type value of 10 represents Data frames, subtypes 0000-0111 have been
defined. For ESPLL a subtype from the currently reserved range of
1000-1111 is chosen, say 1000. Also, the WEP bit is turned off.
In 802.11 frames can potentially be fragmented. The Frame Control
field as shown in the above diagram allocates 4 bits to identify
fragments. In the WEP mode supported by 802.11 encryption is
carried out after fragmentation, unlike IPsec ESP where fragmentation
is carried out after encryption. The primary reason behind this
difference is that in the transport mode IPSec, IP packets may
traverse multiple link where each IP packet may be fragmented in an
intermediate router, thus fragmented packets that are ESPÆed can
again be fragmented.
Goswami Expires - November 2003 [Page 7]
ESPLL May 2003
5.2 802.3 Links
To be added
5.3 802.15 Links
To be added
5.4 802.16 Links
802.16 specification supports both time division duplex (TDD) and
frequency division duplex (FDD) configurations over 10-66 GHZ radio
frequency. The uplink channel is based on a combination of time
division multiple access (TDMA) and demand assigned multiple access
(DAMA). The uplink channel is divided into a number of time slots.
The number of slots assigned for various uses (registration,
contention, guard, or user traffic) may vary over time for optimal
performance. The downlink channel is time division multiplexed , with
the information for each subscriber station multiplexed onto a single
stream of data and received by all subscriber stations. The 802.16
MAC is connection oriented and a MAC frames is as follows.
Bits
1 1 6 1 1 2 1 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|HT |EC |Type |R |CI |EKS |R | LEN |
| | | | | | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|LEN |CID |
| | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|CID |HCS |
| | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PAYLOAD |
. .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| CRC |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
HT- Header Type CI- CRC Indicator
EC- 802.16 Encryption EKS- 802.16 Encryption Key Sequence
Type- Payload Type LEN- Length including header
Goswami Expires - November 2003 [Page 8]
ESPLL May 2003
R- Reserved CID- Connection ID
HCS- Header Check Sequence
Figure 6 802.16 Frame
Each 802.16 station is identified with a 48-bit MAC address. The MAC
address is used during the registration process, after a connection
is established the 16-bit Connection ID is used.
A 802.16 ESPLL frame can be indicated by Type, say 0x06.
6. Formal Syntax
No special syntax used.
7. Security Considerations
8. References
1. Kent, S., "The Encapsulating Security Payload (ESP)", RFC 2406,
November 1998.
2. Kent, S., IP Encapsulating Security Payload (ESP), draft-ietf-
ipsec-esp-v3-05.txt, April 2003.
3. Kent, S., and R. Atkinson, "Security Architecture for the
Internet Protocol", RFC 2401, November 1998.
4. Madson, C., and N. Doraswamy, "The ESP DES-CBC Cipher Algorithm
With Explicit IV", RFC 2405, November 1998.
5. Madson, C., and R. Glenn, "The Use of HMAC-MD5-96 within ESP and
AH", RFC 2403, November 1998.
6. Madson, C., and R. Glenn, "The Use of HMAC-SHA-1-96 within ESP
and AH", RFC 2404, November 1998.
7. Reynolds, J., and J. Postel, "Assigned Numbers", STD 2, RFC
1700, October 1994. See also: http://www.iana.org/numbers.html
8. IEEE, IEEE Standard for Information technology--
Telecommunications and information exchange between systems--
Local and metropolitan area networks--Specific requirements--
Part 3: Carrier Sense Multiple Access with Collision Detection
(CSMA/CD) Access Method and Physical Layer Specifications.
9. IEEE, "Part 11: Wireless LAN Medium Access Control (MAC) and
Physical Layer (PHY) Specifications", 1999.
10. IEEE, "802.11i Draft 3.2", April 2003.
Goswami Expires - November 2003 [Page 9]
ESPLL May 2003
11. IEEE, ææ802.16-2001ÆÆ, Part 16: Air Interface for Fixed Broadband
Wireless Access Systems, 2001.
Acknowledgments
Author's Addresses
Subrata Goswami
Independent Consultant
6151G Joaquin Murieta, Newark, CA 94560
Phone:
Email: sgoswami@umich.edu
Goswami Expires - November 2003 [Page 10]