| rfc9257.original.xml | rfc9257.xml | |||
|---|---|---|---|---|
| <?xml version='1.0' encoding='utf-8'?> | <?xml version="1.0" encoding="UTF-8"?> | |||
| <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?> | ||||
| <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.4.14 --> | <!DOCTYPE rfc [ | |||
| <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> | <!ENTITY nbsp " "> | |||
| <?rfc toc="yes"?> | <!ENTITY zwsp "​"> | |||
| <?rfc sortrefs="yes"?> | <!ENTITY nbhy "‑"> | |||
| <?rfc symrefs="yes"?> | <!ENTITY wj "⁠"> | |||
| <rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft | ]> | |||
| -ietf-tls-external-psk-guidance-06" category="info" obsoletes="" updates="" subm | ||||
| issionType="IETF" xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true" | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft | |||
| version="3"> | -ietf-tls-external-psk-guidance-06" number="9257" obsoletes="" updates="" submis | |||
| <!-- xml2rfc v2v3 conversion 2.42.0 --> | sionType="IETF" category="info" consensus="true" xml:lang="en" tocInclude="true" | |||
| sortRefs="true" symRefs="true" version="3"> | ||||
| <front> | <front> | |||
| <title abbrev="Guidance for External PSK Usage in TLS">Guidance for External | <title abbrev="Guidance for External PSK Usage in TLS">Guidance for Externa | |||
| PSK Usage in TLS</title> | l Pre-Shared Key (PSK) Usage in TLS</title> | |||
| <seriesInfo name="Internet-Draft" value="draft-ietf-tls-external-psk-guidanc | <seriesInfo name="RFC" value="9257"/> | |||
| e-06"/> | ||||
| <author initials="R." surname="Housley" fullname="Russ Housley"> | <author initials="R." surname="Housley" fullname="Russ Housley"> | |||
| <organization>Vigil Security</organization> | <organization abbrev="Vigil Security">Vigil Security, LLC</organization> | |||
| <address> | <address> | |||
| <email>housley@vigilsec.com</email> | <email>housley@vigilsec.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author initials="J." surname="Hoyland" fullname="Jonathan Hoyland"> | <author initials="J." surname="Hoyland" fullname="Jonathan Hoyland"> | |||
| <organization>Cloudflare Ltd.</organization> | <organization>Cloudflare Ltd.</organization> | |||
| <address> | <address> | |||
| <email>jonathan.hoyland@gmail.com</email> | <email>jonathan.hoyland@gmail.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author initials="M." surname="Sethi" fullname="Mohit Sethi"> | <author initials="M." surname="Sethi" fullname="Mohit Sethi"> | |||
| <organization>Ericsson</organization> | <organization>Aalto University</organization> | |||
| <address> | <address> | |||
| <email>mohit@piuha.net</email> | <email>mohit@iki.fi</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author initials="C.A." surname="Wood" fullname="Christopher A. Wood"> | <author initials="C. A." surname="Wood" fullname="Christopher A. Wood"> | |||
| <organization>Cloudflare</organization> | <organization>Cloudflare</organization> | |||
| <address> | <address> | |||
| <email>caw@heapingbits.net</email> | <email>caw@heapingbits.net</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <date year="2022" month="February" day="04"/> | <date year="2022" month="July"/> | |||
| <area>security</area> | <area>security</area> | |||
| <workgroup>tls</workgroup> | <workgroup>tls</workgroup> | |||
| <keyword>Internet-Draft</keyword> | ||||
| <abstract> | <abstract> | |||
| <t>This document provides usage guidance for external Pre-Shared Keys (PSK s) | <t>This document provides usage guidance for external Pre-Shared Keys (PSK s) | |||
| in Transport Layer Security (TLS) 1.3 as defined in RFC 8446. | in Transport Layer Security (TLS) 1.3 as defined in RFC 8446. | |||
| It lists TLS security properties provided by PSKs under certain | It lists TLS security properties provided by PSKs under certain | |||
| assumptions, and then demonstrates how violations of these assumptions lead | assumptions, then it demonstrates how violations of these assumptions lead | |||
| to attacks. Advice for applications to help meet these assumptions is | to attacks. Advice for applications to help meet these assumptions is | |||
| provided. This document also discusses PSK use cases and provisioning processes. | provided. This document also discusses PSK use cases and provisioning processes. | |||
| Finally, it lists the privacy and security properties that are not | Finally, it lists the privacy and security properties that are not | |||
| provided by TLS 1.3 when external PSKs are used.</t> | provided by TLS 1.3 when external PSKs are used.</t> | |||
| </abstract> | </abstract> | |||
| <note removeInRFC="true"> | </front> | |||
| <name>Discussion Venues</name> | ||||
| <t>Source for this draft and an issue tracker can be found at | ||||
| <eref target="https://github.com/tlswg/external-psk-design-team"/>.</t> | ||||
| </note> | ||||
| </front> | ||||
| <middle> | <middle> | |||
| <section anchor="introduction" numbered="true" toc="default"> | <section anchor="introduction" numbered="true" toc="default"> | |||
| <name>Introduction</name> | <name>Introduction</name> | |||
| <t>This document provides guidance on the use of external Pre-Shared Keys (PSKs) | <t>This document provides guidance on the use of external Pre-Shared Keys (PSKs) | |||
| in Transport Layer Security (TLS) 1.3 <xref target="RFC8446" format="default"/>. This guidance also | in Transport Layer Security (TLS) 1.3 <xref target="RFC8446" format="default"/>. This guidance also | |||
| applies to Datagram TLS (DTLS) 1.3 <xref target="I-D.ietf-tls-dtls13" format="de fault"/> and | applies to Datagram TLS (DTLS) 1.3 <xref target="RFC9147" format="default"/> and | |||
| Compact TLS 1.3 <xref target="I-D.ietf-tls-ctls" format="default"/>. For readabi lity, this document uses | Compact TLS 1.3 <xref target="I-D.ietf-tls-ctls" format="default"/>. For readabi lity, this document uses | |||
| the term TLS to refer to all such versions.</t> | the term "TLS" to refer to all such versions.</t> | |||
| <t>External PSKs are symmetric | <t>External PSKs are symmetric | |||
| secret keys provided to the TLS protocol implementation as external inputs. | secret keys provided to the TLS protocol implementation as external inputs. | |||
| External PSKs are provisioned out-of-band.</t> | External PSKs are provisioned out of band.</t> | |||
| <t>This document lists | <t>This document lists | |||
| TLS security properties provided by PSKs under certain assumptions and | TLS security properties provided by PSKs under certain assumptions and | |||
| demonstrates how violations of these assumptions lead to attacks. This | demonstrates how violations of these assumptions lead to attacks. This | |||
| document discusses PSK use cases, provisioning processes, and TLS stack | document discusses PSK use cases, provisioning processes, and TLS stack | |||
| implementation support in the context of these assumptions. This document | implementation support in the context of these assumptions. | |||
| This document | ||||
| also provides advice for applications in various use cases to help meet | also provides advice for applications in various use cases to help meet | |||
| these assumptions.</t> | these assumptions.</t> | |||
| <t>There are many resources that provide guidance for password generation and | <t>There are many resources that provide guidance for password generation and | |||
| verification aimed towards improving security. However, there is no such | verification aimed towards improving security. However, there is no such | |||
| equivalent for external Pre-Shared Keys (PSKs) in TLS. This document aims | equivalent for external PSKs in TLS. This document aims | |||
| to reduce that gap.</t> | to reduce that gap.</t> | |||
| </section> | </section> | |||
| <section anchor="conventions-and-definitions" numbered="true" toc="default"> | <section anchor="conventions-and-definitions" numbered="true" toc="default"> | |||
| <name>Conventions and Definitions</name> | <name>Conventions and Definitions</name> | |||
| <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SH | <t> | |||
| OULD", | The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQU | |||
| "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this | IRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL | |||
| document are to be interpreted as described in BCP 14 <xref target="RFC2119 | NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14> | |||
| " format="default"/> <xref target="RFC8174" format="default"/> | RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | |||
| when, and only when, they appear in all capitals, as shown here.</t> | "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to | |||
| be interpreted as | ||||
| described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> | ||||
| when, and only when, they appear in all capitals, as shown here. | ||||
| </t> | ||||
| </section> | </section> | |||
| <section anchor="notation" numbered="true" toc="default"> | <section anchor="notation" numbered="true" toc="default"> | |||
| <name>Notation</name> | <name>Notation</name> | |||
| <t>For purposes of this document, a "logical node" is a computing presence that | <t>For purposes of this document, a "logical node" is a computing presence that | |||
| other parties can interact with via the TLS protocol. A logical node could | other parties can interact with via the TLS protocol. A logical node could | |||
| potentially be realized with multiple physical instances operating under common | potentially be realized with multiple physical instances operating under common | |||
| administrative control, e.g., a server farm. An "endpoint" is a client or server | administrative control, e.g., a server farm. An "endpoint" is a client or server | |||
| participating in a connection.</t> | participating in a connection.</t> | |||
| </section> | </section> | |||
| <section anchor="sec-properties" numbered="true" toc="default"> | <section anchor="sec-properties" numbered="true" toc="default"> | |||
| <name>PSK Security Properties</name> | <name>PSK Security Properties</name> | |||
| <t>The use of a previously established PSK allows TLS nodes to authenticat e | <t>The use of a previously established PSK allows TLS nodes to authenticat e | |||
| the endpoint identities. It also offers other benefits, including | the endpoint identities. It also offers other benefits, including | |||
| resistance to attacks in presence of quantum computers; | resistance to attacks in the presence of quantum computers; | |||
| see <xref target="entropy" format="default"/> for related discussion. However, t hese keys do not provide | see <xref target="entropy" format="default"/> for related discussion. However, t hese keys do not provide | |||
| privacy protection of endpoint identities, nor do they provide non-repudiation | privacy protection of endpoint identities, nor do they provide non-repudiation | |||
| (one endpoint in a connection can deny the conversation); see <xref target="endp oint-privacy" format="default"/> | (one endpoint in a connection can deny the conversation); see <xref target="endp oint-privacy" format="default"/> | |||
| for related discussion.</t> | for related discussion.</t> | |||
| <t>PSK authentication security implicitly assumes one fundamental property : each | <t>PSK authentication security implicitly assumes one fundamental property : each | |||
| PSK is known to exactly one client and one server, and that these never switch | PSK is known to exactly one client and one server and they never switch | |||
| roles. If this assumption is violated, then the security properties of TLS are | roles. If this assumption is violated, then the security properties of TLS are | |||
| severely weakened as discussed below.</t> | severely weakened as discussed below.</t> | |||
| <section anchor="shared-psks" numbered="true" toc="default"> | <section anchor="shared-psks" numbered="true" toc="default"> | |||
| <name>Shared PSKs</name> | <name>Shared PSKs</name> | |||
| <t>As discussed in <xref target="use-cases" format="default"/>, to demon strate their attack, <xref target="AASS19" format="default"/> describes | <t>As discussed in <xref target="use-cases" format="default"/>, to demon strate their attack, <xref target="AASS19" format="default"/> describes | |||
| scenarios where multiple clients or multiple servers share a PSK. If | scenarios where multiple clients or multiple servers share a PSK. If | |||
| this is done naively by having all members share a common key, then | this is done naively by having all members share a common key, then | |||
| TLS authenticates only group membership, and the security of the | TLS authenticates only group membership, and the security of the | |||
| overall system is inherently rather brittle. There are a number of | overall system is inherently rather brittle. There are a number of | |||
| obvious weaknesses here:</t> | obvious weaknesses here:</t> | |||
| <ol spacing="normal" type="1"> | <ol spacing="normal" type="1"> | |||
| <li>Any group member can impersonate any other group member.</li> | <li>Any group member can impersonate any other group member.</li> | |||
| <li>If PSK is combined with a fresh ephemeral key exchange, then compr | ||||
| omise of a group member that knows | <li>If a PSK is combined with the result of a fresh ephemeral key exch | |||
| the resulting shared secret will enable the attacker to passively read (and acti | ange, then compromise of a group member that knows | |||
| vely modify) traffic.</li> | the resulting shared secret will enable the attacker to passively read traffic ( | |||
| <li>If PSK is not combined with fresh ephemeral key exchange, then com | and actively modify it).</li> | |||
| promise of any group member allows the | <li>If a PSK is not combined with the result of a fresh ephemeral key | |||
| attacker to passively read (and actively modify) all traffic, including reading | exchange, then compromise of any group member allows the | |||
| past traffic.</li> | attacker to passively read all traffic (and actively modify it), including past | |||
| traffic.</li> | ||||
| </ol> | </ol> | |||
| <t>Additionally, a malicious non-member can reroute handshakes between h onest group members | <t>Additionally, a malicious non-member can reroute handshakes between h onest group members | |||
| to connect them in unintended ways, as described below. Note that a partial miti | to connect them in unintended ways, as described below. Note that a partial miti | |||
| gation | gation for | |||
| against this class of attack is available: each group member includes the SNI ex | this class of attack is available: each group member includes the Server Name In | |||
| tension <xref target="RFC6066" format="default"/> | dication (SNI) extension <xref target="RFC6066" format="default"/> | |||
| and terminates the connection on mismatch between the presented SNI value and th e | and terminates the connection on mismatch between the presented SNI value and th e | |||
| receiving member's known identity. See <xref target="Selfie" format="default"/> | receiving member's known identity. See <xref target="Selfie" format="defa | |||
| for details.</t> | ult"/> for details.</t> | |||
| <t>To illustrate the rerouting attack, consider three peers, <tt>A</tt>, <tt>B</tt>, and <tt>C</tt>, | <t>To illustrate the rerouting attack, consider three peers, <tt>A</tt>, <tt>B</tt>, and <tt>C</tt>, | |||
| who all know the PSK. The attack proceeds as follows:</t> | who all know the PSK. The attack proceeds as follows:</t> | |||
| <ol spacing="normal" type="1"> | <ol spacing="normal" type="1"> | |||
| <li> | <li> | |||
| <tt>A</tt> sends a <tt>ClientHello</tt> to <tt>B</tt>.</li> | <tt>A</tt> sends a <tt>ClientHello</tt> to <tt>B</tt>.</li> | |||
| <li>The attacker intercepts the message and redirects it to <tt>C</tt> .</li> | <li>The attacker intercepts the message and redirects it to <tt>C</tt> .</li> | |||
| <li> | <li> | |||
| <tt>C</tt> responds with a second flight (<tt>ServerHello</tt>, ...) to <tt>A</tt>.</li> | <tt>C</tt> responds with a second flight (<tt>ServerHello</tt>, ...) to <tt>A</tt>.</li> | |||
| <li> | <li> | |||
| <tt>A</tt> sends a <tt>Finished</tt> message to <tt>B</tt>. | <tt>A</tt> sends a <tt>Finished</tt> message to <tt>B</tt>. | |||
| <tt>A</tt> has completed the handshake, ostensibly with <tt>B</tt>.</li> | <tt>A</tt> has completed the handshake, ostensibly with <tt>B</tt>.</li> | |||
| <li>The attacker redirects the <tt>Finished</tt> message to <tt>C</tt> . | <li>The attacker redirects the <tt>Finished</tt> message to <tt>C</tt> . | |||
| <tt>C</tt> has completed the handshake with <tt>A</tt>.</li> | <tt>C</tt> has completed the handshake with <tt>A</tt>.</li> | |||
| </ol> | </ol> | |||
| <t>In this attack, peer authentication is not provided. Also, if <tt>C</ tt> supports a | <t>In this attack, peer authentication is not provided. Also, if <tt>C</ tt> supports a | |||
| weaker set of cipher suites than <tt>B</tt>, cryptographic algorithm downgrade a ttacks | weaker set of ciphersuites than <tt>B</tt>, cryptographic algorithm downgrade at tacks | |||
| might be possible. This rerouting is a type of identity misbinding attack | might be possible. This rerouting is a type of identity misbinding attack | |||
| <xref target="Krawczyk" format="default"/><xref target="Sethi" format="default"/ | <xref target="Krawczyk" format="default"/> <xref target="Sethi" format="default" | |||
| >. Selfie attack <xref target="Selfie" format="default"/> is a special case of t | />. Selfie attack <xref target="Selfie" format="default"/> is a special case of | |||
| he rerouting | the rerouting | |||
| attack against a group member that can act both as TLS server and client. In the | attack against a group member that can act as both a TLS server and a client. In | |||
| the | ||||
| Selfie attack, a malicious non-member reroutes a connection from the client to | Selfie attack, a malicious non-member reroutes a connection from the client to | |||
| the server on the same endpoint.</t> | the server on the same endpoint.</t> | |||
| <t>Finally, in addition to these weaknesses, sharing a PSK across nodes may negatively | <t>Finally, in addition to these weaknesses, sharing a PSK across nodes may negatively | |||
| affect deployments. For example, revocation of individual group members is not | affect deployments. For example, revocation of individual group members is not | |||
| possible without establishing a new PSK for all of the non-revoked members.</t> | possible without establishing a new PSK for all of the members that have not bee n revoked.</t> | |||
| </section> | </section> | |||
| <section anchor="entropy" numbered="true" toc="default"> | <section anchor="entropy" numbered="true" toc="default"> | |||
| <name>PSK Entropy</name> | <name>PSK Entropy</name> | |||
| <t>Entropy properties of external PSKs may also affect TLS security prop erties. For example, | <t>Entropy properties of external PSKs may also affect TLS security prop erties. For example, | |||
| if a high entropy PSK is used, then PSK-only key establishment modes provide exp | if a high-entropy PSK is used, then PSK-only key establishment modes provide exp | |||
| ected | ected | |||
| security properties for TLS, including establishing the same | security properties for TLS, including establishment of the same | |||
| session keys between peers, secrecy of session keys, peer authentication, and do wngrade | session keys between peers, secrecy of session keys, peer authentication, and do wngrade | |||
| protection. See <xref section="E.1" sectionFormat="comma" target="RFC8446" forma t="default"/> for an explanation of these properties. | protection. See <xref section="E.1" sectionFormat="of" target="RFC8446" format=" default"/> for an explanation of these properties. | |||
| However, these modes lack forward security. Forward security may be achieved by using a | However, these modes lack forward security. Forward security may be achieved by using a | |||
| PSK-DH mode, or, alternatively, by using PSKs with short lifetimes.</t> | PSK-DH mode or by using PSKs with short lifetimes.</t> | |||
| <t>In contrast, if a low entropy PSK is used, then PSK-only key establis | <t>In contrast, if a low-entropy PSK is used, then PSK-only key establis | |||
| hment modes | hment modes | |||
| are subject to passive exhaustive search attacks which will reveal the | are subject to passive exhaustive search attacks, which will reveal the | |||
| traffic keys. PSK-DH modes are subject to active attacks in which the attacker | traffic keys. PSK-DH modes are subject to active attacks in which the attacker | |||
| impersonates one side. The exhaustive search phase of these attacks can be mount ed | impersonates one side. The exhaustive search phase of these attacks can be mount ed | |||
| offline if the attacker captures a single handshake using the PSK, but those | offline if the attacker captures a single handshake using the PSK, but those | |||
| attacks will not lead to compromise of the traffic keys for that connection beca use | attacks will not lead to compromise of the traffic keys for that connection beca use | |||
| those also depend on the Diffie-Hellman (DH) exchange. Low entropy keys are only | those also depend on the Diffie-Hellman (DH) exchange. Low-entropy keys are only | |||
| secure against active attack if a password-authenticated key exchange (PAKE) is | secure against active attack if a Password-Authenticated Key Exchange (PAKE) is | |||
| used | used | |||
| with TLS. The Crypto Forum Research Group (CFRG) is currently working on specify | with TLS. At the time of writing, the Crypto Forum Research Group (CFRG) is work | |||
| ing | ing on specifying | |||
| recommended PAKEs (see <xref target="I-D.irtf-cfrg-cpace" format="default"/> and | recommended PAKEs (see <xref target="I-D.irtf-cfrg-cpace" format="default"/> and | |||
| <xref target="I-D.irtf-cfrg-opaque" format="default"/>, for | <xref target="I-D.irtf-cfrg-opaque" format="default"/> for | |||
| the symmetric and asymmetric cases, respectively).</t> | the symmetric and asymmetric cases, respectively).</t> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="external-psks-in-practice" numbered="true" toc="default"> | <section anchor="external-psks-in-practice" numbered="true" toc="default"> | |||
| <name>External PSKs in Practice</name> | <name>External PSKs in Practice</name> | |||
| <t>PSK ciphersuites were first specified for TLS in 2005. PSKs are now an integral | <t>PSK ciphersuites were first specified for TLS in 2005. PSKs are now an integral | |||
| part of the TLS version 1.3 specification <xref target="RFC8446" format="default | part of the TLS 1.3 specification <xref target="RFC8446" format="default"/>. TLS | |||
| "/>. TLS 1.3 also uses PSKs for session resumption. | 1.3 also uses PSKs for session resumption. | |||
| It distinguishes these resumption PSKs from external PSKs which have been provis | It distinguishes these resumption PSKs from external PSKs that have been provisi | |||
| ioned out-of-band. | oned out of band. | |||
| This section describes known use cases and provisioning processes for external P SKs with TLS.</t> | This section describes known use cases and provisioning processes for external P SKs with TLS.</t> | |||
| <section anchor="use-cases" numbered="true" toc="default"> | <section anchor="use-cases" numbered="true" toc="default"> | |||
| <name>Use Cases</name> | <name>Use Cases</name> | |||
| <t>This section lists some example use-cases where pair-wise external PS | <t>This section lists some example use cases where pairwise external PSK | |||
| Ks, i.e., external | s (i.e., external | |||
| PSKs that are shared between only one server and one client, have been used for | PSKs that are shared between only one server and one client) have been used for | |||
| authentication | authentication | |||
| in TLS. There was no attempt to prioritize the examples in any particular order .</t> | in TLS. There was no attempt to prioritize the examples in any particular order .</t> | |||
| <ul spacing="normal"> | <ul spacing="normal"> | |||
| <li>Device-to-device communication with out-of-band synchronized keys. | ||||
| PSKs provisioned out-of-band | <li>Device-to-device communication with out-of-band synchronized keys. | |||
| PSKs provisioned out of band | ||||
| for communicating with known identities, wherein the identity to use is discover ed via a different | for communicating with known identities, wherein the identity to use is discover ed via a different | |||
| online protocol.</li> | online protocol.</li> | |||
| <li>Intra-data-center communication. Machine-to-machine communication within a single data center | <li>Intra-data-center communication. Machine-to-machine communication within a single data center | |||
| or point-of-presence (PoP) may use externally provisioned PSKs, primarily for th | or Point of Presence (PoP) may use externally provisioned PSKs; this is primaril | |||
| e purposes of supporting TLS | y for the purpose of supporting TLS | |||
| connections with early data; see <xref target="security-con" format="default"/> | connections with early data. See <xref target="security-con" format="default"/> | |||
| for considerations when using early data | for considerations when using early data | |||
| with external PSKs.</li> | with external PSKs.</li> | |||
| <li>Certificateless server-to-server communication. Machine-to-machine communication | <li>Certificateless server-to-server communication. Machine-to-machine communication | |||
| may use externally provisioned PSKs, primarily for the purposes of establishing TLS | may use externally provisioned PSKs; this is primarily for the purposes of estab lishing TLS | |||
| connections without requiring the overhead of provisioning and managing PKI cert ificates.</li> | connections without requiring the overhead of provisioning and managing PKI cert ificates.</li> | |||
| <li>Internet of Things (IoT) and devices with limited computational ca pabilities. | <li>Internet of Things (IoT) and devices with limited computational ca pabilities. | |||
| <xref target="RFC7925" format="default"/> defines TLS and DTLS profiles for reso urce-constrained devices and suggests | <xref target="RFC7925" format="default"/> defines TLS and DTLS profiles for reso urce-constrained devices and suggests | |||
| the use of PSK ciphersuites for compliant devices. The Open Mobile Alliance Ligh | the use of PSK ciphersuites for compliant devices. The Open Mobile Alliance Ligh | |||
| tweight Machine | tweight Machine-to-Machine (LwM2M) Technical Specification <xref target="LwM2M" | |||
| to Machine Technical Specification <xref target="LwM2M" format="default"/> state | format="default"/> states that LwM2M servers <bcp14>MUST</bcp14> support the | |||
| s that LwM2M servers MUST support the | ||||
| PSK mode of DTLS.</li> | PSK mode of DTLS.</li> | |||
| <li>Securing RADIUS <xref target="RFC2865" format="default"/> with TLS . PSK ciphersuites are optional for this use case, as specified | <li>Securing RADIUS <xref target="RFC2865" format="default"/> with TLS . PSK ciphersuites are optional for this use case, as specified | |||
| in <xref target="RFC6614" format="default"/>.</li> | in <xref target="RFC6614" format="default"/>.</li> | |||
| <li>3GPP server to user equipment authentication. The Generic Authenti | ||||
| cation Architecture (GAA) defined by | <li>3GPP server-to-user equipment authentication. The Generic Authenti | |||
| 3GGP mentions that TLS-PSK ciphersuites can be used between server and user equi | cation Architecture (GAA) defined by | |||
| pment for authentication <xref target="GAA" format="default"/>.</li> | 3GPP mentions that TLS PSK ciphersuites can be used between server and | |||
| <li>Smart Cards. The electronic German ID (eID) card supports authenti | user equipment for authentication <xref target="GAA" format="default"/>.</li> | |||
| cation of a card holder to | ||||
| online services with TLS-PSK <xref target="SmartCard" format="default"/>.</li> | <li>Smart Cards. The German electronic Identity (eID) card supports au | |||
| thentication of a card holder to | ||||
| online services with TLS PSK <xref target="SmartCard" format="default"/>.</li> | ||||
| <li>Quantum resistance. Some deployments may use PSKs (or combine them with certificate-based | <li>Quantum resistance. Some deployments may use PSKs (or combine them with certificate-based | |||
| authentication as described in <xref target="RFC8773" format="default"/>) becaus e of the protection they provide against | authentication as described in <xref target="RFC8773" format="default"/>) becaus e of the protection they provide against | |||
| quantum computers.</li> | quantum computers.</li> | |||
| </ul> | </ul> | |||
| <t>There are also use cases where PSKs are shared between more than two entities. Some examples below | <t>There are also use cases where PSKs are shared between more than two entities. Some examples below | |||
| (as noted by Akhmetzyanova et al. <xref target="AASS19" format="default"/>):</t> | (as noted by Akhmetzyanova, et al. <xref target="AASS19" format="default"/>):</t > | |||
| <ul spacing="normal"> | <ul spacing="normal"> | |||
| <li>Group chats. In this use-case, group participants may be provision ed an external PSK out-of-band for establishing | <li>Group chats. In this use case, group participants may be provision ed an external PSK out of band for establishing | |||
| authenticated connections with other members of the group.</li> | authenticated connections with other members of the group.</li> | |||
| <li>Internet of Things (IoT) and devices with limited computational ca | <li>IoT and devices with limited computational capabilities. Many PSK | |||
| pabilities. Many PSK provisioning examples are | provisioning examples are | |||
| possible in this use-case. For example, in a given setting, IoT devices may all | possible in this use case. For example, in a given setting, IoT devices may all | |||
| share the same PSK and use it to | share the same PSK and use it to | |||
| communicate with a central server (one key for n devices), have their own key fo r communicating with a central server (n | communicate with a central server (one key for n devices), have their own key fo r communicating with a central server (n | |||
| keys for n devices), or have pairwise keys for communicating with each other (n^ 2 keys for n devices).</li> | keys for n devices), or have pairwise keys for communicating with each other (n< sup>2</sup> keys for n devices).</li> | |||
| </ul> | </ul> | |||
| </section> | </section> | |||
| <section anchor="provisioning-examples" numbered="true" toc="default"> | <section anchor="provisioning-examples" numbered="true" toc="default"> | |||
| <name>Provisioning Examples</name> | <name>Provisioning Examples</name> | |||
| <t>The exact provisioning process depends on the system requirements and threat | <t>The exact provisioning process depends on the system requirements and threat | |||
| model. Whenever possible, avoid sharing a PSK between nodes; however, sharing | model. Whenever possible, avoid sharing a PSK between nodes; however, sharing | |||
| a PSK among several nodes is sometimes unavoidable. When PSK sharing happens, | a PSK among several nodes is sometimes unavoidable. When PSK sharing happens, | |||
| other accommodations SHOULD be used as discussed in <xref target="recommendation s" format="default"/>.</t> | other accommodations <bcp14>SHOULD</bcp14> be used as discussed in <xref target= "recommendations" format="default"/>.</t> | |||
| <t>Examples of PSK provisioning processes are included below.</t> | <t>Examples of PSK provisioning processes are included below.</t> | |||
| <ul spacing="normal"> | <ul spacing="normal"> | |||
| <li>Many industrial protocols assume that PSKs are distributed and ass igned manually via one of the following | <li>Many industrial protocols assume that PSKs are distributed and ass igned manually via one of the following | |||
| approaches: typing the PSK into the devices, or using a Trust On First Use (TOFU | approaches: (1) typing the PSK into the devices or (2) using a trust-on-first-us | |||
| ) approach with a device | e (TOFU) approach with a device | |||
| completely unprotected before the first login did take place. Many devices have | completely unprotected before the first login took place. Many devices have a ve | |||
| very limited UI. For example, | ry limited UI. For example, | |||
| they may only have a numeric keypad or even fewer buttons. When the TOFU approac h is not suitable, | they may only have a numeric keypad or even fewer buttons. When the TOFU approac h is not suitable, | |||
| entering the key would require typing it on a constrained UI.</li> | entering the key would require typing it on a constrained UI.</li> | |||
| <li>Some devices provision PSKs via an out-of-band, cloud-based syncin g protocol.</li> | <li>Some devices provision PSKs via an out-of-band, cloud-based syncin g protocol.</li> | |||
| <li>Some secrets may be baked into hardware or software device compone nts. Moreover, when this is done | <li>Some secrets may be baked into hardware or software device compone nts. Moreover, when this is done | |||
| at manufacturing time, secrets may be printed on labels or included in a Bill of Materials for ease of | at manufacturing time, secrets may be printed on labels or included in a Bill of Materials for ease of | |||
| scanning or import.</li> | scanning or import.</li> | |||
| </ul> | </ul> | |||
| </section> | </section> | |||
| <section anchor="provisioning-constraints" numbered="true" toc="default"> | <section anchor="provisioning-constraints" numbered="true" toc="default"> | |||
| <name>Provisioning Constraints</name> | <name>Provisioning Constraints</name> | |||
| <t>PSK provisioning systems are often constrained in application-specifi c ways. For example, although one goal of | <t>PSK provisioning systems are often constrained in application-specifi c ways. For example, although one goal of | |||
| provisioning is to ensure that each pair of nodes has a unique key pair, some sy stems do not want to distribute | provisioning is to ensure that each pair of nodes has a unique key pair, some sy stems do not want to distribute | |||
| pair-wise shared keys to achieve this. As another example, some systems require the provisioning process to embed | pairwise shared keys to achieve this. As another example, some systems require t he provisioning process to embed | |||
| application-specific information in either PSKs or their identities. Identities may sometimes need to be routable, | application-specific information in either PSKs or their identities. Identities may sometimes need to be routable, | |||
| as is currently under discussion for EAP-TLS-PSK <xref target="I-D.mattsson-emu- eap-tls-psk" format="default"/>.</t> | as is currently under discussion for <xref target="I-D.mattsson-emu-eap-tls-psk" format="default"/>.</t> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="recommendations" numbered="true" toc="default"> | <section anchor="recommendations" numbered="true" toc="default"> | |||
| <name>Recommendations for External PSK Usage</name> | <name>Recommendations for External PSK Usage</name> | |||
| <t>Recommended requirements for applications using external PSKs are as fo llows:</t> | <t>Recommended requirements for applications using external PSKs are as fo llows:</t> | |||
| <ol spacing="normal" type="1"> | <ol spacing="normal" type="1"> | |||
| <li>Each PSK SHOULD be derived from at least 128 bits of entropy, MUST b | <li>Each PSK <bcp14>SHOULD</bcp14> be derived from at least 128 bits of | |||
| e at least | entropy, <bcp14>MUST</bcp14> be at least | |||
| 128 bits long, and SHOULD be combined with an ephemeral key exchange, e.g., by u | 128 bits long, and <bcp14>SHOULD</bcp14> be combined with an ephemeral key excha | |||
| sing the | nge, e.g., by using the | |||
| "psk_dhe_ke" Pre-Shared Key Exchange Mode in TLS 1.3, for forward secrecy. As | "psk_dhe_ke" Pre-Shared Key Exchange Mode in TLS 1.3 for forward secrecy. As | |||
| discussed in <xref target="sec-properties" format="default"/>, low entropy PSKs, | discussed in <xref target="sec-properties" format="default"/>, low-entropy PSKs | |||
| i.e., those derived from less | (i.e., those derived from less | |||
| than 128 bits of entropy, are subject to attack and SHOULD be avoided. If only | than 128 bits of entropy) are subject to attack and <bcp14>SHOULD</bcp14> be avo | |||
| low-entropy keys are available, then key establishment mechanisms such as Passwo | ided. If only | |||
| rd | low-entropy keys are available, then key establishment mechanisms such as PAKE t | |||
| Authenticated Key Exchange (PAKE) that mitigate the risk of offline dictionary a | hat mitigate the risk of offline dictionary attacks | |||
| ttacks | <bcp14>SHOULD</bcp14> be employed. Note that no such mechanisms have yet been st | |||
| SHOULD be employed. Note that no such mechanisms have yet been standardised, and | andardized, and further | |||
| further | ||||
| that these mechanisms will not necessarily follow the same architecture as the | that these mechanisms will not necessarily follow the same architecture as the | |||
| process for incorporating external PSKs described in <xref target="I-D.ietf-tls- | process for incorporating external PSKs described in <xref target="RFC9258" form | |||
| external-psk-importer" format="default"/>.</li> | at="default"/>.</li> | |||
| <li>Unless other accommodations are made to mitigate the risks of PSKs k | <li>Unless other accommodations are made to mitigate the risks of PSKs k | |||
| nown to a group, each PSK MUST be restricted in | nown to a group, each PSK <bcp14>MUST</bcp14> be restricted in | |||
| its use to at most two logical nodes: one logical node in a TLS client | its use to at most two logical nodes: one logical node in a TLS client | |||
| role and one logical node in a TLS server role. (The two logical nodes | role and one logical node in a TLS server role. (The two logical nodes | |||
| MAY be the same, in different roles.) Two acceptable accommodations | <bcp14>MAY</bcp14> be the same, in different roles.) Two acceptable accommodatio | |||
| are described in <xref target="I-D.ietf-tls-external-psk-importer" format="defau | ns | |||
| lt"/>: (1) exchanging | are described in <xref target="RFC9258" format="default"/>: (1) exchanging | |||
| client and server identifiers over the TLS connection after the | client and server identifiers over the TLS connection after the | |||
| handshake, and (2) incorporating identifiers for both the client and the | handshake and (2) incorporating identifiers for both the client and the | |||
| server into the context string for an external PSK importer.</li> | server into the context string for an external PSK importer.</li> | |||
| <li>Nodes SHOULD use external PSK importers <xref target="I-D.ietf-tls-e xternal-psk-importer" format="default"/> | <li>Nodes <bcp14>SHOULD</bcp14> use external PSK importers <xref target= "RFC9258" format="default"/> | |||
| when configuring PSKs for a client-server pair when applicable. Importers make p rovisioning | when configuring PSKs for a client-server pair when applicable. Importers make p rovisioning | |||
| external PSKs easier and less error prone by deriving a unique, imported PSK fro | external PSKs easier and less error-prone by deriving a unique, imported PSK fro | |||
| m the | m the | |||
| external PSK for each key derivation function a node supports. See the Security | external PSK for each key derivation function a node supports. See the Security | |||
| Considerations | Considerations of | |||
| in <xref target="I-D.ietf-tls-external-psk-importer" format="default"/> for more | <xref target="RFC9258" format="default"/> for more information.</li> | |||
| information.</li> | <li>Where possible, the main PSK (that which is fed into the importer) < | |||
| <li>Where possible the main PSK (that which is fed into the importer) SH | bcp14>SHOULD</bcp14> be | |||
| OULD be | ||||
| deleted after the imported keys have been generated. This prevents an attacker | deleted after the imported keys have been generated. This prevents an attacker | |||
| from bootstrapping a compromise of one node into the ability to attack connectio ns | from bootstrapping a compromise of one node into the ability to attack connectio ns | |||
| between any node; otherwise the attacker can recover the main key and then | between any node; otherwise, the attacker can recover the main key and then | |||
| re-run the importer itself.</li> | re-run the importer itself.</li> | |||
| </ol> | </ol> | |||
| <section anchor="stack-interfaces" numbered="true" toc="default"> | <section anchor="stack-interfaces" numbered="true" toc="default"> | |||
| <name>Stack Interfaces</name> | <name>Stack Interfaces</name> | |||
| <t>Most major TLS implementations support external PSKs. Stacks supporti ng external PSKs | <t>Most major TLS implementations support external PSKs. Stacks supporti ng external PSKs | |||
| provide interfaces that applications may use when configuring PSKs for individua l | provide interfaces that applications may use when configuring PSKs for individua l | |||
| connections. Details about some existing stacks at the time of writing are below .</t> | connections. Details about some existing stacks at the time of writing are below .</t> | |||
| <ul spacing="normal"> | <ul spacing="normal"> | |||
| <li>OpenSSL and BoringSSL: Applications can specify support for extern al PSKs via | <li>OpenSSL and BoringSSL: Applications can specify support for extern al PSKs via | |||
| distinct ciphersuites in TLS 1.2 and below. They also then configure callbacks t hat are invoked for | distinct ciphersuites in TLS 1.2 and below. Also, they can then configure callba cks that are invoked for | |||
| PSK selection during the handshake. These callbacks must provide a PSK identity and key. The | PSK selection during the handshake. These callbacks must provide a PSK identity and key. The | |||
| exact format of the callback depends on the negotiated TLS protocol version, wit h new callback | exact format of the callback depends on the negotiated TLS protocol version, wit h new callback | |||
| functions added specifically to OpenSSL for TLS 1.3 <xref target="RFC8446" forma | functions added specifically to OpenSSL for TLS 1.3 <xref target="RFC8446" forma | |||
| t="default"/> PSK support. The PSK length | t="default"/> PSK support. The PSK length is validated to be between 1-256 bytes | |||
| is validated to be between [1, 256] bytes. The PSK identity may be up to 128 byt | (inclusive). The PSK identity may be up to 128 bytes long.</li> | |||
| es long.</li> | ||||
| <li>mbedTLS: Client applications configure PSKs before creating a conn ection by providing the PSK | <li>mbedTLS: Client applications configure PSKs before creating a conn ection by providing the PSK | |||
| identity and value inline. Servers must implement callbacks similar to that of O penSSL. Both PSK | identity and value inline. Servers must implement callbacks similar to that of O penSSL. Both PSK | |||
| identity and key lengths may be between [1, 16] bytes long.</li> | identity and key lengths may be between 1-16 bytes long (inclusive).</li> | |||
| <li>gnuTLS: Applications configure PSK values, either as raw byte stri | <li>gnuTLS: Applications configure PSK values as either raw byte strin | |||
| ngs or | gs or | |||
| hexadecimal strings. The PSK identity and key size are not validated.</li> | hexadecimal strings. The PSK identity and key size are not validated.</li> | |||
| <li>wolfSSL: Applications configure PSKs with callbacks similar to Ope nSSL.</li> | <li>wolfSSL: Applications configure PSKs with callbacks similar to Ope nSSL.</li> | |||
| </ul> | </ul> | |||
| <section anchor="psk-identity-encoding-and-comparison" numbered="true" t oc="default"> | <section anchor="psk-identity-encoding-and-comparison" numbered="true" t oc="default"> | |||
| <name>PSK Identity Encoding and Comparison</name> | <name>PSK Identity Encoding and Comparison</name> | |||
| <t>Section 5.1 of <xref target="RFC4279" format="default"/> mandates t hat the PSK identity should be first converted to a character string and then | <t><xref target="RFC4279" sectionFormat="of" section="5.1"/> mandates that the PSK identity should be first converted to a character string and then | |||
| encoded to octets using UTF-8. This was done to avoid interoperability problems (especially when the identity is | encoded to octets using UTF-8. This was done to avoid interoperability problems (especially when the identity is | |||
| configured by human users). On the other hand, <xref target="RFC7925" format="d efault"/> advises implementations against assuming any structured | configured by human users). On the other hand, <xref target="RFC7925" format="d efault"/> advises implementations against assuming any structured | |||
| format for PSK identities and recommends byte-by-byte comparison for any operati on. When PSK identities are configured | format for PSK identities and recommends byte-by-byte comparison for any operati on. When PSK identities are configured | |||
| manually it is important to be aware that due to encoding issues visually identi | manually, it is important to be aware that visually identical strings may, in fa | |||
| cal strings may, in fact, differ.</t> | ct, differ due to encoding issues.</t> | |||
| <t>TLS version 1.3 <xref target="RFC8446" format="default"/> follows t | <t>TLS 1.3 <xref target="RFC8446" format="default"/> follows the same | |||
| he same practice of specifying | practice of specifying | |||
| the PSK identity as a sequence of opaque bytes (shown as opaque identity<1..2 ^16-1> | the PSK identity as a sequence of opaque bytes (shown as opaque identity<1..2 ^16-1> | |||
| in the specification) that thus is compared on a byte-by-byte basis. | in the specification) that thus is compared on a byte-by-byte basis. | |||
| <xref target="RFC8446" format="default"/> also requires that the PSK identities are at | <xref target="RFC8446" format="default"/> also requires that the PSK identities are at | |||
| least 1 byte and at the most 65535 bytes in length. Although <xref target="RFC84 46" format="default"/> does not | least 1 byte and at the most 65535 bytes in length. Although <xref target="RFC84 46" format="default"/> does not | |||
| place strict requirements on the format of PSK identities, we do however note th at | place strict requirements on the format of PSK identities, note that | |||
| the format of PSK identities can vary depending on the deployment:</t> | the format of PSK identities can vary depending on the deployment:</t> | |||
| <ul spacing="normal"> | <ul spacing="normal"> | |||
| <li>The PSK identity MAY be a user configured string when used in pr | <li>The PSK identity <bcp14>MAY</bcp14> be a user-configured string | |||
| otocols like | when used in protocols like | |||
| Extensible Authentication Protocol (EAP) <xref target="RFC3748" format="default" | Extensible Authentication Protocol (EAP) <xref target="RFC3748" format="default" | |||
| />. gnuTLS for example treats | />. For example, gnuTLS treats | |||
| PSK identities as usernames.</li> | PSK identities as usernames.</li> | |||
| <li>PSK identities MAY have a domain name suffix for roaming and fed eration. In | <li>PSK identities <bcp14>MAY</bcp14> have a domain name suffix for roaming and federation. In | |||
| applications and settings where the domain name suffix is privacy sensitive, thi s | applications and settings where the domain name suffix is privacy sensitive, thi s | |||
| practice is NOT RECOMMENDED.</li> | practice is <bcp14>NOT RECOMMENDED</bcp14>.</li> | |||
| <li>Deployments should take care that the length of the PSK identity is sufficient | <li>Deployments should take care that the length of the PSK identity is sufficient | |||
| to avoid collisions.</li> | to avoid collisions.</li> | |||
| </ul> | </ul> | |||
| </section> | </section> | |||
| <section anchor="psk-identity-collisions" numbered="true" toc="default"> | <section anchor="psk-identity-collisions" numbered="true" toc="default"> | |||
| <name>PSK Identity Collisions</name> | <name>PSK Identity Collisions</name> | |||
| <t>It is possible, though unlikely, that an external PSK identity may clash with a | <t>It is possible, though unlikely, that an external PSK identity may clash with a | |||
| resumption PSK identity. The TLS stack implementation and sequencing of PSK call backs | resumption PSK identity. The TLS stack implementation and sequencing of PSK call backs | |||
| influences the application's behavior when identity collisions occur. When a ser ver | influences the application's behavior when identity collisions occur. When a ser ver | |||
| receives a PSK identity in a TLS 1.3 ClientHello, some TLS stacks | receives a PSK identity in a TLS 1.3 ClientHello, some TLS stacks | |||
| execute the application's registered callback function before checking the stack 's | execute the application's registered callback function before checking the stack 's | |||
| internal session resumption cache. This means that if a PSK identity collision o ccurs, | internal session resumption cache. This means that if a PSK identity collision o ccurs, | |||
| the application's external PSK usage will typically take precedence over the int ernal | the application's external PSK usage will typically take precedence over the int ernal | |||
| session resumption path.</t> | session resumption path.</t> | |||
| <t>Since resumption PSK identities are assigned by the TLS stack imple | <t>Because resumption PSK identities are assigned by the TLS stack imp | |||
| mentation, | lementation, | |||
| it is RECOMMENDED that these identifiers be assigned in a manner that lets | it is <bcp14>RECOMMENDED</bcp14> that these identifiers be assigned in a manner | |||
| that lets | ||||
| resumption PSKs be distinguished from external PSKs to avoid concerns with | resumption PSKs be distinguished from external PSKs to avoid concerns with | |||
| collisions altogether.</t> | collisions altogether.</t> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="endpoint-privacy" numbered="true" toc="default"> | <section anchor="endpoint-privacy" numbered="true" toc="default"> | |||
| <name>Privacy Considerations</name> | <name>Privacy Considerations</name> | |||
| <t>PSK privacy properties are orthogonal to security properties described in <xref target="sec-properties" format="default"/>. | <t>PSK privacy properties are orthogonal to security properties described in <xref target="sec-properties" format="default"/>. | |||
| TLS does little to keep PSK identity information private. For example, | TLS does little to keep PSK identity information private. For example, | |||
| an adversary learns information about the external PSK or its identifier by virt ue of the identifier | an adversary learns information about the external PSK or its identifier by virt ue of the identifier | |||
| skipping to change at line 367 ¶ | skipping to change at line 370 ¶ | |||
| <t>In addition to linkability in the network, external PSKs are intrinsica lly linkable | <t>In addition to linkability in the network, external PSKs are intrinsica lly linkable | |||
| by PSK receivers. Specifically, servers can link successive connections that use the | by PSK receivers. Specifically, servers can link successive connections that use the | |||
| same external PSK together. Preventing this type of linkability is out of scope. </t> | same external PSK together. Preventing this type of linkability is out of scope. </t> | |||
| </section> | </section> | |||
| <section anchor="security-con" numbered="true" toc="default"> | <section anchor="security-con" numbered="true" toc="default"> | |||
| <name>Security Considerations</name> | <name>Security Considerations</name> | |||
| <t>Security considerations are provided throughout this document. It bear s | <t>Security considerations are provided throughout this document. It bear s | |||
| repeating that there are concerns related to the use of external PSKs regarding | repeating that there are concerns related to the use of external PSKs regarding | |||
| proper identification of TLS 1.3 endpoints and additional risks when external | proper identification of TLS 1.3 endpoints and additional risks when external | |||
| PSKs are known to a group.</t> | PSKs are known to a group.</t> | |||
| <t>It is NOT RECOMMENDED to share the same PSK between more than one clien t and server. | <t>It is <bcp14>NOT RECOMMENDED</bcp14> to share the same PSK between more than one client and server. | |||
| However, as discussed in <xref target="use-cases" format="default"/>, there are application scenarios that may | However, as discussed in <xref target="use-cases" format="default"/>, there are application scenarios that may | |||
| rely on sharing the same PSK among multiple nodes. <xref target="I-D.ietf-tls-ex | rely on sharing the same PSK among multiple nodes. <xref target="RFC9258" format | |||
| ternal-psk-importer" format="default"/> | ="default"/> | |||
| helps in mitigating rerouting and Selfie style reflection attacks when the PSK | helps in mitigating rerouting and Selfie-style reflection attacks when the PSK | |||
| is shared among multiple nodes. This is achieved by correctly using the node | is shared among multiple nodes. This is achieved by correctly using the node | |||
| identifiers in the ImportedIdentity.context construct specified in | identifiers in the ImportedIdentity.context construct specified in | |||
| <xref target="I-D.ietf-tls-external-psk-importer" format="default"/>. One soluti | <xref target="RFC9258" format="default"/>. One solution would be for each endpoi | |||
| on would be for each endpoint | nt | |||
| to select one globally unique identifier and use it in all PSK handshakes. The | to select one globally unique identifier to use in all PSK handshakes. The | |||
| unique identifier can, for example, be one of its MAC addresses, a 32-byte | unique identifier can, for example, be one of its Media Access Control (MAC) add | |||
| resses, a 32-byte | ||||
| random number, or its Universally Unique IDentifier (UUID) <xref target="RFC4122 " format="default"/>. | random number, or its Universally Unique IDentifier (UUID) <xref target="RFC4122 " format="default"/>. | |||
| Note that such persistent, global identifiers have privacy implications; | Note that such persistent, global identifiers have privacy implications; | |||
| see <xref target="endpoint-privacy" format="default"/>.</t> | see <xref target="endpoint-privacy" format="default"/>.</t> | |||
| <t>Each endpoint SHOULD know the identifier of the other endpoint with whi | <t>Each endpoint <bcp14>SHOULD</bcp14> know the identifier of the other en | |||
| ch it wants | dpoint with which it wants | |||
| to connect and SHOULD compare it with the other endpoint's identifier used in | to connect and <bcp14>SHOULD</bcp14> compare it with the other endpoint's identi | |||
| ImportedIdentity.context. It is however important to remember that endpoints | fier used in | |||
| ImportedIdentity.context. However, it is important to remember that endpoints | ||||
| sharing the same group PSK can always impersonate each other.</t> | sharing the same group PSK can always impersonate each other.</t> | |||
| <t>Considerations for external PSK usage extend beyond proper identificati on. | <t>Considerations for external PSK usage extend beyond proper identificati on. | |||
| When early data is used with an external PSK, the random value in the ClientHell o | When early data is used with an external PSK, the random value in the ClientHell o | |||
| is the only source of entropy that contributes to key diversity between sessions . | is the only source of entropy that contributes to key diversity between sessions . | |||
| As a result, when an external PSK is used more than one time, the random number | As a result, when an external PSK is used more than one time, the random number | |||
| source on the client has a significant role in the protection of the early data. </t> | source on the client has a significant role in the protection of the early data. </t> | |||
| </section> | </section> | |||
| <section anchor="IANA" numbered="true" toc="default"> | <section anchor="IANA" numbered="true" toc="default"> | |||
| <name>IANA Considerations</name> | <name>IANA Considerations</name> | |||
| <t>This document makes no IANA requests.</t> | <t>This document has no IANA actions.</t> | |||
| </section> | </section> | |||
| </middle> | </middle> | |||
| <back> | <back> | |||
| <displayreference target="I-D.ietf-tls-ctls" to="CTLS"/> | ||||
| <displayreference target="I-D.irtf-cfrg-cpace" to="CPACE"/> | ||||
| <displayreference target="I-D.irtf-cfrg-opaque" to="OPAQUE"/> | ||||
| <displayreference target="I-D.mattsson-emu-eap-tls-psk" to="EAP-TLS-PSK"/> | ||||
| <references> | <references> | |||
| <name>References</name> | <name>References</name> | |||
| <references> | <references> | |||
| <name>Normative References</name> | <name>Normative References</name> | |||
| <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2 | ||||
| 119"> | ||||
| <front> | ||||
| <title>Key words for use in RFCs to Indicate Requirement Levels</tit | ||||
| le> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC2119"/> | ||||
| <seriesInfo name="RFC" value="2119"/> | ||||
| <seriesInfo name="BCP" value="14"/> | ||||
| <author fullname="S. Bradner" initials="S." surname="Bradner"> | ||||
| <organization/> | ||||
| </author> | ||||
| <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. | ||||
| This document defines these words as they should be interpreted in IETF document | ||||
| s. This document specifies an Internet Best Current Practices for the Internet | ||||
| Community, and requests discussion and suggestions for improvements.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| </reference> | ||||
| <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8 | ||||
| 174"> | ||||
| <front> | ||||
| <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</ti | ||||
| tle> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC8174"/> | ||||
| <seriesInfo name="RFC" value="8174"/> | ||||
| <seriesInfo name="BCP" value="14"/> | ||||
| <author fullname="B. Leiba" initials="B." surname="Leiba"> | ||||
| <organization/> | ||||
| </author> | ||||
| <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 tha | ||||
| t only UPPERCASE usage of the key words have the defined special meanings.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| </reference> | ||||
| <reference anchor="RFC8446" target="https://www.rfc-editor.org/info/rfc8 | ||||
| 446"> | ||||
| <front> | ||||
| <title>The Transport Layer Security (TLS) Protocol Version 1.3</titl | ||||
| e> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC8446"/> | ||||
| <seriesInfo name="RFC" value="8446"/> | ||||
| <author fullname="E. Rescorla" initials="E." surname="Rescorla"> | ||||
| <organization/> | ||||
| </author> | ||||
| <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 | ||||
| the Internet in a way that is designed to prevent eavesdropping, tampering, and | ||||
| message 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 i | ||||
| mplementations.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| </reference> | ||||
| <reference anchor="I-D.ietf-tls-external-psk-importer" target="https://w | ||||
| ww.ietf.org/archive/id/draft-ietf-tls-external-psk-importer-06.txt"> | ||||
| <front> | ||||
| <title>Importing External PSKs for TLS</title> | ||||
| <seriesInfo name="Internet-Draft" value="draft-ietf-tls-external-psk | ||||
| -importer-06"/> | ||||
| <author fullname="David Benjamin"> | ||||
| </author> | ||||
| <author fullname="Christopher A. Wood"> | ||||
| <organization>Cloudflare</organization> | ||||
| </author> | ||||
| <date day="3" month="December" year="2020"/> | ||||
| <abstract> | ||||
| <t> This document describes an interface for importing external | ||||
| Pre- | ||||
| Shared Keys (PSKs) into TLS 1.3. | ||||
| </t> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119. | |||
| </abstract> | xml"/> | |||
| </front> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174. | |||
| </reference> | xml"/> | |||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8446. | ||||
| xml"/> | ||||
| <reference anchor="RFC9258" target="https://www.rfc-editor.org/info/rfc9258"> | ||||
| <front> | ||||
| <title>Importing External Pre-Shared Keys (PSKs) for TLS 1.3</title> | ||||
| <author initials='D' surname='Benjamin' fullname='David Benjamin'> | ||||
| <organization/> | ||||
| </author> | ||||
| <author initials='C. A.' surname='Wood' fullname='Christopher Wood'> | ||||
| <organization/> | ||||
| </author> | ||||
| <date month='July' year='2022'/> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="9258"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC9258"/> | ||||
| </reference> | ||||
| </references> | </references> | |||
| <references> | <references> | |||
| <name>Informative References</name> | <name>Informative References</name> | |||
| <reference anchor="RFC8773" target="https://www.rfc-editor.org/info/rfc8 | ||||
| 773"> | ||||
| <front> | ||||
| <title>TLS 1.3 Extension for Certificate-Based Authentication with a | ||||
| n External Pre-Shared Key</title> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC8773"/> | ||||
| <seriesInfo name="RFC" value="8773"/> | ||||
| <author fullname="R. Housley" initials="R." surname="Housley"> | ||||
| <organization/> | ||||
| </author> | ||||
| <date month="March" year="2020"/> | ||||
| <abstract> | ||||
| <t>This document specifies a TLS 1.3 extension that allows a serve | ||||
| r to authenticate with a combination of a certificate and an external pre-shared | ||||
| key (PSK).</t> | ||||
| </abstract> | ||||
| </front> | ||||
| </reference> | ||||
| <reference anchor="RFC7925" target="https://www.rfc-editor.org/info/rfc7 | ||||
| 925"> | ||||
| <front> | ||||
| <title>Transport Layer Security (TLS) / Datagram Transport Layer Sec | ||||
| urity (DTLS) Profiles for the Internet of Things</title> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC7925"/> | ||||
| <seriesInfo name="RFC" value="7925"/> | ||||
| <author fullname="H. Tschofenig" initials="H." role="editor" surname | ||||
| ="Tschofenig"> | ||||
| <organization/> | ||||
| </author> | ||||
| <author fullname="T. Fossati" initials="T." surname="Fossati"> | ||||
| <organization/> | ||||
| </author> | ||||
| <date month="July" year="2016"/> | ||||
| <abstract> | ||||
| <t>A common design pattern in Internet of Things (IoT) deployments | ||||
| is the use of a constrained device that collects data via sensors or controls a | ||||
| ctuators for use in home automation, industrial control systems, smart cities, a | ||||
| nd other IoT deployments.</t> | ||||
| <t>This document defines a Transport Layer Security (TLS) and Data | ||||
| gram Transport Layer Security (DTLS) 1.2 profile that offers communications secu | ||||
| rity for this data exchange thereby preventing eavesdropping, tampering, and mes | ||||
| sage forgery. The lack of communication security is a common vulnerability in I | ||||
| oT products that can easily be solved by using these well-researched and widely | ||||
| deployed Internet security protocols.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| </reference> | ||||
| <reference anchor="RFC6066" target="https://www.rfc-editor.org/info/rfc6 | ||||
| 066"> | ||||
| <front> | ||||
| <title>Transport Layer Security (TLS) Extensions: Extension Definiti | ||||
| ons</title> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC6066"/> | ||||
| <seriesInfo name="RFC" value="6066"/> | ||||
| <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3 | ||||
| rd"> | ||||
| <organization/> | ||||
| </author> | ||||
| <date month="January" year="2011"/> | ||||
| <abstract> | ||||
| <t>This document provides specifications for existing TLS extensio | ||||
| ns. It is a companion document for RFC 5246, "The Transport Layer Security (TLS | ||||
| ) Protocol Version 1.2". The extensions specified are server_name, max_fragment | ||||
| _length, client_certificate_url, trusted_ca_keys, truncated_hmac, and status_req | ||||
| uest. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| </reference> | ||||
| <reference anchor="RFC6614" target="https://www.rfc-editor.org/info/rfc6 | ||||
| 614"> | ||||
| <front> | ||||
| <title>Transport Layer Security (TLS) Encryption for RADIUS</title> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC6614"/> | ||||
| <seriesInfo name="RFC" value="6614"/> | ||||
| <author fullname="S. Winter" initials="S." surname="Winter"> | ||||
| <organization/> | ||||
| </author> | ||||
| <author fullname="M. McCauley" initials="M." surname="McCauley"> | ||||
| <organization/> | ||||
| </author> | ||||
| <author fullname="S. Venaas" initials="S." surname="Venaas"> | ||||
| <organization/> | ||||
| </author> | ||||
| <author fullname="K. Wierenga" initials="K." surname="Wierenga"> | ||||
| <organization/> | ||||
| </author> | ||||
| <date month="May" year="2012"/> | ||||
| <abstract> | ||||
| <t>This document specifies a transport profile for RADIUS using Tr | ||||
| ansport Layer Security (TLS) over TCP as the transport protocol. This enables dy | ||||
| namic trust relationships between RADIUS servers. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| </reference> | ||||
| <reference anchor="RFC4122" target="https://www.rfc-editor.org/info/rfc4 | ||||
| 122"> | ||||
| <front> | ||||
| <title>A Universally Unique IDentifier (UUID) URN Namespace</title> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC4122"/> | ||||
| <seriesInfo name="RFC" value="4122"/> | ||||
| <author fullname="P. Leach" initials="P." surname="Leach"> | ||||
| <organization/> | ||||
| </author> | ||||
| <author fullname="M. Mealling" initials="M." surname="Mealling"> | ||||
| <organization/> | ||||
| </author> | ||||
| <author fullname="R. Salz" initials="R." surname="Salz"> | ||||
| <organization/> | ||||
| </author> | ||||
| <date month="July" year="2005"/> | ||||
| <abstract> | ||||
| <t>This specification defines a Uniform Resource Name namespace fo | ||||
| r UUIDs (Universally Unique IDentifier), also known as GUIDs (Globally Unique ID | ||||
| entifier). A UUID is 128 bits long, and can guarantee uniqueness across space a | ||||
| nd time. UUIDs were originally used in the Apollo Network Computing System and | ||||
| later in the Open Software Foundation\'s (OSF) Distributed Computing Environment | ||||
| (DCE), and then in Microsoft Windows platforms.</t> | ||||
| <t>This specification is derived from the DCE specification with t | ||||
| he kind permission of the OSF (now known as The Open Group). Information from e | ||||
| arlier versions of the DCE specification have been incorporated into this docume | ||||
| nt. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| </reference> | ||||
| <reference anchor="RFC2865" target="https://www.rfc-editor.org/info/rfc2 | ||||
| 865"> | ||||
| <front> | ||||
| <title>Remote Authentication Dial In User Service (RADIUS)</title> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC2865"/> | ||||
| <seriesInfo name="RFC" value="2865"/> | ||||
| <author fullname="C. Rigney" initials="C." surname="Rigney"> | ||||
| <organization/> | ||||
| </author> | ||||
| <author fullname="S. Willens" initials="S." surname="Willens"> | ||||
| <organization/> | ||||
| </author> | ||||
| <author fullname="A. Rubens" initials="A." surname="Rubens"> | ||||
| <organization/> | ||||
| </author> | ||||
| <author fullname="W. Simpson" initials="W." surname="Simpson"> | ||||
| <organization/> | ||||
| </author> | ||||
| <date month="June" year="2000"/> | ||||
| <abstract> | ||||
| <t>This document describes a protocol for carrying authentication, | ||||
| authorization, and configuration information between a Network Access Server wh | ||||
| ich desires to authenticate its links and a shared Authentication Server. [STAN | ||||
| DARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| </reference> | ||||
| <reference anchor="I-D.ietf-tls-dtls13" target="https://www.ietf.org/arc | ||||
| hive/id/draft-ietf-tls-dtls13-43.txt"> | ||||
| <front> | ||||
| <title>The Datagram Transport Layer Security (DTLS) Protocol Version | ||||
| 1.3</title> | ||||
| <seriesInfo name="Internet-Draft" value="draft-ietf-tls-dtls13-43"/> | ||||
| <author fullname="Eric Rescorla"> | ||||
| <organization>RTFM, Inc.</organization> | ||||
| </author> | ||||
| <author fullname="Hannes Tschofenig"> | ||||
| <organization>Arm Limited</organization> | ||||
| </author> | ||||
| <author fullname="Nagendra Modadugu"> | ||||
| <organization>Google, Inc.</organization> | ||||
| </author> | ||||
| <date day="30" month="April" year="2021"/> | ||||
| <abstract> | ||||
| <t> This document specifies Version 1.3 of the Datagram Transpor | ||||
| t Layer | ||||
| Security (DTLS) protocol. DTLS 1.3 allows client/server applications | ||||
| to communicate over the Internet in a way that is designed to prevent | ||||
| eavesdropping, tampering, and message forgery. | ||||
| The DTLS 1.3 protocol is intentionally based on the Transport Layer | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8773. | |||
| Security (TLS) 1.3 protocol and provides equivalent security | xml"/> | |||
| guarantees with the exception of order protection/non-replayability. | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7925. | |||
| Datagram semantics of the underlying transport are preserved by the | xml"/> | |||
| DTLS protocol. | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6066. | |||
| xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6614. | ||||
| xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4122. | ||||
| xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2865. | ||||
| xml"/> | ||||
| This document obsoletes RFC 6347. | <!-- [I-D.ietf-tls-dtls13] [RFCYYY2] is now RFC 9147 --> | |||
| <xi:include href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.9147.xml" | ||||
| /> | ||||
| </t> | <!-- [I-D.ietf-tls-ctls] I-D Exists status as of 7/22/22--> | |||
| </abstract> | <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.ietf-tl | |||
| </front> | s-ctls.xml"/> | |||
| </reference> | ||||
| <reference anchor="I-D.ietf-tls-ctls" target="https://www.ietf.org/archi | ||||
| ve/id/draft-ietf-tls-ctls-04.txt"> | ||||
| <front> | ||||
| <title>Compact TLS 1.3</title> | ||||
| <seriesInfo name="Internet-Draft" value="draft-ietf-tls-ctls-04"/> | ||||
| <author fullname="Eric Rescorla"> | ||||
| <organization>Mozilla</organization> | ||||
| </author> | ||||
| <author fullname="Richard Barnes"> | ||||
| <organization>Cisco</organization> | ||||
| </author> | ||||
| <author fullname="Hannes Tschofenig"> | ||||
| <organization>Arm Limited</organization> | ||||
| </author> | ||||
| <date day="25" month="October" year="2021"/> | ||||
| <abstract> | ||||
| <t> This document specifies a "compact" version of TLS 1.3. It | ||||
| is | ||||
| isomorphic to TLS 1.3 but saves space by trimming obsolete material, | ||||
| tighter encoding, a template-based specialization technique, and | ||||
| alternative cryptographic techniques. cTLS is not directly | ||||
| interoperable with TLS 1.3, but it should eventually be possible for | ||||
| a cTLS/TLS 1.3 server to exist and successfully interoperate. | ||||
| </t> | <!-- [I-D.irtf-cfrg-cpace] I-D Exists status as of 7/22/22 --> | |||
| </abstract> | <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.draft-i | |||
| </front> | rtf-cfrg-cpace.xml"/> | |||
| </reference> | ||||
| <reference anchor="I-D.irtf-cfrg-cpace" target="https://www.ietf.org/arc | ||||
| hive/id/draft-irtf-cfrg-cpace-05.txt"> | ||||
| <front> | ||||
| <title>CPace, a balanced composable PAKE</title> | ||||
| <seriesInfo name="Internet-Draft" value="draft-irtf-cfrg-cpace-05"/> | ||||
| <author fullname="Michel Abdalla"> | ||||
| <organization>DFINITY - Zurich</organization> | ||||
| </author> | ||||
| <author fullname="Bjoern Haase"> | ||||
| <organization>Endress + Hauser Liquid Analysis - Gerlingen</organi | ||||
| zation> | ||||
| </author> | ||||
| <author fullname="Julia Hesse"> | ||||
| <organization>IBM Research Europe - Zurich</organization> | ||||
| </author> | ||||
| <date day="14" month="January" year="2022"/> | ||||
| <abstract> | ||||
| <t> This document describes CPace which is a protocol for two pa | ||||
| rties | ||||
| that share a low-entropy secret (password) to derive a strong shared | ||||
| key without disclosing the secret to offline dictionary attacks. | ||||
| This method was tailored for constrained devices, is compatible with | ||||
| any group of both prime- and non-prime order, and comes with a | ||||
| security proof providing composability guarantees. | ||||
| </t> | <!-- [I-D.irtf-cfrg-opaque] I-D Exists status as of 7/22/22 --> | |||
| </abstract> | <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.draft-i | |||
| </front> | rtf-cfrg-opaque.xml"/> | |||
| </reference> | ||||
| <reference anchor="I-D.irtf-cfrg-opaque" target="https://www.ietf.org/ar | ||||
| chive/id/draft-irtf-cfrg-opaque-07.txt"> | ||||
| <front> | ||||
| <title>The OPAQUE Asymmetric PAKE Protocol</title> | ||||
| <seriesInfo name="Internet-Draft" value="draft-irtf-cfrg-opaque-07"/ | ||||
| > | ||||
| <author fullname="Daniel Bourdrez"> | ||||
| </author> | ||||
| <author fullname="Hugo Krawczyk"> | ||||
| <organization>Algorand Foundation</organization> | ||||
| </author> | ||||
| <author fullname="Kevin Lewi"> | ||||
| <organization>Novi Research</organization> | ||||
| </author> | ||||
| <author fullname="Christopher A. Wood"> | ||||
| <organization>Cloudflare</organization> | ||||
| </author> | ||||
| <date day="25" month="October" year="2021"/> | ||||
| <abstract> | ||||
| <t> This document describes the OPAQUE protocol, a secure asymme | ||||
| tric | ||||
| password-authenticated key exchange (aPAKE) that supports mutual | ||||
| authentication in a client-server setting without reliance on PKI and | ||||
| with security against pre-computation attacks upon server compromise. | ||||
| In addition, the protocol provides forward secrecy and the ability to | ||||
| hide the password from the server, even during password registration. | ||||
| This document specifies the core OPAQUE protocol and one | ||||
| instantiation based on 3DH. | ||||
| </t> | <!-- [draft-mattsson-emu-eap-tls-psk] This reference has expired --> | |||
| </abstract> | <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.mattsso | |||
| </front> | n-emu-eap-tls-psk.xml"/> | |||
| </reference> | ||||
| <reference anchor="I-D.mattsson-emu-eap-tls-psk" target="https://www.iet | ||||
| f.org/archive/id/draft-mattsson-emu-eap-tls-psk-00.txt"> | ||||
| <front> | ||||
| <title>EAP-TLS with PSK Authentication (EAP-TLS-PSK)</title> | ||||
| <seriesInfo name="Internet-Draft" value="draft-mattsson-emu-eap-tls- | ||||
| psk-00"/> | ||||
| <author fullname="John Preuß Mattsson"> | ||||
| <organization>Ericsson</organization> | ||||
| </author> | ||||
| <author fullname="Mohit Sethi"> | ||||
| <organization>Ericsson</organization> | ||||
| </author> | ||||
| <author fullname="Tuomas Aura"> | ||||
| <organization>Aalto University</organization> | ||||
| </author> | ||||
| <author fullname="Owen Friel"> | ||||
| <organization>Cisco</organization> | ||||
| </author> | ||||
| <date day="9" month="March" year="2020"/> | ||||
| <abstract> | ||||
| <t> While TLS 1.3 supports authentication with Pre-Shared Key (P | ||||
| SK), EAP- | ||||
| TLS with TLS 1.3 explicitly forbids PSK authentication except when | ||||
| used for resumption. This document specifies a separate EAP method | ||||
| (EAP-TLS-PSK) for use cases that require authentication based on | ||||
| external PSKs. | ||||
| </t> | <reference anchor="Selfie" target="https://eprint.iacr.org/2019/347.pdf"> | |||
| </abstract> | <front> | |||
| </front> | <title>Selfie: reflections on TLS 1.3 with PSK</title> | |||
| </reference> | <author initials="N" surname="Drucker" fullname="Nir Drucker"> | |||
| <reference anchor="Selfie" target="https://eprint.iacr.org/2019/347.pdf" | <organization /> | |||
| > | </author> | |||
| <front> | <author initials="S" surname="Gueron" fullname="Shay Gueron"> | |||
| <title>Selfie: reflections on TLS 1.3 with PSK</title> | <organization /> | |||
| <author initials="N." surname="Drucker" fullname="Nir Drucker"> | </author> | |||
| <organization/> | <date month="May" year="2021"/> | |||
| </author> | </front> | |||
| <author initials="S." surname="Gueron" fullname="Shay Gueron"> | <seriesInfo name="DOI" value="10.1007/s00145-021-09387-y"/> | |||
| <organization/> | </reference> | |||
| </author> | ||||
| <date year="2019"/> | <reference anchor="AASS19" target="https://eprint.iacr.org/2019/421.pdf"> | |||
| </front> | <front> | |||
| </reference> | <title>Continuing to reflect on TLS 1.3 with external PSK</title> | |||
| <reference anchor="AASS19" target="https://eprint.iacr.org/2019/421.pdf" | <author initials="L" surname="Akhmetzyanova" fullname="Liliya Akhmetzy | |||
| > | anov"> | |||
| <front> | <organization /> | |||
| <title>Continuing to reflect on TLS 1.3 with external PSK</title> | </author> | |||
| <author initials="L." surname="Akhmetzyanova" fullname="Liliya Akhme | <author initials="E" surname="Alekseev" fullname="Evgeny Alekseev"> | |||
| tzyanova"> | <organization /> | |||
| <organization/> | </author> | |||
| </author> | <author initials="E" surname="Smyshlyaeva" fullname="Ekaterina Smyshly | |||
| <author initials="E." surname="Alekseev" fullname="Evgeny Alekseev"> | aeva"> | |||
| <organization/> | <organization /> | |||
| </author> | </author> | |||
| <author initials="E." surname="Smyshlyaeva" fullname="Ekaterina Smys | <author initials="A" surname="Sokolov" fullname="Alexandr Sokolov"> | |||
| hlyaeva"> | <organization /> | |||
| <organization/> | </author> | |||
| </author> | <date month="April" year="2019"/> | |||
| <author initials="A." surname="Sokolov" fullname="Alexandr Sokolov"> | </front> | |||
| <organization/> | ||||
| </author> | ||||
| <date year="2019"/> | ||||
| </front> | ||||
| </reference> | </reference> | |||
| <reference anchor="LwM2M" target="http://www.openmobilealliance.org/rele ase/LightweightM2M/V1_0-20170208-A/OMA-TS-LightweightM2M-V1_0-20170208-A.pdf"> | <reference anchor="LwM2M" target="http://www.openmobilealliance.org/rele ase/LightweightM2M/V1_0-20170208-A/OMA-TS-LightweightM2M-V1_0-20170208-A.pdf"> | |||
| <front> | <front> | |||
| <title>Lightweight Machine to Machine Technical Specification</title | <title>Lightweight Machine to Machine Technical Specification</title> | |||
| > | <author> | |||
| <author> | <organization>Open Mobile Alliance</organization> | |||
| <organization/> | </author> | |||
| </author> | <date month="February" year="2017"/> | |||
| <date>n.d.</date> | </front> | |||
| </front> | <refcontent>version 1.0</refcontent> | |||
| </reference> | </reference> | |||
| <reference anchor="GAA" target="https://www.etsi.org/deliver/etsi_tr/133 900_133999/133919/12.00.00_60/tr_133919v120000p.pdf"> | <reference anchor="GAA" target="https://www.etsi.org/deliver/etsi_tr/133 900_133999/133919/12.00.00_60/tr_133919v120000p.pdf"> | |||
| <front> | <front> | |||
| <title>TR33.919 version 12.0.0 Release 12</title> | <title>Digital cellular telecommunications system (Phase 2+); Univer sal Mobile Telecommunications System (UMTS); LTE; 3G Security; Generic Authentic ation Architecture (GAA); System description</title> | |||
| <author> | <author> | |||
| <organization/> | <organization showOnFrontPage="true">ETSI</organization> | |||
| </author> | </author> | |||
| <date>n.d.</date> | <date month="October" year="2014"/> | |||
| </front> | </front> | |||
| </reference> | <seriesInfo name="ETSI TR" value="133 919"/> | |||
| <refcontent>version 12.0.0</refcontent> | ||||
| </reference> | ||||
| <reference anchor="SmartCard" target="https://www.bsi.bund.de/SharedDocs /Downloads/DE/BSI/Publikationen/TechnischeRichtlinien/TR03112/TR-03112-api_teil7 .pdf?__blob=publicationFile&v=1"> | <reference anchor="SmartCard" target="https://www.bsi.bund.de/SharedDocs /Downloads/DE/BSI/Publikationen/TechnischeRichtlinien/TR03112/TR-03112-api_teil7 .pdf?__blob=publicationFile&v=1"> | |||
| <front> | <front> | |||
| <title>Technical Guideline TR-03112-7 eCard-API-Framework - Protocol | <title>Technical Guideline TR-03112-7 eCard-API-Framework - Protocols< | |||
| s</title> | /title> | |||
| <author> | <author initials="" surname="" fullname=""> | |||
| <organization/> | <organization>Bundesamt für Sicherheit in der Informationstechnik</o | |||
| </author> | rganization> | |||
| <date year="2015"/> | </author> | |||
| </front> | <date month="April" year="2015"/> | |||
| </front> | ||||
| <refcontent>version 1.1.5</refcontent> | ||||
| </reference> | </reference> | |||
| <reference anchor="Krawczyk" target="https://link.springer.com/content/p df/10.1007/978-3-540-45146-4_24.pdf"> | <reference anchor="Krawczyk" target="https://link.springer.com/content/p df/10.1007/978-3-540-45146-4_24.pdf"> | |||
| <front> | <front> | |||
| <title>SIGMA: The 'SIGn-and-MAc' Approach to Authenticated Diffie-He | <title>SIGMA: The 'SIGn-and-MAc' Approach to Authenticated Diffie-Hell | |||
| llman and Its Use in the IKE Protocols</title> | man and Its Use in the IKE Protocols</title> | |||
| <seriesInfo name="Annual International Cryptology Conference. Spring | <author initials="H" surname="Krawczyk" fullname="Hugo Krawczyk"> | |||
| er, Berlin, Heidelberg" value=""/> | <organization /> | |||
| <author initials="H." surname="Krawczyk" fullname="Hugo Krawczyk"> | </author> | |||
| <organization/> | <date year="2003"/> | |||
| </author> | </front> | |||
| <date year="2003"/> | <seriesInfo name="DOI" value="10.1007/978-3-540-45146-4_24"/> | |||
| </front> | ||||
| </reference> | </reference> | |||
| <reference anchor="Sethi" target="https://arxiv.org/pdf/1902.07550"> | <reference anchor="Sethi" target="https://arxiv.org/pdf/1902.07550"> | |||
| <front> | <front> | |||
| <title>Misbinding Attacks on Secure Device Pairing and Bootstrapping | <title>Misbinding Attacks on Secure Device Pairing and Bootstrapping</ | |||
| </title> | title> | |||
| <seriesInfo name="Proceedings of the 2019 ACM Asia Conference on Com | <author initials="M" surname="Sethi" fullname="Mohit Sethi"> | |||
| puter and Communications Security" value=""/> | <organization /> | |||
| <author initials="M." surname="Sethi" fullname="Mohit Sethi"> | </author> | |||
| <organization/> | <author initials="A" surname="Peltonen" fullname="Aleksi Peltonen"> | |||
| </author> | <organization /> | |||
| <author initials="A." surname="Peltonen" fullname="Aleksi Peltonen"> | </author> | |||
| <organization/> | <author initials="T" surname="Aura" fullname="Tuomas Aura"> | |||
| </author> | <organization /> | |||
| <author initials="T." surname="Aura" fullname="Tuomas Aura"> | </author> | |||
| <organization/> | <date month="May" year="2019"/> | |||
| </author> | </front> | |||
| <date year="2019"/> | <seriesInfo name="DOI" value="10.1145/3321705.3329813"/> | |||
| </front> | ||||
| </reference> | ||||
| <reference anchor="RFC4279" target="https://www.rfc-editor.org/info/rfc4 | ||||
| 279"> | ||||
| <front> | ||||
| <title>Pre-Shared Key Ciphersuites for Transport Layer Security (TLS | ||||
| )</title> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC4279"/> | ||||
| <seriesInfo name="RFC" value="4279"/> | ||||
| <author fullname="P. Eronen" initials="P." role="editor" surname="Er | ||||
| onen"> | ||||
| <organization/> | ||||
| </author> | ||||
| <author fullname="H. Tschofenig" initials="H." role="editor" surname | ||||
| ="Tschofenig"> | ||||
| <organization/> | ||||
| </author> | ||||
| <date month="December" year="2005"/> | ||||
| <abstract> | ||||
| <t>This document specifies three sets of new ciphersuites for the | ||||
| Transport Layer Security (TLS) protocol to support authentication based on pre-s | ||||
| hared keys (PSKs). These pre-shared keys are symmetric keys, shared in advance | ||||
| among the communicating parties. The first set of ciphersuites uses only symmet | ||||
| ric key operations for authentication. The second set uses a Diffie-Hellman exch | ||||
| ange authenticated with a pre-shared key, and the third set combines public key | ||||
| authentication of the server with pre-shared key authentication of the client. | ||||
| [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| </reference> | ||||
| <reference anchor="RFC3748" target="https://www.rfc-editor.org/info/rfc3 | ||||
| 748"> | ||||
| <front> | ||||
| <title>Extensible Authentication Protocol (EAP)</title> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC3748"/> | ||||
| <seriesInfo name="RFC" value="3748"/> | ||||
| <author fullname="B. Aboba" initials="B." surname="Aboba"> | ||||
| <organization/> | ||||
| </author> | ||||
| <author fullname="L. Blunk" initials="L." surname="Blunk"> | ||||
| <organization/> | ||||
| </author> | ||||
| <author fullname="J. Vollbrecht" initials="J." surname="Vollbrecht"> | ||||
| <organization/> | ||||
| </author> | ||||
| <author fullname="J. Carlson" initials="J." surname="Carlson"> | ||||
| <organization/> | ||||
| </author> | ||||
| <author fullname="H. Levkowetz" initials="H." role="editor" surname= | ||||
| "Levkowetz"> | ||||
| <organization/> | ||||
| </author> | ||||
| <date month="June" year="2004"/> | ||||
| <abstract> | ||||
| <t>This document defines the Extensible Authentication Protocol (E | ||||
| AP), an authentication framework which supports multiple authentication methods. | ||||
| EAP typically runs directly over data link layers such as Point-to-Point Proto | ||||
| col (PPP) or IEEE 802, without requiring IP. EAP provides its own support for d | ||||
| uplicate elimination and retransmission, but is reliant on lower layer ordering | ||||
| guarantees. Fragmentation is not supported within EAP itself; however, individu | ||||
| al EAP methods may support this. This document obsoletes RFC 2284. A summary o | ||||
| f the changes between this document and RFC 2284 is available in Appendix A. [S | ||||
| TANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| </reference> | </reference> | |||
| </references> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4279. | ||||
| xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3748. | ||||
| xml"/> | ||||
| </references> | ||||
| </references> | </references> | |||
| <section anchor="acknowledgements" numbered="true" toc="default"> | ||||
| <section anchor="acknowledgements" numbered="false" toc="default"> | ||||
| <name>Acknowledgements</name> | <name>Acknowledgements</name> | |||
| <t>This document is the output of the TLS External PSK Design Team, compri sed of the following members: | <t>This document is the output of the TLS External PSK Design Team, compri sed of the following members: | |||
| Benjamin Beurdouche, | Benjamin Beurdouche, | |||
| <contact fullname="Björn Haase"/>, | <contact fullname="Björn Haase"/>, | |||
| Christopher Wood, | <contact fullname="Christopher Wood"/>, | |||
| Colm MacCarthaigh, | <contact fullname="Colm MacCarthaigh"/>, | |||
| Eric Rescorla, | <contact fullname="Eric Rescorla"/>, | |||
| Jonathan Hoyland, | <contact fullname="Jonathan Hoyland"/>, | |||
| Martin Thomson, | <contact fullname="Martin Thomson"/>, | |||
| Mohamad Badra, | <contact fullname="Mohamad Badra"/>, | |||
| Mohit Sethi, | <contact fullname="Mohit Sethi"/>, | |||
| Oleg Pekar, | <contact fullname="Oleg Pekar"/>, | |||
| Owen Friel, and | <contact fullname="Owen Friel"/>, and | |||
| Russ Housley.</t> | <contact fullname="Russ Housley"/>.</t> | |||
| <t>This document was improved by a high quality reviews by Ben Kaduk and J | <t>This document was improved by high-quality reviews by <contact fullname | |||
| ohn Mattsson.</t> | ="Ben Kaduk"/> and <contact fullname="John Preuß Mattsson"/>.</t> | |||
| </section> | </section> | |||
| </back> | </back> | |||
| <!-- ##markdown-source: | ||||
| H4sIABhm/WEAA6196XIbR5bu/3yKDDlimowAwE0rPXOnIZKS2BYtjkhNx8Qs | ||||
| cgJIAGUWquBaSMMKRfQ73D93ft6XuC8wb9JPMuc752RVVgHssfu2w5aAQlUu | ||||
| Z/3OkuXhcGiqpEr9qX1bJzOXTb2d54W9+LnyReZSe33znf1UuoW3SWZv398Y | ||||
| N5kU/v5X3z7Lp5lb0fCzws2rYeKr+bBKy6HXJ4br8m640LGGh8/N1FV+kReb | ||||
| UxphnhuTrItTWxV1WR0fHr46PDau8O7Uln5aF0m1MQ95cbco8npNd6WlufMb | ||||
| ujI7tZcZJvDV8BwTG1NWLpt9dmme0WI2vjTr5NT+a5VPB7bMi6rw85I+bVb4 | ||||
| 8O/GuLpa5sWpsXZI/1laTHlqP47su7wuU7/ha7Kxj3VZdi7nxcJlyS+uSvLs | ||||
| 1P5zskhSexOWixv8yiXpqV3KM7+/xx20n9E0X3Xn+wPm26S08Gi+P+SZq5Yu | ||||
| 6/zUnfMszevZPCVK2ffVbBRP+qM+PVrK079f4Pr21FcjWnO1TKKJr/JlUkVX | ||||
| u3NeFMm0LPMsnmyFJ36/TuqlGxErujOcjcYj+8c8j/d2tiySssrXS1/Y+NfH | ||||
| thdPNnUPv196t06yxSSpSp7QZHmxoqfuPTj58c3Z8dHRK/348ujF0/Dx6dPn | ||||
| +Hg5PB/tltBktSYh8SQQBmLZHfTlixcn+vHFq+Nn+vH54fPn4ePzozDV06Pj | ||||
| 47CWl8+fbc06oz+OTrYuT+mP5mJBF6fzYjGcrt3Ub1/O1+6nurlOS63AmKFf | ||||
| 1UOiD49He8LvNz6dJ3wn/aN24IletKQJqZ+C5KXNWZvt0ejEPiTVEnr+RJ5q | ||||
| FUX/GbYfG15/P7LnRT2980X3R+H690mx/fOuYW5GZHZ8oULWG+Vm6Tadn2dk | ||||
| SU7t8eHRK92fKxa+Ir2rqnV5enDg10WSVaPETYsRCdgB7jw4efpitJ7N6Ynx | ||||
| +OZGhCWizVmeVUlWk4zZKg8U2qKOj8zhbyHT+5Ed3y1Xvvpl47L83u3a5vsk | ||||
| TTbusft2jXpBo6b+rvT+fteAF/cLn2123PLIWDerTblMN87vXt/FHZGdCOt2 | ||||
| 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 | ||||
| </rfc> | </rfc> | |||
| End of changes. 93 change blocks. | ||||
| 940 lines changed or deleted | 353 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. | ||||