Re: [websec] #54: Specify a report-only mode

Tom Ritter <> Fri, 19 October 2012 15:57 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id ACD9921F8764 for <>; Fri, 19 Oct 2012 08:57:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.772
X-Spam-Status: No, score=-2.772 tagged_above=-999 required=5 tests=[AWL=0.205, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_LOW=-1]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id bcl1GguBJ9Vv for <>; Fri, 19 Oct 2012 08:57:16 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id AC89B21F845E for <>; Fri, 19 Oct 2012 08:57:16 -0700 (PDT)
Received: by with SMTP id fc26so759387vbb.31 for <>; Fri, 19 Oct 2012 08:57:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=vg; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:content-transfer-encoding; bh=ud0Gz/ZAsh9LZvHBwvgz3rtq3UlCFuu+LvxPI+DXY+M=; b=GW36jQrmQlaLHTReRuaTu2Qb4IoAkOEt4eTCBjVkIL80u4FkHv9WrCHRMEVnlBNeST 2JGpXFVyccYFNRaWv2B63h9MZdprs1ycuSH8gFa5l7ug4Goy2mmJR1HfWZaEnGs34zEP 94pc3enLHGG/X6/qRrBLcPcTSU65gFHKNFNhI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:content-transfer-encoding:x-gm-message-state; bh=ud0Gz/ZAsh9LZvHBwvgz3rtq3UlCFuu+LvxPI+DXY+M=; b=gBb6zqj+br6T0aQDAi+3zMBQEeRv6xC/A2pszZxBig2JdPnK47RYwd4ba+/Yrp/e0s tkydbYkZXkjTNDgVlYAsyYdG8BhlfBl0dYA9iZ4z+P9FW6NdFCHAqxbwyUzeYsvxrQKG i+yj2/2cTHCYl3/YZjCawIBjJrBa/cIbvpDibJPGb9IWw2OiKZ7LpSDGekLHa36r1RAM NtHa8LjkXWZ61xNRurYLdxkDdduUaqvGnJ4Mb8F5OMHGoo9JOu+X04bYDNdUouhJF2zR ebl5mov6eS7nfM5wwtlVbBrND5koj4LCp+gsWsoJH3ZzuR+4TRMnTy41wtLDgP6PU0nH bLJw==
Received: by with SMTP id 19mr2207086vec.53.1350662236151; Fri, 19 Oct 2012 08:57:16 -0700 (PDT)
MIME-Version: 1.0
Received: by with HTTP; Fri, 19 Oct 2012 08:56:55 -0700 (PDT)
In-Reply-To: <>
References: <> <> <>
From: Tom Ritter <>
Date: Fri, 19 Oct 2012 11:56:55 -0400
Message-ID: <>
To:, Chris Palmer <>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
X-Gm-Message-State: ALoCoQnB5Ok4IfJoK+rDUMxx8tTb+TxaZHhr5hbOzXyXx2PFS8awFazu+C7J1mbSQpsMriYy5wbV
Subject: Re: [websec] #54: Specify a report-only mode
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 19 Oct 2012 15:57:17 -0000

>>  On Thu, Oct 18, 2012 at 4:56 PM, websec issue tracker
>>  What are people's thoughts on this?

It hurts me to say so, because it's going to be more work and
complication and delay - but I agree a reporting system should be

>>  The reporting interface must be one that is easy for site operators to
>>  implement — writing code to collect the reports should not be a huge
>>  burden for developers. Perhaps a simple JSON blob:
>>  {
>>    "pin-validation-succeeded": (true|false),
>>    "expected-pins": [ "sha1/blahblah", "sha256/foobar", ... ],
>>    "validated-chain": [ "PEM blob of EE", "PEM blob of intermediate",
>>  ..., "PEM blob of anchor" ]
>>  }

I like this, although I would include the entire PKP header, the Host
header, and request URI.

On 18 October 2012 20:40, Ryan Sleevi <> wrote:
>   - Should the origin of the report URI be constrained the the origin of
> the target URI?

No, you should be allowed to specify a third party domain.  I could
easily see a third party service collecting these reports as a free or
paid service.  Google Webmaster Tools may even grow into collecting it
and CSP violations.

>   - Should the report URI be allowed to specify HTTPS?

Yes.  This is potentially sensitive information, and we would like it
to be protected in transit.

>   - If the report URI specifies HTTPS, and the report URI origin is the
> same as the target URI, but the report URI violates either the PKP or
> PKP-Report-Only policy, should the report still be submitted?

Honestly I don't see why not.  If it is an attacker, the attacker will
know the user rejected the TLS connection, and will have a good idea
it was because of pinning.  So what's the harm in telling them the
additional information.  Vs if it is a legit screw-up by the site,
they would still like to have the information.

>     - Is there a blacklist or whitelist of headers that should be used to
> prevent against abuse or compromise. For example, presumably including
> cookies in the report submission for an invalid PKP over the same
> connection that generated the invalid PKP would be bad, as it may
> (will) lead to the compromise of the users' data.

I don't think any headers other than the PKP, Host, and URL would be needed.

>   - If the report contains validated certificates, what should the format
> be? draft-josepfsson-pkix-textual [3] may be of normative use here.

I have no opinion.