[keycloak-dev] WebAuthn: next plans
Marek Posolda
mposolda at redhat.com
Fri Nov 22 02:49:14 EST 2019
On 21. 11. 19 21:59, Pedro Igor Silva wrote:
>
>
> On Thu, Nov 21, 2019 at 5:23 PM Marek Posolda <mposolda at redhat.com
> <mailto:mposolda at redhat.com>> wrote:
>
> The WebAuthn authentication is available in Keycloak since the
> last 8.0
> release. We have plans to do some improvements around it like:
>
> - Allow WebAuthn to be used as 1st-factor and 2nd-factor - It
> seems that
> WebAuthn is the kind of credential, which is often used as both
> 2nd-factor or passwordless. This is not the case for some other
> common
> credentials - for example password is usually used as 1st-factor when
> OTP is usually used as 2nd-factor. We discussed within Keycloak team
> that we want to allow users/administrators to be able to use
> WebAuthn as
> both 1st-factor and 2nd-factor even within single authentication
> flow.
> To achieve this, we want the ability to have 2 WebAuthn
> configurations
> (WebAuthn policies) within the realm - one for passwordless and
> one for
> 2-factor authentication. Because of some limitations in current
> framework, we will also temporarily duplicate some java classes
> (Authenticator, RequiredAction, CredentialProvider etc) to be able to
> differentiate between WebAuthn passwordless and 2nd-factor. This
> will be
> improved in the future, but so far, priority is to improve experience
> for the end user, so workaround of duplicating classes may be
> fine. Some
> details in the JIRA https://issues.jboss.org/browse/KEYCLOAK-12174 .
>
>
> I don't quite understand where WebAuthn will be used in different
> steps for different factors in a single flow. Please, correct me if
> I'm wrong but when using WebAuthn you either use it as a 2nd factor
> (considering 1st is username/password) or MFA (if RP sets
> the UserVerification to required) as a 1st factor.
Yes, single user won't use WebAuthn as both passwordless and 2-factor
during single authentication flow. I rather mean that single
authentication flow will be configured in a way, which will allow
WebAuthn to be used either as 1st-factor or as 2nd-factor. Sorry that
this wasn't clear when I wrote it above.
So for example assume the configuration of authentication flow like this:
Auth type | Requirement
-----------------------------------------------------------------------------------------------
Cookie [x] Alternative [ ] Required [ ] Disabled
Kerberos [x] Alternative [ ] Required [ ] Disabled
Identity Provider Redirector [x] Alternative [ ] Required [ ] Disabled
Authenticate with Keycloak [x] Alternative [ ] Required [ ] Disabled
| - Username Form [ ] Alternative [x] Required [ ] Disabled
| - WebAuthn passwordless [x] Alternative [ ] Required [ ] Disable
| - Authenticate with MFA [x] Alternative [ ] Required [ ] Disabled
| - Password [ ] Alternative [x] Required [ ] Disabled
| - WebAuthn - 2nd factor [ ] Alternative [x] Required [ ] Disabled
In this case user will be able to authenticate either with "WebAuthn
passwordless" (if he has the proper security key, which requires
UserVerification through pin etc) OR with password + WebAuthn as 2nd
factor. Does it makes more sense now?
Marek
>
> Passwordless can be done by just username/user presence or by MFA if
> the RP tells the authenticator to check the identity (bio/pin/etc).
>
>
> - Improving usability of WebAuthn authentication: So far we discussed
> that when WebAuthn authentication form is displayed, there won't be
> checkboxes with available WebAuthn authenticators, but instead all
> the
> registered WebAuthn authenticators of particular user (and particular
> factor according to if we're authenticating as 1st-factor or
> 2nd-factor)
> will be tried. This will allow that there is no need to explicit
> submit
> via "Login", but WebAuthn authentication will be tried immediately
> when
> the WebAuthn authentication form is displayed. We want the ability
> for
> user to retry authentication or eventually go back and "try
> another way"
> to authenticate (for example via OTP if user has both OTP and
> WebAuthn
> as alternatives of 2nd-factor authentication). More details in the
> JIRA
> https://issues.jboss.org/browse/KEYCLOAK-12177 .
>
> If you have any feedback, feel free to comment.
>
> Thanks,
> Marek
>
>
> _______________________________________________
> keycloak-dev mailing list
> keycloak-dev at lists.jboss.org <mailto:keycloak-dev at lists.jboss.org>
> https://lists.jboss.org/mailman/listinfo/keycloak-dev
>
More information about the keycloak-dev
mailing list