< draft-ietf-emu-eaptlscert-06.txt   draft-ietf-emu-eaptlscert-07.txt >
Network Working Group M. Sethi Network Working Group M. Sethi
Internet-Draft J. Mattsson Internet-Draft J. Mattsson
Intended status: Informational Ericsson Intended status: Informational Ericsson
Expires: May 1, 2021 S. Turner Expires: May 23, 2021 S. Turner
sn3rd sn3rd
October 28, 2020 November 19, 2020
Handling Large Certificates and Long Certificate Chains Handling Large Certificates and Long Certificate Chains
in TLS-based EAP Methods in TLS-based EAP Methods
draft-ietf-emu-eaptlscert-06 draft-ietf-emu-eaptlscert-07
Abstract Abstract
The Extensible Authentication Protocol (EAP), defined in RFC3748, The Extensible Authentication Protocol (EAP), defined in RFC3748,
provides a standard mechanism for support of multiple authentication provides a standard mechanism for support of multiple authentication
methods. EAP-Transport Layer Security (EAP-TLS) and other TLS-based methods. EAP-Transport Layer Security (EAP-TLS) and other TLS-based
EAP methods are widely deployed and used for network access EAP methods are widely deployed and used for network access
authentication. Large certificates and long certificate chains authentication. Large certificates and long certificate chains
combined with authenticators that drop an EAP session after only 40 - combined with authenticators that drop an EAP session after only 40 -
50 round-trips is a major deployment problem. This document looks at 50 round-trips is a major deployment problem. This document looks at
the this problem in detail and describes the potential solutions this problem in detail and describes the potential solutions
available. available.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
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."
This Internet-Draft will expire on May 1, 2021. This Internet-Draft will expire on May 23, 2021.
Copyright Notice Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the Copyright (c) 2020 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 19 skipping to change at page 2, line 19
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Experience with Deployments . . . . . . . . . . . . . . . . . 4 3. Experience with Deployments . . . . . . . . . . . . . . . . . 4
4. Handling of Large Certificates and Long Certificate Chains . 5 4. Handling of Large Certificates and Long Certificate Chains . 5
4.1. Updating Certificates and Certificate Chains . . . . . . 5 4.1. Updating Certificates and Certificate Chains . . . . . . 5
4.1.1. Guidelines for Certificates . . . . . . . . . . . . . 5 4.1.1. Guidelines for Certificates . . . . . . . . . . . . . 6
4.1.2. Pre-distributing and Omitting CA certificates . . . . 7 4.1.2. Pre-distributing and Omitting CA certificates . . . . 7
4.1.3. Using Fewer Intermediate Certificates . . . . . . . . 7 4.1.3. Using Fewer Intermediate Certificates . . . . . . . . 7
4.2. Updating TLS and EAP-TLS Code . . . . . . . . . . . . . . 7 4.2. Updating TLS and EAP-TLS Code . . . . . . . . . . . . . . 7
4.2.1. URLs for Client Certificates . . . . . . . . . . . . 7 4.2.1. URLs for Client Certificates . . . . . . . . . . . . 7
4.2.2. Caching Certificates . . . . . . . . . . . . . . . . 8 4.2.2. Caching Certificates . . . . . . . . . . . . . . . . 8
4.2.3. Compressing Certificates . . . . . . . . . . . . . . 8 4.2.3. Compressing Certificates . . . . . . . . . . . . . . 8
4.2.4. Compact TLS 1.3 . . . . . . . . . . . . . . . . . . . 9 4.2.4. Compact TLS 1.3 . . . . . . . . . . . . . . . . . . . 9
4.2.5. Suppressing Intermediate Certificates . . . . . . . . 9 4.2.5. Suppressing Intermediate Certificates . . . . . . . . 9
4.2.6. Raw Public Keys . . . . . . . . . . . . . . . . . . . 9 4.2.6. Raw Public Keys . . . . . . . . . . . . . . . . . . . 9
4.2.7. New Certificate Types and Compression Algorithms . . 9 4.2.7. New Certificate Types and Compression Algorithms . . 10
4.3. Updating Authenticators . . . . . . . . . . . . . . . . . 10 4.3. Updating Authenticators . . . . . . . . . . . . . . . . . 10
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
6. Security Considerations . . . . . . . . . . . . . . . . . . . 10 6. Security Considerations . . . . . . . . . . . . . . . . . . . 11
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 11
7.1. Normative References . . . . . . . . . . . . . . . . . . 11 7.1. Normative References . . . . . . . . . . . . . . . . . . 11
7.2. Informative References . . . . . . . . . . . . . . . . . 12 7.2. Informative References . . . . . . . . . . . . . . . . . 12
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 13 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 14
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14
1. Introduction 1. Introduction
The Extensible Authentication Protocol (EAP), defined in [RFC3748], The Extensible Authentication Protocol (EAP), defined in [RFC3748],
provides a standard mechanism for support of multiple authentication provides a standard mechanism for support of multiple authentication
methods. EAP-Transport Layer Security (EAP-TLS) [RFC5216] methods. EAP-Transport Layer Security (EAP-TLS) [RFC5216]
[I-D.ietf-emu-eap-tls13] relies on TLS [RFC8446] to provide strong [I-D.ietf-emu-eap-tls13] relies on TLS [RFC8446] to provide strong
mutual authentication with certificates [RFC5280] and is widely mutual authentication with certificates [RFC5280] and is widely
deployed and often used for network access authentication. There are deployed and often used for network access authentication. There are
also many other TLS-based EAP methods, such as Flexible also many other TLS-based EAP methods, such as Flexible
Authentication via Secure Tunneling (EAP-FAST) [RFC4851], Tunneled Authentication via Secure Tunneling (EAP-FAST) [RFC4851], Tunneled
Transport Layer Security (EAP-TTLS) [RFC5281], Tunnel Extensible Transport Layer Security (EAP-TTLS) [RFC5281], Tunnel Extensible
Authentication Protocol (EAP-TEAP) [RFC7170], and possibly many Authentication Protocol (EAP-TEAP) [RFC7170], and possibly many
vendor specific EAP methods. vendor-specific EAP methods.
Certificates in EAP deployments can be relatively large, and the Certificates in EAP deployments can be relatively large, and the
certificate chains can be long. Unlike the use of TLS on the web, certificate chains can be long. Unlike the use of TLS on the web,
where typically only the TLS server is authenticated; EAP-TLS where typically only the TLS server is authenticated; EAP-TLS
deployments typically authenticates both the EAP peer and the EAP deployments typically authenticate both the EAP peer and the EAP
server. Also, from deployment experience, EAP peers typically have server. Also, from deployment experience, EAP peers typically have
longer certificate chains than servers. This is because EAP peers longer certificate chains than servers. This is because EAP peers
often follow organizational hierarchies and tend to have many often follow organizational hierarchies and tend to have many
intermediate certificates. Thus, EAP-TLS authentication usually intermediate certificates. Thus, EAP-TLS authentication usually
involves exchange of significantly more octets than when TLS is used involves exchange of significantly more octets than when TLS is used
as part of HTTPS. as part of HTTPS.
Section 3.1 of [RFC3748] states that EAP implementations can assume a Section 3.1 of [RFC3748] states that EAP implementations can assume a
MTU of at least 1020 octets from lower layers. The EAP fragment size Maximum Transmission Unit (MTU) of at least 1020 octets from lower
in typical deployments is just 1020 - 1500 octets (since the maximum layers. The EAP fragment size in typical deployments is just 1020 -
Ethernet frame size is ~ 1500 bytes). Thus, EAP-TLS authentication 1500 octets (since the maximum Ethernet frame size is ~ 1500 bytes).
needs to be fragmented into many smaller packets for transportation Thus, EAP-TLS authentication needs to be fragmented into many smaller
over the lower layers. Such fragmentation can not only negatively packets for transportation over the lower layers. Such fragmentation
affect the latency, but also results in other challenges. For not only can negatively affect the latency, but also results in other
example, some EAP authenticator (access point) implementations will challenges. For example, some EAP authenticator (access point)
drop an EAP session if it has not finished after 40 - 50 round-trips. implementations will drop an EAP session if it has not finished after
This is a major problem and means that in many situations, the EAP 40 - 50 round-trips. This is a major problem and means that in many
peer cannot perform network access authentication even though both situations, the EAP peer cannot perform network access authentication
the sides have valid credentials for successful authentication and even though both the sides have valid credentials for successful
key derivation. authentication and key derivation.
Not all EAP deployments are constrained by the MTU of the lower Not all EAP deployments are constrained by the MTU of the lower
layer. For example, some implementations support EAP over Ethernet layer. For example, some implementations support EAP over Ethernet
"Jumbo" frames that can easily allow very large EAP packets. Larger "Jumbo" frames that can easily allow very large EAP packets. Larger
packets will naturally help lower the number of round trips required packets will naturally help lower the number of round trips required
for successful EAP-TLS authentication. However, deployment for successful EAP-TLS authentication. However, deployment
experience has shown that these jumbo frames are not always experience has shown that these jumbo frames are not always
implemented correctly. Additionally, EAP fragment size is also implemented correctly. Additionally, EAP fragment size is also
restricted by protocols such as RADIUS [RFC2865] which are restricted by protocols such as RADIUS [RFC2865] which are
responsible for transporting EAP messages between an authenticator responsible for transporting EAP messages between an authenticator
skipping to change at page 4, line 28 skipping to change at page 4, line 28
TLS, the EAP peer implements the TLS client role. TLS, the EAP peer implements the TLS client role.
EAP server The entity that terminates the EAP authentication method EAP server The entity that terminates the EAP authentication method
with the peer. In the case where no backend authentication with the peer. In the case where no backend authentication
server is used, the EAP server is part of the authenticator. server is used, the EAP server is part of the authenticator.
In the case where the authenticator operates in pass-through In the case where the authenticator operates in pass-through
mode, the EAP server is located on the backend authentication mode, the EAP server is located on the backend authentication
server. In EAP-TLS, the EAP server implements the TLS server server. In EAP-TLS, the EAP server implements the TLS server
role. role.
The document additionally uses the terms trust anchor and The document additionally uses the terms "trust anchor" and
certification path defined in [RFC5280]. "certification path" defined in [RFC5280].
3. Experience with Deployments 3. Experience with Deployments
As stated earlier, the EAP fragment size in typical deployments is As stated earlier, the EAP fragment size in typical deployments is
just 1020 - 1500 octets. Certificate sizes can however be large for just 1020 - 1500 octets. A certificate can, however, be large for a
a number of reasons: number of reasons:
o Long Subject Alternative Name field. o It can have a long Subject Alternative Name field.
o Long Public Key and Signature fields. o It can have long Public Key and Signature fields.
o Can contain multiple object identifiers (OID) that indicate the o It can contain multiple object identifiers (OID) that indicate the
permitted uses of the certificate as noted in Section 5.3 of permitted uses of the certificate as noted in Section 5.3 of
[RFC5216]. Most implementations verify the presence of these OIDs [RFC5216]. Most implementations verify the presence of these OIDs
for successful authentication. for successful authentication.
o Multiple user groups in the certificate. o It can contain multiple organization fields to reflect the
multiple group memberships of a user (in a client certificate).
A certificate chain (called a certification path in [RFC5280]) can A certificate chain (called a certification path in [RFC5280]) in
commonly have 2 - 6 intermediate certificates between the end-entity EAP-TLS can commonly have 2 - 6 intermediate certificates between the
certificate and the trust anchor. end-entity certificate and the trust anchor.
The size of certificates (and certificate chains) may also increase
many-fold in the future with the introduction of quantum-safe
cryptography. For example, lattice-based cryptography would have
public keys of approximately 1000 bytes and signatures of
approximately 2000 bytes.
Many access point implementations drop EAP sessions that do not Many access point implementations drop EAP sessions that do not
complete within 50 round-trips. This means that if the chain is complete within 40 - 50 round-trips. This means that if the chain is
larger than ~ 60 kbytes, EAP-TLS authentication cannot complete larger than ~ 60 kbytes, EAP-TLS authentication cannot complete
successfully in most deployments. successfully in most deployments.
4. Handling of Large Certificates and Long Certificate Chains 4. Handling of Large Certificates and Long Certificate Chains
This section discusses some possible alternatives for overcoming the This section discusses some possible alternatives for overcoming the
challenge of large certificates and long certificate chains in EAP- challenge of large certificates and long certificate chains in EAP-
TLS authentication. Section 4.1 considers recommendations that TLS authentication. Section 4.1 considers recommendations that
require an update of the certificates or certificate chains used for require an update of the certificates or certificate chains used for
EAP-TLS authentication without requiring changes to the existing EAP- EAP-TLS authentication without requiring changes to the existing EAP-
skipping to change at page 5, line 31 skipping to change at page 5, line 37
Finally, Section 4.3 briefly discusses what could be done to update Finally, Section 4.3 briefly discusses what could be done to update
or reconfigure authenticators when it is infeasible to replace or reconfigure authenticators when it is infeasible to replace
deployed components giving a solution which can be deployed without deployed components giving a solution which can be deployed without
changes to existing certificates or code. changes to existing certificates or code.
4.1. Updating Certificates and Certificate Chains 4.1. Updating Certificates and Certificate Chains
Many IETF protocols now use elliptic curve cryptography (ECC) Many IETF protocols now use elliptic curve cryptography (ECC)
[RFC6090] for the underlying cryptographic operations. The use of [RFC6090] for the underlying cryptographic operations. The use of
ECC can reduce the size of certificates and signatures. For example, ECC can reduce the size of certificates and signatures. For example,
at a 128-bit security level, the size of public keys with traditional at a 128-bit security level, the size of a public key with
RSA is about 384 bytes, while the size of public keys with ECC is traditional RSA is about 384 bytes, while the size of a public key
only 32-64 bytes. Similarly, the size of digital signatures with with ECC is only 32-64 bytes. Similarly, the size of a digital
traditional RSA is 384 bytes, while the size is only 64 bytes with signature with traditional RSA is 384 bytes, while the size is only
elliptic curve digital signature algorithm (ECDSA) and Edwards-curve 64 bytes with elliptic curve digital signature algorithm (ECDSA) and
digital signature algorithm (EdDSA) [RFC8032]. Using certificates Edwards-curve digital signature algorithm (EdDSA) [RFC8032]. Using
that use ECC can reduce the number of messages in EAP-TLS certificates that use ECC can reduce the number of messages in EAP-
authentication which can alleviate the problem of authenticators TLS authentication, which can alleviate the problem of authenticators
dropping an EAP session because of too many round-trips. In the dropping an EAP session because of too many round-trips. In the
absence of a standard application profile specifying otherwise, TLS absence of a standard application profile specifying otherwise, TLS
1.3 [RFC8446] requires implementations to support ECC. New cipher 1.3 [RFC8446] requires implementations to support ECC. New cipher
suites that use ECC are also specified for TLS 1.2 [RFC5289]. Using suites that use ECC are also specified for TLS 1.2 [RFC8422]. Using
ECC based cipher suites with existing code can significantly reduce ECC-based cipher suites with existing code can significantly reduce
the number of messages in a single EAP session. the number of messages in a single EAP session.
4.1.1. Guidelines for Certificates 4.1.1. Guidelines for Certificates
The general guideline of keeping the certificate size small by not The general guideline of keeping the certificate size small by not
populating fields with excessive information can help avert the populating fields with excessive information can help avert the
problems of failed EAP-TLS authentication. More specific problems of failed EAP-TLS authentication. More specific
recommendations for certificates used with EAP-TLS are as follows: recommendations for certificates used with EAP-TLS are as follows:
o Object Identifiers (OIDs) is an ASN.1 data type that defines o Object Identifier (OID) is an ASN.1 data type that defines unique
unique identifiers for objects. The OID's ASN.1 value, which is a identifiers for objects. The OID's ASN.1 value, which is a string
string of integers, is then used to name objects to which they of integers, is then used to name objects to which they relate.
relate. The Distinguished Encoding Rules (DER) length for the The Distinguished Encoding Rules (DER) specify that the first two
first two integers is always one octet and subsequent integers are integers always occupy one octet and subsequent integers are base
base 128-encoded in the fewest possible octets. OIDs are used 128-encoded in the fewest possible octets. OIDs are used lavishly
lavishly in X.509 certificates [RFC5280] and while not all can be in X.509 certificates [RFC5280] and while not all can be avoided,
avoided, e.g., OIDs for extensions or algorithms and their e.g., OIDs for extensions or algorithms and their associate
associate parameters, some are well within the certificate parameters, some are well within the certificate issuer's control:
issuer's control:
* Each naming attribute in a DN (Directory Name) has one. DNs * Each naming attribute in a DN (Directory Name) has one. DNs
used in the issuer and subject fields as well as numerous are used in the issuer and subject fields as well as numerous
extensions. A shallower naming will be smaller, e.g., C=FI, extensions. A shallower naming will be smaller, e.g., C=FI,
O=Example, SN=B0A123499EFC as against C=FI, O=Example, O=Example, SN=B0A123499EFC as against C=FI, O=Example,
OU=Division 1, SOPN=Southern Finland, CN=Coolest IoT Gadget OU=Division 1, SOPN=Southern Finland, CN=Coolest IoT Gadget
Ever, SN=B0A123499EFC. Ever, SN=B0A123499EFC.
* Every certificate policy (and qualifier) and any mappings to * Every certificate policy (and qualifier) and any mappings to
another policy uses identifiers. Consider carefully what another policy uses identifiers. Consider carefully what
policies apply. policies apply.
o DirectoryString and GeneralName types are used extensively to name o DirectoryString and GeneralName types are used extensively to name
skipping to change at page 7, line 25 skipping to change at page 7, line 28
updating TLS implementations to version 1.3 can help to significantly updating TLS implementations to version 1.3 can help to significantly
reduce the number of messages exchanged for EAP-TLS authentication. reduce the number of messages exchanged for EAP-TLS authentication.
The omitted certificates need to be pre-distributed independently of The omitted certificates need to be pre-distributed independently of
TLS and the TLS implementations need to be configured to omit these TLS and the TLS implementations need to be configured to omit these
pre-distributed certificates. pre-distributed certificates.
4.1.3. Using Fewer Intermediate Certificates 4.1.3. Using Fewer Intermediate Certificates
The EAP peer certificate chain does not have to mirror the The EAP peer certificate chain does not have to mirror the
organizational hierarchy. For successful EAP-TLS authentication, organizational hierarchy. For successful EAP-TLS authentication,
certificate chains SHOULD NOT contain more than 2-4 intermediate certificate chains SHOULD NOT contain more than 4 intermediate
certificates. certificates.
Administrators responsible for deployments using TLS-based EAP Administrators responsible for deployments using TLS-based EAP
methods can examine the certificate chains and make rough methods can examine the certificate chains and make rough
calculations about the number of round trips required for successful calculations about the number of round trips required for successful
authentication. For example, dividing the total size of all the authentication. For example, dividing the total size of all the
certificates in the peer and server certificate chain (in bytes) by certificates in the peer and server certificate chain (in bytes) by
1020 bytes will indicate the minimum number of round trips required. 1020 bytes will indicate the minimum number of round trips required.
If this number exceeds 50, then, administrators can expect failures If this number exceeds 50, then, administrators can expect failures
with many common authenticator implementations. with many common authenticator implementations.
4.2. Updating TLS and EAP-TLS Code 4.2. Updating TLS and EAP-TLS Code
This section discusses how the fragmentation problem can be avoided This section discusses how the fragmentation problem can be avoided
by updating the underlying TLS or EAP-TLS implementation. Note that by updating the underlying TLS or EAP-TLS implementation. Note that
in many cases the new feature may already be implemented in the in some cases the new feature may already be implemented in the
underlying library and simply needs to be taken into use. underlying library and simply needs to be taken into use.
4.2.1. URLs for Client Certificates 4.2.1. URLs for Client Certificates
[RFC6066] defines the "client_certificate_url" extension which allows [RFC6066] defines the "client_certificate_url" extension which allows
TLS clients to send a sequence of Uniform Resource Locators (URLs) TLS clients to send a sequence of Uniform Resource Locators (URLs)
instead of the client certificate. URLs can refer to a single instead of the client certificate. URLs can refer to a single
certificate or a certificate chain. Using this extension can curtail certificate or a certificate chain. Using this extension can curtail
the amount of fragmentation in EAP deployments thereby allowing EAP the amount of fragmentation in EAP deployments thereby allowing EAP
sessions to successfully complete. sessions to successfully complete.
skipping to change at page 8, line 32 skipping to change at page 8, line 35
successful full handshake before any caching. This extension can be successful full handshake before any caching. This extension can be
useful when, for example, a successful authentication between an EAP useful when, for example, a successful authentication between an EAP
peer and EAP server has occurred in the home network. If peer and EAP server has occurred in the home network. If
authenticators in a roaming network are stricter at dropping long EAP authenticators in a roaming network are stricter at dropping long EAP
sessions, an EAP peer can use the Cached Information Extension to sessions, an EAP peer can use the Cached Information Extension to
reduce the total number of messages. reduce the total number of messages.
However, if all authenticators drop the EAP session for a given EAP However, if all authenticators drop the EAP session for a given EAP
peer and EAP server combination, a successful full handshake is not peer and EAP server combination, a successful full handshake is not
possible. An option in such a scenario would be to cache validated possible. An option in such a scenario would be to cache validated
certificate chains even if the EAP-TLS exchange fails, but this is certificate chains even if the EAP-TLS exchange fails, but such
currently not allowed according to [RFC7924]. caching is currently not specified in [RFC7924].
4.2.3. Compressing Certificates 4.2.3. Compressing Certificates
The TLS working group is also working on an extension for TLS 1.3 The TLS working group is also working on an extension for TLS 1.3
[I-D.ietf-tls-certificate-compression] that allows compression of [I-D.ietf-tls-certificate-compression] that allows compression of
certificates and certificate chains during full handshakes. The certificates and certificate chains during full handshakes. The
client can indicate support for compressed server certificates by client can indicate support for compressed server certificates by
including this extension in the ClientHello message. Similarly, the including this extension in the ClientHello message. Similarly, the
server can indicate support for compression of client certificates by server can indicate support for compression of client certificates by
including this extension in the CertificateRequest message. While including this extension in the CertificateRequest message. While
skipping to change at page 9, line 11 skipping to change at page 9, line 11
fragmentation in EAP-TLS, it can only be used with TLS version 1.3 fragmentation in EAP-TLS, it can only be used with TLS version 1.3
and higher. Deployments that rely on older versions of TLS cannot and higher. Deployments that rely on older versions of TLS cannot
benefit from this extension. benefit from this extension.
4.2.4. Compact TLS 1.3 4.2.4. Compact TLS 1.3
[I-D.ietf-tls-ctls] defines a "compact" version of TLS 1.3 and [I-D.ietf-tls-ctls] defines a "compact" version of TLS 1.3 and
reduces the message size of the protocol by removing obsolete reduces the message size of the protocol by removing obsolete
material and using more efficient encoding. It also defines a material and using more efficient encoding. It also defines a
compression profile with which either side can define a dictionary of compression profile with which either side can define a dictionary of
"known certificates". Thus, cTLS can provide another mechanism for "known certificates". Thus, cTLS could provide another mechanism for
EAP-TLS deployments to reduce the size of messages and avoid EAP-TLS deployments to reduce the size of messages and avoid
excessive fragmentation. excessive fragmentation.
4.2.5. Suppressing Intermediate Certificates 4.2.5. Suppressing Intermediate Certificates
For a client that has all intermediate certificates in the For a client that has all intermediate certificates in the
certificate chain, having the server send intermediates in the TLS certificate chain, having the server send intermediates in the TLS
handshake increases the size of the handshake unnecessarily. The TLS handshake increases the size of the handshake unnecessarily.
working group is working on an extension for TLS 1.3 [I-D.thomson-tls-sic] proposes an extension for TLS 1.3 that allows a
[I-D.thomson-tls-sic] that allows a TLS client that has access to the TLS client that has access to the complete set of published
complete set of published intermediate certificates to inform servers intermediate certificates to inform servers of this fact so that the
of this fact so that the server can avoid sending intermediates, server can avoid sending intermediates, reducing the size of the TLS
reducing the size of the TLS handshake. The mechanism is intended to handshake. The mechanism is intended to be complementary with
be complementary with certificate compression. certificate compression.
The Authority Information Access (AIA) extension specified in
[RFC5280] can be used with end-entity and CA certificates to access
information about the issuer of the certificate in which the
extension appears. For example, it can be used to provide the
address of the OCSP responder from where revocation status of the
certificate (in which the extension appears) can be checked. It can
also be used to obtain the issuer certificate. Thus, the AIA
extension can reduce the size of the certificate chain by only
including a pointer to the issuer certificate instead of including
the entire issuer certificate. However, it requires the side
receiving the certificate containing the extension to have network
connectivity (unless the information is already cached locally).
Naturally, such indirection cannot be used for the server certificate
(since EAP peers in most deployments do not have network connectivity
before authentication and typically do not maintain an up-to-date
local cache of issuer certificates).
4.2.6. Raw Public Keys 4.2.6. Raw Public Keys
[RFC7250] defines a new certificate type and TLS extensions to enable [RFC7250] defines a new certificate type and TLS extensions to enable
the use of raw public keys for authentication. Raw public keys use the use of raw public keys for authentication. Raw public keys use
only a subset of information found in typical certificates and are only a subset of information found in typical certificates and are
therefore much smaller in size. However, raw public keys require an therefore much smaller in size. However, raw public keys require an
out-of-band mechanism to bind the public key with the entity out-of-band mechanism to bind the public key with the entity
presenting the key. Using raw public keys will obviously avoid the presenting the key. Using raw public keys will obviously avoid the
fragmentation problems resulting from large certificates and long fragmentation problems resulting from large certificates and long
certificate chains. Deployments can consider their use as long as an certificate chains. Deployments can consider their use as long as an
appropriate out-of-band mechanism for binding public keys with appropriate out-of-band mechanism for binding public keys with
identifiers is in place. identifiers is in place. Naturally, deployments will also need to
consider the challenges of revocation and key rotation with the use
of raw public keys.
4.2.7. New Certificate Types and Compression Algorithms 4.2.7. New Certificate Types and Compression Algorithms
There is ongoing work to specify new certificate types and There is ongoing work to specify new certificate types and
compression algorithms. For example, compression algorithms. For example,
[I-D.mattsson-tls-cbor-cert-compress] defines a compression algorithm [I-D.mattsson-tls-cbor-cert-compress] defines a compression algorithm
for certificates that relies on Concise Binary Object Representation for certificates that relies on Concise Binary Object Representation
(CBOR) [RFC7049]. [I-D.tschofenig-tls-cwt] registers a new TLS (CBOR) [RFC7049]. [I-D.tschofenig-tls-cwt] registers a new TLS
Certificate type which would enable TLS implementations to use CBOR Certificate type which would enable TLS implementations to use CBOR
Web Tokens (CWTs) [RFC8392] as certificates. While these are early Web Tokens (CWTs) [RFC8392] as certificates. While these are early
skipping to change at page 10, line 16 skipping to change at page 10, line 34
There are several legitimate reasons that authenticators may want to There are several legitimate reasons that authenticators may want to
limit the number of round-trips/packets/octets that can be sent. The limit the number of round-trips/packets/octets that can be sent. The
main reason has been to work around issues where the EAP peer and EAP main reason has been to work around issues where the EAP peer and EAP
server end up in an infinite loop ACKing their messages. Another server end up in an infinite loop ACKing their messages. Another
reason is that unlimited communication from an unauthenticated device reason is that unlimited communication from an unauthenticated device
using EAP could provide a channel for inappropriate bulk data using EAP could provide a channel for inappropriate bulk data
transfer. A third reason is to prevent denial-of-service attacks. transfer. A third reason is to prevent denial-of-service attacks.
Updating the millions of already deployed access points and switches Updating the millions of already deployed access points and switches
is in many cases not realistic. Vendors may be out of business or do is in many cases not realistic. Vendors may be out of business or no
no longer support the products and administrators may have lost the longer supporting the products and administrators may have lost the
login information to the devices. For practical purposes the EAP login information to the devices. For practical purposes the EAP
infrastructure is ossified for the time being. infrastructure is ossified for the time being.
Vendors making new authenticators should consider increasing the Vendors making new authenticators should consider increasing the
number of round-trips allowed to 100 before denying the EAP number of round-trips allowed to 100 before denying the EAP
authentication to complete. Based on the size of the certificates authentication to complete. Based on the size of the certificates
and certificate chains currently deployed, such an increase would and certificate chains currently deployed, such an increase would
likely ensure that peers and servers can complete EAP-TLS likely ensure that peers and servers can complete EAP-TLS
authentication. At the same time, administrators responsible for EAP authentication. At the same time, administrators responsible for EAP
deployments should ensure that this 100 roundtrip limit is not deployments should ensure that this 100 roundtrip limit is not
skipping to change at page 10, line 44 skipping to change at page 11, line 19
6. Security Considerations 6. Security Considerations
Updating implementations to TLS version 1.3 allows omitting all Updating implementations to TLS version 1.3 allows omitting all
certificates with a trust anchor known by the other endpoint. TLS certificates with a trust anchor known by the other endpoint. TLS
1.3 additionally provides improved security, privacy, and reduced 1.3 additionally provides improved security, privacy, and reduced
latency for EAP-TLS [I-D.ietf-emu-eap-tls13]. latency for EAP-TLS [I-D.ietf-emu-eap-tls13].
Security considerations when compressing certificates are specified Security considerations when compressing certificates are specified
in [I-D.ietf-tls-certificate-compression]. in [I-D.ietf-tls-certificate-compression].
As noted in [I-D.thomson-tls-sic], suppressing intermediate Specific security considerations of the referenced documents apply
certificates creates an unencrypted signal that might be used to when they are taken into use.
identify which clients believe that they have all intermediates.
This might also allow more effective fingerprinting and tracking of
clients.
7. References 7. References
7.1. Normative References 7.1. Normative References
[I-D.ietf-emu-eap-tls13] [I-D.ietf-emu-eap-tls13]
Mattsson, J. and M. Sethi, "Using EAP-TLS with TLS 1.3", Mattsson, J. and M. Sethi, "Using EAP-TLS with TLS 1.3",
draft-ietf-emu-eap-tls13-11 (work in progress), October draft-ietf-emu-eap-tls13-12 (work in progress), November
2020. 2020.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC3748] Aboba, B., Blunk, L., Vollbrecht, J., Carlson, J., and H. [RFC3748] Aboba, B., Blunk, L., Vollbrecht, J., Carlson, J., and H.
Levkowetz, Ed., "Extensible Authentication Protocol Levkowetz, Ed., "Extensible Authentication Protocol
(EAP)", RFC 3748, DOI 10.17487/RFC3748, June 2004, (EAP)", RFC 3748, DOI 10.17487/RFC3748, June 2004,
skipping to change at page 12, line 9 skipping to change at page 12, line 26
[RFC7170] Zhou, H., Cam-Winget, N., Salowey, J., and S. Hanna, [RFC7170] Zhou, H., Cam-Winget, N., Salowey, J., and S. Hanna,
"Tunnel Extensible Authentication Protocol (TEAP) Version "Tunnel Extensible Authentication Protocol (TEAP) Version
1", RFC 7170, DOI 10.17487/RFC7170, May 2014, 1", RFC 7170, DOI 10.17487/RFC7170, May 2014,
<https://www.rfc-editor.org/info/rfc7170>. <https://www.rfc-editor.org/info/rfc7170>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol
Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
<https://www.rfc-editor.org/info/rfc8446>.
7.2. Informative References 7.2. Informative References
[I-D.ietf-tls-certificate-compression] [I-D.ietf-tls-certificate-compression]
Ghedini, A. and V. Vasiliev, "TLS Certificate Ghedini, A. and V. Vasiliev, "TLS Certificate
Compression", draft-ietf-tls-certificate-compression-10 Compression", draft-ietf-tls-certificate-compression-10
(work in progress), January 2020. (work in progress), January 2020.
[I-D.ietf-tls-ctls] [I-D.ietf-tls-ctls]
Rescorla, E., Barnes, R., and H. Tschofenig, "Compact TLS Rescorla, E., Barnes, R., and H. Tschofenig, "Compact TLS
1.3", draft-ietf-tls-ctls-00 (work in progress), April 1.3", draft-ietf-tls-ctls-01 (work in progress), November
2020. 2020.
[I-D.mattsson-tls-cbor-cert-compress] [I-D.mattsson-tls-cbor-cert-compress]
Mattsson, J., Selander, G., Raza, S., Hoglund, J., and M. Mattsson, J., Selander, G., Raza, S., Hoglund, J., and M.
Furuhed, "CBOR Certificate Algorithm for TLS Certificate Furuhed, "CBOR Certificate Algorithm for TLS Certificate
Compression", draft-mattsson-tls-cbor-cert-compress-00 Compression", draft-mattsson-tls-cbor-cert-compress-00
(work in progress), March 2020. (work in progress), March 2020.
[I-D.thomson-tls-sic] [I-D.thomson-tls-sic]
Thomson, M., "Suppressing Intermediate Certificates in Thomson, M., "Suppressing Intermediate Certificates in
skipping to change at page 13, line 5 skipping to change at page 13, line 27
[RFC2865] Rigney, C., Willens, S., Rubens, A., and W. Simpson, [RFC2865] Rigney, C., Willens, S., Rubens, A., and W. Simpson,
"Remote Authentication Dial In User Service (RADIUS)", "Remote Authentication Dial In User Service (RADIUS)",
RFC 2865, DOI 10.17487/RFC2865, June 2000, RFC 2865, DOI 10.17487/RFC2865, June 2000,
<https://www.rfc-editor.org/info/rfc2865>. <https://www.rfc-editor.org/info/rfc2865>.
[RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security
(TLS) Protocol Version 1.2", RFC 5246, (TLS) Protocol Version 1.2", RFC 5246,
DOI 10.17487/RFC5246, August 2008, DOI 10.17487/RFC5246, August 2008,
<https://www.rfc-editor.org/info/rfc5246>. <https://www.rfc-editor.org/info/rfc5246>.
[RFC5289] Rescorla, E., "TLS Elliptic Curve Cipher Suites with SHA-
256/384 and AES Galois Counter Mode (GCM)", RFC 5289,
DOI 10.17487/RFC5289, August 2008,
<https://www.rfc-editor.org/info/rfc5289>.
[RFC6066] Eastlake 3rd, D., "Transport Layer Security (TLS) [RFC6066] Eastlake 3rd, D., "Transport Layer Security (TLS)
Extensions: Extension Definitions", RFC 6066, Extensions: Extension Definitions", RFC 6066,
DOI 10.17487/RFC6066, January 2011, DOI 10.17487/RFC6066, January 2011,
<https://www.rfc-editor.org/info/rfc6066>. <https://www.rfc-editor.org/info/rfc6066>.
[RFC6090] McGrew, D., Igoe, K., and M. Salter, "Fundamental Elliptic [RFC6090] McGrew, D., Igoe, K., and M. Salter, "Fundamental Elliptic
Curve Cryptography Algorithms", RFC 6090, Curve Cryptography Algorithms", RFC 6090,
DOI 10.17487/RFC6090, February 2011, DOI 10.17487/RFC6090, February 2011,
<https://www.rfc-editor.org/info/rfc6090>. <https://www.rfc-editor.org/info/rfc6090>.
skipping to change at page 13, line 44 skipping to change at page 14, line 14
[RFC8032] Josefsson, S. and I. Liusvaara, "Edwards-Curve Digital [RFC8032] Josefsson, S. and I. Liusvaara, "Edwards-Curve Digital
Signature Algorithm (EdDSA)", RFC 8032, Signature Algorithm (EdDSA)", RFC 8032,
DOI 10.17487/RFC8032, January 2017, DOI 10.17487/RFC8032, January 2017,
<https://www.rfc-editor.org/info/rfc8032>. <https://www.rfc-editor.org/info/rfc8032>.
[RFC8392] Jones, M., Wahlstroem, E., Erdtman, S., and H. Tschofenig, [RFC8392] Jones, M., Wahlstroem, E., Erdtman, S., and H. Tschofenig,
"CBOR Web Token (CWT)", RFC 8392, DOI 10.17487/RFC8392, "CBOR Web Token (CWT)", RFC 8392, DOI 10.17487/RFC8392,
May 2018, <https://www.rfc-editor.org/info/rfc8392>. May 2018, <https://www.rfc-editor.org/info/rfc8392>.
[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol [RFC8422] Nir, Y., Josefsson, S., and M. Pegourie-Gonnard, "Elliptic
Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, Curve Cryptography (ECC) Cipher Suites for Transport Layer
<https://www.rfc-editor.org/info/rfc8446>. Security (TLS) Versions 1.2 and Earlier", RFC 8422,
DOI 10.17487/RFC8422, August 2018,
<https://www.rfc-editor.org/info/rfc8422>.
Acknowledgements Acknowledgements
This draft is a result of several useful discussions with Alan DeKok, This draft is a result of several useful discussions with Alan DeKok,
Bernard Aboba, Jari Arkko, Jouni Malinen, Darshak Thakore, and Hannes Bernard Aboba, Jari Arkko, Jouni Malinen, Darshak Thakore, and Hannes
Tschofening. Tschofening.
Authors' Addresses Authors' Addresses
Mohit Sethi Mohit Sethi
 End of changes. 37 change blocks. 
87 lines changed or deleted 110 lines changed or added

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