Re: [dane] Draft for serializing DNSSEC chains

"Richard L. Barnes" <rbarnes@bbn.com> Tue, 28 June 2011 19:17 UTC

Return-Path: <rbarnes@bbn.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 A87B611E8177 for <dane@ietfa.amsl.com>; Tue, 28 Jun 2011 12:17:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.599
X-Spam-Level:
X-Spam-Status: No, score=-106.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id T8D2OBUUqQNe for <dane@ietfa.amsl.com>; Tue, 28 Jun 2011 12:17:15 -0700 (PDT)
Received: from smtp.bbn.com (smtp.bbn.com [128.33.1.81]) by ietfa.amsl.com (Postfix) with ESMTP id 2D1FC11E8166 for <dane@ietf.org>; Tue, 28 Jun 2011 12:17:15 -0700 (PDT)
Received: from [128.89.253.252] (port=57344 helo=[172.18.184.238]) by smtp.bbn.com with esmtps (TLSv1:AES128-SHA:128) (Exim 4.74 (FreeBSD)) (envelope-from <rbarnes@bbn.com>) id 1QbdmW-000EfD-95; Tue, 28 Jun 2011 15:17:09 -0400
Mime-Version: 1.0 (Apple Message framework v1082)
Content-Type: text/plain; charset="us-ascii"
From: "Richard L. Barnes" <rbarnes@bbn.com>
In-Reply-To: <BANLkTinugTJB-xhSekN4jn6c9Bv7KcJEFsCa+ZxnwTBcydtXjQ@mail.gmail.com>
Date: Tue, 28 Jun 2011 15:17:02 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <652618FC-437A-42A0-9B4F-DEA8D735DF4E@bbn.com>
References: <BANLkTinugTJB-xhSekN4jn6c9Bv7KcJEFsCa+ZxnwTBcydtXjQ@mail.gmail.com>
To: Adam Langley <agl@imperialviolet.org>
X-Mailer: Apple Mail (2.1082)
Cc: dane@ietf.org
Subject: Re: [dane] Draft for serializing DNSSEC chains
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: Tue, 28 Jun 2011 19:17:15 -0000

Excellent, this matches what I backed out of your example :)

Couple of quick comments:

- Summary: I think it would be clearer to structure the draft as:
  1. Data structure
  2. How to construct the chain starting from a DNS name
  3. How to verify the chain

- It would be helpful to have a description of the data structure in "at rest" form, as opposed to in "parsing stream" form, in order to separate structure from parsing logic. 

- Because the description of verifier behavior is so focused on parsing, the cryptographic verification steps kind of get lost.  It took me a couple of seconds to find the requirement for matching DS and DNSKEY.

- The document doesn't say anything about how to construct a chain starting from a DNS name.  Given that chain.py is 471 lines, this doesn't seem like a trivial process!

- Considering the differences from normal certs, e.g., in naming practices, it might actually be helpful to have a separate certificate profile for DNSSEC-stapled certificates, and to signal it with something like a CP OID (as for EV).  That wouldn't rule out the use of this extension with other types of certs, but it would provide a simple flag that a stapled cert is different from some other self-signed cert.   

Thanks for writing a spec, I think this could be a useful complement to the DANE RR type.
--Richard



On Jun 28, 2011, at 2:22 PM, Adam Langley wrote:

> As promised. (This is also the format that Chrome is using for it's
> DNSSEC stapled certificate support.)
> 
> http://tools.ietf.org/html/draft-agl-dane-serializechain-00
> 
> 
> Cheers
> 
> AGL
> 
> -- 
> Adam Langley agl@imperialviolet.org http://www.imperialviolet.org
> _______________________________________________
> dane mailing list
> dane@ietf.org
> https://www.ietf.org/mailman/listinfo/dane