Re: [dmarc-ietf] ARC-Seal is meaningless security theatre

Bron Gondwana <brong@fastmailteam.com> Tue, 08 August 2017 04:10 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 D8038120727 for <dmarc@ietfa.amsl.com>; Mon, 7 Aug 2017 21:10:57 -0700 (PDT)
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=WvdwqYXv; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=nHpUcp7y
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 c8ifX3dATLjJ for <dmarc@ietfa.amsl.com>; Mon, 7 Aug 2017 21:10:55 -0700 (PDT)
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BC5C8120721 for <dmarc@ietf.org>; Mon, 7 Aug 2017 21:10:55 -0700 (PDT)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 2FD3F2095B for <dmarc@ietf.org>; Tue, 8 Aug 2017 00:10:55 -0400 (EDT)
Received: from web5 ([10.202.2.215]) by compute6.internal (MEProxy); Tue, 08 Aug 2017 00:10:55 -0400
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=I+xlOYsIVZq4ur/yd toDTpXXwnrg0j4Otn0jTnxlqi0=; b=WvdwqYXvlqhhBxTZ9LUzFPswHHVK5cZH7 EQj3v8pIxxCaF3HUfhLQrv2oWPSZxUKVmDvOE1XFWjuFIQzpxuxjI0wwLfXRhRq/ r0cwxvJOJCX7Ld4iQ9Thn+bylqPSSSIEP0xQOe80ZXtIMu2kE2R1WFMg0cxJMFTU LD/03C2gR8Fifz3N7UvAcal4rGP2JwvGJoP5oYk3xR0C0BqHp3VPIRZjbAM8kJLt BcoTucGuwQbF+6Bz0YbBXTC89T9DTfbJrBkLy8OEmEZCOr56R6QBu/b7cH+S8HBy 8o25fpCfTKSbKrxDcoWu2BGw7n8emspuPP8wMYlM7Mr9jhrMZ5qCg==
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=I+xlOY sIVZq4ur/ydtoDTpXXwnrg0j4Otn0jTnxlqi0=; b=nHpUcp7ywauivHNayFV0l2 8mCpmaXRcK71EO90cEZr+Q5ReifFYPaIGVcumfojQGt6PF3VQZDzF6WCO43WBzJ7 KQhhEOaeCmBZBPsfshBOF1j4TFUWrn8r2qVWnsNNECmf2Lr2mnoIufq2CAbBBChP U5EzOqQZwtYP0BFq1ZWQJPJy1JAYAQzp37NuDWUZ54l1qAVkEXEehh1FHkgStdBn Er4EhXJqCXRJxWpQrsSbG5zUkALMqD7mZYGjbbYpCc50mIc/wtczk4kFMFqPUCr1 /JwaWNsCtqKoEhLbSSl486Unmu/DTquJk2DaWwCyo1qez0QjVMrz5OOQvr2lzL7A ==
X-ME-Sender: <xms:zzmJWRBqXVM5LLWNeSjTXLMzSoJ-6djLU2s_kijTLyTkkd4difuWUw>
Received: by mailuser.nyi.internal (Postfix, from userid 99) id 06EF59E24F; Tue, 8 Aug 2017 00:10:54 -0400 (EDT)
Message-Id: <1502165454.4116080.1066378520.2314FE46@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="_----------=_150216545441160800"
X-Mailer: MessagingEngine.com Webmail Interface - ajax-7b2cde4a
Date: Tue, 08 Aug 2017 14:10:54 +1000
References: <1502083287.2191248.1065195288.7CDC7FF3@webmail.messagingengine.com> <CAD2i3WOCFHf7C4qjpCcGCFKJKsZC2+Wty1arkQgTU_jtrS6MuQ@mail.gmail.com>
In-Reply-To: <CAD2i3WOCFHf7C4qjpCcGCFKJKsZC2+Wty1arkQgTU_jtrS6MuQ@mail.gmail.com>
Archived-At: <https://mailarchive.ietf.org/arch/msg/dmarc/OfWcVn4oRWsQkGBzQSbNWs_5fR8>
Subject: Re: [dmarc-ietf] ARC-Seal is meaningless security theatre
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: Tue, 08 Aug 2017 04:10:58 -0000

On Tue, 8 Aug 2017, at 09:22, Seth Blank wrote:
> On Sun, Aug 6, 2017 at 10:21 PM, Bron Gondwana
> <brong@fastmailteam.com> wrote:>> *AS adds nothing over just having AMS signing its own AAR, and then
>> you only have to verify ONE signature, the most recent.*>> 
>> <snip>
>> 
>> You either trust the most recent signer and trust that THEY validated
>> the previous signer/SPF (and so on) or the chain is broken anyway, so
>> why add a parallel, easily falsified, chain of signatures?> 
> There's a critical reason the ARC Seal exists that you're missing:

I'm not missing it, I'm saying it doesn't work.

> ARC is about maintaining a chain of custody so that a final receiver
> can be certain of which domains modified a message in transit. Like
> DMARC, DKIM, and SPF, we're trying to ascertain if the message was
> handled by the domain it said it was handled by - we're not passing
> judgement on the contents of the messages itself.
Yeah, I believed that was true until I thought about the crypto.  Except
we don't know that the message was handled by a domain it says it was
handled by.  We only know that _A_ message was handled by the domain it
says it was handled by.  That could be any message.
> When validating an ARC signed message, one verifies the latest AMS
> (which must validate), and *the entire chain* of ARC Seals, not only
> the latest. This guarantees you a list of all message signatories -
> the chain of custody we're talking about.
Except it doesn't, because all the AS before the first liar could have
been grabbed from a different message and you can't tell.
> When evaluating the chain for final receipt, there are two states to
> worry about as a matter of local policy:> 1) you trust all the signatories on the chain
> 2) there is an untrusted signatory on the chain
> 
> In state #1, you're done - if you trust the signatories then you trust
> they're not playing games with the AMS and AAR contents or
> manipulating the message in malicious ways. Now you can make a
> delivery decision as local policy dictates.> 
> In state #2, you're also done - if you don't trust all the
> signatories, then there are a multitude of routes for the message
> to be garbage, including but not limited to everything you've
> outlined above.> 
> The critical thing about the ARC Seal is that it guarantees this
> behavior in state #1 - if you trust all the d= values in the ARC
> Seals, they all validate, and you have cv=pass, then you know for
> certain everyone who has manipulated the message (and maybe some who
> handled but did not modify).> 
> Without the ARC Seal this determination is not possible and there is
> no way to evaluate the ARC chain for delivery as a final receiver.
Sure there is.  In case #1, you can check who signed each AMS and check
that each of them had an associated AAR in which they validated the
previous AMS.  No chain required.  In fact, you can just check the most
recent AMS, because you know they checked the previous one.  You trust
them to have done the checks they claim to have done.
AS just adds theatre.

I'm not sure if there's a point to me proving this by forging a message
with an AS of a site that it never went through.  If you aren't willing
to agree that the most recent liar can repurpose an existing chain, I'm
happy to avoid making the forgery, otherwise I'll make up a forgery and
send it to the list.
But since you either trust every hop to do good checks, or you don't
trust the entire message - then the ARC-Seal is literally adding
nothing.  It adds no meaning, just extra work.  Hence my snakeoil claim.
Bron.

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