A Flags Extension for TLS 1.3
draft-ietf-tls-tlsflags-02

Document Type Active Internet-Draft (tls WG)
Last updated 2020-04-21 (latest revision 2020-03-02)
Replaces draft-nir-tls-tlsflags
Stream IETF
Intended RFC status Proposed Standard
Formats plain text xml pdf htmlized (tools) htmlized bibtex
Additional URLs
- Document source repository
- Mailing list discussion
Stream WG state WG Document (wg milestone: Nov 2020 - Submit "A Flags Exte... )
Revised I-D Needed - Issue raised by WG
Document shepherd Christopher Wood
IESG IESG state I-D Exists
Consensus Boilerplate Yes
Telechat date
Responsible AD (None)
Send notices to Christopher Wood <caw@heapingbits.net>
TLS                                                               Y. Nir
Internet-Draft                                         Dell Technologies
Intended status: Standards Track                           March 2, 2020
Expires: September 3, 2020

                     A Flags Extension for TLS 1.3
                       draft-ietf-tls-tlsflags-02

Abstract

   A number of extensions are proposed in the TLS working group that
   carry no interesting information except the 1-bit indication that a
   certain optional feature is supported.  Such extensions take 4 octets
   each.  This document defines a flags extension that can provide such
   indications at an average marginal cost of 1 bit each.  More
   precisely, it provides as many flag extensions as needed at 4 + the
   order of the last set bit divided by 8.

Status of This Memo

   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 September 3, 2020.

Copyright Notice

   Copyright (c) 2020 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

Nir                     Expires September 3, 2020               [Page 1]
Internet-Draft                  TLS Flags                     March 2020

   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Requirements and Other Notation . . . . . . . . . . . . .   3
   2.  The tls_flags Extension . . . . . . . . . . . . . . . . . . .   3
   3.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   4
     3.1.  Guidance for IANA Experts . . . . . . . . . . . . . . . .   5
   4.  Security Considerations . . . . . . . . . . . . . . . . . . .   6
   5.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   6
   6.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   6
     6.1.  Normative References  . . . . . . . . . . . . . . . . . .   6
     6.2.  Informative References  . . . . . . . . . . . . . . . . .   7
   Appendix A.  Change Log . . . . . . . . . . . . . . . . . . . . .   7
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .   8

1.  Introduction

   Since the publication of TLS 1.3 ([RFC8446]) there have been several
   proposals for extensions to this protocol, where the presence of the
   content-free extension in both the ClientHello and either the
   ServerHello or EncryptedExtensions indicates nothing except either
   support for the optional feature or an intent to use the optional
   feature.  Examples:

   o  An extension that allows the server to tell the client that cross-
      SNI resumption is allowed: [I-D.sy-tls-resumption-group].

   o  An extension that is used to negotiate support for authentication
      using both certificates and external PSKs:
      [I-D.ietf-tls-tls13-cert-with-extern-psk].

   This document proposes a single extension called tls_flags that can
   enumerate such flag extensions and allowing both client and server to
   indicate support for optional features in a concise way.

   None of the current proposed extensions are such that the server
   indicates support without the client first indicating support.  So as
   not to preclude future extensions that are so defined, this
   specification allows the client to send an empty extension,
   indicating support for TLS flags in general (and presumably some
   unspecified features in particular).  A possible use case for such
   extensions is to hide them from passive observers, because the server
   can send flags in the EncryptedExtensions message, while the client
   can only send the flags in the clear.

Nir                     Expires September 3, 2020               [Page 2]
Internet-Draft                  TLS Flags                     March 2020

1.1.  Requirements and Other Notation

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
Show full document text