TLS WG | J. Salowey |
Internet-Draft | Tableau Software |
Updates: 3749, 5077, 4680, 5246, 5705, | S. Turner |
5878, 6520, 7301 (if approved) | sn3rd |
Intended status: Standards Track | January 3, 2018 |
Expires: July 7, 2018 |
IANA Registry Updates for TLS and DTLS
draft-ietf-tls-iana-registry-updates-03
This document describes a number of changes to (D)TLS IANA registries that range from adding notes to the registry all the way to changing the registration policy. These changes were mostly motivated by WG review of the (D)TLS-related registries undertaken as part of the TLS1.3 development process. This document updates many (D)TLS RFCs (see updates header).
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."
This Internet-Draft will expire on July 7, 2018.
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) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
As the authors of this draft are also the WG chairs, the responsible Area Director has agreed to judge consensus.
RFC EDITOR: Please delete section prior to publication.
This document instructs IANA to make changes to a number of (D)TLS-related IANA registries. These changes were almost entirely motivated by the development of TLS1.3 [I-D.ietf-tls-tls13].
The changes introduced by this document range from simple, e.g., adding notes, to complex, e.g., changing a registry’s registration policy. Instead of listing the changes and their rationale in this, the introductory, section each section provides rationale for the proposed change(s).
This document proposes no changes to the registration policies for TLS Alert [I-D.ietf-tls-tls13], TLS ContentType [I-D.ietf-tls-tls13], TLS HandshakeType [I-D.ietf-tls-tls13], and TLS Certificate Status Types [RFC6961] registries; the existing policies (Standards Action for the first three; IETF Review for the last), are appropriate for these one-byte code points because of their scarcity.
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.
For consistency amongst TLS registries, IANA [SHALL prepend/has prepended] “TLS” to the following registries:
IANA [SHALL update/has updated] the reference for these four registries to also refer to this document. The remainder of this document will use the registry names with the “TLS” prefix.
Many of the TLS-related IANA registries were defined prior to [RFC8126] where “IETF Consensus” was used instead of the RFC8126-defined “IETF Review”. To align with the new terminology, IANA [SHALL update/has updated] the following registries to use “IETF Review” in place of “IETF Consensus”:
This is not a universal change as some registries originally defined with “IETF Consensus” are undergoing other changes either as a result of this document or [I-D.ietf-tls-rfc4492bis].
IANA [SHALL update/has updated] the reference for these two registries to also refer to this document.
The instructions in this document add a recommended column to many of the TLS registries to indicate parameters that are generally recommended for implementations to support. Adding a recommended parameter to a registry or updating a parameter to recommended status requires standards action. Not all parameters defined in standards track documents need to be marked as recommended.
If an item is marked as not recommended it does not necessarily mean that it is flawed, rather, it indicates that either the item has not been through the IETF consensus process, has limited applicability, or is intended only for specific use cases.
The nomenclature for the registry entries in the TLS ExtensionType Values registry correspond to the presentation language field name except for entry 35. To ensure that the values in the registry are consistently identified in the registry, IANA:
Experience has shown that the IETF Review registry policy for TLS Extensions was too strict. Based on WG consensus, the decision was taken to change the registration policy to Specification Required [RFC8126] while reserving a small part of the code space for experimental and private use. Therefore, IANA [SHALL update/has updated] the TLS ExtensionType Values registry to:
See Section 18 for additional information about the designated expert pool.
Despite wanting to “loosen” the registration policies for TLS Extensions, it is still useful to indicate in the IANA registry which extensions the WG recommends be supported. Therefore, IANA [SHALL update/has updated] the TLS ExtensionType Values registry to:
Extension | Recommended |
---|---|
server_name | Yes |
max_fragment_length | Yes |
client_certificate_url | Yes |
trusted_ca_keys | Yes |
truncated_hmac | Yes |
status_request | Yes |
user_mapping | Yes |
client_authz | No |
server_authz | No |
cert_type | Yes |
supported_groups | Yes |
ec_point_formats | Yes |
srp | No |
signature_algorithms | Yes |
use_srtp | Yes |
heartbeat | Yes |
application_layer_protocol_negotiation | Yes |
status_request_v2 | Yes |
signed_certificate_timestamp | No |
client_certificate_type | Yes |
server_certificate_type | Yes |
padding | Yes |
encrypt_then_mac | Yes |
extended_master_secret | Yes |
session_ticket | Yes |
renegotiation_info | Yes |
Experience has shown that the IETF Consensus registry policy for TLS Cipher Suites was too strict. Based on WG consensus, the decision was taken to change the TLS Cipher Suite registry’s registration policy to Specification Required [RFC8126] while reserving a small part of the code space for experimental and private use. Therefore, IANA [SHALL update/has updated] the TLS Cipher Suite registry’s policy as follows:
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}}.
See Section 18 for additional information about the designated expert pool.
The cipher suite registry has grown significantly and will continue to do so. To better guide those not intimately involved in TLS, IANA [shall update/has updated] the TLS Cipher Suite registry as follows:
RFC EDITOR: The previous paragraph is for document reviewers and is not meant for the registry.
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}
The cipher suites that follow are standards track ephemeral pre-shared key cipher suites which are available in TLS 1.2. [RFC6655] is inconsistent with respect to the ordering of components within PSK AES CCM cipher suite names; those names are used here without modification.
RFC EDITOR: The previous paragraph is for document reviewers and is not meant for the registry.
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 | {TBD} TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384 | {TBD} TLS_ECDHE_PSK_WITH_AES_128_CCM_SHA256 | {TBD} TLS_ECDHE_PSK_WITH_AES_256_CCM_SHA384 | {TBD} TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 | {0xCC,0xAC} TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256 | {0xCC,0xAD}
Despite the following behavior being crazy, experience has shown that some customers use the IANA registry as checklist against which to measure an implementation’s completeness and some implementers blindly implement cipher suites. Therefore, IANA [SHALL add/has added] the following warning to the registry:
IANA [SHALL add/has added] the following note to ensure that those that focus on IANA registries are aware that TLS 1.3 [I-D.ietf-tls-tls13] uses the same registry but defines ciphers differently:
IANA [SHALL add/has added] the following notes to document the rules for populating the Recommended column:
IANA [SHALL update/has updated] the reference for this registry to also refer to this document.
Similar to cipher suites, supported groups have proliferated over time and some use the registry to measure implementations. Therefore, IANA [SHALL add/has added] a “Recommended” column with a “Yes” for secp256r1, secp384r1, x25519, and x448 while all others are “No”. These “Yes” groups are taken from Standards Track RFCs. Not all groups from [I-D.ietf-tls-rfc4492bis], which is standards track, are marked as “Yes”; these groups apply to TLS 1.3 [I-D.ietf-tls-tls13] and previous versions of TLS. Future supported groups MUST define the value of this column. A Standards Track document [RFC8126] is REQUIRED to register an entry with the value “Yes”. IESG action is REQUIRED for a Yes->No transition.
IANA [SHALL add/has added] the following note:
Despite the following behavior being crazy, experience has shown that some customers use the IANA registry as checklist against which to measure an implementation’s completeness and some implementers blindly implement cipher supported. Therefore, IANA [SHALL add/has added] the following warning to the registry:
IANA [SHALL update/has updated] the reference for this registry to also refer to this document.
The value 0 (0x0000) is to be marked as reserved.
Experience has shown that the IETF Consensus registry policy for TLS ClientCertificateType Identifiers is too strict. Based on WG consensus, the decision was taken to change registration policy to Specification Required [RFC8126] while reserving a small part of the code space for experimental and prviate use. Therefore, IANA [SHALL update/has updated] the TLS Cipher Suite registry’s policy as follows:
Values in the range 0-223 are assigned via Specification Required {{RFC8126}}. Values 224-255 are reserved for Private Use.
See Section 18 for additional information about the designated expert pool.
IANA [SHALL add/has added] the following notes:
To align with TLS implementations and to align the naming nomenclature with other Handshake message types, IANA:
To aid those reviewers who start with the IANA registry, IANA [SHALL add/has added]:
Exporter Value ------------------------------- client finished server finished master secret key expansion client EAP encryption ttls keying material ttls challenge EXTRACTOR-dtls_srtp EXPORTER_DTLS_OVER_SCTP EXPORTER: teap session key seed
To provide additional information for the designated experts, IANA [SHALL add/has added] the following note:
IANA [SHALL update/has updated] the reference for this registry to also refer to this document.
IANA [SHALL add/has added] the following entry to the TLS Alert Registry; the entry was omitted from the IANA instructions in [RFC7301]:
120 no_application_protocol Y [RFC7301]
Experience has shown that the IETF Consensus registry policy for TLS Certificate Types is too strict. Based on WG consensus, the decision was taken to change registration policy to Specification Required [RFC8126] while reserving a small part of the code space for experimental and private use. Therefore, IANA [SHALL add/has added] a “Recommended” column to the registry. X.509 and Raw Public Key are “Yes”. All others are “No”. A Standards Track document [RFC8126] is required to register a certificate type with the value “Yes”. Future Certificate Types MUST define the value of this column. A Standards Track document [RFC8126] is REQUIRED to register an entry with the value “Yes”. IESG action is REQUIRED for a Yes->No transition.
See Section 18 for additional information about the designated expert pool.
IANA [SHALL add/has added] the following note:
IANA [SHALL update/has updated] the reference for this registry to also refer this document.
To make it clear that (D)TLS 1.3 has orphaned certain extensions (i.e., some extensions are only applicable to version of (D)TLS prior to 1.3), IANA [SHALL add/has added] the following note to the TLS ExtensionType Values registry:
To make it clear that (D)TLS 1.3 has orphaned certain registries (i.e., they are only applicable to version of (D)TLS protocol versions prior to 1.3), IANA:
Despite the fact that the HashAlgorithm and SignarureAlgorithm registries are orphaned, it is still import to warn implementers of pre-TLS1.3 implementations about the dangers of blinding implementing cryptographic algorithms. Therefore, IANA [SHALL add/has added] the following warning to the HashAlgorithm and SignatureAlgorithm:
Specification Required [RFC8126] registry requests are registered after a three-week review period on the (tbd but maybe tls-reg-review@ietf.org) mailing list, on the advice of one or more Designated Experts. However, to allow for the allocation of values prior to publication, the Designated Experts may approve registration once they are satisfied that such a specification will be published.
Registration requests sent to the mailing list for review SHOULD use an appropriate subject (e.g., “Request to register value in TLS bar registry”).
Within the review period, the Designated Experts will either approve or deny the registration request, communicating this decision to the review list and IANA. Denials SHOULD include an explanation and, if applicable, suggestions as to how to make the request successful. Registration requests that are undetermined for a period longer than 21 days can be brought to the IESG’s attention (using the iesg@ietf.org mailing list) for resolution.
Criteria that SHOULD be applied by the Designated Experts includes determining whether the proposed registration duplicates existing functionality, whether it is likely to be of general applicability or useful only 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 requests for registration to the review mailing list.
It is suggested that multiple Designated Experts be appointed who are able to represent the perspectives of different applications using this specification, in order to enable broadly informed review of registration decisions. In cases where a registration decision could be perceived as creating a conflict of interest for a particular Expert, that Expert SHOULD defer to the judgment of the other Experts.
The change to Specification Required from IETF Review lowers the amount of review provided by the WG for cipher suites and supported groups. This change reflects reality in that the WG essentially provided no cryptographic review of the cipher suites or supported groups. This was especially true of national cipher suites.
Recommended algorithms regarded as secure for general use at the time of registration, however, cryptographic algorithms and parameters will be broken or weakened over time. It is possible that the recommended status in the registry lags behind the most recent advances in cryptanalysis. Implementers and users need to check that the cryptographic algorithms listed continue to provide the expected level of security.
Designated experts ensure the specification is publicly available. They may provide more in depth reviews. Their review should not be taken as an endorsement of the cipher suite, extension, supported group, etc.
This document is entirely about changes to TLS-related IANA registries.
[I-D.ietf-tls-rfc4492bis] | Nir, Y., Josefsson, S. and M. Pegourie-Gonnard, "Elliptic Curve Cryptography (ECC) Cipher Suites for Transport Layer Security (TLS) Versions 1.2 and Earlier", Internet-Draft draft-ietf-tls-rfc4492bis-17, May 2017. |
[RFC6961] | Pettersen, Y., "The Transport Layer Security (TLS) Multiple Certificate Status Request Extension", RFC 6961, DOI 10.17487/RFC6961, June 2013. |