Re: [Trans] Verifying inclusion proof

Stephen Kent <kent@bbn.com> Sun, 28 June 2015 15:05 UTC

Return-Path: <kent@bbn.com>
X-Original-To: trans@ietfa.amsl.com
Delivered-To: trans@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6F9061B2ED0 for <trans@ietfa.amsl.com>; Sun, 28 Jun 2015 08:05:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.91
X-Spam-Level:
X-Spam-Status: No, score=-0.91 tagged_above=-999 required=5 tests=[BAYES_50=0.8, HTML_MESSAGE=0.001, J_CHICKENPOX_21=0.6, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 I25uzb9xJocf for <trans@ietfa.amsl.com>; Sun, 28 Jun 2015 08:05:03 -0700 (PDT)
Received: from smtp.bbn.com (smtp.bbn.com [128.33.0.80]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 698D91B2EC6 for <trans@ietf.org>; Sun, 28 Jun 2015 08:05:03 -0700 (PDT)
Received: from ssh.bbn.com ([192.1.122.15]:49194 helo=COMSEC.home) by smtp.bbn.com with esmtp (Exim 4.77 (FreeBSD)) (envelope-from <kent@bbn.com>) id 1Z9E8j-000C6Y-Mc for trans@ietf.org; Sun, 28 Jun 2015 11:05:01 -0400
Message-ID: <55900D1D.2030009@bbn.com>
Date: Sun, 28 Jun 2015 11:05:01 -0400
From: Stephen Kent <kent@bbn.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.7.0
MIME-Version: 1.0
To: trans@ietf.org
References: <558D61DE.8020402@nic.cz> <CACM=_OeTnNCk+VSiQ1E5T2_a7YkxwxZ2w8HJSg13wtVc2wQUfA@mail.gmail.com>
In-Reply-To: <CACM=_OeTnNCk+VSiQ1E5T2_a7YkxwxZ2w8HJSg13wtVc2wQUfA@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------060009060405070903080204"
Archived-At: <http://mailarchive.ietf.org/arch/msg/trans/NOsHkkFxrZZUmKo-MHre2d9Gxdc>
Subject: Re: [Trans] Verifying inclusion proof
X-BeenThere: trans@ietf.org
X-Mailman-Version: 2.1.15
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: Sun, 28 Jun 2015 15:05:05 -0000

IETF standards need to be unambiguous. Code is very helpful, but it is 
not a substitute
for a rigorous description of how to resolve the issue that Onderj raised.

Steve
>
> On Fri, Jun 26, 2015 at 3:29 PM, Ondrej Mikle <ondrej.mikle@nic.cz 
> <mailto:ondrej.mikle@nic.cz>> wrote:
>
>     Pardon me if I am asking something obvious, but I'm missing one
>     piece of
>     information for inclusion proof verification - the "placement" of each
>     node returned from "get-proof-by-hash" method in audit_path list
>     (whether it's left subtree or right subtree).
>
>     Since the hashing of concatenation of strings is not commutative, the
>     auditor needs to put the two partial tree hashes in correct order
>     to get
>     to the correct root hash.
>
>
> Yes, you're quite right.
>
>
>     I'd guess the placement of the missing nodes from audit_path could be
>     derived from leaf_index and tree_size, but can't see a straightforward
>     way to do it. The reference client does not implement this
>     verification
>     either.
>
> There are a couple of implementations of this in the o/s code base:
> C++ is in cpp/merkletree/merkle_verifier.cc 
> <https://github.com/google/certificate-transparency/blob/master/cpp/merkletree/merkle_verifier.cc> (see 
> VerifyPath())
> Python is in python/ct/crypto/merkle.py 
> <https://github.com/google/certificate-transparency/blob/master/python/ct/crypto/merkle.py> (see 
> verify_leaf_inclusion())
>
> HTH.
>
> Cheers,
> Al.
>
>     Ondrej
>
>     _______________________________________________
>     Trans mailing list
>     Trans@ietf.org <mailto:Trans@ietf.org>
>     https://www.ietf.org/mailman/listinfo/trans
>
>
>
>
> -- 
> Google UK Ltd | 123 Buckingham Palace Road | London SW1W 9SH | 
> Registered in England Number: 3977902
>
>
> _______________________________________________
> Trans mailing list
> Trans@ietf.org
> https://www.ietf.org/mailman/listinfo/trans