Re: [DNSOP] Stupid thought: why not an additional DNSKEY record flag: NSEC* only...

Mukund Sivaraman <muks@isc.org> Wed, 04 January 2017 18:35 UTC

Return-Path: <muks@isc.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 8C113129A1F for <dnsop@ietfa.amsl.com>; Wed, 4 Jan 2017 10:35:58 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.235
X-Spam-Level:
X-Spam-Status: No, score=-1.235 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_SOFTFAIL=0.665] autolearn=no autolearn_force=no
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 aBgXlDihg2wK for <dnsop@ietfa.amsl.com>; Wed, 4 Jan 2017 10:35:57 -0800 (PST)
Received: from mail.banu.com (mail.banu.com [46.4.129.225]) by ietfa.amsl.com (Postfix) with ESMTP id 9D75C129A1D for <dnsop@ietf.org>; Wed, 4 Jan 2017 10:35:57 -0800 (PST)
Received: from jurassic (unknown [115.118.146.77]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.banu.com (Postfix) with ESMTPSA id E286F2FA00D5; Wed, 4 Jan 2017 18:35:55 +0000 (GMT)
Date: Thu, 05 Jan 2017 00:05:52 +0530
From: Mukund Sivaraman <muks@isc.org>
To: Nicholas Weaver <nweaver@icsi.berkeley.edu>
Message-ID: <20170104183552.GA29672@jurassic>
References: <FEDF56ED-D27D-44A7-8989-C8920BC6C1CE@icsi.berkeley.edu> <20170104182415.GA29444@jurassic> <ED164FC2-21B2-411B-B828-9D9617D82F30@icsi.berkeley.edu>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="HcAYCG3uE/tztfnV"
Content-Disposition: inline
In-Reply-To: <ED164FC2-21B2-411B-B828-9D9617D82F30@icsi.berkeley.edu>
User-Agent: Mutt/1.7.1 (2016-10-04)
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/XEHZOudafaGIkR3YhVWTiAmkWcE>
Cc: dnsop <dnsop@ietf.org>
Subject: Re: [DNSOP] Stupid thought: why not an additional DNSKEY record flag: NSEC* only...
X-BeenThere: dnsop@ietf.org
X-Mailman-Version: 2.1.17
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: Wed, 04 Jan 2017 18:35:58 -0000

Hi Nicholas

On Wed, Jan 04, 2017 at 10:28:11AM -0800, Nicholas Weaver wrote:
> 
> > On Jan 4, 2017, at 10:24 AM, Mukund Sivaraman <muks@isc.org> wrote:
> > 
> > Hi Nicholas
> > 
> > On Wed, Jan 04, 2017 at 09:33:04AM -0800, Nicholas Weaver wrote:
> >> This way, you can deploy this solution today using white lies, and as
> >> resolvers are updated, this reduces the potential negative consequence
> >> of a key compromise to “attacker can only fake an NXDOMAIN”, allowing
> >> everything else to still use offline signatures.
> >> 
> >> Combine with caching of the white lies to resist DOS attacks and you
> >> have a workable solution that prevents zone enumeration that is
> >> deployable today and has improved security (key can only fake
> >> NXDOMAIN) tomorrow.
> > 
> > Assume an attacker is able to spoof answers, which is where DNSSEC
> > validation helps. If a ZSK is leaked, it becomes a problem only when an
> > attacker is able to spoof answers (i.e., perform the attack).
> > 
> > What you're saying is that with a special NSEC3-only DNSKEY compromise,
> > "attacker can only fake an NXDOMAIN". If an attacker can fake NXDOMAINs
> > and get the resolver to accept them, that's as bad. The attacker can
> > deny all answers in the zone by presenting valid negative answers. This
> > is why we have proof of non-existence that needs to be securely
> > validated. A special NSEC3-only-DNSKEY's compromise isn't a better
> > situation than a ZSK compromise.
> 
> An attacker in that position can just put in garbage, and you get
> SERVFAIL instead of NXDOMAIN, regardless of whether the attacker has
> compromised the key or not.
> 
> This is partially why the provable denial is somewhat silly as I can
> have the same effect as a denial of service using other mechanisms
> that the cryptography doesn’t stop.

An on-path attacker capable of filtering packets is a different
scenario. In this case, nothing can help, not even a secure DNSKEY. When
there's no connectivity, there's no communication.

Off-path attacks are now rarer with source-port randomization and the
introduction of cookies (but we regularly see evidence of attempts to
poison caches).

DNSSEC allows end-to-end validation, where responses do get through and
could be fudged on the way.

> So having a key that can only be used for provable denial compromised
> by an attacker is, yeah, not great, but not some horrid catastrophe.

		Mukund