Re: [dnsext] we need help to make names the same, was draft-yao-dnsext-identical-resolution-02 comment

Nicholas Weaver <nweaver@ICSI.Berkeley.EDU> Wed, 23 February 2011 14:45 UTC

Return-Path: <nweaver@ICSI.Berkeley.EDU>
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 2EA103A6A15 for <dnsext@core3.amsl.com>; Wed, 23 Feb 2011 06:45:41 -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=[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 IubAUfz5o5DB for <dnsext@core3.amsl.com>; Wed, 23 Feb 2011 06:45:40 -0800 (PST)
Received: from taffy.ICSI.Berkeley.EDU (taffy.ICSI.Berkeley.EDU [192.150.187.26]) by core3.amsl.com (Postfix) with ESMTP id 43D353A6A0D for <dnsext@ietf.org>; Wed, 23 Feb 2011 06:45:40 -0800 (PST)
Received: from albook.hsd1.ca.comcast.net (c-67-164-126-174.hsd1.ca.comcast.net [67.164.126.174]) (Authenticated sender: nweaver) by taffy.ICSI.Berkeley.EDU (Postfix) with ESMTP id 18ABC36A582; Wed, 23 Feb 2011 06:46:24 -0800 (PST)
Mime-Version: 1.0 (Apple Message framework v1082)
Content-Type: text/plain; charset="us-ascii"
From: Nicholas Weaver <nweaver@ICSI.Berkeley.EDU>
In-Reply-To: <4D649C0B.40905@necom830.hpcl.titech.ac.jp>
Date: Wed, 23 Feb 2011 06:46:22 -0800
Content-Transfer-Encoding: quoted-printable
Message-Id: <24BA1B5B-5FA3-4A94-8174-B82066702D57@ICSI.Berkeley.EDU>
References: <20110216165921.GW96213@shinkuro.com> <3B90ED2E-980D-4B01-889F-447D66D0B58D@insensate.co.uk> <20110216174011.GZ96213@shinkuro.com> <20110218143653.GC84482@bikeshed.isc.org> <20110218151209.GF66684@shinkuro.com> <4D5EEE09.4080405@dougbarton.us> <20110218222950.GL74065@shinkuro.com> <4D5F270F.20401@abenaki.wabanaki.net> <199C7B2B4228461FB024E59A990DB46D@ics.forth.gr> <4D641DB6.4090705@necom830.hpcl.titech.ac.jp> <20110222205617.GS53815@shinkuro.com> <4D64489B.7020901@necom830.hpcl.titech.ac.jp> <713D992A-1DB9-4F72-9D18-8E923AD51D8D@icsi.berkeley.edu> <4D647551.5060602@necom830.hpcl.titech.ac.jp> <A0895032-7141-4289-8C38-D8A4D287A9E9@ICSI.Berkeley.EDU> <4D649C0B.40905@necom830.hpcl.titech.ac.jp>
To: Masataka Ohta <mohta@necom830.hpcl.titech.ac.jp>
X-Mailer: Apple Mail (2.1082)
Cc: Nicholas Weaver <nweaver@ICSI.Berkeley.EDU>, dnsext@ietf.org
Subject: Re: [dnsext] we need help to make names the same, was draft-yao-dnsext-identical-resolution-02 comment
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: Wed, 23 Feb 2011 14:45:41 -0000

On Feb 22, 2011, at 9:32 PM, Masataka Ohta wrote:

> Nicholas Weaver wrote:
> 
>> Random reported SSL setups per second are ~1500/s for a commodity
>> 64B processor with 1024B keys.
> 
> I think you are saying 1024b keys.
> 
> That's a lot slower than typical number on TCP connections per
> second, which means computation load dominates.
> 
> Considering the following statement in RFC5507 (April 2009):
> 
>   DNS queries over TCP are not subject
>   to this length limitation, but TCP imposes significantly higher per-
>   query overhead on name servers than UDP.
> 
> dynamic generation is not feasible at all.

That is a statement in the RFC I find a bit of a red herring:  I personally find that the DNS community's fear of computation made sense 15 years ago, but we are in the days where 1U servers are massively powerful (8+ core 1U servers are reasonable) and, more importantly, we understand how to make huge cluster servers that can RELIABLY scale to entire data centers.

Remember, a cluster solution is ONLY needed for those heavily loaded authorities (TLDs, cc-TLDs) which require case insensitivity in non ASCII text, which is not all that many anyway.

An authority that has more like a few hundred base names can just run on a single system, cache all the common cases, and call it good.


>> AND such compute nodes could cache the signatures for
>> common conventions, which means you can't computationally
>> DOS the common cases
> 
> DOS will clear the cache. Worse, multiple layers of labels
> increase the number of common cases exponentially, unless
> you introduce redirection by BNAME.

I disagree:

a)  The cache can be VERY large: a few GB or more of ram per NODE is trivial (after all, its hard to buy nodes with LESS than 8 GB of RAM these days).  That can hold a lot of entries.

b)  You don't evict old but active entries, so the DOS attack can't evict the common cases that you've learned.

As long as the DOS doesn't start up when you start for the first time, you can learn the common cases and make sure they remain cached in the face of a computational DOS.


Yes, DOS is a problem, but you can structure it so a COMPUTE DOS can only affect new queries which is a far smaller problem: The problem space may be near eXpoNenTIAl, but people don't type that way.


>> 2048B signatures are only ~4x harder than 1024B signatures
>> computationally to GENERATE,
> 
> As 2048 is not very large that Karatsuba Multiplication is
> not very effective.
> 
>> but vastly harder to crack using brute force.
> 
> If it were vastly harder we should be using 520b key, if 512b
> key was good enough 15 years ago.

No, we should have ALWAYS been using 2048B RSA keys and 256B symmetric keys and 512B hashes.  

"If your crypto is in danger of brute forcing by anything short of a cubic earth of sci-fi nanotech, use a longer key."  

We failed that earlier on, but there really IS no excuse for that now.  And 2048B keys should still be on the order of ~300 ops/s/node.