Re: [TLS] Last Call: draft-ietf-tls-rfc4366-bis (Transport Layer

"Blumenthal, Uri" <uri@ll.mit.edu> Thu, 01 October 2009 11:54 UTC

Return-Path: <uri@ll.mit.edu>
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 C2E133A69CA for <tls@core3.amsl.com>; Thu, 1 Oct 2009 04:54:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.41
X-Spam-Level:
X-Spam-Status: No, score=-6.41 tagged_above=-999 required=5 tests=[AWL=0.188, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, UNPARSEABLE_RELAY=0.001]
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 L7CRXaU-cO4O for <tls@core3.amsl.com>; Thu, 1 Oct 2009 04:54:12 -0700 (PDT)
Received: from ll.mit.edu (LLMAIL1.LL.MIT.EDU [129.55.12.41]) by core3.amsl.com (Postfix) with ESMTP id CE3E73A68A5 for <tls@ietf.org>; Thu, 1 Oct 2009 04:54:11 -0700 (PDT)
Received: (from smtp@localhost) by ll.mit.edu (8.12.10/8.8.8) id n91BtTsT010831; Thu, 1 Oct 2009 07:55:29 -0400 (EDT)
Received: from lle2k7-hub02.llan.ll.mit.edu( ), claiming to be "LLE2K7-HUB02.mitll.ad.local" via SMTP by llpost, id smtpdAAAcgaiIb; Thu Oct 1 07:44:29 2009
Received: from LLE2K7-BE01.mitll.ad.local ([ ]) by LLE2K7-HUB02.mitll.ad.local ([ ]) with mapi; Thu, 1 Oct 2009 07:44:29 -0400
From: "Blumenthal, Uri" <uri@ll.mit.edu>
To: "'simon@josefsson.org'" <simon@josefsson.org>, "'martin.rex@sap.com'" <martin.rex@sap.com>
Date: Thu, 1 Oct 2009 07:44:20 -0400
Thread-Topic: Last Call: draft-ietf-tls-rfc4366-bis (Transport Layer
Thread-Index: AcpChmwiemOoDs36RvChbb13kLtWqQABhv2i
Message-ID: <90E934FC4BBC1946B3C27E673B4DB0E4A7E75F6BA5@LLE2K7-BE01.mitll.ad.local>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Cc: "'tls@ietf.org'" <tls@ietf.org>
Subject: Re: [TLS] Last Call: draft-ietf-tls-rfc4366-bis (Transport Layer
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: Thu, 01 Oct 2009 11:54:12 -0000

I support option (2) and am against option(1), for reasons expressed in earlier emails.

Tnx!


----- Original Message -----
From: Simon Josefsson <simon@josefsson.org>;
To: martin.rex@sap.com <martin.rex@sap.com>;
Cc: Blumenthal, Uri; tls@ietf.org <tls@ietf.org>;
Sent: Thu Oct 01 07:00:34 2009
Subject: Re: Last Call: draft-ietf-tls-rfc4366-bis (Transport Layer

Martin Rex <Martin.Rex@sap.com>; writes:

> Blumenthal, Uri wrote:
>> 
>> In my understanding, TLS-established server_name should be
>> enforced by the server.
>> 
>> And Martin - I couldn't disagree more with you. The whole point of
>> using TLS is to enforce who can access what. So the client makes sure
>> he accesses the right server, the server makes sure he grants access
>> to the right pages on the right virtual host. And if your server
>> doesn't do that - please kindly tell me what commercial or
>> freeware product it is included in, so I can avoid buying or
>> using it in the future.
>
> There seems to be a significant misunderstanding.
>
> The Host header field of an HTTP request is a detail of an
> application protocol.  The hostname conveyed by the TLS extension
> server name indication (SNI) happens at a competely different
> protocol layer.
>
> The difference becomes obvious when you add reverse proxies
> into the picture (those which terminate the TLS wrapping).
>
> Conceptually, the Host: header field of a HTTP request is
> part of the URL.  If a reverse proxy perform URL rewriting,
> it may as well have to rewrite Host: header fields.  That
> depends entirely on the backend architecture of each
> particular software installation.
>
>
> Whether or not an application may want to make consistency
> checks between a Host: Header field and a hostname received
> via SNI at the specific point of the backend architecture
> where TLS was terminated depends entirely on the backend
> architecture, and is an application issue.

I believe this wording in RFC 4366bis makes it a TLS issue:

   If the server_name is established in the TLS session handshake, the
   client SHOULD NOT attempt to request a different server name at the
   application layer.

I believe there are two options:

1) Either remove all requirements on application behaviour from 4366bis
   (including the text above) and explicitly defer such discussions to
   other documents.

2) Add the text I proposed to make servers actually validate proper
   client behaviour.

I went for 2) assuming that the text above was intentional, but I share
your arguments for going with approach 1).

/Simon