Re: [Trans] comments on draft-linux-trans-gossip-ct-01

Tom Ritter <tom@ritter.vg> Mon, 23 March 2015 03:39 UTC

Return-Path: <tom@ritter.vg>
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 4C9091A87BA for <trans@ietfa.amsl.com>; Sun, 22 Mar 2015 20:39:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.379
X-Spam-Level:
X-Spam-Status: No, score=-1.379 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, SPF_PASS=-0.001] autolearn=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 qBpLjuwjJ8d7 for <trans@ietfa.amsl.com>; Sun, 22 Mar 2015 20:39:09 -0700 (PDT)
Received: from mail-ig0-x231.google.com (mail-ig0-x231.google.com [IPv6:2607:f8b0:4001:c05::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 03C871A87AD for <trans@ietf.org>; Sun, 22 Mar 2015 20:39:09 -0700 (PDT)
Received: by igcau2 with SMTP id au2so31852742igc.0 for <trans@ietf.org>; Sun, 22 Mar 2015 20:39:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ritter.vg; s=vg; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=MhohtAZ5ChyKwoDY3yJox4gxJZ+WP1ynlhSfWD2/XdY=; b=A8L6mzWhJSd2K+2Fq4KbPW9wcTGfkuOKAh12+Zto7m72WchGB+Uc9UOfQo8erOlL22 /xVtZ3srGIFvnvkgPXTGR2KiLFqWCRGsYnN2WHER0WZIAB4amEwUlzTk2gI4Fnma9ohI +48x6jKaxqGdeai4fx8CkE53xyq/YmVVW63Ro=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=MhohtAZ5ChyKwoDY3yJox4gxJZ+WP1ynlhSfWD2/XdY=; b=aHhoShrAUL3q7gLsOgZOy+BRPVew0jnodUtnE2N2RhNv2ZXvdCOG52f2xMJaXO9Tup a9wHFV8ckOmVI8X5fkNpe1feoCK380wp7L4eKFWDtF++xk5Rhf025djW6QBVklQ35Wuy lDqvudpQFwwQ7zQFb4w7s6g2fOG02lpAa7BJGremFQeLjzzz6QH5/sEULBwjVIfkkcRO urvmmCeUwLf4wA4v1//y8rve0LULVeXoJGT3/hlEdqevpwfmB7mDh00klGtKbixGe8Nl mFjZor6eHXKk/cbbmAHkEr56k6JtUY/hGO1nrpTENENc91utK+rBKeAV02g/xnJU1kLW wEBA==
X-Gm-Message-State: ALoCoQlboWdRJeNYpl9jMiWMFJwfdXR3kWP/ZKX7/24rRapp8r0R3UxcROIjxlCLKHWeGZFMEPGx
X-Received: by 10.107.9.88 with SMTP id j85mr148856696ioi.60.1427081948444; Sun, 22 Mar 2015 20:39:08 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.107.166.84 with HTTP; Sun, 22 Mar 2015 20:38:48 -0700 (PDT)
In-Reply-To: <alpine.GSO.1.10.1503222238550.22210@multics.mit.edu>
References: <alpine.GSO.1.10.1503222238550.22210@multics.mit.edu>
From: Tom Ritter <tom@ritter.vg>
Date: Sun, 22 Mar 2015 22:38:48 -0500
Message-ID: <CA+cU71nN3f7TSoda_DOUzt5YVDzOmyLVhu8f9bR9hg42QNCLkw@mail.gmail.com>
To: Benjamin Kaduk <kaduk@mit.edu>
Content-Type: text/plain; charset="ISO-8859-1"
Archived-At: <http://mailarchive.ietf.org/arch/msg/trans/krMW0h1iZt5lFrNb4Aits2Ik89U>
Cc: trans@ietf.org
Subject: Re: [Trans] comments on draft-linux-trans-gossip-ct-01
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: <http://www.ietf.org/mail-archive/web/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: Mon, 23 Mar 2015 03:39:10 -0000

On 22 March 2015 at 21:51, Benjamin Kaduk <kaduk@mit.edu> wrote:
> First off, I have a general comment that there seem to be some places in
> the document where it is implicitly assumed that the HTTPS client and
> server trust each other to behave correctly and are "only" truing to
> detect misbehavior by other parties (i.e., CAs or parties subverting the
> CA infrastructure, etc.), to the exclusion of having the client and server
> retain some level of distrust or sanity checking of each other.

If it is not clear, I think it should be made explicit that the
purpose of CT gossip is to detect misbehaving CT logs - and nothing
more.  The purpose of CT is to detect misbehaving CAs.

A misbehaving server is making itself vulnerable, so they have an
incentive to behave. If a server misbehaves in collusion with a log,
it will hopefully be detected by an HTTPS client sharing SCTs directly
with an auditor (which is mentioned in a sentence in 3.1.2, and is a
natural extension if a user _wishes_ to give up some privacy.) But
this scenario also doesn't seem to make a lot of sense - why would a
server collude with a log when it can achieve the same goal with
significantly less work and less risk?

> I'm not
> sure that the client wants to always trust the server, given that the
> scheme is positing a universe where some clients will sometimes
> successfully connect to hostile servers supplied with fraudulent
> certificates (that validate) by the attacker.

The client is trusting that it will eventually connect to a behaving
server and that a server is interested in detecting mis-issuance for
itself. Another way to phrase it is that a client is not cordoned off
for a given server once and forever, with no way to ever connect to
the valid server again

If it's not clear that the client does not empty it's SCT cache into a
server and say "Okay, I'm all set" -then it should be made so. The
client doesn't do that. It retains SCTs and reports them according to
some unspecified UA algorithm. (exponential backoff plus
randomization?)

> In a related vein, in 3.1.2, should the server be allowed to exclude SCTs
> that it considers legitimate?

This is an optimization: if a server sends you SCTs A,B,C and then you
as a client report back to it "I know about SCTs A, B, and C - it
doesn't make a whole lot of sense for a server to report those to the
auditor.

I suppose; however, that an attacker may feed a server invalid SCTs
somehow to 'load it's cache' such that it never reports them. So
perhaps yes, it should report the SCTs it knows about to an auditor.

> What are the consequences if the server
> misbehaves and shares "other data that they may learn from the submission
> of SCTs by HTTP clients"?

It would be a privacy violation of the client.

> I'm also a little confused by the last paragraph of 3.1.2, "the selection
> MUST NOT be influenced by potential HTTPS clients connecting directly to
> the auditor".  It seems like the only risk of allowing a client to request
> monitoring for a given site is additional resource usage by the server
> (assuming the client is aware of the privacy considerations of making such
> a request).  I suspect that there is a valid concern here, but the text as
> written may be overly broad.

It's designed to prevent the following traffic analysis:

- Adversary is watching traffic of the auditor and client, and wants
to learn historical client behavior
- Client connects to an auditor and sends a bunch of SCTs over HTTPS
- Auditor immediately goes and queries all the domains the client sent for
- Adversary learns which domains the client sent in SCTs for

-tom