<div dir="auto">Forwarding as Ralf is not on mail list </div><div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">---------- Forwarded message ---------<br>From: <strong class="gmail_sendername" dir="auto">Ralf Kuesters</strong> <span dir="auto"><<a href="mailto:ralf.kuesters@sec.uni-stuttgart.de">ralf.kuesters@sec.uni-stuttgart.de</a>></span><br>Date: Wed, Apr 30, 2025 at 12:16 AM<br>Subject: Re: security implications of client_id or endpoint as "aud" in OpenID Provider Commands<br>To:  <<a href="mailto:Dick.Hardt@gmail.com">Dick.Hardt@gmail.com</a>>, Tim Würtele <<a href="mailto:tim.wuertele@sec.uni-stuttgart.de">tim.wuertele@sec.uni-stuttgart.de</a>>, Pedram Hosseyni <<a href="mailto:pedram.hosseyni@sec.uni-stuttgart.de">pedram.hosseyni@sec.uni-stuttgart.de</a>><br>CC: Michael Jones <<a href="mailto:michael_b_jones@hotmail.com">michael_b_jones@hotmail.com</a>>, Artifact Binding/Connect Working Group <<a href="mailto:openid-specs-ab@lists.openid.net">openid-specs-ab@lists.openid.net</a>>, <a href="mailto:fabian.hauck@sec.uni-stuttgart.de">fabian.hauck@sec.uni-stuttgart.de</a> <<a href="mailto:fabian.hauck@sec.uni-stuttgart.de">fabian.hauck@sec.uni-stuttgart.de</a>><br></div><br><br>Dear Dick,<br>
<br>
We briefly looked at the OpenID Provider Commands specification and <br>
found it very interesting. Unfortunately, we cannot give any <br>
well-founded assessment without doing a thorough analysis first, as, <br>
based on our experience, it is very easy to overlook even simple attack <br>
patterns.<br>
<br>
However, we did notice two things:<br>
<br>
1. In its current form, the OID Provider Commands draft does not seem to <br>
detail how RPs validate command tokens. The abstract mentions that <br>
'Command Tokens build on the OpenID Connect ID Token schema and <br>
verification,' but, for example, checking the 'typ' header is not <br>
required in OIDC. Also, the proposed change of adding a client_id claim <br>
and changing the value of the aud claim does require different <br>
validation rules for command tokens and ID tokens on the RP side.<br>
<br>
2. To the best of our knowledge, none of the OIDC-related specifications <br>
guarantee that an RP's Command Endpoint is different from its client_id. <br>
Such a "collision" may be impossible for OP-issued random client_ids, <br>
but in cases where the client_id is a URI, e.g., OpenID Federation, an <br>
RP might, for some reason, choose to use that same URI as its Command <br>
Endpoint.<br>
<br>
Best,<br>
<br>
Ralf, Fabian, Pedram, and Tim<br>
<br>
<br>
On 17.04.25 16:49, Dick Hardt wrote:<br>
> Hello!<br>
> <br>
> We are working on a new specification, OpenID Provider Commands.The <br>
> commands are a JWT that is similar to an ID Token that have the same <br>
> "iss" and same verification, and share identity claims. The OP sends <br>
> command tokens to an RP.<br>
> <br>
> We want to ensure that a command token is not confused with an id token.<br>
> <br>
> Currently the spec has the same "aud" value in the command token as an <br>
> id token -- the client_id value.<br>
> <br>
> We are considering setting the "aud" value to be the command_endpoint <br>
> URL and to set the "client_id" claim to be the client_id value.<br>
> <br>
> <a href="https://github.com/openid/openid-provider-commands" rel="noreferrer" target="_blank">https://github.com/openid/openid-provider-commands</a> <br>
> <<a href="https://github.com/openid/openid-provider-commands" rel="noreferrer" target="_blank">https://github.com/openid/openid-provider-commands</a>><br>
> <br>
> <a href="https://github.com/openid/openid-provider-commands/issues/4" rel="noreferrer" target="_blank">https://github.com/openid/openid-provider-commands/issues/4</a> <br>
> <<a href="https://github.com/openid/openid-provider-commands/issues/4" rel="noreferrer" target="_blank">https://github.com/openid/openid-provider-commands/issues/4</a>><br>
> <br>
> Thanks in advance for your feedback and review!<br>
> <br>
> /Dick<br>
</div></div>