Re: [DNSOP] Working Group Last Call for draft-ietf-dnsop-dnssec-validator-requirements

Daniel Migault <mglt.ietf@gmail.com> Thu, 15 June 2023 21:21 UTC

Return-Path: <mglt.ietf@gmail.com>
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 1F70EC151532 for <dnsop@ietfa.amsl.com>; Thu, 15 Jun 2023 14:21:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.095
X-Spam-Level:
X-Spam-Status: No, score=-2.095 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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=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 ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id G8SteNnvXI-h for <dnsop@ietfa.amsl.com>; Thu, 15 Jun 2023 14:21:00 -0700 (PDT)
Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com [IPv6:2607:f8b0:4864:20::632]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 250FDC151525 for <dnsop@ietf.org>; Thu, 15 Jun 2023 14:21:00 -0700 (PDT)
Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-1b50394a7f2so515885ad.1 for <dnsop@ietf.org>; Thu, 15 Jun 2023 14:21:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686864059; x=1689456059; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=ZCqvlJgg9LqcrMjwQl7tPDEbXEQfsfWL7+VqlWPCF7A=; b=f/cfp/ANefMEdA7KD+1yKNUxpluCT9sF+LtSZ/bNhHhNhS1YNwZyrKT7s3IJ+am9/i 4H7jgDtgPwjbAL4GNvBSRtpzLCg07Dkutke/oFbSqNve2UloTmZR18UPAdNkK8Xznpgf AbG5PDOLapOWF6pPjFMI/UliXCwNQL6cAEiaBT7N2a6E3wgG5vJjxZ8RPflb79h83i+R oBTr56snLE6Q4IGbsunD1Gp+NMWBvT94hgMCJbXw0y287q0Ri/8eJh8B8Z84tyRXYLHA JiyaLRb24UjR5YcBBI6Wv/PLiBITMvges/HSSKvgXg2/120KR/uWD2YMdn3/dZaFVC/o P8rw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686864059; x=1689456059; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ZCqvlJgg9LqcrMjwQl7tPDEbXEQfsfWL7+VqlWPCF7A=; b=LzfOxvwVUDTbRNbINUp3NUvQ+a+5Y4VNKi7/eKoQ1rZ212VB5HmZzPhEyYuZZd+Q3j KYUQFuS98AjOe+kqK+uoyA3R7Hvnq8qiSznMFX3BbCevlINrO5SdOg+8iGanmmtfnitA WXtNhM05rmVf1j7cqY/QnbNk+xQZAQoqnZe1mAM0r+XDhnHa6ZzH5M24cYFBAdHxyrBt jb4CDFE6L4rZ0eukiNl267FwX2IdVmA9gmHVb1YPxN1dRvNIaC2R26NpzPcepdXUSRQz 2uQtnOeS3jIi+OCZcA918ZCZ3qaAW1XeOSLQqYni+NGGA+3vpFYoujJ4Fns1RKBH+UCJ tJkQ==
X-Gm-Message-State: AC+VfDxn5KDU/h6Up/YmffaHEu+x97VnX4xUXhQFQkdCcrO/QgxgM46c sgE0nNBMwKZGJHpOdgbw1REcNNXrJC5PHSu4cjdza72BY8k=
X-Google-Smtp-Source: ACHHUZ47hLyd29WpCw3FZVXOn1h9zNT3lQgew3aCERNT01Kephxm43g23LBP+qC2UNW/Ae+h02NfhM9b8u9H9ngnVlY=
X-Received: by 2002:a17:902:8647:b0:1b3:97a7:c106 with SMTP id y7-20020a170902864700b001b397a7c106mr148996plt.52.1686864058946; Thu, 15 Jun 2023 14:20:58 -0700 (PDT)
MIME-Version: 1.0
References: <CADyWQ+FwRaSdpSWXBDqCG9ZPNPiG4pGUx37PVtExbqVPr5ZfmA@mail.gmail.com> <ZF6rFlfM7LKObUnQ@straasha.imrryr.org> <CADZyTkn21Z4weUYqmWn1B7_8RnKxd08qnRtDb57MZGgYuASgvA@mail.gmail.com> <70c1c218-35dc-b162-48aa-9756298849da@desec.io> <CADZyTknk-yrWsKthp0fLbHseHHwKW7n2eKiyTmP4xVoohbb7kA@mail.gmail.com> <1f406c57-f56d-855e-84a6-edeb8bd05cb7@desec.io>
In-Reply-To: <1f406c57-f56d-855e-84a6-edeb8bd05cb7@desec.io>
From: Daniel Migault <mglt.ietf@gmail.com>
Date: Thu, 15 Jun 2023 17:20:47 -0400
Message-ID: <CADZyTk=_bweyC9p6jwRiqUFK-ravJewJ5iDXoo0LD8X0A_3z-w@mail.gmail.com>
To: Peter Thomassen <peter@desec.io>
Cc: dnsop@ietf.org
Content-Type: multipart/alternative; boundary="000000000000049dff05fe31a5d3"
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/FRa1bnEQ6LlQ4tG2DW4tcjKy7D0>
Subject: Re: [DNSOP] Working Group Last Call for draft-ietf-dnsop-dnssec-validator-requirements
X-BeenThere: dnsop@ietf.org
X-Mailman-Version: 2.1.39
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, 15 Jun 2023 21:21:04 -0000

Hi Peter,

Thanks for the feedbacks. I agree that the idea of shortening the TTL based
on all TTLs of the chains may be too intrusive and not respect the
willingness of the authoritative server - which also needs to be taken into
account. One other reason we removed such recommendation was also that it
is not implemented and would somehow give the message that to operate a
resolver some checks remains to be implemented. I also discussed with ISP
for which that issue seemed acceptable. As a result we removed such
recommendations. The current draft only mentions the possibility to cap all
TTLs which is an existing mechanism enabled by default I think with a 1 day
default TTL.

I agree with the example you provide, and this is exactly the example I
think we started with. As far as I know, I do not think that mechanisms can
easily implement the mechanism you mention - which is very similar to the
one Viktor provided and the one we had initially in mind. I think the
reason is that a hash table is used to store the RRsets in the cache.  This
is why we came to shorten the TTL right before caching the RRSet. We
expected that mechanism to be easier to implement as there are already some
operations around the TTL ( like Hammer for example ). This discussion also
pushes us to avoid implementing non standard mechanisms - or at least to be
careful.

Yours,
Daniel

On Fri, May 19, 2023 at 5:18 AM Peter Thomassen <peter@desec.io> wrote:

> Hi Daniel,
>
> On 5/18/23 02:26, Daniel Migault wrote:
> >     On 5/17/23 22:01, Daniel Migault wrote:
> >      > I agree but as far as can see the cap of the TTL with a
> revalidation will only resync the resolver and the zone more often than
> could be expected otherwise but does not result in the cached RRsets
> differing from those provided by the zone.
> >
> >     These two things are not the responsibility of the resolver. It is
> precisely the task of the TTL to set the expectation for expiry and, when
> changes are made, for the convergence time to eventual consistency.
> >
> > I agree but if a DRO can implement some mechanism that avoids the cache
> to remain incoherent,
>
> No, it is almost a defining feature of the DNS that it only gives
> eventually consistent responses. The DNS is not a real-time database.
>
> > I think that is good - especially in a situation where many
> different zones are involved. Typically, the DRO remains the one serving
> responses and if one says: the cache does not reflect what I see on the
> authoritative side...
>
> Some may find that unfortunate, but capping TTLs at the lowest value in
> the trust chain harms scalability.
>
> In addition, when resolvers apply various ways of "fixing" the auth's
> TTls, behavior will end up differing across the Internet. That harms
> interoperability and makes debugging harder.
>
> > this is seen by many MNOs as an issue.
>
> How can it be an issue if the zone operator declares that this is the TTL
> they want?
>
> It's completely legit for an auth to set a TTL of (say) 1 day, at the cost
> of slow updates, but with the benefit of more resiliency against short
> period of auth unreachability. Why take that flexibility away from them?
>
> > Then, do we have an easy way to implement Viktor's revalidation ? TTL
> cap is at least a (costly) way to implement it.
> >
> >
> >     That said, I still don't understand what it's needed for: it seems
> that it's just not necessary to do revalidation / refetches (= early
> expiry) after the minimum of TTL_RRset and all of the TTL_DNSKEY, TTL_DS in
> the chain; you can achieve the same output reliability by doing it when a
> change in the trust chain is detected and validation would otherwise fail.
> >
> > Then I might be missing how this could be implemented. How do we check
> that the validation will fail? Does the resolver check the key tags for
> every response ?
>
> There is no extra check. Imagine the following situation:
>
> Day 1
> - DS/DNSKEY TTL 1 hour, records fetched at 10:30am UTC
> - MX TTL 24 hrs, record fetched at 10:30am UTC
> - cache otherwise empty
>
> Day 2
> - DS/DNSKEY not currently in cache (expired 1 hour after the fetch on Day
> 1)
> - MX TTL is still valid! (until 10:30am)
>
> Imagine that some time in the morning of Day 2, the AAAA record is
> queried, let's say at 06:00am UTC. The DS/DNSKEY records are have long
> expired from the cache (on Day 1), so they will also be re-fetched in order
> to validate the AAAA response.
>
> If the DS and DNSKEY records turn out are the same as before, no problem.
> But let's say that the re-fetched the keys have changed completely since
> yesterday, for whatever reason. The resolver will then use the new key
> information to validate the AAAA response.
>
> And it is *now* that the resolver could say "oh, actually, I still have
> this MX record cached until 10:30am, but I know that the keys I used for
> its validation are no longer there". The resolver COULD then remove the MX
> record from the cache.
>
> This is very different from applying the minimum of the various TTLs: when
> you do that, the MX record would already have expired on Day 1 at 11:10am.
>
> I'm fine with resolvers doing that, but I'm not in favor of a general
> recommendation. It's primarily the zone maintainer's task to get their zone
> content in order.
>
> Best,
> Peter
>
> --
> https://desec.io/
>


-- 
Daniel Migault
Ericsson