Re: [dmarc-ietf] Clarifying the value of arc.closest-fail

Bron Gondwana <brong@fastmailteam.com> Wed, 03 January 2018 23:20 UTC

Return-Path: <brong@fastmailteam.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 DD3BE12D7EC for <dmarc@ietfa.amsl.com>; Wed, 3 Jan 2018 15:20:43 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.719
X-Spam-Level:
X-Spam-Status: No, score=-2.719 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, 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=fastmailteam.com header.b=lALGCtEr; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=TWF7ecM/
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 3Z2QDE60yDy5 for <dmarc@ietfa.amsl.com>; Wed, 3 Jan 2018 15:20:42 -0800 (PST)
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D1F8212D77B for <dmarc@ietf.org>; Wed, 3 Jan 2018 15:20:41 -0800 (PST)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 0E0E120BF3 for <dmarc@ietf.org>; Wed, 3 Jan 2018 18:20:41 -0500 (EST)
Received: from web5 ([10.202.2.215]) by compute6.internal (MEProxy); Wed, 03 Jan 2018 18:20:41 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= fastmailteam.com; h=content-transfer-encoding:content-type:date :from:in-reply-to:message-id:mime-version:references:subject:to :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=dRpqoiIljnvLy/3wl j+AZnVUUM70ww01Q9DAMxQVB1A=; b=lALGCtErZ5QbmO1sOuMjPnbozGbHMfXxJ QtHsPA1ygSwao+/SQzF/x5PgOll9nztOdT2mZI7ixcn9eYA7annzvgoxtc0v1GP3 nT8nBOV5CTsIfTzKtf8Jb+lgiRoW/0PtTNlD6Y8tkxpVVI7GYsk2s/3ujySgnZHO 5aGf0Dl3QACVZ/H1tWuF/CwrAfXmgxoJzL920gGIJtuOxOx7wtE9deSHTM/5zUFG BPxv2neDuyW4UbhObg0Gl4W2hhq69PGN3cBQrG7cBEXJ8gbNEbvxRiqgDIqwo6DG e4WlCPi7ZPr3s7H9AsvvhCCItYVpGEyNi9Em++mOkh/qClq+QJqiQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=dRpqoi IljnvLy/3wlj+AZnVUUM70ww01Q9DAMxQVB1A=; b=TWF7ecM/+BrSwqWjF1rYj/ nejDy6Kr3ic05QzDEBTDFMCBZrnp1KTSLNVn0vE8MKehn6v5uQkmyVUNT6TmFilN 7ssyjilmBjvyJJCcU9zxE2T0XYN4XhnpuULjxee0AdOCJta3bUETDpk/ZLa0U5uV oOhKrsoh0AuNqIFtTF93N4HmCz5KqDm7D6BBgtkC7qI6Cw3R9dnP0W7d4hgGq4BO 240LmpCNgkTcjGQQsug64jZzehd4BIzfvihVVdsdynPZoCKTN9AGi+muInWVnBtd NnKkB/gu9tov8gx9lqitjwMrBvR47qMFlOD0MaEJBYaE9FRFa/V7kMh10gTrdNzA ==
X-ME-Sender: <xms:SGVNWpxe14rGed3kmhDAdedZD6uq_eBNm8pNKkDnmqIl4LABcgJwYA>
Received: by mailuser.nyi.internal (Postfix, from userid 99) id D93F89E295; Wed, 3 Jan 2018 18:20:40 -0500 (EST)
Message-Id: <1515021640.3106167.1223502368.3DB28018@webmail.messagingengine.com>
From: Bron Gondwana <brong@fastmailteam.com>
To: dmarc@ietf.org
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: multipart/alternative; boundary="_----------=_151502164031061672"
X-Mailer: MessagingEngine.com Webmail Interface - ajax-cc9a457c
References: <CABuGu1pBqv9uPQg7_XR42cUCE4x4rWbN2hgxx7ZAbWugHT6zkg@mail.gmail.com> <1514939995.3318165.1222346488.5B169072@webmail.messagingengine.com> <CABuGu1o5sYiLXQSBcUdY6fiBQuO6P+fwTXD5BAR1wsieGO237A@mail.gmail.com>
Date: Thu, 04 Jan 2018 10:20:40 +1100
In-Reply-To: <CABuGu1o5sYiLXQSBcUdY6fiBQuO6P+fwTXD5BAR1wsieGO237A@mail.gmail.com>
Archived-At: <https://mailarchive.ietf.org/arch/msg/dmarc/pI5rzi0cdU3iGjV7NVZ_sVNbwEA>
Subject: Re: [dmarc-ietf] Clarifying the value of arc.closest-fail
X-BeenThere: dmarc@ietf.org
X-Mailman-Version: 2.1.22
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: Wed, 03 Jan 2018 23:20:44 -0000

I assume this was the one that you wanted my clarification on?

On Wed, 3 Jan 2018, at 12:56, Kurt Andersen (b) wrote:
> On Wed, Jan 3, 2018 at 12:39 AM, Bron Gondwana
> <brong@fastmailteam.com> wrote:>> __
>> 
>> On Wed, 3 Jan 2018, at 04:34, Kurt Andersen (b) wrote:
>>> As I went through the edits for
>>> https://tools.ietf.org/html/draft-ietf-dmarc-arc-protocol-10#section-5.2.1
>>> I was unable to understand the value added by having the "arc.closest-
>>> fail" listed in the AAR.>> 
>> Without a closest-fail from each step, or a similar way to determine
>> changes, information about abuses gets lost along the chain, and the
>> final receiver can't tell who modified the message along the way.> 
> So, if we have a message that goes through four mailing lists before
> final delivery, each of which modify the subject and everyone is
> "doing the right thing" (I know that's not exactly an abuse scenario),
> we would expect:> 
> * ARC 1: cv=none, closest-fail=0
> * ARC 2: cv=pass, closest-fail=0
> * ARC 3: cv=pass, closest-fail=1
> * ARC 4: cv=pass, closest-fail=2
> * final recipient ADMD ARC verifier would find cv=pass and evaluate
>   closest-fail at 3> 
> Is that what you have in mind?

Well, closest-fail on ARC 1 is meaningless.

But yes - each AMS only holds for its own message here, which means ARC
1's AMS was valid to 2, but not 3 or 4.  ARC 2's AMS was only valid to
3, not 4.  Etc.
This is the boring case, because we don't need closest-fail then.  More
interesting is if ARC 2 and ARC 3 DIDN'T change the Subject, because
then we would have:
* ARC 1: cv=none, closest-fail=0
* ARC 2: cv=pass, closest-fail=0
* ARC 3: cv=pass, closest-fail=0
* ARC 4: cv=pass, closest-fail=0
* final recipient ADMD ARC verifier would find cv=pass and evaluate
  closest-fail at 3
But let's rewrite it as oldest-pass, because that's clearer.  Your case:
* ARC 1: cv=none, ams.oldest-pass=0
* ARC 2: cv=pass, ams.oldest-pass=1
* ARC 3: cv=pass, ams.oldest-pass=2
* ARC 4: cv=pass, ams.oldest-pass=3
* final recipient ADMD ARC verifier would find cv=pass and evaluate ams.oldest-
  pass as 4.
And my case where 2 and 3 didn't change anything:

* ARC 1: cv=none, ams.oldest-pass=0
* ARC 2: cv=pass, ams.oldest-pass=1
* ARC 3: cv=pass, ams.oldest-pass=1
* ARC 4: cv=pass, ams.oldest-pass=1
* final recipient ADMD ARC verifier would find cv=pass and evaluate ams.oldest-
  pass as 4.
>From which the final recipient can also see that, if they trust ARC 4
not to lie, neither ARC 2 or ARC 3 changed anything which was covered by
ARC 1's AMS.
There is no need to trust either ARC 2 or ARC 3's signatures in my
example, which is the point here.  Even if ARC 2 or ARC 3 are not yet
known or trusted, you can tell that they didn't modify this
particular message.
Bron.

--
  Bron Gondwana, CEO, FastMail Pty Ltd
  brong@fastmailteam.com