Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Low timeout bounds for inline bio enrollment of FIDO2 keys #1286

Closed
akshayku opened this issue Aug 27, 2019 · 4 comments · Fixed by #1317
Closed

Low timeout bounds for inline bio enrollment of FIDO2 keys #1286

akshayku opened this issue Aug 27, 2019 · 4 comments · Fixed by #1317

Comments

@akshayku
Copy link
Contributor

akshayku commented Aug 27, 2019

We are looking into inline bio enrollment of FIDO2 keys during webauthn calls. Current time bound in webauthn is 15-120 seconds, which when we decided was a guess for a single touch or PIN input. Browsers have been hooked up to cancel the transaction when timeout happens.

Many RPs don't configure the timeout, resulting in 15 seconds. Even 120 seconds is not enough given our user studies where user has to figure out which authenticator he/she wants to use, plug that in, setup PIN if not present, setup fingerprint which requires multiple samples. Last step also depends on how many samples authenticator wants.

Want to take suggestions on what the typical timeout should be to support this case. I am thinking 180-300 seconds.

Thoughts?

@akshayku akshayku added this to the L2-WD-02 milestone Aug 27, 2019
@akshayku akshayku self-assigned this Aug 27, 2019
@akshayku akshayku removed this from the L2-WD-02 milestone Aug 27, 2019
@nadalin nadalin added this to the L2-WD-02 milestone Aug 28, 2019
@jcjones
Copy link
Contributor

jcjones commented Aug 28, 2019

In the 28 August 2019 call, @agl suggests we set timeout defaults differently for different operations.

@agl
Copy link
Contributor

agl commented Aug 28, 2019

From the call of 2019-08-28:

As I understand it, the primary motivate for RPs wanting a timeout is in the traditional, U2F-like flow where a password is used to establish user verification and the security key touch is user presence (and anti-phishing). In this case, the time between the password and the touch matters because you want to ensure that it's the same person doing both.

However, that argument isn't as clear for credential registration (and nor for assertions with UV). Therefore we might be able to set a high timeout floor for registrations without breaking anyone's timeout needs.

@akshayku
Copy link
Contributor Author

We are doing some user studies around this and will come back on a recommendation of appropriate time.

@akshayku
Copy link
Contributor Author

akshayku commented Oct 16, 2019

What we are seeing is the typical timeouts for bio-enrollment + User verifications it taking around 4 minutes.

Suggesting:
For User presence only operations: 30 seconds to 180 seconds with a default value of 120 seconds.
For user verifications operations: 30 seconds to 600 seconds with a default value of 300 seconds.

Opened PR #1317.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants