On 6/4/12 3:28 PM, Dan Callahan wrote:
> We don't have any plans for being able to force users to re-enter their
> passwords, nor could we. At its core, the BrowserID protocol simply
> allows users to prove that they've successfully authenticated with their
> identity provider; we don't control and can't influence that
> authentication in any way.
Dan makes a very good point as to why this is hard, but actually it's
not impossible nor meaningless, and I can imagine some use cases that
warrant some level of "re-authentication."
Technically speaking, there are two main approaches we could take:
- allow the RP to request an assertion backed by certificate obtained no
earlier than X minutes ago. This would ensure that the user was recently
logged into their IdP. This could be pretty simple, and doesn't even
require IdP cooperation: we can simply kill the cert and ask for a new
one. But it's not very flexible other than "make sure user is recently
auth'ed". It certainly doesn't address use cases that are concerned with
an attacker at the user's keyboard being forced to re-authenticate.
- allow the RP to request a different "level of assurance" for the cert,
e.g. "for payments", which would require having that level of assurance
indicated in the certificate itself, and could, with the IdP's
cooperation, require additional authentication. For example, an IdP
could ask for a purchasing PIN, to be retyped for a new cert, valid only
for a couple of minutes. There could also be a generic "high-security"
level of assurance, which would require re-auth for every new cert and
issue certs with very short validity periods.
This second option is much more powerful, fulfills many more use cases,
but requires IdP cooperation. I lean towards this second option with
levels-of-assurance support.
But before we dig too deep, we have to go back to use cases as the
driving force.
Tyler: the use case you describe seems, as Dan mentioned, somewhere in
the middle between shared and public machine use. Are you sure this is
what you need?
Specifically, do you envision that students will click "yes, this is my
machine" on these shared machines they use?
-Ben