Re: [dmarc-ietf] WGLC ARC-16 concern on Section 5.1.2 - cv=fail should sign greedily

"John R Levine" <johnl@taugh.com> Tue, 31 July 2018 00:42 UTC

Return-Path: <johnl@taugh.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 E990A130DFB for <dmarc@ietfa.amsl.com>; Mon, 30 Jul 2018 17:42:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 jV2nb-Ae1K3g for <dmarc@ietfa.amsl.com>; Mon, 30 Jul 2018 17:41:58 -0700 (PDT)
Received: from gal.iecc.com (gal.iecc.com [IPv6:2001:470:1f07:1126:0:43:6f73:7461]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BAC57130F09 for <dmarc@ietf.org>; Mon, 30 Jul 2018 17:41:56 -0700 (PDT)
Received: (qmail 85417 invoked from network); 31 Jul 2018 00:41:55 -0000
Received: from localhost ([IPv6:2001:470:1f07:1126::78:696d:6170]) by imap.iecc.com ([IPv6:2001:470:1f07:1126::78:696d:6170]) with ESMTPS (TLS1.2/X.509/AEAD) via TCP6; 31 Jul 2018 00:41:55 -0000
Date: Mon, 30 Jul 2018 20:41:54 -0400
Message-ID: <alpine.OSX.2.21.1807302025420.60501@ary.qy>
From: John R Levine <johnl@taugh.com>
To: Seth Blank <seth@sethblank.com>
Cc: John Levine <johnl@taugh.com>, IETF DMARC WG <dmarc@ietf.org>
In-Reply-To: <CAD2i3WMvCugRm4KZeLx3PFb6f_pKR3rs4mnH2FZO4_X7ZA7GHA@mail.gmail.com>
References: <CAD2i3WNSe+of7U8fdTnmUeU3sthUbpEVgdYHT9J6BgLxoeOL3w@mail.gmail.com> <20180730221726.713CE200316625@ary.qy> <CAD2i3WMvCugRm4KZeLx3PFb6f_pKR3rs4mnH2FZO4_X7ZA7GHA@mail.gmail.com>
User-Agent: Alpine 2.21 (OSX 202 2017-01-01)
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"; format="flowed"
Archived-At: <https://mailarchive.ietf.org/arch/msg/dmarc/Kn0uj36K4ErgY6HiuMK96lslQkA>
Subject: Re: [dmarc-ietf] WGLC ARC-16 concern on Section 5.1.2 - cv=fail should sign greedily
X-BeenThere: dmarc@ietf.org
X-Mailman-Version: 2.1.27
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: Tue, 31 Jul 2018 00:42:02 -0000

> The working group considered cv=invalid last year, but there was strong
> consensus was against it. The guidance for Sealing cv=invalid Chains
> somehow made it into this draft applied to all cv=fail Chains. All Chains
> should be Sealed in the same fashion (your AS covers the ARC Set you've
> added and all previous ARC Sets), unless the Chain is invalid in which case
> you only Seal your own ARC Set.

Ah.  Perhaps reword 5.1.1 like this:

The signature of an AS header field signs a specific canonicalized
form of the ARC Set header values, when all of the previous ARC sets
are valid. In that case, the ARC set header values are supplied to the
hash function in increasing instance order, starting at 1, and include
the ARC Set being added at the time of Sealing the message.  If any of
the existing sets are invalid, the AS header field only signs its own
ARC Set.

Within an ARC Set, header fields are supplied to the hash function in the following order:

1. ARC-Authentication-Results
2. ARC-Message-Signature
3. ARC-Seal

The ARC-Seal is generated in a manner similar to when DKIM-Signatures
are added to messages ([RFC6376], section 3.7).


In 5.1.2:

In the case of a failed Authenticated Received Chain, the header
fields included in the signature scope of the AS header field b= value
MUST only include the ARC Set headers in the newly created set, as if
this newest ARC Set was the only set present.


In 5.2, oldest pass is confusing, since it doesn't tell you whether
the validation succeeds or not.  I would take out steps 5-7 and add
something to the INFORMATIONAL at the end like "A validator can check
the AMS headers to estimate when in a chain of forwards the message
was modified."


Regards,
John Levine, johnl@taugh.com, Taughannock Networks, Trumansburg NY
Please consider the environment before reading this e-mail. https://jl.ly