-
-
Notifications
You must be signed in to change notification settings - Fork 673
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proposal/discussion: OIDC requirement to ensure issuer URL == issuer claim #2003
Comments
These look like two requirements:
Could this be reformulated something like:
All this could apply to plain OAuth as well. |
Do you think it is OAuth and OIDC specific requirement, or is it in general token validation requirement? We have requirement:
The changes for mentioned requirement are discussed in #1967 |
ping @deleterepo
I personally would like to address with general requirement for tokens, with OIDC as an example if needed. See #1967 (comment) |
Seems duplicate of #1826 or at least related. |
Related : #2095 and Authorization Server Issuer Identification in general. |
Do we need a separate requirement for the OIDC Client section? |
ping @randomstuff |
I'm not sure about this one. On the one hand, you want the issuer URL to be consistent with the URL of the metadata document (if any). On the other hand, in some cases, you want to override the URL of the metadata document because the metadata document is not exactly in the expected location. And:
(But (2) is dangerous right? You probably should never let the issuer URL be derived from the metadata document because might, in some software, give the AS the ability to spoof another AS.) Which means I'm not certain what wording would be OK in this context. (@deleterepo?) |
Is there a clear attack vector to address that? Maybe we can build a requirement based on the attack vector and just give a principle, what must be done or avoided? In general - we should not write any requirement till we are not sure ourselves. |
Yes, the attack is described in the cited referenced by @deleterepo:
I believe that the requirement proposed by @deleterepo can be reformulated to explicitly reference the type of attack we intend to mitigate. Maybe something like (borrowing wording from the OIDC spec): "Verify that the client rejects attempts by a malicious authorization server to impersonate another authorization server through authorization server metadata. The client must reject authorization server metadata if the issuer URL in the authorization server metadata does not exactly match with a issuer URL statically configured in the client." Among other things, I am not so happy with "statically configured" which should probably be replaced with something clearer. |
I´m not sure if this is better, but perhaps "Verify that the client rejects attempts by a malicious authorization server to impersonate another authorization server through authorization server metadata. The client must reject authorization server metadata if the issuer URL in the authorization server metadata does not exactly match the pre-configured issuer URL expected by client." |
Goes in via #2159
|
For reference here is the wording from FAPI 2.0 draft:
|
As per the discussion in #1969. From https://openid.net/specs/openid-connect-discovery-1_0.html#Security:
We can have a requirement such as this:
Verify that relying parties ensure that the issuer URL they are using for the configuration request exactly matches the value of the issuer claim in the OpenID provider metadata document received by the relying party, and that this also exactly matches the iss claim value in ID tokens that are supposed to be from that issuer.
@elarlang
The text was updated successfully, but these errors were encountered: