Re: [DNSOP] Key sizes was Re: I-D Action:draft-ietf-dnsop-rfc4641bis-01.txt

Paul Wouters <paul@xelerance.com> Fri, 24 April 2009 15:32 UTC

Return-Path: <paul@xelerance.com>
X-Original-To: dnsop@core3.amsl.com
Delivered-To: dnsop@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 436203A68B9 for <dnsop@core3.amsl.com>; Fri, 24 Apr 2009 08:32:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.412
X-Spam-Level:
X-Spam-Status: No, score=-2.412 tagged_above=-999 required=5 tests=[AWL=0.187, 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 UPR0+b1ym0ob for <dnsop@core3.amsl.com>; Fri, 24 Apr 2009 08:32:37 -0700 (PDT)
Received: from newtla.xelerance.com (newtla.xelerance.com [193.110.157.143]) by core3.amsl.com (Postfix) with ESMTP id C62533A67F1 for <dnsop@ietf.org>; Fri, 24 Apr 2009 08:30:50 -0700 (PDT)
Received: from tla.xelerance.com (tla.xelerance.com [193.110.157.130]) by newtla.xelerance.com (Postfix) with ESMTP id 3B7C75705F; Fri, 24 Apr 2009 11:32:03 -0400 (EDT)
Date: Fri, 24 Apr 2009 11:32:02 -0400
From: Paul Wouters <paul@xelerance.com>
To: Shane Kerr <shane@ca.afilias.info>
In-Reply-To: <alpine.LFD.1.10.0904231142590.7788@newtla.xelerance.com>
Message-ID: <alpine.LFD.1.10.0904241052270.26808@newtla.xelerance.com>
References: <20090306141501.4BA2F3A6B4B@core3.amsl.com> <49EDA81E.2000600@ca.afilias.info> <p06240807c613a658a056@[10.20.30.163]> <49EE276C.5070706@ca.afilias.info> <p06240814c613f23a6960@[10.20.30.163]> <49EEF042.3070109@ca.afilias.info> <alpine.LFD.1.10.0904221147060.7510@newtla.xelerance.com> <49EFA9C3.6090903@ca.afilias.info> <alpine.LFD.1.10.0904231142590.7788@newtla.xelerance.com>
User-Agent: Alpine 1.10 (LFD 962 2008-03-14)
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; format="flowed"; charset="US-ASCII"
Cc: dnsop@ietf.org
Subject: Re: [DNSOP] Key sizes was Re: I-D Action:draft-ietf-dnsop-rfc4641bis-01.txt
X-BeenThere: dnsop@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: IETF DNSOP WG mailing list <dnsop.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/dnsop>, <mailto:dnsop-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dnsop>
List-Post: <mailto:dnsop@ietf.org>
List-Help: <mailto:dnsop-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dnsop>, <mailto:dnsop-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 24 Apr 2009 15:32:38 -0000

On Thu, 23 Apr 2009, Paul Wouters wrote:

> So what's your take on 1024 ZSK keys? Are they good for 1 month? 6 months?
>
> I'm trying to come up with justified numbers, but everyone keeps claiming
> they're not a cryptographer :)
>
> But I'm having lunch with one today....we'll see

So interestingly, the cryptographer (Ian Goldberg) started out with saying
that you should not ask cryptographers either, but instead should ask
mathematicians and hardware designers.

He started of saying that there is a huge difference in using a key for
signing, and using a key for encrypting. The first only has to be unbreakable
for the limited time the signed message is still useful to someone else,
where as the encrypted message probably needs to be able to be unbreakable
for much longer, until the secret itself becomes unvaluable. So the
required resilience for signing keys is in the order of years, while for
encryption keys this will be meassured in the order of decades.

So when looking at things like the NIST recommendation for not using 1024
bit RSA keys anymore, you have to realise this difference. Once a signing
key is retired, is has no value left in it.

This also means that the safe period for a signing key is much easier to
adjust (up and down) then the safe period for an encryption key, since
you yourself can decide almost instantly when to retire a signing key.

Pages such as http://www.rsa.com/rsalabs/node.asp?id=2004 take this into
account somewhat, but still mostly compares RSA keysizes with encryption
cipher keysizes (eg with AES) and assume the data needs to be unbreakable
for decades instead of for years.

Ian Goldberg said he would be shocked if 1024 RSA keys would be breakable
within years. And that if space (in the dns packet) considerations were
an issue, 1024 should be fine. And importantly, because it is a signing
key with no need for future safe guards, easy to adjust once unexpected
mathematical (or technological) advanced are made. So we can be
conservative and take DNS packet size and validating resolver resources
into account.

So it seems to me that using 1024 bit RSA keys for ZSK, and 2048 bit
keys for KSK, assuming RFC 4641 rollover periods, are still many orders
of magnitude safe for our use within the DNSSEC realm. In fact, it
seems RFC4641, as written in 2006, is still extremely conservative in
its estimates two and a half years after its publication date.

Note that the same does not apply for DSA. As I understood it, DSA
requires the use of some randomness for each signature, and the errors
in the random number generator are cummulative when attempting to crack
this key.  In other words, the more data you sign, the more vulnerable
you become to the tiniest imperfection in your HWRNG.

Paul
(sorry if all of this was already discussed in 2006)