Re: [Trans] Experiment report: The MMD is a lie

Andrew Ayer <agwa@andrewayer.name> Fri, 03 March 2017 19:08 UTC

Return-Path: <agwa@andrewayer.name>
X-Original-To: trans@ietfa.amsl.com
Delivered-To: trans@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2BC061295BA for <trans@ietfa.amsl.com>; Fri, 3 Mar 2017 11:08:26 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.001
X-Spam-Level:
X-Spam-Status: No, score=-2.001 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, SPF_HELO_PASS=-0.001, 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=andrewayer.name
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 G0fJF-M-XUDX for <trans@ietfa.amsl.com>; Fri, 3 Mar 2017 11:08:25 -0800 (PST)
Received: from alcazar.beanwood.com (alcazar.beanwood.com [IPv6:2600:3c00:e000:6c::1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2D077129550 for <trans@ietf.org>; Fri, 3 Mar 2017 11:08:25 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=andrewayer.name; s=beanwood20160511; t=1488568103; bh=Bt98QSR3/Ow8Q+N3xmwfkr6ifUaz0LSR6hxJiFa880o=; h=Date:From:To:Cc:Subject:In-Reply-To:References; b=IOJ+G8EfRfOV9q/a2UsDDAJvyjcYWZdxjDrdaO8iy62CGAq8bY0PQLBffpEG4RJSg VDOmpKe8GsNmEoh8OBHSF8Bh3wFpQeG3918SRdO5N6DqOCEI2AqbnLdh1mBK2VdQTx EHPjllDTW8hBrXUrzp9lcJejeR0sLwuztfu+wld7emodwUw2YgNUMKK4fdBY0gX8la vX+46Ax2yLuSmQn6AZNQspPmEQiAI7SkI51xSkq/wjZD71G+iqFwb3FV2CRnqDwr0Q IGp0TETV8szk3ZphBDkSPS5UZ9juEql/b1mGlqZyaHlYcgrJw+NqC6PyHjCTlB4vnK tKWf5R8OuAOWg==
Date: Fri, 03 Mar 2017 11:08:23 -0800
From: Andrew Ayer <agwa@andrewayer.name>
To: Richard Barnes <rlb@ipv.sx>
Message-Id: <20170303110823.037b95b47617934f2f97e425@andrewayer.name>
In-Reply-To: <CAL02cgRCmPJijPcYotyzn9uHpQXgRq+RCSfvyfuiB6j6g_C5ew@mail.gmail.com>
References: <CAL02cgTXMqQre_iqUwu7O+WvuArWYFLQOLCoTdC_nqdNY+15dg@mail.gmail.com> <20170302175514.e1845a0b6314b08527ee5703@andrewayer.name> <CAL02cgRCmPJijPcYotyzn9uHpQXgRq+RCSfvyfuiB6j6g_C5ew@mail.gmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/trans/q0eVq6xM3AxeBTmv2ayBYstTQW0>
Cc: Zakir Durumeric <zakir@umich.edu>, trans@ietf.org, Nick Sullivan <nick@cloudflare.com>
Subject: Re: [Trans] Experiment report: The MMD is a lie
X-BeenThere: trans@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Public Notary Transparency working group discussion list <trans.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/trans>, <mailto:trans-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/trans/>
List-Post: <mailto:trans@ietf.org>
List-Help: <mailto:trans-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/trans>, <mailto:trans-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 03 Mar 2017 19:08:26 -0000

On Thu, 2 Mar 2017 22:29:11 -0500
Richard Barnes <rlb@ipv.sx> wrote:

> On Thu, Mar 2, 2017 at 8:55 PM, Andrew Ayer <agwa@andrewayer.name>
> wrote:
> 
> > Hi Richard,
> >
> > On Thu, 2 Mar 2017 18:58:49 -0500
> > Richard Barnes <rlb@ipv.sx> wrote:
> >
> > > On the third hand, it may be possible to hack around even this.
> > > Even if logs are checkpointed, so that only some tree heads are
> > > "official" and used by clients/auditors, the log could produce a
> > > consistency proof to the last official head at ingress time,
> > > which would provide the client/auditor some assurance that the
> > > cert fits into the global history, which could be verified when
> > > the next official tree head comes out.
> >
> > This sounds interesting - could you elaborate?
> >
> 
> (To be clear: Credit for this idea goes to Zakir, I'm just recapping.)
> 
> Obviously, every time you add a cert to the Merkle tree, you get a
> new tree head.  Say a log produces "official" tree heads ever 5 certs
> and all official heads get sync'ed out to clients, who cache them
> all.  (Just for the sake of argument; obviously you could also
> fetch.)  So you would have a history something like this:
> 
> O1 - H2 - H3 - H4 - H5 - O6 - H7 - H8 - ...
> 
> At the time the fourth certificate (C4) is added, the log can produce
> two things:
> 
> 1. An inclusion proof from C4 to H4
> 2. A consistency proof from O1 to H4
> 
> If these can be provided to the client (say in the cert or stapled
> OCSP) and the client has O1, then the client can verify that there is
> a causal link between the two.  This is slightly better than an SCT
> (e.g., it can't be back-dated to before O1), but doesn't prevent
> forked history.  In order to prevent that, the client still has to
> verify that the head H4 is "forward consistent" with the next tree
> head O6.
> 
> So you still need to get a consistency proof that proves that H4 is
> consistent with O6.  You can do that by fetching it from the log, but
> that's no better from a privacy / log scaling POV than fetching
> inclusion proofs.

Due to the need to get a consistency proof for the intermediate head,
I don't see how this is any better than SCTs - this proposal just swaps
SCTs with intermediate heads and inclusion proofs with consistency
proofs.  The backdating prevention isn't compelling, because a
malicious log can just fork off history from an earlier official SCT if
it wants to backdate an entry.

> It would be lovely if the consistency proof between O1 and O6 could
> also be used to verify any intermediate heads you have, since then
> the client could just sync down the consistency between official
> heads and use that to check the intermediates.  TBH, I don't have
> good enough intuition for consistency proofs to know whether this
> works off the top of my head, and I haven't sat down to figure it out.

Unfortunately, a consistency proof does not contain enough
information to do this - the proof contains the minimal number
of hashes needed, so entire subtrees tend to get condensed into their
root hash.

Regards,
Andrew