2 factor HOTP counters becoming unsynchronised
Bug #978810 reported by
Simon Davy
This bug affects 5 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical SSO provider |
Fix Released
|
Low
|
Unassigned |
Bug Description
There have been a few support incidents of folks being unable to login because they'd generated too many OATH/HOTP tokens on their devices and the counters had become out of sync. Reasons include "to show their friends how it worked"
A mitigation might be to increase the counter window (currently 3).
Another mitigation is to include some help text warning users about the possibility of going out of sync in the new device pages (or other location ) if they generate many tokens
If this becomes a regular issue, it *might* be worth moving to the time based OATH/TOTP tokens.
tags: | added: canonical-losa-isd |
tags: | added: twofactor |
Changed in canonical-identity-provider: | |
milestone: | none → public-rollout |
To post a comment you must log in.
This may be a bit tricky. Time-based tokens would be great, but not all auth devices have access to the current time. Or at least, not to a degree that is sufficiently accurate. The Feitian OTP c100 keyfobs, for example, have no I/O other than a single button and a small LCD, so no means of syncing the time. The Yubikey acts as only a USB keyboard, so it doesn't have access to the time.
Increasing the window size would make the system more forgiving, but it also increases the risk of successful brute-force attacks. See Bug #979303 for more info on that. It also wouldn't help in some cases. I had one guy who set up his system to have a 2FA passcode on screen at all times, and it updated the code every 5 minutes. Later that day, he couldn't figure out why he was unable to log in. When I looked at the details, his client was 54 passcodes ahead of the server. Other users have gotten themselves significantly ahead too, though not quite as much.
I've documented the issue in the FAQ, but that doesn't help if the user hasn't read the FAQ or is already locked out: /wiki.canonical .com/CDO/ ISD/Docs/ SSO/2ndFactorFA Qs
https:/
The solution I've been recommending to users is that they have two auth devices on their account -- one primary and one as a backup. If one gets out of sync, they can use the other to log in, remove it, and re-add it.