draft-ietf-rohc-ikev2-extensions-hcoipsec-02.txt   draft-ietf-rohc-ikev2-extensions-hcoipsec-03.txt 
Network Working Group J. Pezeshki Network Working Group J. Pezeshki
Internet-Draft E. Ertekin Internet-Draft E. Ertekin
Intended status: Experimental R. Jasani Expires: February 28, 2008 R. Jasani
Expires: December 3, 2007 C. Christou C. Christou
Booz Allen Hamilton Booz Allen Hamilton
June 1, 2007 August 27, 2007
IKEv2 Extensions to Support Robust Header Compression over IPsec IKEv2 Extensions to Support Robust Header Compression over IPsec
(RoHCoIPsec) (RoHCoIPsec)
draft-ietf-rohc-ikev2-extensions-hcoipsec-02 draft-ietf-rohc-ikev2-extensions-hcoipsec-03
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 37 skipping to change at page 1, line 37
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on December 3, 2007. This Internet-Draft will expire on February 28, 2008.
Copyright Notice Copyright Notice
Copyright (C) The IETF Trust (2007). Copyright (C) The IETF Trust (2007).
Abstract Abstract
When using Robust Header Compression (RoHC [ROHC]) in conjunction When using Robust Header Compression (RoHC [ROHC]) in conjunction
with IPsec [IPSEC] (i.e. [RoHCOIPSEC]) a mechanism is needed to with IPsec [IPSEC] (i.e. [ROHCOIPSEC]) a mechanism is needed to
negotiate RoHC configuration parameters between end-points prior to negotiate RoHC configuration parameters between end-points prior to
operation. Internet Key Exchange (IKE) is a mechanism which can be operation. Internet Key Exchange (IKE) is a mechanism which can be
leveraged to handle these negotiations. This document specifies leveraged to handle these negotiations. This document specifies
extensions to Internet Key Exchange (IKEv2 [IKEV2]) that will allow extensions to Internet Key Exchange (IKEv2 [IKEV2]) that will allow
RoHC and its associated configuration parameters to be negotiated for RoHC and its associated configuration parameters to be negotiated for
IPsec security associations (SAs). IPsec security associations (SAs).
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. RoHC Channel Negotiation . . . . . . . . . . . . . . . . . . . 3 2. RoHC Channel Negotiation . . . . . . . . . . . . . . . . . . . 3
2.1. Negotiation of RoHC Channel Parameters . . . . . . . . . . 3 2.1. Negotiation of RoHC Channel Parameters . . . . . . . . . . 3
2.1.1. Profiles Suboption . . . . . . . . . . . . . . . . . . 6 3. Security Considerations . . . . . . . . . . . . . . . . . . . . 6
3. Security Considerations . . . . . . . . . . . . . . . . . . . 7 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 5. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 6
5. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 7 6. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6
6. Normative References . . . . . . . . . . . . . . . . . . . . . 8 6.1. Normative References . . . . . . . . . . . . . . . . . . . 6
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8 6.2. Informative References . . . . . . . . . . . . . . . . . . 7
Intellectual Property and Copyright Statements . . . . . . . . . . 10 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 7
Intellectual Property and Copyright Statements . . . . . . . . . . 9
1. Introduction 1. Introduction
Increased packet header overhead due to IPsec protection can result Increased packet header overhead due to IPsec protection can result
in inefficient utilization of bandwidth. Coupling RoHC with IPsec in inefficient utilization of bandwidth. Coupling RoHC with IPsec
offers an efficient way to transfer protected IP traffic. offers an efficient way to transfer protected IP traffic.
For proper RoHCoIPsec [ROHCOIPSEC] operation, RoHC requires For proper RoHCoIPsec [ROHCOIPSEC] operation, RoHC requires
configuration parameters to be negotiated between the compressor and configuration parameters to be negotiated between the compressor and
decompressor, prior to operation. Current specifications of hop-by- decompressor, prior to operation. Current specifications of hop-by-
skipping to change at page 3, line 51 skipping to change at page 3, line 51
2.1. Negotiation of RoHC Channel Parameters 2.1. Negotiation of RoHC Channel Parameters
RoHC configuration parameters will be negotiated at either the RoHC configuration parameters will be negotiated at either the
establishment or rekeying of a Child SA. Specifically, a Notify establishment or rekeying of a Child SA. Specifically, a Notify
payload will be used during the IKE_AUTH and CREATE_CHILD_SA payload will be used during the IKE_AUTH and CREATE_CHILD_SA
exchanges to negotiate the RoHCoIPsec session. The Notify payload exchanges to negotiate the RoHCoIPsec session. The Notify payload
sent by the initiator will contain the configuration parameters for sent by the initiator will contain the configuration parameters for
the RoHC scheme. Upon receipt of the initiator's request, the the RoHC scheme. Upon receipt of the initiator's request, the
responder will either ignore the payload (if it doesn't support RoHC responder will either ignore the payload (if it doesn't support RoHC
or the proposed parameters) or respond with a Notify payload that or the proposed parameters) or respond with a Notify payload that
contains the accepted RoHC channel parameters. contains the accepted RoHC channel parameters. These accepted
parameters are a subset of the parameters proposed by the initiator,
and the parameters supported by the responder (e.g. if the initiator
proposes a MAX_CID value of 15, but the responder only supports a
MAX_CID value of 13, the responder will respond with a value of 13,
which is supported by both parties). Note that only one Notify
payload is used to convey RoHC parameters per exchange. If multiple
Notify payloads relaying RoHC parameters are received by the
responder, all but the first such Notify payload must be dropped.
A new Notify Message Type value, denoted ROHC_SUPPORTED, will be A new Notify Message Type value, denoted ROHC_SUPPORTED, will be
added to indicate that the Notify payload is conveying RoHC channel added to indicate that the Notify payload is conveying RoHC channel
parameters. As defined in [IKEV2], the Notify payload is specified parameters. Additionally, the fields of the Notify payload (as
as follows: defined in [IKEV2]) are set as follows:
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 ! Notify Message Type !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! !
~ Notification Data ~
! !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: Notify Payload
To negotiate RoHCoIPsec, the values for the fields in the Notify
payload are defined as follows:
Next Payload (1 octet) Next Payload (1 octet)
Identifier for the payload type of the next payload in the If the current payload is the last in the message, then this field
message. If the current payload is the last in the message, then will be 0. The Next Payload value of the previous payload must be
this field will be 0. The Next Payload value of the previous 41, indicating that this current payload is a Notify Payload.
payload must be 41, indicating that this current payload is a
Notify Payload.
Critical (1 bit) Critical (1 bit)
This value is set to zero, indicating that the recipient must skip This value is set to zero, indicating that the recipient must skip
this payload if it does not understand the payload type code in this payload if it does not understand the payload type code in
the Next Payload field of the previous payload. the Next Payload field of the previous payload.
RESERVED (7 bits) RESERVED (7 bits)
Must be sent as zero, and must be ignored on receipt. Must be sent as zero, and must be ignored on receipt.
Payload Length (2 octets) Payload Length (2 octets)
Length in octets of the current payload, including the generic Length in octets of the current payload, including the generic
payload header (the generic payload header is defined in [IKEV2], payload header (the generic payload header is defined in [IKEV2],
section 3.2). section 3.2).
Protocol ID (1 octet) Protocol ID (1 octet)
If this notification concerns an existing SA, this field indicates Since the RoHC parameters are set at SA creation, and thus do not
the type of that SA (i.e. IKE_SA, AH [AH], or ESP [ESP]). Since relate to an existing SA, this field must be set to zero.
the RoHC parameters are set at SA creation, and thus do not relate
to an existing SA, this field must be set to zero.
SPI Size (1 octet) SPI Size (1 octet)
Length in octets of the SPI as defined by the IPsec protocol ID.
This value must be set to zero, since no SPI is applicable (RoHC This value must be set to zero, since no SPI is applicable (RoHC
parameters are set at SA creation, thus the SPI has not been parameters are set at SA creation, thus the SPI has not been
defined). defined).
Notify Message Type (2 octets) Notify Message Type (2 octets)
Specifies the type of notification message. This field must be This field must be set to ROHC_SUPPORTED.
set to ROHC_SUPPORTED.
RoHC configuration parameters will be communicated via a new Notify RoHC configuration parameters will be communicated via a new Notify
message type, denoted ROHC_SUPPORTED. The RoHC configuration message type, denoted ROHC_SUPPORTED. The RoHC configuration
parameters will be listed within the Notification Data field in the parameters will be listed within the Notification Data field of the
following format: Notify payload, in 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 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
!ROHC PRMTR LNTH! MAX_CID ! MRRU... ! MAX_CID ! MRRU !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
...MRRU ! MAX_HEADER ! ! ! MAX_HEADER ! !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
! ! ! !
~ suboptions... ~ ~ PROFILES... ~
! ! ! !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: Notification Data field Figure 1: Notification Data field
ROHC PARAMETER LENGTH (1 octet)
>= 7 (i.e. the combined length of RoHC PARAMETER LENGTH, MAX_CID,
MRRU, and MAX_HEADER)
MAX_CID (2 octets) MAX_CID (2 octets)
The MAX_CID field indicates the maximum value of a context The MAX_CID field indicates the maximum value of a context
identifier. This value must be at least 0 and at most 16383 (The identifier. This value must be at least 0 and at most 16383 (The
value 0 implies having one context). value 0 implies having one context).
Suggested value: 15 Suggested value: 15
Note: The value of LARGE_CIDS will be implicitly determined by Note: The value of LARGE_CIDS will be implicitly determined by
this value (i.e. if MAX_CID is <= 15, LARGE_CIDS will be assumed this value (i.e. if MAX_CID is <= 15, LARGE_CIDS will be assumed
skipping to change at page 6, line 23 skipping to change at page 5, line 52
MAX_HEADER (2 octets) MAX_HEADER (2 octets)
The largest header size in octets that may be compressed. The largest header size in octets that may be compressed.
Suggested value: 168 octets Suggested value: 168 octets
Note: The MAX_HEADER parameter is not used for all RoHC profiles. Note: The MAX_HEADER parameter is not used for all RoHC profiles.
If none of the RoHC profiles require this field, this value is If none of the RoHC profiles require this field, this value is
ignored. ignored.
suboptions PROFILES
The suboptions field consists of one or more suboptions. Each The set of profiles to be enabled for the RoHC process. This
suboption consists of a type field, a length field and zero or field may be set to one (or multiple) values listed in 'ROHC
more parameter octets, as defined by the suboption type. The profile identifiers' [ROHCPROF].
value of the length field indicates the length of the suboption in
its entirety, including the lengths of the type and length fields.
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Type ! Length ! Parameters...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: Suboption
Note: When a pair of SAs are created (one in each direction), the Note: When a pair of SAs are created (one in each direction), the
RoHC channel parameter FEEDBACK_FOR is set implicitly to the other RoHC channel parameter FEEDBACK_FOR is set implicitly to the other SA
SA of the pair (i.e. the SA pointing in the reverse direction). of the pair (i.e. the SA pointing in the reverse direction).
2.1.1. Profiles Suboption
The set of profiles to be enabled on a Child SA is subject to
negotiation.
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Type ! Length ! Profiles...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4: Profiles suboption
Type
1
Length
2n+2
Value
n octet-pairs in ascending order, each octet-pair specifying a
RoHC profile supported. Values negotiated are assigned in the
RoHC profile identifiers registry [ROHCPROF].
3. Security Considerations 3. Security Considerations
The RoHC parameters negotiated via IKEv2 do not add any new The RoHC parameters negotiated via IKEv2 do not add any new
vulnerabilities beyond those associated with the normal operation of vulnerabilities beyond those associated with the normal operation of
IKEv2. IKEv2.
4. IANA Considerations 4. IANA Considerations
This document defines a new Notify Message Type. Therefore, IANA is This document defines a new Notify Message (Status Type). Therefore,
requested to allocate one value from the IKEv2 Notify Message Types IANA is requested to allocate one value from the IKEv2 Notify Message
registry to indicate ROHC_SUPPORTED. registry to indicate ROHC_SUPPORTED.
5. Acknowledgments 5. Acknowledgments
The authors would like to thank Mr. Sean O'Keeffe, Mr. James Kohler, The authors would like to thank Mr. Sean O'Keeffe, Mr. James Kohler,
and Ms. Linda Noone of the Department of Defense, as well as Mr. Rich and Ms. Linda Noone of the Department of Defense, as well as Mr. Rich
Espy of OPnet for their contributions and support in the development Espy of OPnet for their contributions and support in the development
of this document. The authors would also like to thank Mr. Tero of this document. The authors would also like to thank Mr. Tero
Kivinen for providing his technical expertise for this document. In Kivinen for providing his technical expertise for this document. In
addition, the authors would like to thank the following for their addition, the authors would like to thank the following for their
numerous reviews and comments to this document: numerous reviews and comments to this document:
Dr. Stephen Kent o Dr. Stephen Kent
Dr. Carsten Bormann o Dr. Carsten Bormann
Mr. Lars-Erik Jonnson o Mr. Lars-Erik Jonnson
o Mr. Pasi Eronen
Finally, the authors would also like to thank Mr. Tom Conkle, Ms. Finally, the authors would also like to thank Mr. Tom Conkle, Ms.
Michele Casey, and Mr. Etzel Brower. Michele Casey, and Mr. Etzel Brower.
6. Normative References 6. References
6.1. Normative References
[ROHC] Bormann, C., Burmeister, C., Degermark, M., Fukushima, H., [ROHC] Bormann, C., Burmeister, C., Degermark, M., Fukushima, H.,
Hannu, H., Jonsson, L., Hakenberg, R., Koren, T., Le, K., Hannu, H., Jonsson, L., Hakenberg, R., Koren, T., Le, K.,
Liu, Z., Martensson, A., Miyazaki, A., Svanbro, K., Liu, Z., Martensson, A., Miyazaki, A., Svanbro, K.,
Wiebke, T., Yoshimura, T., and H. Zheng, "RObust Header Wiebke, T., Yoshimura, T., and H. Zheng, "RObust Header
Compression (ROHC): Framework and four profiles: RTP, UDP, Compression (ROHC): Framework and four profiles: RTP, UDP,
ESP, and uncompressed", RFC 3095, July 2001. ESP, and uncompressed", RFC 3095, July 2001.
[IPSEC] Kent, S. and K. Seo, "Security Architecture for the [IPSEC] Kent, S. and K. Seo, "Security Architecture for the
Internet Protocol", RFC 4301, December 2005. Internet Protocol", RFC 4301, December 2005.
[RoHCOIPSEC]
Ertekin, E., Christou, C., and R. Jasani, "Integration of
Robust Header Compression over IPsec Security
Associations", work in progress , June 2006.
[IKEV2] Kaufman, C., "Internet Key Exchange (IKEv2) Protocol", [IKEV2] Kaufman, C., "Internet Key Exchange (IKEv2) Protocol",
RFC 4306, December 2005. RFC 4306, December 2005.
[ROHCPPP] Bormann, C., "Robust Header Compression (ROHC) over PPP", [ROHCPROF]
RFC 3241, April 2002. IANA, ""RObust Header Compression (ROHC) Profile
Identifiers", IANA registry at:
http://www.iana.org/assignments/rohc-pro-ids", July 2007.
[AH] Kent, S., "IP Authentication Header", RFC 4302, 6.2. Informative References
December 2005.
[ESP] Kent, S., "IP Encapsulating Security Payload (ESP)", [ROHCOIPSEC]
RFC 4303, December 2005. Ertekin, E., Christou, C., Jasani, R., and J. Pezeshki,
"Integration of Robust Header Compression (ROHC) over
IPsec Security Associations", work in progress ,
August 2007.
[ROHCPROF] [ROHCPPP] Bormann, C., "Robust Header Compression (ROHC) over PPP",
"RObust Header Compression (ROHC) Profile Identifiers", RFC 3241, April 2002.
www.iana.org/assignments/ROHC-pro-ids , October 2005.
Authors' Addresses Authors' Addresses
Jonah Pezeshki Jonah Pezeshki
Booz Allen Hamilton Booz Allen Hamilton
13200 Woodland Park Dr. 13200 Woodland Park Dr.
Herndon, VA 20171 Herndon, VA 20171
US US
Email: pezeshki_jonah@bah.com Email: pezeshki_jonah@bah.com
 End of changes. 29 change blocks. 
114 lines changed or deleted 66 lines changed or added

This html diff was produced by rfcdiff 1.34. The latest version is available from http://tools.ietf.org/tools/rfcdiff/