Re: [dmarc-ietf] DMARC2 & SPF Dependency Removal

Scott Kitterman <sklist@kitterman.com> Fri, 09 June 2023 15:33 UTC

Return-Path: <sklist@kitterman.com>
X-Original-To: dmarc@ietfa.amsl.com
Delivered-To: dmarc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A9D4CC14CE38 for <dmarc@ietfa.amsl.com>; Fri, 9 Jun 2023 08:33:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.398
X-Spam-Level:
X-Spam-Status: No, score=-4.398 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, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_ZEN_BLOCKED_OPENDNS=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=neutral reason="invalid (unsupported algorithm ed25519-sha256)" header.d=kitterman.com header.b="eVNPjcLe"; dkim=pass (2048-bit key) header.d=kitterman.com header.b="nYNyBw/z"
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 Z3ibp8RfFI_S for <dmarc@ietfa.amsl.com>; Fri, 9 Jun 2023 08:33:49 -0700 (PDT)
Received: from interserver.kitterman.com (interserver.kitterman.com [IPv6:2604:a00:6:1039:225:90ff:feaa:b169]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 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 CC398C14CEED for <dmarc@ietf.org>; Fri, 9 Jun 2023 08:33:48 -0700 (PDT)
Received: from interserver.kitterman.com (interserver.kitterman.com [IPv6:2604:a00:6:1039:225:90ff:feaa:b169]) by interserver.kitterman.com (Postfix) with ESMTPS id 35C6FF802A3 for <dmarc@ietf.org>; Fri, 9 Jun 2023 11:33:35 -0400 (EDT)
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/simple; d=kitterman.com; i=@kitterman.com; q=dns/txt; s=201903e; t=1686324800; h=from : to : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type : from; bh=zokGTHu/x5tCkpl4G0Mf/rVrLZRq2EjTwb0M+mMRcmo=; b=eVNPjcLeGbfHUgXP6fgyNRP9S4DrfrGubAyj4s0FsWAJXYuil9IlbndEkwDLkGJAGTdf2 oKQ9RY6f2dLv1yFDg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kitterman.com; i=@kitterman.com; q=dns/txt; s=201903r; t=1686324800; h=from : to : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type : from; bh=zokGTHu/x5tCkpl4G0Mf/rVrLZRq2EjTwb0M+mMRcmo=; b=nYNyBw/zwhEMx8+dZ3EbapQ1/L5ene+eYuB+2bSTKi+Hg38jGw8AXqTSVraUprRxGtF2w IeJ40D+JOJg/+phHKYGeDrSbV0HlCce1HJLotrRQfzoggnplDGJaDgV6U4xlTCzMRo+2lF3 PiG9ZVvrvH9wXfcgTm+3553BwuunNPQWHBKXf88+2TpSSpOuwWCZp8+mohcIYKc7fvdoXni w511tsumtHk7CpgIWxZ6S6azNFIipmb1/CfwDpljSfsepOFX8TyAHGb+peLZXYUjJq0XZLR Iz5SVNZ3w79yAoQiufHTbQbSEz4LZxucHdPGjI6vArmFw5BR1lktKj1dEIMw==
Received: from localhost.localnet (static-72-81-252-22.bltmmd.fios.verizon.net [72.81.252.22]) by interserver.kitterman.com (Postfix) with ESMTP id 37579F8018E for <dmarc@ietf.org>; Fri, 9 Jun 2023 11:33:20 -0400 (EDT)
From: Scott Kitterman <sklist@kitterman.com>
To: dmarc@ietf.org
Date: Fri, 09 Jun 2023 11:33:16 -0400
Message-ID: <2817813.dRqVH37e0G@localhost>
In-Reply-To: <CALaySJKwuOK-81dW2H9dtURxa5mLQDUNo+MWcs+Hho8N+yP9qg@mail.gmail.com>
References: <30BB83B2-B454-41B8-992B-8E2569802D9C@1und1.de> <D225D7FC-C570-4B63-A694-9F16DB1F33E1@kitterman.com> <CALaySJKwuOK-81dW2H9dtURxa5mLQDUNo+MWcs+Hho8N+yP9qg@mail.gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"
Archived-At: <https://mailarchive.ietf.org/arch/msg/dmarc/vXMWFQurK1kV_r5BDGFb56utq1s>
Subject: Re: [dmarc-ietf] DMARC2 & SPF Dependency Removal
X-BeenThere: dmarc@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "Domain-based Message Authentication, Reporting, and Compliance \(DMARC\)" <dmarc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dmarc>, <mailto:dmarc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dmarc/>
List-Post: <mailto:dmarc@ietf.org>
List-Help: <mailto:dmarc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dmarc>, <mailto:dmarc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Jun 2023 15:33:55 -0000

On Friday, June 9, 2023 4:33:54 AM EDT Barry Leiba wrote:
> I think, Scott, that you and I have a fundamental disagreement that's
> not resolvable, and I won't just repeat what I've already said.  But a
> couple of the things you said are ones I can't make sense of, so I'll
> 
> talk about those:
> > Software engineering isn't a perfect science.  In general, a more
> > complex protocol will suffer more defects.  If you want to design
> > things that only work when software is perfect, I'm not interested.
> 
> It seems that you're saying you're "not interested" in any protocol
> that won't work if there's a software bug, and that makes no sense to
> me.  Crypto is hard to get right and there are often bugs; TLS won't
> work if you don't get the crypto right: does that mean you're not
> interested in TLS?  Or VPNs (IPsec)?  Are you not interested in TCP
> because it will fail if there's a bug in the network stack?  For that
> matter, a router with a bug in its MPLS implementation won't work:
> should we not use MPLS?  And, well, if there's a bug in your
> SPF-record parser, SPF won't work either, n'est-ce pas?
> 
> Of course, the level of failure in any of this depends upon just what
> the bug is.

Thanks for pushing back on this.  It was poorly worded.  Let me try again, see 
below.

> > One could make the opposite argument too, and I think it would be
> > equally valid:
> > 
> > The only value DKIM brings for DMARC is for indirect mail flows.  For
> > any direct connections, SPF is sufficient.  All the proposed DKIM
> > changes to solve the DKIM replay problem are likely to break indirect
> > mail flows anyway, so there's no longer a point to keep DKIM.  It's
> > much more complicated and it looks like the benefit of it is going
> > away, let's just simplify the protocol and get rid of it.
> 
> This also makes no sense, as it completely misrepresents the situation
> I'm raising.  It *doesn't* work both ways, because DKIM works in all
> situations that SPF does, but it *also* works in some situations where
> SPF fails.  The opposite is not true.  DKIM adds value beyond what SPF
> does.  SPF does not add value, ever.
> 
> You and Mike seem to be holding on to SPF because you want to, with
> some vague "I've seen network errors and software errors" statements
> but without real arguments.  The only real argument I've seen is
> Seth's about broader deployment of SPF without DKIM.  I've already
> said why I think that's not a reason we should keep SPF, but at least
> that is a reason I can make sense of.

It's not a case of I've seen a few failures, it's consistent (all I can say 
for certain is that it was as I no longer have access to this data).  It was 
consistent across time and providers.  At scale, DKIM would always have a 
fraction of a percent failure rate, while SPF would not (for direct 
connections - I have no disagreement with your statement that SPF doesn't help 
with indirect mail flows).  This probably exculpates DNS as a source of the 
DKIM failures, since I think it's not likely that SPF records could be 
retrieved when DKIM key records could not, but I don't know for sure.

The leads to a situation where the DMARC pass rate for direct connections 
would vary depending on if SPF was included:

DKIM only: ~99.5%
DKIM + SPF: ~100%
SPF only: ~100%

You may not think that last half of a percent is important (my recollection is 
that it varied a bit between 0.2% and 0.8%), but I think it exists and is 
important.

The point I was attempting (badly) to make is that I have seen data that's 
contrary to your claim that there is no case where SPF will enable a DMARC 
pass that DKIM would not also yield a DMARC pass, so we don't need it.  My 
judgement is that you are assuming too much perfection out of DKIM and the 
data doesn't support it.

Does that make more sense?

Scott K