[security] PAPE Policy for RPs to force authentication without browser cookie
Allen Tom
atom at yahoo-inc.com
Wed Jul 1 06:04:03 UTC 2009
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
>> security at openid.net
>> http://openid.net/mailman/listinfo/security
>
More information about the security
mailing list