Re: [dnsext] historal root keys for upgrade path?

Paul Hoffman <paul.hoffman@vpnc.org> Tue, 25 January 2011 19:20 UTC

Return-Path: <paul.hoffman@vpnc.org>
X-Original-To: dnsext@core3.amsl.com
Delivered-To: dnsext@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E61CB3A6816 for <dnsext@core3.amsl.com>; Tue, 25 Jan 2011 11:20:43 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.435
X-Spam-Level:
X-Spam-Status: No, score=-101.435 tagged_above=-999 required=5 tests=[AWL=0.011, BAYES_00=-2.599, HELO_MISMATCH_COM=0.553, J_CHICKENPOX_61=0.6, USER_IN_WHITELIST=-100]
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 lIQM+QQv5D2C for <dnsext@core3.amsl.com>; Tue, 25 Jan 2011 11:20:42 -0800 (PST)
Received: from hoffman.proper.com (Hoffman.Proper.COM [207.182.41.81]) by core3.amsl.com (Postfix) with ESMTP id A0D713A6838 for <dnsext@ietf.org>; Tue, 25 Jan 2011 11:20:42 -0800 (PST)
Received: from MacBook-08.local (75-101-30-90.dsl.dynamic.sonic.net [75.101.30.90]) (authenticated bits=0) by hoffman.proper.com (8.14.4/8.14.3) with ESMTP id p0PJNeJk044405 (version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO) for <dnsext@ietf.org>; Tue, 25 Jan 2011 12:23:40 -0700 (MST) (envelope-from paul.hoffman@vpnc.org)
Message-ID: <4D3F233C.7000900@vpnc.org>
Date: Tue, 25 Jan 2011 11:23:40 -0800
From: Paul Hoffman <paul.hoffman@vpnc.org>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.13) Gecko/20101207 Thunderbird/3.1.7
MIME-Version: 1.0
To: dnsext@ietf.org
References: <alpine.LFD.1.10.1101251250040.30991@newtla.xelerance.com>
In-Reply-To: <alpine.LFD.1.10.1101251250040.30991@newtla.xelerance.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Subject: Re: [dnsext] historal root keys for upgrade path?
X-BeenThere: dnsext@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: DNS Extensions working group discussion list <dnsext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/dnsext>, <mailto:dnsext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dnsext>
List-Post: <mailto:dnsext@ietf.org>
List-Help: <mailto:dnsext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dnsext>, <mailto:dnsext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 25 Jan 2011 19:20:44 -0000

On 1/25/11 9:53 AM, Paul Wouters wrote:
>
> A very large router vendor is about to make it mandatory that new devices
> they produce use dnssec by default. One issue that comes up with that
> is what happens if these devices were off long enough for a rollover to
> have happened and the RFC5011 bit/key has been retired.
>
> Are there plans to create a zone with all old root keys, that all sign the
> DNSKEY RRset (eg rootkeys.root-servers.net) so that having ANY one old root
> key could lead you to get a signed version of the latest root key? This way
> you could disable DNSSEC to resolve rootkeys.root-servers.net, use your
> current key to confirm the latest key, configure it, and drop the cache,
> and you're golden.
>
> Is something like this even possible? I'm not sure what happens to the
> root private keys once they are retired...

It is possible, but not in the way you seem to be thinking. If you 
trusted that hardware/software vendor to securely populate your trust 
anchor store originally, you can trust them to do so in the future as well.

One simple method would be, when you see you have a stale trust anchor 
and no way to use 5011 to get a fresher one, to securely ask the vendor 
for the new trust anchor out of band (that is, not using the DNS). There 
are lots of ways to do this, and none need to be standardized. One 
simple method is to do a HTTP-over-TLS query to a pre-loaded IP address 
that is controlled by the vendor, and validate the session with a 
certificate that is not tied to the DNS. Another simple(r?) method is 
SSH to an IP address controlled by the vendor (and so on).

Bootstrapping is hard, but once you have done it, you can reuse the 
trust logic you used to do it again.

--Paul Hoffman