rfc9191.original | rfc9191.txt | |||
---|---|---|---|---|
Network Working Group M. Sethi | Internet Engineering Task Force (IETF) M. Sethi | |||
Internet-Draft J. Mattsson | Request for Comments: 9191 J. Preuß Mattsson | |||
Intended status: Informational Ericsson | Category: Informational Ericsson | |||
Expires: May 24, 2021 S. Turner | ISSN: 2070-1721 S. Turner | |||
sn3rd | sn3rd | |||
November 20, 2020 | February 2022 | |||
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-08 | ||||
Abstract | Abstract | |||
The Extensible Authentication Protocol (EAP), defined in RFC3748, | The Extensible Authentication Protocol (EAP), defined in RFC 3748, | |||
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-TLS and other TLS-based EAP methods are widely deployed | |||
EAP methods are widely deployed and used for network access | and used for network access authentication. Large certificates and | |||
authentication. Large certificates and long certificate chains | long certificate chains combined with authenticators that drop an EAP | |||
combined with authenticators that drop an EAP session after only 40 - | session after only 40 - 50 round trips is a major deployment problem. | |||
50 round-trips is a major deployment problem. This document looks at | This document looks at this problem in detail and describes the | |||
this problem in detail and describes the potential solutions | potential solutions available. | |||
available. | ||||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This document is not an Internet Standards Track specification; it is | |||
provisions of BCP 78 and BCP 79. | published for informational purposes. | |||
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 | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Not all documents | |||
approved by the IESG are candidates for any level of Internet | ||||
Standard; see Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on May 24, 2021. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
https://www.rfc-editor.org/info/rfc9191. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2022 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 | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Revised BSD License text as described in Section 4.e of the | |||
the Trust Legal Provisions and are provided without warranty as | Trust Legal Provisions and are provided without warranty as described | |||
described in the Simplified BSD License. | in the Revised BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction | |||
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Terminology | |||
3. Experience with Deployments . . . . . . . . . . . . . . . . . 4 | 3. Experience with Deployments | |||
4. Handling of Large Certificates and Long Certificate Chains . 5 | 4. Handling of Large Certificates and Long Certificate Chains | |||
4.1. Updating Certificates and Certificate Chains . . . . . . 5 | 4.1. Updating Certificates and Certificate Chains | |||
4.1.1. Guidelines for Certificates . . . . . . . . . . . . . 6 | 4.1.1. Guidelines for Certificates | |||
4.1.2. Pre-distributing and Omitting CA certificates . . . . 7 | 4.1.2. Pre-distributing and Omitting CA Certificates | |||
4.1.3. Using Fewer Intermediate Certificates . . . . . . . . 7 | 4.1.3. Using Fewer Intermediate Certificates | |||
4.2. Updating TLS and EAP-TLS Code . . . . . . . . . . . . . . 7 | 4.2. Updating TLS and EAP-TLS Code | |||
4.2.1. URLs for Client Certificates . . . . . . . . . . . . 7 | 4.2.1. URLs for Client Certificates | |||
4.2.2. Caching Certificates . . . . . . . . . . . . . . . . 8 | 4.2.2. Caching Certificates | |||
4.2.3. Compressing Certificates . . . . . . . . . . . . . . 8 | 4.2.3. Compressing Certificates | |||
4.2.4. Compact TLS 1.3 . . . . . . . . . . . . . . . . . . . 9 | 4.2.4. Compact TLS 1.3 | |||
4.2.5. Suppressing Intermediate Certificates . . . . . . . . 9 | 4.2.5. Suppressing Intermediate Certificates | |||
4.2.6. Raw Public Keys . . . . . . . . . . . . . . . . . . . 9 | 4.2.6. Raw Public Keys | |||
4.2.7. New Certificate Types and Compression Algorithms . . 10 | 4.2.7. New Certificate Types and Compression Algorithms | |||
4.3. Updating Authenticators . . . . . . . . . . . . . . . . . 10 | 4.3. Updating Authenticators | |||
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 | 5. IANA Considerations | |||
6. Security Considerations . . . . . . . . . . . . . . . . . . . 11 | 6. Security Considerations | |||
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 | 7. References | |||
7.1. Normative References . . . . . . . . . . . . . . . . . . 11 | 7.1. Normative References | |||
7.2. Informative References . . . . . . . . . . . . . . . . . 12 | 7.2. Informative References | |||
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 14 | Acknowledgements | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 | Authors' Addresses | |||
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-TLS [RFC5216] [RFC9190] relies on TLS [RFC8446] to | |||
[I-D.ietf-emu-eap-tls13] relies on TLS [RFC8446] to provide strong | provide strong mutual authentication with certificates [RFC5280] and | |||
mutual authentication with certificates [RFC5280] and is widely | is widely deployed and often used for network access authentication. | |||
deployed and often used for network access authentication. There are | There are also many other standardized TLS-based EAP methods such as | |||
also many other TLS-based EAP methods, such as Flexible | Flexible Authentication via Secure Tunneling (EAP-FAST) [RFC4851], | |||
Authentication via Secure Tunneling (EAP-FAST) [RFC4851], Tunneled | Tunneled Transport Layer Security (EAP-TTLS) [RFC5281], the Tunnel | |||
Transport Layer Security (EAP-TTLS) [RFC5281], Tunnel Extensible | Extensible Authentication Protocol (TEAP) [RFC7170], as well as | |||
Authentication Protocol (EAP-TEAP) [RFC7170], and possibly many | several vendor-specific EAP methods such as the Protected Extensible | |||
vendor-specific EAP methods. | Authentication Protocol (PEAP) [PEAP]. | |||
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 authenticate 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 | |||
Maximum Transmission Unit (MTU) of at least 1020 octets from lower | Maximum Transmission Unit (MTU) of at least 1020 octets from lower | |||
layers. The EAP fragment size in typical deployments is just 1020 - | layers. The EAP fragment size in typical deployments is just 1020 - | |||
1500 octets (since the maximum Ethernet frame size is ~ 1500 bytes). | 1500 octets (since the maximum Ethernet frame size is ~ 1500 bytes). | |||
Thus, EAP-TLS authentication needs to be fragmented into many smaller | Thus, EAP-TLS authentication needs to be fragmented into many smaller | |||
packets for transportation over the lower layers. Such fragmentation | packets for transportation over the lower layers. Such fragmentation | |||
not only can negatively affect the latency, but also results in other | not only can negatively affect the latency, but also results in other | |||
challenges. For example, some EAP authenticator (access point) | challenges. For example, some EAP authenticator (e.g., an access | |||
implementations will drop an EAP session if it has not finished after | point) implementations will drop an EAP session if it has not | |||
40 - 50 round-trips. This is a major problem and means that in many | finished after 40 - 50 round trips. This is a major problem and | |||
situations, the EAP peer cannot perform network access authentication | means that, in many situations, the EAP peer cannot perform network | |||
even though both the sides have valid credentials for successful | access authentication even though both the sides have valid | |||
authentication and key derivation. | credentials for successful 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 | |||
and an EAP server. RADIUS can generally transport only about 4000 | and an EAP server. RADIUS can generally transport only about 4000 | |||
octets of EAP in a single message (the maximum length of RADIUS | octets of EAP in a single message (the maximum length of a RADIUS | |||
packet is restricted to 4096 octets in [RFC2865]). | packet is restricted to 4096 octets in [RFC2865]). | |||
This document looks at related work and potential tools available for | This document looks at related work and potential tools available for | |||
overcoming the deployment challenges induced by large certificates | overcoming the deployment challenges induced by large certificates | |||
and long certificate chains. It then discusses the solutions | and long certificate chains. It then discusses the solutions | |||
available to overcome these challenges. | available to overcome these challenges. Many of the solutions | |||
require TLS 1.3 [RFC8446]. The IETF has standardized EAP-TLS 1.3 | ||||
[RFC9190] and is working on specifications such as [TLS-EAP-TYPES] | ||||
for how other TLS-based EAP methods use TLS 1.3. | ||||
2. Terminology | 2. Terminology | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in | |||
14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
Readers are expected to be familiar with the terms and concepts used | Readers are expected to be familiar with the terms and concepts used | |||
in EAP [RFC3748], EAP-TLS [RFC5216], and TLS [RFC8446]. In | in EAP [RFC3748], EAP-TLS [RFC5216], and TLS [RFC8446]. In | |||
particular, this document frequently uses the following terms as they | particular, this document frequently uses the following terms as they | |||
have been defined in [RFC5216]: | have been defined in [RFC5216]: | |||
Authenticator The entity initiating EAP authentication. Typically | Authenticator: The entity initiating EAP authentication. Typically | |||
implemented as part of a network switch or a wireless access | implemented as part of a network switch or a wireless access | |||
point. | point. | |||
EAP peer The entity that responds to the authenticator. In | EAP peer: The entity that responds to the authenticator. In | |||
[IEEE-802.1X], this entity is known as the supplicant. In EAP- | [IEEE-802.1X], this entity is known as the supplicant. In EAP- | |||
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. A certificate can, however, be large for a | just 1020 - 1500 octets. A certificate can, however, be large for a | |||
number of reasons: | number of reasons: | |||
o It can have a long Subject Alternative Name field. | * It can have a long Subject Alternative Name field. | |||
o It can have long Public Key and Signature fields. | * It can have long Public Key and Signature fields. | |||
o It can contain multiple object identifiers (OID) that indicate the | * It can contain multiple object identifiers (OIDs) that indicate | |||
permitted uses of the certificate as noted in Section 5.3 of | the 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 It can contain multiple organization fields to reflect the | * It can contain multiple organization naming fields to reflect the | |||
multiple group memberships of a user (in a client certificate). | multiple group memberships of a user (in a client certificate). | |||
A certificate chain (called a certification path in [RFC5280]) in | A certificate chain (called a certification path in [RFC5280]) in | |||
EAP-TLS can commonly have 2 - 6 intermediate certificates between the | EAP-TLS can commonly have 2 - 6 intermediate certificates between the | |||
end-entity certificate and the trust anchor. | end-entity certificate and the trust anchor. | |||
The size of certificates (and certificate chains) may also increase | The size of certificates (and certificate chains) may also increase | |||
many-fold in the future with the introduction of quantum-safe | manyfold in the future with the introduction of post-quantum | |||
cryptography. For example, lattice-based cryptography would have | cryptography. For example, lattice-based cryptography would have | |||
public keys of approximately 1000 bytes and signatures of | public keys of approximately 1000 bytes and signatures of | |||
approximately 2000 bytes. | 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 40 - 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 kilobytes, 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- | |||
TLS code base. It also provides some guidelines that should be | TLS code base. It also provides some guidelines that should be | |||
followed when issuing certificates for use with EAP-TLS. Section 4.2 | followed when issuing certificates for use with EAP-TLS. Section 4.2 | |||
considers recommendations that rely on updates to the EAP-TLS | considers recommendations that rely on updates to the EAP-TLS | |||
implementations and can be deployed with existing certificates. | implementations and can be deployed with existing certificates. | |||
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 that 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 a public key with | at a 128-bit security level, the size of a public key with | |||
traditional RSA is about 384 bytes, while the size of a public key | traditional RSA is about 384 bytes, while the size of a public key | |||
with ECC is only 32-64 bytes. Similarly, the size of a digital | with ECC is only 32-64 bytes. Similarly, the size of a digital | |||
signature with traditional RSA is 384 bytes, while the size is only | signature with traditional RSA is 384 bytes, while the size is only | |||
64 bytes with elliptic curve digital signature algorithm (ECDSA) and | 64 bytes with the elliptic curve digital signature algorithm (ECDSA) | |||
Edwards-curve digital signature algorithm (EdDSA) [RFC8032]. Using | and the Edwards-curve digital signature algorithm (EdDSA) [RFC8032]. | |||
certificates that use ECC can reduce the number of messages in EAP- | Using certificates that use ECC can reduce the number of messages in | |||
TLS authentication, which can alleviate the problem of authenticators | EAP-TLS authentication, which can alleviate the problem of | |||
dropping an EAP session because of too many round-trips. In the | authenticators dropping an EAP session because of too many round | |||
absence of a standard application profile specifying otherwise, TLS | trips. In the absence of a standard application profile specifying | |||
1.3 [RFC8446] requires implementations to support ECC. New cipher | otherwise, TLS 1.3 [RFC8446] requires implementations to support ECC. | |||
suites that use ECC are also specified for TLS 1.2 [RFC8422]. Using | New cipher suites that use ECC are also specified for TLS 1.2 | |||
ECC-based cipher suites with existing code can significantly reduce | [RFC8422]. Using ECC-based cipher suites with existing code can | |||
the number of messages in a single EAP session. | significantly reduce 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 Identifier (OID) is an ASN.1 data type that defines unique | * Object Identifier (OID) is an ASN.1 data type that defines unique | |||
identifiers for objects. The OID's ASN.1 value, which is a string | identifiers for objects. The OID's ASN.1 value, which is a string | |||
of integers, is then used to name objects to which they relate. | of integers, is then used to name objects to which they relate. | |||
The Distinguished Encoding Rules (DER) specify that the first two | The Distinguished Encoding Rules (DER) specify that the first two | |||
integers always occupy one octet and subsequent integers are base | integers always occupy one octet and subsequent integers are | |||
128-encoded in the fewest possible octets. OIDs are used lavishly | base-128 encoded in the fewest possible octets. OIDs are used | |||
in X.509 certificates [RFC5280] and while not all can be avoided, | lavishly in X.509 certificates [RFC5280] and while not all can be | |||
e.g., OIDs for extensions or algorithms and their associate | avoided, e.g., OIDs for extensions or algorithms and their | |||
parameters, some are well within the certificate issuer's control: | associate parameters, some are well within the certificate | |||
issuer's control: | ||||
* Each naming attribute in a DN (Directory Name) has one. DNs | - Each naming attribute in a DN (Distinguished Name) has one. | |||
are used in the issuer and subject fields as well as numerous | DNs are used in the issuer and subject fields as well as | |||
extensions. A shallower naming will be smaller, e.g., C=FI, | numerous extensions. A shallower name will be smaller, e.g., | |||
O=Example, SN=B0A123499EFC as against C=FI, O=Example, | C=FI, 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, and 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 | * DirectoryString and GeneralName types are used extensively to name | |||
things, e.g., the DN naming attribute O= (the organizational | things, e.g., the DN naming attribute O= (the organizational | |||
naming attribute) DirectoryString includes "Example" for the | naming attribute) DirectoryString includes "Example" for the | |||
Example organization and uniformResourceIdentifier can be used to | Example organization and uniformResourceIdentifier can be used to | |||
indicate the location of the CRL, e.g., "http://crl.example.com/ | indicate the location of the Certificate Revocation List (CRL), | |||
sfig2s1-128.crl", in the CRL Distribution Point extension. For | e.g., "http://crl.example.com/sfig2s1-128.crl", in the CRL | |||
these particular examples, each character is a byte. For some | Distribution Point extension. For these particular examples, each | |||
non-ASCII character strings in the DN, characters can be multi- | character is a single byte. For some non-ASCII character strings, | |||
byte. Obviously, the names need to be unique, but there is more | characters can be several bytes. Obviously, the names need to be | |||
than one way to accomplish this without long strings. This is | unique, but there is more than one way to accomplish this without | |||
especially true if the names are not meant to be meaningful to | long strings. This is especially true if the names are not meant | |||
users. | to be meaningful to users. | |||
o Extensions are necessary to comply with [RFC5280], but the vast | * Extensions are necessary to comply with [RFC5280], but the vast | |||
majority are optional. Include only those that are necessary to | majority are optional. Include only those that are necessary to | |||
operate. | operate. | |||
o As stated earlier, certificate chains of the EAP peer often follow | * As stated earlier, certificate chains of the EAP peer often follow | |||
organizational hierarchies. In such cases, information in | organizational hierarchies. In such cases, information in | |||
intermediate certificates (such as postal addresses) do not | intermediate certificates (such as postal addresses) do not | |||
provide any additional value and they can be shortened (for | provide any additional value and they can be shortened (for | |||
example: only including the department name instead of the full | example, only including the department name instead of the full | |||
postal address). | postal address). | |||
4.1.2. Pre-distributing and Omitting CA certificates | 4.1.2. Pre-distributing and Omitting CA Certificates | |||
The TLS Certificate message conveys the sending endpoint's | The TLS Certificate message conveys the sending endpoint's | |||
certificate chain. TLS allows endpoints to reduce the size of the | certificate chain. TLS allows endpoints to reduce the size of the | |||
Certificate message by omitting certificates that the other endpoint | Certificate message by omitting certificates that the other endpoint | |||
is known to possess. When using TLS 1.3, all certificates that | is known to possess. When using TLS 1.3, all certificates that | |||
specify a trust anchor known by the other endpoint may be omitted | specify a trust anchor known by the other endpoint may be omitted | |||
(see Section 4.4.2 of [RFC8446]). When using TLS 1.2 or earlier, | (see Section 4.4.2 of [RFC8446]). When using TLS 1.2 or earlier, | |||
only the self-signed certificate that specifies the root certificate | only the self-signed certificate that specifies the root certificate | |||
authority may be omitted (see Section 7.4.2 of [RFC5246] Therefore, | authority may be omitted (see Section 7.4.2 of [RFC5246]). | |||
updating TLS implementations to version 1.3 can help to significantly | Therefore, updating TLS implementations to version 1.3 can help to | |||
reduce the number of messages exchanged for EAP-TLS authentication. | significantly reduce the number of messages exchanged for EAP-TLS | |||
The omitted certificates need to be pre-distributed independently of | authentication. The omitted certificates need to be pre-distributed | |||
TLS and the TLS implementations need to be configured to omit these | independently of TLS, and the TLS implementations need to be | |||
pre-distributed certificates. | configured to omit these 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 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 number of round trips required. If this | |||
If this number exceeds 50, then, administrators can expect failures | number exceeds 50, then administrators can expect failures with many | |||
with many common authenticator implementations. | 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 some 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 enabled. | |||
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 | |||
TLS clients to send a sequence of Uniform Resource Locators (URLs) | allows TLS clients to send a sequence of Uniform Resource Locators | |||
instead of the client certificate. URLs can refer to a single | (URLs) instead of the client certificate chain. URLs can refer to a | |||
certificate or a certificate chain. Using this extension can curtail | single certificate or a certificate chain. Using this extension can | |||
the amount of fragmentation in EAP deployments thereby allowing EAP | curtail the amount of fragmentation in EAP deployments thereby | |||
sessions to successfully complete. | allowing EAP sessions to successfully complete. | |||
4.2.2. Caching Certificates | 4.2.2. Caching Certificates | |||
The TLS Cached Information Extension [RFC7924] specifies an extension | The TLS Cached Information Extension [RFC7924] specifies an extension | |||
where a server can exclude transmission of certificate information | where a server can exclude transmission of certificate information | |||
cached in an earlier TLS handshake. The client and the server would | cached in an earlier TLS handshake. The client and the server would | |||
first execute the full TLS handshake. The client would then cache | first execute the full TLS handshake. The client would then cache | |||
the certificate provided by the server. When the TLS client later | the certificate provided by the server. When the TLS client later | |||
connects to the same TLS server without using session resumption, it | connects to the same TLS server without using session resumption, it | |||
can attach the "cached_info" extension to the ClientHello message. | can attach the "cached_info" extension to the ClientHello message. | |||
This would allow the client to indicate that it has cached the | This would allow the client to indicate that it has cached the | |||
certificate. The client would also include a fingerprint of the | certificate. The client would also include a fingerprint of the | |||
server certificate chain. If the server's certificate has not | server certificate chain. If the server's certificate has not | |||
changed, then the server does not need to send its certificate and | changed, then the server does not need to send its certificate and | |||
the corresponding certificate chain again. In case information has | the corresponding certificate chain again. In case information has | |||
changed, which can be seen from the fingerprint provided by the | changed, which can be seen from the fingerprint provided by the | |||
client, the certificate payload is transmitted to the client to allow | client, the certificate payload is transmitted to the client to allow | |||
the client to update the cache. The extension however necessitates a | the client to update the cache. The extension, however, necessitates | |||
successful full handshake before any caching. This extension can be | a successful full handshake before any caching. This extension can | |||
useful when, for example, a successful authentication between an EAP | be useful when, for example, a successful authentication between an | |||
peer and EAP server has occurred in the home network. If | EAP 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 such | certificate chains even if the EAP-TLS exchange fails, but such | |||
caching is currently not specified in [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 has standardized an extension for TLS 1.3 | |||
[I-D.ietf-tls-certificate-compression] that allows compression of | [RFC8879] that allows compression of certificates and certificate | |||
certificates and certificate chains during full handshakes. The | chains during full handshakes. The client can indicate support for | |||
client can indicate support for compressed server certificates by | compressed server certificates by including this extension in the | |||
including this extension in the ClientHello message. Similarly, the | ClientHello message. Similarly, the server can indicate support for | |||
server can indicate support for compression of client certificates by | compression of client certificates by including this extension in the | |||
including this extension in the CertificateRequest message. While | CertificateRequest message. While such an extension can alleviate | |||
such an extension can alleviate the problem of excessive | the problem of excessive fragmentation in EAP-TLS, it can only be | |||
fragmentation in EAP-TLS, it can only be used with TLS version 1.3 | used with TLS version 1.3 and higher. Deployments that rely on older | |||
and higher. Deployments that rely on older versions of TLS cannot | 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 | [cTLS] defines a "compact" version of TLS 1.3 and reduces the message | |||
reduces the message size of the protocol by removing obsolete | size of the protocol by removing obsolete material and using more | |||
material and using more efficient encoding. It also defines a | efficient encoding. It also defines a compression profile with which | |||
compression profile with which either side can define a dictionary of | either side can define a dictionary of "known certificates". Thus, | |||
"known certificates". Thus, cTLS could provide another mechanism for | cTLS could provide another mechanism for EAP-TLS deployments to | |||
EAP-TLS deployments to reduce the size of messages and avoid | 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. | handshake increases the size of the handshake unnecessarily. | |||
[I-D.thomson-tls-sic] proposes an extension for TLS 1.3 that allows a | [TLS-SIC] proposes an extension for TLS 1.3 that allows a TLS client | |||
TLS client that has access to the complete set of published | that has access to the complete set of published intermediate | |||
intermediate certificates to inform servers of this fact so that the | certificates to inform servers of this fact so that the server can | |||
server can avoid sending intermediates, reducing the size of the TLS | avoid sending intermediates, reducing the size of the TLS handshake. | |||
handshake. The mechanism is intended to be complementary with | The mechanism is intended to be complementary with certificate | |||
certificate compression. | compression. | |||
The Authority Information Access (AIA) extension specified in | The Authority Information Access (AIA) extension specified in | |||
[RFC5280] can be used with end-entity and CA certificates to access | [RFC5280] can be used with end-entity and CA certificates to access | |||
information about the issuer of the certificate in which the | information about the issuer of the certificate in which the | |||
extension appears. For example, it can be used to provide the | extension appears. For example, it can be used to provide the | |||
address of the OCSP responder from where revocation status of the | address of the Online Certificate Status Protocol (OCSP) responder | |||
certificate (in which the extension appears) can be checked. It can | from where revocation status of the certificate (in which the | |||
also be used to obtain the issuer certificate. Thus, the AIA | extension appears) can be checked. It can also be used to obtain the | |||
extension can reduce the size of the certificate chain by only | issuer certificate. Thus, the AIA extension can reduce the size of | |||
including a pointer to the issuer certificate instead of including | the certificate chain by only including a pointer to the issuer | |||
the entire issuer certificate. However, it requires the side | certificate instead of including the entire issuer certificate. | |||
receiving the certificate containing the extension to have network | However, it requires the side receiving the certificate containing | |||
connectivity (unless the information is already cached locally). | the extension to have network connectivity (unless the information is | |||
Naturally, such indirection cannot be used for the server certificate | already cached locally). Naturally, such indirection cannot be used | |||
(since EAP peers in most deployments do not have network connectivity | for the server certificate (since EAP peers in most deployments do | |||
before authentication and typically do not maintain an up-to-date | not have network connectivity before authentication and typically do | |||
local cache of issuer certificates). | 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. Naturally, deployments will also need to | identifiers is in place. Naturally, deployments will also need to | |||
consider the challenges of revocation and key rotation with the use | consider the challenges of revocation and key rotation with the use | |||
of raw public keys. | 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 which are | There is ongoing work to specify new certificate types that are | |||
smaller than traditional X.509 certificates. For example, | smaller than traditional X.509 certificates. For example, | |||
[I-D.mattsson-cose-cbor-cert-compress] defines a Concise Binary | [CBOR-CERT] defines a Concise Binary Object Representation (CBOR) | |||
Object Representation (CBOR) [RFC7049] encoding of X.509 | [RFC8949] encoding of X.509 Certificates. The CBOR encoding can be | |||
Certificates. The CBOR encoding can be used to compress existing | used to compress existing X.509 certificates or for natively signed | |||
X.509 certificate or for natively signed CBOR certificates. | CBOR certificates. [TLS-CWT] registers a new TLS Certificate type | |||
[I-D.tschofenig-tls-cwt] registers a new TLS Certificate type which | that would enable TLS implementations to use CBOR Web Tokens (CWTs) | |||
would enable TLS implementations to use CBOR Web Tokens (CWTs) | ||||
[RFC8392] as certificates. While these are early initiatives, future | [RFC8392] as certificates. While these are early initiatives, future | |||
EAP-TLS deployments can consider the use of these new certificate | EAP-TLS deployments can consider the use of these new certificate | |||
types and compression algorithms to avoid large message sizes. | types and compression algorithms to avoid large message sizes. | |||
4.3. Updating Authenticators | 4.3. Updating Authenticators | |||
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 packets / octets / round trips that can be sent. | |||
main reason has been to work around issues where the EAP peer and EAP | The main reason has been to work around issues where the EAP peer and | |||
server end up in an infinite loop ACKing their messages. Another | EAP 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 no | is in many cases not realistic. Vendors may be out of business or no | |||
longer supporting 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 round-trip limit is not | |||
exceeded in practice. | exceeded in practice. | |||
5. IANA Considerations | 5. IANA Considerations | |||
This document includes no request to IANA. | This document has no IANA actions. | |||
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 [RFC9190]. | |||
Security considerations when compressing certificates are specified | Security considerations when compressing certificates are specified | |||
in [I-D.ietf-tls-certificate-compression]. | in [RFC8879]. | |||
Specific security considerations of the referenced documents apply | Specific security considerations of the referenced documents apply | |||
when they are taken into use. | when they are taken into use. | |||
7. References | 7. References | |||
7.1. Normative References | 7.1. Normative References | |||
[I-D.ietf-emu-eap-tls13] | ||||
Mattsson, J. and M. Sethi, "Using EAP-TLS with TLS 1.3", | ||||
draft-ietf-emu-eap-tls13-12 (work in progress), November | ||||
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, | |||
<https://www.rfc-editor.org/info/rfc3748>. | <https://www.rfc-editor.org/info/rfc3748>. | |||
skipping to change at page 12, line 30 ¶ | skipping to change at line 543 ¶ | |||
<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 | [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | |||
Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | |||
<https://www.rfc-editor.org/info/rfc8446>. | <https://www.rfc-editor.org/info/rfc8446>. | |||
7.2. Informative References | [RFC9190] Preuß Mattsson, J. and M. Sethi, "EAP-TLS 1.3: Using the | |||
Extensible Authentication Protocol with TLS 1.3", | ||||
[I-D.ietf-tls-certificate-compression] | RFC 9190, DOI 10.17487/RFC9190, February 2022, | |||
Ghedini, A. and V. Vasiliev, "TLS Certificate | <https://www.rfc-editor.org/rfc/rfc9190>. | |||
Compression", draft-ietf-tls-certificate-compression-10 | ||||
(work in progress), January 2020. | ||||
[I-D.ietf-tls-ctls] | ||||
Rescorla, E., Barnes, R., and H. Tschofenig, "Compact TLS | ||||
1.3", draft-ietf-tls-ctls-01 (work in progress), November | ||||
2020. | ||||
[I-D.mattsson-cose-cbor-cert-compress] | 7.2. Informative References | |||
Raza, S., Hoglund, J., Selander, G., Mattsson, J., and M. | ||||
Furuhed, "CBOR Encoding of X.509 Certificates (CBOR | ||||
Certificates)", draft-mattsson-cose-cbor-cert-compress-03 | ||||
(work in progress), November 2020. | ||||
[I-D.thomson-tls-sic] | [CBOR-CERT] | |||
Thomson, M., "Suppressing Intermediate Certificates in | Raza, S., Höglund, J., Selander, G., Preuß Mattsson, J., | |||
TLS", draft-thomson-tls-sic-00 (work in progress), March | and M. Furuhed, "CBOR Encoded X.509 Certificates (C509 | |||
2019. | Certificates)", Work in Progress, Internet-Draft, draft- | |||
mattsson-cose-cbor-cert-compress-08, 22 February 2021, | ||||
<https://datatracker.ietf.org/doc/html/draft-mattsson- | ||||
cose-cbor-cert-compress-08>. | ||||
[I-D.tschofenig-tls-cwt] | [cTLS] Rescorla, E., Barnes, R., and H. Tschofenig, "Compact TLS | |||
Tschofenig, H. and M. Brossard, "Using CBOR Web Tokens | 1.3", Work in Progress, Internet-Draft, draft-ietf-tls- | |||
(CWTs) in Transport Layer Security (TLS) and Datagram | ctls-04, 25 October 2021, | |||
Transport Layer Security (DTLS)", draft-tschofenig-tls- | <https://datatracker.ietf.org/doc/html/draft-ietf-tls- | |||
cwt-02 (work in progress), July 2020. | ctls-04>. | |||
[IEEE-802.1X] | [IEEE-802.1X] | |||
Institute of Electrical and Electronics Engineers, "IEEE | IEEE, "IEEE Standard for Local and Metropolitan Area | |||
Standard for Local and metropolitan area networks -- Port- | NNetworks--Port-Based Network Access Control", | |||
Based Network Access Control", IEEE Standard 802.1X-2010 , | DOI 10.1109/IEEESTD.2020.9018454, IEEE Standard 802.1X- | |||
February 2010. | 2020, February 2020, | |||
<https://doi.org/10.1109/IEEESTD.2020.9018454>. | ||||
[PEAP] Microsoft Corporation, "[MS-PEAP]: Protected Extensible | ||||
Authentication Protocol (PEAP)", June 2021. | ||||
[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>. | |||
skipping to change at page 13, line 37 ¶ | skipping to change at line 594 ¶ | |||
[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>. | |||
[RFC7049] Bormann, C. and P. Hoffman, "Concise Binary Object | ||||
Representation (CBOR)", RFC 7049, DOI 10.17487/RFC7049, | ||||
October 2013, <https://www.rfc-editor.org/info/rfc7049>. | ||||
[RFC7250] Wouters, P., Ed., Tschofenig, H., Ed., Gilmore, J., | [RFC7250] Wouters, P., Ed., Tschofenig, H., Ed., Gilmore, J., | |||
Weiler, S., and T. Kivinen, "Using Raw Public Keys in | Weiler, S., and T. Kivinen, "Using Raw Public Keys in | |||
Transport Layer Security (TLS) and Datagram Transport | Transport Layer Security (TLS) and Datagram Transport | |||
Layer Security (DTLS)", RFC 7250, DOI 10.17487/RFC7250, | Layer Security (DTLS)", RFC 7250, DOI 10.17487/RFC7250, | |||
June 2014, <https://www.rfc-editor.org/info/rfc7250>. | June 2014, <https://www.rfc-editor.org/info/rfc7250>. | |||
[RFC7924] Santesson, S. and H. Tschofenig, "Transport Layer Security | [RFC7924] Santesson, S. and H. Tschofenig, "Transport Layer Security | |||
(TLS) Cached Information Extension", RFC 7924, | (TLS) Cached Information Extension", RFC 7924, | |||
DOI 10.17487/RFC7924, July 2016, | DOI 10.17487/RFC7924, July 2016, | |||
<https://www.rfc-editor.org/info/rfc7924>. | <https://www.rfc-editor.org/info/rfc7924>. | |||
skipping to change at page 14, line 20 ¶ | skipping to change at line 620 ¶ | |||
[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>. | |||
[RFC8422] Nir, Y., Josefsson, S., and M. Pegourie-Gonnard, "Elliptic | [RFC8422] Nir, Y., Josefsson, S., and M. Pegourie-Gonnard, "Elliptic | |||
Curve Cryptography (ECC) Cipher Suites for Transport Layer | Curve Cryptography (ECC) Cipher Suites for Transport Layer | |||
Security (TLS) Versions 1.2 and Earlier", RFC 8422, | Security (TLS) Versions 1.2 and Earlier", RFC 8422, | |||
DOI 10.17487/RFC8422, August 2018, | DOI 10.17487/RFC8422, August 2018, | |||
<https://www.rfc-editor.org/info/rfc8422>. | <https://www.rfc-editor.org/info/rfc8422>. | |||
[RFC8879] Ghedini, A. and V. Vasiliev, "TLS Certificate | ||||
Compression", RFC 8879, DOI 10.17487/RFC8879, December | ||||
2020, <https://www.rfc-editor.org/info/rfc8879>. | ||||
[RFC8949] Bormann, C. and P. Hoffman, "Concise Binary Object | ||||
Representation (CBOR)", STD 94, RFC 8949, | ||||
DOI 10.17487/RFC8949, December 2020, | ||||
<https://www.rfc-editor.org/info/rfc8949>. | ||||
[TLS-CWT] Tschofenig, H. and M. Brossard, "Using CBOR Web Tokens | ||||
(CWTs) in Transport Layer Security (TLS) and Datagram | ||||
Transport Layer Security (DTLS)", Work in Progress, | ||||
Internet-Draft, draft-tschofenig-tls-cwt-02, 13 July 2020, | ||||
<https://datatracker.ietf.org/doc/html/draft-tschofenig- | ||||
tls-cwt-02>. | ||||
[TLS-EAP-TYPES] | ||||
DeKok, A., "TLS-based EAP types and TLS 1.3", Work in | ||||
Progress, Internet-Draft, draft-ietf-emu-tls-eap-types-04, | ||||
22 January 2022, <https://datatracker.ietf.org/doc/html/ | ||||
draft-ietf-emu-tls-eap-types-04>. | ||||
[TLS-SIC] Thomson, M., "Suppressing Intermediate Certificates in | ||||
TLS", Work in Progress, Internet-Draft, draft-thomson-tls- | ||||
sic-00, 27 March 2019, | ||||
<https://datatracker.ietf.org/doc/html/draft-thomson-tls- | ||||
sic-00>. | ||||
Acknowledgements | Acknowledgements | |||
This draft is a result of several useful discussions with Alan DeKok, | This document is a result of several useful discussions with Alan | |||
Bernard Aboba, Jari Arkko, Jouni Malinen, Darshak Thakore, and Hannes | DeKok, Bernard Aboba, Jari Arkko, Jouni Malinen, Darshak Thakore, and | |||
Tschofening. | Hannes Tschofening. | |||
Authors' Addresses | Authors' Addresses | |||
Mohit Sethi | Mohit Sethi | |||
Ericsson | Ericsson | |||
Jorvas 02420 | FI-02420 Jorvas | |||
Finland | Finland | |||
Email: mohit@piuha.net | Email: mohit@iki.fi | |||
John Mattsson | John Preuß Mattsson | |||
Ericsson | Ericsson | |||
Kista | Kista | |||
Sweden | Sweden | |||
Email: john.mattsson@ericsson.com | Email: john.mattsson@ericsson.com | |||
Sean Turner | Sean Turner | |||
sn3rd | sn3rd | |||
Email: sean@sn3rd.com | Email: sean@sn3rd.com | |||
End of changes. 71 change blocks. | ||||
241 lines changed or deleted | 254 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/ |