Re: [DNSOP] DNSOPI-D Action: draft-ietf-dnsop-nsec3-guidance-02.txt

Paul Vixie <paul@redbarn.org> Thu, 25 November 2021 17:13 UTC

Return-Path: <paul@redbarn.org>
X-Original-To: dnsop@ietfa.amsl.com
Delivered-To: dnsop@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B24223A0BF1 for <dnsop@ietfa.amsl.com>; Thu, 25 Nov 2021 09:13:16 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.951
X-Spam-Level:
X-Spam-Status: No, score=-3.951 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-1.852, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=redbarn.org
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vTMl4-v9YemJ for <dnsop@ietfa.amsl.com>; Thu, 25 Nov 2021 09:13:10 -0800 (PST)
Received: from util.redbarn.org (util.redbarn.org [24.104.150.212]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 36B583A0BEC for <dnsop@ietf.org>; Thu, 25 Nov 2021 09:13:00 -0800 (PST)
Received: from family.redbarn.org (family.redbarn.org [24.104.150.213]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by util.redbarn.org (Postfix) with ESMTPS id C84471B2462 for <dnsop@ietf.org>; Thu, 25 Nov 2021 17:12:57 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=redbarn.org; s=util; t=1637860377; bh=W8FkHV3UeuTRFmuBqFBZrmjFNhvtsp5z3KysVYmNrds=; h=Subject:To:References:From:Date:In-Reply-To; b=KWvW3WI8+cektItdYGpG5vskcJakIK0U+v/FUgtdpJrjFDGIdruJTdA/TOaEpa27/ unGpWxaUnpTnrKrfHOPNK8OyHflaqXCB1SepyJIX+hdEDp6r2GSiyTcOVyDyK7j5MW AG+Jkr1ZApR9+W11FTABEazX2ClgU5ZirR08dfyk=
Received: from [IPv6:2001:559:8000:c9:f065:c89a:99f4:2ace] (unknown [IPv6:2001:559:8000:c9:f065:c89a:99f4:2ace]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by family.redbarn.org (Postfix) with ESMTPSA id A650F7597E for <dnsop@ietf.org>; Thu, 25 Nov 2021 17:12:57 +0000 (UTC)
To: dnsop@ietf.org
References: <163777315136.16773.10633006296842101587@ietfa.amsl.com> <yblh7c1fpwf.fsf@w7.hardakers.net> <914ced6b-52c7-9354-4b91-87f80cd26037@pletterpet.nl> <6153c0ed-523a-5225-40ac-5be9fd5e6ed5@isc.org>
From: Paul Vixie <paul@redbarn.org>
Message-ID: <cd65a61a-9c5e-3b6a-29b1-9f38f3d2ec03@redbarn.org>
Date: Thu, 25 Nov 2021 09:12:58 -0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 PostboxApp/7.0.52
MIME-Version: 1.0
In-Reply-To: <6153c0ed-523a-5225-40ac-5be9fd5e6ed5@isc.org>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/M_K-2qjEuhoHxtsMAotlirJ2aDY>
Subject: Re: [DNSOP] DNSOPI-D Action: draft-ietf-dnsop-nsec3-guidance-02.txt
X-BeenThere: dnsop@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: IETF DNSOP WG mailing list <dnsop.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dnsop>, <mailto:dnsop-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/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: Thu, 25 Nov 2021 17:13:17 -0000


Petr Špaček wrote on 2021-11-25 04:00:
> On 25. 11. 21 9:33, Matthijs Mekking wrote:
>> ...
>>
>> 3.1.  Best-practice for zone publishers
>>
>> ...
> 
> This section is IMHO missing a scary warning to explain the reasons. Let 
> add one couple sentences (+ "extra" keyword to differentiate it from the 
> implicit single iteration):
> 
> ----------
> If NSEC3 must be used, then an extra iterations count of 0 SHOULD be 
> used to alleviate computational burdens.
> 
> Please note that extra iteration counts other than 0 increase impact of 
> resource CPU-exhausting DoS attacks, and also increase risk of 
> interoperability problems.
> ----------

+1.

>> On 24-11-2021 18:02, Wes Hardaker wrote:
>>> ...
>>>>     Title           : Guidance for NSEC3 parameter settings
>>>>     ...
>>>>     Filename        : draft-ietf-dnsop-nsec3-guidance-02.txt
>>>>     Pages           : 10
>>>>     Date            : 2021-11-24
>>> ...
> 
> I have an additional comment for section 2.4:
> ...
> I believe that this property renders salt practically useless, so let me 
> propose a modified section 2.4:
> 
> ------------
>     NSEC3 records provide an an additional salt value, which can be 
> combined with FQDN to influence the resulting hash, but properties of 
> this extra salt are complicated.
> 
>     In the cryptography field, salts generally add a layer of protection 
> against offline, stored dictionary attacks by combining the value to be 
> hashed with a unique "salt" value. This prevents adversaries from 
> building up and remembering a single dictionary of values that can 
> translate a hash output back to the value that it derived from.
> 
>     In the case of DNS, the situation is different because the hashed 
> names placed in NSEC3 records are always implicitly "salted" by hashing 
> the fully-qualified domain name from each zone. Thus, no single 
> pre-computed table works to speed up dictionary attacks against multiple 
> target zones. An attacker is always required to compute a complete 
> dictionary per zone, which is expensive in both storage and CPU time.
> 
>     To understand role of the additional NSEC3 salt field, we have to 
> consider how a typical zone walking attack works. Typically the attack 
> has two phases - online and offline. In the online phase, an attacker 
> "walks the zone" by enumerating (almost) all hashes listed in NSEC3 
> records and storing them for offline cracking. Then in the offline 
> phase, the attacker attempts to crack the underlying hash. In this case, 
> the additional salt value can raise cost of the attack only if the salt 
> value changes during the online phase of the attack. In other words, a 
> additional salt value which is constant during the online phase of the 
> attack does not change cost of the attack.
> 
>     Changing a zone's salt value requires the construction of a complete 
> new NSEC3 chain.  This is true both when resigning the entire zone at 
> once, or incrementally signing it in the background where the new salt 
> is only activated once every name in the chain has been completed. As a 
> result, re-salting a is very complex operation, with significant CPU 
> time, memory, and bandwidth consumption. This makes very frequent 
> re-salting unpractical, and renders the additional salt field almost 
> useless.
> 
>     Operators are encouraged to forget the salt entirely by using a 
> zero-length salt value instead (represented as a "-" in the presentation 
> format).
> ------------

+1.

> I'm tempted to put the last paragraph first, because all the rest is 
> justification and I don't want to drown the important piece of 
> information in it.

+1.

vixie

-- 
Sent from Postbox
<https://www.postbox-inc.com/?utm_source=email&utm_medium=siglink&utm_campaign=reach>