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

Dirk Balfanz <balfanz@google.com> Wed, 06 June 2018 04:41 UTC

Return-Path: <balfanz@google.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 0B299130E98 for <unbearable@ietfa.amsl.com>; Tue, 5 Jun 2018 21:41:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.51
X-Spam-Level:
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: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.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 QqV1XzpPs9EV for <unbearable@ietfa.amsl.com>; Tue, 5 Jun 2018 21:41:23 -0700 (PDT)
Received: from mail-wr0-x231.google.com (mail-wr0-x231.google.com [IPv6:2a00:1450:400c:c0c::231]) (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 D4227130E97 for <unbearable@ietf.org>; Tue, 5 Jun 2018 21:41:17 -0700 (PDT)
Received: by mail-wr0-x231.google.com with SMTP id l41-v6so4675467wre.7 for <unbearable@ietf.org>; Tue, 05 Jun 2018 21:41:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; 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; d=1e100.net; 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: <152596031836.10294.13536754824931837516.idtracker@ietfa.amsl.com>
In-Reply-To: <152596031836.10294.13536754824931837516.idtracker@ietfa.amsl.com>
From: Dirk Balfanz <balfanz@google.com>
Date: Tue, 05 Jun 2018 21:41:03 -0700
Message-ID: <CADHfa2DgvHAs1+r2LfZrfXwoZNgD6Q-wy4wOEv_EveKkL1EV8g@mail.gmail.com>
To: Benjamin Kaduk <kaduk@mit.edu>
Cc: The IESG <iesg@ietf.org>, draft-ietf-tokbind-https@ietf.org, John Bradley <ve7jtb@ve7jtb.com>, tokbind-chairs@ietf.org, Tokbind WG <unbearable@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000f2ac4f056df1c6f3"
Archived-At: <https://mailarchive.ietf.org/arch/msg/unbearable/1MBrK3wP35vc1oZszy9K69RPLeE>
Subject: Re: [Unbearable] Benjamin Kaduk's No Objection on draft-ietf-tokbind-https-15: (with COMMENT)
X-BeenThere: unbearable@ietf.org
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.\"" <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, 06 Jun 2018 04:41:25 -0000

Hi Benjamin,

thanks for the feedback. Most of it is addressed in the new draft (
https://tools.ietf.org/html/draft-ietf-tokbind-https-16). See below
(inline) for details.

On Thu, May 10, 2018 at 6:51 AM Benjamin Kaduk <kaduk@mit.edu> 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 https://www.ietf.org/iesg/statement/discuss-criteria.html
> for more information about IESG DISCUSS and COMMENT positions.
>
>
> The document, along with other ballot positions, can be found here:
> https://datatracker.ietf.org/doc/draft-ietf-tokbind-https/
>
>
>
> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
>
> 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
connection.



>
>
> 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!

Dirk.