-
-
Notifications
You must be signed in to change notification settings - Fork 680
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
OIDC acr downgrade #2543
Comments
Yes, indeed, if the RP requests a given set of ACR ( See RFC9470, Step Up Authentication. Would this fit into some existing requirement? (I'll check that later on). |
My initial reason to open the issue was id token validation So, it must be checked from id-token and from access token. I don't think it is something to hide into a general requirement. |
@elarlang, shall we include something about |
I think we need to cover them both, and in case we don't want to use different levels from those, they can be in one requirement. From: https://datatracker.ietf.org/doc/html/rfc9470#section-2-3.2
Attempt to convert it into a requirement:
|
For "recentness", I think "freshness" is the word usually used?
Also, this wording does not support OIDC (ID tokens). Shall we include a related requirement for OIDC? |
To me, 51.3.3 should cover this for the resource server, perhaps add acr and max_age to the list of claims?
And add a requirement for the OIDC RP?
|
I can see the logic behind using V51.3.3, but I also think it makes sense to keep "delegated authorization" and "confidence on the authentication" separately. Levels are not decided for those yet, but it may also be situation, that current V51.3.3 is L1 and acr/max_age is L2 requirement. |
@elarlang good point, then maybe have something like this for the resource server?
|
I don't think the requirement should talk or mention "authorization decisions" anyhow. It's validating the confidence in authentication. I think we should develop a proposal from @randomstuff (#2543 (comment)). The question here is, should we ask in the requirement, that the application send the user to re-authenticate the user to have the expected authentication level or just disallowing id-tokens and access tokens with an expected authentication level is enough? |
I think the idea that we want to convey if that if the application requires a certain ACR (in general or for some specific operations), it must not just include it in the authorization request but must also check it in the access token / ID token / etc. The application SHOULD try to reauthenticate the user (OIDC) or include a 403 with the requested ACR when the ACR is not enough but I don't think we must have this as a requirement. From a security point of view, rejecting the token is enough. |
I clarify this to:
From #2543 (comment)
Updated proposal:
|
Should we have a requirement, that a malicious user can not downgrade acr=high to acr=low?
issue was raised by @silviavali
The text was updated successfully, but these errors were encountered: