Dick Hardt wrote:

So if the user has authenticated 55 seconds ago, but take 6 seconds to click the continue button, then the user will be presented with a login screen after clicking the continue button which tells them they will be sent to the RP. Jarring user experience. I would suggest we think this through.

Yes, my point exactly.



How common are continue buttons in OPs now? I would expect that if I have an active session with my OP that meets the RP's policy, that I won't even see an OP screen.


I would expect that most OPs would show a continue button, at least the very first time the user visits a new RP, especially is AX is involved.



What would you suggest?


The RP should have a flag that they can pass in the request to tell the OP to re-authenticate the user before returning a positive assertion to the RP, which I think was the intent of max_auth_age=0.

As I mentioned previously, values like max_auth_age=0 or even max_auth_age=60 are messy to implement because users may take more than max_auth_age seconds to click the continue button after authenticating.

At least from an implementation standpoint, I can imagine that RPs would want a "Force Authentication" interface, and it's unclear what the right value for max_auth_age would be to satisfy this use case. 60? 120? 300? 0?

I suggest that either we say that this special flag actually is max_auth_age=0, or we define a new PAPE policy for this case.

The requirements for the OP are:

- Authenticate the user without relying previously issued authentication credentials. - OPs which use passwords to authenticate the user should re-prompt for the password (it's OK to pre-fill the userid in the Login form) - Ideally, the user's IP address should not change between the time the user authenticated and when the assertion is generated. (this is less important, but nice to have)

Allen













Thanks
Allen





Nate Klingenstein wrote:

For instance, what if the RP specified max_auth_age=<1 minute>? Sometimes users take a few minutes to complete the OpenID sign in flow (they might get distracted), and although the user may have entered their password immediately after being redirected to the OP, the user may have taken more than a minute to navigate through the OP's approval screen, before clicking on the button to return back to the RP.

Isn't it the OP that is obliged to perform the check? It would be performed immediately when the user presents the message, I'd imagine, since it's determining how to handle the request.







It wouldn't matter if they dally at the OP if the RP weren't likely to complain about the auth_time on the user's arrival, which is a separate matter(and not mandated by spec from what I can tell). But some check probably needs to be explicitly performed by the RP on the return leg until authentication requests can be signed. Sigh.

Either way, the RP would only be sabotaging its own user base here, so this falls more into the category of recommendations or best practices, in my opinion.

The SHOULD there reads strangely to, though.

In order to provide a standard "force authentication" interface, I propose that either we define a new PAPE policy, or we clearly define max_auth_age=0 as a special value.

Having seen other working group applications and spec revisions move a little gradually, I feel compelled to first ask: how painful are these options?

comments?

Yes. Signed authentication requests would be nice and limit the "trust, but verify" the RP needs to do -- that is to say, limit the amount of private data the OP needs to expose.

Take care,
Nate.

_______________________________________________
security mailing list
[email protected]
http://openid.net/mailman/listinfo/security


_______________________________________________
security mailing list
[email protected]
http://openid.net/mailman/listinfo/security

Reply via email to