Subject: Re: [OAUTH-WG] Call for Feedback on draft-ietf-oauth-iss-auth-resp-00

From: Rifaat Shekh-Yusef <[email-masked]>
Date: Sat, 1 May 2021 16:46:57 -0400

All,

We have not seen any comments on this document.
Can you please review the document and provide feedback, or indicate that
you have reviewed the document and have no concerns.

Regards,
 Rifaat & Hannes

On Thu, Apr 15, 2021 at 3:04 AM Karsten Meyer zu Selhausen <
[email-masked]> wrote:

> Hi all,
>
> the latest version of the security BCP references
> draft-ietf-oauth-iss-auth-resp-00 as a countermeasures to mix-up attacks.
>
> There have not been any concerns with the first WG draft version so far:
> https://datatracker.ietf.org/doc/draft-ietf-oauth-iss-auth-resp/
>
> I would like to ask the WG if there are any comments on or concerns with
> the current draft version.
>
> Otherwise I hope we can move forward with the next steps and hopefully
> finish the draft before/with the security BCP.
>
> Best regards,
> Karsten
>
> --
> Karsten Meyer zu Selhausen
> Senior IT Security Consultant
> Phone:	+49 (0)234 / 54456499
> Web:	https://hackmanit.de | IT Security Consulting, Penetration Testing, Security Training
>
> Is your OAuth or OpenID Connect client vulnerable to the severe impacts of mix-up attacks? Learn how to protect your client in our latest blog post on single sign-on:https://www.hackmanit.de/en/blog-en/132-how-to-protect-your-oauth-client-against-mix-up-attacks
>
> Hackmanit GmbH
> Universitätsstraße 60 (Exzenterhaus)
> 44789 Bochum
>
> Registergericht: Amtsgericht Bochum, HRB 14896
> Geschäftsführer: Prof. Dr. Jörg Schwenk, Prof. Dr. Juraj Somorovsky, Dr. Christian Mainka, Dr. Marcus Niemietz
>
> _______________________________________________
> OAuth mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/oauth
>

---

From: Torsten Lodderstedt <[email-masked]>
Date: Sun, 9 May 2021 12:11:24 +0200

Hi,

I have read the document and have no concerns.

As an editorial feedback, I would suggest to drop „ If implemented correctly,“ in the abstract since this apparently is a prerequisite for all kinds of security controls ;-)

best regards,
Torsten.

> Am 01.05.2021 um 22:47 schrieb Rifaat Shekh-Yusef <[email-masked]>:
> 
> 
> All,
> 
> Can you please review the document and provide feedback, or indicate that you have reviewed the document and have no concerns.
> 
> Regards,
>  Rifaat & Hannes
> 
> 
>> On Thu, Apr 15, 2021 at 3:04 AM Karsten Meyer zu Selhausen <[email-masked]> wrote:
>> Hi all,
>> 
>> the latest version of the security BCP references draft-ietf-oauth-iss-auth-resp-00 as a countermeasures to mix-up attacks.
>> 
>> There have not been any concerns with the first WG draft version so far: https://datatracker.ietf.org/doc/draft-ietf-oauth-iss-auth-resp/
>> 
>> I would like to ask the WG if there are any comments on or concerns with the current draft version.
>> 
>> Otherwise I hope we can move forward with the next steps and hopefully finish the draft before/with the security BCP.
>> 
>> Best regards,
>> Karsten
>> 
>> -- 
>> Is your OAuth or OpenID Connect client vulnerable to the severe impacts of mix-up attacks? Learn how to protect your client in our latest blog post on single sign-on:
>> https://www.hackmanit.de/en/blog-en/132-how-to-protect-your-oauth-client-against-mix-up-attacks
>> 
>> Hackmanit GmbH
> https://www.google.com/url?q=https://www.ietf.org/mailman/listinfo/oauth&source=gmail-imap&ust=1620506842000000&usg=AOvVaw3dG-hH8lliyL13KAjSOYwA

---

From: Christian Mainka <[email-masked]>
Date: Mon, 10 May 2021 14:43:11 +0200

Hi,

I read the document, have no concerns, and support it.

Christian

-- 
Dr.-Ing. Christian Mainka
Horst Görtz Institute for IT-Security
Chair for Network and Data Security
Ruhr University Bochum, Germany

Universitätsstr. 150, ID 2/463
D-44801 Bochum, Germany

Telefon: +49 (0) 234 / 32-26796
Fax: +49 (0) 234 / 32-14347
https://nds.rub.de/chair/people/cmainka/
@CheariX

---

From: Vladislav Mladenov <[email-masked]>
Date: Mon, 10 May 2021 14:44:08 +0200

Hi all,

I reviewed the document and have no objections. I think we can move
forward with the next steps.

Best regards
Vladislav Mladenov

Am 09.05.21 um 12:11 schrieb Torsten Lodderstedt:
> As an editorial feedback, I would suggest to drop „ If implemented
> correctly,“ in the abstract since this apparently is a prerequisite
> for all kinds of security controls ;-)
>
> best regards,
> Torsten.
>
>> Can you please review the document and provide feedback, or indicate
>> that you have reviewed the document and have no concerns.
>>
>> Regards,
>>  Rifaat & Hannes
>>
>>
>> On Thu, Apr 15, 2021 at 3:04 AM Karsten Meyer zu Selhausen
>> <[email-masked]
>> <mailto:[email-masked]>> wrote:
>>
>>     Hi all,
>>
>>     <https://www.google.com/url?q=https://datatracker.ietf.org/doc/draft-ietf-oauth-iss-auth-resp/&source=gmail-imap&ust=1620506842000000&usg=AOvVaw2UMWEyCo2Pur0xsLToomRw>
>>
>>     Otherwise I hope we can move forward with the next steps and
>>     hopefully finish the draft before/with the security BCP.
>>
>>     Best regards,
>>     Karsten
>>
>>     -- 
>>     Web:	https://hackmanit.de <https://www.google.com/url?q=https://hackmanit.de&source=gmail-imap&ust=1620506842000000&usg=AOvVaw2LYSz_YVb6u2-vMiiFfv-Q> | IT Security Consulting, Penetration Testing, Security Training
>>
>>     https://www.hackmanit.de/en/blog-en/132-how-to-protect-your-oauth-client-against-mix-up-attacks <https://www.google.com/url?q=https://www.hackmanit.de/en/blog-en/132-how-to-protect-your-oauth-client-against-mix-up-attacks&source=gmail-imap&ust=1620506842000000&usg=AOvVaw3J8qLMKy4wtbRsGbZ5s_Zd>
>>
>>     Hackmanit GmbH
>>     [email-masked] <mailto:[email-masked]>
>>     <https://www.google.com/url?q=https://www.ietf.org/mailman/listinfo/oauth&source=gmail-imap&ust=1620506842000000&usg=AOvVaw3dG-hH8lliyL13KAjSOYwA>
>>

-- 
Dr.-Ing. Vladislav Mladenov

Horst Görtz Institute for IT-Security 
Chair for Network and Data Security 
Ruhr-University Bochum, Germany

Universitätsstr. 150, ID 2/457
D-44801 Bochum, Germany
http:// www.nds.rub.de

Phone: (+49) (0)234 / 32 - 26742
Fax: (+49) (0)234 / 32 - 14347

---

From: Neil Madden <[email-masked]>
Date: Mon, 10 May 2021 13:57:38 +0100

I have also read it and it looks good to me. It might be worth explicitly discussing how it relates to the older draft [1] (that we implemented at the time). That older draft also included a client_id parameter in the response, so it would be good to clarify if that is actually needed to prevent the attack or not.

[1]: https://datatracker.ietf.org/doc/html/draft-ietf-oauth-mix-up-mitigation-01 <https://datatracker.ietf.org/doc/html/draft-ietf-oauth-mix-up-mitigation-01> 

Kind regards,

Neil

> On 15 Apr 2021, at 08:04, Karsten Meyer zu Selhausen <[email-masked]> wrote:
> 
> Hi all,
> 
> There have not been any concerns with the first WG draft version so far: https://datatracker.ietf.org/doc/draft-ietf-oauth-iss-auth-resp/ <https://datatracker.ietf.org/doc/draft-ietf-oauth-iss-auth-resp/>
> Web:	https://hackmanit.de <https://hackmanit.de/> | IT Security Consulting, Penetration Testing, Security Training
> 
> https://www.hackmanit.de/en/blog-en/132-how-to-protect-your-oauth-client-against-mix-up-attacks <https://www.hackmanit.de/en/blog-en/132-how-to-protect-your-oauth-client-against-mix-up-attacks>
> 
> Hackmanit GmbH

-- 
ForgeRock values your Privacy <https://www.forgerock.com/your-privacy>

---

From: Daniel Fett <[email-masked]>
Date: Mon, 10 May 2021 15:26:25 +0200

Hi Neil,

I'm not sure - maybe others can chime in here as well - if a discussion
relating to an expired previous draft is something one would expect in
the spec.

For the record, the client_id does not provide any additional security.
The key to mitigating Mix-Up is that the "honest AS" ensures that the
code issued at its token endpoint is sent to the honest IdP's token
endpoint, and not to the attacker IdP's token endpoint. This is ensured
by the iss parameter. The client_id would maybe be relevant if the
honest AS sends different issuer values for different client_ids - I
have not heard of such a constellation. I'm not sure why the client_id
was included in the previous draft.

-Daniel

Am 10.05.21 um 14:57 schrieb Neil Madden:
> I have also read it and it looks good to me. It might be worth
> explicitly discussing how it relates to the older draft [1] (that we
> implemented at the time). That older draft also included a client_id
> parameter in the response, so it would be good to clarify if that is
> actually needed to prevent the attack or not.
>
> [1]: https://datatracker.ietf.org/doc/html/draft-ietf-oauth-mix-up-mitigation-01
> <https://datatracker.ietf.org/doc/html/draft-ietf-oauth-mix-up-mitigation-01> 
>
> Kind regards,
>
> Neil
>
>> On 15 Apr 2021, at 08:04, Karsten Meyer zu Selhausen
>> There have not been any concerns with the first WG draft version so
>> far: https://datatracker.ietf.org/doc/draft-ietf-oauth-iss-auth-resp/
>>

-- 
https://danielfett.de

---

From: Brian Campbell <[email-masked]>
Date: Fri, 14 May 2021 16:23:04 -0600

Perhaps this draft could be marked as replacing
draft-ietf-oauth-mix-up-mitigation (I think the chairs have the tools to do
that) so that the datatracker somewhat reflects the history?

Some discussion in the draft itself might be helpful to a subset of readers
interested or knowledgeable about the history.  But I suspect that it'd
just be noise for the majority of readers.

On Mon, May 10, 2021 at 7:26 AM Daniel Fett <[email-masked]> wrote:

> relating to an expired previous draft is something one would expect in the
> spec.
>
> The key to mitigating Mix-Up is that the "honest AS" ensures that the code
> issued at its token endpoint is sent to the honest IdP's token endpoint,
> and not to the attacker IdP's token endpoint. This is ensured by the iss
> parameter. The client_id would maybe be relevant if the honest AS sends
> different issuer values for different client_ids - I have not heard of such
> a constellation. I'm not sure why the client_id was included in the
> previous draft.
>
> -Daniel
>
>
> I have also read it and it looks good to me. It might be worth explicitly
> discussing how it relates to the older draft [1] (that we implemented at
> the time). That older draft also included a client_id parameter in the
> response, so it would be good to clarify if that is actually needed to
> prevent the attack or not.
>
> [1]:
> https://datatracker.ietf.org/doc/html/draft-ietf-oauth-mix-up-mitigation-01
>
>
> Kind regards,
>
> Neil
>
> On 15 Apr 2021, at 08:04, Karsten Meyer zu Selhausen <
> OAuth mailing [email-masked]://www.ietf.org/mailman/listinfo/oauth
>
>
> -- https://danielfett.de
>

-- 
_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._

---

From: Brian Campbell <[email-masked]>
Date: Fri, 14 May 2021 16:35:00 -0600

Overall it looks pretty good to me.
One little nit is that I don't love this text from the end of sec 2.4 that
talks about JARM:

'Note: The "JWT Secured Authorization Response Mode for OAuth 2.0 (JARM)"
[JARM] forbids the use of additional parameters in the authorization
response. Therefore, the iss parameter MUST NOT be used when JARM is used.
However, JARM responses contain an iss claim that provides the same
protection if it is validated as described in Section 2.4.'

JARM doesn't exactly forbid additional parameters but rather just wraps up
all the authorization response parameters as claims in a JWT which is
itself sent as a single form/query/fragment parameter. So really the iss
authorization response parameter of this draft is still sent as a claim of
the JARM JWT. It just happens to be the same as the iss claim value that
JARM is already including.

---

From: Karsten Meyer zu Selhausen <[email-masked]>
Date: Wed, 19 May 2021 08:45:27 +0200

Hi Brian,

thank you for your feedback.

I agree that the language is too strong here. What do you think about 
this new note?

> Note: The "JWT Secured Authorization Response Mode for OAuth 2.0 
> (JARM)" [JARM] defines a mechanism that conveys all authorization 
> response parameters in a JWT. This JWT contains an iss claim that 
> provides the same protection if it is validated as described in 
> Section 2.4. Therefore, an additional iss authorization response 
> parameter as defined by this document MUST NOT be used when JARM is used.

Best regards,
Karsten

On 15.05.2021 00:35, Brian Campbell wrote:
> One little nit is that I don't love this text from the end of sec 2.4 
> that talks about JARM:
>
> 'Note: The "JWT Secured Authorization Response Mode for OAuth 2.0 
> (JARM)" [JARM] forbids the use of additional parameters in the 
> authorization response. Therefore, the iss parameter MUST NOT be used 
> when JARM is used. However, JARM responses contain an iss claim that 
> provides the same protection if it is validated as described in 
> Section 2.4.'
>
> JARM doesn't exactly forbid additional parameters but rather just 
> wraps up all the authorization response parameters as claims in a JWT 
> which is itself sent as a single form/query/fragment parameter. So 
> really the iss authorization response parameter of this draft is still 
> sent as a claim of the JARM JWT. It just happens to be the same as the 
> iss claim value that JARM is already including.
>
> On Sat, May 1, 2021 at 2:47 PM Rifaat Shekh-Yusef 
> <[email-masked] <mailto:[email-masked]>> wrote:
>
>     All,
>
>     Can you please review the document and provide feedback, or
>     indicate that you have reviewed the document and have no concerns.
>
>     Regards,
>      Rifaat & Hannes
>
>
>         <https://datatracker.ietf.org/doc/draft-ietf-oauth-iss-auth-resp/>
>
>         Web:	https://hackmanit.de  <https://hackmanit.de>  | IT Security Consulting, Penetration Testing, Security Training
>
>         <https://www.ietf.org/mailman/listinfo/oauth>
>
>     <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./ 

Möchten Sie sich für ein Projekt mit dem Thema Single Sign-On oder den Standards OAuth und OpenID Connect vertraut machen?
Dann melden Sie sich jetzt an für Ihre Einführung in Single Sign-On, OAuth und OpenID Connect am Mittwoch, 09.06.2021, von 10:00 - 14:30 Uhr!
https://www.hackmanit.de/de/schulungen/uebersicht/139-einfuehrung-in-single-sign-on-oauth-und-openid-connect

Hackmanit GmbH

---

From: Takahiko Kawasaki <[email-masked]>
Date: Wed, 19 May 2021 18:28:40 +0900

Hi Karsten,

I've read the specification and implemented it. I think that the
specification is good enough for implementers. Actually, the latest version
of my company's product supports the specification and has already been
rolled out. The release note of the version mentions the specification. If
you are interested, please visit the page:

https://www.authlete.com/developers/relnotes/2.2.2/#oauth-2-0-authorization-server-issuer-identifier-in-authorization-response

Best Regards,
Takahiko Kawasaki

On Wed, May 19, 2021 at 3:45 PM Karsten Meyer zu Selhausen <
[email-masked]> wrote:

> I agree that the language is too strong here. What do you think about this
> new note?
>
> Note: The "JWT Secured Authorization Response Mode for OAuth 2.0 (JARM)"
> [JARM] defines a mechanism that conveys all authorization response
> parameters in a JWT. This JWT contains an iss claim that provides the same
> protection if it is validated as described in Section 2.4. Therefore, an
> additional iss authorization response parameter as defined by this document
> MUST NOT be used when JARM is used.
>
> Best regards,
> Karsten
> *CONFIDENTIALITY NOTICE: This email may contain confidential and
> 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.*
>
> --
> Dann melden Sie sich jetzt an für Ihre Einführung in Single Sign-On, OAuth und OpenID Connect am Mittwoch, 09.06.2021, von 10:00 - 14:30 Uhr!https://www.hackmanit.de/de/schulungen/uebersicht/139-einfuehrung-in-single-sign-on-oauth-und-openid-connect
>
> Hackmanit GmbH

---

From: Brian Campbell <[email-masked]>
Date: Thu, 20 May 2021 15:00:23 -0600

Thanks Karsten,

That's moving in the right direction. But I think the last sentence is
still too strong and maybe prone to misunderstanding given it's not 100%
obvious in the JARM case what exactly constitutes an authorization response
parameter.

I'd say the last sentence could just be dropped altogether. Or maybe
changed to something like this, "Therefore, an additional iss parameter
outside the JWT is unneeded when JARM is used."

---

From: Vladimir Dzhuvinov <[email-masked]>
Date: Fri, 21 May 2021 11:04:40 +0300

The spec is fine, we've had it implemented for some time now and support 
its publication.

+1 to Brian's comment. I suppose it suffices to say the iss parameter is 
redundant when JARM is used as JARM provides the same countermeasure. I 
found the normative text about what JARM allows or disallows (or have 
text that reads like normative) problematic, the JARM spec should remain 
the place for this.

Thanks for this work Karsten. Also my thanks to Daniel.

Vladimir

On 21/05/2021 00:00, Brian Campbell wrote:
> still too strong and maybe prone to misunderstanding given it's not 
> 100% obvious in the JARM case what exactly constitutes an 
> authorization response parameter.
>
> changed to something like this, "Therefore, an additional iss 
> parameter outside the JWT is unneeded when JARM is used."
>
>
> On Wed, May 19, 2021 at 12:45 AM Karsten Meyer zu Selhausen 
>     I agree that the language is too strong here. What do you think
>     about this new note?
>
>>     One little nit is that I don't love this text from the end of sec
>>     2.4 that talks about JARM:
>>
>>     authorization response. Therefore, the iss parameter MUST NOT be
>>     used when JARM is used. However, JARM responses contain an iss
>>     claim that provides the same protection if it is validated as
>>     described in Section 2.4.'
>>
>>     wraps up all the authorization response parameters as claims in a
>>     JWT which is itself sent as a single form/query/fragment
>>     parameter. So really the iss authorization response parameter of
>>     this draft is still sent as a claim of the JARM JWT. It just
>>     happens to be the same as the iss claim value that JARM is
>>     already including.
>>
>>             I would like to ask the WG if there are any comments on
>>             or concerns with the current draft version.
>>
>>             Otherwise I hope we can move forward with the next steps
>>             and hopefully finish the draft before/with the security BCP.
>>
>>             Best regards,
>>             Karsten
>>
>>             -- 
>>     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./ 
>
>     -- 
>     https://www.hackmanit.de/de/schulungen/uebersicht/139-einfuehrung-in-single-sign-on-oauth-und-openid-connect  <https://www.hackmanit.de/de/schulungen/uebersicht/139-einfuehrung-in-single-sign-on-oauth-und-openid-connect>
>
>     Hackmanit GmbH