Re: [Add] data integrity and DNSSEC or DoH/DoT

Brian Dickson <brian.peter.dickson@gmail.com> Thu, 22 August 2019 03:31 UTC

Return-Path: <brian.peter.dickson@gmail.com>
X-Original-To: add@ietfa.amsl.com
Delivered-To: add@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D13CF12003F for <add@ietfa.amsl.com>; Wed, 21 Aug 2019 20:31:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 (2048-bit key) header.d=gmail.com
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 WumLo47meMar for <add@ietfa.amsl.com>; Wed, 21 Aug 2019 20:31:26 -0700 (PDT)
Received: from mail-qt1-x830.google.com (mail-qt1-x830.google.com [IPv6:2607:f8b0:4864:20::830]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F28CE120018 for <add@ietf.org>; Wed, 21 Aug 2019 20:31:25 -0700 (PDT)
Received: by mail-qt1-x830.google.com with SMTP id v38so5937807qtb.0 for <add@ietf.org>; Wed, 21 Aug 2019 20:31:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=KZxIXpPcya58QeGmAi0dt+oRHhqNrpOQT78rURfYCiQ=; b=LcWp45065GaTUZZGB7WakBzwrQssb2NOiM4o6vd7KfL2GT8NNr8v65mTbItUTKS3Bt O76Xi48qHhtBgRAruVr4EcpQCHNnLOgtxlYAx0+a9xXrwitOfb48eMgqZ8IL/2tKUKO6 1IAk0djCGT/wjNJCYfIjmhR2+zFYMiqfUaOKRdi/pdQA8JvykByLrRxtG7bbROar4CUJ a8oXQcMfpnrUzyjWVvozJvQ4/MTeJhB7sZE/fgEhXH6efgdDwXuno4aQogs/eFOCz0zX MOhKoIsDRqnuN1V0JKBWPzV2lUvVqBvFMUT5QPXVrUzgRBLyetPtcCCePIfxqsdM1sXB lVeg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=KZxIXpPcya58QeGmAi0dt+oRHhqNrpOQT78rURfYCiQ=; b=QipmjUW4QNUVrK19gIQpQ5oFTL4EhUSXBofDbEV6/DkTmX1LEYMHfem/F/4NvIv6J1 WTFESAph9o0xaZHSFHUKMIlZdWL31pFFfNoTjMKPliVxBJGgZs82Q8IHtCb8I4lPCPTH 4BLzgvgnBxOLEwsVx8Jef525j4R0g2WL8qBARlTMt/lCHPBCVon7+0Gpmq8HsOwglRJ6 9yV7oIM9nljXYGLUtQznmU27ZOqF3cXwWatGYoPkoI9MPPd9dkPpOvs1JNpanKAsSeXK 0ze4Lwwhm2bHz/MBnW991cxaqrts0rA+i2iDPcXPKroqPhd11OJNOZGTzwb4R4Ionx1p Brcw==
X-Gm-Message-State: APjAAAVn/5/LlxldFoOof9Cm+UsY/dbQxzTpBgOrfGoDGRpluzd6NBPG S6F/+MFDW46BHmmCFDGVXn8=
X-Google-Smtp-Source: APXvYqzssVDSows/hl3mYnq86/7n5Nvf7iCu81vN2DEJ3XJIBJYFiti0W5WeerUfgRyzVVnMx7ebQQ==
X-Received: by 2002:a05:6214:561:: with SMTP id cj1mr20334690qvb.50.1566444684932; Wed, 21 Aug 2019 20:31:24 -0700 (PDT)
Received: from [192.168.2.4] (cpe-76-179-66-50.maine.res.rr.com. [76.179.66.50]) by smtp.gmail.com with ESMTPSA id g24sm13413842qtc.38.2019.08.21.20.31.24 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 21 Aug 2019 20:31:24 -0700 (PDT)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (1.0)
From: Brian Dickson <brian.peter.dickson@gmail.com>
X-Mailer: iPhone Mail (16G77)
In-Reply-To: <1459e7d8-a98d-92e8-8c69-7667d6bb4bdb@cs.tcd.ie>
Date: Wed, 21 Aug 2019 23:31:22 -0400
Cc: David Conrad <drc@virtualized.org>, Jim Reid <jim@rfc1035.com>, ADD Mailing list <add@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <16B52A77-92D0-44F7-866D-D3420D6FE162@gmail.com>
References: <A1128702-1E19-4657-9740-E84AE09992F2@piuha.net> <CABcZeBMfOTjq-8hDDoKMtJvfHUA5nC8o60zuk-2Xe-ZhfwriJQ@mail.gmail.com> <766112E1-F532-4C6B-8CA8-A096671E02EE@piuha.net> <CA+9kkMAfuOwJu8_qJTuhAY4mUwR+tVUxr+k3QFHBk3byV672Ow@mail.gmail.com> <A7EA862E-8E80-40E3-834D-E628988C0A24@virtualized.org> <CAFWeb9KT=2JL0oHUgJ2WMcduR3na+hP2QncvRR4YurmqsAWxTA@mail.gmail.com> <59E0EC53-0E30-431C-8376-52C7BFC121A8@virtualized.org> <CAFWeb9+Z7RmXEr46qx5PaUcxh2R3+HXhrZeW-8QEMX4HLt7a-w@mail.gmail.com> <589DAFCB-1BDC-4156-A2CA-179C4559A6B2@virtualized.org> <cf2152d7-8618-7ad2-b8f9-7a259ab5df19@cs.tcd.ie> <683A176C-3CE6-4866-A736-F2A7465FA5B5@rfc1035.com> <ee8291ce-855f-a5d8-e9d8-74be9f58c321@cs.tcd.ie> <A73CCDC6-5AC4-4780-8B63-B9BD4A7ED70A@virtualized.org> <1459e7d8-a98d-92e8-8c69-7667d6bb4bdb@cs.tcd.ie>
To: Stephen Farrell <stephen.farrell@cs.tcd.ie>
Archived-At: <https://mailarchive.ietf.org/arch/msg/add/Nw8D0MisLFzoeUzcyS4r-377UAs>
Subject: Re: [Add] data integrity and DNSSEC or DoH/DoT
X-BeenThere: add@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Applications Doing DNS <add.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/add>, <mailto:add-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/add/>
List-Post: <mailto:add@ietf.org>
List-Help: <mailto:add-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/add>, <mailto:add-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Aug 2019 03:31:28 -0000



> On Aug 21, 2019, at 6:27 PM, Stephen Farrell <stephen.farrell@cs.tcd.ie> wrote:
> 
> 
> Hiya,
> 
>> On 21/08/2019 23:14, David Conrad wrote:
>> Stephen,
>> 
>> On Aug 21, 2019, at 2:47 PM, Stephen Farrell
>> <stephen.farrell@cs.tcd.ie> wrote:
>>>> DNSSEC and DoH/DoT are not different paths to the same end goal
>>>> of data integrity. They provide different flavours of data
>>>> integrity.
>>> 
>>> I don't agree that the goals are precisely the same as the actors
>>> involved in providing the security services differ. There's a lot
>>> in common, but they aren't identical.
>> 
>> You appear to be agreeing with Jim.
> 
> I often do :-)
> 
>> DNSSEC provides data integrity _for what the zone authority put into
>> the zone_, regardless of how it gets to the client.
>> 
>> A TLS channel between a client and a resolver (DoH or DoT) provides
>> data integrity and confidentiality (and _resolver_ origin
>> authentication)  _for what the RESOLVER chooses to serve_.
> 
> Yep.
> 
>> DoH _will not help_ if the “trusted” resolver is compromised to
>> modify the response (something I suspect concentrating the resolver
>> function will encourage).  DNSSEC would help that particular attack.
> 
> Yep.
> 
> Those are both true statements. There are equally true
> statements that'd demonstrate cases where DoH or DoT do
> better than DNSSEC - IIUC an important one being: given
> the (unfortunate) relative sparsity of DNSSEC signed
> data, the data integrity service that DoH or DoT can
> provide could well be argued to be as good as what a
> client can get via DNSSEC when the full set of queries
> a client makes are taken into account.

Actually, no, it cannot, at least if the only trust anchor on the DNSSEC validation is the ICANN/IANA root trust anchor.

The protection of data integrity is almost entirely a dependency on whether the resolver validates DNSSEC or not.

If the resolver does not validate, then the resolver is in an unknown data integrity situation for DNSSEC signed zones. Use of DoT/DoH to such a resolver does not change anything. It is strictly garbage in, garbage out (or clean data in, clean data out if no data tampering was attempted). DoX neither elevates nor lowers the integrity of the data compared to the original zone data. NB: If the incoming DNS data was altered, the adversary succeeds EVEN IF THE DATA WAS DNSSEC SIGNED.

Comparing against anything other than the original zone data is meaningless (with the exception of filtering services, which is relevant only if the client opted in to using a resolver that does such.)

A non-DNSSEC zone is basically fair game, irrespective of any validation or channel security. In addition to on path attackers, unsigned zones can be attacked at the resolver by off-path adversaries. They are also susceptible to local attacks on the resolver server itself, and to malicious activity by insiders. 

A DNSSEC signed zone validated by the DNS end client is immune to all of these attacks, reducing otherwise successful attacks to DOS.

If the resolver does validate, DoT/DoH adds nothing at all to the data integrity state.

Here is where it is fair to compare DoX to DNSSEC: From a validating resolver to a client.

The data integrity starts in a known state on the validating resolver.

DoX prevents changing the data integrity via channel security.

DNSSEC “prevents” changing the data integrity via cryptographic signatures which prevent tampering by detection of tampering.

(Both DoX and DNSSEC are susceptible to DOS by an on-path adversary.)

In summary:
If the resolver validates DNSSEC signed data, DoX and client DNSSEC validation have exactly the same protection against tampering.
If the resolver does not validate DNSSEC signed data, a DNSSEC validating client can still detect tampering and protect itself, whereas DoX does not and cannot.

If the data is not DNSSEC signed, the only path component protection occurs between the resolver and client.

A risk analysis of DNS vs tampering would show the place to attack DNS is not on the client side, but rather on the authority side. The reason is that a single successful attack impacts ALL clients rather than a single clients. This also means the more clients a resolver has, the more valuable it is to an attacker.

As to the perceived value of DNSSEC based on how many domains are signed, there is more to this than numbers or percentages.

The flaw is in treating all domains as equally valuable, rather than weighting those values.
You can get to a very high percentage of aggregate value with a small number of zones, if the small number are particularly important, like all of the Fortune 500 or all national governments or a significant portion of critical infrastructure or a combination of those.

And in particular, the value to the individual domain owner doing DNSSEC is ignored in use of raw numbers alone. The value of DNSSEC to joes-bait-shop.hosted-dns.example.com is likely a lot less than iana.org or whitehouse.gov (I’m guessing).

A large bank or government department, for examples, is probably already using DNSSEC. Clients who neither use a validating resolver nor do client-side validation are failing to protect themselves.

Even if the raw numbers are not so great today, if they improve drastically (eg up to 40% of all of DNS zones) in 2020, IMHO it behooves us to not reject those protections, which the domain owners themselves have selected; architectural and operational decisions should be being made in a manner compatible with DNSSEC validation.

Remember, the signing in DNSSEC is not done by the resolver operators, it is done by domain owners themselves (or parties to whom they have outsourced this).

Brian