Internet-Draft Deprecate AH and IPCOMP November 2026
Herbert & Wouters Expires 6 May 2027 [Page]
Workgroup:
Network Working Group
Updates:
RFC8200, RFC4303, and RFC4302 (if approved)
Published:
Intended Status:
Standards Track
Expires:
Authors:
T. Herbert
XDPnet
P. Wouters
Aiven

Deprecation of IP Authentication Header (AH) and IP Payload Compression Protocol (IPCOMP)

Abstract

IP Authentication Header (AH) and IP Payload Compression Protocol (IPCOMP) of the IPsec suite have been deprecated and RFC 3173 and RFC 4302 have been moved to Historic status. This document further updates the IANA IKEv2 Security Protocol Identifiers by adding a "Status" column where the deprecation status can be listed. This document also closes the IKEv2 Notification IPCOMP Transform IDs registry.

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 6 May 2027.

▲

Table of Contents

1. Introduction

This document deprecates the IP Authentication Header. There are three motivations: 1) There is no compelling reason to use authentication without encryption, 2) The Authentication Header is incompatible with a number of other protocols and breaks when those protocols are also used, and 3) There is likely zero deployment of the Authentication Header.

If approved, this document chnages [RFC4302] to Historical Status, and it updates [RFC8200] and [RFC4303].

1.1. Requirements Language

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

2. Previous and current work to deprecate AH

2.1. Draft to move AH to historical status

In 2011 [ah-to-hist] was posted for moving the Authentication Header to historical status. The primary motivations were that AH breaks Network Address Translation (NAT), and ESP-NULL can do everything useful that can be done with AH.

The draft did point at that it is argued that ESP in the tunnel mode is equivalent to AH transport mode, however ESP tunnel mode SA applied to an IPv6 flow results in at least 50 bytes of additional overhead per packet. The draft suggests that the issue may be alleviated by header compression schemes.

The draft mentions that firewalls in the enterprise environments often require visibility into packets. This is easier in AH than ESP since packets are transmitted in the clear. The draft asserts that this is solved by [RFC5840]

2.2. Draft recommending to avoid AH

[ah-to-hist] did not make progress in IETF so the author posted [ah-avoid]. This draft recommends retiring AH, and in particular it recommends that AH must not be used for new applications and protocols.

The motivations for retiring AH are the same as those given in [ah-to-hist]

2.3. Deprecating discussions during RFC7321 development

During the 2014 discussion of [I-D.ietf-ipsecme-esp-ah-reqts] which became [RFC7321] there was a discussion about deprecating AH. See the mail thread at [ml-esp-ah-reqts].

2.4. Deprecating discussions during WESP development

During the 2009 discussion of [RFC5840] the topic of AH depreccation also came up. See the mail thread at [ml-wesp-roadmap]. Here too, it was mentioned it was needed by OSPFv3.

2.5. Detailed summary posting to the IPsecME Working Group

A summary of arguments and why these likely no longer apply was posted to the IPsecME Working group in 2026, see [ml-ah-history].

2.6. RFC8221

[RFC8221] was published in 2017 and goes a long way towards deprecating the Authentication header. The RFC includes the following requirements:

2.7. OSPv3 deprecating AH

The only protocol left that currently has AH at the MAY level is OSPFv3 [RFC5340]. The reasoning at the time was that IPv6 had mandatory support for AH, and thus this would be the easiest way to enable authenticity of OSPFv3 packets. However, many routers did not have an IPsec stack, and did not want to implement the IPsec protocol and IKE protocol just for this feature. And IPv6 never obtained the mandatory status for IPsec for its core protocol. This lead to the creation of Authentication Trailer for OSPFv3 [RFC7166]. This alternative authentication support avoided the need to ship an entire IPsec and IKE stack in routers, and thus became the widespread method for OSPFv3 authentiation. There are plans underway at the moment to obsolete AH for OSPF, see [I-D.acee-lsr-ospfv3-deprecate-ah].

3. Motivation for deprecating AH

This section gives the motivation for deprecating the IP Authentication Header. The conclusion of this document is that the Authentication Header can be deprecated with little or no ill effects.

3.1. No known protocols specify AH as an option to secure their protocol

With the last known consumer of AH being deprecated, there seems to be little reason left to keep supporting AH.

3.2. Authentication without encryption is not compelling

The Authentication Header only provides for authentication of packet data and not confidentiality, that it does not encrypt the data. In its nature, authenticating data but not encrypting it is weaker security then authenticating and encrypting the data.

The Encapsulating Security Payload header [RFC4303] (ESP) can provide both integrity and confidentiality. The primary difference between the integrity provided by ESP and AH is the extent of the coverage. Specifically, ESP does not protect any IP header fields unless those fields are encapsulated by ESP. The value in the additional coverage afforded by AH is marginal. If fields in the IP header itself are corrupted it's likely that ESP with authentication would fail to be authenticated at the receiver, or at least the packet would be dropped due to a corrupted IP header. Since the lookup for the Security Association in ESP includes the packet's source and destination addresses there is protection against spoofed or corrupted IP addresses.

AH also provides integrity for IPv4 options or for IPv6 extension headers that precede the Authentication Header whereas ESP does not. This is also of marginal value since the options or extension headers themselves are sent in plain text with no confidentiality thereby making end-to-end information visible to untrusted parties. Besides that, IP options have been effectively deprecated and [depeh] proposes to deprecate the use of plain text extension headers in untrusted networks which is where AH is most applicable.

Ostensibly, an advantage of performing authentication without encryption is that the algorithms are simpler and lend themselves to practical and performant implementation. While this may have been true for legacy hardware twenty years ago, modern hardware has excellent support for computing AES at line rate so that the differences in algorithmic and implementation complexity between authentication and encryption is no longer pertinent.

3.3. Incompatibility of AH with other protocols

The Authentication Header does not provide integrity for data that might be modified in-flight. For this reason, when calculating the Integrity Check Value (IVC) for AH any fields that might be modified are removed from the calculation. For IPv4 this includes the TOS, Fragment Offset, TTL, and header checksum fields in the IPv4 header, as well as any mutable IP options; for IPv6 this includes the Hop Limit, Flow Label, and Traffic Class fields in the IPv6 header, as well as Hop-by-Hop and Destination options that are marked as modifiable. The same procedures must be followed by both the sender and the receiver, and the implementation for all this is rather complex. If fields are modified in-flight beyond those that AH allows to be modified then authentication will fail at the receiver. There are a number of protocols that make such modifications.

The Authentication Header is fundamentally incompatible with Network Address Translation (NAT) [RFC2663]. Network Address Translation modifies IP addresses and possibly port numbers of packets in-flight. If a packet containing an Authentication Header goes through a NAT device where IP addresses or port numbers are modified then the packet will fail to be authenticated at the receiver. There is no workaround for this. Even if the NAT detected the presence of an Authentication Header there is no means to incrementally update it like the TCP checksum can be updated by NAT.

There are other protocols that modify packets in-flight in ways that are incompatible with the Authentication Header. For Segment Routing [RFC8754], it is explicitly stated that use of the Segment Routing header with the Authentication Header is not supported. Similarly, In-flight removal of Hop-by-Hop Options header or the Routing header [inflrm] will not work if an Authentication Header is present in the packet.

Another issue is that the Authentication Header does not work with checksum offload. Checksum offload is a ubiquitous feature in Network Interface Cards (NICs) where a hardware device computes and sets the TCP or UDP checksum as packets are sent. From the point of view of AH the effect checksum offload is an unexpected in-flight modification to a packet, so packets with an Authentication Header that go through checksum offload will fail to be authenticated at the receiver.

3.4. No deployment of AH

It is a reasonable extrapolation that the Authentication Header is not used anywhere in deployment. There is no material advantage to using the Authentication Header instead of ESP even if the use case is just authentication. The prevalence of NAT and checksum offload that break the Authentication Header severely limit the environments in which AH could be productively deployed.

4. Motivation for deprecating IPCOMP

IPCOMP is a complicated feature. One has to create a regular IPsec SA and a Compression SA. For each packet, one has to compress it and check if the compression actually made the packet smaller. If so, send it out over the Compression SA. If the packet did not get smaller, throw away the compressed packet and send the original packet over the regular IPsec SA.

With modern traffic consisting of mostly encryption streams (eg TLS, HTTPS) and other compressed data such as video and audio codexes, performing IPCOMP will actually lead to a loss of performance with no compression gain.

On IoT devices, one might think this is a useful feature to transmit less bytes over the radio, but perhaps the added complexity is preventing those IoT devices from implementing IPCOMP.

The TLS protocol used to support compression before encryption, but that has since been deprecated due to cryptographic attacks such as [CRIME] and [BREACH]. Additionally, the choice of sending it through the regular or the compression IPsec SA is another oracle that could be exploited by attackers.

All in all, IPCOMP is a complicated and risky feature, that sees little to no deployment and might be suffering from uncovered cryptographic attacks. With the current wave of AI assisted software vulnerability discoveries, there is a push to remove old unused and defacto obsoleted code.

5. Updates to RFC8200 for AH deprecation

[RFC8200] is updated to remove references to the Authentication header.

The following text replaces the list and the note following the list of Section 4 of [RFC8200].

OLD (RFC8200)

NEW:

The following text replaces the list and the paragraph following the list of Section 4.1 of [RFC8200].

OLD (RFC8200)

NEW:

The following text replaces the fourth paragraph of Section 4.2 of [RFC8200].

OLD (RFC8200)

NEW:

The following text replaces the third paragraph after the list and notes of Section 4.6 of [RFC8200].

OLD (RFC8200)

NEW:

The following text replaces the first paragraph of Section 8.4 of [RFC8200].

OLD (RFC8200)

NEW:

The following reference should be removed from Section 10.2 of [RFC8200].

REMOVE (from RFC8200):

6. Updates to RFC4303 for AH deprecation

[RFC4303] is updated to remove references to the Authentication header.

The following text replaces the first paragraph of Section 1 of [RFC4303].

OLD (RFC4303)

NEW

The following text replaces the third paragraph of Section 1 of [RFC4303].

OLD (RFC4303)

NEW

The following text replaces the sixth paragraph of Section 1 of [RFC4303].

OLD (RFC4303)

NEW

The following text replaces the sixth paragraph of Section 1 of [RFC4303].

OLD (RFC4303)

NEW

The following text replaces the third list item of Section 2.1 of [RFC4303].

OLD (RFC4303)

NEW

The following text replaces the first paragraph of Section 3.1.1 of [RFC4303].

OLD (RFC4303)

NEW

The following reference should be removed from Section 10.2 of [RFC4303].

REMOVE

7. IANA Considerations

IANA is requested to mark "Authentication Header" in the "Protocol Numbers registry [IANA-PROTO-NUMS] as "Deprecated", and to mark "Authentication Header" in the "Internet Protocol Version 6 (IPv6) Parameters" registry [IANA-IPV6-PARAMS] as "Deprecated".

IANA is requested to add a Status field to the IKEv2 Security Protocol Identifiers registry, and to mark AH as deprecated with a reference of this document.

IANA is requested to close the IKEv2 Notification IPCOMP Transform IDs registry.

8. Security Considerations

This entire document is a proposal to enhance security by obsoleting the largely unused and deprecated AH and IPCOMP protocols from the IPsec suite.

9. Normative References

[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.
[RFC2663]
Srisuresh, P. and M. Holdrege, "IP Network Address Translator (NAT) Terminology and Considerations", RFC 2663, DOI 10.17487/RFC2663, , <https://www.rfc-editor.org/info/rfc2663>.
[RFC4302]
Kent, S., "IP Authentication Header", RFC 4302, DOI 10.17487/RFC4302, , <https://www.rfc-editor.org/info/rfc4302>.
[RFC4303]
Kent, S., "IP Encapsulating Security Payload (ESP)", RFC 4303, DOI 10.17487/RFC4303, , <https://www.rfc-editor.org/info/rfc4303>.
[RFC5840]
Grewal, K., Montenegro, G., and M. Bhatia, "Wrapped Encapsulating Security Payload (ESP) for Traffic Visibility", RFC 5840, DOI 10.17487/RFC5840, , <https://www.rfc-editor.org/info/rfc5840>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/info/rfc8174>.
[RFC8200]
Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", STD 86, RFC 8200, DOI 10.17487/RFC8200, , <https://www.rfc-editor.org/info/rfc8200>.
[RFC8221]
Wouters, P., Migault, D., Mattsson, J., Nir, Y., and T. Kivinen, "Cryptographic Algorithm Implementation Requirements and Usage Guidance for Encapsulating Security Payload (ESP) and Authentication Header (AH)", RFC 8221, DOI 10.17487/RFC8221, , <https://www.rfc-editor.org/info/rfc8221>.

10. Informative References

[ah-avoid]
Bhatia, M., "Avoiding Authentication Header (AH)", , <https://www.ietf.org/archive/id/draft-bhatia-ipsecme-avoiding-ah-00.txt>.
[ah-to-hist]
Bhatia, M., "Moving Authentication Header (AH) to Historic", , <https://https://www.ietf.org/archive/id/draft-bhatia-moving-ah-to-historic-00.txt>.
[BREACH]
Gluck, Y., Harris, N., and A. Prado, "BREACH: Reviving the CRIME Attack", , <http://breachattack.com/resources/BREACH%20-%20SSL,%20gone%20in%2030%20seconds.pdf>.
[CRIME]
Rizzo, J. and T. Duong, "The CRIME attack", Ekoparty Security Conference 2012, .
[depeh]
Herbert, T., "Infight Removal of IPv6 Hop-by-Hop and Routing Headers", , <https://www.ietf.org/archive/id/draft-herbert-deprecate-eh-00.txt>.
[I-D.acee-lsr-ospfv3-deprecate-ah]
Lindem, A. and B. Surendran, "Deprecation of the IPsec Authentication Header (AH) for OSPFv3 Authentication", Work in Progress, Internet-Draft, draft-acee-lsr-ospfv3-deprecate-ah-02, , <https://datatracker.ietf.org/doc/html/draft-acee-lsr-ospfv3-deprecate-ah-02>.
[I-D.ietf-ipsecme-esp-ah-reqts]
McGrew, D. and P. E. Hoffman, "Cryptographic Algorithm Implementation Requirements and Usage Guidance for Encapsulating Security Payload (ESP) and Authentication Header (AH)", Work in Progress, Internet-Draft, draft-ietf-ipsecme-esp-ah-reqts-10, , <https://datatracker.ietf.org/doc/html/draft-ietf-ipsecme-esp-ah-reqts-10>.
[IANA-IPV6-PARAMS]
"Internet Protocol Version 6 (IPv6) Parameters: IPv6 Extension Header Types"", <https://www.iana.org/assignments/ipv6-parameters/ipv6-parameters.xhtml>.
[IANA-PROTO-NUMS]
"Protocol Numbers", <https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml>.
[inflrm]
Herbert, T., "Infight Removal of IPv6 Hop-by-Hop and Routing Headers", , <https://www.ietf.org/archive/id/draft-herbert-eh-inflight-removal-04.txt>.
[ml-ah-history]
Wouters, P., "[IPsec] On the history of requiring / deprecating AH support", IPsec mailing list, , <https://mailarchive.ietf.org/arch/msg/ipsec/bSo90nasKyApHKVt6iEA0TkZrbU/>.
[ml-esp-ah-reqts]
"[IPsec] I-D Action: draft-ietf-ipsecme-esp-ah-reqts-03.txt", IPsec mailing list, , <https://mailarchive.ietf.org/arch/msg/ipsec/HoZYWhu_Sb_L_4RVqO_T1k8fo9w/>.
[ml-wesp-roadmap]
"Re: [IPsec] WESP - Roadmap Ahead", IPsec mailing list, , <https://mailarchive.ietf.org/arch/msg/ipsec/FzNFom4GQ6bUuFmYMDGDnufDtbQ/>.
[RFC5340]
Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF for IPv6", RFC 5340, DOI 10.17487/RFC5340, , <https://www.rfc-editor.org/info/rfc5340>.
[RFC7166]
Bhatia, M., Manral, V., and A. Lindem, "Supporting Authentication Trailer for OSPFv3", RFC 7166, DOI 10.17487/RFC7166, , <https://www.rfc-editor.org/info/rfc7166>.
[RFC7321]
McGrew, D. and P. Hoffman, "Cryptographic Algorithm Implementation Requirements and Usage Guidance for Encapsulating Security Payload (ESP) and Authentication Header (AH)", RFC 7321, DOI 10.17487/RFC7321, , <https://www.rfc-editor.org/info/rfc7321>.
[RFC8754]
Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J., Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header (SRH)", RFC 8754, DOI 10.17487/RFC8754, , <https://www.rfc-editor.org/info/rfc8754>.

Authors' Addresses

Tom Herbert
XDPnet
Los Gatos, CA,
United States of America
Paul Wouters
Aiven