Re: [TLS] WGLC for draft-ietf-tls-oob-pubkey-03.txt

=JeffH <Jeff.Hodges@KingsMountain.com> Tue, 08 May 2012 19:05 UTC

Return-Path: <Jeff.Hodges@KingsMountain.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 55EAB21F85A8 for <tls@ietfa.amsl.com>; Tue, 8 May 2012 12:05:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -99.414
X-Spam-Level:
X-Spam-Status: No, score=-99.414 tagged_above=-999 required=5 tests=[AWL=-0.408, BAYES_05=-1.11, FH_RELAY_NODNS=1.451, HELO_MISMATCH_COM=0.553, RDNS_NONE=0.1, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id odtxizFxnpdo for <tls@ietfa.amsl.com>; Tue, 8 May 2012 12:05:31 -0700 (PDT)
Received: from oproxy6-pub.bluehost.com (oproxy6.bluehost.com [IPv6:2605:dc00:100:2::a6]) by ietfa.amsl.com (Postfix) with SMTP id 8BAEA21F85CE for <tls@ietf.org>; Tue, 8 May 2012 12:05:27 -0700 (PDT)
Received: (qmail 797 invoked by uid 0); 8 May 2012 19:05:26 -0000
Received: from unknown (HELO box514.bluehost.com) (74.220.219.114) by cpoproxy3.bluehost.com with SMTP; 8 May 2012 19:05:26 -0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=kingsmountain.com; s=default; h=Content-Transfer-Encoding:Content-Type:Subject:To:MIME-Version:From:Date:Message-ID; bh=rZI3a5dyfYp0m90GE+P0G1oRBM9lFnjNr6yiqqfCKtw=; b=A74Eh+yDYX8Y651zWMZ88dz7xlMX7gRh4bEeiJoP7weTrCZVRnJL+NZJDKXh69pQsQiPHS973mhibFQeNaJUYIJf7z0g75RhEMOsgoA5n4jjAGSuQbYIDIbVnKWiBP2p;
Received: from outbound4.ebay.com ([216.113.168.128] helo=[10.244.136.90]) by box514.bluehost.com with esmtpsa (TLSv1:CAMELLIA256-SHA:256) (Exim 4.76) (envelope-from <Jeff.Hodges@KingsMountain.com>) id 1SRpiw-0002pu-Gl for tls@ietf.org; Tue, 08 May 2012 13:05:26 -0600
Message-ID: <4FA96E75.60408@KingsMountain.com>
Date: Tue, 08 May 2012 12:05:25 -0700
From: =JeffH <Jeff.Hodges@KingsMountain.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: IETF TLS WG <tls@ietf.org>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Identified-User: {11025:box514.bluehost.com:kingsmou:kingsmountain.com} {sentby:smtp auth 216.113.168.128 authed with jeff.hodges+kingsmountain.com}
Subject: Re: [TLS] WGLC for draft-ietf-tls-oob-pubkey-03.txt
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tls>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 08 May 2012 19:05:32 -0000

I have a comment on -tls-oob-pubkey-03 itself, and then a followup to the 
client certificate comments...

###

3.1. Client Hello
	.
	.
    The [RFC6091] defined CertificateTypeExtension is extended as
    follows:


    enum { client, server } ClientOrServerExtension;

    enum { X.509(0), OpenPGP(1),
       RawPublicKey([TBD]),
       (255) } CertificateType;

    struct {
       select(ClientOrServerExtension)
           case client:
             CertificateType certificate_types<1..2^8-1>;
           case server:
             CertificateType certificate_type;
       }
    } CertificateTypeExtension;
	.
	.

What the difference is between the above and RFC6091 is not immediately 
apparent (it's only the addition of RawPublicKey([TBD]) to the CertificateType 
enum). This difference should be noted explicitly in the prose and perhaps 
-tls-oob-pubkey should only show the CertificateType enum definition, unless 
ClientOrServerExtension and CertificateTypeExtension are better delineated as 
unchanged and presented for exposition only (or if some form of merge with 
RFC6091 is done as mentioned by Martin Rex).

###

Martin Rex replied:
 >
 >>> Paul Hoffman suggested including this modified version of S 3.5 from
 >>> RFC6091
 >>>
 >>>>  3.5.  Client Certificate
 >>>>
 >>>>  This message is only sent in response to the certificate request
 >>>>  message.  The client certificate message is sent using the same
 >>>>  formatting as the server certificate message, and it is also required
 >>>>  to present a certificate that matches the negotiated certificate
 >>>>  type.  If RawPublicKey certificates have been selected and no certificate
 >>>>  is available from the client, then a certificate structure of type
 >>>>  "empty_cert" that contains an RawPublicKey value MUST be sent.
 >>>>  The server SHOULD respond with a "handshake_failure" fatal alert if
 >>>>  client authentication is required.
 >
 >
 > What is confusing in your description is [this phrase:]
 >
 >   "empty_cert" that contains a RawPublicKey value
 >
 > I believe [we] need another codepoint in the rfc6091 enumerator
 > OpenPGPCertDescriptorType:
 >
 >       enum {
 >            empty_cert(1),
 >            subkey_cert(2),
 >            subkey_cert_fingerprint(3),
 > +          x509_spki(4),
 >            (255)
 >       } OpenPGPCertDescriptorType;
 >
 > because "empty_cert" is not meant to be extensible in rfc6091:
 >
 >      uint24 OpenPGPEmptyCert = 0;
 >
 >       struct {
 >            OpenPGPCertDescriptorType descriptorType;
 >            select (descriptorType) {
 >                 case empty_cert: OpenPGPEmptyCert;
 >                 case subkey_cert: OpenPGPSubKeyCert;
 >                 case subkey_cert_fingerprint:
 >                     OpenPGPSubKeyCertFingerprint;
 >            }
 >       } Certificate;


Actually, in looking at S 3.3 of RFC6091, it appears that other than the first 
paragraph, that section (in RFC6091) is specific to the OpenPGP certificate type.

Shouldn't -tls-oob-pubkey more properly define it's own equivalent structures 
rather than attempt to re-use the apparently OpenPGP-specific ones there in S 
3.3 of RFC6091 (if PaulH's suggestion is adopted)?

fwiw, I agree with PaulH's comments (and with Simon Josefsson's also).

###



HTH,

=JeffH