| rfc9525.original.xml | rfc9525.xml | |||
|---|---|---|---|---|
| <?xml version='1.0' encoding='utf-8'?> | <?xml version="1.0" encoding="utf-8"?> | |||
| <!DOCTYPE rfc [ | <!DOCTYPE rfc [ | |||
| <!ENTITY nbsp " "> | <!ENTITY nbsp " "> | |||
| <!ENTITY zwsp "​"> | <!ENTITY zwsp "​"> | |||
| <!ENTITY nbhy "‑"> | <!ENTITY nbhy "‑"> | |||
| <!ENTITY wj "⁠"> | <!ENTITY wj "⁠"> | |||
| ]> | ]> | |||
| <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?> | ||||
| <!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.39 (Ruby 2.6. | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft | |||
| 10) --> | -ietf-uta-rfc6125bis-15" number="9525" submissionType="IETF" category="std" cons | |||
| <?rfc compact="yes"?> | ensus="true" obsoletes="6125" updates="" tocDepth="4" tocInclude="true" sortRefs | |||
| <?rfc subcompact="no"?> | ="true" symRefs="true" xml:lang="en" version="3"> | |||
| <?rfc rfcedstyle="yes"?> | ||||
| <rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft | ||||
| -ietf-uta-rfc6125bis-15" category="std" consensus="true" submissionType="IETF" o | ||||
| bsoletes="6125" tocDepth="4" tocInclude="true" sortRefs="true" symRefs="true" ve | ||||
| rsion="3"> | ||||
| <!-- xml2rfc v2v3 conversion 3.17.5 --> | <!-- xml2rfc v2v3 conversion 3.17.5 --> | |||
| <front> | <front> | |||
| <title abbrev="Service Identity">Service Identity in TLS</title> | <title abbrev="Service Identity in TLS">Service Identity in TLS</title> | |||
| <seriesInfo name="Internet-Draft" value="draft-ietf-uta-rfc6125bis-15"/> | <seriesInfo name="RFC" value="9525"/> | |||
| <author initials="P." surname="Saint-Andre" fullname="Peter Saint-Andre"> | <author initials="P." surname="Saint-Andre" fullname="Peter Saint-Andre"> | |||
| <organization>independent</organization> | <organization>Independent</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <country>US</country> | <country>United States of America</country> | |||
| </postal> | </postal> | |||
| <email>stpeter@stpeter.im</email> | <email>stpeter@stpeter.im</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author initials="R." surname="Salz" fullname="Rich Salz"> | <author initials="R." surname="Salz" fullname="Rich Salz"> | |||
| <organization>Akamai Technologies</organization> | <organization>Akamai Technologies</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <country>US</country> | <country>United States of America</country> | |||
| </postal> | </postal> | |||
| <email>rsalz@akamai.com</email> | <email>rsalz@akamai.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <date year="2023" month="August" day="10"/> | <date year="2023" month="November"/> | |||
| <area>Applications</area> | <area>art</area> | |||
| <keyword>Internet-Draft</keyword> | <workgroup>uta</workgroup> | |||
| <abstract> | ||||
| <?line 197?> | <keyword>TLS</keyword> | |||
| <keyword>server</keyword> | ||||
| <keyword>X509</keyword> | ||||
| <keyword>identity</keyword> | ||||
| <keyword>naming</keyword> | ||||
| <keyword>verifying</keyword> | ||||
| <keyword>representing</keyword> | ||||
| <keyword>PKIX</keyword> | ||||
| <keyword>certificates</keyword> | ||||
| <keyword>validation</keyword> | ||||
| <abstract> | ||||
| <t>Many application technologies enable secure communication between two entitie s | <t>Many application technologies enable secure communication between two entitie s | |||
| by means of Transport Layer Security (TLS) with | by means of Transport Layer Security (TLS) with | |||
| Internet Public Key Infrastructure Using X.509 (PKIX) certificates. | Internet Public Key Infrastructure using X.509 (PKIX) certificates. | |||
| This document specifies | This document specifies | |||
| procedures for representing and verifying the identity of application services | procedures for representing and verifying the identity of application services | |||
| in such interactions.</t> | in such interactions.</t> | |||
| <t>This document obsoletes RFC 6125.</t> | <t>This document obsoletes RFC 6125.</t> | |||
| </abstract> | </abstract> | |||
| <note removeInRFC="true"> | ||||
| <name>Discussion Venues</name> | ||||
| <t>Discussion of this document takes place on the | ||||
| Using TLS in Applications Working Group mailing list (uta@ietf.org), | ||||
| which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/ut | ||||
| a/"/>.</t> | ||||
| <t>Source for this draft and an issue tracker can be found at | ||||
| <eref target="https://github.com/richsalz/draft-ietf-uta-rfc6125bis"/>.</t> | ||||
| </note> | ||||
| </front> | </front> | |||
| <middle> | <middle> | |||
| <?line 208?> | ||||
| <section anchor="intro"> | <section anchor="intro"> | |||
| <name>Introduction</name> | <name>Introduction</name> | |||
| <section anchor="motivation"> | <section anchor="motivation"> | |||
| <name>Motivation</name> | <name>Motivation</name> | |||
| <t>The visible face of the Internet largely consists of services that em ploy a | <t>The visible face of the Internet largely consists of services that em ploy a | |||
| client-server architecture in which a client | client-server architecture in which a client | |||
| communicates with an application service. When a client communicates with an | communicates with an application service. When a client communicates with an | |||
| application service using <xref target="TLS"/>, <xref target="DTLS"/>, or a prot | application service using <xref target="RFC8446"/>, <xref target="RFC9147"/>, or | |||
| ocol built on those | a protocol built on those | |||
| (<xref target="QUIC"/> being a notable example), | (<xref target="RFC9001"/> being a notable example), | |||
| it has some notion of the server's | it has some notion of the server's | |||
| identity (e.g., "the website at bigcompany.example") while attempting to establi sh | identity (e.g., "the website at bigcompany.example") while attempting to establi sh | |||
| secure communication. Likewise, during TLS negotiation, the server presents | secure communication. Likewise, during TLS negotiation, the server presents | |||
| its notion of the service's identity in the form of a public-key certificate | its notion of the service's identity in the form of a public key certificate | |||
| that was issued by a certificate authority (CA) in the context of the | that was issued by a certification authority (CA) in the context of the | |||
| Internet Public Key Infrastructure using X.509 <xref target="PKIX"/>. Informall | Internet Public Key Infrastructure using X.509 <xref target="RFC5280"/>. Inform | |||
| y, we can | ally, we can | |||
| think of these identities as the client's "reference identity" and the | think of these identities as the client's "reference identity" and the | |||
| server's "presented identity"; more formal definitions are given later. A | server's "presented identity"; more formal definitions are given later. A | |||
| client needs to verify that the server's presented identity matches its | client needs to verify that the server's presented identity matches its | |||
| reference identity so it can deterministically and automatically authenticate th e communication.</t> | reference identity so it can deterministically and automatically authenticate th e communication.</t> | |||
| <t>This document defines procedures for how clients do this verification | <t>This document defines procedures for how clients perform this verific | |||
| . | ation. | |||
| It therefore also defines requirements on other parties, such as | It therefore defines requirements on other parties, such as | |||
| the certificate authorities that issue certificates, the service administrators | the certification authorities that issue certificates, the service administrator | |||
| requesting | s requesting | |||
| them, and the protocol designers defining how things are named.</t> | them, and the protocol designers defining interactions between clients an | |||
| <t>This document obsoletes RFC 6125. Changes from RFC 6125 are described | d servers.</t> | |||
| under <xref target="changes"/>.</t> | <t>This document obsoletes RFC 6125 <xref target="RFC6125"/>. Changes fr | |||
| om RFC 6125 <xref target="RFC6125"/> are described under <xref target="changes"/ | ||||
| >.</t> | ||||
| </section> | </section> | |||
| <section anchor="applicability"> | <section anchor="applicability"> | |||
| <name>Applicability</name> | <name>Applicability</name> | |||
| <t>This document does not supersede the rules for certificate issuance o r | <t>This document does not supersede the rules for certificate issuance o r | |||
| validation specified by <xref target="PKIX"/>. That document also governs any | validation specified by <xref target="RFC5280"/>. That document also governs an y | |||
| certificate-related topic on which this document is silent. This includes | certificate-related topic on which this document is silent. This includes | |||
| certificate syntax, extensions such as name constraints or | certificate syntax, extensions such as name constraints or | |||
| extended key usage, and handling of certification paths.</t> | extended key usage, and handling of certification paths.</t> | |||
| <t>This document addresses only name forms in the leaf "end entity" serv er | <t>This document addresses only name forms in the leaf "end entity" serv er | |||
| certificate. It does not address the name forms in the chain of certificates | certificate. It does not address the name forms in the chain of certificates | |||
| used to validate a certificate, let alone creating or checking the validity | used to validate a certificate, nor does it create or check the validity | |||
| of such a chain. In order to ensure proper authentication, applications need | of such a chain. In order to ensure proper authentication, applications need | |||
| to verify the entire certification path.</t> | to verify the entire certification path.</t> | |||
| </section> | </section> | |||
| <section anchor="overview"> | <section anchor="overview"> | |||
| <name>Overview of Recommendations</name> | <name>Overview of Recommendations</name> | |||
| <t>The previous version of this specification, <xref target="VERIFY"/>, surveyed the then-current | <t>The previous version of this specification, <xref target="RFC6125"/>, surveyed the then-current | |||
| practice from many IETF standards and tried to generalize best practices | practice from many IETF standards and tried to generalize best practices | |||
| (see Appendix A of <xref target="VERIFY"/> for details).</t> | (see Appendix A of <xref target="RFC6125"/> for details).</t> | |||
| <t>This document takes the lessons learned since then and codifies them. | <t>This document takes the lessons learned since then and codifies them. | |||
| The following is a summary of the rules, which are described at greater | The following is a summary of the rules, which are described at greater | |||
| length in the remainder of this document:</t> | length in the remainder of this document:</t> | |||
| <ul spacing="normal"> | <ul spacing="normal"> | |||
| <li>Only check DNS domain names via the subjectAltName | <li>Only check DNS domain names via the subjectAltName | |||
| extension designed for that purpose: dNSName.</li> | extension designed for that purpose: dNSName.</li> | |||
| <li>Allow use of even more specific | <li>Allow use of even more specific | |||
| subjectAltName extensions where appropriate such as | subjectAltName extensions where appropriate such as | |||
| uniformResourceIdentifier, iPAddress, and the otherName form SRVName.</li> | uniformResourceIdentifier, iPAddress, and the otherName form SRVName.</li> | |||
| <li>Wildcard support is now the default in certificates. | <li>Wildcard support is now the default in certificates. | |||
| skipping to change at line 131 ¶ | skipping to change at line 130 ¶ | |||
| <section anchor="scope"> | <section anchor="scope"> | |||
| <name>Scope</name> | <name>Scope</name> | |||
| <section anchor="in-scope"> | <section anchor="in-scope"> | |||
| <name>In Scope</name> | <name>In Scope</name> | |||
| <t>This document applies only to service identities that are used in T LS or DTLS | <t>This document applies only to service identities that are used in T LS or DTLS | |||
| and that are included in PKIX certificates.</t> | and that are included in PKIX certificates.</t> | |||
| <t>With regard to TLS and DTLS, these security protocols are used to | <t>With regard to TLS and DTLS, these security protocols are used to | |||
| protect data exchanged over a wide variety of application protocols, | protect data exchanged over a wide variety of application protocols, | |||
| which use both the TLS or DTLS handshake protocol and the TLS or | which use both the TLS or DTLS handshake protocol and the TLS or | |||
| DTLS record layer, either directly or through a profile as in Network | DTLS record layer, either directly or through a profile as in Network | |||
| Time Security <xref target="NTS"/>. The TLS handshake protocol can also be used | Time Security <xref target="RFC8915"/>. The TLS handshake protocol can also be used | |||
| with different record layers to define secure transport protocols; | with different record layers to define secure transport protocols; | |||
| at present the most prominent example is QUIC <xref target="RFC9000"/>. The | at present, the most prominent example is QUIC <xref target="RFC9000"/>. The | |||
| rules specified here are intended to apply to all protocols in this | rules specified here are intended to apply to all protocols in this | |||
| extended TLS "family".</t> | extended TLS "family".</t> | |||
| <t>With regard to PKIX certificates, the primary usage is in the | <t>With regard to PKIX certificates, the primary usage is in the | |||
| context of the public key infrastructure described in <xref target="PKIX"/>. | context of the public key infrastructure described in <xref target="RFC5280"/>. | |||
| In addition, technologies such as DNS-Based Authentication | In addition, technologies such as DNS-Based Authentication | |||
| of Named Entities (DANE) <xref target="DANE"/> sometimes use certificates based | of Named Entities (DANE) <xref target="RFC6698"/> sometimes use certificates bas ed | |||
| on PKIX (more precisely, certificates structured via <xref target="X.509"/> or | on PKIX (more precisely, certificates structured via <xref target="X.509"/> or | |||
| specific encodings thereof such as <xref target="X.690"/>), at least in certain | specific encodings thereof such as <xref target="X.690"/>), at least in certain | |||
| modes. Alternatively, a TLS peer could issue delegated credentials | modes. Alternatively, a TLS peer could issue delegated credentials | |||
| that are based on a CA-issued certificate, as in <xref target="TLS-SUBCERTS"/>. | that are based on a CA-issued certificate, as in <xref target="RFC9345"/>. | |||
| In both cases, a TLS client could learn of a service identity | In both cases, a TLS client could learn of a service identity | |||
| through its inclusion in the relevant certificate. The rules specified | through its inclusion in the relevant certificate. The rules specified | |||
| here are intended to apply whenever service identities are included in | here are intended to apply whenever service identities are included in | |||
| X.509 certificates or credentials that are derived from such certificates.</t> | X.509 certificates or credentials that are derived from such certificates.</t> | |||
| </section> | </section> | |||
| <section anchor="out-of-scope"> | <section anchor="out-of-scope"> | |||
| <name>Out of Scope</name> | <name>Out of Scope</name> | |||
| <t>The following topics are out of scope for this specification:</t> | <t>The following topics are out of scope for this specification:</t> | |||
| <ul spacing="normal"> | <ul spacing="normal"> | |||
| <li>Security protocols other than those | <li>Security protocols other than those | |||
| described above.</li> | described above.</li> | |||
| <li>Keys or certificates employed outside the context of PKIX-based systems.</li> | <li>Keys or certificates employed outside the context of PKIX-based systems.</li> | |||
| <li>Client or end-user identities. | <li>Client or end-user identities. | |||
| Other than as described above, certificates representing client identities | Other than as described above, certificates representing client identities | |||
| (e.g., rfc822Name) are beyond the scope of this document.</li> | (e.g., rfc822Name) are beyond the scope of this document.</li> | |||
| <li>Identification of servers using other than a domain name, IP add | <li>Identification of servers using other than a domain name, an IP | |||
| ress, or SRV service name. | address, or an SRV service name. | |||
| This document discusses Uniform Resource Identifiers <xref target="URI"/> only t | This document discusses Uniform Resource Identifiers <xref target="RFC3986"/> on | |||
| o the | ly to the | |||
| extent that they are expressed in certificates. Other aspects of a service | extent that they are expressed in certificates. Other aspects of a service | |||
| such as a specific resource (the URI "path" component) or parameters (the URI | such as a specific resource (the URI "path" component) or parameters (the URI | |||
| "query" component) are the responsibility of specific protocols or URI | "query" component) are the responsibility of specific protocols or URI | |||
| schemes.</li> | schemes.</li> | |||
| <li> | <li> | |||
| <t>Certification authority policies. | <t>Certification authority policies. | |||
| This includes items such as the following: </t> | This includes items such as the following: </t> | |||
| <ul spacing="normal"> | <ul spacing="normal"> | |||
| <li>How to certify or validate fully-qualified domain names (FQD | <li>How to certify or validate fully qualified domain names (FQD | |||
| Ns) and application | Ns) and application | |||
| service types (see <xref target="ACME"/> for some definition of this).</li> | service types (see <xref target="RFC8555"/>).</li> | |||
| <li>Types or "classes" of certificates to issue and whether to a | <li>What types or "classes" of certificates to issue and whether | |||
| pply different | to apply different | |||
| policies for them.</li> | policies for them.</li> | |||
| <li>How to certify or validate other kinds of information that m ight be | <li>How to certify or validate other kinds of information that m ight be | |||
| included in a certificate (e.g., organization name).</li> | included in a certificate (e.g., organization name).</li> | |||
| </ul> | </ul> | |||
| </li> | </li> | |||
| <li>Resolution of DNS domain names. | <li>Resolution of DNS domain names. | |||
| Although the process whereby a client resolves the DNS domain name of an | Although the process whereby a client resolves the DNS domain name of an | |||
| application service can involve several steps, for the purposes of this | application service can involve several steps, for the purposes of this | |||
| specification the only relevant consideration is that the client needs to | specification, the only relevant consideration is that the client needs to | |||
| verify the identity of the entity with which it will communicate once the | verify the identity of the entity with which it will communicate once the | |||
| resolution process is complete. Thus, the resolution process itself is | resolution process is complete. Thus, the resolution process itself is | |||
| out of scope for this specification.</li> | out of scope for this specification.</li> | |||
| <li>User interface issues. | <li>User interface issues. | |||
| In general, such issues are properly the responsibility of client | In general, such issues are properly the responsibility of client | |||
| software developers and standards development organizations | software developers and standards development organizations | |||
| dedicated to particular application technologies (see, for example, | dedicated to particular application technologies (for example, see | |||
| <xref target="WSC-UI"/>).</li> | <xref target="WSC-UI"/>).</li> | |||
| </ul> | </ul> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="terminology"> | <section anchor="terminology"> | |||
| <name>Terminology</name> | <name>Terminology</name> | |||
| <t>Because many concepts related to "identity" are often too vague to be | <t>Because many concepts related to "identity" are often too vague to be | |||
| actionable in application protocols, we define a set of more concrete terms | actionable in application protocols, we define a set of more concrete terms | |||
| for use in this specification.</t> | for use in this specification.</t> | |||
| <dl> | <dl> | |||
| skipping to change at line 212 ¶ | skipping to change at line 211 ¶ | |||
| entities, or connecting to a broader network of services.</t> | entities, or connecting to a broader network of services.</t> | |||
| </dd> | </dd> | |||
| <dt>application service provider:</dt> | <dt>application service provider:</dt> | |||
| <dd> | <dd> | |||
| <t>An entity that hosts or deploys an application service.</t> | <t>An entity that hosts or deploys an application service.</t> | |||
| </dd> | </dd> | |||
| <dt>application service type:</dt> | <dt>application service type:</dt> | |||
| <dd> | <dd> | |||
| <t>A formal identifier for the application protocol used to provide a | <t>A formal identifier for the application protocol used to provide a | |||
| particular kind of application service at a domain. This often appears as | particular kind of application service at a domain. This often appears as | |||
| a URI scheme <xref target="URI"/>, DNS SRV Service <xref target="DNS-SRV"/>, or an ALPN <xref target="ALPN"/> | a URI scheme <xref target="RFC3986"/>, a DNS SRV Service <xref target="RFC2782"/ >, or an Application-Layer Protocol Negotiation (ALPN) <xref target="RFC7301"/> | |||
| identifier.</t> | identifier.</t> | |||
| </dd> | </dd> | |||
| <dt>identifier:</dt> | <dt>identifier:</dt> | |||
| <dd> | <dd> | |||
| <t>A particular instance of an identifier type that is either presen ted by a | <t>A particular instance of an identifier type that is either presen ted by a | |||
| server in a certificate or referenced by a client for matching purposes.</t> | server in a certificate or referenced by a client for matching purposes.</t> | |||
| </dd> | </dd> | |||
| <dt>identifier type:</dt> | <dt>identifier type:</dt> | |||
| <dd> | <dd> | |||
| <t>A formally defined category of identifier that can be included in a | <t>A formally defined category of identifier that can be included in a | |||
| certificate and therefore that can also be used for matching purposes. For | certificate and therefore be used for matching purposes. For | |||
| conciseness and convenience, we define the following identifier types of | conciseness and convenience, we define the following identifier types of | |||
| interest: | interest: | |||
| </t> | </t> | |||
| <ul spacing="normal"> | <dl spacing="normal"> | |||
| <li>DNS-ID: a subjectAltName entry of type dNSName as defined in < | <dt>DNS-ID:</dt><dd> A subjectAltName entry of type dNSName as def | |||
| xref target="PKIX"/>.</li> | ined in <xref target="RFC5280"/>.</dd> | |||
| <li>IP-ID: a subjectAltName entry of type iPAddress as defined in | <dt>IP-ID:</dt><dd> A subjectAltName entry of type iPAddress as de | |||
| <xref target="PKIX"/>.</li> | fined in <xref target="RFC5280"/>.</dd> | |||
| <li>SRV-ID: a subjectAltName entry of type otherName whose name fo | <dt>SRV-ID:</dt><dd> A subjectAltName entry of type otherName whos | |||
| rm is | e name form is | |||
| SRVName, as defined in <xref target="SRVNAME"/>.</li> | SRVName as defined in <xref target="RFC4985"/>.</dd> | |||
| <li>URI-ID: a subjectAltName entry of type uniformResourceIdentifi | <dt>URI-ID:</dt><dd> A subjectAltName entry of type uniformResourc | |||
| er | eIdentifier | |||
| as defined in <xref target="PKIX"/>. See further discussion in <xref target="sec | as defined in <xref target="RFC5280"/>. See further discussion in <xref target=" | |||
| urity-uri"/>.</li> | security-uri"/>.</dd> | |||
| </ul> | </dl> | |||
| </dd> | </dd> | |||
| <dt>PKIX:</dt> | <dt>PKIX:</dt> | |||
| <dd> | <dd> | |||
| <t>The short name for the Internet Public Key Infrastructure using X .509 | <t>The short name for the Internet Public Key Infrastructure using X .509 | |||
| defined in <xref target="PKIX"/>. That document provides a profile of the X.509 v3 | defined in <xref target="RFC5280"/>. That document provides a profile of the X. 509v3 | |||
| certificate specifications and X.509v2 certificate revocation list (CRL) | certificate specifications and X.509v2 certificate revocation list (CRL) | |||
| specifications for use on the Internet.</t> | specifications for use on the Internet.</t> | |||
| </dd> | </dd> | |||
| <dt>presented identifier:</dt> | <dt>presented identifier:</dt> | |||
| <dd> | <dd> | |||
| <t>An identifier presented by a server to a client within a PKIX cer tificate | <t>An identifier presented by a server to a client within a PKIX cer tificate | |||
| when the client attempts to establish secure communication with the server. | when the client attempts to establish secure communication with the server. | |||
| The certificate can include one or more presented identifiers of different | The certificate can include one or more presented identifiers of different | |||
| types, and if the server hosts more than one domain then the certificate | types, and if the server hosts more than one domain, then the certificate | |||
| might present distinct identifiers for each domain.</t> | might present distinct identifiers for each domain.</t> | |||
| </dd> | </dd> | |||
| <dt>reference identifier:</dt> | <dt>reference identifier:</dt> | |||
| <dd> | <dd> | |||
| <t>An identifier used by the client when examining presented identif | <t>An identifier expected by the client when examining presented ide | |||
| iers. | ntifiers. | |||
| It is constructed from the source domain, and optionally an application | It is constructed from the source domain and, optionally, an application | |||
| service type.</t> | service type.</t> | |||
| </dd> | </dd> | |||
| <dt>Relative Distinguished Name (RDN):</dt> | <dt>Relative Distinguished Name (RDN):</dt> | |||
| <dd> | <dd> | |||
| <t>An ASN.1-based construction which itself is a building-block comp | <t>An ASN.1-based construction that is itself a building-block compo | |||
| onent of | nent of | |||
| Distinguished Names. See <xref section="2" sectionFormat="comma" target="LDAP-DN | Distinguished Names. See <xref section="2" sectionFormat="comma" target="RFC4514 | |||
| "/>.</t> | "/>.</t> | |||
| </dd> | </dd> | |||
| <dt>source domain:</dt> | <dt>source domain:</dt> | |||
| <dd> | <dd> | |||
| <t>The fully qualified domain name (FQDN) that a client expects an a pplication | <t>The FQDN that a client expects an application | |||
| service to present in the certificate. This is typically input by | service to present in the certificate. This is typically input by | |||
| a human user, configured into a client, or provided by reference such as | a human user, configured into a client, or provided by reference such as | |||
| a URL. The combination of a source domain and, optionally, an application | a URL. The combination of a source domain and, optionally, an application | |||
| service type enables a client to construct one or more reference | service type enables a client to construct one or more reference | |||
| identifiers. This specification covers FQDNs. Use of any names that | identifiers. This specification covers FQDNs. Use of any names that | |||
| are not fully qualified is out of scope and may result in unexpected | are not fully qualified is out of scope and may result in unexpected | |||
| or undefined behavior.</t> | or undefined behavior.</t> | |||
| </dd> | </dd> | |||
| <dt>subjectAltName entry:</dt> | <dt>subjectAltName entry:</dt> | |||
| <dd> | <dd> | |||
| <t>An identifier placed in a subjectAltName extension.</t> | <t>An identifier placed in a subjectAltName extension.</t> | |||
| </dd> | </dd> | |||
| <dt>subjectAltName extension:</dt> | <dt>subjectAltName extension:</dt> | |||
| <dd> | <dd> | |||
| <t>A standard PKIX extension enabling identifiers of various types t o be | <t>A standard PKIX extension enabling identifiers of various types t o be | |||
| bound to the certificate subject.</t> | bound to the certificate subject.</t> | |||
| </dd> | </dd> | |||
| <dt>subjectName:</dt> | <dt>subjectName:</dt> | |||
| <dd> | <dd> | |||
| <t>The name of a PKIX certificate's subject, encoded in a certificat e's | <t>The name of a PKIX certificate's subject, encoded in a certificat e's | |||
| subject field (see <xref section="4.1.2.6" sectionFormat="comma" target="PKIX"/> ).</t> | subject field (see <xref section="4.1.2.6" sectionFormat="comma" target="RFC5280 "/>).</t> | |||
| </dd> | </dd> | |||
| </dl> | </dl> | |||
| <t>TLS uses the words "client" and "server," where the client is the ent ity | <t>TLS uses the words "client" and "server", where the client is the ent ity | |||
| that initiates the connection. In many cases, this is consistent with common pr actice, | that initiates the connection. In many cases, this is consistent with common pr actice, | |||
| such as a browser connecting to a Web origin. | such as a browser connecting to a web origin. | |||
| For the sake of clarity, and to follow the usage in <xref target="TLS"/> and rel | For the sake of clarity, and to follow the usage in <xref target="RFC8446"/> and | |||
| ated | related | |||
| specifications, we will continue | specifications, we will continue | |||
| to use the terms client and server in this document. | to use the terms client and server in this document. | |||
| However, these are TLS-layer roles, and the application protocol | However, these are TLS-layer roles, and the application protocol | |||
| could support the TLS server making requests to the TLS client after the | could support the TLS server making requests to the TLS client after the | |||
| TLS handshake; there is no requirement that the roles at the application | TLS handshake; there is no requirement that the roles at the application | |||
| layer match the TLS layer.</t> | layer match the TLS layer.</t> | |||
| <t>Security-related terms used in this document, but not defined here or in | <t>Security-related terms used in this document, but not defined here or in | |||
| <xref target="PKIX"/> should be understood in the sense defined in <xref target= "SECTERMS"/>. Such | <xref target="RFC5280"/>, should be understood in the sense defined in <xref tar get="RFC4949"/>. Such | |||
| terms include "attack", "authentication", "identity", "trust", "validate", | terms include "attack", "authentication", "identity", "trust", "validate", | |||
| and "verify".</t> | and "verify".</t> | |||
| <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp 14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL | <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp 14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL | |||
| NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECO MMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECO MMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | |||
| "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be i nterpreted as | "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be i nterpreted as | |||
| described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they | described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they | |||
| appear in all capitals, as shown here.</t> | appear in all capitals, as shown here.</t> | |||
| <?line -18?> | ||||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="names"> | <section anchor="names"> | |||
| <name>Identifying Application Services</name> | <name>Identifying Application Services</name> | |||
| <t>This document assumes that an application service is identified by a DN S domain | <t>This document assumes that an application service is identified by a DN S domain | |||
| name (e.g., <tt>bigcompany.example</tt>), an IP address (IPv4 or IPv6), or by an identifier | name (e.g., <tt>bigcompany.example</tt>), an IP address (IPv4 or IPv6), or an id entifier | |||
| that contains additional supplementary information. Supplementary information | that contains additional supplementary information. Supplementary information | |||
| is limited to the application service type as expressed in a DNS SRV record | is limited to the application service type as expressed in a DNS SRV record | |||
| (e.g., "the IMAP server at isp.example" for "_imap.isp.example") or a URI.</t> | (e.g., "the IMAP server at isp.example" for "_imap.isp.example") or a URI.</t> | |||
| <t>In a DNS-ID - and in the DNS domain name portion of an SRV-ID or URI-ID | <t>In a DNS-ID -- and in the DNS domain name portion of an SRV-ID or URI-I | |||
| - any | D -- any | |||
| characters outside the <xref target="US-ASCII"/> range are prohibited and intern | characters outside the range described in <xref target="US-ASCII"/> are prohibit | |||
| ationalized | ed, and internationalized | |||
| domain labels are represented as A-labels <xref target="IDNA-DEFS"/>.</t> | domain labels are represented as A-labels <xref target="RFC5890"/>.</t> | |||
| <t>An IP address is either a 4-octet IPv4 address <xref target="IPv4"/> or | <t>An IP address is either a 4-octet IPv4 address <xref target="RFC0791"/> | |||
| a 16-octet | or a 16-octet | |||
| IPv6 address <xref target="IPv6"/>. The identifier might need to be converted f | IPv6 address <xref target="RFC4291"/>. The identifier might need to be converte | |||
| rom a | d from a | |||
| textual representation to obtain this value.</t> | textual representation to obtain this value.</t> | |||
| <t>From the perspective of the application client or user, some identifier s are | <t>From the perspective of the application client or user, some identifier s are | |||
| <em>direct</em> because they are provided directly by a human user. This includ es | <em>direct</em> because they are provided directly by a human user. This includ es | |||
| runtime input, prior configuration, or explicit acceptance of a client | runtime input, prior configuration, or explicit acceptance of a client | |||
| communication attempt. Other names are <em>indirect</em> because they are | communication attempt. Other names are <em>indirect</em> because they are | |||
| automatically resolved by the application based on user input, such as a | automatically resolved by the application based on user input, such as a | |||
| target name resolved from a source name using DNS SRV or <xref target="NAPTR"/> records. | target name resolved from a source name using DNS SRV or the records described i n <xref target="RFC3403"/>. | |||
| The distinction matters most for certificate consumption, specifically | The distinction matters most for certificate consumption, specifically | |||
| verification as discussed in this document.</t> | verification as discussed in this document.</t> | |||
| <t>From the perspective of the application service, some identifiers are | <t>From the perspective of the application service, some identifiers are | |||
| <em>unrestricted</em> because they can be used in any type of service, such as a | <em>unrestricted</em> because they can be used in any type of service, such as a | |||
| single certificate being used for both the HTTP and IMAP services at the host | single certificate being used for both the HTTP and IMAP services at the host | |||
| "bigcompany.example". Other identifiers are <em>restricted</em> because they ca n only be used for | "bigcompany.example". Other identifiers are <em>restricted</em> because they ca n only be used for | |||
| one type of service, such as a special-purpose certificate that can only be | one type of service, such as a special-purpose certificate that can only be | |||
| used for an IMAP service. This distinction matters most for certificate | used for an IMAP service. This distinction matters most for certificate | |||
| issuance.</t> | issuance.</t> | |||
| <t>We can categorize the four identifier types as follows:</t> | <t>The four identifier types can be categorized as follows:</t> | |||
| <ul spacing="normal"> | <ul spacing="normal"> | |||
| <li>A DNS-ID is direct and unrestricted.</li> | <li>A DNS-ID is direct and unrestricted.</li> | |||
| <li>An IP-ID is direct and unrestricted.</li> | <li>An IP-ID is direct and unrestricted.</li> | |||
| <li>An SRV-ID is typically indirect but can be direct, and is restricted .</li> | <li>An SRV-ID is typically indirect but can be direct, and it is restric ted.</li> | |||
| <li>A URI-ID is direct and restricted.</li> | <li>A URI-ID is direct and restricted.</li> | |||
| </ul> | </ul> | |||
| <t>It is important to keep these distinctions in mind, because best practi ces | <t>It is important to keep these distinctions in mind because best practic es | |||
| for the deployment and use of the identifiers differ. | for the deployment and use of the identifiers differ. | |||
| Note that cross-protocol attacks such as <xref target="ALPACA"/> | Note that cross-protocol attacks such as those described in <xref target="ALPACA "/> | |||
| are possible when two | are possible when two | |||
| different protocol services use the same certificate. | different protocol services use the same certificate. | |||
| This can be addressed by using restricted identifiers or deploying | This can be addressed by using restricted identifiers or deploying | |||
| services so that they do not share certificates. | services so that they do not share certificates. | |||
| Protocol specifications <bcp14>MUST</bcp14> specify which identifiers are | Protocol specifications <bcp14>MUST</bcp14> specify which identifiers are | |||
| mandatory-to-implement and <bcp14>SHOULD</bcp14> provide operational guidance wh en necessary.</t> | mandatory to implement and <bcp14>SHOULD</bcp14> provide operational guidance wh en necessary.</t> | |||
| <t>The Common Name RDN <bcp14>MUST NOT</bcp14> be used to identify a servi ce because | <t>The Common Name RDN <bcp14>MUST NOT</bcp14> be used to identify a servi ce because | |||
| it is not strongly typed (essentially free-form text) and therefore | it is not strongly typed (it is essentially free-form text) and therefore | |||
| suffers from ambiguities in interpretation.</t> | suffers from ambiguities in interpretation.</t> | |||
| <t>For similar reasons, other RDNs within the subjectName <bcp14>MUST NOT< /bcp14> be used to | <t>For similar reasons, other RDNs within the subjectName <bcp14>MUST NOT< /bcp14> be used to | |||
| identify a service.</t> | identify a service.</t> | |||
| <t>An IP address that is the result of a DNS query is not direct. Use of I | <t>An IP address that is the result of a DNS query is indirect. Use of IP- | |||
| P-IDs | IDs | |||
| that are not direct is out of scope for this document.</t> | that are indirect is out of scope for this document.</t> | |||
| <t>The IETF continues to define methods for looking up information needed | <t>The IETF continues to define methods for looking up information needed | |||
| to make connections to network services. One recent example is service | to make connections to network services. One recent example is service | |||
| binding via the "SVCB" and "HTTPS" DNS resource record (RR) types. This | binding via the "SVCB" and "HTTPS" DNS resource record (RR) types. This | |||
| document does not define any identity representation or verification procedures | document does not define any identity representation or verification procedures | |||
| that are specific to SVCB-compatible records, because the use of such records du ring | that are specific to SVCB-compatible records, because the use of such records du ring | |||
| connection establishment does not currently alter any of the PKIX validation | connection establishment does not currently alter any of the PKIX validation | |||
| requirements specified herein or in any other relevant specification. For exampl | requirements specified herein or in any other relevant specification. | |||
| e, | For example, | |||
| the PKIX validation rules for <xref target="HTTP-OVER-TLS"/> and <xref target="D | the PKIX validation rules for <xref target="RFC9110"/> and <xref target="RFC7858 | |||
| NS-OVER-TLS"/> do not change | "/> do not change | |||
| when the client uses <xref target="SVCB-FOR-HTTPS"/> or <xref target="SVCB-FOR-D | when the client uses the DNS resource records defined in <xref target="RFC9460"/ | |||
| NS"/>. However, it is possible | > or <xref target="RFC9461"/> to look up connection information. However, it is | |||
| possible | ||||
| that future SVCB mapping documents could specify altered PKIX rules for new use cases.</t> | that future SVCB mapping documents could specify altered PKIX rules for new use cases.</t> | |||
| </section> | </section> | |||
| <section anchor="design"> | <section anchor="design"> | |||
| <name>Designing Application Protocols</name> | <name>Designing Application Protocols</name> | |||
| <t>This section defines how protocol designers should reference this docum ent, | <t>This section defines how protocol designers should reference this docum ent, | |||
| which would typically be a normative reference in their specification. | which would typically be a normative reference in their specification.</t> | |||
| Its specification | <t>A specification | |||
| <bcp14>MAY</bcp14> choose to allow only one of the identifier types defined here .</t> | <bcp14>MAY</bcp14> choose to allow only one of the identifier types defined here .</t> | |||
| <t>If the technology does not use DNS SRV records to resolve the DNS domai n | <t>If the technology does not use DNS SRV records to resolve the DNS domai n | |||
| names of application services, then its specification <bcp14>MUST</bcp14> state that SRV-ID | names of application services, then the specification <bcp14>MUST</bcp14> state that SRV-ID | |||
| as defined in this document is not supported. Note that many existing | as defined in this document is not supported. Note that many existing | |||
| application technologies use DNS SRV records to resolve the DNS domain names | application technologies use DNS SRV records to resolve the DNS domain names | |||
| of application services, but do not rely on representations of those records | of application services, but they do not rely on representations of those record | |||
| in PKIX certificates by means of SRV-IDs as defined in <xref target="SRVNAME"/>. | s | |||
| </t> | in PKIX certificates by means of SRV-IDs as defined in <xref target="RFC4985"/>. | |||
| </t> | ||||
| <t>If the technology does not use URIs to identify application services, t hen | <t>If the technology does not use URIs to identify application services, t hen | |||
| its specification <bcp14>MUST</bcp14> state that URI-ID as defined in this docum ent is not | the specification <bcp14>MUST</bcp14> state that URI-ID as defined in this docum ent is not | |||
| supported. Note that many existing application technologies use URIs to | supported. Note that many existing application technologies use URIs to | |||
| identify application services, but do not rely on representation of those | identify application services, but they do not rely on representation of those | |||
| URIs in PKIX certificates by means of URI-IDs.</t> | URIs in PKIX certificates by means of URI-IDs.</t> | |||
| <t>A technology <bcp14>MAY</bcp14> disallow the use of the wildcard charac ter in presented identifiers. If | <t>A technology <bcp14>MAY</bcp14> disallow the use of the wildcard charac ter in presented identifiers. If | |||
| it does so, then the specification <bcp14>MUST</bcp14> state that wildcard certi ficates as | it does so, then the specification <bcp14>MUST</bcp14> state that wildcard certi ficates as | |||
| defined in this document are not supported.</t> | defined in this document are not supported.</t> | |||
| <t>A protocol can allow the use of an IP address in place of a DNS name. This | <t>A protocol can allow the use of an IP address in place of a DNS name. This | |||
| might use the same field without distinguishing the type of identifier, as for | might use the same field without distinguishing the type of identifier as, for | |||
| example in the "host" components of a URI. In this case, applications need to b | example, in the "host" components of a URI. In this case, applications need to | |||
| e aware that the textual | be aware that the textual | |||
| representation of an IPv4 address is a valid DNS name. The two | representation of an IPv4 address is a valid DNS name. The two | |||
| types can be distinguished by first testing if the identifier is a valid IPv4 | types can be distinguished by first testing if the identifier is a valid IPv4 | |||
| address, as is done by the "first-match-wins" algorithm in <xref section="3.2.2" sectionFormat="of" target="URI"/>.</t> | address, as is done by the "first-match-wins" algorithm in <xref section="3.2.2" sectionFormat="of" target="RFC3986"/>.</t> | |||
| </section> | </section> | |||
| <section anchor="represent"> | <section anchor="represent"> | |||
| <name>Representing Server Identity</name> | <name>Representing Server Identity</name> | |||
| <t>This section provides instructions for issuers of | <t>This section provides instructions for issuers of | |||
| certificates.</t> | certificates.</t> | |||
| <section anchor="represent-rules"> | <section anchor="represent-rules"> | |||
| <name>Rules</name> | <name>Rules</name> | |||
| <t>When a certificate authority issues a certificate based on the FQDN | <t>When a certification authority issues a certificate based on the FQDN | |||
| at which the application service provider | at which the application service provider | |||
| will provide the relevant application, the following rules apply to | will provide the relevant application, the following rules apply to | |||
| the representation of application service identities. | the representation of application service identities. | |||
| Note that some of these rules are cumulative | Note that some of these rules are cumulative | |||
| and can interact in important ways that are illustrated later in this | and can interact in important ways that are illustrated later in this | |||
| document.</t> | document.</t> | |||
| <ol spacing="normal" type="1"><li>The certificate <bcp14>MUST</bcp14> in clude at least one identifier.</li> | <ol spacing="normal" type="1"><li>The certificate <bcp14>MUST</bcp14> in clude at least one identifier.</li> | |||
| <li>The certificate <bcp14>SHOULD</bcp14> include a DNS-ID as a baseli ne | <li>The certificate <bcp14>SHOULD</bcp14> include a DNS-ID as a baseli ne | |||
| for interoperability. This is not mandatory because | for interoperability. This is not mandatory because | |||
| it is legitimate for a certificate to include only an SRV-ID or | it is legitimate for a certificate to include only an SRV-ID or | |||
| URI-ID so as to scope its use to a particular application type.</li> | URI-ID so as to scope its use to a particular application type.</li> | |||
| <li>If the service using the certificate deploys a technology for whic | ||||
| h | <li>If the service using the certificate deploys a technology for which | |||
| the relevant specification stipulates that certificates should | the relevant specification stipulates that certificates should | |||
| include identifiers of type "SRV-ID" (e.g., this is true of <xref target="XMPP"/ >), | include identifiers of type SRV-ID (e.g., this is true of the Extensible Messagi ng and Presence Protocol (XMPP) as described in <xref target="RFC6120"/>), | |||
| then the certificate <bcp14>SHOULD</bcp14> include an SRV-ID. This | then the certificate <bcp14>SHOULD</bcp14> include an SRV-ID. This | |||
| identifier type could supplement the DNS-ID, unless the certificate | identifier type could supplement the DNS-ID, unless the certificate | |||
| is meant to be scoped to only the protocol in question.</li> | is meant to be scoped to only the protocol in question.</li> | |||
| <li>If the service using the certificate deploys a technology for whic h | <li>If the service using the certificate deploys a technology for whic h | |||
| the relevant specification stipulates that certificates should include | the relevant specification stipulates that certificates should include | |||
| identifiers of type URI-ID (e.g., this is true of <xref target="SIP"/> as specif | identifiers of type URI-ID (e.g., this is true of the Session Initiation Protoco | |||
| ied by | l <xref target="RFC3261"/> as specified by | |||
| <xref target="SIP-CERTS"/>), then the certificate <bcp14>SHOULD</bcp14> include | <xref target="RFC5922"/>), then the certificate <bcp14>SHOULD</bcp14> include a | |||
| a URI-ID. The scheme | URI-ID. The scheme | |||
| <bcp14>MUST</bcp14> be that of the protocol associated with the application serv | <bcp14>MUST</bcp14> be that of the protocol associated with the application serv | |||
| ice type | ice type, | |||
| and the "host" component <bcp14>MUST</bcp14> be the FQDN | and the "host" component <bcp14>MUST</bcp14> be the FQDN | |||
| of the service. The application protocol specification | of the service. The application protocol specification | |||
| <bcp14>MUST</bcp14> specify which URI schemes are acceptable in URI-IDs containe d in PKIX | <bcp14>MUST</bcp14> specify which URI schemes are acceptable in URI-IDs containe d in PKIX | |||
| certificates used for the application protocol (e.g., <tt>sip</tt> but not <tt>s ips</tt> | certificates used for the application protocol (e.g., <tt>sip</tt> but not <tt>s ips</tt> | |||
| or <tt>tel</tt> for SIP as described in <xref target="SIP-SIPS"/>). Typically, t his | or <tt>tel</tt> for SIP as described in <xref target="RFC5630"/>). Typically, th is | |||
| identifier type would supplement the DNS-ID, unless the certificate | identifier type would supplement the DNS-ID, unless the certificate | |||
| is meant to be scoped to only the protocol in question.</li> | is meant to be scoped to only the protocol in question.</li> | |||
| <li>The certificate <bcp14>MAY</bcp14> contain more than one DNS-ID, S RV-ID, URI-ID, or IP-ID | <li>The certificate <bcp14>MAY</bcp14> contain more than one DNS-ID, S RV-ID, URI-ID, or IP-ID | |||
| as further explained under <xref target="security-multi"/>.</li> | as further explained in <xref target="security-multi"/>.</li> | |||
| <li>The certificate <bcp14>MAY</bcp14> include other application-speci fic identifiers | <li>The certificate <bcp14>MAY</bcp14> include other application-speci fic identifiers | |||
| for compatibility with a deployed base, especially identifiers for | for compatibility with a deployed base, especially identifiers for | |||
| types that were defined before publication of <xref target="SRVNAME"/> or for wh ich | types that were defined before publication of <xref target="RFC4985"/> or for wh ich | |||
| SRV service names or URI schemes do not exist. Such identifiers are out | SRV service names or URI schemes do not exist. Such identifiers are out | |||
| of scope for this specification.</li> | of scope for this specification.</li> | |||
| </ol> | </ol> | |||
| </section> | </section> | |||
| <section anchor="represent-examples"> | <section anchor="represent-examples"> | |||
| <name>Examples</name> | <name>Examples</name> | |||
| <t>Consider a simple website at <tt>www.bigcompany.example</tt>, which i s not discoverable via | <t>Consider a simple website at <tt><www.bigcompany.example></tt>, which is not discoverable via | |||
| DNS SRV lookups. Because HTTP does not specify the use of URIs in server | DNS SRV lookups. Because HTTP does not specify the use of URIs in server | |||
| certificates, a certificate for this service might include only a DNS-ID of | certificates, a certificate for this service might include only a DNS-ID of | |||
| <tt>www.bigcompany.example</tt>.</t> | <tt><www.bigcompany.example></tt>.</t> | |||
| <t>Consider another website, which is reachable by a fixed IP address of | <t>Consider another website, which is reachable by a fixed IP address of | |||
| <tt>2001:db8::5c</tt>. If the two sites refer to the same web service, then | <tt>2001:db8::5c</tt>. If the two sites refer to the same web service, then | |||
| the certificate might also include this value in an IP-ID to allow | the certificate might also include this value in an IP-ID to allow | |||
| clients to use the fixed IP address as a reference identity.</t> | clients to use the fixed IP address as a reference identity.</t> | |||
| <t>Consider an IMAP-accessible email server at the host <tt>mail.isp.exa mple</tt> | <t>Consider an IMAP-accessible email server at the host <tt>mail.isp.exa mple</tt> | |||
| servicing email addresses of the form <tt>user@isp.example</tt> and discoverable via | servicing email addresses of the form <tt>user@isp.example</tt> and discoverable via | |||
| DNS SRV lookups on the application service name of <tt>isp.example</tt>. A | DNS SRV lookups on the application service name of <tt>isp.example</tt>. A | |||
| certificate for this service might include SRV-IDs of <tt>_imap.isp.example</tt> and | certificate for this service might include SRV-IDs of <tt>_imap.isp.example</tt> and | |||
| <tt>_imaps.isp.example</tt> (see <xref target="EMAIL-SRV"/>) along with DNS-IDs | <tt>_imaps.isp.example</tt> (see <xref target="RFC6186"/>) along with DNS-IDs of | |||
| of <tt>isp.example</tt> | <tt>isp.example</tt> | |||
| and <tt>mail.isp.example</tt>.</t> | and <tt>mail.isp.example</tt>.</t> | |||
| <t>Consider a SIP-accessible voice-over-IP (VoIP) server at the host | <t>Consider a SIP-accessible voice-over-IP (VoIP) server at the host | |||
| <tt>voice.college.example</tt> servicing SIP addresses of the form | <tt>voice.college.example</tt> servicing SIP addresses of the form | |||
| <tt>user@voice.college.example</tt> and identified by a URI of <sip:voice.col lege.example>. | <tt>user@voice.college.example</tt> and identified by a URI of <sip:voice.col lege.example>. | |||
| A certificate for this service would include a URI-ID of | A certificate for this service would include a URI-ID of | |||
| <tt>sip:voice.college.example</tt> (see <xref target="SIP-CERTS"/>) along with a | <tt><sip:voice.college.example></tt> (see <xref target="RFC5922"/>) along | |||
| DNS-ID of | with a DNS-ID of | |||
| <tt>voice.college.example</tt>.</t> | <tt>voice.college.example</tt>.</t> | |||
| <t>Consider an XMPP-compatible instant messaging (IM) server at the host | <t>Consider an XMPP-compatible instant messaging (IM) server at the host | |||
| <tt>messenger.example</tt> servicing IM addresses of the form <tt>user@messenger .example</tt> and | <tt>messenger.example</tt> that services IM addresses of the form <tt>user@messe nger.example</tt> and that is | |||
| discoverable via DNS SRV lookups on the <tt>messenger.example</tt> domain. A | discoverable via DNS SRV lookups on the <tt>messenger.example</tt> domain. A | |||
| certificate for this service might include SRV-IDs of | certificate for this service might include SRV-IDs of | |||
| <tt>_xmpp-client.messenger.example</tt> and <tt>_xmpp-server.messenger.example</ tt> (see | <tt>_xmpp-client.messenger.example</tt> and <tt>_xmpp-server.messenger.example</ tt> (see | |||
| <xref target="XMPP"/>), as well as a DNS-ID of <tt>messenger.example</tt>.</t> | <xref target="RFC6120"/>), as well as a DNS-ID of <tt>messenger.example</tt>.</t > | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="request"> | <section anchor="request"> | |||
| <name>Requesting Server Certificates</name> | <name>Requesting Server Certificates</name> | |||
| <t>This section provides instructions for service providers regarding | <t>This section provides instructions for service providers regarding | |||
| the information to include in certificate signing requests (CSRs). | the information to include in certificate signing requests (CSRs). | |||
| In general, service providers <bcp14>SHOULD</bcp14> request certificates that | In general, service providers <bcp14>SHOULD</bcp14> request certificates that | |||
| include all the identifier types that are required or recommended for | include all the identifier types that are required or recommended for | |||
| the application service type that will be secured using the certificate to | the application service type that will be secured using the certificate to | |||
| be issued.</t> | be issued.</t> | |||
| <t>A service provider <bcp14>SHOULD</bcp14> request certificates with as f ew identifiers as | <t>A service provider <bcp14>SHOULD</bcp14> request certificates with as f ew identifiers as | |||
| necessary to identify a single service; see <xref target="security-multi"/>.</t> | necessary to identify a single service; see <xref target="security-multi"/>.</t> | |||
| <t>If the certificate will be used for only a single type of application | <t>If the certificate will be used for only a single type of application | |||
| service, the service provider <bcp14>SHOULD</bcp14> request a certificate that i ncludes | service, the service provider <bcp14>SHOULD</bcp14> request a certificate that i ncludes | |||
| DNS-ID or IP-ID values that identify that service or, | DNS-ID or IP-ID values that identify that service or, | |||
| if appropriate for the application service type, SRV-ID or | if appropriate for the application service type, SRV-ID or | |||
| URI-ID values that limit the deployment scope of the certificate to only the | URI-ID values that limit the deployment scope of the certificate to only the | |||
| defined application service type.</t> | defined application service type.</t> | |||
| <t>If the certificate might be used for any type of application service, t hen | <t>If the certificate might be used for any type of application service, | |||
| the service provider <bcp14>SHOULD</bcp14> request a certificate that includes | the service provider <bcp14>SHOULD</bcp14> request a certificate that includes | |||
| only DNS-IDs or IP-IDs. Again, because of multiprotocol attacks this practice is | only DNS-IDs or IP-IDs. Again, because of multiprotocol attacks, this practice i | |||
| discouraged; this can be mitigated by deploying only one service on | s | |||
| discouraged; it can be mitigated by deploying only one service on | ||||
| a host.</t> | a host.</t> | |||
| <t>If a service provider offers multiple application service types and wis hes to | <t>If a service provider offers multiple application service types and wis hes to | |||
| limit the applicability of certificates using SRV-IDs or URI-IDs, they <bcp14>SH | limit the applicability of certificates using SRV-IDs or URI-IDs, it <bcp14>SHOU | |||
| OULD</bcp14> | LD</bcp14> | |||
| request multiple certificates, rather than a single certificate containing | request that multiple certificates rather than a single certificate containing | |||
| multiple SRV-IDs or URI-IDs each identifying a different application service | multiple SRV-IDs or URI-IDs each identify a different application service | |||
| type. This rule does not apply to application service type "bundles" that | type. This rule does not apply to application service type "bundles" that | |||
| identify distinct access methods to the same underlying application such as | identify distinct access methods to the same underlying application such as | |||
| an email application with access methods denoted by the application service | an email application with access methods denoted by the application service | |||
| types of <tt>imap</tt>, <tt>imaps</tt>, <tt>pop3</tt>, <tt>pop3s</tt>, and <tt>s ubmission</tt> as described in | types of <tt>imap</tt>, <tt>imaps</tt>, <tt>pop3</tt>, <tt>pop3s</tt>, and <tt>s ubmission</tt> as described in | |||
| <xref target="EMAIL-SRV"/>.</t> | <xref target="RFC6186"/>.</t> | |||
| </section> | </section> | |||
| <section anchor="verify"> | <section anchor="verify"> | |||
| <name>Verifying Service Identity</name> | <name>Verifying Service Identity</name> | |||
| <t>At a high level, the client verifies the application service's | <t>At a high level, the client verifies the application service's | |||
| identity by performing the following actions:</t> | identity by performing the following actions:</t> | |||
| <ol spacing="normal" type="1"><li>The client constructs a list of referenc e identifiers it would find acceptable | <ol spacing="normal" type="1"><li>The client constructs a list of referenc e identifiers it would find acceptable | |||
| based on the source domain and, if applicable, the type of service to | based on the source domain and, if applicable, the type of service to | |||
| which the client is connecting.</li> | which the client is connecting.</li> | |||
| <li>The server provides its identifiers in the form of a PKIX | <li>The server provides its presented identifiers in the form of a PKIX | |||
| certificate.</li> | certificate.</li> | |||
| <li>The client checks each of its reference identifiers against the | <li>The client checks each of its reference identifiers against the | |||
| presented identifiers for the purpose of finding a match. When checking a | server's presented identifiers for the purpose of finding a match. When checking a | |||
| reference identifier against a presented identifier, the client matches the | reference identifier against a presented identifier, the client matches the | |||
| source domain of the identifiers and, optionally, their application service | source domain of the identifiers and, optionally, their application service | |||
| type.</li> | type.</li> | |||
| </ol> | </ol> | |||
| <t>Naturally, in addition to checking identifiers, a client should perform | <t>Naturally, in addition to checking identifiers, a client should perform | |||
| further checks, such as expiration and revocation, to ensure that the server | further checks, such as expiration and revocation, to ensure that the server | |||
| is authorized to provide the requested service. Because such checking is not a | is authorized to provide the requested service. Because such checking is not a | |||
| matter of verifying the application service identity presented in a | matter of verifying the application service identity presented in a | |||
| certificate, methods for doing so are out of scope for | certificate, methods for doing so are out of scope for | |||
| this document.</t> | this document.</t> | |||
| <section anchor="verify-reference"> | <section anchor="verify-reference"> | |||
| <name>Constructing a List of Reference Identifiers</name> | <name>Constructing a List of Reference Identifiers</name> | |||
| <section anchor="verify-reference-rules"> | <section anchor="verify-reference-rules"> | |||
| <name>Rules</name> | <name>Rules</name> | |||
| <t>The client <bcp14>MUST</bcp14> construct a list of acceptable refer ence identifiers, | <t>The client <bcp14>MUST</bcp14> construct a list of acceptable refer ence identifiers | |||
| and <bcp14>MUST</bcp14> do so independently of the identifiers presented by the | and <bcp14>MUST</bcp14> do so independently of the identifiers presented by the | |||
| service.</t> | server.</t> | |||
| <t>The inputs used by the client to construct its list of reference id entifiers | <t>The inputs used by the client to construct its list of reference id entifiers | |||
| might be a URI that a user has typed into an interface (e.g., an HTTPS URL | might be a URI that a user has typed into an interface (e.g., an HTTPS URL | |||
| for a website), configured account information (e.g., the domain name of a | for a website), configured account information (e.g., the domain name of a | |||
| host for retrieving email, which might be different from the DNS domain name | host for retrieving email, which might be different from the DNS domain name | |||
| portion of a username), a hyperlink in a web page that triggers a browser to | portion of a username), a hyperlink in a web page that triggers a browser to | |||
| retrieve a media object or script, or some other combination of information | retrieve a media object or script, or some other combination of information | |||
| that can yield a source domain and an application service type.</t> | that can yield a source domain and an application service type.</t> | |||
| <t>This document does not precisely define how reference identifiers a re generated. | <t>This document does not precisely define how reference identifiers a re generated. | |||
| Defining reference identifiers is the responsibility of applications or protocol s that use this | Defining reference identifiers is the responsibility of applications or protocol s that use this | |||
| document. Because the security of a system that uses this document will depend | document. Because the security of a system that uses this document will depend | |||
| on how reference identifiers are generated, great care should be taken in this | on how reference identifiers are generated, great care should be taken in this | |||
| process. For example, a protocol or application could specify that the applicati on | process. For example, a protocol or application could specify that the applicati on | |||
| service type is obtained through a one-to-one mapping of URI schemes to service | service type is obtained through a one-to-one mapping of URI schemes to service | |||
| types or support only a restricted set of URI schemes. Similarly, it could | types or that the protocol or application supports only a restricted set of URI | |||
| insist that a domain name or IP address taken as input to the reference | schemes. | |||
| Similarly, it could | ||||
| specify that a domain name or an IP address taken as input to the reference | ||||
| identifier must be obtained in a secure context such as a hyperlink embedded in | identifier must be obtained in a secure context such as a hyperlink embedded in | |||
| a web page that was delivered over an authenticated and encrypted channel | a web page that was delivered over an authenticated and encrypted channel | |||
| (see for instance <xref target="SECURE-CONTEXTS"/> with regard to the web platfo rm).</t> | (for instance, see <xref target="SECURE-CONTEXTS"/> with regard to the web platf orm).</t> | |||
| <t>Naturally, if the inputs themselves are invalid or corrupt (e.g., a user has | <t>Naturally, if the inputs themselves are invalid or corrupt (e.g., a user has | |||
| clicked a hyperlink provided by a malicious entity in a phishing attack), | clicked a hyperlink provided by a malicious entity in a phishing attack), | |||
| then the client might end up communicating with an unexpected application | then the client might end up communicating with an unexpected application | |||
| service.</t> | service.</t> | |||
| <t>During the course of processing, a client might be exposed to ident ifiers that | <t>During the course of processing, a client might be exposed to ident ifiers that | |||
| look like, but are not, reference identifiers. For example, DNS resolution that | look like, but are not, reference identifiers. For example, DNS resolution that | |||
| starts at a DNS-ID reference identifier might produce intermediate domain names | starts at a DNS-ID reference identifier might produce intermediate domain names | |||
| that need to be further resolved. Unless an application defines a process | that need to be further resolved. Unless an application defines a process | |||
| for authenticating intermediate identifiers in a way that then allows | for authenticating intermediate identifiers in a way that then allows | |||
| them to be used as a reference identifier (see for example <xref target="SMTP-TL S"/>), | them to be used as a reference identifier (for example, see <xref target="RFC868 9"/>), | |||
| any intermediate values are not reference | any intermediate values are not reference | |||
| identifiers and <bcp14>MUST NOT</bcp14> be treated as such. | identifiers and <bcp14>MUST NOT</bcp14> be treated as such. | |||
| In the DNS case, not treating intermediate domain names as reference identifiers | In the DNS case, not treating intermediate domain names as reference identifiers | |||
| removes DNS and DNS resolution from the attack surface.</t> | removes DNS and DNS resolution from the attack surface.</t> | |||
| <t>As one example of the process of generating a reference identifier, | <t>As one example of the process of generating a reference identifier, | |||
| from user | from the user | |||
| input of the URI <sip:alice@college.example> a client could derive the app | input of the URI <sip:alice@voice.college.example>, a client could derive | |||
| lication | the application | |||
| service type <tt>sip</tt> from the URI scheme and parse the domain name <tt>coll ege.example</tt> | service type <tt>sip</tt> from the URI scheme and parse the domain name <tt>coll ege.example</tt> | |||
| from the host component.</t> | from the "host" component.</t> | |||
| <t>Using the combination of FQDN(s) or IP address(es), plus optionally | <t>Using the combination of one or more FQDNs or IP addresses, plus op | |||
| an application service type, the client | tionally an application service type, the client | |||
| <bcp14>MUST</bcp14> construct its list of reference identifiers in accordance wi th the | <bcp14>MUST</bcp14> construct its list of reference identifiers in accordance wi th the | |||
| following rules:</t> | following rules:</t> | |||
| <ul spacing="normal"> | <ul spacing="normal"> | |||
| <li>If a server for the application service type is typically associ ated | <li>If a server for the application service type is typically associ ated | |||
| with a URI for security purposes (i.e., a formal protocol document | with a URI for security purposes (i.e., a formal protocol document | |||
| specifies the use of URIs in server certificates), then the reference identifier | specifies the use of URIs in server certificates), the reference identifier | |||
| <bcp14>SHOULD</bcp14> be a URI-ID.</li> | <bcp14>SHOULD</bcp14> be a URI-ID.</li> | |||
| <li>If a server for the application service type is typically discov ered | <li>If a server for the application service type is typically discov ered | |||
| by means of DNS SRV records, then the reference identifier <bcp14>SHOULD</bcp14> be an SRV-ID.</li> | by means of DNS SRV records, the reference identifier <bcp14>SHOULD</bcp14> be a n SRV-ID.</li> | |||
| <li>If the reference identifier is an IP address, the reference iden tifier is an | <li>If the reference identifier is an IP address, the reference iden tifier is an | |||
| IP-ID.</li> | IP-ID.</li> | |||
| <li>In the absence of more specific identifiers, the reference ident ifier is a DNS-ID. | <li>In the absence of more specific identifiers, the reference ident ifier is a DNS-ID. | |||
| A reference identifier of type DNS-ID can be directly constructed from a | A reference identifier of type DNS-ID can be directly constructed from an | |||
| FQDN that is (a) contained in or securely derived from the inputs, or | FQDN that is (a) contained in or securely derived from the inputs or | |||
| (b) explicitly associated with the source domain by means of user | (b) explicitly associated with the source domain by means of user | |||
| configuration.</li> | configuration.</li> | |||
| </ul> | </ul> | |||
| <t>Which identifier types a client includes in its list of reference | <t>Which identifier types a client includes in its list of reference | |||
| identifiers, and their priority, is a matter of local policy. For example, a | identifiers, and their priority, is a matter of local policy. For example, a | |||
| client that is built to connect only to a particular kind of service might be | client that is built to connect only to a particular kind of service might be | |||
| configured to accept as valid only certificates that include an SRV-ID for | configured to accept as valid only certificates that include an SRV-ID for | |||
| that application service type. By contrast, a more lenient client, even if | that application service type. By contrast, a more lenient client, even if | |||
| built to connect only to a particular kind of service, might include | built to connect only to a particular kind of service, might include | |||
| SRV-IDs, DNS-IDs, and IP-IDs in its list of reference identifiers.</t> | SRV-IDs, DNS-IDs, and IP-IDs in its list of reference identifiers.</t> | |||
| </section> | </section> | |||
| <section anchor="verify-reference-examples"> | <section anchor="verify-reference-examples"> | |||
| <name>Examples</name> | <name>Examples</name> | |||
| <t>The following examples are for illustrative purposes only and are n ot | <t>The following examples are for illustrative purposes only and are n ot | |||
| intended to be comprehensive.</t> | intended to be comprehensive.</t> | |||
| <ol spacing="normal" type="1"><li>A web browser that is connecting via HTTPS to the website at | <ol spacing="normal" type="1"><li>A web browser that is connecting via HTTPS to the website at | |||
| <tt>https://www.bigcompany.example/</tt> would have a single reference identifie r: | <tt><https://www.bigcompany.example/></tt> would have a single reference i dentifier: | |||
| a DNS-ID of <tt>www.bigcompany.example</tt>.</li> | a DNS-ID of <tt>www.bigcompany.example</tt>.</li> | |||
| <li>A web browser connecting to <tt>https://192.0.2.107/</tt> would have a single | <li>A web browser connecting to <tt><https://192.0.2.107/></tt > would have a single | |||
| IP-ID reference identifier of <tt>192.0.2.107</tt>. Likewise, if connecting | IP-ID reference identifier of <tt>192.0.2.107</tt>. Likewise, if connecting | |||
| to <tt>https://[2001:db8::abcd]</tt> , it would have a single IP-ID | to <tt><https://[2001:db8::abcd]></tt>, it would have a single IP-ID | |||
| reference identifier of <tt>2001:db8::abcd</tt>.</li> | reference identifier of <tt>2001:db8::abcd</tt>.</li> | |||
| <li>A mail user agent that is connecting via IMAPS to the email serv ice at | <li>A mail user agent that is connecting via IMAPS to the email serv ice at | |||
| <tt>isp.example</tt> (resolved as <tt>mail.isp.example</tt>) might have three re ference | <tt>isp.example</tt> (resolved as <tt>mail.isp.example</tt>) might have three re ference | |||
| identifiers: an SRV-ID of <tt>_imaps.isp.example</tt> (see <xref target="EMAIL-S RV"/>), and | identifiers: an SRV-ID of <tt>_imaps.isp.example</tt> (see <xref target="RFC6186 "/>) and | |||
| DNS-IDs of <tt>isp.example</tt> and <tt>mail.isp.example</tt>. An email user ag ent that | DNS-IDs of <tt>isp.example</tt> and <tt>mail.isp.example</tt>. An email user ag ent that | |||
| does not support <xref target="EMAIL-SRV"/> would probably be explicitly configu red to | does not support <xref target="RFC6186"/> would probably be explicitly configure d to | |||
| connect to <tt>mail.isp.example</tt>, whereas an SRV-aware user agent would deri ve | connect to <tt>mail.isp.example</tt>, whereas an SRV-aware user agent would deri ve | |||
| <tt>isp.example</tt> from an email address of the form <tt>user@isp.example</tt> but might | <tt>isp.example</tt> from an email address of the form <tt>user@isp.example</tt> but might | |||
| also accept <tt>mail.isp.example</tt> as the DNS domain name portion of referenc e | also accept <tt>mail.isp.example</tt> as the DNS domain name portion of referenc e | |||
| identifiers for the service.</li> | identifiers for the service.</li> | |||
| <li>A voice-over-IP (VoIP) user agent that is connecting via SIP to the voice | <li>A VoIP user agent that is connecting via SIP to the voice | |||
| service at <tt>voice.college.example</tt> might have only one reference identifi er: | service at <tt>voice.college.example</tt> might have only one reference identifi er: | |||
| a URI-ID of <tt>sip:voice.college.example</tt> (see <xref target="SIP-CERTS"/>). | a URI-ID of <tt>sip:voice.college.example</tt> (see <xref target="RFC5922"/>).</ | |||
| </li> | li> | |||
| <li>An instant messaging (IM) client that is connecting via XMPP to | <li>An IM client that is connecting via XMPP to the IM | |||
| the IM | ||||
| service at <tt>messenger.example</tt> might have three reference identifiers: an | service at <tt>messenger.example</tt> might have three reference identifiers: an | |||
| SRV-ID of <tt>_xmpp-client.messenger.example</tt> (see <xref target="XMPP"/>), a DNS-ID of | SRV-ID of <tt>_xmpp-client.messenger.example</tt> (see <xref target="RFC6120"/>) , a DNS-ID of | |||
| <tt>messenger.example</tt>, and an XMPP-specific <tt>XmppAddr</tt> of <tt>messen ger.example</tt> | <tt>messenger.example</tt>, and an XMPP-specific <tt>XmppAddr</tt> of <tt>messen ger.example</tt> | |||
| (see <xref target="XMPP"/>).</li> | (see <xref target="RFC6120"/>).</li> | |||
| </ol> | </ol> | |||
| <t>In all these cases, presented identifiers that do not match the ref erence | <t>In all these cases, presented identifiers that do not match the ref erence | |||
| identifier(s) would be rejected; for instance:</t> | identifier(s) would be rejected; for instance:</t> | |||
| <ul spacing="normal"> | <ul spacing="normal"> | |||
| <li>With regard to the first example a DNS-ID of "web.bigcompany.exa mple" would | <li>With regard to the first example, a DNS-ID of <tt>web.bigcompany .example</tt> would | |||
| be rejected because the DNS domain name portion does not match | be rejected because the DNS domain name portion does not match | |||
| "www.bigcompany.example".</li> | <tt>www.bigcompany.example</tt>.</li> | |||
| <li>With regard to the third example, a URI-ID of "sip:www.college.e | <li>With regard to the third example, a URI-ID of <sip:www.colleg | |||
| xample" | e.example> | |||
| would be rejected because the DNS domain name portion does not match | would be rejected because the DNS domain name portion does not match | |||
| "voice.college.example" and a DNS-ID of "voice.college.example" would be | "voice.college.example", and a DNS-ID of "voice.college.example" would be | |||
| rejected because it lacks the appropriate application service type | rejected because it lacks the appropriate application service type | |||
| portion (i.e., it does not specify a "sip:" URI).</li> | portion (i.e., it does not specify a "sip:" URI).</li> | |||
| </ul> | </ul> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="verify-seek"> | <section anchor="verify-seek"> | |||
| <name>Preparing to Seek a Match</name> | <name>Preparing to Seek a Match</name> | |||
| <t>Once the client has constructed its list of reference identifiers and has | <t>Once the client has constructed its list of reference identifiers and has | |||
| received the server's presented identifiers, | received the server's presented identifiers, | |||
| the client checks its reference identifiers against the presented identifiers | the client checks its reference identifiers against the presented identifiers | |||
| skipping to change at line 656 ¶ | skipping to change at line 657 ¶ | |||
| its list of reference identifiers without finding a match. The search succeeds | its list of reference identifiers without finding a match. The search succeeds | |||
| if any presented identifier matches one of the reference identifiers, at | if any presented identifier matches one of the reference identifiers, at | |||
| which point the client <bcp14>SHOULD</bcp14> stop the search.</t> | which point the client <bcp14>SHOULD</bcp14> stop the search.</t> | |||
| <t>Before applying the comparison rules provided in the following | <t>Before applying the comparison rules provided in the following | |||
| sections, the client might need to split the reference identifier into | sections, the client might need to split the reference identifier into | |||
| components. | components. | |||
| Each reference identifier produces either a domain name or an IP address and | Each reference identifier produces either a domain name or an IP address and | |||
| optionally an application service type as follows:</t> | optionally an application service type as follows:</t> | |||
| <ul spacing="normal"> | <ul spacing="normal"> | |||
| <li>A DNS-ID reference identifier <bcp14>MUST</bcp14> be used directly as the DNS domain | <li>A DNS-ID reference identifier <bcp14>MUST</bcp14> be used directly as the DNS domain | |||
| name and there is no application service type.</li> | name, and there is no application service type.</li> | |||
| <li>An IP-ID reference identifier <bcp14>MUST</bcp14> be exactly equal | <li>An IP-ID reference identifier <bcp14>MUST</bcp14> exactly match th | |||
| to the value of a | e value of an | |||
| iPAddress entry in subjectAltName, with no partial (e.g., network-level) matchin g. There is no application service type.</li> | iPAddress entry in subjectAltName, with no partial (e.g., network-level) matchin g. There is no application service type.</li> | |||
| <li>For an SRV-ID reference identifier, the DNS domain name portion is | <li>For an SRV-ID reference identifier, the DNS domain name portion is | |||
| the Name and the application service type portion is the Service. For | the Name and the application service type portion is the Service. For | |||
| example, an SRV-ID of <tt>_imaps.isp.example</tt> has a DNS domain name portion | example, an SRV-ID of <tt>_imaps.isp.example</tt> has a DNS domain name portion | |||
| of <tt>isp.example</tt> and an application service type portion of | of <tt>isp.example</tt> and an application service type portion of | |||
| <tt>imaps</tt>, which maps to the IMAP application protocol as explained in | <tt>imaps</tt>, which maps to the IMAP application protocol as explained in | |||
| <xref target="EMAIL-SRV"/>.</li> | <xref target="RFC6186"/>.</li> | |||
| <li>For a reference identifier of type URI-ID, the DNS domain name | <li>For a reference identifier of type URI-ID, the DNS domain name | |||
| portion is the "reg-name" part of the "host" component and the application | portion is the "reg-name" part of the "host" component and the application | |||
| service type portion is the scheme, as defined above. Matching only the | service type portion is the scheme, as defined above. Matching only the | |||
| "reg-name" rule from <xref target="URI"/> limits the additional domain name vali dation | "reg-name" rule from <xref target="RFC3986"/> limits the additional domain name validation | |||
| (<xref target="verify-domain"/>) to DNS domain names or non-IP hostnames. | (<xref target="verify-domain"/>) to DNS domain names or non-IP hostnames. | |||
| A URI that contains an IP address might be matched against an IP-ID in place | A URI that contains an IP address might be matched against an IP-ID in place | |||
| of a URI-ID by some lenient clients. This document does not describe how a | of a URI-ID by some lenient clients. This document does not describe how a | |||
| URI that contains no "host" component can be matched. Note that extraction of t he | URI that contains no "host" component can be matched. Note that extraction of t he | |||
| "reg-name" might necessitate normalization of the URI (as explained in | "reg-name" might necessitate normalization of the URI (as explained in | |||
| <xref section="6" sectionFormat="of" target="URI"/>). For example, a URI-ID of <tt>sip:voice.college.example</tt> would be split | <xref section="6" sectionFormat="of" target="RFC3986"/>). For example, a URI-ID of <tt><sip:voice.college.example></tt> would be split | |||
| into a DNS domain name portion of <tt>voice.college.example</tt> and an applicat ion | into a DNS domain name portion of <tt>voice.college.example</tt> and an applicat ion | |||
| service type of <tt>sip</tt> (associated with an application protocol of SIP as | service type of <tt>sip</tt> (associated with an application protocol of SIP as | |||
| explained in <xref target="SIP-CERTS"/>).</li> | explained in <xref target="RFC5922"/>).</li> | |||
| </ul> | </ul> | |||
| <t>If the reference identifier produces a domain name, the client <bcp14 >MUST</bcp14> match the | <t>If the reference identifier produces a domain name, the client <bcp14 >MUST</bcp14> match the | |||
| DNS name; see <xref target="verify-domain"/>. | DNS name; see <xref target="verify-domain"/>. | |||
| If the reference identifier produces an IP address, the client <bcp14>MUST</bcp1 4> match the IP | If the reference identifier produces an IP address, the client <bcp14>MUST</bcp1 4> match the IP | |||
| address; see <xref target="verify-ip"/>. | address; see <xref target="verify-ip"/>. | |||
| If an application service type is present it <bcp14>MUST</bcp14> also match the | If an application service type is present, it <bcp14>MUST</bcp14> also match the | |||
| service type as well; see <xref target="verify-app"/>.</t> | service type; see <xref target="verify-app"/>.</t> | |||
| </section> | </section> | |||
| <section anchor="verify-domain"> | <section anchor="verify-domain"> | |||
| <name>Matching the DNS Domain Name Portion</name> | <name>Matching the DNS Domain Name Portion</name> | |||
| <t>This section describes how the client must determine if the presented DNS | <t>This section describes how the client must determine if the presented DNS | |||
| name matches the reference DNS name. The rules differ depending on whether | name matches the reference DNS name. The rules differ depending on whether | |||
| the domain to be checked is an | the domain to be checked is an | |||
| internationalized domain name, as defined in <xref target="names"/>, or not. | internationalized domain name, as defined in <xref target="names"/>, or not. | |||
| For clients | For clients | |||
| that support presented identifiers containing the wildcard character "*", this s ection | that support presented identifiers containing the wildcard character "*", this s ection | |||
| also specifies a supplemental rule for such "wildcard certificates". | also specifies a supplemental rule for such "wildcard certificates". | |||
| This section uses the description of labels and domain names in | This section uses the description of labels and domain names in | |||
| <xref target="DNS-CONCEPTS"/>.</t> | <xref target="RFC1034"/>.</t> | |||
| <t>If the DNS domain name portion of a reference identifier is a "tradit | <t>If the DNS domain name portion of a reference identifier | |||
| ional | is not an internationalized domain name | |||
| domain name" (i.e., a FQDN that conforms to "preferred name syntax" as | (i.e., an FQDN that conforms to "preferred name syntax" as | |||
| described in <xref section="3.5" sectionFormat="of" target="DNS-CONCEPTS"/>), | described in <xref section="3.5" sectionFormat="of" target="RFC1034"/>), | |||
| then matching of the reference identifier against the presented | then the matching of the reference identifier against the presented | |||
| identifier <bcp14>MUST</bcp14> be performed by comparing the set of domain name labels using | identifier <bcp14>MUST</bcp14> be performed by comparing the set of domain name labels using | |||
| a case-insensitive ASCII comparison, as clarified by <xref target="DNS-CASE"/>. For | a case-insensitive ASCII comparison, as clarified by <xref target="RFC4343"/>. For | |||
| example, <tt>WWW.BigCompany.Example</tt> would be lower-cased to <tt>www.bigcomp any.example</tt> for | example, <tt>WWW.BigCompany.Example</tt> would be lower-cased to <tt>www.bigcomp any.example</tt> for | |||
| comparison purposes. Each label <bcp14>MUST</bcp14> match in order for the name s to be | comparison purposes. Each label <bcp14>MUST</bcp14> match in order for the name s to be | |||
| considered to match, except as supplemented by the rule about checking of | considered a match, except as supplemented by the rule about checking | |||
| wildcard labels in presented identifiers given below.</t> | wildcard labels in presented identifiers given below.</t> | |||
| <t>If the DNS domain name portion of a reference identifier is an | <t>If the DNS domain name portion of a reference identifier is an | |||
| internationalized domain name, then the client <bcp14>MUST</bcp14> convert any U -labels | internationalized domain name, then the client <bcp14>MUST</bcp14> convert any U -labels | |||
| <xref target="IDNA-DEFS"/> in the domain name to A-labels before checking the do | <xref target="RFC5890"/> in the domain name to A-labels before checking the doma | |||
| main name | in name | |||
| or comparing it with others. In accordance with <xref target="IDNA-PROTO"/>, A- | or comparing it with others. In accordance with <xref target="RFC5891"/>, A-lab | |||
| labels | els | |||
| <bcp14>MUST</bcp14> be compared as case-insensitive ASCII. Each label <bcp14>MU ST</bcp14> match in order | <bcp14>MUST</bcp14> be compared as case-insensitive ASCII. Each label <bcp14>MU ST</bcp14> match in order | |||
| for the domain names to be considered to match, except as supplemented by | for the domain names to be considered to match, except as supplemented by | |||
| the rule about checking of wildcard labels in presented identifiers given below. </t> | the rule about checking wildcard labels in presented identifiers given below.</t > | |||
| <t>If the technology specification supports wildcards in presented ident ifiers, then the client <bcp14>MUST</bcp14> | <t>If the technology specification supports wildcards in presented ident ifiers, then the client <bcp14>MUST</bcp14> | |||
| match the reference identifier against a presented identifier whose DNS | match the reference identifier against a presented identifier whose DNS | |||
| domain name portion contains the wildcard character "*" in a label provided | domain name portion contains the wildcard character "*" in a label, provided | |||
| these requirements are met:</t> | these requirements are met:</t> | |||
| <ol spacing="normal" type="1"><li>There is only one wildcard character.< /li> | <ol spacing="normal" type="1"><li>There is only one wildcard character.< /li> | |||
| <li>The wildcard character appears only as the complete content of the left-most label.</li> | <li>The wildcard character appears only as the complete content of the left-most label.</li> | |||
| </ol> | </ol> | |||
| <t>If the requirements are not met, the presented identifier is invalid and <bcp14>MUST</bcp14> | <t>If the requirements are not met, the presented identifier is invalid and <bcp14>MUST</bcp14> | |||
| be ignored.</t> | be ignored.</t> | |||
| <t>A wildcard in a presented identifier can only match exactly one label in a | <t>A wildcard in a presented identifier can only match one label in a | |||
| reference identifier. This specification covers only wildcard characters in | reference identifier. This specification covers only wildcard characters in | |||
| presented identifiers, not wildcard characters in reference identifiers or in | presented identifiers, not wildcard characters in reference identifiers or in | |||
| DNS domain names more generally. Therefore, the use of wildcard characters | DNS domain names more generally. Therefore, the use of wildcard characters | |||
| as described herein is not to be confused with DNS wildcard | as described herein is not to be confused with DNS wildcard | |||
| matching, where the "*" label always matches at least one whole label and | matching, where the "*" label always matches at least one whole label and | |||
| sometimes more; see <xref section="4.3.3" sectionFormat="comma" target="DNS-CONC | sometimes more; see <xref section="4.3.3" sectionFormat="comma" target="RFC1034" | |||
| EPTS"/> and <xref target="DNS-WILDCARDS"/>. | /> and <xref target="RFC4592"/>. | |||
| In particular, it also deviates from <xref section="2.1.3" sectionFormat="comma" | In particular, it also deviates from <xref section="2.1.3" sectionFormat="comma" | |||
| target="DNS-WILDCARDS"/>.</t> | target="RFC4592"/>.</t> | |||
| <t>For information regarding the security characteristics of wildcard | <t>For information regarding the security characteristics of wildcard | |||
| certificates, see <xref target="security-wildcards"/>.</t> | certificates, see <xref target="security-wildcards"/>.</t> | |||
| </section> | </section> | |||
| <section anchor="verify-ip"> | <section anchor="verify-ip"> | |||
| <name>Matching an IP Address Portion</name> | <name>Matching an IP Address Portion</name> | |||
| <t>An IP-ID matches based on an octet-for-octet comparison of the bytes of the | <t>Matching of an IP-ID is based on an octet-for-octet comparison of the bytes of the | |||
| reference identity with the bytes contained in the iPAddress subjectAltName.</t> | reference identity with the bytes contained in the iPAddress subjectAltName.</t> | |||
| <t>For an IP address that appears in a URI-ID, the "host" component of b oth the | <t>For an IP address that appears in a URI-ID, the "host" component of b oth the | |||
| reference identity and the presented identifier must match. These are parsed as either | reference identity and the presented identifier must match. These are parsed as either | |||
| an "IPv6address" (following <xref section="3.2.2" sectionFormat="comma" target=" RFC3986"/>) or an "IPv4address" (following <xref target="IPv4"/>). | an "IPv6address" (following <xref section="3.2.2" sectionFormat="comma" target=" RFC3986"/>) or an "IPv4address" (following <xref target="RFC0791"/>). | |||
| If the resulting octets are equal, the IP address matches.</t> | If the resulting octets are equal, the IP address matches.</t> | |||
| <t>This document does not specify how an SRV-ID reference identity can i nclude an | <t>This document does not specify how an SRV-ID reference identity can i nclude an | |||
| IP address, as <xref target="SRVNAME"/> only defines string names, not octet ide ntifiers | IP address, as <xref target="RFC4985"/> only defines string names, not octet ide ntifiers | |||
| such as an IP address.</t> | such as an IP address.</t> | |||
| </section> | </section> | |||
| <section anchor="verify-app"> | <section anchor="verify-app"> | |||
| <name>Matching the Application Service Type Portion</name> | <name>Matching the Application Service Type Portion</name> | |||
| <t>The rules for matching the application service type depend on whether | <t>The rules for matching the application service type depend on whether | |||
| the identifier is an SRV-ID or a URI-ID.</t> | the identifier is an SRV-ID or a URI-ID.</t> | |||
| <t>These identifiers provide an application service type portion to be c hecked, | <t>These identifiers provide an application service type portion to be c hecked, | |||
| but that portion is combined only with the DNS domain name portion of the | but that portion is combined only with the DNS domain name portion of the | |||
| SRV-ID or URI-ID itself. For example, if a client's list of reference | SRV-ID or URI-ID itself. Consider the example of a messaging client that has tw | |||
| identifiers includes an SRV-ID of <tt>_xmpp-client.messenger.example</tt> and a | o reference | |||
| DNS-ID | identifiers: (1) an SRV-ID of <tt>_xmpp-client.messenger.example</tt> and (2) a | |||
| of <tt>app.example</tt>, the client <bcp14>MUST</bcp14> check both the combinati | DNS-ID | |||
| on of an | of <tt>app.example</tt>. The client <bcp14>MUST</bcp14> check (1) the combinati | |||
| application service type of <tt>xmpp-client</tt> and a DNS domain name of | on of (a) an | |||
| <tt>messenger.example</tt> and, separately, | application service type of <tt>xmpp-client</tt> and (b) a DNS domain name of | |||
| <tt>messenger.example</tt> as well as (2) | ||||
| a DNS domain name of <tt>app.example</tt>. However, the | a DNS domain name of <tt>app.example</tt>. However, the | |||
| client <bcp14>MUST NOT</bcp14> check the combination of an application service t ype of | client <bcp14>MUST NOT</bcp14> check the combination of an application service t ype of | |||
| <tt>xmpp-client</tt> and a DNS domain name of <tt>app.example</tt> because it do es not | <tt>xmpp-client</tt> and a DNS domain name of <tt>app.example</tt> because it do es not | |||
| have an SRV-ID of <tt>_xmpp-client.app.example</tt> in its list of reference | have an SRV-ID of <tt>_xmpp-client.app.example</tt> in its list of reference | |||
| identifiers.</t> | identifiers.</t> | |||
| <t>If the identifier is an SRV-ID, then the application service name <bc p14>MUST</bcp14> | <t>If the identifier is an SRV-ID, then the application service name <bc p14>MUST</bcp14> | |||
| be matched in a case-insensitive manner, in accordance with <xref target="DNS-SR | be matched in a case-insensitive manner, in accordance with <xref target="RFC278 | |||
| V"/>. | 2"/>. | |||
| Note that, per <xref target="SRVNAME"/>, the <tt>_</tt> character is part of the | Note that per <xref target="RFC4985"/>, the underscore "_" is part of the servic | |||
| service name in | e name in | |||
| DNS SRV records and in SRV-IDs.</t> | DNS SRV records and in SRV-IDs.</t> | |||
| <t>If the identifier is a URI-ID, then the scheme name portion <bcp14>MU ST</bcp14> be | <t>If the identifier is a URI-ID, then the scheme name portion <bcp14>MU ST</bcp14> be | |||
| matched in a case-insensitive manner, in accordance with <xref target="URI"/>. | matched in a case-insensitive manner, in accordance with <xref target="RFC3986"/ | |||
| Note that the <tt>:</tt> character is a separator between the scheme name | >. | |||
| and the rest of the URI, and thus does not need to be included in any | Note that the colon ":" is a separator between the scheme name | |||
| and the rest of the URI and thus does not need to be included in any | ||||
| comparison.</t> | comparison.</t> | |||
| </section> | </section> | |||
| <section anchor="outcome"> | <section anchor="outcome"> | |||
| <name>Outcome</name> | <name>Outcome</name> | |||
| <t>If the client has found a presented identifier that matches a referen ce | <t>If the client has found a presented identifier that matches a referen ce | |||
| identifier, then the service identity check has succeeded. In this case, the | identifier, then the service identity check has succeeded. In this case, the | |||
| client <bcp14>MUST</bcp14> use the matched reference identifier as the validated identity of | client <bcp14>MUST</bcp14> use the matched reference identifier as the validated identity of | |||
| the application service.</t> | the application service.</t> | |||
| <t>If the client does not find a presented identifier matching any of th e | <t>If the client does not find a presented identifier matching any of th e | |||
| reference identifiers, then the client <bcp14>MUST</bcp14> proceed as described as follows.</t> | reference identifiers, then the client <bcp14>MUST</bcp14> proceed as follows.</ t> | |||
| <t>If the client is an automated application, | <t>If the client is an automated application, | |||
| then it <bcp14>SHOULD</bcp14> terminate the communication attempt with a bad | then it <bcp14>SHOULD</bcp14> terminate the communication attempt with a bad | |||
| certificate error and log the error appropriately. The application <bcp14>MAY</ bcp14> | certificate error and log the error appropriately. The application <bcp14>MAY</ bcp14> | |||
| provide a configuration setting to disable this behavior, but it <bcp14>MUST NOT </bcp14> | provide a configuration setting to disable this behavior, but it <bcp14>MUST NOT </bcp14> | |||
| disable this security control by default.</t> | disable this security control by default.</t> | |||
| <t>If the client is one that is directly controlled by a human | <t>If the client is one that is directly controlled by a human | |||
| user, then it <bcp14>SHOULD</bcp14> inform the user of the identity mismatch and | user, then it <bcp14>SHOULD</bcp14> inform the user of the identity mismatch and | |||
| automatically terminate the communication attempt with a bad certificate | automatically terminate the communication attempt with a bad certificate | |||
| error in order to prevent users from inadvertently bypassing security | error in order to prevent users from inadvertently bypassing security | |||
| protections in hostile situations. | protections in hostile situations. | |||
| Such clients <bcp14>MAY</bcp14> give advanced users the option of proceeding | Such clients <bcp14>MAY</bcp14> give advanced users the option of proceeding | |||
| with acceptance despite the identity mismatch. Although this behavior can be | with acceptance despite the identity mismatch. Although this behavior can be | |||
| appropriate in certain specialized circumstances, it needs to be handled with | appropriate in certain specialized circumstances, it needs to be handled with | |||
| extreme caution, for example by first encouraging even an advanced user to | extreme caution, for example by first encouraging even an advanced user to | |||
| terminate the communication attempt and, if they choose to proceed anyway, by | terminate the communication attempt and, if they choose to proceed anyway, by | |||
| forcing the user to view the entire certification path before proceeding.</t> | forcing the user to view the entire certification path before proceeding.</t> | |||
| <t>The application <bcp14>MAY</bcp14> also present the user with the abi lity to accept the | <t>The application <bcp14>MAY</bcp14> also present the user with the abi lity to accept the | |||
| presented certificate as valid for subsequent connections. Such ad-hoc | presented certificate as valid for subsequent connections. Such ad hoc | |||
| "pinning" <bcp14>SHOULD NOT</bcp14> restrict future connections to just the pinn ed | "pinning" <bcp14>SHOULD NOT</bcp14> restrict future connections to just the pinn ed | |||
| certificate. Local policy that statically enforces a given certificate for a | certificate. Local policy that statically enforces a given certificate for a | |||
| given peer <bcp14>SHOULD</bcp14> be made available only as prior configuration, rather than a | given peer <bcp14>SHOULD</bcp14> be made available only as prior configuration r ather than a | |||
| just-in-time override for a failed connection.</t> | just-in-time override for a failed connection.</t> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="security"> | <section anchor="security"> | |||
| <name>Security Considerations</name> | <name>Security Considerations</name> | |||
| <section anchor="security-wildcards"> | <section anchor="security-wildcards"> | |||
| <name>Wildcard Certificates</name> | <name>Wildcard Certificates</name> | |||
| <t>Wildcard certificates automatically vouch for any single-label host n ames | <t>Wildcard certificates automatically vouch for any single-label hostna mes | |||
| within their domain, but not multiple levels of domains. This can be | within their domain, but not multiple levels of domains. This can be | |||
| convenient for administrators but also poses the risk of vouching for rogue | convenient for administrators but also poses the risk of vouching for rogue | |||
| or buggy hosts. See for example <xref target="Defeating-SSL"/> (beginning at sli de 91) and | or buggy hosts. For example, see <xref target="Defeating-SSL"/> (beginning at sl ide 91) and | |||
| <xref target="HTTPSbytes"/> (slides 38-40).</t> | <xref target="HTTPSbytes"/> (slides 38-40).</t> | |||
| <t>As specified in <xref target="verify-domain"/>, restricting the prese nted identifiers in certificates to only one | <t>As specified in <xref target="verify-domain"/>, restricting the prese nted identifiers in certificates to only one | |||
| wildcard character (e.g., "*.bigcompany.example" but not "*.*.bigcompany.example ") and | wildcard character (e.g., "*.bigcompany.example" but not "*.*.bigcompany.example ") and | |||
| restricting the use of wildcards to only the left-most domain label can | restricting the use of wildcards to only the left-most domain label can | |||
| help to mitigate certain aspects of the attack described in <xref target="Defeat ing-SSL"/>.</t> | help to mitigate certain aspects of the attack described in <xref target="Defeat ing-SSL"/>.</t> | |||
| <t>That same attack also relies on the initial use of a cleartext HTTP c onnection, | <t>That same attack also relies on the initial use of a cleartext HTTP c onnection, | |||
| which is hijacked by an active on-path attacker and subsequently upgraded to | which is hijacked by an active on-path attacker and subsequently upgraded to | |||
| HTTPS. In order to mitigate such an attack, administrators and software | HTTPS. In order to mitigate such an attack, administrators and software | |||
| developers are advised to follow the strict TLS guidelines provided in | developers are advised to follow the strict TLS guidelines provided in | |||
| <xref section="3.2" sectionFormat="comma" target="TLS-REC"/>.</t> | <xref section="3.2" sectionFormat="comma" target="RFC9325"/>.</t> | |||
| <t>Because the attack described in <xref target="HTTPSbytes"/> relies on an underlying | <t>Because the attack described in <xref target="HTTPSbytes"/> relies on an underlying | |||
| cross-site scripting (XSS) attack, web browsers and applications are advised | cross-site scripting (XSS) attack, web browsers and applications are advised | |||
| to follow best practices to prevent XSS attacks; see for example <xref target="X SS"/> | to follow best practices to prevent XSS attacks; for example, see <xref target=" XSS"/>, which was | |||
| published by the Open Web Application Security Project (OWASP).</t> | published by the Open Web Application Security Project (OWASP).</t> | |||
| <t>Protection against a wildcard that identifies a public suffix | <t>Protection against a wildcard that identifies a public suffix | |||
| <xref target="Public-Suffix"/>, such as <tt>*.co.uk</tt> or <tt>*.com</tt>, is b eyond the scope of this | <xref target="Public-Suffix"/>, such as <tt>*.co.uk</tt> or <tt>*.com</tt>, is b eyond the scope of this | |||
| document.</t> | document.</t> | |||
| <t>As noted in <xref target="design"/>, application protocols can disall ow the use of | <t>As noted in <xref target="design"/>, application protocols can disall ow the use of | |||
| wildcard certificates entirely as a more foolproof mitigation.</t> | wildcard certificates entirely as a more foolproof mitigation.</t> | |||
| </section> | </section> | |||
| <section anchor="security-uri"> | <section anchor="security-uri"> | |||
| <name>Uniform Resource Identifiers</name> | <name>Uniform Resource Identifiers</name> | |||
| <t>The URI-ID type is a subjectAltName entry of type uniformResourceIden tifier | <t>The URI-ID type is a subjectAltName entry of type uniformResourceIden tifier | |||
| as defined in <xref target="PKIX"/>. For the purposes of this specification, th e URI-ID | as defined in <xref target="RFC5280"/>. For the purposes of this specification, the URI-ID | |||
| <bcp14>MUST</bcp14> include both a "scheme" and a "host" component that matches the "reg-name" | <bcp14>MUST</bcp14> include both a "scheme" and a "host" component that matches the "reg-name" | |||
| rule; if the entry does not include both, it is not a valid URI-ID and <bcp14>MU ST</bcp14> be | rule; if the entry does not include both, it is not a valid URI-ID and <bcp14>MU ST</bcp14> be | |||
| ignored. Any other components are ignored, because only the "scheme" and "host" | ignored. Any other components are ignored because only the "scheme" and "host" | |||
| components are used for certificate matching as specified under <xref target="ve rify"/>.</t> | components are used for certificate matching as specified under <xref target="ve rify"/>.</t> | |||
| <t>The quoted component names in the previous paragraph represent the as sociated | <t>The quoted component names in the previous paragraph represent the as sociated | |||
| <xref target="ABNF"/> productions from the IETF standard for Uniform Resource Id | <xref target="RFC5234"/> productions from the IETF Proposed Standard for Uniform | |||
| entifiers | Resource Identifiers | |||
| <xref target="URI"/>. Although the reader should be aware that some application | <xref target="RFC3986"/>. Although the reader should be aware that some applica | |||
| s (e.g., | tions (e.g., | |||
| web browsers) might instead conform to the Uniform Resource Locator (URL) | web browsers) might instead conform to the Uniform Resource Locator (URL) | |||
| specification maintained by the WHATWG <xref target="URL"/>, it is not expected that | specification maintained by the WHATWG <xref target="URL"/>, it is not expected that | |||
| differences between the URI and URL specifications would manifest themselves | differences between the URI and URL specifications would manifest themselves | |||
| in certificate matching.</t> | in certificate matching.</t> | |||
| </section> | </section> | |||
| <section anchor="security-idn"> | <section anchor="security-idn"> | |||
| <name>Internationalized Domain Names</name> | <name>Internationalized Domain Names</name> | |||
| <t>This document specifies only matching between reference identifiers a nd | <t>This document specifies only matching between reference identifiers a nd | |||
| presented identifiers, not the visual presentation of domain names. More | presented identifiers, not the visual presentation of domain names. | |||
| specifically, matching of internationalized domain names is performed on | Specifically, the matching of internationalized domain names is performed on | |||
| A-labels only <xref target="verify"/>. The limited scope of this specification l | A-labels only (<xref target="verify-domain"/>). The limited scope of this specif | |||
| ikely | ication likely | |||
| mitigates potential confusion caused by the use of visually similar characters | mitigates potential confusion caused by the use of visually similar characters | |||
| in domain names (as described for example in <xref section="4.4" sectionFormat=" comma" target="IDNA-DEFS"/>, | in domain names (for example, as described in <xref section="4.4" sectionFormat= "of" target="RFC5890"/>, | |||
| <xref target="UTS-36"/>, and <xref target="UTS-39"/>); in any case, such concern s are a matter for | <xref target="UTS-36"/>, and <xref target="UTS-39"/>); in any case, such concern s are a matter for | |||
| application-level protocols and user interfaces, not the matching of certificate s.</t> | application-level protocols and user interfaces, not the matching of certificate s.</t> | |||
| </section> | </section> | |||
| <section anchor="ip-addresses"> | <section anchor="ip-addresses"> | |||
| <name>IP Addresses</name> | <name>IP Addresses</name> | |||
| <t>The TLS Server Name Indication (SNI) extension only conveys domain na mes. | <t>The TLS Server Name Indication (SNI) extension only conveys domain na mes. | |||
| Therefore, a client with an IP-ID reference identity cannot present any | Therefore, a client with an IP-ID reference identity cannot present any | |||
| information about its reference identity when connecting to a server. Servers | information about its reference identity when connecting to a server. Servers | |||
| that wish to present an IP-ID therefore need to present this identity when a | that wish to present an IP-ID therefore need to present this identity when a | |||
| connection is made without SNI.</t> | connection is made without SNI.</t> | |||
| <t>The textual representation of an IPv4 address might be misinterpreted | <t>The textual representation of an IPv4 address might be misinterpreted | |||
| as a valid | as a valid FQDN in some contexts. This can result in different | |||
| FQDN in some contexts. This can result in different security treatment that migh | security treatment that might cause different components of a system | |||
| t cause | to classify the value differently, which might lead to | |||
| different components of a system to classify the value differently, which might | vulnerabilities. Consider a system in which one component enforces a | |||
| lead | security rule that is conditional on the type of identifier but | |||
| to vulnerabilities. For example, one system component enforces a security rule | misclassifies an IP address as an FQDN, whereas a second component | |||
| that is conditional on the type of identifier. This component misclassifies an | correctly classifies the identifier but incorrectly assumes that | |||
| IP address as an FQDN. A different component correctly classifies the | rules regarding IP addresses have been enforced by the first | |||
| identifier but might incorrectly assume that rules regarding IP addresses have | component. As a result, the system as a whole might behave in an | |||
| been enforced. Consistent classification of identifiers avoids this problem.</t | insecure manner. Consistent classification of identifiers avoids | |||
| > | this problem.</t> | |||
| <t>See also <xref target="design"/>, particularly the last paragraph.</t > | <t>See also <xref target="design"/>, particularly the last paragraph.</t > | |||
| </section> | </section> | |||
| <section anchor="security-multi"> | <section anchor="security-multi"> | |||
| <name>Multiple Presented Identifiers</name> | <name>Multiple Presented Identifiers</name> | |||
| <t>A given application service might be addressed by multiple DNS domain names | <t>A given application service might be addressed by multiple DNS domain names | |||
| for a variety of reasons, and a given deployment might service multiple | for a variety of reasons, and a given deployment might service multiple | |||
| domains or protocols. TLS Extensions such as TLS Server Name Indication | domains or protocols. | |||
| (SNI), discussed in <xref section="4.4.2.2" sectionFormat="comma" target="TLS"/> | TLS extensions such as the Server Name Indication (SNI), as discussed in <xref s | |||
| , and Application Layer Protocol | ection="3" sectionFormat="comma" target="RFC6066"/>, and ALPN, as discussed in < | |||
| Negotiation (ALPN), discussed in <xref target="ALPN"/>, provide a way for the ap | xref target="RFC7301"/>, provide a way for the application | |||
| plication | ||||
| to indicate the desired identifier and protocol to the server, which it | to indicate the desired identifier and protocol to the server, which it | |||
| can then use to select the most appropriate certificate.</t> | can then use to select the most appropriate certificate.</t> | |||
| <t>This specification allows multiple DNS-IDs, IP-IDs, SRV-IDs, or URI-I Ds in a | <t>This specification allows multiple DNS-IDs, IP-IDs, SRV-IDs, or URI-I Ds in a | |||
| certificate. As a result, an application service can use the same | certificate. As a result, an application service can use the same | |||
| certificate for multiple hostnames, such as when a client does not support | certificate for multiple hostnames, such as when a client does not support | |||
| the TLS SNI extension, or for multiple protocols, such as SMTP and HTTP, on a | the TLS SNI extension, or for multiple protocols, such as SMTP and HTTP, on a | |||
| single hostname. Note that the set of names in a certificate is the set of | single hostname. Note that the set of names in a certificate is the set of | |||
| names that could be affected by a compromise of any other server named in | names that could be affected by a compromise of any other server named in | |||
| the set: the strength of any server in the set of names is determined by the | the set: the strength of any server in the set of names is determined by the | |||
| weakest of those servers that offer the names.</t> | weakest of those servers that offer the names.</t> | |||
| <t>The way to mitigate this risk is to limit the number of names that | <t>The way to mitigate this risk is to limit the number of names that | |||
| any server can speak for, and to ensure that all servers in the set | any server can speak for and to ensure that all servers in the set | |||
| have a strong minimum configuration as described in Section 3.9 of <xref target= | have a strong minimum configuration as described in <xref target="RFC9325" secti | |||
| "TLS-REC"/>.</t> | onFormat="comma" section="3.9"/>.</t> | |||
| </section> | </section> | |||
| <section anchor="multiple-reference-identifiers"> | <section anchor="multiple-reference-identifiers"> | |||
| <name>Multiple Reference Identifiers</name> | <name>Multiple Reference Identifiers</name> | |||
| <t>This specification describes how a client may construct multiple acce ptable | <t>This specification describes how a client may construct multiple acce ptable | |||
| reference identifiers and may match any of those reference identifiers with | reference identifiers and may match any of those reference identifiers with | |||
| the set of presented identifiers. <xref section="4.2.1.10" sectionFormat="comma" target="PKIX"/> describes a | the set of presented identifiers. <xref section="4.2.1.10" sectionFormat="comma" target="RFC5280"/> describes a | |||
| mechanism to allow CA certificates to be constrained in the set of presented | mechanism to allow CA certificates to be constrained in the set of presented | |||
| identifiers that they may include within server certificates. However, these | identifiers that they may include within server certificates. However, these | |||
| constraints only apply to the explicitly enumerated name forms. For example, | constraints only apply to the explicitly enumerated name forms. For example, | |||
| a CA that is only name constrained for DNS-IDs is not constrained for SRV-IDs | a CA that is only name-constrained for DNS-IDs is not constrained for SRV-IDs | |||
| and URI-IDs, unless those name forms are also explicitly included within the | and URI-IDs, unless those name forms are also explicitly included within the | |||
| name constraints extension.</t> | name constraints extension.</t> | |||
| <t>A client that constructs multiple reference identifiers of different types, | <t>A client that constructs multiple reference identifiers of different types, | |||
| such as both DNS-ID and SRV-IDs, as described in <xref target="verify-reference- rules"/>, | such as both DNS-IDs and SRV-IDs as described in <xref target="verify-reference- rules"/>, | |||
| <bcp14>SHOULD</bcp14> take care to ensure that CAs issuing such certificates are | <bcp14>SHOULD</bcp14> take care to ensure that CAs issuing such certificates are | |||
| appropriately constrained. This <bcp14>MAY</bcp14> take the form of local policy through | appropriately constrained. This <bcp14>MAY</bcp14> take the form of local policy through | |||
| agreement with the issuing CA, or <bcp14>MAY</bcp14> be enforced by the client r equiring | agreement with the issuing CA or <bcp14>MAY</bcp14> be enforced by the client re quiring | |||
| that if one form of presented identifier is constrained, such as a dNSName | that if one form of presented identifier is constrained, such as a dNSName | |||
| name constraint for DNS-IDs, then all other forms of acceptable reference | name constraint for DNS-IDs, then all other forms of acceptable reference | |||
| identities are also constrained, such as requiring a uniformResourceIndicator | identities are also constrained, such as requiring a uniformResourceIndicator | |||
| name constraint for URI-IDs.</t> | name constraint for URI-IDs.</t> | |||
| </section> | </section> | |||
| <section anchor="certificate-trust"> | <section anchor="certificate-trust"> | |||
| <name>Certificate Trust</name> | <name>Certificate Trust</name> | |||
| <t>This document assumes that, if a client trusts a given CA, it trusts all | <t>This document assumes that if a client trusts a given CA, it trusts a ll | |||
| certificates issued by that CA. The certificate checking process does not | certificates issued by that CA. The certificate checking process does not | |||
| include additional checks for bad behavior by the hosts identified with | include additional checks for bad behavior by the hosts identified with | |||
| such certificates, for instance rogue servers or buggy applications. Any | such certificates, for instance, rogue servers or buggy applications. Any | |||
| additional checks (e.g., checking the server name against trusted block | additional checks (e.g., checking the server name against trusted block | |||
| lists) are the responsibility of the application protocol or the client | lists) are the responsibility of the application protocol or the client | |||
| itself.</t> | itself.</t> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="iana-considerations"> | <section anchor="iana-considerations"> | |||
| <name>IANA Considerations</name> | <name>IANA Considerations</name> | |||
| <t>This document has no actions for IANA.</t> | <t>This document has no IANA actions.</t> | |||
| </section> | </section> | |||
| </middle> | </middle> | |||
| <back> | <back> | |||
| <displayreference target="RFC1034" to="DNS-CONCEPTS"/> | ||||
| <displayreference target="RFC2782" to="DNS-SRV"/> | ||||
| <displayreference target="RFC4592" to="DNS-WILDCARDS"/> | ||||
| <displayreference target="RFC5890" to="IDNA-DEFS"/> | ||||
| <displayreference target="RFC5891" to="IDNA-PROTO"/> | ||||
| <displayreference target="RFC4514" to="LDAP-DN"/> | ||||
| <displayreference target="RFC5280" to="PKIX"/> | ||||
| <displayreference target="RFC4985" to="SRVNAME"/> | ||||
| <displayreference target="RFC3986" to="URI"/> | ||||
| <displayreference target="RFC9325" to="TLS-REC"/> | ||||
| <displayreference target="RFC0791" to="IPv4"/> | ||||
| <displayreference target="RFC4291" to="IPv6"/> | ||||
| <displayreference target="RFC5234" to="ABNF"/> | ||||
| <displayreference target="RFC8555" to="ACME"/> | ||||
| <displayreference target="RFC7301" to="ALPN"/> | ||||
| <displayreference target="RFC6698" to="DANE"/> | ||||
| <displayreference target="RFC4343" to="DNS-CASE"/> | ||||
| <displayreference target="RFC7858" to="DNS-OVER-TLS"/> | ||||
| <displayreference target="RFC9147" to="DTLS"/> | ||||
| <displayreference target="RFC6186" to="EMAIL-SRV"/> | ||||
| <displayreference target="RFC9110" to="HTTP"/> | ||||
| <displayreference target="RFC3403" to="NAPTR"/> | ||||
| <displayreference target="RFC8915" to="NTS"/> | ||||
| <displayreference target="RFC9001" to="QUIC"/> | ||||
| <displayreference target="RFC4949" to="SECTERMS"/> | ||||
| <displayreference target="RFC3261" to="SIP"/> | ||||
| <displayreference target="RFC5922" to="SIP-CERTS"/> | ||||
| <displayreference target="RFC5630" to="SIP-SIPS"/> | ||||
| <displayreference target="RFC8689" to="SMTP-TLS"/> | ||||
| <displayreference target="RFC8446" to="TLS"/> | ||||
| <displayreference target="RFC9345" to="TLS-SUBCERTS"/> | ||||
| <displayreference target="RFC9461" to="SVCB-FOR-DNS"/> | ||||
| <displayreference target="RFC9460" to="SVCB-FOR-HTTPS"/> | ||||
| <displayreference target="RFC6125" to="VERIFY"/> | ||||
| <displayreference target="RFC6120" to="XMPP"/> | ||||
| <displayreference target="RFC6066" to ="TLS-EXT"/> | ||||
| <references> | <references> | |||
| <name>References</name> | <name>References</name> | |||
| <references> | <references> | |||
| <name>Normative References</name> | <name>Normative References</name> | |||
| <reference anchor="DNS-CONCEPTS"> | ||||
| <front> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1034.xml" | |||
| <title>Domain names - concepts and facilities</title> | /> | |||
| <author fullname="P. Mockapetris" initials="P." surname="Mockapetris | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2782.xml" | |||
| "/> | /> | |||
| <date month="November" year="1987"/> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4592.xml" | |||
| <abstract> | /> | |||
| <t>This RFC is the revised basic definition of The Domain Name Sys | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5890.xml" | |||
| tem. It obsoletes RFC-882. This memo describes the domain style names and their | /> | |||
| used for host address look up and electronic mail forwarding. It discusses the c | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5891.xml" | |||
| lients and servers in the domain name system and the protocol used between them. | /> | |||
| </t> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4514.xml" | |||
| </abstract> | /> | |||
| </front> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5280.xml" | |||
| <seriesInfo name="STD" value="13"/> | /> | |||
| <seriesInfo name="RFC" value="1034"/> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4985.xml" | |||
| <seriesInfo name="DOI" value="10.17487/RFC1034"/> | /> | |||
| </reference> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9325.xml" | |||
| <reference anchor="DNS-SRV"> | /> | |||
| <front> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml" | |||
| <title>A DNS RR for specifying the location of services (DNS SRV)</t | /> | |||
| itle> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml" | |||
| <author fullname="A. Gulbrandsen" initials="A." surname="Gulbrandsen | /> | |||
| "/> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.0791.xml" | |||
| <author fullname="P. Vixie" initials="P." surname="Vixie"/> | /> | |||
| <author fullname="L. Esibov" initials="L." surname="Esibov"/> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4291.xml" | |||
| <date month="February" year="2000"/> | /> | |||
| <abstract> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3986.xml" | |||
| <t>This document describes a DNS RR which specifies the location o | /> | |||
| f the server(s) for a specific protocol and domain. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="2782"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC2782"/> | ||||
| </reference> | ||||
| <reference anchor="DNS-WILDCARDS"> | ||||
| <front> | ||||
| <title>The Role of Wildcards in the Domain Name System</title> | ||||
| <author fullname="E. Lewis" initials="E." surname="Lewis"/> | ||||
| <date month="July" year="2006"/> | ||||
| <abstract> | ||||
| <t>This is an update to the wildcard definition of RFC 1034. The i | ||||
| nteraction with wildcards and CNAME is changed, an error condition is removed, a | ||||
| nd the words defining some concepts central to wildcards are changed. The overal | ||||
| l goal is not to change wildcards, but to refine the definition of RFC 1034. [ST | ||||
| ANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="4592"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC4592"/> | ||||
| </reference> | ||||
| <reference anchor="IDNA-DEFS"> | ||||
| <front> | ||||
| <title>Internationalized Domain Names for Applications (IDNA): Defin | ||||
| itions and Document Framework</title> | ||||
| <author fullname="J. Klensin" initials="J." surname="Klensin"/> | ||||
| <date month="August" year="2010"/> | ||||
| <abstract> | ||||
| <t>This document is one of a collection that, together, describe t | ||||
| he protocol and usage context for a revision of Internationalized Domain Names f | ||||
| or Applications (IDNA), superseding the earlier version. It describes the docume | ||||
| nt collection and provides definitions and other material that are common to the | ||||
| set. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="5890"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC5890"/> | ||||
| </reference> | ||||
| <reference anchor="IDNA-PROTO"> | ||||
| <front> | ||||
| <title>Internationalized Domain Names in Applications (IDNA): Protoc | ||||
| ol</title> | ||||
| <author fullname="J. Klensin" initials="J." surname="Klensin"/> | ||||
| <date month="August" year="2010"/> | ||||
| <abstract> | ||||
| <t>This document is the revised protocol definition for Internatio | ||||
| nalized Domain Names (IDNs). The rationale for changes, the relationship to the | ||||
| older specification, and important terminology are provided in other documents. | ||||
| This document specifies the protocol mechanism, called Internationalized Domain | ||||
| Names in Applications (IDNA), for registering and looking up IDNs in a way that | ||||
| does not require changes to the DNS itself. IDNA is only meant for processing do | ||||
| main names, not free text. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="5891"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC5891"/> | ||||
| </reference> | ||||
| <reference anchor="LDAP-DN"> | ||||
| <front> | ||||
| <title>Lightweight Directory Access Protocol (LDAP): String Represen | ||||
| tation of Distinguished Names</title> | ||||
| <author fullname="K. Zeilenga" initials="K." role="editor" surname=" | ||||
| Zeilenga"/> | ||||
| <date month="June" year="2006"/> | ||||
| <abstract> | ||||
| <t>The X.500 Directory uses distinguished names (DNs) as primary k | ||||
| eys to entries in the directory. This document defines the string representation | ||||
| used in the Lightweight Directory Access Protocol (LDAP) to transfer distinguis | ||||
| hed names. The string representation is designed to give a clean representation | ||||
| of commonly used distinguished names, while being able to represent any distingu | ||||
| ished name. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="4514"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC4514"/> | ||||
| </reference> | ||||
| <reference anchor="PKIX"> | ||||
| <front> | ||||
| <title>Internet X.509 Public Key Infrastructure Certificate and Cert | ||||
| ificate Revocation List (CRL) Profile</title> | ||||
| <author fullname="D. Cooper" initials="D." surname="Cooper"/> | ||||
| <author fullname="S. Santesson" initials="S." surname="Santesson"/> | ||||
| <author fullname="S. Farrell" initials="S." surname="Farrell"/> | ||||
| <author fullname="S. Boeyen" initials="S." surname="Boeyen"/> | ||||
| <author fullname="R. Housley" initials="R." surname="Housley"/> | ||||
| <author fullname="W. Polk" initials="W." surname="Polk"/> | ||||
| <date month="May" year="2008"/> | ||||
| <abstract> | ||||
| <t>This memo profiles the X.509 v3 certificate and X.509 v2 certif | ||||
| icate revocation list (CRL) for use in the Internet. An overview of this approac | ||||
| h and model is provided as an introduction. The X.509 v3 certificate format is d | ||||
| escribed in detail, with additional information regarding the format and semanti | ||||
| cs of Internet name forms. Standard certificate extensions are described and two | ||||
| Internet-specific extensions are defined. A set of required certificate extensi | ||||
| ons is specified. The X.509 v2 CRL format is described in detail along with stan | ||||
| dard and Internet-specific extensions. An algorithm for X.509 certification path | ||||
| validation is described. An ASN.1 module and examples are provided in the appen | ||||
| dices. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="5280"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC5280"/> | ||||
| </reference> | ||||
| <reference anchor="SRVNAME"> | ||||
| <front> | ||||
| <title>Internet X.509 Public Key Infrastructure Subject Alternative | ||||
| Name for Expression of Service Name</title> | ||||
| <author fullname="S. Santesson" initials="S." surname="Santesson"/> | ||||
| <date month="August" year="2007"/> | ||||
| <abstract> | ||||
| <t>This document defines a new name form for inclusion in the othe | ||||
| rName field of an X.509 Subject Alternative Name extension that allows a certifi | ||||
| cate subject to be associated with the service name and domain name components o | ||||
| f a DNS Service Resource Record. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="4985"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC4985"/> | ||||
| </reference> | ||||
| <reference anchor="URI"> | ||||
| <front> | ||||
| <title>Uniform Resource Identifier (URI): Generic Syntax</title> | ||||
| <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee | ||||
| "/> | ||||
| <author fullname="R. Fielding" initials="R." surname="Fielding"/> | ||||
| <author fullname="L. Masinter" initials="L." surname="Masinter"/> | ||||
| <date month="January" year="2005"/> | ||||
| <abstract> | ||||
| <t>A Uniform Resource Identifier (URI) is a compact sequence of ch | ||||
| aracters that identifies an abstract or physical resource. This specification de | ||||
| fines the generic URI syntax and a process for resolving URI references that mig | ||||
| ht be in relative form, along with guidelines and security considerations for th | ||||
| e use of URIs on the Internet. The URI syntax defines a grammar that is a supers | ||||
| et of all valid URIs, allowing an implementation to parse the common components | ||||
| of a URI reference without knowing the scheme-specific requirements of every pos | ||||
| sible identifier. This specification does not define a generative grammar for UR | ||||
| Is; that task is performed by the individual specifications of each URI scheme. | ||||
| [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="STD" value="66"/> | ||||
| <seriesInfo name="RFC" value="3986"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC3986"/> | ||||
| </reference> | ||||
| <reference anchor="TLS-REC"> | ||||
| <front> | ||||
| <title>Recommendations for Secure Use of Transport Layer Security (T | ||||
| LS) and Datagram Transport Layer Security (DTLS)</title> | ||||
| <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/> | ||||
| <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre | ||||
| "/> | ||||
| <author fullname="T. Fossati" initials="T." surname="Fossati"/> | ||||
| <date month="November" year="2022"/> | ||||
| <abstract> | ||||
| <t>Transport Layer Security (TLS) and Datagram Transport Layer Sec | ||||
| urity (DTLS) are used to protect data exchanged over a wide range of application | ||||
| protocols and can also form the basis for secure transport protocols. Over the | ||||
| years, the industry has witnessed several serious attacks on TLS and DTLS, inclu | ||||
| ding attacks on the most commonly used cipher suites and their modes of operatio | ||||
| n. This document provides the latest recommendations for ensuring the security o | ||||
| f deployed services that use TLS and DTLS. These recommendations are applicable | ||||
| to the majority of use cases.</t> | ||||
| <t>RFC 7525, an earlier version of the TLS recommendations, was pu | ||||
| blished when the industry was transitioning to TLS 1.2. Years later, this transi | ||||
| tion is largely complete, and TLS 1.3 is widely available. This document updates | ||||
| the guidance given the new environment and obsoletes RFC 7525. In addition, thi | ||||
| s document updates RFCs 5288 and 6066 in view of recent attacks.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="BCP" value="195"/> | ||||
| <seriesInfo name="RFC" value="9325"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC9325"/> | ||||
| </reference> | ||||
| <reference anchor="RFC2119"> | ||||
| <front> | ||||
| <title>Key words for use in RFCs to Indicate Requirement Levels</tit | ||||
| le> | ||||
| <author fullname="S. Bradner" initials="S." surname="Bradner"/> | ||||
| <date month="March" year="1997"/> | ||||
| <abstract> | ||||
| <t>In many standards track documents several words are used to sig | ||||
| nify the requirements in the specification. These words are often capitalized. T | ||||
| his document defines these words as they should be interpreted in IETF documents | ||||
| . This document specifies an Internet Best Current Practices for the Internet Co | ||||
| mmunity, and requests discussion and suggestions for improvements.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="BCP" value="14"/> | ||||
| <seriesInfo name="RFC" value="2119"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC2119"/> | ||||
| </reference> | ||||
| <reference anchor="RFC8174"> | ||||
| <front> | ||||
| <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</ti | ||||
| tle> | ||||
| <author fullname="B. Leiba" initials="B." surname="Leiba"/> | ||||
| <date month="May" year="2017"/> | ||||
| <abstract> | ||||
| <t>RFC 2119 specifies common key words that may be used in protoco | ||||
| l specifications. This document aims to reduce the ambiguity by clarifying that | ||||
| only UPPERCASE usage of the key words have the defined special meanings.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="BCP" value="14"/> | ||||
| <seriesInfo name="RFC" value="8174"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC8174"/> | ||||
| </reference> | ||||
| <reference anchor="IPv4"> | ||||
| <front> | ||||
| <title>Internet Protocol</title> | ||||
| <author fullname="J. Postel" initials="J." surname="Postel"/> | ||||
| <date month="September" year="1981"/> | ||||
| </front> | ||||
| <seriesInfo name="STD" value="5"/> | ||||
| <seriesInfo name="RFC" value="791"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC0791"/> | ||||
| </reference> | ||||
| <reference anchor="IPv6"> | ||||
| <front> | ||||
| <title>IP Version 6 Addressing Architecture</title> | ||||
| <author fullname="R. Hinden" initials="R." surname="Hinden"/> | ||||
| <author fullname="S. Deering" initials="S." surname="Deering"/> | ||||
| <date month="February" year="2006"/> | ||||
| <abstract> | ||||
| <t>This specification defines the addressing architecture of the I | ||||
| P Version 6 (IPv6) protocol. The document includes the IPv6 addressing model, te | ||||
| xt representations of IPv6 addresses, definition of IPv6 unicast addresses, anyc | ||||
| ast addresses, and multicast addresses, and an IPv6 node's required addresses.</ | ||||
| t> | ||||
| <t>This document obsoletes RFC 3513, "IP Version 6 Addressing Arch | ||||
| itecture". [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="4291"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC4291"/> | ||||
| </reference> | ||||
| <reference anchor="RFC3986"> | ||||
| <front> | ||||
| <title>Uniform Resource Identifier (URI): Generic Syntax</title> | ||||
| <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee | ||||
| "/> | ||||
| <author fullname="R. Fielding" initials="R." surname="Fielding"/> | ||||
| <author fullname="L. Masinter" initials="L." surname="Masinter"/> | ||||
| <date month="January" year="2005"/> | ||||
| <abstract> | ||||
| <t>A Uniform Resource Identifier (URI) is a compact sequence of ch | ||||
| aracters that identifies an abstract or physical resource. This specification de | ||||
| fines the generic URI syntax and a process for resolving URI references that mig | ||||
| ht be in relative form, along with guidelines and security considerations for th | ||||
| e use of URIs on the Internet. The URI syntax defines a grammar that is a supers | ||||
| et of all valid URIs, allowing an implementation to parse the common components | ||||
| of a URI reference without knowing the scheme-specific requirements of every pos | ||||
| sible identifier. This specification does not define a generative grammar for UR | ||||
| Is; that task is performed by the individual specifications of each URI scheme. | ||||
| [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="STD" value="66"/> | ||||
| <seriesInfo name="RFC" value="3986"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC3986"/> | ||||
| </reference> | ||||
| </references> | </references> | |||
| <references> | <references> | |||
| <name>Informative References</name> | <name>Informative References</name> | |||
| <reference anchor="ABNF"> | ||||
| <front> | ||||
| <title>Augmented BNF for Syntax Specifications: ABNF</title> | ||||
| <author fullname="D. Crocker" initials="D." role="editor" surname="C | ||||
| rocker"/> | ||||
| <author fullname="P. Overell" initials="P." surname="Overell"/> | ||||
| <date month="January" year="2008"/> | ||||
| <abstract> | ||||
| <t>Internet technical specifications often need to define a formal | ||||
| syntax. Over the years, a modified version of Backus-Naur Form (BNF), called Au | ||||
| gmented BNF (ABNF), has been popular among many Internet specifications. The cur | ||||
| rent specification documents ABNF. It balances compactness and simplicity with r | ||||
| easonable representational power. The differences between standard BNF and ABNF | ||||
| involve naming rules, repetition, alternatives, order-independence, and value ra | ||||
| nges. This specification also supplies additional rule definitions and encoding | ||||
| for a core lexical analyzer of the type common to several Internet specification | ||||
| s. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="STD" value="68"/> | ||||
| <seriesInfo name="RFC" value="5234"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC5234"/> | ||||
| </reference> | ||||
| <reference anchor="ACME"> | ||||
| <front> | ||||
| <title>Automatic Certificate Management Environment (ACME)</title> | ||||
| <author fullname="R. Barnes" initials="R." surname="Barnes"/> | ||||
| <author fullname="J. Hoffman-Andrews" initials="J." surname="Hoffman | ||||
| -Andrews"/> | ||||
| <author fullname="D. McCarney" initials="D." surname="McCarney"/> | ||||
| <author fullname="J. Kasten" initials="J." surname="Kasten"/> | ||||
| <date month="March" year="2019"/> | ||||
| <abstract> | ||||
| <t>Public Key Infrastructure using X.509 (PKIX) certificates are u | ||||
| sed for a number of purposes, the most significant of which is the authenticatio | ||||
| n of domain names. Thus, certification authorities (CAs) in the Web PKI are trus | ||||
| ted to verify that an applicant for a certificate legitimately represents the do | ||||
| main name(s) in the certificate. As of this writing, this verification is done t | ||||
| hrough a collection of ad hoc mechanisms. This document describes a protocol tha | ||||
| t a CA and an applicant can use to automate the process of verification and cert | ||||
| ificate issuance. The protocol also provides facilities for other certificate ma | ||||
| nagement functions, such as certificate revocation.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="8555"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC8555"/> | ||||
| </reference> | ||||
| <reference anchor="ALPN"> | ||||
| <front> | ||||
| <title>Transport Layer Security (TLS) Application-Layer Protocol Neg | ||||
| otiation Extension</title> | ||||
| <author fullname="S. Friedl" initials="S." surname="Friedl"/> | ||||
| <author fullname="A. Popov" initials="A." surname="Popov"/> | ||||
| <author fullname="A. Langley" initials="A." surname="Langley"/> | ||||
| <author fullname="E. Stephan" initials="E." surname="Stephan"/> | ||||
| <date month="July" year="2014"/> | ||||
| <abstract> | ||||
| <t>This document describes a Transport Layer Security (TLS) extens | ||||
| ion for application-layer protocol negotiation within the TLS handshake. For ins | ||||
| tances in which multiple application protocols are supported on the same TCP or | ||||
| UDP port, this extension allows the application layer to negotiate which protoco | ||||
| l will be used within the TLS connection.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="7301"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC7301"/> | ||||
| </reference> | ||||
| <reference anchor="DANE"> | ||||
| <front> | ||||
| <title>The DNS-Based Authentication of Named Entities (DANE) Transpo | ||||
| rt Layer Security (TLS) Protocol: TLSA</title> | ||||
| <author fullname="P. Hoffman" initials="P." surname="Hoffman"/> | ||||
| <author fullname="J. Schlyter" initials="J." surname="Schlyter"/> | ||||
| <date month="August" year="2012"/> | ||||
| <abstract> | ||||
| <t>Encrypted communication on the Internet often uses Transport La | ||||
| yer Security (TLS), which depends on third parties to certify the keys used. Thi | ||||
| s document improves on that situation by enabling the administrators of domain n | ||||
| ames to specify the keys used in that domain's TLS servers. This requires matchi | ||||
| ng improvements in TLS client software, but no change in TLS server software. [S | ||||
| TANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="6698"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC6698"/> | ||||
| </reference> | ||||
| <reference anchor="DNS-CASE"> | ||||
| <front> | ||||
| <title>Domain Name System (DNS) Case Insensitivity Clarification</ti | ||||
| tle> | ||||
| <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3 | ||||
| rd"/> | ||||
| <date month="January" year="2006"/> | ||||
| <abstract> | ||||
| <t>Domain Name System (DNS) names are "case insensitive". This doc | ||||
| ument explains exactly what that means and provides a clear specification of the | ||||
| rules. This clarification updates RFCs 1034, 1035, and 2181. [STANDARDS-TRACK]< | ||||
| /t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="4343"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC4343"/> | ||||
| </reference> | ||||
| <reference anchor="DNS-OVER-TLS"> | ||||
| <front> | ||||
| <title>Specification for DNS over Transport Layer Security (TLS)</ti | ||||
| tle> | ||||
| <author fullname="Z. Hu" initials="Z." surname="Hu"/> | ||||
| <author fullname="L. Zhu" initials="L." surname="Zhu"/> | ||||
| <author fullname="J. Heidemann" initials="J." surname="Heidemann"/> | ||||
| <author fullname="A. Mankin" initials="A." surname="Mankin"/> | ||||
| <author fullname="D. Wessels" initials="D." surname="Wessels"/> | ||||
| <author fullname="P. Hoffman" initials="P." surname="Hoffman"/> | ||||
| <date month="May" year="2016"/> | ||||
| <abstract> | ||||
| <t>This document describes the use of Transport Layer Security (TL | ||||
| S) to provide privacy for DNS. Encryption provided by TLS eliminates opportuniti | ||||
| es for eavesdropping and on-path tampering with DNS queries in the network, such | ||||
| as discussed in RFC 7626. In addition, this document specifies two usage profil | ||||
| es for DNS over TLS and provides advice on performance considerations to minimiz | ||||
| e overhead from using TCP and TLS with DNS.</t> | ||||
| <t>This document focuses on securing stub-to-recursive traffic, as | ||||
| per the charter of the DPRIVE Working Group. It does not prevent future applica | ||||
| tions of the protocol to recursive-to-authoritative traffic.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="7858"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC7858"/> | ||||
| </reference> | ||||
| <reference anchor="DTLS"> | ||||
| <front> | ||||
| <title>The Datagram Transport Layer Security (DTLS) Protocol Version | ||||
| 1.3</title> | ||||
| <author fullname="E. Rescorla" initials="E." surname="Rescorla"/> | ||||
| <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/ | ||||
| > | ||||
| <author fullname="N. Modadugu" initials="N." surname="Modadugu"/> | ||||
| <date month="April" year="2022"/> | ||||
| <abstract> | ||||
| <t>This document specifies version 1.3 of the Datagram Transport L | ||||
| ayer Security (DTLS) protocol. DTLS 1.3 allows client/server applications to com | ||||
| municate over the Internet in a way that is designed to prevent eavesdropping, t | ||||
| ampering, and message forgery.</t> | ||||
| <t>The DTLS 1.3 protocol is based on the Transport Layer Security | ||||
| (TLS) 1.3 protocol and provides equivalent security guarantees with the exceptio | ||||
| n of order protection / non-replayability. Datagram semantics of the underlying | ||||
| transport are preserved by the DTLS protocol.</t> | ||||
| <t>This document obsoletes RFC 6347.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="9147"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC9147"/> | ||||
| </reference> | ||||
| <reference anchor="EMAIL-SRV"> | ||||
| <front> | ||||
| <title>Use of SRV Records for Locating Email Submission/Access Servi | ||||
| ces</title> | ||||
| <author fullname="C. Daboo" initials="C." surname="Daboo"/> | ||||
| <date month="March" year="2011"/> | ||||
| <abstract> | ||||
| <t>This specification describes how SRV records can be used to loc | ||||
| ate email services. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="6186"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC6186"/> | ||||
| </reference> | ||||
| <reference anchor="HTTP"> | ||||
| <front> | ||||
| <title>HTTP Semantics</title> | ||||
| <author fullname="R. Fielding" initials="R." role="editor" surname=" | ||||
| Fielding"/> | ||||
| <author fullname="M. Nottingham" initials="M." role="editor" surname | ||||
| ="Nottingham"/> | ||||
| <author fullname="J. Reschke" initials="J." role="editor" surname="R | ||||
| eschke"/> | ||||
| <date month="June" year="2022"/> | ||||
| <abstract> | ||||
| <t>The Hypertext Transfer Protocol (HTTP) is a stateless applicati | ||||
| on-level protocol for distributed, collaborative, hypertext information systems. | ||||
| This document describes the overall architecture of HTTP, establishes common te | ||||
| rminology, and defines aspects of the protocol that are shared by all versions. | ||||
| In this definition are core protocol elements, extensibility mechanisms, and the | ||||
| "http" and "https" Uniform Resource Identifier (URI) schemes.</t> | ||||
| <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7 | ||||
| 232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="STD" value="97"/> | ||||
| <seriesInfo name="RFC" value="9110"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC9110"/> | ||||
| </reference> | ||||
| <reference anchor="HTTP-OVER-TLS"> | ||||
| <front> | ||||
| <title>HTTP Over TLS</title> | ||||
| <author fullname="E. Rescorla" initials="E." surname="Rescorla"/> | ||||
| <date month="May" year="2000"/> | ||||
| <abstract> | ||||
| <t>This memo describes how to use Transport Layer Security (TLS) t | ||||
| o secure Hypertext Transfer Protocol (HTTP) connections over the Internet. This | ||||
| memo provides information for the Internet community.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="2818"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC2818"/> | ||||
| </reference> | ||||
| <reference anchor="NAPTR"> | ||||
| <front> | ||||
| <title>Dynamic Delegation Discovery System (DDDS) Part Three: The Do | ||||
| main Name System (DNS) Database</title> | ||||
| <author fullname="M. Mealling" initials="M." surname="Mealling"/> | ||||
| <date month="October" year="2002"/> | ||||
| <abstract> | ||||
| <t>This document describes a Dynamic Delegation Discovery System ( | ||||
| DDDS) Database using the Domain Name System (DNS) as a distributed database of R | ||||
| ules. The Keys are domain-names and the Rules are encoded using the Naming Autho | ||||
| rity Pointer (NAPTR) Resource Record (RR). Since this document obsoletes RFC 291 | ||||
| 5, it is the official specification for the NAPTR DNS Resource Record. It is als | ||||
| o part of a series that is completely specified in "Dynamic Delegation Discovery | ||||
| System (DDDS) Part One: The Comprehensive DDDS" (RFC 3401). It is very importan | ||||
| t to note that it is impossible to read and understand any document in this seri | ||||
| es without reading the others. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="3403"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC3403"/> | ||||
| </reference> | ||||
| <reference anchor="NTS"> | ||||
| <front> | ||||
| <title>Network Time Security for the Network Time Protocol</title> | ||||
| <author fullname="D. Franke" initials="D." surname="Franke"/> | ||||
| <author fullname="D. Sibold" initials="D." surname="Sibold"/> | ||||
| <author fullname="K. Teichel" initials="K." surname="Teichel"/> | ||||
| <author fullname="M. Dansarie" initials="M." surname="Dansarie"/> | ||||
| <author fullname="R. Sundblad" initials="R." surname="Sundblad"/> | ||||
| <date month="September" year="2020"/> | ||||
| <abstract> | ||||
| <t>This memo specifies Network Time Security (NTS), a mechanism fo | ||||
| r using Transport Layer Security (TLS) and Authenticated Encryption with Associa | ||||
| ted Data (AEAD) to provide cryptographic security for the client-server mode of | ||||
| the Network Time Protocol (NTP).</t> | ||||
| <t>NTS is structured as a suite of two loosely coupled sub-protoco | ||||
| ls. The first (NTS Key Establishment (NTS-KE)) handles initial authentication an | ||||
| d key establishment over TLS. The second (NTS Extension Fields for NTPv4) handle | ||||
| s encryption and authentication during NTP time synchronization via extension fi | ||||
| elds in the NTP packets, and holds all required state only on the client via opa | ||||
| que cookies.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="8915"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC8915"/> | ||||
| </reference> | ||||
| <reference anchor="QUIC"> | ||||
| <front> | ||||
| <title>Using TLS to Secure QUIC</title> | ||||
| <author fullname="M. Thomson" initials="M." role="editor" surname="T | ||||
| homson"/> | ||||
| <author fullname="S. Turner" initials="S." role="editor" surname="Tu | ||||
| rner"/> | ||||
| <date month="May" year="2021"/> | ||||
| <abstract> | ||||
| <t>This document describes how Transport Layer Security (TLS) is u | ||||
| sed to secure QUIC.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="9001"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC9001"/> | ||||
| </reference> | ||||
| <reference anchor="SECTERMS"> | ||||
| <front> | ||||
| <title>Internet Security Glossary, Version 2</title> | ||||
| <author fullname="R. Shirey" initials="R." surname="Shirey"/> | ||||
| <date month="August" year="2007"/> | ||||
| <abstract> | ||||
| <t>This Glossary provides definitions, abbreviations, and explanat | ||||
| ions of terminology for information system security. The 334 pages of entries of | ||||
| fer recommendations to improve the comprehensibility of written material that is | ||||
| generated in the Internet Standards Process (RFC 2026). The recommendations fol | ||||
| low the principles that such writing should (a) use the same term or definition | ||||
| whenever the same concept is mentioned; (b) use terms in their plainest, diction | ||||
| ary sense; (c) use terms that are already well-established in open publications; | ||||
| and (d) avoid terms that either favor a particular vendor or favor a particular | ||||
| technology or mechanism over other, competing techniques that already exist or | ||||
| could be developed. This memo provides information for the Internet community.</ | ||||
| t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="FYI" value="36"/> | ||||
| <seriesInfo name="RFC" value="4949"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC4949"/> | ||||
| </reference> | ||||
| <reference anchor="SIP"> | ||||
| <front> | ||||
| <title>SIP: Session Initiation Protocol</title> | ||||
| <author fullname="J. Rosenberg" initials="J." surname="Rosenberg"/> | ||||
| <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne | ||||
| "/> | ||||
| <author fullname="G. Camarillo" initials="G." surname="Camarillo"/> | ||||
| <author fullname="A. Johnston" initials="A." surname="Johnston"/> | ||||
| <author fullname="J. Peterson" initials="J." surname="Peterson"/> | ||||
| <author fullname="R. Sparks" initials="R." surname="Sparks"/> | ||||
| <author fullname="M. Handley" initials="M." surname="Handley"/> | ||||
| <author fullname="E. Schooler" initials="E." surname="Schooler"/> | ||||
| <date month="June" year="2002"/> | ||||
| <abstract> | ||||
| <t>This document describes Session Initiation Protocol (SIP), an a | ||||
| pplication-layer control (signaling) protocol for creating, modifying, and termi | ||||
| nating sessions with one or more participants. These sessions include Internet t | ||||
| elephone calls, multimedia distribution, and multimedia conferences. [STANDARDS- | ||||
| TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="3261"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC3261"/> | ||||
| </reference> | ||||
| <reference anchor="SIP-CERTS"> | ||||
| <front> | ||||
| <title>Domain Certificates in the Session Initiation Protocol (SIP)< | ||||
| /title> | ||||
| <author fullname="V. Gurbani" initials="V." surname="Gurbani"/> | ||||
| <author fullname="S. Lawrence" initials="S." surname="Lawrence"/> | ||||
| <author fullname="A. Jeffrey" initials="A." surname="Jeffrey"/> | ||||
| <date month="June" year="2010"/> | ||||
| <abstract> | ||||
| <t>This document describes how to construct and interpret certain | ||||
| information in a PKIX-compliant (Public Key Infrastructure using X.509) certific | ||||
| ate for use in a Session Initiation Protocol (SIP) over Transport Layer Security | ||||
| (TLS) connection. More specifically, this document describes how to encode and | ||||
| extract the identity of a SIP domain in a certificate and how to use that identi | ||||
| ty for SIP domain authentication. As such, this document is relevant both to imp | ||||
| lementors of SIP and to issuers of certificates. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="5922"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC5922"/> | ||||
| </reference> | ||||
| <reference anchor="SIP-SIPS"> | ||||
| <front> | ||||
| <title>The Use of the SIPS URI Scheme in the Session Initiation Prot | ||||
| ocol (SIP)</title> | ||||
| <author fullname="F. Audet" initials="F." surname="Audet"/> | ||||
| <date month="October" year="2009"/> | ||||
| <abstract> | ||||
| <t>This document provides clarifications and guidelines concerning | ||||
| the use of the SIPS URI scheme in the Session Initiation Protocol (SIP). It als | ||||
| o makes normative changes to SIP. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="5630"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC5630"/> | ||||
| </reference> | ||||
| <reference anchor="SMTP-TLS"> | ||||
| <front> | ||||
| <title>SMTP Require TLS Option</title> | ||||
| <author fullname="J. Fenton" initials="J." surname="Fenton"/> | ||||
| <date month="November" year="2019"/> | ||||
| <abstract> | ||||
| <t>The SMTP STARTTLS option, used in negotiating transport-level e | ||||
| ncryption of SMTP connections, is not as useful from a security standpoint as it | ||||
| might be because of its opportunistic nature; message delivery is, by default, | ||||
| prioritized over security. This document describes an SMTP service extension, RE | ||||
| QUIRETLS, and a message header field, TLS-Required. If the REQUIRETLS option or | ||||
| TLS-Required message header field is used when sending a message, it asserts a r | ||||
| equest on the part of the message sender to override the default negotiation of | ||||
| TLS, either by requiring that TLS be negotiated when the message is relayed or b | ||||
| y requesting that recipient-side policy mechanisms such as MTA-STS and DNS-Based | ||||
| Authentication of Named Entities (DANE) be ignored when relaying a message for | ||||
| which security is unimportant.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="8689"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC8689"/> | ||||
| </reference> | ||||
| <reference anchor="TLS"> | ||||
| <front> | ||||
| <title>The Transport Layer Security (TLS) Protocol Version 1.3</titl | ||||
| e> | ||||
| <author fullname="E. Rescorla" initials="E." surname="Rescorla"/> | ||||
| <date month="August" year="2018"/> | ||||
| <abstract> | ||||
| <t>This document specifies version 1.3 of the Transport Layer Secu | ||||
| rity (TLS) protocol. TLS allows client/server applications to communicate over t | ||||
| he Internet in a way that is designed to prevent eavesdropping, tampering, and m | ||||
| essage forgery.</t> | ||||
| <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 50 | ||||
| 77, 5246, and 6961. This document also specifies new requirements for TLS 1.2 im | ||||
| plementations.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="8446"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC8446"/> | ||||
| </reference> | ||||
| <reference anchor="TLS-SUBCERTS"> | ||||
| <front> | ||||
| <title>Delegated Credentials for TLS and DTLS</title> | ||||
| <author fullname="R. Barnes" initials="R." surname="Barnes"/> | ||||
| <author fullname="S. Iyengar" initials="S." surname="Iyengar"/> | ||||
| <author fullname="N. Sullivan" initials="N." surname="Sullivan"/> | ||||
| <author fullname="E. Rescorla" initials="E." surname="Rescorla"/> | ||||
| <date month="July" year="2023"/> | ||||
| <abstract> | ||||
| <t>The organizational separation between operators of TLS and DTLS | ||||
| endpoints and the certification authority can create limitations. For example, | ||||
| the lifetime of certificates, how they may be used, and the algorithms they supp | ||||
| ort are ultimately determined by the Certification Authority (CA). This document | ||||
| describes a mechanism to overcome some of these limitations by enabling operato | ||||
| rs to delegate their own credentials for use in TLS and DTLS without breaking co | ||||
| mpatibility with peers that do not support this specification.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="9345"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC9345"/> | ||||
| </reference> | ||||
| <reference anchor="SVCB-FOR-DNS"> | ||||
| <front> | ||||
| <title>Service Binding Mapping for DNS Servers</title> | ||||
| <author fullname="Benjamin M. Schwartz" initials="B. M." surname="Sc | ||||
| hwartz"> | ||||
| <organization>Meta Platforms, Inc.</organization> | ||||
| </author> | ||||
| <date day="26" month="June" year="2023"/> | ||||
| <abstract> | ||||
| <t> The SVCB DNS resource record type expresses a bound collecti | ||||
| on of | ||||
| endpoint metadata, for use when establishing a connection to a named | ||||
| service. DNS itself can be such a service, when the server is | ||||
| identified by a domain name. This document provides the SVCB mapping | ||||
| for named DNS servers, allowing them to indicate support for | ||||
| encrypted transport protocols. | ||||
| </t> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6066.xml" | |||
| </abstract> | /> | |||
| </front> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5234.xml" | |||
| <seriesInfo name="Internet-Draft" value="draft-ietf-add-svcb-dns-09"/> | /> | |||
| </reference> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8555.xml" | |||
| <reference anchor="SVCB-FOR-HTTPS"> | /> | |||
| <front> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7301.xml" | |||
| <title>Service binding and parameter specification via the DNS (DNS | /> | |||
| SVCB and HTTPS RRs)</title> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6698.xml" | |||
| <author fullname="Benjamin M. Schwartz" initials="B. M." surname="Sc | /> | |||
| hwartz"> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4343.xml" | |||
| <organization>Google</organization> | /> | |||
| </author> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7858.xml" | |||
| <author fullname="Mike Bishop" initials="M." surname="Bishop"> | /> | |||
| <organization>Akamai Technologies</organization> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9147.xml" | |||
| </author> | /> | |||
| <author fullname="Erik Nygren" initials="E." surname="Nygren"> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6186.xml" | |||
| <organization>Akamai Technologies</organization> | /> | |||
| </author> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9110.xml" | |||
| <date day="11" month="March" year="2023"/> | /> | |||
| <abstract> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3403.xml" | |||
| <t> This document specifies the "SVCB" and "HTTPS" DNS resource | /> | |||
| record | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8915.xml" | |||
| (RR) types to facilitate the lookup of information needed to make | /> | |||
| connections to network services, such as for HTTP origins. SVCB | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9001.xml" | |||
| records allow a service to be provided from multiple alternative | /> | |||
| endpoints, each with associated parameters (such as transport | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4949.xml" | |||
| protocol configuration), and are extensible to support future uses | /> | |||
| (such as keys for encrypting the TLS ClientHello). They also enable | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3261.xml" | |||
| aliasing of apex domains, which is not possible with CNAME. The | /> | |||
| HTTPS RR is a variation of SVCB for use with HTTP [HTTP]. By | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5922.xml" | |||
| providing more information to the client before it attempts to | /> | |||
| establish a connection, these records offer potential benefits to | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5630.xml" | |||
| both performance and privacy. | /> | |||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8689.xml" | ||||
| /> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8446.xml" | ||||
| /> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9345.xml" | ||||
| /> | ||||
| TO BE REMOVED: This document is being collaborated on in Github at: | <!-- [SVCB-FOR-DNS] [I-D.ietf-add-svcb-dns] is now RFC 9461 --> | |||
| https://github.com/MikeBishop/dns-alt-svc | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9461.xml" | |||
| (https://github.com/MikeBishop/dns-alt-svc). The most recent working | /> | |||
| version of the document, open issues, etc. should all be available | ||||
| there. The authors (gratefully) accept pull requests. | <!-- [SVCB-FOR-HTTPS] [I-D.ietf-dnsop-svcb-https] is now RFC 9460 --> | |||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9460.xml" | ||||
| /> | ||||
| <!--<reference anchor="I-D.ietf-dnsop-svcb-https" target="https://datatracker.ie | ||||
| tf.org/doc/html/draft-ietf-dnsop-svcb-https-12"> | ||||
| <front> | ||||
| <title>Service binding and parameter specification via the DNS (DNS SVCB and | ||||
| HTTPS RRs)</title> | ||||
| <author fullname="Benjamin M. Schwartz" initials="B." surname="Schwartz"> | ||||
| <organization>Google</organization> | ||||
| </author> | ||||
| <author fullname="Mike Bishop" initials="M." surname="Bishop"> | ||||
| <organization>Akamai Technologies</organization> | ||||
| </author> | ||||
| <author fullname="Erik Nygren" initials="E." surname="Nygren"> | ||||
| <organization>Akamai Technologies</organization> | ||||
| </author> | ||||
| <date day="11" month="March" year="2023"/> | ||||
| </front> | ||||
| <seriesInfo name="Internet-Draft" value="draft-ietf-dnsop-svcb-https-12"/> | ||||
| </reference> | ||||
| --> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6125.xml" | ||||
| /> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6120.xml" | ||||
| /> | ||||
| </t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="Internet-Draft" value="draft-ietf-dnsop-svcb-https-1 | ||||
| 2"/> | ||||
| </reference> | ||||
| <reference anchor="VERIFY"> | ||||
| <front> | ||||
| <title>Representation and Verification of Domain-Based Application S | ||||
| ervice Identity within Internet Public Key Infrastructure Using X.509 (PKIX) Cer | ||||
| tificates in the Context of Transport Layer Security (TLS)</title> | ||||
| <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre | ||||
| "/> | ||||
| <author fullname="J. Hodges" initials="J." surname="Hodges"/> | ||||
| <date month="March" year="2011"/> | ||||
| <abstract> | ||||
| <t>Many application technologies enable secure communication betwe | ||||
| en two entities by means of Internet Public Key Infrastructure Using X.509 (PKIX | ||||
| ) certificates in the context of Transport Layer Security (TLS). This document s | ||||
| pecifies procedures for representing and verifying the identity of application s | ||||
| ervices in such interactions. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="6125"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC6125"/> | ||||
| </reference> | ||||
| <reference anchor="XMPP"> | ||||
| <front> | ||||
| <title>Extensible Messaging and Presence Protocol (XMPP): Core</titl | ||||
| e> | ||||
| <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre | ||||
| "/> | ||||
| <date month="March" year="2011"/> | ||||
| <abstract> | ||||
| <t>The Extensible Messaging and Presence Protocol (XMPP) is an app | ||||
| lication profile of the Extensible Markup Language (XML) that enables the near-r | ||||
| eal-time exchange of structured yet extensible data between any two or more netw | ||||
| ork entities. This document defines XMPP's core protocol methods: setup and tear | ||||
| down of XML streams, channel encryption, authentication, error handling, and com | ||||
| munication primitives for messaging, network availability ("presence"), and requ | ||||
| est-response interactions. This document obsoletes RFC 3920. [STANDARDS-TRACK]</ | ||||
| t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="6120"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC6120"/> | ||||
| </reference> | ||||
| <reference anchor="ALPACA" target="https://alpaca-attack.com/ALPACA.pdf" > | <reference anchor="ALPACA" target="https://alpaca-attack.com/ALPACA.pdf" > | |||
| <front> | <front> | |||
| <title>ALPACA: Application Layer Protocol Confusion - Analyzing and Mitigating Cracks in TLS Authentication</title> | <title>ALPACA: Application Layer Protocol Confusion - Analyzing and Mitigating Cracks in TLS Authentication</title> | |||
| <author initials="M." surname="Brinkmann" fullname="Marcus Brinkmann "> | <author initials="M." surname="Brinkmann" fullname="Marcus Brinkmann "> | |||
| <organization>Ruhr University Bochum</organization> | <organization>Ruhr University Bochum</organization> | |||
| </author> | </author> | |||
| <author initials="C." surname="Dresen" fullname="Christian Dresen"> | <author initials="C." surname="Dresen" fullname="Christian Dresen"> | |||
| <organization>Münster University of Applied Sciences</organization > | <organization>Münster University of Applied Sciences</organization > | |||
| </author> | </author> | |||
| <author initials="R." surname="Merget" fullname="Robert Merget"> | <author initials="R." surname="Merget" fullname="Robert Merget"> | |||
| <organization>Ruhr University Bochum</organization> | <organization>Ruhr University Bochum</organization> | |||
| </author> | </author> | |||
| <author initials="D." surname="Poddebniak" fullname="Damian Poddebni ak"> | <author initials="D." surname="Poddebniak" fullname="Damian Poddebni ak"> | |||
| <organization>Münster University of Applied Sciences</organization > | <organization>Münster University of Applied Sciences</organization > | |||
| </author> | </author> | |||
| <author initials="J." surname="Müller" fullname="Jens Müler"> | <author initials="J." surname="Müller" fullname="Jens Müller"> | |||
| <organization>Ruhr University Bochum</organization> | <organization>Ruhr University Bochum</organization> | |||
| </author> | </author> | |||
| <author initials="J." surname="Somorovsky" fullname="Juraj Somorovsk y"> | <author initials="J." surname="Somorovsky" fullname="Juraj Somorovsk y"> | |||
| <organization>Paderborn University</organization> | <organization>Paderborn University</organization> | |||
| </author> | </author> | |||
| <author initials="J." surname="Schwenk" fullname="Jörg Schwek"> | <author initials="J." surname="Schwenk" fullname="Jörg Schwenk"> | |||
| <organization>Ruhr University Bochum</organization> | <organization>Ruhr University Bochum</organization> | |||
| </author> | </author> | |||
| <author initials="S." surname="Schinzel" fullname="Sebastian Schinze l"> | <author initials="S." surname="Schinzel" fullname="Sebastian Schinze l"> | |||
| <organization>Ruhr University Bochum</organization> | <organization>Ruhr University Bochum</organization> | |||
| </author> | </author> | |||
| <date year="2021" month="September"/> | <date year="2021" month="September"/> | |||
| </front> | </front> | |||
| <refcontent>30th USENIX Security Symposium (USENIX Security 21)</refcon tent> | ||||
| </reference> | </reference> | |||
| <reference anchor="HTTPSbytes" target="https://media.blackhat.com/bh-ad- 10/Hansen/Blackhat-AD-2010-Hansen-Sokol-HTTPS-Can-Byte-Me-slides.pdf"> | <reference anchor="HTTPSbytes" target="https://media.blackhat.com/bh-ad- 10/Hansen/Blackhat-AD-2010-Hansen-Sokol-HTTPS-Can-Byte-Me-slides.pdf"> | |||
| <front> | <front> | |||
| <title>HTTPS Can Byte Me</title> | <title>HTTPS Can Byte Me</title> | |||
| <author initials="J." surname="Sokol" fullname="Josh Sokol"> | <author initials="J." surname="Sokol" fullname="Josh Sokol"> | |||
| <organization>SecTheory Ltd.</organization> | <organization>SecTheory Ltd.</organization> | |||
| </author> | </author> | |||
| <author initials="R." surname="Hansen" fullname="Robert Hansen"> | <author initials="R." surname="Hansen" fullname="Robert Hansen"> | |||
| <organization>SecTheory Ltd.</organization> | <organization>SecTheory Ltd.</organization> | |||
| </author> | </author> | |||
| <date year="2010" month="November"/> | <date year="2010" month="November"/> | |||
| </front> | </front> | |||
| <seriesInfo name="BlackHat" value="Abu Dhabi"/> | <refcontent>Black Hat Briefings</refcontent> | |||
| </reference> | </reference> | |||
| <reference anchor="Defeating-SSL" target="https://www.blackhat.com/prese ntations/bh-dc-09/Marlinspike/BlackHat-DC-09-Marlinspike-Defeating-SSL.pdf"> | <reference anchor="Defeating-SSL" target="https://www.blackhat.com/prese ntations/bh-dc-09/Marlinspike/BlackHat-DC-09-Marlinspike-Defeating-SSL.pdf"> | |||
| <front> | <front> | |||
| <title>New Tricks for Defeating SSL in Practice</title> | <title>New Tricks for Defeating SSL in Practice</title> | |||
| <author initials="M." surname="Marlinspike" fullname="Moxie Marlinsp ike"> | <author initials="M." surname="Marlinspike" fullname="Moxie Marlinsp ike"> | |||
| <organization/> | <organization/> | |||
| </author> | </author> | |||
| <date year="2009" month="February"/> | <date year="2009" month="February"/> | |||
| </front> | </front> | |||
| <seriesInfo name="BlackHat" value="DC"/> | <refcontent>Black Hat DC</refcontent> | |||
| </reference> | </reference> | |||
| <reference anchor="Public-Suffix" target="https://publicsuffix.org"> | <reference anchor="Public-Suffix" target="https://publicsuffix.org"> | |||
| <front> | <front> | |||
| <title>Public Suffix List</title> | <title>Public Suffix List</title> | |||
| <author> | <author> | |||
| <organization/> | <organization>Mozilla Foundation</organization> | |||
| </author> | </author> | |||
| <date year="2020"/> | ||||
| </front> | </front> | |||
| </reference> | </reference> | |||
| <reference anchor="SECURE-CONTEXTS" target="https://www.w3.org/TR/secure -contexts/"> | <reference anchor="SECURE-CONTEXTS" target="https://www.w3.org/TR/secure -contexts/"> | |||
| <front> | <front> | |||
| <title>Secure Contexts</title> | <title>Secure Contexts</title> | |||
| <author initials="M." surname="West" fullname="Mike West"> | <author initials="M." surname="West" fullname="Mike West"> | |||
| <organization/> | <organization/> | |||
| </author> | </author> | |||
| <date year="2021"/> | <date month="September" year="2021"/> | |||
| </front> | </front> | |||
| <refcontent>W3C Candidate Recommendation Draft</refcontent> | ||||
| </reference> | </reference> | |||
| <reference anchor="US-ASCII"> | <reference anchor="US-ASCII"> | |||
| <front> | <front> | |||
| <title>Coded Character Set - 7-bit American Standard Code for Inform ation Interchange</title> | <title>Coded Character Sets - 7-bit American Standard Code for Infor mation Interchange (7-Bit ASCII)</title> | |||
| <author> | <author> | |||
| <organization>American National Standards Institute</organization> | <organization>American National Standards Institute</organization> | |||
| </author> | </author> | |||
| <date year="1986"/> | <date year="2007" month="June"/> | |||
| </front> | </front> | |||
| <seriesInfo name="ANSI" value="X3.4"/> | <seriesInfo name="ANSI INCITS" value="4-1986 (R2007)"/> | |||
| </reference> | </reference> | |||
| <reference anchor="URL" target="https://url.spec.whatwg.org/"> | <reference anchor="URL" target="https://url.spec.whatwg.org/"> | |||
| <front> | <front> | |||
| <title>URL</title> | <title>URL</title> | |||
| <author initials="A." surname="van Kesteren" fullname="Anne van Kest eren"> | <author initials="A." surname="van Kesteren" fullname="Anne van Kest eren"> | |||
| <organization/> | <organization/> | |||
| </author> | </author> | |||
| <date year="2023"/> | <date month="September" year="2023"/> | |||
| </front> | </front> | |||
| <refcontent>WHATWG Living Standard</refcontent> | ||||
| </reference> | </reference> | |||
| <reference anchor="UTS-36" target="https://unicode.org/reports/tr36/"> | <reference anchor="UTS-36" target="https://unicode.org/reports/tr36/"> | |||
| <front> | <front> | |||
| <title>Unicode Security Considerations</title> | <title>Unicode Security Considerations</title> | |||
| <author initials="M." surname="Davis" fullname="Mark Davis"> | <author initials="M." surname="Davis" fullname="Mark Davis"> | |||
| <organization/> | <organization/> | |||
| </author> | </author> | |||
| <author initials="M." surname="Suignard" fullname="Michel Suignard"> | <author initials="M." surname="Suignard" fullname="Michel Suignard"> | |||
| <organization/> | <organization/> | |||
| </author> | </author> | |||
| <date year="2014"/> | <date month= "September" year="2014"/> | |||
| </front> | </front> | |||
| <seriesInfo name="Unicode Technical Report" value="#36"/> | ||||
| <refcontent>Revision 15</refcontent> | ||||
| </reference> | </reference> | |||
| <reference anchor="UTS-39" target="https://unicode.org/reports/tr39/"> | <reference anchor="UTS-39" target="https://unicode.org/reports/tr39/"> | |||
| <front> | <front> | |||
| <title>Unicode Security Mechanisms</title> | <title>Unicode Security Mechanisms</title> | |||
| <author initials="M." surname="Davis" fullname="Mark Davis"> | <author initials="M." surname="Davis" fullname="Mark Davis"> | |||
| <organization/> | <organization/> | |||
| </author> | </author> | |||
| <author initials="M." surname="Suignard" fullname="Michel Suignard"> | <author initials="M." surname="Suignard" fullname="Michel Suignard"> | |||
| <organization/> | <organization/> | |||
| </author> | </author> | |||
| <date year="2022"/> | <date month="September" year="2023"/> | |||
| </front> | </front> | |||
| <seriesInfo name="Unicode Technical Standard" value="#39"/> | ||||
| <refcontent>Version 15.1.0, Revision 28</refcontent> | ||||
| </reference> | </reference> | |||
| <reference anchor="X.509"> | <reference anchor="X.509"> | |||
| <front> | <front> | |||
| <title>Information Technology - Open Systems Interconnection - The D irectory: Public-key and attribute certificate frameworks</title> | <title>Information Technology - Open Systems Interconnection - The D irectory: Public-key and attribute certificate frameworks</title> | |||
| <author> | <author> | |||
| <organization>International Telecommunications Union</organization > | <organization>ITU-T</organization> | |||
| </author> | </author> | |||
| <date year="2005"/> | <date month="October" year="2019"/> | |||
| </front> | </front> | |||
| <seriesInfo name="ITU-T" value="X.520"/> | <seriesInfo name="ISO/IEC" value="9594-8"/> | |||
| <seriesInfo name="ITU-T Recommendation" value="X.509"/> | ||||
| </reference> | </reference> | |||
| <reference anchor="X.690"> | <reference anchor="X.690"> | |||
| <front> | <front> | |||
| <title>Information Technology - ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)</title> | <title>Information Technology - ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)</title> | |||
| <author> | <author> | |||
| <organization>International Telecommunications Union</organization > | <organization>ITU-T</organization> | |||
| </author> | </author> | |||
| <date year="2008"/> | <date month="February" year="2021"/> | |||
| </front> | </front> | |||
| <seriesInfo name="ITU-T" value="X.690"/> | <seriesInfo name="ISO/IEC" value="8825-1:2021 (E)"/> | |||
| <seriesInfo name="ITU-T Recommendation" value="X.690"/> | ||||
| </reference> | </reference> | |||
| <reference anchor="WSC-UI" target="https://www.w3.org/TR/2010/REC-wsc-ui -20100812/"> | <reference anchor="WSC-UI" target="https://www.w3.org/TR/2010/REC-wsc-ui -20100812/"> | |||
| <front> | <front> | |||
| <title>Web Security Context: User Interface Guidelines</title> | <title>Web Security Context: User Interface Guidelines</title> | |||
| <author initials="A." surname="Saldhana" fullname="Anil Saldhana"> | <author initials="A." surname="Saldhana" fullname="Anil Saldhana"> | |||
| <organization/> | <organization/> | |||
| </author> | </author> | |||
| <author initials="T." surname="Roessler" fullname="Thomas Roessler"> | <author initials="T." surname="Roessler" fullname="Thomas Roessler"> | |||
| <organization/> | <organization/> | |||
| </author> | </author> | |||
| <date year="2010" month="August"/> | <date year="2010" month="August"/> | |||
| </front> | </front> | |||
| <seriesInfo name="W3C Recommendation" value="REC-wsc-ui-20100812"/> | ||||
| </reference> | </reference> | |||
| <reference anchor="XSS" target="https://owasp.org/www-community/attacks/ xss/"> | <reference anchor="XSS" target="https://owasp.org/www-community/attacks/ xss/"> | |||
| <front> | <front> | |||
| <title>Cross Site Scripting (XSS)</title> | <title>Cross Site Scripting (XSS)</title> | |||
| <author> | <author> | |||
| <organization>OWASP</organization> | <organization>Kirsten, S., et al.</organization> | |||
| </author> | </author> | |||
| <date year="2022"/> | <date year="2020"/> | |||
| </front> | ||||
| </reference> | ||||
| <reference anchor="RFC9000"> | ||||
| <front> | ||||
| <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title> | ||||
| <author fullname="J. Iyengar" initials="J." role="editor" surname="I | ||||
| yengar"/> | ||||
| <author fullname="M. Thomson" initials="M." role="editor" surname="T | ||||
| homson"/> | ||||
| <date month="May" year="2021"/> | ||||
| <abstract> | ||||
| <t>This document defines the core of the QUIC transport protocol. | ||||
| QUIC provides applications with flow-controlled streams for structured communica | ||||
| tion, low-latency connection establishment, and network path migration. QUIC inc | ||||
| ludes security measures that ensure confidentiality, integrity, and availability | ||||
| in a range of deployment circumstances. Accompanying documents describe the int | ||||
| egration of TLS for key negotiation, loss detection, and an exemplary congestion | ||||
| control algorithm.</t> | ||||
| </abstract> | ||||
| </front> | </front> | |||
| <seriesInfo name="RFC" value="9000"/> | <refcontent>OWASP Foundation</refcontent> | |||
| <seriesInfo name="DOI" value="10.17487/RFC9000"/> | ||||
| </reference> | </reference> | |||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9000.xml" | ||||
| /> | ||||
| </references> | </references> | |||
| </references> | </references> | |||
| <?line 1173?> | ||||
| <section anchor="changes"> | <section anchor="changes"> | |||
| <name>Changes from RFC 6125</name> | <name>Changes from RFC 6125</name> | |||
| <t>This document revises and obsoletes <xref target="VERIFY"/> based | <t>This document revises and obsoletes <xref target="RFC6125"/> based | |||
| on the decade of experience and changes since it was published. | on the decade of experience and changes since it was published. | |||
| The major changes, in no particular order, include:</t> | The major changes, in no particular order, include:</t> | |||
| <ul spacing="normal"> | <ul spacing="normal"> | |||
| <li>The only legal place for a certificate wildcard is as the complete l eft-most | <li>The only legal place for a certificate wildcard is as the complete l eft-most | |||
| label in a domain name.</li> | label in a domain name.</li> | |||
| <li>The server identity can only be expressed in the subjectAltNames | <li>The server identity can only be expressed in the subjectAltNames | |||
| extension; it is no longer valid to use the commonName RDN, | extension; it is no longer valid to use the commonName RDN, | |||
| known as <tt>CN-ID</tt> in <xref target="VERIFY"/>.</li> | known as <tt>CN-ID</tt> in <xref target="RFC6125"/>.</li> | |||
| <li>Detailed discussion of pinning (configuring use of a certificate tha t | <li>Detailed discussion of pinning (configuring use of a certificate tha t | |||
| doesn't match the criteria in this document) has been removed and replaced | doesn't match the criteria in this document) has been removed and replaced | |||
| with two paragraphs in <xref target="outcome"/>.</li> | with two paragraphs in <xref target="outcome"/>.</li> | |||
| <li>The sections detailing different target audiences and which sections | <li>The sections detailing different target audiences and which sections | |||
| to read (first) have been removed.</li> | to read (first) have been removed.</li> | |||
| <li>References to the X.500 directory, the survey of prior art, and the | <li>References to the X.500 directory, the survey of prior art, and the | |||
| sample text in Appendix A have been removed.</li> | sample text in Appendix A have been removed.</li> | |||
| <li>All references have been updated to the current latest version.</li> | <li>All references have been updated to the latest versions.</li> | |||
| <li>The TLS SNI extension is no longer new, it is commonplace.</li> | <li>The TLS SNI extension is no longer new; it is commonplace.</li> | |||
| <li>Additional text on multiple identifiers, and their security consider ations, | <li>Additional text on multiple identifiers, and their security consider ations, | |||
| has been added.</li> | has been added.</li> | |||
| <li>IP-ID reference identifiers are added. This builds on the definitio | <li>IP-ID reference identifiers have been added. This builds on the def | |||
| n in <xref section="4.3.5" sectionFormat="of" target="HTTP"/>.</li> | inition in <xref section="4.3.5" sectionFormat="comma" target="RFC9110"/>.</li> | |||
| <li>Shortened the document title because the previous title was difficul | <li>The document title has been shortened because the previous title was | |||
| t to cite.</li> | difficult to cite.</li> | |||
| </ul> | </ul> | |||
| </section> | </section> | |||
| <section anchor="contributors"> | ||||
| <name>Contributors</name> | ||||
| <t>Jeff Hodges co-authored the previous version of these recommendations, | ||||
| <xref target="VERIFY"/>. | ||||
| The authors gratefully acknowledge his essential contributions to this work.</t> | ||||
| <t>Martin Thomson contributed the text on handling of IP-IDs.</t> | ||||
| </section> | ||||
| <section numbered="false" anchor="acknowledgements"> | <section numbered="false" anchor="acknowledgements"> | |||
| <name>Acknowledgements</name> | <name>Acknowledgements</name> | |||
| <t>We gratefully acknowledge everyone who contributed to the previous | <t>We gratefully acknowledge everyone who contributed to the previous | |||
| version of these recommendations, <xref target="VERIFY"/>. | version of this specification <xref target="RFC6125"/>. | |||
| Thanks also to Carsten Bormann for converting the previous document | Thanks also to <contact fullname="Carsten Bormann"/> for converting the previous | |||
| to Markdown so that we could more easily use Martin Thomson's <tt>i-d-template</ | version of this specification to Markdown so that we could more easily use <con | |||
| tt> | tact fullname="Martin Thomson's"/> <tt>i-d-template</tt> | |||
| software.</t> | software.</t> | |||
| <t>In addition to discussion on the mailing list, the following people | <t>In addition to discussions within the UTA Working Group, the following people | |||
| provided official reviews or especially significant feedback: | provided official reviews or especially significant feedback: | |||
| Corey Bonnell, | <contact fullname="Corey Bonnell"/>, | |||
| Roman Danyliw, | <contact fullname="Roman Danyliw"/>, | |||
| Viktor Dukhovni, | <contact fullname="Viktor Dukhovni"/>, | |||
| Lars Eggert, | <contact fullname="Lars Eggert"/>, | |||
| Patrik Fältström, | <contact fullname="Patrik Fältström"/>, | |||
| Jim Fenton, | <contact fullname="Jim Fenton"/>, | |||
| Olle Johansson, | <contact fullname="Olle Johansson"/>, | |||
| John Klensin, | <contact fullname="John Klensin"/>, | |||
| Murray Kucherawy, | <contact fullname="Murray Kucherawy"/>, | |||
| Warren Kumari, | <contact fullname="Warren Kumari"/>, | |||
| John Mattson, | <contact fullname="John Mattson"/>, | |||
| Alexey Melnikov, | <contact fullname="Alexey Melnikov"/>, | |||
| Derrell Piper, | <contact fullname="Derrell Piper"/>, | |||
| Ines Robles, | <contact fullname="Maria Ines Robles"/>, | |||
| Rob Sayre, | <contact fullname="Rob Sayre"/>, | |||
| Yaron Sheffer, | <contact fullname="Yaron Sheffer"/>, | |||
| Ryan Sleevi, | <contact fullname="Ryan Sleevi"/>, | |||
| Brian Smith, | <contact fullname="Brian Smith"/>, | |||
| Petr Špaček, | <contact fullname="Petr Špaček"/>, | |||
| Orie Steele, | <contact fullname="Orie Steele"/>, | |||
| Martin Thomson, | <contact fullname="Martin Thomson"/>, | |||
| Joe Touch, | <contact fullname="Joe Touch"/>, | |||
| Éric Vyncke, | <contact fullname="Éric Vyncke"/>, | |||
| Paul Wouters, | <contact fullname="Paul Wouters"/>, | |||
| and | and | |||
| Qin Wu.</t> | <contact fullname="Qin Wu"/>.</t> | |||
| <t>A few descriptive sentences were borrowed from <xref target="TLS-REC"/> | <t>A few descriptive sentences were borrowed from <xref target="RFC9325"/> | |||
| .</t> | .</t> | |||
| </section> | ||||
| <section anchor="contributors" numbered="false"> | ||||
| <name>Contributors</name> | ||||
| <t><contact fullname="Jeff Hodges"/> coauthored the previous version of th | ||||
| is specification <xref target="RFC6125"/>. | ||||
| The authors gratefully acknowledge his essential contributions to this work.</t> | ||||
| <t><contact fullname="Martin Thomson"/> contributed the text on the handli | ||||
| ng of IP-IDs.</t> | ||||
| </section> | </section> | |||
| </back> | </back> | |||
| <!-- ##markdown-source: | ||||
| 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 | ||||
| xfWanF6j1ENnVJcD7zR+HPD9KVVkSd1yDio3+IPAHbVSXlqbiQ1yuIc8VZsA | ||||
| XgWKlWZNybAxJRKO2QeEIhSKKHPvl9WETNXiPEAGrBFh+qoIDgyNHdQqgxhl | ||||
| iYpG6xi5dhoWvTHhv5OgKcad9D7VoB++IGTaMV3soF0HZifyORN/DDaNMhVq | ||||
| Ckw/nQ4Vup4Bi66zCvSahvOrNXIgoL7B0DilcUHpVDYADg9otphGdmisIXk6 | ||||
| hvdZUYPIlKN+2SyWQgWEMz0dHY4OBXU5eTq5COPwJ2yIdOVsH544GLSZnItG | ||||
| ybxDnhkpxYmSB9K0UiWePJGCOMG4Q+LAMLpWregtg6Cxp7ERQs1ACAT0AmMm | ||||
| lWZR9xtoNXDQkMtMlZgmTEIJXhu0wrVYWNBEKsOvdXCkz/4dpEl4EkdmG1dy | ||||
| QQZHNW69XHNkBLlyODqFS52QpuLU6Pt0E2SqwI7WlLtv51xGweV2BQL/wagT | ||||
| /UIERB1PLgMJ8SsKFTzsvim6oHtXTRTsE4XTQR8DBl0RWuAWSF3kQGFnimQO | ||||
| 5FROp/FhVDoxidzeAOyWFM1PZt3IblMGoTscdOJs2ziE8CFQmlPibqwLIf9a | ||||
| ixy0NbSYo1SeIiF2cT2+UErbfe7iTUNegOsljMSlRGgWE3GgAqt1Lu7ptIlp | ||||
| NwuMxkfptx39RCx3eNs76klRNzZcTst52FjHFtPMZC2dQJPOeSoolZAnSVs+ | ||||
| TLzbN1e/rBU0GCTrItdc/jjQCdeFbLQRAkyHQtSY02MWQcYlIDGXoSCt/Nn/ | ||||
| J6ehQIph4k9D0G7rWUxOz1FnqqNKEjgY/TSUtLu9wdcdlEwnfgwOEsbB6GpP | ||||
| hdxoDqYzfdV1OcuIXLgYuW1OLRxM3f9thhvMImQYHo6L5MjCeiOnYx1FFx3b | ||||
| p3zoM1NI8UJIgL3IYert89nPOFp0ds6muy2Mwbkh62x15fz++Km+om1VyVVj | ||||
| 8ysaZIISUN1OXdUC1xjEgllArL8xDvTdoPv/yzfo+x4OgIohA68Vr6jrYDow | ||||
| EFAP2PeKmhcH1GrcLLqJ+AS0UouLnAWW1nDs7PP+BTgqzn4+fzhDZ3UJLppy | ||||
| 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 | ||||
| </rfc> | </rfc> | |||
| End of changes. 203 change blocks. | ||||
| 1605 lines changed or deleted | 536 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. | ||||