Re: [certid] review of draft-saintandre-tls-server-id-check-09

Matt McCutchen <matt@mattmccutchen.net> Fri, 24 September 2010 20:56 UTC

Return-Path: <matt@mattmccutchen.net>
X-Original-To: certid@core3.amsl.com
Delivered-To: certid@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 167A83A6A4C for <certid@core3.amsl.com>; Fri, 24 Sep 2010 13:56:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.585
X-Spam-Level:
X-Spam-Status: No, score=-2.585 tagged_above=-999 required=5 tests=[AWL=0.014, BAYES_00=-2.599]
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 ZCTOJiPWCe+Q for <certid@core3.amsl.com>; Fri, 24 Sep 2010 13:56:08 -0700 (PDT)
Received: from homiemail-a38.g.dreamhost.com (caiajhbdcahe.dreamhost.com [208.97.132.74]) by core3.amsl.com (Postfix) with ESMTP id AF5B53A69FB for <certid@ietf.org>; Fri, 24 Sep 2010 13:56:08 -0700 (PDT)
Received: from homiemail-a38.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a38.g.dreamhost.com (Postfix) with ESMTP id 1FACA10AFB7; Fri, 24 Sep 2010 13:56:41 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; c=nofws; d=mattmccutchen.net; h=subject:from :to:cc:in-reply-to:references:content-type:date:message-id :mime-version:content-transfer-encoding; q=dns; s= mattmccutchen.net; b=kfPWIfDv9AGQLtjDjxSWRQsFZ1naH/nZXJfdLAcYBaT LsXgUgMWUAObU74RCWsHYPaLWB90wJ/m7IFryZdRngeejlPZ4a3tRgQQu46CZP9X O8uqA/BrxiqsdRpb2//xFATkIIaiFL7iTPkrgr17BRuflPRhq2tD0cweP+sGP8kU =
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=mattmccutchen.net; h= subject:from:to:cc:in-reply-to:references:content-type:date :message-id:mime-version:content-transfer-encoding; s= mattmccutchen.net; bh=c6pnf3uc9bH5/cmnA5Wf4HgjNeM=; b=OlcKJO4ABz H0yQ4MrFWHt3tLus9mZYl8Q2bozROhwYSBoncta30BTrN72Ld3iBJ5lU8GQxJoiw 47OvMA+zd9FT9pjUHbOAY8q+3Gfw1K/EE+lZ+atqRcOmfHXx4Vki0D8VQswQdxyb rD+xi9Ipk56LJV+muNDjwRRP0+2It3D2w=
Received: from [129.2.249.209] (ml2.student.umd.edu [129.2.249.209]) (Authenticated sender: matt@mattmccutchen.net) by homiemail-a38.g.dreamhost.com (Postfix) with ESMTPA id ADF3F10AFB5; Fri, 24 Sep 2010 13:56:40 -0700 (PDT)
From: Matt McCutchen <matt@mattmccutchen.net>
To: mrex@sap.com
In-Reply-To: <201009241511.o8OFBFO9005613@fs4113.wdf.sap.corp>
References: <201009241511.o8OFBFO9005613@fs4113.wdf.sap.corp>
Content-Type: text/plain; charset="UTF-8"
Date: Fri, 24 Sep 2010 16:56:39 -0400
Message-ID: <1285361799.1962.4.camel@mattlaptop2.local>
Mime-Version: 1.0
X-Mailer: Evolution 2.30.4
Content-Transfer-Encoding: 7bit
Cc: certid@ietf.org
Subject: Re: [certid] review of draft-saintandre-tls-server-id-check-09
X-BeenThere: certid@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Representation and verification of identity in certificates <certid.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/certid>, <mailto:certid-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/certid>
List-Post: <mailto:certid@ietf.org>
List-Help: <mailto:certid-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/certid>, <mailto:certid-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 24 Sep 2010 20:56:10 -0000

On Fri, 2010-09-24 at 17:11 +0200, Martin Rex wrote: 
> Matt McCutchen wrote:
> > 
> > On Thu, 2010-09-23 at 03:48 +0200, Martin Rex wrote:
> > > 
> > > Thinking about it, I feel slightly uneasy about some redirects, such as
> > > https://gmail.com  -> 301 ->  https://mail.google.com/mail
> > 
> > The point from the draft was about a service that maps source domains to
> > target domains.  A HTTP redirect is different: it is an instruction to
> > restart the process with a new source domain.
> 
> 
> Admittedly, the processing of redirects happens at application software
> layers higher up the stack and for seperate TLS handshakes, whereas
> server endpoint identification is performed for a single TLS-Handshake
> directly above TLS.  But that does not mean that there is no security
> problem.

OK, so you are alleging a security problem that is unrelated to the
provision in server-id-check for name-mapping services.

> I'm trying to describe this behaviour in real world terms, maybe
> it becomes clearer that way.
> 
> 
> The current "server endpoint identification" would mean for the
> real world that you perform the matching when you enter the
> building (a store, gov. agency, bank, hotel, ...), and from
> that point on, blindly trust everything what happens to you.
> 
> Now imagine a subsidiary of Western Union on an exceptionally
> busy time of the day with several people waiting in line
> waiting to arrage for a money order with cash they're carrying.
> 
> Someone approaches a customer waiting in line and tells him
> that they've set up an additional teller in a camping truck
> across the street where they can place their money order.
> The browser behaviour, to blindly following 301 to other
> servers without second thoughts is a serious security problem.

This is a false analogy.  In the Western Union building, it's expected
that there may be other people you don't necessarily trust.  But on
https://gmail.com, assuming your browser and the server are designed
properly and the trusted CAs don't mess up, there is no way for an
attacker to introduce a redirect that is not authorized by the
registrant of gmail.com.

> The "secure link" between the end users intention (who supplied
> https://gmail.com) and what the browser actually does
> (blindly follow the redirect to https://mail.google.com) is missing.

A user who visits https://gmail.com with a modern browser intends the
browser to do whatever https://gmail.com says, which in this case is to
follow a redirect. 

> The reference identifier that is passed into the server endpoint
> identification for the TLS handshake performed with https://mail.google.com
> results from an untrusted name transformation, and this
> is very relevant for the security considerations of this I-D.

I'm not sure what kind of trust you were expecting here, but the
transformation is authorized by https://gmail.com, so there is no reason
the user shouldn't trust it for the purpose of interacting with the
service she knows as https://gmail.com .

It's true that the security considerations section of the draft states,
"When the connecting application is an interactive client, the source
domain name and service type MUST be provided by a human user", but I
think that is pretty bogus.  HTTP redirects in a web browser are one of
many cases in which using a source domain from a source other than the
user is the expected behavior.  These cases are not going to go away
with the publication of the standard.

I would prefer to limit the scope of server-id-check to what happens
after the source domain is provided (e.g., as an argument to an API call
of the client library) and simply emphasize that a conformant client is
only as secure as the source domain it is given.  In a larger
application, it's necessary to ensure that the manner in which the
source domain is obtained meets the user's security expectations, but
that's something to address in the documentation or standard for the
application.

-- 
Matt