Re: [Unbearable] (late, sorry) WGLC question on establishing the binding or not

Brian Campbell <bcampbell@pingidentity.com> Wed, 21 December 2016 19:19 UTC

Return-Path: <bcampbell@pingidentity.com>
X-Original-To: unbearable@ietfa.amsl.com
Delivered-To: unbearable@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4D299126D74 for <unbearable@ietfa.amsl.com>; Wed, 21 Dec 2016 11:19:04 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=pingidentity.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 jWw8h2153xjp for <unbearable@ietfa.amsl.com>; Wed, 21 Dec 2016 11:19:02 -0800 (PST)
Received: from mail-it0-x22a.google.com (mail-it0-x22a.google.com [IPv6:2607:f8b0:4001:c0b::22a]) (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 4433E12956B for <unbearable@ietf.org>; Wed, 21 Dec 2016 11:19:02 -0800 (PST)
Received: by mail-it0-x22a.google.com with SMTP id 75so85827008ite.1 for <unbearable@ietf.org>; Wed, 21 Dec 2016 11:19:02 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pingidentity.com; s=gmail; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=rUgtOB8Rn9XyQqDd+WEXhG6USYaqsanIj5nmtNWTQjM=; b=UGhmkbGcm1pRdGbfAVFVS9IKbJ/bJHR6MwrwiBTCJlfNYhjIJ+rfUKVmLs4IBP7e8s f5TRcK3+W5PxVSvq4S1rNDcNdqTcOZaEi8Wk2Ad9LNHgUX+GY1tPmoXV4eayu/Q+O+Td kg9gTmKezEIKh8zQsLiBIs5Eu4V4frUO03RvM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=rUgtOB8Rn9XyQqDd+WEXhG6USYaqsanIj5nmtNWTQjM=; b=Lb7+ePwVYphTB42p4w02cqMZAH5PRShAOjhH4iYQdKnpbemJ8Rt3vACIKwrcsx2Xub 5s61opBlET1YPaZHc+vgW88QSDLI3syoe40m9rFHj7efkWRtv4ziQ1T1mH2DlvgMdVKs /iT+n7Sy+MwFifEDxkdd9h0C2NIPaIrUz8jTgq9OMv/exk6RlLXNLPqXFTkDaNoWTiyX jTsIpqT/GUAabpQQrjPKgqnd1IjUBczpx+XVXH4Gk2Vp74w3wcNhar0wxH/tUneUzi1+ CoKnsxs0JxVTT+xHs6tIHwH6sBPuqlSI3TWbRLiZJxClStbZiMo2ncel0bl0hd92g7o3 feQw==
X-Gm-Message-State: AIkVDXJA4+t9SviGqu3RVYDHHObxiBiUDWdqR5DmwU/9ra/TM7BGH5/Bte9snm5RBUeiWAXG+olT7IpLDphnewMg
X-Received: by 10.36.148.84 with SMTP id j81mr7136245ite.35.1482347941478; Wed, 21 Dec 2016 11:19:01 -0800 (PST)
MIME-Version: 1.0
Received: by 10.79.31.5 with HTTP; Wed, 21 Dec 2016 11:18:31 -0800 (PST)
In-Reply-To: <CY1PR0301MB084255A571DA0559181347648C930@CY1PR0301MB0842.namprd03.prod.outlook.com>
References: <CA+k3eCTDfFzVZ-oDVd5JohfoCMAprq_4q5gUs5QjfRQHb2Q+FA@mail.gmail.com> <CY1PR0301MB08427626BD31DB029C1754D98C900@CY1PR0301MB0842.namprd03.prod.outlook.com> <CA+k3eCQjJUWjNSJ_WKz6bB5yhx8qV+fEZHz_KRpj7-ofs-MBsQ@mail.gmail.com> <CACdeXiJVtUhZbv8vY2Zx9dG9Ze7Kgb-S_QQ+7CkAL6dvH980Rw@mail.gmail.com> <CY1PR0301MB084208DBC92146CE08CCB4668C900@CY1PR0301MB0842.namprd03.prod.outlook.com> <CA+k3eCTYgmFmEPgYEdobAuXgQac2ySOywWkEN-d1ixAy9H=O_w@mail.gmail.com> <CY1PR0301MB0842D8B16A4EBCC099E6DC8E8C930@CY1PR0301MB0842.namprd03.prod.outlook.com> <CACdeXiL73MkZsVUrFogrko+=mYLsC-A4xPsZmUer_eRjYpm+Fw@mail.gmail.com> <CY1PR0301MB0842F91C321A8F402529A26B8C930@CY1PR0301MB0842.namprd03.prod.outlook.com> <CACdeXi+uR96HEat5OSE-L=X=RoO1z9pH0t6X0whciTvhgw3GLg@mail.gmail.com> <CY1PR0301MB084255A571DA0559181347648C930@CY1PR0301MB0842.namprd03.prod.outlook.com>
From: Brian Campbell <bcampbell@pingidentity.com>
Date: Wed, 21 Dec 2016 12:18:31 -0700
Message-ID: <CA+k3eCQs-WZ1LrPb79y28U613a=_z3qgDU8h4-2sR3O+s3Megg@mail.gmail.com>
To: Andrei Popov <Andrei.Popov@microsoft.com>
Content-Type: multipart/alternative; boundary="94eb2c0ef0e27c7a520544300662"
Archived-At: <https://mailarchive.ietf.org/arch/msg/unbearable/7LnE_2VqUW8WNoDlcSTuDzRIHVU>
Cc: IETF Tokbind WG <unbearable@ietf.org>, Nick Harper <nharper@google.com>
Subject: Re: [Unbearable] (late, sorry) WGLC question on establishing the binding or not
X-BeenThere: unbearable@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "\"This list is for discussion of proposals for doing better than bearer tokens \(e.g. HTTP cookies, OAuth tokens etc.\) for web applications. The specific goal is chartering a WG focused on preventing security token export and replay attacks.\"" <unbearable.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/unbearable>, <mailto:unbearable-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/unbearable/>
List-Post: <mailto:unbearable@ietf.org>
List-Help: <mailto:unbearable-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/unbearable>, <mailto:unbearable-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Dec 2016 19:19:04 -0000

On Tue, Dec 20, 2016 at 7:13 PM, Andrei Popov <Andrei.Popov@microsoft.com>
wrote:

> What if instead we say in HTTPSTB that if the server is configured to
> require TB, then this server MUST reject HTTP requests lacking TB headers?
>

I think that's implied. It might be some time before straight requiring TB
is viable but that's a deployment/policy decision and of course such a
deployment would reject HTTP requests w/ out TB headers.

The situation at hand is a more general server that will accept both TB and
non-TB but when the client and server both negotiate the same TB version
and then the client doesn't send the TB message. Looking at the drafts a
bit more again I see that TBNEGO §4
<https://tools.ietf.org/html/draft-ietf-tokbind-negotiation-06#section-4>
has:

   If the "token_binding" extension is included in the server hello and
   the client supports the Token Binding protocol version selected by
   the server, it means that the version and key parameters have been
   negotiated between the client and the server and SHALL be definitive
   for the TLS connection.

While HTTPSTB §2
<https://tools.ietf.org/html/draft-ietf-tokbind-https-07#section-2> has:

   Once a client and server have negotiated the Token Binding Protocol
   with HTTP/1.1 or HTTP/2 (see [I-D.ietf-tokbind-protocol] and
   [I-D.ietf-tokbind-negotiation]), clients MUST include the Sec-Token-
   Binding header field in their HTTP requests.

Taken together I think that could be read to say that an HTTP client that
offers TB 1.0 in the client hello and gets TB 1.0 in the server hello but
doesn't send the TB message with HTTP requests is not complying with the
spec and a server could reasonably choose to reject such requests.

Does that seem legit?

I suppose more text could be added or clarified but maybe it's good enough
as is.