Comments on draft-stark-expect-ct-00

Eric Rescorla <ekr@rtfm.com> Thu, 10 November 2016 01:02 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7D15C1295D6 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 9 Nov 2016 17:02:26 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.397
X-Spam-Level:
X-Spam-Status: No, score=-8.397 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-1.497, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=rtfm-com.20150623.gappssmtp.com
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 nXfdfGowkgrg for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 9 Nov 2016 17:02:24 -0800 (PST)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0EE821294AC for <httpbisa-archive-bis2Juki@lists.ietf.org>; Wed, 9 Nov 2016 17:02:23 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1c4dhW-00062Q-GR for ietf-http-wg-dist@listhub.w3.org; Thu, 10 Nov 2016 00:58:46 +0000
Resent-Date: Thu, 10 Nov 2016 00:58:46 +0000
Resent-Message-Id: <E1c4dhW-00062Q-GR@frink.w3.org>
Received: from titan.w3.org ([128.30.52.76]) by frink.w3.org with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <ekr@rtfm.com>) id 1c4dhO-00061W-EZ for ietf-http-wg@listhub.w3.org; Thu, 10 Nov 2016 00:58:38 +0000
Received: from mail-yw0-f182.google.com ([209.85.161.182]) by titan.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <ekr@rtfm.com>) id 1c4dhI-0004xC-IR for ietf-http-wg@w3.org; Thu, 10 Nov 2016 00:58:33 +0000
Received: by mail-yw0-f182.google.com with SMTP id r204so227214938ywb.0 for <ietf-http-wg@w3.org>; Wed, 09 Nov 2016 16:58:12 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rtfm-com.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=TsRGXaPC+qsaud8cW9qzmamH19LRow8RVNd2AvXjiAc=; b=kiDWQOCTBALjfWishF3vZCDquGITudFIxa6Afa6Sin038jAzAV9nJzJRAOpjkTQIqx 4nBwHqWRaN1zaTJFnmyPA+2hcRjBx7uoHsrHf43dnLUsVeVn7KNlUcEbUbJT6FVqKL1s cWdj0hpKURJpRfTkxuYu1ZR/9kt3KCMD7OXB6AH6ReMqOn4p0LmQUt8nsYrKegDRWOW2 wnrcWFz/vlyi9ZrSTsnE4CuY3mYtYH7JziKnT29MRCBDDvnQ3GpsOtTZZ6uXcIY0Mb7m txYubhYRtzT2c+tIjBTcN/W6GQDxosZkgdEw4Mwiq0v1MLvE7BGLzyHEuuC2vcd+fFwP RfzA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=TsRGXaPC+qsaud8cW9qzmamH19LRow8RVNd2AvXjiAc=; b=VQecP0ZRHYpJDaYrq3x/u8qg3N86b1mHM/R44pygxWNPP1ICR4ykXXpK7gK3DlLFfp QHd277sHxAk9YSZZsjdNrNzBE3no8w0CYJ7o5r1dSJvj+zoWW7di9sqZ42AhBcTTDU8B eqXXDhRmY1R6FEd9z+9HpejjH4XPhaIKdvAV0fXzqrneVYZIK8j5p3dhtcRbAWWw/MnQ hkunSN98e+IXwSYX5kMTN28ZFzJjLAz0xUCtmhEd6YjpqpOMHYy2/4Z0BA+agu1EAgNI ECUw0RCUhVxE0moxLF5tN05V8wOup4GWwJfuRHM2zOJMzmt42YJT0oqd4nAWsU6ag6AJ FGJQ==
X-Gm-Message-State: ABUngvf1NmbZfgq7l5NEH461ZThYcPg/x2S04KbdoDfeGYaCc5hW2fG/SiGsYCUDsfcRIexyfLWK514W2WW0Nw==
X-Received: by 10.129.121.1 with SMTP id u1mr2624791ywc.146.1478739486304; Wed, 09 Nov 2016 16:58:06 -0800 (PST)
MIME-Version: 1.0
Received: by 10.129.159.141 with HTTP; Wed, 9 Nov 2016 16:57:25 -0800 (PST)
From: Eric Rescorla <ekr@rtfm.com>
Date: Wed, 09 Nov 2016 16:57:25 -0800
Message-ID: <CABcZeBMGWoXgd+O5CS44XKRKZYkXy7guB5hcoFL7ptkwcSSsDQ@mail.gmail.com>
To: HTTP Working Group <ietf-http-wg@w3.org>
Content-Type: multipart/alternative; boundary="94eb2c0a8f82cc45aa0540e7dd59"
Received-SPF: none client-ip=209.85.161.182; envelope-from=ekr@rtfm.com; helo=mail-yw0-f182.google.com
X-W3C-Hub-Spam-Status: No, score=-6.4
X-W3C-Hub-Spam-Report: AWL=-0.451, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, W3C_AA=-1, W3C_DB=-1, W3C_IRA=-1, W3C_WL=-1
X-W3C-Scan-Sig: titan.w3.org 1c4dhI-0004xC-IR 2e1b0b7b948b41733da3bfff722c3e43
X-Original-To: ietf-http-wg@w3.org
Subject: Comments on draft-stark-expect-ct-00
Archived-At: <http://www.w3.org/mid/CABcZeBMGWoXgd+O5CS44XKRKZYkXy7guB5hcoFL7ptkwcSSsDQ@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/32858
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

Overall:
Is there a reason to not have this be attached to the HSTS header (or,
I guess more weakly to HPKP)?  The syntax seems like it allows it. It
seems like we go to all the trouble of making these headers extensible
(indeed, the syntax in S 2.1) seems almost identical to HSTS but then
we define a new header each time.

At least, it would be nice to merge the report-uri function/description.

I am probably missing something, but I don't see the text that defines
what the actual semantics of enforcing CT are. The document says stuff
like "The UA evaluates each connection to an Expect-CT host for
compliance with the UA's Certificate Transparency (CT) policy" which
leads me to believe that different UAs might have different policies.
Assuming I am correct, this seems like a recipe for interop problems,
even with the compliance checking in S 2.3.1. Consider the case where
a UA's policy is that you must have CT for every cert in the chain
and the operator has two certs, one from a CA which has CT for every
cert in the chain and another from a CA which has CT just for the EE
cert. If the client gets Expect-CT from a host with the first cert,
then it will fail trying to connect to a host with the second cert.


S 2.1.3.
What's the rationale for not caching the directive in report-only mode.
If the purpose of the report-only mode is to tell you when you have
nonconforming servers, then don't you want to be able to turn it on
on server A and detect hwen server B is broken? That seems like it
doesn't work if you don't cache.

-Ekr