Re: [Unbearable] Benjamin Kaduk's No Objection on draft-ietf-tokbind-https-15: (with COMMENT)

Dirk Balfanz <> Wed, 06 June 2018 04:41 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 0B299130E98 for <>; Tue, 5 Jun 2018 21:41:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -17.51
X-Spam-Status: No, score=-17.51 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, T_DKIMWL_WL_MED=-0.01, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] autolearn=unavailable autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id QqV1XzpPs9EV for <>; Tue, 5 Jun 2018 21:41:23 -0700 (PDT)
Received: from ( [IPv6:2a00:1450:400c:c0c::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id D4227130E97 for <>; Tue, 5 Jun 2018 21:41:17 -0700 (PDT)
Received: by with SMTP id l41-v6so4675467wre.7 for <>; Tue, 05 Jun 2018 21:41:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=NYRB22EZGhBPFwyBfVfhbvbTwiZx99K4qywjPgsvtfo=; b=YpKwLtMPKOq5LpvRxWvsC3Pxsc6D84/8ahfz1e5V5WPHDDkt1+rXVTW8sRANORvr6s 8w+zBDEyO1XqKPaJgp/bJEopHmynoolQZeTtyOwT7Wbr9rs7LGj0OpLPr45fLYq7dBRs CitVfmv+QRKkblXpiz0UdnHfrEFUMW0oe018nY4dphOm7S5Us+gmqvWWRYfwKfXlntk7 vNEbGE9dpYMgyb/LNVO77FAjcS9esMk/0qvMJeamc28ZvVnpxLa1rIAbvQQGdCrc5dAm 6vXdkbnkQ2zFYovzJYeiDwEAgmEhUq21IUKswyFnrW/JDwuIbcHN6tHCX0CR/caX4sd7 EpdQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=NYRB22EZGhBPFwyBfVfhbvbTwiZx99K4qywjPgsvtfo=; b=Gk/yITsXCT0DvJ5dxf0dvnHoKBDjJnjCUUvS2I97geDuvkP0mSl0V3GS/iQwgM8bzI v62P85torXMTixoVXz1HrInMEDCkG319FMd1QFtgkWsmy6oaVdOpdogZWFEJxPnR28Jm 0XnLT3CuqjPJ7KKsS+ctVIDz4NHaABhulaCy2tm4F0ZRjNC3DYzmQJ5IqsyD3Z+UHpEV ARbkdP83QloYKb9+VplvtAgMrVyvWczDmaDDXYIYynUx4FD9prsEa5jYKeqB/R8Ipwq+ D1ktrmGzVkosLdfiOXCEqfMCbbUTsDOfBKMrTqx1+ryQYCtXh0Qq923Gd2/0AbF8jFuk Cjvw==
X-Gm-Message-State: APt69E1sn5kvSW3IFpCAzPz/JsJ3D85a64eHJKF9psSy6ALYNXm44hCK yE3x0HHishhe+yeDz2QUxOEEZAdGDO62OfDYscBMyg==
X-Google-Smtp-Source: ADUXVKJMCU1Bjxceo2iicWin2jlWFpzt1sCP1ksoPLKJfninNIPV+b8Br0u1ytMHaz+RHdSHoANa97/GglaFmFVUQbg=
X-Received: by 2002:adf:fec2:: with SMTP id q2-v6mr961455wrs.165.1528260075859; Tue, 05 Jun 2018 21:41:15 -0700 (PDT)
MIME-Version: 1.0
References: <>
In-Reply-To: <>
From: Dirk Balfanz <>
Date: Tue, 05 Jun 2018 21:41:03 -0700
Message-ID: <>
To: Benjamin Kaduk <>
Cc: The IESG <>,, John Bradley <>,, Tokbind WG <>
Content-Type: multipart/alternative; boundary="000000000000f2ac4f056df1c6f3"
Archived-At: <>
Subject: Re: [Unbearable] Benjamin Kaduk's No Objection on draft-ietf-tokbind-https-15: (with COMMENT)
X-Mailman-Version: 2.1.26
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.\"" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 06 Jun 2018 04:41:25 -0000

Hi Benjamin,

thanks for the feedback. Most of it is addressed in the new draft ( See below
(inline) for details.

On Thu, May 10, 2018 at 6:51 AM Benjamin Kaduk <> wrote:

> Benjamin Kaduk has entered the following ballot position for
> draft-ietf-tokbind-https-15: No Objection
> When responding, please keep the subject line intact and reply to all
> email addresses included in the To and CC lines. (Feel free to cut this
> introductory paragraph, however.)
> Please refer to
> for more information about IESG DISCUSS and COMMENT positions.
> The document, along with other ballot positions, can be found here:
> ----------------------------------------------------------------------
> ----------------------------------------------------------------------
> I agree with Alexey about clarifying that backslashes are only for
> readability.

Addressed in the new draft.

> I'm curious why Section 2 limits to at most one referred_token_binding.

We couldn't come up with examples where we would have more than one, and
wanted to write the spec as narrow as possible for now.

> Section 2
>    A TokenBindingMessage is validated by the server as described in
>    Section 4.2.  ("Server Processing Rules") of
>    [I-D.ietf-tokbind-protocol].
> Nit: no period after "4.2".

Addressed in new draft.

>    [...] If validation fails and a Token Binding
>    is rejected, any associated bound tokens MUST also be rejected by the
>    server.
> I repeat my remark about "associated" from tokbind-protocol.
> Section 2.1
> It seems a little unusual to see "Applications other than Web
> browsers MAY [...]", though I do not object.
> Section 3
> To be clear, this means that the EKM used is the one from before
> the renegotiation, corresponding in the somewhat-common use case of
> renegotiation for optional client authentication to the
> unauthenticated-client state, right?

See previous answers from Nick et al. It's a new EKM.

> Section 5.3
>    As illustrated in Section 5.5, when a client receives this header
>    field, it should take the TokenBindingID of the provided TokenBinding
>    from the referrer and create a referred TokenBinding with it to
>    include in the TokenBindingMessage on the redirect request.  In other
>    words, the Token Binding message in the redirect request to the Token
>    Provider now includes one provided binding and one referred binding,
>    the latter constructed from the binding between the client and the
>    Token Consumer.
> I'm not really an HTTP expert, but is "redirect request" the right
> term (as opposed to, say, "redirected request" or "post-redirect
> request")?
>    The TokenBindingMessage SHOULD contain a TokenBinding with
>    TokenBindingType referred_token_binding.
> At this point we may have lost track of what "The
> TokenBindingMessage" refers to -- some explicit scope (the message
> sent to the Token Provider after following the redirect) could be
> helpful.

Addressed in new draft.

> Section 7.1
>    The goal of the Federated Token Binding mechanisms is to prevent
>    attackers from exporting and replaying tokens used in protocols
>    between the client and Token Consumer, [...]
> Do we actually need to limit the scope to Token Consumer?  The Token
> Provider may also issue tokens that we want to protect, after all.

Correct - and that’s covered in the more general version of this
consideration in draft-ietf-tokbind-protocol. Here we point out that the
federation mechanism in particular focuses on the client<->Token Consumer

> Section 7.2
> Do we need to repeat the normative statements already made in
> [TBPROTO]?  Maybe we can just say that [TBPROTO] requires these
> things to be used, to protect against [TRIPLE-HS].

Addressed in new draft.

Thanks again for your thoughtful comments!