Re: [keyassure] publishing the public key

Paul Wouters <paul@xelerance.com> Tue, 15 February 2011 02:46 UTC

Return-Path: <paul@xelerance.com>
X-Original-To: keyassure@core3.amsl.com
Delivered-To: keyassure@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 14DFE3A6E18 for <keyassure@core3.amsl.com>; Mon, 14 Feb 2011 18:46:05 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[AWL=0.000, BAYES_00=-2.599]
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 60eacWxH1zhQ for <keyassure@core3.amsl.com>; Mon, 14 Feb 2011 18:46:04 -0800 (PST)
Received: from newtla.xelerance.com (newtla.xelerance.com [193.110.157.143]) by core3.amsl.com (Postfix) with ESMTP id EBD733A6E0F for <keyassure@ietf.org>; Mon, 14 Feb 2011 18:46:03 -0800 (PST)
Received: from tla.xelerance.com (tla.xelerance.com [193.110.157.130]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by newtla.xelerance.com (Postfix) with ESMTP id D92C7C57C; Mon, 14 Feb 2011 21:46:26 -0500 (EST)
Date: Mon, 14 Feb 2011 21:46:26 -0500
From: Paul Wouters <paul@xelerance.com>
To: Scott Schmit <i.grok@comcast.net>
In-Reply-To: <20110215022103.GA2874@odin.mars.sol>
Message-ID: <alpine.LFD.1.10.1102142139560.3131@newtla.xelerance.com>
References: <928BE494-C59D-4FFF-9390-C459A4BC2107@bblfish.net> <20110214124617.GA31136@LK-Perkele-VI.localdomain> <20110215022103.GA2874@odin.mars.sol>
User-Agent: Alpine 1.10 (LFD 962 2008-03-14)
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset="US-ASCII"; format="flowed"
Cc: keyassure@ietf.org
Subject: Re: [keyassure] publishing the public key
X-BeenThere: keyassure@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Key Assurance With DNSSEC <keyassure.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/keyassure>, <mailto:keyassure-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/keyassure>
List-Post: <mailto:keyassure@ietf.org>
List-Help: <mailto:keyassure-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/keyassure>, <mailto:keyassure-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 15 Feb 2011 02:46:05 -0000

On Mon, 14 Feb 2011, Scott Schmit wrote:

> <snip bandwidth considerations, etc>
>
> People keep saying that, but I don't think it's true. This is always an
> option:
>
> In some order:
> * Client looks up bare key in DNS
> * Client connects to TLS service, TLS service sends cert/cert chain

Why does TLS service have to send cert/cert chain? The client already has
all it needs to know, the bare public key and the DNSSEC validation asserting
the key is validated for use.

> Then, instead of comparing the key/hash of key to the whole cert, the
> client picks out the public key and compares them (or their hashes).  If
> they match, use the cert as before.

the problem is if cert now contains a CN=www.paypal.com. Browser vendors do
not want to ever display information that has no been validated, and for
DANE public keys, none of the certificate is validated. This is why its
better not to drag in these things to begin with.

> There are problems with this approach, but I'd rather the conversation
> not stop with "it's impossible to put bare keys in DNS until TLS
> supports it directly!" Instead, I'd prefer we discuss the problems that
> a bare key approach would need to deal with. I suspect most of them are
> at least related to the question of what cert fields to pay attention
> to.

I'd be in favour of this, though I also understand people don't want to add
types for vapourware.

> Some issues that would need to be understood/resolved:
> * the bare key doesn't tell you anything about the algorithm it's for
> (or how to interpret it, really)

The RRTYPE would need to tell you. Currently, we only have the "hash type"
(section 2.2) though that could perhaps be expanded to also contain the public key type.
Or alternatively, we add another field similar to how DNSKEY describes the
key algorithm (and possibly using the same values)

> * a hacker could potentially alter the certificate in some unexpected
> way (usually only affects EE certs if the TA certs are well-protected)
> from what the service owner expected -- whether this matters depends on
> what you were getting out of the other cert fields.

This is why "bare public key" has no PKIX container.

Paul