Re: [keyassure] Musing on design based on proposed use cases

Eric Rescorla <> Wed, 30 March 2011 12:42 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id A849E28C17F for <>; Wed, 30 Mar 2011 05:42:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -102.943
X-Spam-Status: No, score=-102.943 tagged_above=-999 required=5 tests=[AWL=0.034, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_LOW=-1, USER_IN_WHITELIST=-100]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id xBXugvg5v8eB for <>; Wed, 30 Mar 2011 05:42:13 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 90CC328C14E for <>; Wed, 30 Mar 2011 05:42:13 -0700 (PDT)
Received: by iwn39 with SMTP id 39so1416996iwn.31 for <>; Wed, 30 Mar 2011 05:43:52 -0700 (PDT)
MIME-Version: 1.0
Received: by with SMTP id iw7mr1112356icb.238.1301489032339; Wed, 30 Mar 2011 05:43:52 -0700 (PDT)
Received: by with HTTP; Wed, 30 Mar 2011 05:43:52 -0700 (PDT)
In-Reply-To: <>
References: <>
Date: Wed, 30 Mar 2011 14:43:52 +0200
Message-ID: <>
From: Eric Rescorla <>
To: "Richard L. Barnes" <>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Subject: Re: [keyassure] Musing on design based on proposed use cases
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Key Assurance With DNSSEC <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 30 Mar 2011 12:42:18 -0000

Without endorsing this design overall...

On Wed, Mar 30, 2011 at 2:40 PM, Richard L. Barnes <> wrote:
> So I think the use cases EKR described are clear enough to design to -- and they're not satisfied by the current design.  ISTM that there will probably be a need for a couple of flags to distinguish the two semantics:
> 1. "critical": MUST require that this cert be present in the chain
> 2. "trusted":  MUST use this cert as a TA
> 3. "exclusive": Trusted + MUST NOT use any other TAs.
> The latter two come with a caveat: Clearly, the relying party can choose to ignore the DANE TAs, so the flag would be a recommendation from the domain owner to the relying party.  (There are clearly interactions between the flags, e.g., no "exclusive" without "trusted"; see table at the bottom.  There are also potential interactions between records w.r.t. the "exclusive" flag.)
> So the proposed validation algorithm would have roughly the following form:
> A. Given a set of DANE records and a cert chain...
> B. Verify that all DANE certs with the "critical" flag set are present in the cert chain

This seems problematic. Say what I'm trying to do is cert lock and I
have multiple servers,
each with its own cert. If I list all the certs, this will obvious break.

> C. [TBD-Consensus] If there is a "critical" EE cert, accept/reject based on exact match
> E. If any DANE record is flagged "exclusive", remove all TAs from the local TA store
> D. Add all DANE certs with the "trusted" flag set to the local TA store
> F. Perform normal PKIX validation