Re: [TLS] Ignoring unrecognized extensions

Martin Rex <mrex@sap.com> Tue, 22 June 2010 20:01 UTC

Return-Path: <mrex@sap.com>
X-Original-To: tls@core3.amsl.com
Delivered-To: tls@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8353C3A67B3 for <tls@core3.amsl.com>; Tue, 22 Jun 2010 13:01:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.015
X-Spam-Level:
X-Spam-Status: No, score=-9.015 tagged_above=-999 required=5 tests=[AWL=1.234, BAYES_00=-2.599, HELO_EQ_DE=0.35, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id k9QHQ189yOsQ for <tls@core3.amsl.com>; Tue, 22 Jun 2010 13:01:55 -0700 (PDT)
Received: from smtpde01.sap-ag.de (smtpde01.sap-ag.de [155.56.68.170]) by core3.amsl.com (Postfix) with ESMTP id A09D03A6898 for <tls@ietf.org>; Tue, 22 Jun 2010 13:01:54 -0700 (PDT)
Received: from mail.sap.corp by smtpde01.sap-ag.de (26) with ESMTP id o5MK20K6002611 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 22 Jun 2010 22:02:00 +0200 (MEST)
From: Martin Rex <mrex@sap.com>
Message-Id: <201006222001.o5MK1xLg021682@fs4113.wdf.sap.corp>
To: mike-list@pobox.com
Date: Tue, 22 Jun 2010 22:01:59 +0200
In-Reply-To: <4C20FFB8.7010802@pobox.com> from "Michael D'Errico" at Jun 22, 10 11:23:52 am
MIME-Version: 1.0
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Scanner: Virus Scanner virwal07
X-SAP: out
Cc: tls@ietf.org
Subject: Re: [TLS] Ignoring unrecognized extensions
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: mrex@sap.com
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tls>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 22 Jun 2010 20:01:56 -0000

Michael D'Errico wrote:
> 
> Matt McCutchen wrote:
> > 
> > I think it is the intent of RFC 5246 that a TLS server, in addition to
> > tolerating an "extensions" field in the ClientHello that is nonempty as
> > a whole, MUST ignore individual extensions that it does not recognize.
> > However, I cannot find this stated anywhere in RFC 5246.  Am I missing
> > something?  Would this be worthy of an erratum?
> 
> That is indeed how extensions are supposed to work.  If a server does
> not recognize a particular extension it ignores it.  The server hello
> will not contain a response, so the client then has the option to abort
> or to continue the handshake without the use of the behavior defined by
> that extension.
> 
> I don't know if there's still time to sneak this into RFC 4366++.

You mean

 https://datatracker.ietf.org/doc/draft-ietf-tls-rfc4366-bis/

The existing text that I read to imply this is in Section-1.1 on page 5:

   TLS clients and servers may use the extensions described in this
   document. The extensions are designed to be backwards compatible,
   meaning that TLS clients that support the extensions can talk to TLS
   servers that do not support the extensions, and vice versa.


The wording in rfc-5246, section 7.4.1.4.1 and similarly
rfc-5746, section 3.6 might be clearer.

 http://tools.ietf.org/html/rfc5246#page-47

   The rules specified in [TLSEXT] require servers to ignore extensions
   they do not understand.

 http://tools.ietf.org/html/rfc5746#section-3.6

   TLS servers MUST ignore any unknown extensions offered by the client.


Curiously rfc-5246 uses a dangling [TLSEXT] reference; maybe it should
have refered to RFC4366 instead -- is the updated TLSEXT draft already
2 years behind schedule?


>From the URL above, the I-D appears to be still with the IESG.
Such a wording clarification, when considered adequate, could
be applied during AUTH48, I suppose.

-Martin