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 CA6A612EAF9
 for <oauth@ietfa.amsl.com>; Mon, 22 May 2017 08:03:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level: 
X-Spam-Status: No, score=-1.999 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_NONE=-0.0001,
 SPF_PASS=-0.001, URIBL_BLOCKED=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 Vp8-myzOsiF8 for <oauth@ietfa.amsl.com>;
 Mon, 22 May 2017 08:03:20 -0700 (PDT)
Received: from mail-pf0-x232.google.com (mail-pf0-x232.google.com
 [IPv6:2607:f8b0:400e:c00::232])
 (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 0AEAB12EAFC
 for <oauth@ietf.org>; Mon, 22 May 2017 08:03:11 -0700 (PDT)
Received: by mail-pf0-x232.google.com with SMTP id e193so85036427pfh.0
 for <oauth@ietf.org>; Mon, 22 May 2017 08:03:11 -0700 (PDT)
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=4VwqlwHcP4GBf+xvlrNBCt9v/IZ125aHc6RLI1pBnVg=;
 b=h/k14faV7lNVzv3KQCV/jhDGzXmKRNmO6d34zaP0wC7voxb1zSUX65xjvjFNze73eN
 qwV1SIpLfSZ/ydVkKyj8A/Gi+505GBg39OmZFxUI1gYk7j49JB/lOqOEU9QBjXmbGsJr
 92yYiWKz051Ez8bT2exooTHjb7F0ymciMU+Sk=
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=4VwqlwHcP4GBf+xvlrNBCt9v/IZ125aHc6RLI1pBnVg=;
 b=NTeXLF9gQOJvbXTfo6AFxz//G1ko+rwOk6kuLMfOMuAHC42VLsfhaNKe5ZTgXaGDW6
 WCcV5GfbiOfSvnSpqtk8Vglu6+UZVj+zih1rK93yFSvMr90+6rb8lSYG31r/G132veH9
 /QWxFE1pDk9i8LjaVDV8R89jTuIF+GzeXn4GGQg5r7H8LB3E2C4g0YmUvxF7KTSWzVVJ
 q94QQpO2ShMV+ocoerz0P2VtPrDxRU1u/0QlUUtAVvCCFv9pC/UNq4yOU2xk+6SAHJSH
 90fQUp8alEMO0Cp5UaKcx0ntpkMu06vXyYrO66eXz0N5VIeKcp9/JqSg16mCtgDwPg+N
 wtgg==
X-Gm-Message-State: AODbwcDRObj7DaebvLN1GXym85I4Vy0Y3e7acFfGQNYKixkJxvB0sku7
 CelLvNhQayi7Vg/RUN3cZ3ou5+jwF5+k
X-Received: by 10.84.202.163 with SMTP id x32mr29804385pld.51.1495465390413;
 Mon, 22 May 2017 08:03:10 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.100.154.205 with HTTP; Mon, 22 May 2017 08:02:39 -0700 (PDT)
In-Reply-To: <77F2A1D2-5A8E-4E88-9920-A15BC24795E6@ve7jtb.com>
References: <CA+k3eCSqVmevpN_Rc5mcVborRk3hh0H6T_o8SAsJ=cJ6uw16xg@mail.gmail.com>
 <698E4B80-754F-42E1-AD2B-602CD605C680@ve7jtb.com>
 <CA+k3eCQHn4VAZyznQGu+61A9uNtYSGRpD0PBLJjUW00TBaAcSQ@mail.gmail.com>
 <77F2A1D2-5A8E-4E88-9920-A15BC24795E6@ve7jtb.com>
From: Brian Campbell <bcampbell@pingidentity.com>
Date: Mon, 22 May 2017 09:02:39 -0600
Message-ID: <CA+k3eCQ6Az8PMu_tuLWYEFF7+twJrFynYYYkrokDXzupYrA1sA@mail.gmail.com>
To: John Bradley <ve7jtb@ve7jtb.com>
Cc: "Manger, James" <James.H.Manger@team.telstra.com>,
 "oauth@ietf.org" <oauth@ietf.org>
Content-Type: multipart/alternative; boundary="94eb2c1486b65eb8ff05501e2bfa"
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/gBOFhHeaSyQGP9bxFKHRB3rHnc4>
Subject: Re: [OAUTH-WG] re comments on MTLS (was Re: Call for Adoption:
 Mutual TLS Profiles for OAuth Clients)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.22
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: Mon, 22 May 2017 15:03:23 -0000

--94eb2c1486b65eb8ff05501e2bfa
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Thought I was looking to get a sense of preference from the WG, I tend to
lean the same way as John. The issuer constraint is an optional thing
that's applied per client and the only use I can see in supporting more
than one is for the client to change issuers without updating it's
registration/configuration.

On Sat, May 20, 2017 at 8:44 AM, John Bradley <ve7jtb@ve7jtb.com> wrote:

> +1 for =E2=80=9Ctls_client_auth_root_dn"
>
> On making it an array, I think that adds complexity for little gain, and
> perhaps introduces new trust issues.
>
> I think it should be one trusted root or all the trusted roots.  If you
> only trust 5 then configure that in the AS.
>
> An array seems only useful where the client has a cert from x but may wan=
t
> to get the next one from y and not re-register.
> I think if the client or federation operator is locking itself down to
> specific issuers one per client should be fine.
> I expect that in most cases the issuer will need to be in the trust store
> of the AS anyway so this is just pinning the cert to one of a limited set=
.
>
> John B.
>
> On May 15, 2017, at 2:42 PM, Brian Campbell <bcampbell@pingidentity.com>
> wrote:
>
> I'll add text/clarification that the DN metadata fields being RFC4514
> string representations of DNs in the next draft.
>
> Given that this is a profile of use and the metadata fields are just one
> way to express the binding of certificate and client, and after thinking
> about it some more and not wanting to introduce too many variations, I fe=
el
> that keeping tls_client_auth_subject_dn as the subject distinguished name
> of the client certificate is more straightforward and sufficient for this
> case.
>
> Is there rough consensus to change "tls_client_auth_issuer_dn" to
> "tls_client_auth_root_dn" as was suggested? The latter name makes sense t=
o
> me but I don't want to make that change without a little more input or
> buy-in from the WG. So please respond one way or the other, if you've got
> an opinion.
>
> Similarly I'm looking for some rough consensus around if a single
> root/issuer is sufficient in the metadata before potentially making any
> changes. Should "tls_client_auth_issuer/root_dn" remain a single DN
> string value or should it be an array allowing for more than one?
>
>
>
> On Fri, Apr 21, 2017 at 6:18 PM, John Bradley <ve7jtb@ve7jtb.com> wrote:
>
>> I agree with Brian.
>>
>> Trying to do anything with PKIX opens up cans of worms.  One of the
>> reasons we have resisted to this point.
>>
>> However there are server to server use cases that legitimately need this=
.
>>
>> I agree that in general DN is a mess, I suspect that telling people to
>> directly use the DER encoded version wont fly, so my thought was to use =
the
>> RFC 4514 string representation that most tools produce.
>>
>> We did talk about subject alt DNS Names, however those may not be presen=
t
>> in eIDAS certificates that some people may need to use for legal reasons=
,
>> or if it is present it might be an email.
>>
>> I suspect that users of this will fall into two camps.  One that has a
>> small set of trusted CA that are configured out of band and any certific=
ate
>> from those roots with the correct DN is OK.
>>
>> The other group will be trying to do something more dynamic with SSL
>> server certs (May or may not be EV)   I could see those people preferrin=
g
>> DNS Name subject alt, or using JWKS to publish there certs.
>>
>> The problem is finding the right balance of flexibility without too many
>> options to confuse people.
>>
>> I am inclined towards DN for those that are willing to suffer the pain,
>> and JWKS_uri for everyone else.   One advantage of the JWKS_URI approach=
 is
>> that self signed certs should work just fine, that is something that the
>> R&E people will want if they use this.
>>
>> For most proof of possession we should be promoting token binding as the
>> most flexible approach as it also works with mobile without per instance
>> registration.
>>
>> John B.
>>
>>
>> On Apr 21, 2017, at 7:41 PM, Brian Campbell <bcampbell@pingidentity.com>
>> wrote:
>>
>> Thanks, James, for the adoption support as well as the review and
>> comments. I've tried to respond to the comments inline below.
>>
>> On Thu, Apr 20, 2017 at 11:33 PM, Manger, James <
>> James.H.Manger@team.telstra.com> wrote:
>>
>>> I support adoption of draft-campbell-oauth-mtls.
>>>
>>> Now some comments on the doc:
>>>
>>> 1. [=C2=A72.3] The syntax of tls_client_auth_subject_dn is not specifie=
d.
>>> Perhaps LDAP's "String Representation of Distinguished Names" [RFC4514]=
?
>>> Perhaps a base64url-encoding of a DER-encoded DN? It would actually be
>>> better to allow any subjectAltName to be specified, instead of a DN.
>>>
>>
>> How about calling it tls_client_auth_subject and defining it as a string
>> and allowing it to represent the expected subject which could be in the
>> cert as the subject DN or a subjectAltName? For Subject DN and DN
>> subjectAltNames it would be the "String Representation of Distinguished
>> Names" and an appropriate string for the other subjectAltName types (I'l=
l
>> have to look at what's there 'cause I don't know off hand and guidance o=
r
>> suggested text is always more than welcome).
>>
>>
>>
>>
>>> 2. [=C2=A72.3] Change the name of tls_client_auth_issuer_dn (maybe
>>> tls_client_auth_root_dn). Given tls_client_auth_client_dn, it will be t=
oo
>>> easy to assume this pair refer to the issuer and subject fields of the =
cert.
>>>
>>
>> The accompanying text tries to make it clear that it's the root issuer
>> but the tls_client_auth_issuer_dn name can certainly be changed to
>> tls_client_auth_root_dn or something along those lines, if folks think t=
he
>> name in -01 is liable to cause confusion?
>>
>>
>>
>> PKI chains can be complex so the expected root might not be such a stabl=
e
>>> concept. For example, the Let's Encrypt CA chains to an ISRG Root and a=
n
>>> IdenTrust DST Root [https://letsencrypt.org/certificates/].
>>>
>>
>> The goal was to provide a metadata field to express some constraint for
>> what is kind of expected to be a common deployment of a number of entiti=
es
>> participating in some OAuth API thing and are being issued certificates
>> from a common issuer for the group of participants.
>>
>> Perhaps it should be an array of strings rather than a single value?
>>
>> Or do you have suggestions for some alternative?
>>
>>
>>
>>
>>> 3. [=C2=A72.3] If a client dynamically registers a "jwks_uri" does this=
 mean
>>> the authz server MUST automatically cope when the client updates the ke=
y(s)
>>> it publishes there?
>>>
>>
>> If the authz server supports that kind of trust model as well as
>> dynamically registration, then I would expect so, yes.
>>
>>
>>
>>
>>> 4. [=C2=A73] An access token is bound to a specific client certificate.=
 That
>>> is probably ok, but does mean all access tokens die when the client upd=
ates
>>> their certificate (which could be every 2 months if using Let's Encrypt=
).
>>> This at least warrants a paragraph in the Security Considerations.
>>>
>>
>> In my own mind that was implied and okay because it's likely that access
>> tokens will have a shorter lifespan than certificates and refreshing or
>> getting a new access token is typically easy anyhow.
>>
>> Anyway, it doesn't hurt to be explicit about it, can you propose some
>> such text for the Security Considerations?
>>
>>
>>
>>
>>>
>>> 5. [=C2=A73.1] "exp" and "nbf" values in the example need to be numbers=
, not
>>> strings (drop the quotes).
>>>
>>
>> Silly mistake on my part. Thanks for catching that. Will fix.
>>
>>
>>
>>>
>>> 6. An access token linked to a client TLS cert isn't a bearer token. Th=
e
>>> spec should really define a new token_type for responses from the token
>>> endpoint. That might not necessarily mean we needs a new HTTP
>>> authentication scheme as well (it might just hint that "Bearer" wasn't
>>> quite the right name).
>>>
>>
>> Indeed "Bearer" isn't quite right and very likely a name that would be
>> different with the benefit of hindsight. But other than having names on =
the
>> wire that are more true to the nature of the tokens, I don't know that a
>> new token_type or HTTP auth scheme adds value to the use cases here.
>> However, they would likely make deployment of this stuff more cumbersome
>> and take longer.  Whereas many systems can likely plug in mutual TLS on =
top
>> of the existing token_type and HTTP auth scheme without major changes. I=
'm
>> strongly inclined to not introduce a new token_type and more inclined to
>> not do a new HTTP auth scheme.
>>
>>
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>
>>
>
>

--94eb2c1486b65eb8ff05501e2bfa
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Thought I was looking to get a sense of preference from th=
e WG, I tend to lean the same way as John. The issuer constraint is an opti=
onal thing that&#39;s applied per client and the only use I can see in supp=
orting more than one is for the client to change issuers without updating i=
t&#39;s registration/configuration.<br><div><div><div><div class=3D"gmail_e=
xtra">=C2=A0<br><div class=3D"gmail_quote">On Sat, May 20, 2017 at 8:44 AM,=
 John Bradley <span dir=3D"ltr">&lt;<a href=3D"mailto:ve7jtb@ve7jtb.com" ta=
rget=3D"_blank">ve7jtb@ve7jtb.com</a>&gt;</span> wrote:<br><blockquote clas=
s=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid r=
gb(204,204,204);padding-left:1ex"><div style=3D"overflow-wrap: break-word;"=
>+1 for =E2=80=9Ctls_client_auth_root_dn&quot;<div><br></div><div>On making=
 it an array, I think that adds complexity for little gain, and perhaps int=
roduces new trust issues.</div><div><br></div><div>I think it should be one=
 trusted root or all the trusted roots.=C2=A0 If you only trust 5 then conf=
igure that in the AS.</div><div><br></div><div>An array seems only useful w=
here the client has a cert from x but may want to get the next one from y a=
nd not re-register.=C2=A0</div><div>I think if the client or federation ope=
rator is locking itself down to specific issuers one per client should be f=
ine.</div><div>I expect that in most cases the issuer will need to be in th=
e trust store of the AS anyway so this is just pinning the cert to one of a=
 limited set.</div><div><br></div><div>John B.</div><div><div class=3D"gmai=
l-m_-2103869184652233164m_6709643981756518168m_-1406269275585728731h5"><div=
><br></div><div><div><blockquote type=3D"cite"><div>On May 15, 2017, at 2:4=
2 PM, Brian Campbell &lt;<a href=3D"mailto:bcampbell@pingidentity.com" targ=
et=3D"_blank">bcampbell@pingidentity.com</a>&gt; wrote:</div><br class=3D"g=
mail-m_-2103869184652233164m_6709643981756518168m_-1406269275585728731m_556=
4782380895104378Apple-interchange-newline"><div><div dir=3D"ltr"><div><div>=
I&#39;ll add text/clarification that the DN metadata fields being RFC4514 s=
tring representations of DNs in the next draft.<br><br></div>Given that thi=
s is a profile of use and the metadata fields are just one way to express t=
he binding of certificate and client, and after thinking about it some more=
 and not wanting to introduce too many variations, I feel that keeping tls_=
client_auth_subject_dn as the subject distinguished name of the client cert=
ificate is more straightforward and sufficient for this case.<br><br>Is the=
re rough consensus to change &quot;tls_client_auth_issuer_dn&quot; to  &quo=
t;tls_client_auth_root_dn&quot; as was suggested? The latter name makes sen=
se to me but I don&#39;t want to make that change without a little more inp=
ut or buy-in from the WG. So please respond one way or the other, if you&#3=
9;ve got an opinion.=C2=A0 <br><br></div>Similarly I&#39;m looking for some=
 rough consensus around if a single root/issuer is sufficient in the metada=
ta before potentially making any changes. Should &quot;tls_client_auth_issu=
er/root_d<wbr>n&quot; remain a single DN string value or should it be an ar=
ray allowing for more than one? <br><div><br><br></div></div><div class=3D"=
gmail_extra"><br><div class=3D"gmail_quote">On Fri, Apr 21, 2017 at 6:18 PM=
, John Bradley <span dir=3D"ltr">&lt;<a href=3D"mailto:ve7jtb@ve7jtb.com" t=
arget=3D"_blank">ve7jtb@ve7jtb.com</a>&gt;</span> wrote:<br><blockquote cla=
ss=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid =
rgb(204,204,204);padding-left:1ex"><div style=3D"overflow-wrap: break-word;=
">I agree with Brian.<div><br></div><div>Trying to do anything with PKIX op=
ens up cans of worms.=C2=A0 One of the reasons we have resisted to this poi=
nt.</div><div><br></div><div>However there are server to server use cases t=
hat legitimately need this.</div><div><br></div><div>I agree that in genera=
l DN is a mess, I suspect that telling people to directly use the DER encod=
ed version wont fly, so my thought was to use the RFC 4514 string represent=
ation that most tools produce.</div><div><br></div><div>We did talk about s=
ubject alt DNS Names, however those may not be present in eIDAS certificate=
s that some people may need to use for legal reasons, or if it is present i=
t might be an email.</div><div><br></div><div>I suspect that users of this =
will fall into two camps.=C2=A0 One that has a small set of trusted CA that=
 are configured out of band and any certificate from those roots with the c=
orrect DN is OK.</div><div><br></div><div>The other group will be trying to=
 do something more dynamic with SSL server certs (May or may not be EV) =C2=
=A0 I could see those people preferring DNS Name subject alt, or using JWKS=
 to publish there certs.</div><div><br></div><div>The problem is finding th=
e right balance of flexibility without too many options to confuse people.<=
/div><div><br></div><div>I am inclined towards DN for those that are willin=
g to suffer the pain, and JWKS_uri for everyone else. =C2=A0 One advantage =
of the JWKS_URI approach is that self signed certs should work just fine, t=
hat is something that the R&amp;E people will want if they use this. =C2=A0=
</div><div><br></div><div>For most proof of possession we should be promoti=
ng token binding as the most flexible approach as it also works with mobile=
 without per instance registration.</div><div><br></div><div>John B.</div><=
div><br></div><div><br></div><div><div><blockquote type=3D"cite"><div><div =
class=3D"gmail-m_-2103869184652233164m_6709643981756518168m_-14062692755857=
28731m_5564782380895104378h5"><div>On Apr 21, 2017, at 7:41 PM, Brian Campb=
ell &lt;<a href=3D"mailto:bcampbell@pingidentity.com" target=3D"_blank">bca=
mpbell@pingidentity.com</a>&gt; wrote:</div><br class=3D"gmail-m_-210386918=
4652233164m_6709643981756518168m_-1406269275585728731m_5564782380895104378m=
_-763505993239883314Apple-interchange-newline"></div></div><div><div><div c=
lass=3D"gmail-m_-2103869184652233164m_6709643981756518168m_-140626927558572=
8731m_5564782380895104378h5"><div dir=3D"ltr">Thanks, James, for the adopti=
on support as well as the review and comments. I&#39;ve tried to respond to=
 the comments inline below. <br><br><div><div class=3D"gmail_extra"><div cl=
ass=3D"gmail_quote">On Thu, Apr 20, 2017 at 11:33 PM, Manger, James <span d=
ir=3D"ltr">&lt;<a href=3D"mailto:James.H.Manger@team.telstra.com" target=3D=
"_blank">James.H.Manger@team.telstra.c<wbr>om</a>&gt;</span> wrote:<br><blo=
ckquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left=
:1px solid rgb(204,204,204);padding-left:1ex">I support adoption of draft-c=
ampbell-oauth-mtls.<br>
<br>
Now some comments on the doc:<br>
<br>
1. [=C2=A72.3] The syntax of tls_client_auth_subject_dn is not specified. P=
erhaps LDAP&#39;s &quot;String Representation of Distinguished Names&quot; =
[RFC4514]? Perhaps a base64url-encoding of a DER-encoded DN? It would actua=
lly be better to allow any subjectAltName to be specified, instead of a DN.=
<br></blockquote><div><br></div><div>How about calling it tls_client_auth_s=
ubject and defining it as a string and allowing it to represent the expecte=
d subject which could be in the cert as the subject DN or a subjectAltName?=
 For Subject DN and DN subjectAltNames it would be the &quot;String Represe=
ntation of Distinguished Names&quot; and an appropriate string for the othe=
r subjectAltName types (I&#39;ll have to look at what&#39;s there &#39;caus=
e I don&#39;t know off hand and guidance or suggested text is always more t=
han welcome). <br></div><div>=C2=A0<br><br><br></div><blockquote class=3D"g=
mail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204=
,204,204);padding-left:1ex">
<br>
2. [=C2=A72.3] Change the name of tls_client_auth_issuer_dn (maybe tls_clie=
nt_auth_root_dn). Given tls_client_auth_client_dn, it will be too easy to a=
ssume this pair refer to the issuer and subject fields of the cert.<br></bl=
ockquote><div><br></div><div>The accompanying text tries to make it clear t=
hat it&#39;s the root issuer but the tls_client_auth_issuer_dn name can cer=
tainly be changed to tls_client_auth_root_dn or something along those lines=
, if folks think the name in -01 is liable to cause confusion?<br></div><di=
v>=C2=A0<br><br><br></div><blockquote class=3D"gmail_quote" style=3D"margin=
:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"=
>
PKI chains can be complex so the expected root might not be such a stable c=
oncept. For example, the Let&#39;s Encrypt CA chains to an ISRG Root and an=
 IdenTrust DST Root [<a href=3D"https://letsencrypt.org/certificates/" rel=
=3D"noreferrer" target=3D"_blank">https://letsencrypt.org/certi<wbr>ficates=
/</a>].<br></blockquote><div><br></div><div>The goal was to provide a metad=
ata field to express some constraint for what is kind of expected to be a c=
ommon deployment of a number of entities participating in some OAuth API th=
ing and are being issued certificates from a common issuer for the group of=
 participants. <br><br></div><div>Perhaps it should be an array of strings =
rather than a single value?<br><br></div><div>Or do you have suggestions fo=
r some alternative?<br></div><div><br><br></div><div><br></div><blockquote =
class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px sol=
id rgb(204,204,204);padding-left:1ex">
<br>
3. [=C2=A72.3] If a client dynamically registers a &quot;jwks_uri&quot; doe=
s this mean the authz server MUST automatically cope when the client update=
s the key(s) it publishes there?<br></blockquote><div><br></div><div>If the=
 authz server supports that kind of trust model as well as dynamically regi=
stration, then I would expect so, yes. <br></div><div>=C2=A0<br><br><br></d=
iv><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;bord=
er-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
4. [=C2=A73] An access token is bound to a specific client certificate. Tha=
t is probably ok, but does mean all access tokens die when the client updat=
es their certificate (which could be every 2 months if using Let&#39;s Encr=
ypt). This at least warrants a paragraph in the Security Considerations.<br=
></blockquote><div><br></div><div>In my own mind that was implied and okay =
because it&#39;s likely that access tokens will have a shorter lifespan tha=
n certificates and refreshing or getting a new access token is typically ea=
sy anyhow.<br><br></div><div>Anyway, it doesn&#39;t hurt to be explicit abo=
ut it, can you propose some such text for the Security Considerations?<br><=
br><br></div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"ma=
rgin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:=
1ex">
<br>
5. [=C2=A73.1] &quot;exp&quot; and &quot;nbf&quot; values in the example ne=
ed to be numbers, not strings (drop the quotes).<br></blockquote><div><br><=
/div><div>Silly mistake on my part. Thanks for catching that. Will fix. <br=
><br></div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"marg=
in:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1e=
x">
<br>
6. An access token linked to a client TLS cert isn&#39;t a bearer token. Th=
e spec should really define a new token_type for responses from the token e=
ndpoint. That might not necessarily mean we needs a new HTTP authentication=
 scheme as well (it might just hint that &quot;Bearer&quot; wasn&#39;t quit=
e the right name).<br></blockquote><div><br></div><div>Indeed &quot;Bearer&=
quot; isn&#39;t quite right and very likely a name that would be different =
with the benefit of hindsight. But other than having names on the wire that=
 are more true to the nature of the tokens, I don&#39;t know that a new tok=
en_type or HTTP auth scheme adds value to the use cases here. However, they=
 would likely make deployment of this stuff more cumbersome and take longer=
.=C2=A0 Whereas many systems can likely plug in mutual TLS on top of the ex=
isting token_type and HTTP auth scheme without major changes. I&#39;m stron=
gly inclined to not introduce a new token_type and more inclined to not do =
a new HTTP auth scheme. </div><div><br><br><br></div></div></div></div></di=
v></div></div>
______________________________<wbr>_________________<br>OAuth mailing list<=
br><a href=3D"mailto:OAuth@ietf.org" target=3D"_blank">OAuth@ietf.org</a><b=
r><a href=3D"https://www.ietf.org/mailman/listinfo/oauth" target=3D"_blank"=
>https://www.ietf.org/mailman/l<wbr>istinfo/oauth</a><br></div></blockquote=
></div><br></div></div></blockquote></div><br></div>
</div></blockquote></div><br></div></div></div></div></blockquote></div><br=
></div></div></div></div></div>

--94eb2c1486b65eb8ff05501e2bfa--

