Re: [dmarc-ietf] indeterminisim of ARC-Seal b= value

"HANSEN, TONY L" <tony@att.com> Fri, 31 March 2017 01:11 UTC

Return-Path: <tony@att.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 136A71296D1 for <dmarc@ietfa.amsl.com>; Thu, 30 Mar 2017 18:11:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.411
X-Spam-Level:
X-Spam-Status: No, score=0.411 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=1.989, MISSING_HEADERS=1.021, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no 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 EAWe9Wq1mDtA for <dmarc@ietfa.amsl.com>; Thu, 30 Mar 2017 18:11:33 -0700 (PDT)
Received: from mx0a-00191d01.pphosted.com (mx0a-00191d01.pphosted.com [67.231.149.140]) (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 27F6D1296CA for <dmarc@ietf.org>; Thu, 30 Mar 2017 18:11:29 -0700 (PDT)
Received: from pps.filterd (m0049295.ppops.net [127.0.0.1]) by m0049295.ppops.net-00191d01. (8.16.0.17/8.16.0.17) with SMTP id v2V15OuM035887 for <dmarc@ietf.org>; Thu, 30 Mar 2017 21:11:26 -0400
Received: from alpi155.enaf.aldc.att.com (sbcsmtp7.sbc.com [144.160.229.24]) by m0049295.ppops.net-00191d01. with ESMTP id 29hcwardbb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for <dmarc@ietf.org>; Thu, 30 Mar 2017 21:11:26 -0400
Received: from enaf.aldc.att.com (localhost [127.0.0.1]) by alpi155.enaf.aldc.att.com (8.14.5/8.14.5) with ESMTP id v2V1BPIF012115 for <dmarc@ietf.org>; Thu, 30 Mar 2017 21:11:25 -0400
Received: from mlpi409.sfdc.sbc.com (mlpi409.sfdc.sbc.com [130.9.128.241]) by alpi155.enaf.aldc.att.com (8.14.5/8.14.5) with ESMTP id v2V1BM0u012095 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for <dmarc@ietf.org>; Thu, 30 Mar 2017 21:11:23 -0400
Received: from MISOUT7MSGHUBAB.ITServices.sbc.com (MISOUT7MSGHUBAB.itservices.sbc.com [130.9.129.146]) by mlpi409.sfdc.sbc.com (RSA Interceptor) for <dmarc@ietf.org>; Fri, 31 Mar 2017 01:11:06 GMT
Received: from MISOUT7MSGUSRCG.ITServices.sbc.com ([169.254.7.103]) by MISOUT7MSGHUBAB.ITServices.sbc.com ([130.9.129.146]) with mapi id 14.03.0319.002; Thu, 30 Mar 2017 21:11:05 -0400
From: "HANSEN, TONY L" <tony@att.com>
CC: "dmarc@ietf.org" <dmarc@ietf.org>
Thread-Topic: [dmarc-ietf] indeterminisim of ARC-Seal b= value
Thread-Index: AQHSqTOwNlojcxrP6UqdME5V5qIDh6GtbQDngAByFoD//8PYb4AApMiAgAAPTYD//83uAA==
Date: Fri, 31 Mar 2017 01:11:05 +0000
Message-ID: <E0354A1C-4621-46A0-8F2D-BB6621A758EF@att.com>
References: <CANtLugO_D1Mz_v_341pc5O1mZ7RhOTrFA3+Ob5-onp72+5uRfA@mail.gmail.com> <alpine.OSX.2.20.1703272118210.2533@ary.local> <CAOj=BA0YKHYrkseR=wwgZn0_GNBKfdL7jmHehgBRzxqGKV6C1g@mail.gmail.com> <2978391.eJVbVTHBlo@kitterma-e6430> <CAL0qLwbP4c+09=TNSOsDqKwcp6iw++aGW8jDhARoVwvsghSLvA@mail.gmail.com> <01QCKR5S5OXK0003XB@mauve.mrochek.com> <CAOj=BA3p-XQT=AeR4PHC-udWsn7rOmtR+UQHV0vbVofDKYOH_Q@mail.gmail.com> <01QCKXW9MZ4Q0003XB@mauve.mrochek.com> <1cf7325b-6f77-7cda-e330-025b7ddb0b92@dcrocker.net> <CAOZAAfM_fKf+egqmYQorobPB07kQpi5rP4rcb4Kj3fsLvcoRVw@mail.gmail.com>
In-Reply-To: <CAOZAAfM_fKf+egqmYQorobPB07kQpi5rP4rcb4Kj3fsLvcoRVw@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [135.110.240.124]
Content-Type: multipart/alternative; boundary="_000_E0354A1C462146A08F2DBB6621A758EFattcom_"
MIME-Version: 1.0
X-RSA-Inspected: yes
X-RSA-Classifications: public
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2017-03-30_21:, , signatures=0
X-Proofpoint-Spam-Details: rule=outbound_policy_notspam policy=outbound_policy score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1702020001 definitions=main-1703310008
Archived-At: <https://mailarchive.ietf.org/arch/msg/dmarc/PzsNS5St-K-eooQGNAjxrCq5U2g>
Subject: Re: [dmarc-ietf] indeterminisim of ARC-Seal b= value
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: Fri, 31 Mar 2017 01:11:36 -0000

One of the reasons DKIM was successful in becoming interoperable was not that we had a test suite to force conformance, but instead that we had >multiple< test suites that were able to successfully validate DKIM signatures from multiple implementations. My test suite caught corner cases that Ned’s and Yahoo’s and Google’s did not, and vice versa for each one of them. (My company actually had two totally independent implementations of DKIM so that we could do internal testing against a different platform. It was just prudent to do it that way.)

When there was an issue in someone’s test suite, we were then able to discuss whether it was an issue in the test suite that needed to be fixed, or it was an issue in the implementation. A single test suite is never sufficient – that’s one reason we prefer multiple interoperating implementations in order for something to be considered an internet standard.

By the way, none of us that implemented DKIM test suites had an issue with the header order being determined by the sender. It makes the validation infinitesimally trickier than having a predetermined header order.

-1000 to the suggestion of having a single conformance test suite that everyone lives and dies by. +1000 to multiple test suites that multiple people write and can be used to test against.

I’m all for you, Seth and Peter, to write a test suite. But nothing you’ve said so far has convinced me that a predetermined header order or a single conformance test suite is worth pursuing. One of many, sure.

                Tony Hansen

From: dmarc <dmarc-bounces@ietf.org> on behalf of Seth Blank <seth@valimail.com>
Date: Thursday, March 30, 2017 at 8:10 PM
To: "dcrocker@bbiw.net" <dcrocker@bbiw.net>
Cc: "Murray S. Kucherawy" <superuser@gmail.com>, "dmarc@ietf.org" <dmarc@ietf.org>, Scott Kitterman <sklist@kitterman.com>, Peter Goldstein <peter@valimail.com>, "ned+dmarc@mrochek.com" <ned+dmarc@mrochek.com>
Subject: Re: [dmarc-ietf] indeterminisim of ARC-Seal b= value

Dave, If we were only talking about ARC Signing messages, I'd generally agree with the comments on this list.

However, ARC is fundamentally different. It is about a chain of messages that validate each other. And ARC's complexity is not in the signing (where most of this conversation has been focused), but in this chain validation and the cascading issues that can be created by any member of the chain doing something slightly wrong. And since *everyone* in the chain except the initial signer is also a receiver, the final receiver simply can't make up for mistakes caused by a less savvy intermediary - the chain will already be broken and unrecoverable.

ARC also has a lot of subtlety that is missable at interops because of this. For instance, if I'm modifying a message, I need to validate the incoming chain, then make my modifications, and then sign the outgoing message. An intermediary doing this wrong (say, validating and then signing after message modification) isn't a bug a final receiver can fix. And without a seriously complex interop with a ton of intermediaries and sending relationships mapped out for testing, it's not likely an error in any specific implementation here will be discovered until it's too late.

To my understanding, working on the test suite shook these issues out because they were what caused problems running the test suite at the interop in the first place. So this is actually a good and healthy part of the process, and is the natural consequence of the interops. What worked here for DKIM is insufficient with the nuances of ARC.

What we've been discussing doesn't just guarantee a test suite can be made that works for everyone (which is huge in itself), but constrains the problem space for everyone involved in an ARC chain. This is clean and desirable.

Since the spec is not finalized, this is the perfect time to set a deterministic order for headers that no one has even seen before.

Seth


On Thu, Mar 30, 2017 at 4:15 PM, Dave Crocker <dhc@dcrocker.net<mailto:dhc@dcrocker.net>> wrote:
On 3/30/2017 12:13 PM, ned+dmarc@mrochek.com<mailto:ned%2Bdmarc@mrochek.com> wrote:
And given the relationship with DKIM people are going to expect ARC
to work in the same general way, maing such a change a least astonishment
principle violation.


+10.

This thread has been active for 6 days.  That is 5.5 days longer than it should have lasted, and I'm being generous.

Internet technologies succeed through interoperability testing, not conformance tests, or the like.  Conformance testing, and the like, are useful for early-stage bug-finding, but not for 'certification'.  This point has been a distinguishing feature of Internet technical work since before the Internet.

ARC is a small re-casting of DKIM.  DKIM has worked for quite a few years.  Some details of ARC need to be different from DKIM, but the basic paradigm -- including the model of achieving field operation through interoperability testing -- should be the same.

My reading of this too-long message thread is that there is essentially no support for making ARC's header-related issues any different from DKIM's, so I encourage the chair to shut this thread down.

d/

--
Dave Crocker
Brandenburg InternetWorking
bbiw.net<https://urldefense.proofpoint.com/v2/url?u=http-3A__bbiw.net&d=DwMFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=Kz8VdgPVctDNSNPJ6PsBaw&m=M5zzV_Ak3GCR8lZhAHLFfMA0SvGqSztWEPI0H6a5Y2E&s=ZX1C85lFDoWiX0J86FUeLGQx37E3YQcIT3LIGyCaeWU&e=>


_______________________________________________
dmarc mailing list
dmarc@ietf.org<mailto:dmarc@ietf.org>
https://www.ietf.org/mailman/listinfo/dmarc<https://urldefense.proofpoint.com/v2/url?u=https-3A__www.ietf.org_mailman_listinfo_dmarc&d=DwMFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=Kz8VdgPVctDNSNPJ6PsBaw&m=M5zzV_Ak3GCR8lZhAHLFfMA0SvGqSztWEPI0H6a5Y2E&s=mJ57Dtkqee8RcYkQnZ9yx6EdyO8ycHhuJTmem3tZxy8&e=>



--

[mage removed by sender. logo for sig file.png]

Bringing Trust to Email

Seth Blank | Head of Product for Open Source and Protocols
seth@valimail.com<mailto:seth@valimail.com>
+1-415-894-2724<tel:415-894-2724>