Re: [dmarc-ietf] Debugging and preventing DKIM failures- suggestion

Elizabeth Zwicky <zwicky@otoh.org> Fri, 31 May 2019 15:16 UTC

Return-Path: <zwicky@otoh.org>
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 E2BBF120052 for <dmarc@ietfa.amsl.com>; Fri, 31 May 2019 08:16:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, MIME_QP_LONG_LINE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=otoh.org
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 TOrFpw_Dq138 for <dmarc@ietfa.amsl.com>; Fri, 31 May 2019 08:16:24 -0700 (PDT)
Received: from suricate.otoh.org (suricate.otoh.org [173.11.101.67]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4610312002E for <dmarc@ietf.org>; Fri, 31 May 2019 08:16:24 -0700 (PDT)
Received: from [100.80.205.135] (177.sub-174-214-3.myvzw.com [174.214.3.177]) (Authenticated sender: zwicky) by suricate.otoh.org (Postfix) with ESMTPSA id 7E4DD109D8; Fri, 31 May 2019 15:16:18 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=otoh.org; s=2014-12-30; t=1559315778; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=8EVo/jaMk4lzHgBXYnVsiMQxMcoozda6KlzLJhQ29T8=; b=TScGGKyiPjkXLylIx7HtELdTe/yctSudCuzJhP6FBPuN/jDKjvZqmexmYucBRDdUvB3jVL lP173uf56oDJN2doHa2vLr09ws+eTvFCFrGPq4WuUOSi75X5StBKWbso4an7GFrAO2AqBD OnpKnzhylUyPNrM31i+JbGXg1PIyeG0=
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (1.0)
From: Elizabeth Zwicky <zwicky@otoh.org>
X-Mailer: iPhone Mail (16E227)
In-Reply-To: <5CF141F6.7030000@isdg.net>
Date: Fri, 31 May 2019 08:16:16 -0700
Cc: dmarc@ietf.org
Content-Transfer-Encoding: quoted-printable
Message-Id: <189794E3-5C3A-4A5F-B4C0-A64842FD4625@otoh.org>
References: <54FB29A0-517A-430E-AF5B-CB079CC3D7F6@aegee.org> <20190526144848.08A772014A0BF4@ary.qy> <CAL0qLwbxwLTpgYJN9qBTzi2oN1EMvAYuNoDbw5Rx5W46-WNyLA@mail.gmail.com> <alpine.OSX.2.21.9999.1905301712140.76792@ary.qy> <c559a331d90b49eba5b5f6e35ff4774a@bayviewphysicians.com> <1931a4e4-7112-56ae-24e6-b138466392b4@dcrocker.net> <f5106924930f41c5bd83a709e4307f8b@bayviewphysicians.com> <5CF141F6.7030000@isdg.net>
To: hsantos@isdg.net
Archived-At: <https://mailarchive.ietf.org/arch/msg/dmarc/amAS69j9FfJUviZ80LKjBIFfXbs>
Subject: Re: [dmarc-ietf] Debugging and preventing DKIM failures- suggestion
X-BeenThere: dmarc@ietf.org
X-Mailman-Version: 2.1.29
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, 31 May 2019 15:16:27 -0000

RFC 7960 has an extensive discussion of mail flows that modify mail (as well as other cases that are problematic for DMARC). Mailing lists are not the only case, and, as John has pointed out, reformatting and part stripping are things that happen in mail flows. 

Elizabeth 

> On May 31, 2019, at 8:02 AM, Hector Santos <hsantos=40isdg.net@dmarc.ietf.org> wrote:
> 
>> On 5/31/2019 6:59 AM, Douglas E. Foster wrote:
>> 
>> DKIM was supposed to provide sender authentication when SPF was
>> invalidated by forwarding, so DMARC said that the two techniques
>> should be evaluated together.
> 
> Unfortunately, DMARC did not have a policy that offered that output.
> 
>  SPF >> FAIL
>  DMARC >> PASS?
> 
> Overall, DMARC failed to cover all the possible scenarios of mixed signatures.
> 
> To cover all aspects, the DKIM POLICY model has to offer 3rd party signature conditions.   In the DSAP proposal, it highlighted this as the broader possible options:
> 
>    https://tools.ietf.org/html/draft-santos-dkim-dsap-00#section-4.2
> 
>    +-----------------------------------------------------------------+
>    | op=         | 3p=        | Domain Policy Semantics              |
>    |=================================================================|
>    | empty       | empty      | No mail expected                     |
>    |-----------------------------------------------------------------|
>    | never       | never      | No signing expected                  |
>    | never       | always     | Only 3P signing expected             |
>    | never       | optional   | Only 3P signing optional             |
>    |-----------------------------------------------------------------|
>    | always      | never      | OP signature expected                |
>    | always      | always     | Both parties expected                |
>    | always      | optional   | OP expected, 3P may sign             |
>    |-----------------------------------------------------------------|
>    | optional    | never      | Only OP signing expected             |
>    | optional    | always     | OP expected, 3P expected             |
>    | optional    | optional   | Both parties may sign.               |
>    +-----------------------------------------------------------------+
> 
> That covered all possible combinations.
> 
> We actually wrote an IETF functional spec regarding Sender Signing Policies:
> 
>   rfc5016 Requirements for a DKIM Signing Practices Protocol
>   https://tools.ietf.org/html/rfc5016
> 
>   Abstract
> 
>   DomainKeys Identified Mail (DKIM) provides a cryptographic mechanism
>   for domains to assert responsibility for the messages they handle.  A
>   related mechanism will allow an administrator to publish various
>   statements about their DKIM signing practices.  This document defines
>   requirements for this mechanism, distinguishing between those that
>   must be satisfied (MUST), and those that are highly desirable
>   (SHOULD).
> 
> 
> But then something happen as this document was being completed -- list administrators got scared that DKIM Policy was gaining tractions and stepping into their market toes.  After all, we had "30 years" of legacy list operations, we did not want DKIM Policy interfering with the broad range of established list distribution operations. So this RFC5016 "Blocker" was written at the last minute to preempt it from happening:
> 
>  Section 5.3, Item 10
>  https://tools.ietf.org/html/rfc5016#section-5.3
> 
>   10. SSP MUST NOT provide a mechanism that impugns the existence of
>       non-first party signatures in a message.  A corollary of this
>       requirement is that the protocol MUST NOT link practices of first
>       party signers with the practices of third party signers.
> 
>         INFORMATIVE NOTE: the main thrust of this requirement is that
>         practices should only be published for that which the publisher
>         has control, and should not meddle in what is ultimately the
>         local policy of the receiver.
> 
> 
> That was basically, a "Don't step on my turf!!" requirement. It also meant "Local Policy Always Prevail" regardless of what a Domain published which is always the case anyway. Does not need to be stated.  But overall, this is what help demote SSP, ADSP, ATPS and DKIM policy in general.  ADSP was abandoned.
> 
> But no one can kill a good idea,  the proof of concept was too powerful, hence it returned as DMARC but as an informational status document to avoid the IETF mch higher review process.
> 
> I have no idea how a high overhead, complex ARC will resolve this problem unless
> it comes with a 3rd party signature concept with an extended DMARC "arc=y" tag:
> 
>  arc=y  If the 1st party signature failed, then authorize the XYZ
>         domains using ARC seals to promote a failure to a pass.
> 
> How would you specify the 'authorization" of XYZ domains and do so at scale?
> 
> -- 
> HLS
> 
> 
> _______________________________________________
> dmarc mailing list
> dmarc@ietf.org
> https://www.ietf.org/mailman/listinfo/dmarc