Internet DRAFT - draft-lindqvist-hip-tcp-piggybacking
draft-lindqvist-hip-tcp-piggybacking
Network Working Group J. Lindqvist
Internet-Draft TKK
Expires: January 12, 2007 July 11, 2006
Piggybacking TCP to Host Identity Protocol
draft-lindqvist-hip-tcp-piggybacking-00.txt
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
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 January 12, 2007.
Copyright Notice
Copyright (C) The Internet Society (2006).
Abstract
This document specifies how to concatenate the TCP handshake to Host
Identity Protocol (HIP) base exchange control messages. This
extension gives a performance improvement by reducing one round trip
for establishing the TCP connection when compared to a normal base
exchange.
Lindqvist Expires January 12, 2007 [Page 1]
Internet-Draft HIP - TCP Piggybacking July 2006
1. Introduction
Host Identity Protocol (HIP) architecture [HIPARCH] replaces the
identity function of IP addresses. When the Host Identity Protocol
(HIP) is used, Host Identities (HI) are used to identify hosts. IP
addresses are used only as locators. In practice, a Host Identity
(HI) is a public key of a public/private key pair. Because the
public keys can be of different sizes, they are most of the time
represented in a condensed form; a hash-based digest of a HI is
called a Host Identity Tag (HIT). To authenticate peers and create
the necessary IP-layer state, HIP defines a key negotiation state
setup protocol called the base exchange. The base exchange can be
used to establish IPsec ESP Security Associations [HIPESP], for
example.
In this document, we specify how to gain decrease connection set-up
latency by reducing the amount of control messages when initiating a
TCP connection with HIP. The motivation for the presented approach
is as follows. We send the TCP SYN segment piggybacked to the I2
message. This way, the Responder can check the puzzle from I2 first,
and only after that create TCP state. It should be noticed that the
initiator does not send TCP SYN already in I1 because TCP ACKs can
already contain application data that needs to be encrypted.
The approach is designed to work normal and opportunistic base
exchange and with the TCP Option initiated opportunistic mode
[OPPHIP].
Lindqvist Expires January 12, 2007 [Page 2]
Internet-Draft HIP - TCP Piggybacking July 2006
2. Terms and Definitions
We assume that the readers are familiar with the terms and
definitions given in [HIPBASE], hereafter referred as the HIP base
specification.
2.1. Requirements notation
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 [RFC2119].
2.2. Definitions
HIP piggybacking: A HIP control message is followed by a segment from
another protocol (e.g. TCP).
Lindqvist Expires January 12, 2007 [Page 3]
Internet-Draft HIP - TCP Piggybacking July 2006
3. Overview of TCP Piggybacking to HIP
This section presents how to piggyback TCP to HIP base exchange.
3.1. Piggybacking TCP to Base Exchange
The base exchange including piggybacked TCP is illustrated below.
The I1, R1, I2 and R2 defined in the HIP base specification. The TCP
segments are defined in [RFC0793]. The packets contain other
parameters in the HIP messages not shown in this figure.
Initiator Responder
I1: trigger exchange
-------------------------->
select pre-computed R1
R1
<-------------------------
check sig remain stateless
solve puzzle
I2 | TCP SYN
-------------------------->
check puzzle
check sig
R2 | TCP SYN+ACK
<--------------------------
check sig compute D-H
ESP(TCP ACK)
-------------------------->
ESP(TCP DATA)
<------------------------->
Figure 1
The Initiator starts the base exchange as defined in the base
specification or as in the Internet-Draft [OPPHIP], either sending a
normal I1 or an opportunistic I1. The responder processes the I1 as
usual and sends the R1.
The Next Header field in I2 has the value protocol number 6 (TCP).
Otherwise, the I2 format is the same as defined in the HIP base
specification. The I2 is followed by TCP SYN segment. Thus, the
packet format is IP((I2), (TCP SYN)).
Lindqvist Expires January 12, 2007 [Page 4]
Internet-Draft HIP - TCP Piggybacking July 2006
The I2 is processed by the Responder similarly as in the HIP base
specification. The exception is the Next Header field. Value 6
indicates that a TCP segment follows and needs to be processed.
If the base exchange is initiated by the approach defined in
[OPPHIP], the peer just retransmits the TCP SYN segment with I2.
The Next Header field in R2 has the value protocol number 6 (TCP).
Otherwise, the R2 format is the same as defined in the HIP base
specification. The R2 is followed by TCP SYN+ACK segment. Thus, the
packet format is IP((I2), (TCP SYN+ACK)).
The R2 is processed by the Initiator similarly as in the HIP base
specification. The exception is the Next Header field. Value 6
indicates that a TCP segment follows and needs to be processed.
After the base exchange, the hosts send data using the ESP transport
format. The TCP ACK needed for the TCP handshake is sent with ESP,
and thus, the possible data in the TCP is encrypted and integrity
protected.
Lindqvist Expires January 12, 2007 [Page 5]
Internet-Draft HIP - TCP Piggybacking July 2006
4. Open Issues
4.1. Flags
Should we have a flag in I1 and R1 to indicate the support for TCP
piggybacking? This could simplify the processing of the packets and
remove the need for unnecessary retransmits?
4.2. Integrity Protection for TCP segments
The current approach does not allow a simple way to add integrity
protection for the TCP segments. Is this a real problem?
Lindqvist Expires January 12, 2007 [Page 6]
Internet-Draft HIP - TCP Piggybacking July 2006
5. Acknowledgments
Miika Komu, Teemu Koponen, Pekka Nikander and HIP RG.
Lindqvist Expires January 12, 2007 [Page 7]
Internet-Draft HIP - TCP Piggybacking July 2006
6. Security Considerations
The piggybacking reveals to third parties TCP control data, e.g. what
are the used TCP port numbers. This is at least a privacy issue.
Lindqvist Expires January 12, 2007 [Page 8]
Internet-Draft HIP - TCP Piggybacking July 2006
7. References
7.1. Normative References
[HIPBASE] Moskowitz, R., Nikander, P., Jokela (editor), P., and P.
Jokela (editor), "Host Identity Protocol",
draft-ietf-hip-base-06 (work in progress), June 2006.
[OPPHIP] Lindqvist, J., "Host Identity Protocol",
draft-lindqvist-hip-opportunistic-01 (work in progress),
March 2006.
[RFC0793] Postel, J., "Transmission Control Protocol", STD 7,
RFC 793, September 1981.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
7.2. Informative References
[HIPARCH] Moskowitz, R. and P. Nikander, "Host Identity Protocol
Architecture", RFC 4423, May 2006.
[HIPESP] Jokela, P., Moskowitz, R., and P. Nikander, "Using ESP
transport format with HIP", draft-ietf-hip-esp-03 (work in
progress), June 2006.
Lindqvist Expires January 12, 2007 [Page 9]
Internet-Draft HIP - TCP Piggybacking July 2006
Author's Address
Janne Lindqvist
Helsinki University of Technology (TKK)
P.O. Box 5400
Espoo FIN-02015 TKK
Finland
Phone: +358 9 451 5851
Email: janne.lindqvist@tkk.fi
URI: http://www.tml.tkk.fi/
Lindqvist Expires January 12, 2007 [Page 10]
Internet-Draft HIP - TCP Piggybacking July 2006
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Disclaimer of Validity
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement
Copyright (C) The Internet Society (2006). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
Acknowledgment
Funding for the RFC Editor function is currently provided by the
Internet Society.
Lindqvist Expires January 12, 2007 [Page 11]