Re: [websec] Issue #41 add parameter indicating whether to hardfail or not

Eric Rescorla <> Fri, 29 June 2012 14:30 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 8AEC721F86F6 for <>; Fri, 29 Jun 2012 07:30:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -102.561
X-Spam-Status: No, score=-102.561 tagged_above=-999 required=5 tests=[AWL=0.416, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_LOW=-1, USER_IN_WHITELIST=-100]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id vBDomWZ6Z-x8 for <>; Fri, 29 Jun 2012 07:30:14 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 9850E21F86E3 for <>; Fri, 29 Jun 2012 07:30:14 -0700 (PDT)
Received: by vbbez10 with SMTP id ez10so2566682vbb.31 for <>; Fri, 29 Jun 2012 07:30:14 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20120113; h=mime-version:x-originating-ip:in-reply-to:references:from:date :message-id:subject:to:cc:content-type:x-gm-message-state; bh=LMNtFKiHPuTgKwvWTpSs/MkHHQYLotfVlwx4ccL0TMk=; b=mwjF4tyWdjRazwG9cBs5Zh3j1mOigCPxRZI2bcjOTR8a3IhF9qPitqLWX6nt9dYZTo ZXN6Cf+AfjD9s3zBvWclk/xGVlY2U/Pys/SoTs+MKbHTfxgQP7jDs+PcJ3pGyMMgiWjd SeB9kYccoVUul2ULqEUYnYOtGOKfr/sknr6My7G5Ki3kgFbCFpglWt10GgBCBmhKil+O gWDHrfnMdMRXSCpVTDL54mSqr4lg1IyWO4Q4hqhHd67sPNYxiZfsrKF24mRevHXITZvi sbQWpu9XL7d4q4tBYEB/l5423AxljW5eTb7AJm7e60/a9Peg4rV1zASj9RKJz6IG313I iOuQ==
Received: by with SMTP id o2mr945218vdh.132.1340980214095; Fri, 29 Jun 2012 07:30:14 -0700 (PDT)
MIME-Version: 1.0
Received: by with HTTP; Fri, 29 Jun 2012 07:29:28 -0700 (PDT)
X-Originating-IP: []
In-Reply-To: <>
References: <>
From: Eric Rescorla <>
Date: Fri, 29 Jun 2012 07:29:28 -0700
Message-ID: <>
To: =JeffH <>
Content-Type: text/plain; charset="ISO-8859-1"
X-Gm-Message-State: ALoCoQlfw5CRBuh7ypdYtnA7D8z905DmXYWwl4ksM8MD/1CJmBVjd8dbduykAqjXRlTbFjsmxoSQ
Cc: IETF WebSec WG <>
Subject: Re: [websec] Issue #41 add parameter indicating whether to hardfail or not
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, 29 Jun 2012 14:30:15 -0000

On Tue, Jun 12, 2012 at 12:00 AM, =JeffH <> wrote:
> Hi, thanks for your thoughts Yoav, apologies for latency,
>> I guess my issue with this..
> ..where "this" is denying the user the capability to "click-through" TLS/SSL
> errors/warnings in all error cases..
>> because when I read the draft for the first
>> time, I thought this would be a good idea for websites that only do HTTPS
>> and
>> do not do HTTP except to redirect to HTTPS. I thought it would allow them
>> to
>> signal this information, and allow them to defeat HTTP-based MiTM attacks.
> Yes, that is exactly the benefit the spec provides.
>> The
>> draft as it stands is not a good fit for this use case, because it
>> requires
>> more of the administrator than is currently reasonable to expect.
> If an admin is uncertain about their keeping their TLS/SSL certificate
> deployment up-to-date, then they shouldn't declare themselves as an HSTS
> Host.
> And, they shouldn't have themselves listed on Chrome's HSTS pre-loaded list,
> nor the upcoming Firefox one.
>> I could propose an "HSTS-light" header for this use case, but I don't
>> think
>> anybody would like to have that.
> Yeah, I'm not sure that's necessary, because what we're talking about here
> really is whether the user is offered obvious recourse to proceed with
> loading the web app in the face of TLS/SSL errors -- i.e., to be allowed to
> "click through" -- and in most (all?) browsers, the user is allowed to
> recourse to click through many TLS/SSL errors. So in some sense it is the
> status quo for a plain old non-HSTS web app.
> In the Paris WG session, the discussion of the above morphed to thinking
> about having a new "this site is testing HSTS" directive.
> In thinking about this, we don't think it is really necessary because if one
> declares one's web app as being HSTS, one can watch server logs to see if
> any requests come in over plain http, and then go track those issues down.

The point of "this is testing" is  the opposite: people who can't talk to you
because you've configured HSTS in a way inconsistent with your actual
site posture.