[DNSOP] Re: A question regarding DNSSEC validation
Shumon Huque <shuque@gmail.com> Mon, 20 April 2026 20:17 UTC
Return-Path: <shuque@gmail.com>
X-Original-To: dnsop@mail2.ietf.org
Delivered-To: dnsop@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id CDEB5DFBC7A1 for <dnsop@mail2.ietf.org>; Mon, 20 Apr 2026 13:17:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1776716260; bh=mrhtx6snvF3mdAS/JIvlBguh4Pv7zpkpt3d+D6P/xsg=; h=References:In-Reply-To:From:Date:Subject:To:Cc; b=CVlAIN/8GRQI6TyHF8pAJ8HUTtNgBsFXQUBGxABTBCnSKD3EAqGm2w/vzk+cieDTW Bu3kGUYbY0MF1RCgfEG3Irx77m0i2upgw79paN0qF9s++8zOnOvD3grbAmAr8G0hYr /C5UX7I6N0Plu0hmT8047wyIXmp1+uc8ZhNHYeMQ=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Hb1zSydQtTxx for <dnsop@mail2.ietf.org>; Mon, 20 Apr 2026 13:17:40 -0700 (PDT)
Received: from mail-ot1-x32b.google.com (mail-ot1-x32b.google.com [IPv6:2607:f8b0:4864:20::32b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 38673DFBC794 for <dnsop@ietf.org>; Mon, 20 Apr 2026 13:17:40 -0700 (PDT)
Received: by mail-ot1-x32b.google.com with SMTP id 46e09a7af769-7dbb89ab229so3383149a34.1 for <dnsop@ietf.org>; Mon, 20 Apr 2026 13:17:40 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1776716259; cv=none; d=google.com; s=arc-20240605; b=A+rGoJGdpTV3US5eVyix/Ds27EqamxhC7c2UCm+QbO1VH8adLQo4bKhkqgo+bpdv1O tDF0iFVq8yJeCDe6682Tv/4X5J+7OBNRFQ2p2LnKEyhHpRoH8PTELyskhSspLWxTi+pv mkqtaoDlFlVxBBnb6UBl8AwBGP050wZsCygFwmioR59khHkHf9BGdQn9R/dR8xTDaZPr k4HhnpSMarW+S/WhH8Hg2j0SMpv4nM+RgPZ4q7zhVfus8S2EztYEcEHZG1CxF/yqwywA vvC1xr5aAtTYZh7M3AkMNkyAuZgPXShxjKUCSZY+1IvmLM86oK6wPNlFyhqiyTVrb6WX sOWg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=vLrlKC3SMdVMZas0Xm9ehZvRyrV5EfwLdWPj30CsAss=; fh=2mTFYRkZPoim5UyGBjpIGydJv13AFGX+JSxar0j54Ls=; b=NQnLL9g7ZMPnxv21u968l42pQk4ROz9VLDsumy+n6gNMjp2irggpbbq8E6TvLLvEYh nUKcyM/CpuKUmq7xL3BKuCIN6QXDmL3nR9a3FohtmmMy9YcFlJBqCHXXVbYCP4E4Oyzn 6isFgAERBFFjgCI1liPhK0JWhWT0tZsm8DXLlI7OvL+J9Xtv2UhItDHUY6cGkqc5u2Mk QramJaXYh+22cv32ppPNJh67twf6ZP0NDYW5um+qEa31agDifnrJaNs82u5vy8VIiquW SbjWeM3npnEy81akyBLEW79qUc5XIjjRcdKnISxbyv6yZsul3FbT/ozkNBXGguC/0NBD tNUw==; darn=ietf.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776716259; x=1777321059; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=vLrlKC3SMdVMZas0Xm9ehZvRyrV5EfwLdWPj30CsAss=; b=DtAy4BABMfTRdqiDaDDpVeC3axRRtV24phQjhQSCWQPdBeN2pabZ+Lpb5Ga+WN7VEb 1ie1VP3Np35h0hPnHYjcSHMXC7V33e7mGNZthuzXLeIXCkPWdnIz8OJSdH29F8Z/k2kg 7Mr1s4mG8sHbGIevIIOb22TXlUVxlM/BWNXJC8Xs2jltPzS87dXACIwHqLYIVVQwT9ti zAKK6a/F2ovXCbAMOwHZ6BfT6vF8ZDjo8Ix8jy9Gc09pL1e9yC7DZAQk2XkppooFw4JO 5l3d8Hife+IDPkjHMxc/qoZkpnXZgK9cNBndsVnm9TJrf4JU/GcocuCxMRc5RqXR9EkU uGCw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776716259; x=1777321059; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=vLrlKC3SMdVMZas0Xm9ehZvRyrV5EfwLdWPj30CsAss=; b=DNkmVOt7NKG78dQs2hoxqlU1HpMWpUGTh5QwUAt79smKZZdkp/1HsJGqYCn+8zC8i4 iNIqMAWfDfWDIgXF2SrI/IinRIJgCSe07f0JgRVGdeenqWARpIjSuLaYVuAAttXs5bE+ u819fHY/HFDajbrtZd8ArG7AS/HUXevtHBAa9MMgPk7FUGGGYW6q9vAurrrv+EDtST2j ZX+YCJFqBS/ET9Wbd4iLXuOGQOALHufIVu8rmOujew2VgzT0Bvqk3Icrv1eo10SbmWzK Y7AgSSL+yDPrGTtbAYom6SqdtOZrLgTPuhyLeuXpXwjaqYYsn8LcnDZfhqfsWmc5laPe aTOQ==
X-Forwarded-Encrypted: i=1; AFNElJ9IVshFB09Nl9a0BzPgsZFYNfN3rp1UENKXgBBzz4awvyL2CyTnleeKy2kyTlDiNTSROdwr5A==@ietf.org
X-Gm-Message-State: AOJu0YytY/eb8fHLKScHbxSYhbmrXocAvNZDeofkxBEgs1orXycaEDtC u3CTP5bwEhKHRa5E8lrA8OoNiTbLlvTNH7/tNVU0qHMwJIpKmOPbcBBf4bD+zNSLPhl9wPlR7Bp xrg4YN9MdLaChAvc5eLasjT2nBILkgCI=
X-Gm-Gg: AeBDiesWCHEiXfeuv9gXpCsAFSemkjyy2WJsHmZYbcWoWQfRqCm/zfbHytt0LbmsdMc uPltT0AuKKG3CrjjwS3xL0YVNROE8OSMPUZ9UM+aGr9Tl/HZv0V0vNwUyzl0KPvs2Q8JmoyvmY+ bY66oFzDU9JXPvWvXazxaJsfVqzK80EMvMTVAfpiTAv0FKInp2ahMLiLkLlh+8w4FQ1J12PUhki zdlCaao98aAQJFAv6TbCFad/XGblet9qDDmy3V4nhXtrGimNKjVFdYCgr7OGjiuPN/EUNka4hHM PntgAI7DwngW83JyPw==
X-Received: by 2002:a05:6830:f95:b0:7d7:b683:c279 with SMTP id 46e09a7af769-7dc94f9a21dmr9396767a34.3.1776716259033; Mon, 20 Apr 2026 13:17:39 -0700 (PDT)
MIME-Version: 1.0
References: <749d198c.101a.19d93e2675d.Coremail.scooct@163.com> <CAOdQrVMv+PhzCc1_=uAqb=qWeF53um5VwnkhPFsSgK40XSt=yw@mail.gmail.com> <907eeced-4878-4d55-b3cb-48ecd6b9a780@nic.cz>
In-Reply-To: <907eeced-4878-4d55-b3cb-48ecd6b9a780@nic.cz>
From: Shumon Huque <shuque@gmail.com>
Date: Mon, 20 Apr 2026 16:17:27 -0400
X-Gm-Features: AQROBzBPbdxRgqyjDMgJyM8zvc5MjKBSk_SCa69CoTgWh5GG7rQHFgaOpii6tfM
Message-ID: <CAHPuVdWog2kHVG_zYDfo_JJjoHaMbyLjf0_j_6iEZ=d5UvReFg@mail.gmail.com>
To: Libor Peltan <libor.peltan=40nic.cz@dmarc.ietf.org>, dnsop@ietf.org
Content-Type: multipart/alternative; boundary="0000000000007c872c064fe9fd85"
Message-ID-Hash: TBH3WRC3MTY5MCUTASAEVTZDSFVJVPRI
X-Message-ID-Hash: TBH3WRC3MTY5MCUTASAEVTZDSFVJVPRI
X-MailFrom: shuque@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-dnsop.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Ben Schwartz <bemasc=40meta.com@dmarc.ietf.org>, Cathy Zhang <scooct@163.com>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [DNSOP] Re: A question regarding DNSSEC validation
List-Id: IETF DNSOP WG mailing list <dnsop.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/xtY8iwqB8ee2oYcl2awpvI3PA3s>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dnsop>
List-Help: <mailto:dnsop-request@ietf.org?subject=help>
List-Owner: <mailto:dnsop-owner@ietf.org>
List-Post: <mailto:dnsop@ietf.org>
List-Subscribe: <mailto:dnsop-join@ietf.org>
List-Unsubscribe: <mailto:dnsop-leave@ietf.org>
On Fri, Apr 17, 2026 at 1:16 PM Libor Peltan <libor.peltan= 40nic.cz@dmarc.ietf.org> wrote: > First of all, I think this mailing-list is not an optimal channel to ask > such quetsions. > I think this is a reasonable channel for this discussion. The DNS protocol specs do not in my view adequately describe robust retry and failover, and I think they should. From time to time I encounter resolvers that do not do this properly and lead to availability issues, such as failing immediately on an unvalidatable DNSSEC response from a single nameserver for the zone and causing an outage for the application involved. We often have to spend a bunch of time tracking down what is broken in the customer's resolver infrastructure - sometimes it is the DNS resolver implementation, and more infrequently it is some security appliance in their local network that interfered with the DNS resolver's ability to retry. If we can identify the resolver service or implementation, we generally have success instructing the customer to stop using it, but this again takes effort. It would be nice if I could concretely point people to a specification document that says how to do this correctly. But I feel a need to slightly correct Ben: in most cases, if a resolver > receives a DNSSEC response that fails to validate (so called BOGUS) for any > reason (e.g. missing or invalid RRSIG), it tries to query another > authoritative nameserver for that zone. Only after all are tried and all > are BOGUS or unreachable (or erroneous in other ways), the resolver will > conclude SERVFAIL to the client. Of course there are many exceptions when > the described is not entirely true. But I guess no sane resolver would > re-try querying the same authoritative nameserver after a while. > Yes, I agree. By and large, I think most of the open source resolvers (Unbound, BIND, Knot) do this correctly. I agree with Philip's later comments on the thread that "attacks" that attempt to falsify responses appear to be relatively rare (though how can we know for sure, because they are often very targeted). But attacks are not the only reason resolvers need robust retry and failover behavior. DNS server infrastructure deployed in the field very frequently has broken servers or other components. I've lost track of how many times I've seen a subset of name servers for a zone giving out some form of bad responses (bad signatures, missing signatures, expired signatures, error response codes, etc), and DNS resolvers should be able to deal with this reality. In draft-zhang-dnsop-ns-selection (now expired) we attempted to address this topic with the following text: 5.5 Proper Retry and Failover To avoid leading to another issue: lack of availability and robustness, we re-emphasize here the importance of appropriate retries and failovers. All DNS resolvers should automatically retry and failover to other nameservers for a DNS zone when they encounter a nameserver that is unresponsive or providing an erroneous response. Not only must resolvers have a robust retry and failover algorithm, but no middlebox or network appliance interposed in the local traffic path of resolvers should interfere with their ability to perform retry and failover. Experience has shown that there is a small percentage of deployed DNS resolvers in the field that do not robustly failover to alternate name servers leading to availability issues. Importantly, the retry and failover mechanism needs to be balanced with the requirement to bound the resolver's work (R4). A proper retry and failover design also makes resolvers robust against attacks where an adversary is attempting interfere with DNS responses from authoritative servers in an attempt to cause an outage (e.g. by blocking responses), or in an attempt to redirect clients (e.g. by modifying responses that could be detected with DNSSEC validation). As long as the attacker is not able inject these attacks along the traffic path to all or most of the authoritative servers for a zone, a resolver with robust retry and failover behavior should be able to successfully resolve names within that zone. Some of the specific conditions under which a DNS resolver should retry other nameservers for a zone include an unresponsive name server, a nameserver giving an erroneous response (any response code other than NOERROR or NXDOMAIN), a nameserver giving responses that cannot be authenticated, such as responses with missing DNSSEC signatures when they were expected to be signed, responses with bogus or expired signatures, etc. I look forward to feedback on this text. Shumon.
- [DNSOP] A question regarding DNSSEC validation Cathy Zhang
- [DNSOP] Re: A question regarding DNSSEC validation Ben Schwartz
- [DNSOP] Re: A question regarding DNSSEC validation Libor Peltan
- [DNSOP] Re: A question regarding DNSSEC validation Edward Lewis
- [DNSOP] Re: A question regarding DNSSEC validation Mukund Sivaraman
- [DNSOP] Re: A question regarding DNSSEC validation Cathy Zhang
- [DNSOP] Re: A question regarding DNSSEC validation Edward Lewis
- [DNSOP] Re: A question regarding DNSSEC validation Philip Homburg
- [DNSOP] Re: A question regarding DNSSEC validation Ben Schwartz
- [DNSOP] Re: A question regarding DNSSEC validation Mukund Sivaraman
- [DNSOP] Re: A question regarding DNSSEC validation Ben Schwartz
- [DNSOP] Re: A question regarding DNSSEC validation Petr Špaček
- [DNSOP] Re: A question regarding DNSSEC validation Petr Špaček
- [DNSOP] Re: A question regarding DNSSEC validation Shumon Huque
- [DNSOP] Re: A question regarding DNSSEC validation John Kristoff
- [DNSOP] Re: A question regarding DNSSEC validation Shumon Huque
- [DNSOP] Re: A question regarding DNSSEC validation Philip Homburg
- [DNSOP] Re: A question regarding DNSSEC validation Michael Richardson
- [DNSOP] Re: A question regarding DNSSEC validation John Levine
- [DNSOP] Re: A question regarding DNSSEC validation Mark Andrews
- [DNSOP] Re: A question regarding DNSSEC validation Philip Homburg
- [DNSOP] Re: A question regarding DNSSEC validation Ondřej Surý
- [DNSOP] Re: A question regarding DNSSEC validation Edward Lewis
- [DNSOP] Re: A question regarding DNSSEC validation Shumon Huque
- [DNSOP] Re: A question regarding DNSSEC validation John Kristoff
- [DNSOP] Re: A question regarding DNSSEC validation Shumon Huque