Provide a method for 2-factor self-recovery

Bug #938589 reported by Stuart Metcalfe
30
This bug affects 5 people
Affects Status Importance Assigned to Milestone
Canonical SSO provider
Fix Released
Wishlist
Unassigned

Bug Description

If a user loses/forgets their 2-factor device(s), they will be locked out of their account until they get an admin to unlock it for them. We need to look into self-service options. Some initial ideas:

 * Require a user to generate a single OTP 'recovery' token when they first enable the 2-factor feature. When they use it, a new one should be generated before they can proceed further. This may still be prone to people forgetting/losing the token.

 * Provide a "help! I lost all my devices!" link which sends a single OTP 'recovery' token to their preferred email address so they can get back into their account. This assumes that their email account isn't compromised as that effectively becomes the weakest link in our chain.

 * Provide users the option of registering a mobile phone number as an additional 2-factor device. We could then send them the next OTP token in the sequence by SMS when they request it. This assumes that they weren't using this mobile device as their primary 2-factor device - so, maybe a spare phone or their partner's phone?

Other ideas?

Revision history for this message
Marc Deslauriers (mdeslaur) wrote :

Use their launchpad GPG key to GPG-encrypt a recovery token to them and send via email?

Revision history for this message
Stuart Metcalfe (stuartmetcalfe) wrote :

That could certainly work for Launchpad users. If we were to move key management to SSO then it would cover more users, although it may be complex to setup for less technical users.

Changed in canonical-identity-provider:
milestone: none → public-rollout
Revision history for this message
David Pitkin (dpitkin) wrote :

Yes, an option to either answer security questions (paypal) or to text or call my mobile with a code (google) would be great.

Revision history for this message
Andre (ajx) wrote :

Dropbox is using Google's Authenticator-App:
https://blog.dropbox.com/index.php/another-layer-of-security-for-your-dropbox-account/
and
https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2

Sending text messages via SMS would work too, but will generate costs on the Ubuntu side. The combination should clearly be password + 2nd independent channel (e.g. phone), e.g. http://www.youtube.com/watch?v=zMabEyrtPRg . Additional security questions can be intercepted as well when accessing U1 from an internet cafe.

Revision history for this message
Selene ToyKeeper (toykeeper) wrote :

A GPG key option would be great, but even within Canonical there are plenty of non-technical folks who don't know how to set that up.

I'd like to see a 'paper' device type in SSO which would work like the recovery token described above (but perhaps with an entire sheet of codes instead of just one).

The SMS option sounds like it should be effective, but wouldn't help if the phone was lost since the user would lose their primary auth device and their backup at the same time. It would still help in other circumstances, though.

tags: added: twofactor
Revision history for this message
Michael Foord (mfoord) wrote :

GPG is over complex for mortals.

SMS will incur costs, plus many users will be using their smartphone as their authentication device - so a lost device means loss of SMS access. (Plus presumably would only work in a limited range of countries.)

Security questions are a notorious security hole (usually easier to guess than passwords).

Our current plan is to add a "paper device" that produces a list of tokens. We will offer to create this "device" for the user when they add their first authentication device - possibly with a checkbox that defaults to "on" (opt-out).

We can incorporate some kind of warning to the user when they are nearing the end of their list of tokens to prompt them to print off some more.

Revision history for this message
Michael Foord (mfoord) wrote :

Adding a "paper device" is issue 911942. This *doesn't* provide "self-recovery" (it relies on action being taken *before* the user is locked out).

tags: added: u1-support
Julien Funk (jaboing)
tags: added: u1-by-support
tags: removed: u1-support
Revision history for this message
Daniel Manrique (roadmr) wrote :

I'll close this bug - we have the option of generating paper backup devices and will soon do this on 2FA enablement so it will take deliberate action from people to NOT have a recovery device, and we're implementing measures to periodically check the backup device is current and active to reduce the chance of people generating and then forgetting about their backup codes.

We can NOT email or SMS recovery codes since an email compromise (with which an attacker can request a password reset) is precisely the thing 2FA is designed to protect against, and SMS is subject to phone number hijacking.

Changed in canonical-identity-provider:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.