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

"Henry B. Hotz" <hotz@jpl.nasa.gov> Wed, 15 September 2010 23:57 UTC

Return-Path: <hotz@jpl.nasa.gov>
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 27B4D3A6AE4 for <certid@core3.amsl.com>; Wed, 15 Sep 2010 16:57:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.599
X-Spam-Level:
X-Spam-Status: No, score=-6.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
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 eWYk6xb4Adwk for <certid@core3.amsl.com>; Wed, 15 Sep 2010 16:57:42 -0700 (PDT)
Received: from mail.jpl.nasa.gov (mailhost.jpl.nasa.gov [128.149.139.105]) by core3.amsl.com (Postfix) with ESMTP id 13FB03A6AE2 for <certid@ietf.org>; Wed, 15 Sep 2010 16:57:42 -0700 (PDT)
Received: from dhcp-137-79-176-142.jpl.nasa.gov (dhcp-137-79-176-142.jpl.nasa.gov [137.79.176.142]) (authenticated (0 bits)) by smtp.jpl.nasa.gov (Switch-3.4.3/Switch-3.4.3) with ESMTP id o8FNw3XN014105 (using TLSv1/SSLv3 with cipher AES128-SHA (128 bits) verified NO); Wed, 15 Sep 2010 16:58:05 -0700
Mime-Version: 1.0 (Apple Message framework v1081)
Content-Type: text/plain; charset=us-ascii
From: "Henry B. Hotz" <hotz@jpl.nasa.gov>
In-Reply-To: <4C912A86.3040402@stpeter.im>
Date: Wed, 15 Sep 2010 16:58:03 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <58606B11-D4CC-43F4-8971-90D51780A21B@jpl.nasa.gov>
References: <4C912A86.3040402@stpeter.im>
To: Peter Saint-Andre <stpeter@stpeter.im>
X-Mailer: Apple Mail (2.1081)
X-Source-IP: dhcp-137-79-176-142.jpl.nasa.gov [137.79.176.142]
X-Source-Sender: hotz@jpl.nasa.gov
X-AUTH: Authorized
Cc: barryleiba@computer.org, IETF 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: Wed, 15 Sep 2010 23:57:43 -0000

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, and that's probably out of scope for this draft.

For discussion's sake, how about changing the MUST NOT to SHOULD NOT and adding a big "here there be dragons" to the text?  I might prefer leaving it as-is, since we can always write a new RFC that defines how the automated translation can be done in a safe way.

------------------------------------------------------
The opinions expressed in this message are mine,
not those of Caltech, JPL, NASA, or the US Government.
Henry.B.Hotz@jpl.nasa.gov, or hbhotz@oxy.edu