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

Matt McCutchen <matt@mattmccutchen.net> Thu, 16 September 2010 03:47 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 55AFD3A68F1 for <certid@core3.amsl.com>; Wed, 15 Sep 2010 20:47:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[AWL=0.000, 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 204Z22OvuRPM for <certid@core3.amsl.com>; Wed, 15 Sep 2010 20:47:32 -0700 (PDT)
Received: from homiemail-a14.g.dreamhost.com (mailbigip.dreamhost.com [208.97.132.5]) by core3.amsl.com (Postfix) with ESMTP id 860603A67FA for <certid@ietf.org>; Wed, 15 Sep 2010 20:47:32 -0700 (PDT)
Received: from homiemail-a14.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a14.g.dreamhost.com (Postfix) with ESMTP id ABD128C06A; Wed, 15 Sep 2010 20:47:57 -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=lmFnHfnjndVin7vSZEZC6tFV6ROnpA3oXI9Gw6z3wBu TB1W3Vnv4lheREADlrBdEaW1NPh6khk0aEWxpewNoFSZcbnQDYq9/G5y+ab2NoWC QekF6YADlWtrSrel/LRrYjgoiZVdEZghDcFtNPy0Ybycxp1DxErFASi8Mlic1Rq0 =
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=pI9YIJcEuKnBztoeJ8hg3+BonR0=; b=bGuIOypRuv WXvd2cj8UDQKrocYLW7Chff0yxGpheptF8omPPhmN2AezM9AaLqxeDQIHwto4rMW bLjmGLFF1howg6zwixM0U+yfZIYpJM8Keaj4qFyC6MFpLh8N2fmW0Sa0HVK/U+Ua LdDMsYkrhdyIfjm32cqXP0tUcBBGfR4oQ=
Received: from [129.2.249.209] (ml2.student.umd.edu [129.2.249.209]) (Authenticated sender: matt@mattmccutchen.net) by homiemail-a14.g.dreamhost.com (Postfix) with ESMTPA id 3635B8C063; Wed, 15 Sep 2010 20:47:57 -0700 (PDT)
From: Matt McCutchen <matt@mattmccutchen.net>
To: "Henry B. Hotz" <hotz@jpl.nasa.gov>
In-Reply-To: <58606B11-D4CC-43F4-8971-90D51780A21B@jpl.nasa.gov>
References: <4C912A86.3040402@stpeter.im> <58606B11-D4CC-43F4-8971-90D51780A21B@jpl.nasa.gov>
Content-Type: text/plain; charset="UTF-8"
Date: Wed, 15 Sep 2010 23:47:56 -0400
Message-ID: <1284608876.5722.56.camel@mattlaptop2.local>
Mime-Version: 1.0
X-Mailer: Evolution 2.30.4
Content-Transfer-Encoding: 7bit
Cc: IETF, barryleiba@computer.org, cert-based identity <certid@ietf.org>
Subject: Re: [certid] Fwd: secdir 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: Thu, 16 Sep 2010 03:47:37 -0000

On Wed, 2010-09-15 at 16:58 -0700, Henry B. Hotz wrote:
> On Sep 15, 2010, at 1:20 PM, Peter Saint-Andre wrote:
> 
> > -- Page 22, sec 5.1:
> >   When the connecting application is an interactive client, the source
> >   domain name and service type MUST be provided by a human user (e.g.
> >   when specifying the server portion of the user's account name on the
> >   server or when explicitly configuring the client to connect to a
> >   particular host or URI as in [SIP-LOC]) and MUST NOT be derived from
> >   the user inputs in an automated fashion (e.g., a host name or domain
> >   name discovered through DNS resolution of the source domain).  This
> >   rule is important because only a match between the user inputs (in
> >   the form of a reference identifier) and a presented identifier
> >   enables the client to be sure that the certificate can legitimately
> >   be used to secure the connection.
> > 
> > Does this mean that a client specifically designed for the "gumbo"
> > service can't automatically use the service type "gumbo", without the
> > user's involvement?  Or that a client put out by example.net can't
> > assume a host name of services.example.net in the absence of user
> > input that says otherwise?
> > 
> > Further, it's entirely reasonable for a program to have a user enter
> > something like "gmail", and have the client turn that into something
> > like "mail.google.com", deriving it from the user's input in an
> > automated fashion.  Do we really want to forbid that sort of thing?
> 
> 
> That strikes me as an awfully blase comment for a security review.
> Whatever process translates the user input into the name that's used
> to verify the server's id is a critical part of the verification.  If
> you can subvert the translation, then you can subvert the server ID
> check, which is the whole point of this draft.
> 
> I'm not opposed to the idea of name canonicalization, but it has to be
> done in an authoritative, secure fashion

Exactly.

> and that's probably out of scope for this draft.

Is it?  We may be able to make a useful general statement.  There are
two issues here:

1. "Authoritative": different applications and even users may have
different ideas of what name canonicalization processes are
"authoritative", so all we can ask of compliant implementations is to
document which processes they use.  "Profiles" of server-id-check may
fill in more details.

2. "Secure": given that the point of TLS is to protect against network
attackers, it makes no sense to use a name canonicalization process that
is vulnerable to them.  We can say, "Any process by which the source
domain is derived from user input MUST NOT be subject to subversion by
network attackers", or some such.

Tangent: I know we want to avoid implementations that do foolish things
being claimed as compliant, but IMO, the requirement that input come
from a "human user" is goofy for a technical specification and in
practice a non-starter.  A web browser that followed a HTTP redirection
to a https: URL would violate it.  The web has evolved toward complex
applications in which all pretense that the user is mediating the
issuance of HTTP requests has been abandoned, which brings major
productivity benefits as well as major security implications; ignoring
this would be a mistake.

-- 
Matt