Re: [TLS] RFC-4366-bis and the unrecognized_name(112) alert
"Joseph Salowey (jsalowey)" <jsalowey@cisco.com> Mon, 07 June 2010 20:29 UTC
Return-Path: <jsalowey@cisco.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 60DC23A67D7 for <tls@core3.amsl.com>; Mon, 7 Jun 2010 13:29:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.854
X-Spam-Level:
X-Spam-Status: No, score=-9.854 tagged_above=-999 required=5 tests=[AWL=-0.745, BAYES_05=-1.11, 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 UNpbiC15QRQR for <tls@core3.amsl.com>; Mon, 7 Jun 2010 13:29:12 -0700 (PDT)
Received: from sj-iport-6.cisco.com (sj-iport-6.cisco.com [171.71.176.117]) by core3.amsl.com (Postfix) with ESMTP id 2B5FE3A65A6 for <tls@ietf.org>; Mon, 7 Jun 2010 13:29:12 -0700 (PDT)
Authentication-Results: sj-iport-6.cisco.com; dkim=neutral (message not signed) header.i=none
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AvsEAKfzDEyrR7Ht/2dsb2JhbACeHnGmHponhRcEg0o
X-IronPort-AV: E=Sophos;i="4.53,380,1272844800"; d="scan'208";a="541190498"
Received: from sj-core-1.cisco.com ([171.71.177.237]) by sj-iport-6.cisco.com with ESMTP; 07 Jun 2010 20:29:12 +0000
Received: from xbh-sjc-211.amer.cisco.com (xbh-sjc-211.cisco.com [171.70.151.144]) by sj-core-1.cisco.com (8.13.8/8.14.3) with ESMTP id o57KTCrZ026398 for <tls@ietf.org>; Mon, 7 Jun 2010 20:29:12 GMT
Received: from xmb-sjc-225.amer.cisco.com ([128.107.191.38]) by xbh-sjc-211.amer.cisco.com with Microsoft SMTPSVC(6.0.3790.3959); Mon, 7 Jun 2010 13:29:12 -0700
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Date: Mon, 07 Jun 2010 13:29:11 -0700
Message-ID: <AC1CFD94F59A264488DC2BEC3E890DE50AA7DD71@xmb-sjc-225.amer.cisco.com>
In-Reply-To: <201006072010.o57KAPUN018758@fs4113.wdf.sap.corp>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: [TLS] RFC-4366-bis and the unrecognized_name(112) alert
Thread-Index: AcsGfZpQSYEnCmDESaS20Ej7x2rlCQAAB7Kg
References: <4C093484.5010803@extendedsubset.com> from "Marsh Ray" at Jun 4, 10 12:14:44 pm <201006072010.o57KAPUN018758@fs4113.wdf.sap.corp>
From: "Joseph Salowey (jsalowey)" <jsalowey@cisco.com>
To: tls@ietf.org
X-OriginalArrivalTime: 07 Jun 2010 20:29:12.0416 (UTC) FILETIME=[17265600:01CB0680]
Subject: Re: [TLS] RFC-4366-bis and the unrecognized_name(112) alert
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
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: Mon, 07 Jun 2010 20:29:13 -0000
OK, here is some new suggested text. Let me know if you can live with this. "The ServerNameList MUST NOT contain more than one name of the same name_type. If the server understood the client hello extension, but refuses to continue because it does not recognize the server name, it MUST send a fatal unrecognized_name(112) alert and terminate the handshake. If the server decides to continue the handshake, sending a unrecognized_name(112) alert with a warning level is NOT RECOMMENDED, since existing client behavior is unpredictable. A client that receives a warning-level unrecognized_name(112) alert SHOULD ignore this alert and continue the TLS handshake, which may fail as a result of a name mismatch. The warning MAY be logged as part of diagnostic information recorded for a failed handshake." Thanks, Joe > -----Original Message----- > From: tls-bounces@ietf.org [mailto:tls-bounces@ietf.org] On Behalf Of > Martin Rex > Sent: Monday, June 07, 2010 1:10 PM > To: Marsh Ray > Cc: tls@ietf.org > Subject: Re: [TLS] RFC-4366-bis and the unrecognized_name(112) alert > > Marsh Ray wrote: > > > > On 6/4/2010 11:47 AM, Martin Rex wrote: > > > > > > But defining only the situation when one peer can send a particular > > > warning level alert is entirely insufficient. The definition of > > > a warning-level alert _MUST_ describe how the receiving peer is > > > supposed to react to this. > > > > I don't agree with such an absolute statement. > > > > Sometimes the only use of a protocol message is to provide information > > to a software developer who wrote the code so he has some clues to go on > > when the bug report with the protocol trace lands in his inbox. > > We are discussing a network protocol here, and there we need a > _MUST_ define the semantics of a protocol signal for both, the sender > and the receipient. Everything else is going to be an interoperability > problem (as observed by Yngve), or at least useless protocol complexity. > > > > > > Although it is good to try to avoid it, the vast majority of nontrivial > > systems have failure modes that were not anticipated during development > > and testing. As a developer, I really value the ability to issue some > > opaque internal error code message into some log file. Somehow the > > system got into a state that I didn't expect it could, if I could have > > described how the system should react, I would have coded it that way. > > > > A strict policy like "all warnings must X" just leads to the warning > > message facility being unusable for cases where X is too difficult. > > > This description oversimplifies the whole issue. > > If there are protocol elements that convey information between to > communication peers, then the semantics of that piece of information > must be well-defined for both, sender and receipient. Some of the > conveyed information affects the communication protocol itself, > other information is conveyed for consumption by the calling > application, not for the protocol engine itself -- such as a > warning-level alert "unrecognized_name". > > It makes perfect sense to require this information be made available > _by_the_recipient_TLS_implementation_ to the receipient calling > application _somehow_ (details unspecified). A calling application > that does care about this non-fatal information will have to retrieve it. > The calling app may decide to abort the fully established TLS session and > retry with different parameters later on. But the TLS (client) > implementation receiving a warning-level "unrecognized_name" > alert SHOULD ignore this alert and continue the TLS handshake. > There is nothing that the receiving TLS implementation itself can do > about this warning-level alert. > > Aborting on an unexpected (or even unknown warning-level TLS alert) > appears to be generally a bad idea, because it creates unnecessary > interop problems. The IETF golden rule for protocol applies here > "be liberal in what you accept". TLS protocol engines that > unconditionally fail when receiving unknown or unexpected > warning-level alerts (excluding those warning-level alerts that > have a well-defined protocol-engine semantic, such as close_notify) > exhibit a significant lack of robustness. > > > -Martin > _______________________________________________ > TLS mailing list > TLS@ietf.org > https://www.ietf.org/mailman/listinfo/tls
- [TLS] RFC-4366-bis and the unrecognized_name(112)… Yngve Nysaeter Pettersen
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Michael D'Errico
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Martin Rex
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Michael D'Errico
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Joseph Salowey (jsalowey)
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Nikos Mavrogiannopoulos
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Joseph Salowey (jsalowey)
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Yngve Nysaeter Pettersen
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Michael D'Errico
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Nikos Mavrogiannopoulos
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Joseph Salowey (jsalowey)
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Yngve Nysaeter Pettersen
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Martin Rex
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Michael D'Errico
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Martin Rex
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Marsh Ray
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Joseph Salowey (jsalowey)
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Martin Rex
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Martin Rex
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Marsh Ray
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Peter Saint-Andre
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Michael D'Errico
- [TLS] [Fwd: Re: RFC-4366-bis and the unrecognized… Michael D'Errico
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Martin Rex
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Martin Rex
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Marsh Ray
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Michael D'Errico
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Nikos Mavrogiannopoulos
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Nikos Mavrogiannopoulos
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Michael D'Errico
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Martin Rex
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Joseph Salowey (jsalowey)
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Martin Rex
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Joseph Salowey (jsalowey)
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Michael D'Errico
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Martin Rex
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Joseph Salowey (jsalowey)
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Michael D'Errico
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Peter Gutmann
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Nikos Mavrogiannopoulos
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Martin Rex
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Donald Eastlake
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Sean Turner
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… t.petch
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Joseph Salowey (jsalowey)
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Michael D'Errico
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Martin Rex
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Joseph Salowey (jsalowey)
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Paul Hoffman
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Michael D'Errico
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Michael D'Errico
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Marsh Ray
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Peter Saint-Andre
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Joseph Salowey (jsalowey)
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Martin Rex
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Michael D'Errico
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Marsh Ray
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Martin Rex
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Michael D'Errico
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Martin Rex
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Michael D'Errico
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Nikos Mavrogiannopoulos
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Michael D'Errico
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Peter Sylvester
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Peter Sylvester
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Peter Sylvester
- Re: [TLS] RFC-4366-bis and the unrecognized_name(… Martin Rex