Almost every phone and laptop today supports it, and you can optionally have a backup in the form of a $10 keychain device or 24 words written on paper.
This does mean people will be best off to keep at least one backup safe with other things they can't afford to lose like their SSN card and drivers license.
Once WebAuthn is setup then day to day as long as a person has not lost -all- their devices, then remote identity verification can be fast tracked.
If they have lost all their devices it would be like if they lost all citizenship paperwork and will be a longer, generally in person, process involving reference verification and a waiting period.
Eh.
I'm super excited for WebAuthn, but unless my sources are out of date it's far from being supported everywhere (https://webauthn.me/browser-support).
A giant challenge with WebAuthn is the lack of platform authenticator integrations, particularly on Linux. You basically need to buy a separate key. And if you're on Android and you swapped out Chrome for Firefox (which you should do) then even the physical key stops working.
I desperately want to start using WebAuthn everywhere and I desperately want to start encouraging devs to swap over to it for most new logins. But I don't think I can. I don't know that I own a single phone or desktop that as configured can use WebAuthn without a security key. If I'm doing something wrong, or if there's some config option that just hasn't gotten flipped by default on platforms like Firefox Linux, then I'd love to know.
Anchoring to physical human interaction with a button or biometric sensor is a huge security property I don't think current gen TPMs can solve for.
In a typical implementation someone must be present at the machine expecting a tap, and tapping.
That said, overall this is a clever best effort for when a TPM is all a user has and you at least want to prove a given machine is involved in with.
Giving up WebAuthn and thus trading security for privacy by dumping Chrome for Firefox is a raw deal. If privacy is a concern run a de-googled ROM like CalyxOS which ships defanged Chromium so you get to have vital security features like WebAuthn without giving up privacy.
Yes, Chrome phoning home is a concern to me, but a much bigger concern is the lack of mobile extension and adblock support. Defanged Chromium doesn't solve that problem. Even desktop deGoogled Chromium is just an inferior browser when it comes to privacy right now; it has fewer extension APIs than Firefox and it's missing built in Firefox privacy features like containers.
But on mobile, giving up the ability to run extensions entirely? I'm not sure I can substantively argue whether giving up adblocking is a bigger security tradeoff than giving up webauthn. But it's definitely a pretty big privacy tradeoff given the current state of the mobile web.
I don't know, maybe this is a solved problem. I haven't really looked into CalyxOS. Does it patch mobile Chromium to support extensions? Can I trust the devs to do that securely?
----
Edit: so I did look into this, and it looks like MicroG just doesn't support WebAuthn at all: https://github.com/microg/GmsCore/issues/849, https://bugs.chromium.org/p/chromium/issues/detail?id=997538
So if anything, that gives me a lot more confidence to claim that this is not widely supported yet and people shouldn't be calling WebAuthn a universal drop-in replacement for other systems.
Not to say that WebAuthn is bad, I expect these problems will be solved over time and support will widen. I do think WebAuthn is the obviously correct long-term solution. But I think the "virtually all" language used here is not currently accurate. At best I'm seeing some (very small) repos trying to work around the problem, and I'm not convinced it's good security practice to entrust login tokens to under-audited 3rd-party services."
It is not permissible to use digital backup copies of paper identity documents in most countries but with digital identity you can make all the backups you want and store them places hard to lose. Travelers would be wise to do so. It is free and reasonably easy. There is just a training gap, the tech is here.
Personally I keep an AES encrypted backup needed for emergency recovery of my digital life implanted in my body. Others I know use NFC rings.
It may not be an instant solution, but should normally result in a temporary passport you can use to travel home with, then once home you should be able to bootstrap from there.
All security is physical security. We need to end the delusion that it is not or can somehow be bypassed, and embrace it instead.
You simply need to choose a security key that supports BIP39 backups like a Trezor or Ledger.
As an alternative most sites support enrolling multiple keys.
I really wish people would stop doing this.
It's not "many services" it's one service. "Many women have played the role of Ellen Ripley in the Alien movies (looking at you, Sigourney Weaver)". No. One woman did that and you just named her, not many.
Don't use "many" to mean, "Well, one, but when I wrote that it didn't seem like I had a point worth making". If you instead present this as "AWS is broken" then we see what the problem actually is and who needs to fix it.
We can (finally) take AWS off that list.
I can say I was pleasantly surprised recently by being able to enroll multiple MFA Tokens and device types, for a single IAM SSO User.
Don't know the restrictions on it, but https://aws.amazon.com/iam/features/mfa/ probably has more details.
You can't duplicate entry level devices like Yubikeys but hardware wallets like Ledger and Trezor both support backup of FIDO seeds in the form of 24 english words you can store endless ways, or recover to a secondary device.
I have duplicates of all my MFA keys.
These devices are also more secure as they show you the website you are approving on screen to avoid being tricked by malware.
Hotels aren’t safe for valuables and people travel alone. We’re getting pretty far removed from convenience here as well. Might as well suggest people keep their keys shoved up their ass.
You can store it in a subdermal implant, under the sole of your shoe, a belt buckle, or in a finger ring or other jewelry.
Options are endless.
If you're running something like a phone company in the US, millions of the people you service probably aren't citizens. If your process is "longer, generally in person, process involving reference verification and a waiting period", then your competitor will get those customers instead. Prepaid plans first became very popular in the US in part because they do not require bank accounts or SSNs.
That's cool, I didn't realise it was possible to backup the webauthn secret this way.
I googled but couldn't find any documentation on how to set this up, could you let me know how you set this up?
Not being able to make backup of the Webauthn secret is why I have stuck with TOTP so far.
The problem is, no matter what you tell the average person, they are not capable of such diligence.
Ask anyone who makes diligent backups why they do it. You will hear a story of pain that taught them.
This is sadly just how most humans work.
There are those which will never, ever learn. Ever. And it is a large part of the population.
Google and github supprot WebAuthn, but most services only support OATH-TOTP, OATH-HOTP or even worse only their own app.
If the google or microsoft TOTP app is spyware, I have bigger problems.
I don't see what's dumb about them either.
- they involve storing secrets on a readable filesystem
- are tied to a particular instance of a filesystem, not actually tied to a piece of hardware, which fails the "something you have" part of 2FA
- either (a) fail if you reinstall your OS, OR (b) need to transmit secrets to Google and Microsoft to allow you to reinstall the OS, both bad
With Yubikey TOTP you cannot read back the secret, the hardware itself doesn't provide an interface to do that.
For apps that do allow export/transfer, it's up to the user if they want to keep the secret safe. But really at some point it's up to the user no matter what method or hardware you use.
And since most sites don't have an easy way to have multiple tokens, allowing export/transfer also reduces the temptation to insecurely store a copy of enrollment QR codes.
How does anyone keep their drivers license in a safe? If they don't drive?
Always have backups of these. I know people who lost all their docs and ID in a fire and it took over a year to recover.
At one point all they had to go on was an old scan of a drivers license they could fax people as "proof" of ID.
(It makes no sence because they have a digital picture of you provided by DMV in their cruisers, along with proof of insurance?)
Driving is without a license in your "immediate possession" is definitely against the law in California[1] and I've never met someone that intentionally leaves it at home. Restaurants that card for alcohol also makes this a no-go for most people.
1: https://leginfo.legislature.ca.gov/faces/codes_displaySectio...
Of course, in the UK car registration plates are issued and attached by the dealer, before a car's first sale, and they never expire. So they can find the registered keeper of a vehicle just by looking at the plates.
Yet another situation where foreign registered vehicles are essentially immune from UK traffic enforcement.
Both of those things are trivial to replace.
Getting access to an AWS root account you are locked out of however just requires -photos- of identity documents and billing verification etc.
I would way rather have the latter problem.
https://www.nearlyfreespeech.net/about/faq#LostEverything
It's on the paranoid end of usable, it seems to me
I can think of a number of solutions. One of them might be taking advantage of timing + an external contact:
0. Require a point of contact upon signup.
1. If any change requires bypassing ordinary authentication, ask contact to approve.
2. If they approve within M minutes, authorize.
3. If they don't reply within H hours, authorize.
4. If contact rejects operation, then deny.
5. If customer disputes denial, require them to wait O(days) for some out-of-band resolution mechanism (like mail verification, video call + ID verification, or whatever makes sense given the context).
(You can also allow the customer to customize the behavior here if they're e.g. particularly paranoid and want longer delays or explicit approval or whatever... lots of possible variations on this method.)
I think the solution is third-party attestation.
The government can offer an identity service - it doesn't need to be linked to your real-person, but could simply require proof of residency (by say, mailing you a postcard that you would bring in), but once established, you could use this service to attest your identity to third-parties.
There are companies that increasingly offer this service (like Facebook, Google, Amazon, and Apple) but I think they struggle to avoid conflicts-of-interest in offering this service, so they make me nervous how popular they are becoming in the US and UK.
Where I live, the government provides a smartcard which you can use with government websites and a few non-government sites, and this is used as a second-factor for making critical changes. If I lose this smartcard, I have to go into a government office with some documentation to start the process of getting a new one (where it will be mailed to me, and I can bring it in with documentation to be activated).
I don't find this onerous; I don't have to use the smartcard to do any "normal" things -- the non-government sites (and some of the government sites) allow me to log in using just a password and a mobile-app, but if I were to lose my phone (or my password), I know I have a government-provided recovery mechanism.
Finally, anticipating a particular antagonist of this idea: As far as I know, the government doesn't actually know what services I use this smartcard with (unless the company shares this information, but we already know Facebook and Google and probably Amazon and Apple do) and I have multiple cards with different identifying details on them, so I think any privacy risk is minimal.
This is part of what I was referring to by "conflicts of interest": I don't see how any private corporation could possibly be trusted to do this.
I was pointing them out more from a product perspective, I think the fact that it’s so genuinely useful product validates everything you said.
We're getting there. Authentication comes down to three things, "Something you know (a password in your head), something you have (a private key, or a phone that gives you a code), and something you are (your face, a retinal scan, or a fingerprint)".
In most cases, people won't lose what they are. There are of course exceptions, such as injuries by fire - which brings us right back to step one, hounding poor support agents with a (possibly fabricated) sob story. The weakest link is often the support folks who can press a button and allow the attacker to authenticate.
Generally speaking, there are three classes of auth, who you are, what you have, and what you know. Single factor auth is meaningless, which is why many people are stumped by this situation. Use two factor auth, which is verification from two separate categories. Certain industries use 1.5 auth.
There are also software and hardware tokens. Those are generally what you have (and might spill into what you know), but are also time-bound.
Ultimately, security is risk-management. Risk can also be transfered, such as by using a different identity provider. Then it is no longer the company's issue to solve.
You're quite right that it is about striking that balance. We do it by keeping the app focused on recovery codes. From there, users can optionally assemble their own personal recovery team of trusted contacts.
Either way, users get the same universal account recovery experience for every one of their accounts on every service.
Why?
The person on the other end usually doesn't speak the same language, or if they do--it's not their native tongue.
There's no point in getting mad when they don't quite understand why you are calling in the first place.
Companies need to stop outsourcing Customer Service to the cheapest country.
Having a command over the customer's language might prevent a lot of security mixups?
This has never stopped people getting angry.
How does the business know the DNA used to set up an account for Bob comes from him and not from attacker Bill? They would have to take his ID at his first visit so you’re still vulnerable to ID fraud.
We can argue back and forth but IMO the DNA idea has two problems: 1 It is too invasive as it requires customers to reveal their DNA to the business. 2 It is impractical. Firstly, the technology doesn’t exist. Secondly, it requires a physical visit to authenticate.
BBC News - India's living dead: 'They stared at me like I was a ghost' https://www.bbc.co.uk/news/stories-58259497
Biometrics are never perfect. Sometimes they can be forged (even something as simple as a printout of a human face looking in a camera), other times you take advantage of a tech vulnerability to feed the desired biometric data in directly without needing to produce anything physical at all.
https://en.wikipedia.org/wiki/John_Schneeberger
>John Schneeberger (born 1961) is a North Rhodesian-born former physician who drugged and raped one of his female patients and also his stepdaughter while a physician in Canada. For years, he evaded arrest by implanting a fake blood sample inside a plastic tube in his arm, which confounded DNA test results.
>During his 1999 trial, Schneeberger revealed the method he used to foil the DNA tests. He implanted a 15 cm Penrose drain filled with another man's blood and anticoagulants in his arm.[5] During tests, he tricked the laboratory technician into taking the blood sample from the place the tube was planted.
Wouldn't a finger print be easier?
Why would you need to go to the store plenty of dna sequencing happens over the mail for ancestry and alike. Partner with them and offer discounted dna results.
Ideally you do this once and keep a card and use it everywhere.
As to doing it by mail, that may be potentially doable, but one would need to think through how to prevent e.g. stolen saliva, MITM mail sample interceptions, etc.
It is easy to blame a single person or a single company for poor practices, but I have yet to encounter any real solution to this problem that allows someone to prove they are who they say they are which is able to hit the sweet spot between too many false positives (hijacked accounts) and too many false negatives (valid customers locked out).
If I was a security-minded person looking for startup ideas, this is the problem I would be looking to solve.