Internet DRAFT - draft-pan-ipsecme-esp-trailer-adjustment
draft-pan-ipsecme-esp-trailer-adjustment
IPSECME Working Group W. Pan
Internet-Draft C. Fang
Intended status: Informational Huawei
Expires: 25 April 2024 23 October 2023
Considerations for Adjustments of Encapsulating Security Payload (ESP)
Trailer
draft-pan-ipsecme-esp-trailer-adjustment-00
Abstract
Implementing IPsec in hardware is a way to improve the forwarding
performance of IPsec. However, the current IPsec ESP packet design,
i.e., the position of ESP trailer, imposes a new overhead challenge
for implementing IPsec in hardware. This document explains how this
overhead challenge occurs and proposes the possible solutions.
About This Document
This note is to be removed before publishing as an RFC.
Status information for this document may be found at
https://datatracker.ietf.org/doc/draft-pan-ipsecme-esp-trailer-
adjustment/.
Discussion of this document takes place on the ipsec Working Group
mailing list (mailto:ipsec@ietf.org), which is archived at
https://mailarchive.ietf.org/arch/browse/ipsec/. Subscribe at
https://www.ietf.org/mailman/listinfo/ipsec/.
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). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
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."
This Internet-Draft will expire on 25 April 2024.
Pan & Fang Expires 25 April 2024 [Page 1]
Internet-Draft Adjustments of ESP Trailer October 2023
Copyright Notice
Copyright (c) 2023 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 (https://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 Revised BSD License text as
described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 3
3. Possible Solution . . . . . . . . . . . . . . . . . . . . . . 4
3.1. Simplified Next Header Judgment in ESP Tunnel Mode . . . 4
3.2. Adjust ESP Packet Format . . . . . . . . . . . . . . . . 4
4. Security Considerations . . . . . . . . . . . . . . . . . . . 5
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5
6. References . . . . . . . . . . . . . . . . . . . . . . . . . 5
6.1. Normative References . . . . . . . . . . . . . . . . . . 5
6.2. Informative References . . . . . . . . . . . . . . . . . 6
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6
1. Introduction
IPsec [RFC4301] is widely used to provide security for IP
communications. It can adapt to various scenarios with the two
protocols of AH [RFC4302] and ESP [RFC4303] and the two modes of
tunnel and transport. For example, IPsec can create a secure tunnel
between two gateways to protect traffic between sites, such as
between an enterprise's branch and its headquarters and between data
centers.
IPsec has an impact on forwarding performance due to the increased
overhead of encryption and decryption processing of IP packets.
Hence, the performance improvement of IPsec has been a significant
concern in the industry, especially in the above scenarios where the
original traffic rate is considerably high.
There have been some different approaches to address the performance
issues of IPsec. One is to use more efficient cryptographic
algorithms. For example, using the AES-GCM algorithm [RFC4106]
provides the same level of security as the AES-CBC algorithm but is
Pan & Fang Expires 25 April 2024 [Page 2]
Internet-Draft Adjustments of ESP Trailer October 2023
more efficient. Another is to use cryptographic hardware
acceleration. Hardware accelerators use specialized hardware to
perform encryption and decryption operations (other operations of
IPsec remain being implemented by software).
MACsec [MACsec] is a Layer 2 security protocol that provides security
for networks like data centers and enterprise networks. Since the
requirement of hop-by-hop deployment, MACsec is more complex to
deploy when compared to IPsec, but it has the distinct advantage of
high forwarding performance, which can even reach the line rate. One
important reason is that the entire MACsec process (not just
encryption and decryption processing) is implemented by hardware.
Similarly, utilizing hardware to implement the whole IPsec process is
also an effective means to improve IPsec performance.
However, the position of the ESP trailer in the IPsec ESP-
encapsulated packets poses a new overhead challenge for implementing
IPsec in hardware.
2. Problem Statement
Implementing IPsec in hardware is an ideal way to improve
performance, but it is also expensive. Not to mention the cost of
designing and manufacturing the hardware, IPsec ESP imposes
additional costs on the hardware due to its protocol design.
The IPsec ESP protocol places the Next Header and Padding in the ESP
trailer at the end of the packet. Based on the current design, after
processing the plain text of the IPsec ESP packet ( ESP Header and
the content before ), the (receiving) hardware can't use the manner
of "decrypting and then transmitting" to deal with the Payload Data.
It must cache the decrypted payload because it doesn't know how to
reorganize the packet header before the payload, until it gets the
Next Header and Padding information from the ESP trailer. For
example, in the ESP tunnel mode, the EtherType field in the Ethernet
frame should be set according to whether the inner packet is IPv4 or
IPv6. In another example, in the ESP transport mode, the length
field in the IP header should be adjusted according to the Padding
length.
Such a requirement for caching payload is at a considerable cost to
the hardware chip, including increased chip area and packet
processing latency. A larger chip area means greater power
consumption, which is not eco-friendly and not in line with the
current trend towards green energy efficiency.
Pan & Fang Expires 25 April 2024 [Page 3]
Internet-Draft Adjustments of ESP Trailer October 2023
3. Possible Solution
Suppose the Next Header and Padding information can be obtained
immediately after processing the ESP Header, even in the cipher text.
In that case, the hardware can perform all operations sequentially
without additional caching. The possible solutions to accomplish
this goal are listed below.
3.1. Simplified Next Header Judgment in ESP Tunnel Mode
In ESP tunnel mode, the inner payload is usually an IPv4 or IPv6
packet, and the first byte of both types of packets indicates the IP
protocol version (4 for IPv4, 6 for IPv6). Therefore, instead of
determining the protocol type of inner payload based on the Next
Header field in the ESP trailer, one possible solution is to decrypt
the first byte after the ESP Header and determine whether the inner
payload is IPv4 or IPv6 based on the value of that byte.
However, the ESP protocol [RFC4303] describes the behavior of sending
and discarding the dummy packet in support of traffic flow
confidentiality. The dummy packet is generated by the sender by
randomly generating a payload and discarded by the receiver by
recognizing the value of 59 in the Next Header field. Since the
payload is randomly generated, the value of its first byte maybe 4 or
6, which will cause the receiver to misjudge when this simplified
Next Header judgment method is used.
In an enterprise or data center network scenario, the two gateways
usually do not send the dummy packet after establishing an ESP
tunnel. Therefore, this simplified judgment is a relatively
practical solution in these scenarios. To be on the safe side,
adding a new negotiation between the two gateways can be considered,
i.e., to negotiate not sending dummy packets when creating a Child SA
in IKEv2 [RFC7296].
3.2. Adjust ESP Packet Format
Another solution is to change the ESP packet format by moving the ESP
trailer's position to right after the ESP Header, still retaining
encryption on the ESP trailer.
Pan & Fang Expires 25 April 2024 [Page 4]
Internet-Draft Adjustments of ESP Trailer October 2023
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) | ^Int.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Cov-
| Sequence Number | |ered
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ----
| Next Header | Pad Length | Padding (0-255 bytes) | | ^
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ | |
| | | |Conf.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + |Cov-
| Payload Data* (variable) | |ered*
~ ~ | |
| | v v
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ------
| Integrity Check Value-ICV (variable) |
~ ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: New ESP Packet Format
For the consideration of compatibility, the IPsec peers need to
explicitly negotiate the use of this new ESP format when creating the
Child SA.
This solution works not only for ESP tunnel mode but also for ESP
transport mode. However, accordingly, it has more changes to the
protocol.
4. Security Considerations
TBD
5. IANA Considerations
TBD
6. References
6.1. Normative References
[RFC4303] Kent, S., "IP Encapsulating Security Payload (ESP)",
RFC 4303, DOI 10.17487/RFC4303, December 2005,
<https://www.rfc-editor.org/rfc/rfc4303>.
Pan & Fang Expires 25 April 2024 [Page 5]
Internet-Draft Adjustments of ESP Trailer October 2023
[RFC7296] Kaufman, C., Hoffman, P., Nir, Y., Eronen, P., and T.
Kivinen, "Internet Key Exchange Protocol Version 2
(IKEv2)", STD 79, RFC 7296, DOI 10.17487/RFC7296, October
2014, <https://www.rfc-editor.org/rfc/rfc7296>.
6.2. Informative References
[MACsec] IEEE, "IEEE Standard for Local and metropolitan area
networks - Media Access Control (MAC) Security", IEEE Std
802.1AE-2018 , 27 September 2018,
<https://ieeexplore.ieee.org/document/8585421>.
[RFC4106] Viega, J. and D. McGrew, "The Use of Galois/Counter Mode
(GCM) in IPsec Encapsulating Security Payload (ESP)",
RFC 4106, DOI 10.17487/RFC4106, June 2005,
<https://www.rfc-editor.org/rfc/rfc4106>.
[RFC4301] Kent, S. and K. Seo, "Security Architecture for the
Internet Protocol", RFC 4301, DOI 10.17487/RFC4301,
December 2005, <https://www.rfc-editor.org/rfc/rfc4301>.
[RFC4302] Kent, S., "IP Authentication Header", RFC 4302,
DOI 10.17487/RFC4302, December 2005,
<https://www.rfc-editor.org/rfc/rfc4302>.
Authors' Addresses
Wei Pan
Huawei Technologies
China
Email: william.panwei@huawei.com
Chenyuan Fang
Huawei Technologies
China
Email: fangchenyuan@hisilicon.com
Pan & Fang Expires 25 April 2024 [Page 6]