[Openid-specs-ab] acr values
tonynad at microsoft.com
Mon Aug 12 21:42:58 UTC 2013
I can see folks not wanting to look in multiple places and try to piece these together but want a single state value
From: John Bradley [mailto:ve7jtb at ve7jtb.com]
Sent: Monday, August 12, 2013 1:59 PM
To: Tim Bray
Cc: Anthony Nadalin; <openid-specs-ab at lists.openid.net>
Subject: Re: [Openid-specs-ab] acr values
There is already a auth_time claim. Why would you want to try and overload it in acr.
OPTIONAL or REQUIRED. Time when the End-User authentication occurred. The time is represented as the number of seconds from 1970-01-01T0:0:0Z as measured in UTC until the date/time. When a max_age request is made or when auth_time is requested as an Essential Claim, then this Claim is REQUIRED. (The auth_time Claim semantically corresponds to the OpenID 2.0 PAPE<http://openid.net/specs/openid-connect-messages-1_0.html#OpenID.PAPE> [OpenID.PAPE] auth_time response parameter.) The auth_time value is a number.
If you want to enumerate the factors used for primary authentication you would use:
OPTIONAL. Authentication Methods References. JSON array of strings that are identifiers for authentication methods used in the authentication. For instance, values might indicate that both password and OTP authentication methods were used. The definition of particular values to be used in the amrClaim is beyond the scope of this specification. Parties using this claim will need to agree upon the meanings of the values used, which may be context-specific. The amr value is an array of case sensitive strings.
Now I personally think that it is rare for a RP to actually be able to process the primary authentication info and make any sense out of it. That was the experience in SAML everyone wanted it but it doesn't scale in the real world.
acr is a string, a collision resistent URI or string (There is a IANA registry). It is intended to roll up a bunch of factors such as identity proofing account recovery security and authentication method into a single abstract value that a RP can make a decision on without requiring specific knowledge of the internal practices of the IdP.
I have seen people using the more detailed information break as soon as one of the IdP introduces a new method and every RP needs to update there code to deal with each change.
Token venders always want the RP to require a specific brand of token etc. You can do it but it is not a good idea.
On 2013-08-12, at 4:45 PM, Tim Bray <tbray at textuality.com<mailto:tbray at textuality.com>> wrote:
On Mon, Aug 12, 2013 at 1:30 PM, Anthony Nadalin <tonynad at microsoft.com<mailto:tonynad at microsoft.com>> wrote:
Who do you want to say something about the "session strength" to?
From: openid-specs-ab-bounces at lists.openid.net<mailto:openid-specs-ab-bounces at lists.openid.net> [mailto:openid-specs-ab-bounces at lists.openid.net<mailto:openid-specs-ab-bounces at lists.openid.net>] On Behalf Of Tim Bray
Sent: Monday, August 12, 2013 1:05 PM
To: <openid-specs-ab at lists.openid.net<mailto:openid-specs-ab at lists.openid.net>>
Subject: [Openid-specs-ab] acr values
In our IDP role, we're coming under a lot of pressure to say something about "session strength" and maybe in some circumstances force re-auth and so on. There are a lot of different vocabularies in play that you could use to talk about this stuff, including NIST and ISO publications; and the work of the Fido alliance is maybe interesting. So I expect a lot of churn in this space, and OIDC needs to allow sufficient elbow room.
So, the purpose of this note is to confirm my understandings, based on looking at the OIDC Messages draft. Do people agree with these?
- It's perfectly OK to provide any old URI we dream up as a value for the "acr" claim.
- There may be awkwardness around multiple values; suppose I wanted to assert, for example, that the session is less than ten minutes old AND two-factor authent was used. All I can think of is composing a URI along the lines of urn:google-auth-claims?max-age=10&two-factor=true; which is a little kludgy but I guess OK. Awkward, though, in the case where there's a Fido vocabulary for 2-factor-flavor and someone else's vocabulary for session-freshness.
Openid-specs-ab mailing list
Openid-specs-ab at lists.openid.net<mailto:Openid-specs-ab at lists.openid.net>
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Openid-specs-ab