Re: [dane] #29: Request new Reference Type - Public Key

"Jim Schaad" <ietf@augustcellars.com> Wed, 24 August 2011 04:00 UTC

Return-Path: <ietf@augustcellars.com>
X-Original-To: dane@ietfa.amsl.com
Delivered-To: dane@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5EE9A21F8ADC for <dane@ietfa.amsl.com>; Tue, 23 Aug 2011 21:00:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.599
X-Spam-Level:
X-Spam-Status: No, score=-3.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
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 xBn6hcBeV7Qy for <dane@ietfa.amsl.com>; Tue, 23 Aug 2011 21:00:00 -0700 (PDT)
Received: from smtp4.pacifier.net (smtp4.pacifier.net [64.255.237.176]) by ietfa.amsl.com (Postfix) with ESMTP id 9407821F8A70 for <dane@ietf.org>; Tue, 23 Aug 2011 21:00:00 -0700 (PDT)
Received: from TITUS (50-39-220-175.bvtn.or.frontiernet.net [50.39.220.175]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: jimsch@nwlink.com) by smtp4.pacifier.net (Postfix) with ESMTPSA id E22C638EF0; Tue, 23 Aug 2011 21:01:08 -0700 (PDT)
From: Jim Schaad <ietf@augustcellars.com>
To: "'Richard L. Barnes'" <rbarnes@bbn.com>, 'John Gilmore' <gnu@toad.com>
References: <056.21c83c2b666513905539b3ccb6df6a31@trac.tools.ietf.org> <84B49D08-BE8A-4E02-9EF1-24E993856FF5@vpnc.org> <54C1B56E-7673-4F32-8E7B-25959C121A03@bbn.com> <91A5DF74-6DCB-4530-96A4-46786AB62FCB@vpnc.org> <5F91C397-05BE-4A8A-A5DD-B02B0A832C21@kumari.net> <201108232257.p7NMv886004365@new.toad.com> <DD7FED02-3173-4962-AAE3-5F465D7057AC@bbn.com>
In-Reply-To: <DD7FED02-3173-4962-AAE3-5F465D7057AC@bbn.com>
Date: Tue, 23 Aug 2011 21:36:13 -0700
Message-ID: <00cd01cc6217$5c758fc0$1560af40$@augustcellars.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Outlook 14.0
Content-Language: en-us
Thread-Index: AQHwXbPL2/IzPDFsf9e9Pk9vZhBFJQMMON3xAq/8BzAA6q5ZtAEt7WdeAgh00uACAAlkZpSEiKAg
Cc: 'DANE WG' <dane@ietf.org>, 'Paul Hoffman' <paul.hoffman@vpnc.org>, 'dane issue tracker' <trac+dane@zinfandel.tools.ietf.org>
Subject: Re: [dane] #29: Request new Reference Type - Public Key
X-BeenThere: dane@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: DNS-based Authentication of Named Entities <dane.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dane>, <mailto:dane-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dane>
List-Post: <mailto:dane@ietf.org>
List-Help: <mailto:dane-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dane>, <mailto:dane-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 24 Aug 2011 04:00:01 -0000

> -----Original Message-----
> From: dane-bounces@ietf.org [mailto:dane-bounces@ietf.org] On Behalf Of
> Richard L. Barnes
> Sent: Tuesday, August 23, 2011 7:40 PM
> To: John Gilmore
> Cc: dane issue tracker; Paul Hoffman; DANE WG
> Subject: Re: [dane] #29: Request new Reference Type - Public Key
> 
> Hi John,
> 
> Responses inline.
> 
> On Aug 23, 2011, at 6:57 PM, John Gilmore wrote:
> 
> >> In order to help focus the discussions (and provide guidance to our
> authors), I'm asking the WG to please indicate a preference for text based
> on:
> >> 1: The current wording.
> >> 2: The proposed split (based upon Jim's suggestion (
> >> http://www.ietf.org/mail-archive/web/dane/current/msg03223.html ))
> >> 3: Richard's "very different" proposal (outlined below).
> >
> > It seems to me that you're arguing about the contents of data fields
> > without clearly specifying what algorithms will be used to process
> > those data fields.  If we started with a clear description of the
> > algorithms, it would be a lot more obvious what data needs to exist to
> > support them.
> 
> I actually think we're more or less on the same page here.  The idea of my
> proposal was to describe the relying party actions that each association
type
> entails, and in particular, how it differs from how a client normally
processes
> a certificate according to RFC 5280.  I think a lot of the differences you
> mentions below are really just ambiguities that can and will be clarified
in
> eventual text for the document.
> 
> 
> > For example, Richard's revised proposal says things like "The service
> > certificate MUST pass standard PKIX validation (including chaining to
> > a trust anchor)".  That seems to beg the entire question, by leaving
> > "standard PKIX validation" undefined.  Two sentences later it says
> > that with a different Association Type value, "The service certificate
> > MUST pass standard PKIX validation" while implying that this means
> > WITHOUT chaining to a trust anchor.  So does standard PKIX validation
> > include ... what exactly?  Making sure that the internal length fields
> > are all valid?  Checking the values of the dozens of fields in a
> > certificate -- against what validators, exactly?  Checking for the
> > presence or absence of what fields, exactly?  All unspecified.  Not
> > very helpful for a committee trying to decide whether this proposal is
> > what the draft standard should say.
> 
> Sorry, it was understood that "standard PKIX validation" is the process
> described in RFC 5280:
> <http://tools.ietf.org/html/rfc5280#section-6>
> 
> 
> > Richard's formulation also seems to explicitly eliminate the ability
> > to specify the "service certificate" (or its public key) in the TLSA
> > record and yet not require ANY old-style trust anchors.  But that
> > depends on the subtleties of his Association Type 2: can the service
> > certificate itself be treated as a "trust anchor" in his "standard PKIX
> validation"
> > algorithm?  Or does a trust anchor need to be a separate key/cert from
> > the service certificate?  Answer: it doesn't say!
> 
> You cannot validate an X.509 certificate without reference to one or more
> trust anchors.  (I'm not sure what "old-style" means.)  In Association
Type 2,
> the certificate itself can indeed be used as a trust anchor material, in
which
> case the PKIX validation algorithm will just verify that it is a properly
formed
> self-signed certificate.
> 

Actually as a trust anchor there is no need for the certificate to be
self-signed.  The key is used without reference to any contents of the
certificate except for the public key information.
> 
> > <snip>
> >
> > Both Paul's and Richard's proposals, as well as draft 10, seem to gild
> > that lily by saying at what level of indirection the TLSA record "is
> > permitted to" authenticate a key or certificate.  While I'm sure we
> > can think up an infinite number of possible indirections that would
> > lead to that public key, each one that we add produces another set of
> > security challenges to be analyzed and another opportunity to screw it
> > up.  All the serious cryptographers threw up their hands in trying to
> > analyze IPSEC/IKE because it had so many options that they could never
> > complete a security analysis in less than a career.  Do we really want
> > to define another protocol like that?  Why don't we just specify:
> >
> >  *  If no TLSA record exists, do what the older RFCs say.
> >
> >  *  If the public key in the TLSA record is identical to the public
> >     key that the TLS session is based on (the "service certificate")
> >     then the protocol deems that public key trustworthy for the
> >     purposes of the TLS session.
> >
> >  *  If a TLSA record exists but its key does not match, break off the
> >     protocol and do not trust the server-supplied public key.
> >
> > and be done?
> 
> That's exactly what [Association Type 2, Reference Type = SPKI] does.
We're
> not done by doing that because there are other use cases:
> <http://tools.ietf.org/html/draft-ietf-dane-use-cases>
> 
> 
> > (I also note that the whole draft is written as if it's about
> > "certificates" and "certificate associations", though it also contains
> > wording that purports to make plain public keys useful.  There's small
> > print that giveth plain public keys, but the main flow of text seems
> > to taketh them away.)
> 
> This working group is about supporting TLS.  TLS does not support bare
public
> keys.  So the function of public keys in this context is to identify
certificates.
> 
> --Richard
> 
> 
> _______________________________________________
> dane mailing list
> dane@ietf.org
> https://www.ietf.org/mailman/listinfo/dane