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

Martin Rex <> Wed, 30 September 2009 14:52 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 8A2DD3A6833 for <>; Wed, 30 Sep 2009 07:52:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -6.018
X-Spam-Status: No, score=-6.018 tagged_above=-999 required=5 tests=[AWL=0.231, BAYES_00=-2.599, HELO_EQ_DE=0.35, RCVD_IN_DNSWL_MED=-4]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id IFOHDBJvHYDn for <>; Wed, 30 Sep 2009 07:52:55 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 768C53A659C for <>; Wed, 30 Sep 2009 07:52:55 -0700 (PDT)
Received: from by (26) with ESMTP id n8UEsFGM002846 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 30 Sep 2009 16:54:15 +0200 (MEST)
From: Martin Rex <>
Message-Id: <>
To: (Blumenthal Uri)
Date: Wed, 30 Sep 2009 16:54:14 +0200 (MEST)
In-Reply-To: <> from "Blumenthal, Uri" at Sep 30, 9 10:07:12 am
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Scanner: Virus Scanner virwal05
X-SAP: out
Subject: Re: [TLS] Last Call: draft-ietf-tls-rfc4366-bis (Transport Layer
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." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 30 Sep 2009 14:52:56 -0000

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.