Re: [OAUTH-WG] [IANA #1264432] expert review for draft-ietf-oauth-dpop (http-fields)

Brian Campbell <bcampbell@pingidentity.com> Fri, 20 January 2023 18:47 UTC

Return-Path: <bcampbell@pingidentity.com>
X-Original-To: oauth@ietfa.amsl.com
Delivered-To: oauth@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 53764C14CEE4 for <oauth@ietfa.amsl.com>; Fri, 20 Jan 2023 10:47:01 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.093
X-Spam-Level:
X-Spam-Status: No, score=-2.093 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=pingidentity.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7a-UhUdMWQiv for <oauth@ietfa.amsl.com>; Fri, 20 Jan 2023 10:46:57 -0800 (PST)
Received: from mail-pj1-x102f.google.com (mail-pj1-x102f.google.com [IPv6:2607:f8b0:4864:20::102f]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 19E7CC14F6EB for <oauth@ietf.org>; Fri, 20 Jan 2023 10:46:57 -0800 (PST)
Received: by mail-pj1-x102f.google.com with SMTP id v6-20020a17090ad58600b00229eec90a7fso2171506pju.0 for <oauth@ietf.org>; Fri, 20 Jan 2023 10:46:57 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pingidentity.com; s=google; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=HKW7ajDKI8KdzwC0v0adaQ+Fcx8WjvMg/WeaYN5bQh4=; b=cz2I7FuLmi/U4K3r32TCZ10uolz4lEcjiRrR2mrDelWDrqFb5QvGoPyW3CI6az/rkB qKV2PYdPgWV/RuX3Hu7mdcKY/RsD2yZ7El9WZ1l3B9cRhUoZgTNju1mm0anHuL1+qyWE gDg3Drn0ePOzjjtZoCaTnv+7m05wGDaJZvc+zGfGLjooNqUArbLUAf7v/nSb6PSrqcfA HFM4qTB/+MGBhAzZKZSfzYm6s5x10emltPbqlCXh6dT4tp1WbfZ+hq11fQwBiPNPYGrZ IHTwmipwrZJ1xae5dl20WyjYFU8P00vzpHhQF3h/vrXKV3sKn2mje0HsgThlLVbtLXKJ yfZw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=HKW7ajDKI8KdzwC0v0adaQ+Fcx8WjvMg/WeaYN5bQh4=; b=h4nU+9CqqXQyNQ93UTl/LxYGTf8bhJB2e3NiIzA25zmwxG6+Eaf2aF/sCSx3QJtlf0 m7r0Y8nhYUKTgiT5sypf3mpIH8ijEJ5vIUyhqdTqEwt1S/+hGAZ8TJ/f6EpsrIiFPKhR L82X7igGYUo8djiiq4efOOdqeZ/UynzNzL53wcaeF4MTVU0fh2Qic96OsIzSbybjfdVE SRakykffY62gCYCccKxscofG3MUjlo2qq8tJTfyxowJk2xHPBIktafr44xft53OA+5vt Pk3jf+cik3av71h4Icdo/bNlJRga1YzEm6nf9qUu8klY1XpgiMauqRzdoipEJlE8XQzq iQcw==
X-Gm-Message-State: AFqh2krS4z85ozFY7jilH9GS1DP9na46JG2HlqvRvG2fv6y5mZWCT6bP sEYlfpdgbLPtoIT4GGFdEgZdwdqkG1D+fIqJHs78iNa0Pts/NtIkX2i64QHVYkqLoIrPPYKlSgn P/C1a8tTU3ZZihqhlztpx2b1/
X-Google-Smtp-Source: AMrXdXvfIwoqTL2HsMPok0Fn7mNn807smY37foMXhP4VxH5P5u2cO3XIn/uO7yr0j9ERJ1h0s6rLS5bChrD4euCm8Gc=
X-Received: by 2002:a17:90b:354d:b0:214:1329:dec7 with SMTP id lt13-20020a17090b354d00b002141329dec7mr1372005pjb.91.1674240416238; Fri, 20 Jan 2023 10:46:56 -0800 (PST)
MIME-Version: 1.0
References: <RT-Ticket-1264432@icann.org> <rt-5.0.3-41757-1674065064-1576.1264432-9-0@icann.org> <rt-5.0.3-46491-1674066633-577.1264432-9-0@icann.org> <CC85682F-99E6-4D1D-8877-A81426526429@mnot.net>
In-Reply-To: <CC85682F-99E6-4D1D-8877-A81426526429@mnot.net>
From: Brian Campbell <bcampbell@pingidentity.com>
Date: Fri, 20 Jan 2023 11:46:07 -0700
Message-ID: <CA+k3eCT0HN+LFkQCnfP2BhhPV=NaXaReRuV-ktA1Y=LNOsZ_qw@mail.gmail.com>
To: Mark Nottingham <mnot=40mnot.net@dmarc.ietf.org>
Cc: drafts-expert-review-comment@iana.org, oauth@ietf.org, Roy Fielding <fielding@gbiv.com>
Content-Type: multipart/alternative; boundary="0000000000004777d605f2b67907"
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/odtsvYPbAT6s3L8ABSSlfF20Bfg>
Subject: Re: [OAUTH-WG] [IANA #1264432] expert review for draft-ietf-oauth-dpop (http-fields)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/oauth/>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 20 Jan 2023 18:47:01 -0000

Hi Mark,

Thanks for the review and feedback. I am aware of HTTP Structured Fields
and certainly see value in it - even using it in some other work in which
I'm involved. However, I'm unsure of its fit or utility for this draft.
With that said, I've tried to reply more specifically to your comments
inline below.


On Wed, Jan 18, 2023 at 3:32 PM Mark Nottingham <mnot=
40mnot.net@dmarc.ietf.org> wrote:

> A few things caught my eye in this document:
>
> - Section 4.1 defines the DPoP header field as a JWT, which (as I
> understand it) is a base64-encoded string. If that's the case, I'd
> recommend making it a Structured Field Item (see RFC8941 s 3.3) with a
> fixed type of Byte Sequence (s 3.3.5). That will require changing the
> syntax to add a prefix and suffix of ":".
>

As Justin pointed out, a JWT is three Base64url encoded segments delimited
by the `.` period character, which means it can't be a SF Byte Sequence.
As DW pointed out, a JWT just happens to always start with a letter because
the first segment is always encoded JSON, so will always start with 'ey'.
So the DPoP header field value does just happen to fit the SF Token syntax,
But the SF Token syntax does very little regarding the validity of the JWT.



> - The DPoP-Nonce header field's syntax isn't obviously specified. It
> should be. I'd suggest a Structured Field Item with a fixed type of String
> (RFC 8941 s 3.3.3), which would surrounding the value with quotes.
>

ABNF syntax for the nonce value is provided at
https://www.ietf.org/archive/id/draft-ietf-oauth-dpop-12.html#section-8-9
along with the description of its use in the DPoP exchange. I believe that
the SF String type would accommodate the content we intended to allow
servers to use for the nonce (it's basically a server chosen value that the
client treats as opaque and sends back in subsequent DPoP proof JWTs).
However, that would be a breaking change, which shouldn't be undertaken
lightly.



>
> - Neither header has interoperable parsing or serialisation specified;
> divergent error handling may cause interoperability problems. Adopting
> Structured Fields would address this.
>

Both are composed of a narrow set of printable ASCII with parsing,
validation, usage, and error handling specified at the application layer.
I'm not going to claim that it's perfect by any means. But those
interoperability problems seem conjectural and it's not obvious that
adopting Structured Fields would add value in the context of this draft.



>
> - See RFC9110 s 16.3.2 for things that should be considered when defining
> new HTTP fields. I suspect that the document needs to be more explicit
> about at least some of these items. Adopting Structured Fields would
> address some (but not all) of these questions.
>

The authors (on-behalf-of and with the help of the WG) have endeavored to
touch on all the considerations needed to ensure interoperability of the
protocol overall as well as HTTP related (e.g. caching, applicability to
request/response, prohibiting multiple occurrences, scope of
applicability). However, the group clearly does not have your depth of HTTP
expertise so may well have missed something. If that's the case, it would
be very helpful for specifics to be raised.



> - See also <
> https://httpwg.org/admin/editors/style-guide#header-and-trailer-fields>
> for the preferred editorial style when defining new HTTP fields.
>
> - The long line-wrapped example in Section 4.1 would benefit from RFC8792
> encoding. In HTTP, a line-wrapped field like the one shown has whitespace
> inserted between each line, which is problematic here.
>

This is a bit of a stylistic preference thing. That example and others in
the draft are intentionally similar (with a note about line breaks and
extra space being for display purposes) to closely related and referenced
documents like RFC7515, RFC7519, and RFC6749. The examples from these RFCs
seem to have worked well for readers/implementers in practice, and so we'd
prefer to keep the formatting conventions in this draft the same as in
those.



>
> Cheers,
>
>
>
>
> > On 19 Jan 2023, at 5:30 am, David Dong via RT <
> drafts-expert-review-comment@iana.org> wrote:
> >
> > Dear Mark Nottingham and Roy Fielding (cc: oauth WG),
> >
> > As the designated experts for the http-fields registry, can you review
> the proposed registration in draft-ietf-oauth-dpop for us? Please see:
> >
> > https://datatracker.ietf.org/doc/draft-ietf-oauth-dpop/
> >
> > The due date is February 1st, 2023.
> >
> > If this is OK, when the IESG approves the document for publication,
> we'll make the registration at
> >
> > https://www.iana.org/assignments/http-fields/http-fields.xhtml
> >
> > We'll wait for both reviewers to respond unless you tell us otherwise.
> >
> > With thanks,
> >
> > David Dong
> > IANA Services Specialist
>
> --
> Mark Nottingham   https://www.mnot.net/
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

-- 
_CONFIDENTIALITY NOTICE: This email may contain confidential and privileged 
material for the sole use of the intended recipient(s). Any review, use, 
distribution or disclosure by others is strictly prohibited.  If you have 
received this communication in error, please notify the sender immediately 
by e-mail and delete the message and any file attachments from your 
computer. Thank you._