RFC 8447

IANA Registry Updates for TLS and DTLS

πŸ“… published August 2018, from ietf

RFC 8447: IANA Registry Updates for TLS and DTLS πŸ’–

Okay bestie, so this is RFC 8447 πŸŽ€, and it's a Standards Track doc, which means it's the real deal ✨. It's titled "IANA Registry Updates for TLS and DTLS," it's from the IETF, and it's dated August 2018. The authors are J. Salowey (Tableau Software) and S. Turner (sn3rd). The ISSN is 2070-1721. It updates RFCs 3749, 5077, 4680, 5246, 5705, 5878, 6520, and 7301. It's giving "behind-the-scenes cleanup" energy πŸ§ΉπŸ’….


Abstract 🌸

Okay so this doc describes a bunch of changes to the TLS and DTLS IANA registries πŸ”₯. They go from tiny stuff like adding notes all the way up to changing the registration policy itself. Most of these changes came from the TLS Working Group reviewing the TLS and DTLS registries during the TLS 1.3 development process. Iconic teamwork 🫢.

This document updates the following RFCs: 3749, 5077, 4680, 5246, 5705, 5878, 6520, and 7301.


Status of This Memo πŸ“

This is an Internet Standards Track document. πŸ¦‹

It's a product of the Internet Engineering Task Force (IETF), so it represents the consensus of the IETF community. It got public review and was approved for publication by the Internet Engineering Steering Group (IESG). If you want more on Internet Standards, check out Section 2 of RFC 7841.

Info about the current status of this doc, any errata, and how to send feedback lives at https://www.rfc-editor.org/info/rfc8447. Bookmark it, bestie πŸ”–.

Copyright (c) 2018 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) as they stand on the date this document was published. Please actually read these, because they spell out your rights and restrictions for this document. Code Components pulled out of this document must include Simplified BSD License text, as described in Section 4.e of the Trust Legal Provisions, and they come without warranty as described in the Simplified BSD License. Legal stuff, but it matters πŸ™ˆ.


Table of Contents πŸ“š

1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
3.  Adding "TLS" to Registry Names  . . . . . . . . . . . . . . .   3
4.  Aligning with RFC 8126  . . . . . . . . . . . . . . . . . . .   4
5.  Adding "Recommended" Column . . . . . . . . . . . . . . . . .   4
6.  Session Ticket TLS Extension  . . . . . . . . . . . . . . . .   4
7.  TLS ExtensionType Values  . . . . . . . . . . . . . . . . . .   5
8.  TLS Cipher Suites Registry  . . . . . . . . . . . . . . . . .   8
9.  TLS Supported Groups  . . . . . . . . . . . . . . . . . . . .  10
10. TLS ClientCertificateType Identifiers . . . . . . . . . . . .  11
11. New Session Ticket TLS Handshake Message Type . . . . . . . .  12
12. TLS Exporter Labels Registry  . . . . . . . . . . . . . . . .  12
13. Adding Missing Item to TLS Alerts Registry  . . . . . . . . .  13
14. TLS Certificate Types . . . . . . . . . . . . . . . . . . . .  14
15. Orphaned Registries . . . . . . . . . . . . . . . . . . . . .  15
16. Additional Notes  . . . . . . . . . . . . . . . . . . . . . .  16
17. Designated Expert Pool  . . . . . . . . . . . . . . . . . . .  16
18. Security Considerations . . . . . . . . . . . . . . . . . . .  17
19. IANA Considerations . . . . . . . . . . . . . . . . . . . . .  18
20. References  . . . . . . . . . . . . . . . . . . . . . . . . .  18
  20.1.  Normative References . . . . . . . . . . . . . . . . . .  18
  20.2.  Informative References . . . . . . . . . . . . . . . . .  19
Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  20

1. Introduction πŸŽ€

So, per this doc, IANA has made changes to a bunch of its registries related to Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) πŸ’…. Almost all of these changes happened because of the development of TLS 1.3 [RFC8446]. Main character moment πŸ‘‘.

The changes range from simple stuff, like adding notes, to complex stuff, like changing a registry's registration policy πŸ”₯. Instead of listing every change and why it happened right here, each section explains the rationale for its own change(s). Easy to follow, no cap ✨.

This document proposes no changes to the registration policies for the TLS Alerts [RFC8446], TLS ContentType [RFC8446], TLS HandshakeType [RFC8446], and TLS Certificate Status Types [RFC6961] registries. The existing policies are fine for these, bestie. The first three use Standards Action, and the last uses IETF Review. They work because these code points are one-byte values, and those are scarce 🧚.

2. Terminology πŸ“–

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. Only the all-caps versions count, so don't go reading them as key words when they're just regular lowercase words πŸ™ˆ.

3. Adding "TLS" to Registry Names 🏷️

For consistency across the TLS registries, IANA has put "TLS" in front of the names of these registries:

  • Application-Layer Protocol Negotiation (ALPN) Protocol IDs [RFC7301],
  • ExtensionType Values,
  • Heartbeat Message Types [RFC6520], and
  • Heartbeat Modes [RFC6520].

IANA has also updated the reference for these four registries so they point to this document too πŸ“Ž. From here on, the doc uses the registry names with the "TLS" prefix. Clean and consistent, it's giving organized πŸ’œ.

4. Aligning with RFC 8126 πŸ”„

A lot of the TLS-related IANA registries used the registration procedure "IETF Consensus." [RFC8126] changed that to "IETF Review," so IANA updated these registries to match the new terminology:

  • TLS Authorization Data Formats [RFC4680]
  • TLS Supplemental Data Formats (SupplementalDataType) [RFC5878]

This isn't a universal change, though πŸ™ƒ. Some registries that originally used "IETF Consensus" are going through other changes, either because of this document, [RFC8446], or [RFC8422]. Plot twist, bestie.

IANA also updated the reference for these two registries so they refer to this document πŸ“Œ.

This document adds a "Recommended" column to lots of the TLS registries 🌈. It shows which parameters are generally recommended for implementations to support. Adding a "Recommended" parameter (meaning "Y") to a registry, or changing a parameter to "Recommended" status, requires Standards Action. Not every parameter defined in a Standards Track document needs to be marked "Recommended," so don't panic if yours isn't πŸ’–.

If an item isn't marked "Recommended" (meaning "N"), that does not automatically mean it's flawed πŸ™…β€β™€οΈ. It just means the item hasn't gone through the IETF consensus process yet, has limited applicability, or is only meant for specific use cases. Not everything has to be the main character to be valid πŸŽ€.

6. Session Ticket TLS Extension 🎫

The names of the entries in the TLS ExtensionType Values registry usually match the presentation language field name, except for entry 35 🧐. To make sure the values in the registry are identified consistently, IANA:

  • has renamed entry 35 to session_ticket (renamed from "SessionTicket TLS") [RFC5077].
  • has added a reference to this document in the "Reference" column for entry 35 ✨.

7. TLS ExtensionType Values ✨

okay so experience showed that the IETF Review policy for TLS extensions was lowkey too strict 😭 πŸŽ€ The WG agreed to switch the registration policy to Specification Required [RFC8126], but kept a small chunk of the code space reserved for private use πŸ’… So IANA updated the TLS ExtensionType Values registry like this:

  • Changed the registry policy to: Values with the first byte in the range 0-254 (decimal) are assigned via Specification Required [RFC8126]. Values with the first byte 255 (decimal) are reserved for Private Use [RFC8126].
  • Updated the "Reference" to also refer to this document.

See Section 17 for additional information about the designated expert pool. πŸ¦‹

Okay but here's the twist πŸ‘€ even though the policies got "loosened," it's still super useful to show in the registry which extensions the WG recommends be supported. So IANA also updated the registry like this:

  • Added a "Recommended" column with the contents listed below. This table was generated by marking Standards Track RFCs as "Y" and all others as "N". The "Recommended" column is assigned a value of "N" unless explicitly requested, and adding a value with a "Recommended" value of "Y" requires Standards Action [RFC8126]. IESG Approval is REQUIRED for a Y->N transition. 🌈
+----------------------------------------+-------------+
| Extension                              | Recommended |
+----------------------------------------+-------------+
| server_name                            |           Y |
|                                        |             |
| max_fragment_length                    |           N |
|                                        |             |
| client_certificate_url                 |           Y |
|                                        |             |
| trusted_ca_keys                        |           Y |
|                                        |             |
| truncated_hmac                         |           Y |
|                                        |             |
| status_request                         |           Y |
|                                        |             |
| user_mapping                           |           Y |
+----------------------------------------+-------------+
| Extension                              | Recommended |
+----------------------------------------+-------------+
| client_authz                           |           N |
|                                        |             |
| server_authz                           |           N |
|                                        |             |
| cert_type                              |           N |
|                                        |             |
| supported_groups                       |           Y |
|                                        |             |
| ec_point_formats                       |           Y |
|                                        |             |
| srp                                    |           N |
|                                        |             |
| signature_algorithms                   |           Y |
|                                        |             |
| use_srtp                               |           Y |
|                                        |             |
| heartbeat                              |           Y |
|                                        |             |
| application_layer_protocol_negotiation |           Y |
|                                        |             |
| status_request_v2                      |           Y |
|                                        |             |
| signed_certificate_timestamp           |           N |
|                                        |             |
| client_certificate_type                |           Y |
|                                        |             |
| server_certificate_type                |           Y |
|                                        |             |
| padding                                |           Y |
|                                        |             |
| encrypt_then_mac                       |           Y |
|                                        |             |
| extended_master_secret                 |           Y |
|                                        |             |
| cached_info                            |           Y |
|                                        |             |
| session_ticket                         |           Y |
|                                        |             |
| renegotiation_info                     |           Y |
+----------------------------------------+-------------+

IANA also added the following notes, and these are super important πŸ™ˆ

Note: The role of the designated expert is described in RFC 8447. The designated expert [RFC8126] makes sure the specification is publicly available. It's sufficient to have an Internet-Draft (that is posted and never published as an RFC) or a document from another standards body, industry consortium, university site, etc. The expert may provide more in-depth reviews, but their approval should not be taken as an endorsement of the extension. πŸ’–

Note: As specified in [RFC8126], assignments made in the Private Use space are not generally useful for broad interoperability. It is the responsibility of those making use of the Private Use range to ensure that no conflicts occur (within the intended scope of use). For widespread experiments, temporary reservations are available. 🧚

Note: If an item is not marked as "Recommended", it does not necessarily mean that it is flawed; rather, it indicates that the item either has not been through the IETF consensus process, has limited applicability, or is intended only for specific use cases. πŸ“

The extensions added by [RFC8446] are omitted from the above table. Also, token_binding is omitted, since [TOKBIND] specifies the value of the "Recommended" column for this extension. ✨

[RFC8446] also uses the TLS ExtensionType Values registry originally created in [RFC4366]. The following text is from [RFC8446] and is included here to ensure alignment between these specifications. 🫢

  • IANA has updated this registry to include the key_share, pre_shared_key, psk_key_exchange_modes, early_data, cookie, supported_versions, certificate_authorities, oid_filters, post_handshake_auth, and signature_algorithms_cert extensions with the values defined in [RFC8446] and the "Recommended" value of "Y".
  • IANA has updated this registry to include a "TLS 1.3" column that lists the messages in which the extension may appear. This column has been initially populated from the table in Section 4.2 of [RFC8446] with any extension not listed there marked as "-" to indicate that it is not used by TLS 1.3. πŸ‘‘

8. TLS Cipher Suites Registry ✨

okay so bestie, this is where things get spicy πŸŒΆοΈπŸ’… The TLS Cipher Suites registry had been running on the IETF Consensus policy, and honestly? Too strict 😭 Based on what the working group agreed, the registration policy got switched to Specification Required [RFC8126], and a little chunk of the code space got set aside for private use πŸŽ€ So now IANA has updated the policy like this:

   Values with the first byte in the range 0-254 (decimal) are
   assigned via Specification Required [RFC8126].  Values with the
   first byte 255 (decimal) are reserved for Private Use [RFC8126].

Check Section 17 if you want the deets on the designated expert pool 🧚

The registry has gotten SO big and it's only going to keep growing πŸ“ˆ So to help people who aren't deep in TLS, IANA made some upgrades:

  • Added a "Recommended" column to the TLS Cipher Suites registry. The cipher suites in the two tables below are marked "Y". Everything else is marked "N". The column defaults to "N" unless someone explicitly asks for something else, and adding a new "Y" needs Standards Action [RFC8126]. IESG Approval is REQUIRED for a Y->N transition πŸ”’

The cipher suites below are Standards Track server-authenticated (and optionally client-authenticated) suites that are currently available in TLS 1.2 πŸ¦‹

   Cipher Suite Name                             | Value
   ----------------------------------------------+------------
   TLS_DHE_RSA_WITH_AES_128_GCM_SHA256           | {0x00,0x9E}
   TLS_DHE_RSA_WITH_AES_256_GCM_SHA384           | {0x00,0x9F}
   TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256       | {0xC0,0x2B}
   TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384       | {0xC0,0x2C}
   TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256         | {0xC0,0x2F}
   TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384         | {0xC0,0x30}
   TLS_DHE_RSA_WITH_AES_128_CCM                  | {0xC0,0x9E}
   TLS_DHE_RSA_WITH_AES_256_CCM                  | {0xC0,0x9F}
   TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256   | {0xCC,0xA8}
   TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 | {0xCC,0xA9}
   TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256     | {0xCC,0xAA}

Next up, the Standards Track ephemeral pre-shared key cipher suites that are available in TLS 1.2 🌸

   Cipher Suite Name                             | Value
   ----------------------------------------------+------------
   TLS_DHE_PSK_WITH_AES_128_GCM_SHA256           | {0x00,0xAA}
   TLS_DHE_PSK_WITH_AES_256_GCM_SHA384           | {0x00,0xAB}
   TLS_DHE_PSK_WITH_AES_128_CCM                  | {0xC0,0xA6}
   TLS_DHE_PSK_WITH_AES_256_CCM                  | {0xC0,0xA7}
   TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256         | {0xD0,0x01}
   TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384         | {0xD0,0x02}
   TLS_ECDHE_PSK_WITH_AES_128_CCM_SHA256         | {0xD0,0x05}
   TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256   | {0xCC,0xAC}
   TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256     | {0xCC,0xAD}

The TLS 1.3 cipher suites from [RFC8446] aren't listed here, because that document already handles their "Recommended" status πŸ’œ

Now, the tea β˜• Some people treat the IANA registry like a checklist for how complete an implementation is, and some implementers just blindly implement every cipher suite. Honestly misguided πŸ™ˆ So IANA added this warning to the registry:

   WARNING:  Cryptographic algorithms and parameters will be broken or
      weakened over time.  Blindly implementing cipher suites listed
      here is not advised.  Implementers and users need to check that
      the cryptographic algorithms listed continue to provide the
      expected level of security.
⚠️ Blindly implementing cipher suites listed here is not advised. Crypto gets weaker over time, so check that the algorithms still give you the security level you need!

IANA also added a note so folks who live in IANA registries know that TLS 1.3 [RFC8446] uses the same registry but defines its ciphers differently πŸ€“

   Note:  Although TLS 1.3 uses the same cipher suite space as previous
      versions of TLS, TLS 1.3 cipher suites are defined differently,
      only specifying the symmetric ciphers and hash function, and
      cannot be used for TLS 1.2.  Similarly, TLS 1.2 and lower cipher
      suite values cannot be used with TLS 1.3.

And here are the rules for filling in the "Recommended" column πŸ“

   Note:  CCM_8 cipher suites are not marked as "Recommended".  These
      cipher suites have a significantly truncated authentication tag
      that represents a security trade-off that may not be appropriate
      for general environments.
   Note:  If an item is not marked as "Recommended", it does not
      necessarily mean that it is flawed; rather, it indicates that the
      item either has not been through the IETF consensus process, has
      limited applicability, or is intended only for specific use cases.

A few more notes for the curious πŸ‘€

   Note:  The role of the designated expert is described in RFC 8447.
      The designated expert [RFC8126] ensures that the specification is
      publicly available.  It is sufficient to have an Internet-Draft
      (that is posted and never published as an RFC) or a document from
      another standards body, industry consortium, university site, etc.
      The expert may provide more in-depth reviews, but their approval
      should not be taken as an endorsement of the cipher suite.
   Note:  As specified in [RFC8126], assignments made in the Private Use
      space are not generally useful for broad interoperability.  It is
      the responsibility of those making use of the Private Use range to
      ensure that no conflicts occur (within the intended scope of use).
      For widespread experiments, temporary reservations are available.

And last but not least, IANA updated this registry's reference so it also points to this document πŸŽ€

9. TLS Supported Groups 🧚

Supported groups have multiplied too, just like cipher suites, and some folks use the registry as a measuring stick for implementations πŸ“ So IANA added a "Recommended" column with "Y" for secp256r1, secp384r1, x25519, and x448, and "N" for everything else πŸ’– Those "Y" groups come from Standards Track RFCs, and [RFC8422] is what bumped secp256r1 and secp384r1 up to Standards Track. Not every group from [RFC8422] (which is Standards Track) gets a "Y", though, since these groups apply to TLS 1.3 [RFC8446] and older versions of TLS too πŸ¦‹ The "Recommended" column defaults to "N" unless someone explicitly asks for something else, and adding a new "Y" needs Standards Action [RFC8126]. IESG Approval is REQUIRED for a Y->N transition πŸ”’

IANA added these notes:

   Note:  If an item is not marked as "Recommended", it does not
      necessarily mean that it is flawed; rather, it indicates that the
      item either has not been through the IETF consensus process, has
      limited applicability, or is intended only for specific use cases.
   Note:  The role of the designated expert is described in RFC 8447.
      The designated expert [RFC8126] ensures that the specification is
      publicly available.  It is sufficient to have an Internet-Draft
      (that is posted and never published as an RFC) or a document from
      another standards body, industry consortium, university site, etc.
      The expert may provide more in-depth reviews, but their approval
      should not be taken as an endorsement of the supported group.

Same deal as before, the blind-implementing warning shows up here too, because people should not blindly implement these πŸ™ˆ

   Despite the following behavior being misguided, experience has shown
   that some customers use the IANA registry as a checklist against
   which to measure an implementation's completeness, and some
   implementers blindly implement supported groups.  Therefore, IANA has
   added the following warning to the registry:

   WARNING:  Cryptographic algorithms and parameters will be broken or
      weakened over time.  Blindly implementing supported groups listed
      here is not advised.  Implementers and users need to check that
      the cryptographic algorithms listed continue to provide the
      expected level of security.

IANA also updated this registry's reference to point at this document πŸ“š And the value 0 (0x0000) is marked as reserved 🚫

10. TLS ClientCertificateType Identifiers πŸŽ€

The IETF Consensus policy for TLS ClientCertificateType Identifiers was too strict too, honestly 😩 Based on WG consensus, the policy moved to Specification Required [RFC8126], with some code space kept for Standards Track usage and a small chunk kept for private use πŸ’œ So now IANA has updated the policy like this:

   Values in the range 0-63 are assigned via Standards Action.
   Values 64-223 are assigned via Specification Required [RFC8126].
   Values 224-255 are reserved for Private Use.

See Section 17 for more on the designated expert pool 🧚

IANA added these notes:

   Note:  The role of the designated expert is described in RFC 8447.
      The designated expert [RFC8126] ensures that the specification is
      publicly available.  It is sufficient to have an Internet-Draft
      (that is posted and never published as an RFC) or a document from
      another standards body, industry consortium, university site, etc.
      The expert may provide more in-depth reviews, but their approval
      should not be taken as an endorsement of the identifier.
   Note:  As specified in [RFC8126], assignments made in the Private Use
      space are not generally useful for broad interoperability.  It is
      the responsibility of those making use of the Private Use range to
      ensure that no conflicts occur (within the intended scope of use).
      For widespread experiments, temporary reservations are available.

11. New Session Ticket TLS Handshake Message Type ✨

To line up with TLS implementations, and to match the naming of other Handshake message types, IANA made a couple of changes πŸ’…

  • has renamed entry 4 in the TLS HandshakeType registry to "new_session_ticket (renamed from NewSessionTicket)" [RFC5077]. 🌈
  • has added a reference to this document in the "Reference" column for entry 4 in the TLS HandshakeType registry. 🫢

12. TLS Exporter Labels Registry πŸ¦‹

Okay bestie, so IANA wanted to make sure the reviewers who start from the registry don't get lost 🫢 They added a few things to the TLS Exporter Labels registry:

  • A note to the registry:

Note: [RFC5705] defines keying material exporters for TLS in terms of the TLS PRF. [RFC8446] replaced the PRF with HKDF, so a new construction was needed. The exporter interface stays the same, but the value is computed differently. πŸ’…

  • A "Recommended" column. The table below was made by marking Standards Track RFCs as "Y" and everything else as "N". The "Recommended" column gets a value of "N" unless someone explicitly asks for something else. Adding a value with a "Recommended" value of "Y" needs Standards Action [RFC8126]. IESG Approval is REQUIRED for a Y->N transition. πŸ”₯
Exporter Value                  | Recommended |
--------------------------------|-------------|
client finished                 |           Y |
server finished                 |           Y |
master secret                   |           Y |
key expansion                   |           Y |
client EAP encryption           |           Y |
ttls keying material            |           N |
ttls challenge                  |           N |
EXTRACTOR-dtls_srtp             |           Y |
EXPORTER_DTLS_OVER_SCTP         |           Y |
EXPORTER: teap session key seed |           Y |

IANA also added some notes for the designated experts, so they know what they're looking at 🧚

  • Note: The role of the designated expert is described in RFC 8447. The designated expert [RFC8126] makes sure the specification is publicly available. An Internet-Draft counts (as long as it's posted and never published as an RFC), and so does a document from another standards body, an industry consortium, a university site, etc. The expert can give more in-depth reviews, but approving something doesn't mean they endorse the exporter label. The expert also checks that the label is a string of printable ASCII characters that starts with "EXPORTER". IANA MUST also verify that no label is a prefix of another label. For example, the labels "key" or "master secretary" are forbidden. πŸ™ˆ
  • Note: If an item isn't marked as "Recommended", that doesn't automatically mean it's flawed. It just means the item hasn't been through the IETF consensus process, has limited applicability, or is only meant for specific use cases. 🌸

IANA updated the reference for this registry so it also points to this document. ✨

13. Adding Missing Item to TLS Alerts Registry πŸŽ€

Oops, an entry got left out of the TLS Alerts registry. The IANA instructions in [RFC7301] missed it, so IANA added it now πŸ’–

120   no_application_protocol  Y  [RFC7301] [RFC8447]

14. TLS Certificate Types 🌈

Experience showed that the IETF Consensus registry policy for TLS Certificate Types was too strict 😭 Based on the WG consensus, they switched the registration policy to Specification Required [RFC8126]. They also kept a small chunk of the code space reserved for private use. So IANA changed the TLS Certificate Types registry like this:

  • The registry policy is now:

Values in the range 0-223 (decimal) are assigned via Specification Required [RFC8126]. Values in the range 224-255 (decimal) are reserved for Private Use [RFC8126].

  • A "Recommended" column was added to the registry. X.509 and Raw Public Key are "Y", and everything else is "N". The "Recommended" column gets a value of "N" unless someone explicitly asks for something else. Adding a value with a "Recommended" value of "Y" requires Standards Action [RFC8126]. IESG Approval is REQUIRED for a Y->N transition. πŸ’œ

See Section 17 for more about the designated expert pool 🧚

IANA also added these notes:

  • Note: The role of the designated expert is described in RFC 8447. The designated expert [RFC8126] makes sure the specification is publicly available. An Internet-Draft counts (as long as it's posted and never published as an RFC), and so does a document from another standards body, an industry consortium, a university site, etc. The expert can give more in-depth reviews, but approving something doesn't mean they endorse that certificate type.
  • Note: If an item isn't marked as "Recommended", that doesn't automatically mean it's flawed. It just means the item hasn't been through the IETF consensus process, has limited applicability, or is only meant for specific use cases. ⭐

IANA updated the reference for this registry so it also refers to this document. πŸ¦‹

15. Orphaned Registries πŸ’€

So (D)TLS 1.3 has orphaned some registries. That means they only apply to (D)TLS protocol versions before 1.3. To make that clear, IANA did the following:

  • Added this to the TLS Compression Method Identifiers registry [RFC3749]:

Note: Value 0 (NULL) is the only value in this registry that applies to (D)TLS protocol version 1.3 or later.

  • Added this to the TLS HashAlgorithm [RFC5246] and TLS SignatureAlgorithm registries [RFC5246]:

Note: The values in these registries only apply to (D)TLS protocol versions before 1.3. The values for (D)TLS 1.3 and later are registered in the TLS SignatureScheme registry.

  • Updated the "Reference" field in the TLS Compression Method Identifiers, TLS HashAlgorithm, and TLS SignatureAlgorithm registries so they also refer to this document.
  • Marked values 7 and 9-223 as "Reserved" in the TLS HashAlgorithm registry, and values 4-6 and 9-223 as "Reserved" in the TLS SignatureAlgorithm registry.
  • Added this to the TLS ClientCertificateType Identifiers registry [RFC5246]:

Note: The values in this registry only apply to (D)TLS protocol versions before 1.3.

Even though the TLS HashAlgorithm and SignatureAlgorithm registries are orphaned, implementers of pre-TLS1.3 stacks still need a heads up about blindly implementing crypto algorithms. So IANA added this warning to both registries:

WARNING: Cryptographic algorithms and parameters will be broken or weakened over time. Blindly implementing the cryptographic algorithms listed here is not advised. Implementers and users need to check that the cryptographic algorithms listed continue to provide the expected level of security. πŸ”₯

16. Additional Notes πŸ“

IANA added this warning and note to the TLS SignatureScheme registry:

WARNING: Cryptographic algorithms and parameters will be broken or weakened over time. Blindly implementing the signature schemes listed here is not advised. Implementers and users need to check that the cryptographic algorithms listed continue to provide the expected level of security. 😭
  • Note: As [RFC8126] specifies, assignments made in the Private Use space aren't generally useful for broad interoperability. It's up to whoever uses the Private Use range to make sure no conflicts happen within their intended scope of use. For widespread experiments, temporary reservations are available. 🌸

IANA also added these notes to the TLS PskKeyExchangeMode registry:

  • Note: If an item isn't marked as "Recommended", that doesn't automatically mean it's flawed. It just means the item hasn't been through the IETF consensus process, has limited applicability, or is only meant for specific use cases. 🌷
  • Note: The role of the designated expert is described in RFC 8447. The designated expert [RFC8126] makes sure the specification is publicly available. An Internet-Draft counts (as long as it's posted and never published as an RFC), and so does a document from another standards body, an industry consortium, a university site, etc. The expert can give more in-depth reviews, but approving something doesn't mean they endorse the key exchange mode. 🧚

17. Designated Expert Pool πŸ‘‘

Specification Required [RFC8126] registry requests get registered after a three-week review period on the <tls-reg-review@ietf.org> mailing list, with advice from one or more designated experts. To let values get allocated before publication, though, the designated experts may approve a registration once they're satisfied that the specification will be published. πŸ’…

Registration requests sent to the mailing list for review SHOULD use an appropriate subject, for example "Request to register value in TLS bar registry". πŸ¦‹

During the review period, the designated experts will either approve or deny the request and tell the review list and IANA what they decided. Denials SHOULD include an explanation and, where it applies, suggestions for how to make the request work. If a request is still undetermined after more than 21 days, it can be brought to the IESG's attention through the <iesg@ietf.org> mailing list for resolution. ⏰

The criteria the designated experts SHOULD apply include checking whether the proposed registration duplicates existing functionality, whether it's likely to be generally applicable or only useful for a single application, and whether the registration description is clear. ✨

IANA MUST only accept registry updates from the designated experts and SHOULD direct all registration requests to the review mailing list. πŸ”’

It's suggested that several designated experts get appointed, and that they can represent the different applications that use this specification. That way, registration decisions get reviewed from broadly informed perspectives. If a registration decision could look like a conflict of interest for a particular Expert, that Expert SHOULD defer to the judgment of the other Experts. 🫢

18. Security Considerations 🚨

Moving to Specification Required from IETF Review means the WG does less review for cipher suites and supported groups. Honestly, that matches reality, because the WG basically didn't provide any cryptographic review of cipher suites or supported groups to begin with. This was especially true for national cipher suites. 😳

Recommended algorithms are considered secure for general use when they get registered. But cryptographic algorithms and parameters will be broken or weakened over time, and the "Recommended" status in the registry can lag behind the latest cryptanalysis. Implementers and users need to check that the cryptographic algorithms listed continue to provide the expected level of security. ⚠️

Designated experts make sure the specification is publicly available. They may also give more in-depth reviews, but their review should not be taken as an endorsement of the cipher suite, extension, supported group, etc. 🌈

19. IANA Considerations 🌸

This document is entirely about changes to TLS-related IANA registries. πŸŽ€

20. References ✨

20.1. Normative References

okay bestie, these are the docs you NEED to have read before the spec makes sense πŸ“šβœ¨ no skipping!

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC3749]  Hollenbeck, S., "Transport Layer Security Protocol
              Compression Methods", RFC 3749, DOI 10.17487/RFC3749, May
              2004, <https://www.rfc-editor.org/info/rfc3749>.

   [RFC4680]  Santesson, S., "TLS Handshake Message for Supplemental
              Data", RFC 4680, DOI 10.17487/RFC4680, October 2006,
              <https://www.rfc-editor.org/info/rfc4680>.

   [RFC5077]  Salowey, J., Zhou, H., Eronen, P., and H. Tschofenig,
              "Transport Layer Security (TLS) Session Resumption without
              Server-Side State", RFC 5077, DOI 10.17487/RFC5077,
              January 2008, <https://www.rfc-editor.org/info/rfc5077>.

   [RFC5246]  Dierks, T. and E. Rescorla, "The Transport Layer Security
              (TLS) Protocol Version 1.2", RFC 5246,
              DOI 10.17487/RFC5246, August 2008,
              <https://www.rfc-editor.org/info/rfc5246>.

   [RFC5705]  Rescorla, E., "Keying Material Exporters for Transport
              Layer Security (TLS)", RFC 5705, DOI 10.17487/RFC5705,
              March 2010, <https://www.rfc-editor.org/info/rfc5705>.

   [RFC5878]  Brown, M. and R. Housley, "Transport Layer Security (TLS)
              Authorization Extensions", RFC 5878, DOI 10.17487/RFC5878,
              May 2010, <https://www.rfc-editor.org/info/rfc5878>.

   [RFC6520]  Seggelmann, R., Tuexen, M., and M. Williams, "Transport
              Layer Security (TLS) and Datagram Transport Layer Security
              (DTLS) Heartbeat Extension", RFC 6520,
              DOI 10.17487/RFC6520, February 2012,
              <https://www.rfc-editor.org/info/rfc6520>.

   [RFC7301]  Friedl, S., Popov, A., Langley, A., and E. Stephan,
              "Transport Layer Security (TLS) Application-Layer Protocol
              Negotiation Extension", RFC 7301, DOI 10.17487/RFC7301,
              July 2014, <https://www.rfc-editor.org/info/rfc7301>.

   [RFC8126]  Cotton, M., Leiba, B., and T. Narten, "Guidelines for
              Writing an IANA Considerations Section in RFCs", BCP 26,
              RFC 8126, DOI 10.17487/RFC8126, June 2017,
              <https://www.rfc-editor.org/info/rfc8126>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [RFC8446]  Rescorla, E., "The Transport Layer Security (TLS) Protocol
              Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
              <https://www.rfc-editor.org/info/rfc8446>.

20.2. Informative References

these ones are extra reading, super helpful for the vibes and background, but the spec doesn't depend on them 🌸

   [RFC4366]  Blake-Wilson, S., Nystrom, M., Hopwood, D., Mikkelsen, J.,
              and T. Wright, "Transport Layer Security (TLS)
              Extensions", RFC 4366, DOI 10.17487/RFC4366, April 2006,
              <https://www.rfc-editor.org/info/rfc4366>.

   [RFC6961]  Pettersen, Y., "The Transport Layer Security (TLS)
              Multiple Certificate Status Request Extension", RFC 6961,
              DOI 10.17487/RFC6961, June 2013,
              <https://www.rfc-editor.org/info/rfc6961>.

   [RFC8422]  Nir, Y., Josefsson, S., and M. Pegourie-Gonnard, "Elliptic
              Curve Cryptography (ECC) Cipher Suites for Transport Layer
              Security (TLS) Versions 1.2 and Earlier", RFC 8422,
              DOI 10.17487/RFC8422, August 2018,
              <https://www.rfc-editor.org/info/rfc8422>.

   [TOKBIND]  Popov, A., Nystrom, M., Balfanz, D., and A. Langley,
              "Transport Layer Security (TLS) Extension for Token
              Binding Protocol Negotiation", Work in Progress,
              draft-ietf-tokbind-negotiation-14, May 2018.

Authors' Addresses

meet the people who wrote it, the real MVPs πŸ«ΆπŸ’œ

   Joe Salowey
   Tableau Software

   Email: joe@salowey.net


   Sean Turner
   sn3rd

   Email: sean@sn3rd.com
πŸ“¦ where this page comes from