Re: [certid] Comments on draft-saintandre-tls-server-id-check-04

Peter Saint-Andre <stpeter@stpeter.im> Thu, 03 June 2010 21:12 UTC

Return-Path: <stpeter@stpeter.im>
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 DFF1A28C122 for <certid@core3.amsl.com>; Thu, 3 Jun 2010 14:12:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.677
X-Spam-Level:
X-Spam-Status: No, score=-0.677 tagged_above=-999 required=5 tests=[AWL=-0.678, BAYES_50=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 4R-NY2r7lM-T for <certid@core3.amsl.com>; Thu, 3 Jun 2010 14:12:36 -0700 (PDT)
Received: from stpeter.im (stpeter.im [207.210.219.233]) by core3.amsl.com (Postfix) with ESMTP id 20FB928C104 for <certid@ietf.org>; Thu, 3 Jun 2010 14:12:36 -0700 (PDT)
Received: from dhcp-64-101-72-121.cisco.com (dhcp-64-101-72-121.cisco.com [64.101.72.121]) (Authenticated sender: stpeter) by stpeter.im (Postfix) with ESMTPSA id 5005640E26 for <certid@ietf.org>; Thu, 3 Jun 2010 15:12:22 -0600 (MDT)
Message-ID: <4C081AB5.8050705@stpeter.im>
Date: Thu, 03 Jun 2010 15:12:21 -0600
From: Peter Saint-Andre <stpeter@stpeter.im>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: certid@ietf.org
References: <4BEB3870.10904@KingsMountain.com> <4BED0E6E.1090303@edelweb.fr> <4C003D15.4060408@stpeter.im> <4C00FEC0.3080808@edelweb.fr> <4C015310.5030708@edelweb.fr>
In-Reply-To: <4C015310.5030708@edelweb.fr>
X-Enigmail-Version: 1.0.1
OpenPGP: url=http://www.saint-andre.com/me/stpeter.asc
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="------------ms070609010103070500090904"
Subject: Re: [certid] Comments on draft-saintandre-tls-server-id-check-04
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, 03 Jun 2010 21:12:38 -0000

On 5/29/10 11:46 AM, Peter Sylvester wrote:
> some more details.
> 
> In 1.1:
> 
> 
> There is the possibility to indicate several identities:
> 
> "Only a match between the client's reference identity and the server's
> presented identity enables the client to be sure that the certificate
> can legitimately be used to secure the connection."
> ==>
> "In general, a match between the client's reference identity and one of
> the server's
> presented identities is required to enable the client to be sure that
> the certificate
> can legitimately be used to authenticate the connection."

Ah, I see what you're getting at. Yes, the existing text is rather
informal, since later in the document we talk more precisely about
identifiers, not identity. I've reworded that paragraph as follows:

                                 When a client connects to an
   application server using Transport Layer Security [TLS] (or, less
   commonly, [DTLS]), it references some conception of the server's
   identity while attempting to establish a secure connection (e.g.,
   "the web site at example.com").  Likewise, during TLS negotiation the
   server presents its conception of the server's identity in the form
   of a public-key certificate that was issued by a certification
   authority in the context of the Internet Public Key Infrastructure
   using X.509 [PKIX].  Informally, we can think of these identities as
   the client's "reference identity" and the server's "presented
   identity" (these rough ideas are defined more precisely later in this
   document through the concept of particular identifiers).  In general,
   a client needs to verify that the server's presented identity matches
   its reference identity so that it can be sure that the certificate
   can legitimately be used to authenticate the connection.


> (see: "The application server is identified by a name or names carried in
>    the subject field and/or the subjectAltName extension of the
>    certificate.")
> 
> "The Internet Public Key Infrastructure" sounds ambiguous quite right to
> me.
> - The only thing of a PKI in question that is ever transmitted
>   and visible in the Internet might be the server's certificate.
> - There is no "Internet PKI"  (like the DNS).
> 

RFC 5280 has the title "Internet X.509 Public Key Infrastructure
Certificate and Certificate Revocation List (CRL) Profile". We're simply
inheriting from that, because it is a common baseline for this proposed
BCP and defines terms that are familiar to those who will use this
proposed BCP. If you have problems with RFC 5280, please take that up
with the authors of RFC 5280.

> "in the context of the Internet Public Key Infrastructure using X.509"
> ==>
> "in the context of a Public Key Infrastructure using X.509".

See above.

>    Likewise, during TLS negotiation the server presents
>    its conception of the server's identity
> 
>    Application protocols have traditionally specified their own rules
>    for representing and verifying server identities.
> 
> I suggest to replace "represent" by "present". (The word represent seems
> to be used interchangeable with present in the current text). I'd prefer
> even 'indicate' instead.

Your distinctions are quite subtle.

The server has a certificate. It presents (gives, hands over, shows,
offers) the certificate to the client during TLS negotiation. Thus
"present" seems appropriate in the first quoted sentence.

The server's certificate contains various information (e.g.,
subjectAltName extensions). That information is intended to represent
(depict, describe, symbolize, embody) the server's identity. Thus
"representing" seems appropriate in the second quoted sentence.

IMHO "indicate" is not a good substitute for "present" in the first
sentence or "represent" in the second sentence, because "indicate" is a
bit ambiguous -- it can mean either "point, show" (roughly equivalent to
"present") or "be a sign of" (roughly equivalent to "represent").

Peter

-- 
Peter Saint-Andre
https://stpeter.im/