Stack Exchange Network

Stack Exchange network consists of 175 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Visit Stack Exchange

Hot answers tagged

84

The answers I've gotten have been good, but I wanted to provide a bit more depth, going specifically in to why the system exists at all, which should explain a bit more about what it's good for. Disclaimer: While I now work for Google, I knew nothing about this project at the time this answer was written. Everything reported here was gathered from public ...


35

U2F is capable of using an encrypted channel using public key crypto to ensure ONLY the right server can get the one time token. This means plugging it in when on a phishing site means nothing happens—they can't get into your account. Instead they have to rely on technical attacks like XSS and local malware. It is supposed to be able to hide the fact ...


22

I have not yet fully explored the spec. But: In what way is U2F fundamentally different from OTP? U2F is not using an OTP. It is really about site authentication and using possession of a private key as a factor. How does U2F affect the feasibility of phishing attacks in comparison to OTP systems? Time-bound OTP systems do an excellent job of combating ...


17

I just read some of the specs because I wanted to know if the device stores the actual (private) keys. I can try to answer some of the questions. OTP are simply one-time tokens, while U2F is based on public key cryptography; more specifically, the Yubico Fido U2F key seems to use elliptical curve cryptography. U2F should help to protect against phishing ...


9

A U2F token implements a challenge response algorithm using public key cryptography. It provides two functions: registering a new origin and computing the response to a challenge. Thus, it does not implement One Time Password (OTP) generation. Registering a new Origin (An origin string identifies the remote system, e.g. the hostname of the remote server.) ...


8

No, you are safe Even if you entered it inside a malicious computer, your key could not be compromised. It uses the same security as a credit card; meaning a smart card. This smart card contains a private key that is not disclosed unless you physically open the smart card. This is the reason why credit cards with a smart card are so much better than credit ...


7

Per the Yubikey FAQ they state the following: ..."All YubiKey NEO devices manufactured as of February 10, 2015 supported the current FIDO U2F specification for NFC. To verify you have a YubiKey NEO that supports NFC, check to see your YubiKey is running firmware version 3.4.0 or later."... Likewise, the YubiKey 4 (v4) and Neo (v3) are also listed as ...


6

I think it is very bad that the user of the token does not see what action he/she actually agrees by pressing button on his token. Otherwise, a user with an infected OS on the public untrusted PC can unwittingly let a malicious program into his own bank account instead of logging to the Facebook. However, U2F protocol contains information about current ...


6

In my opinion U2F lacks one thing at the moment: The privacy of your secret key. Each device comes with it's own secret key. A site specific key is derived from this secret key to do the challenge response when logging in to a site. This is ment to keep you anonymous and easily register and authenticate at a site. But! Each U2F device that is sold nowadays ...


6

Here's the issue with U2F as being the only method of authentication: there is no verification that you are the rightful owner of the U2F device just because you have it in your possession. If U2F was the only form of authentication for everything, that would be like having one master key for your car, house, safe, safety deposit box, office door/building, ...


5

No, the U2F specified keys are not able to perform symmetric encryption operations. They are designed only for providing a public key, attestation certificate, and signing data for the challenge / response process with their internal private key. Specifications can be read at https://fidoalliance.org/specifications/overview/


5

Great question :) A quick note to explain the long silence about that: Nobody was really able to answer this question until recently because there were many debates about possible links between FIDO "1.0" and "2.0" (mainly because there were no real details about FIDO 2.0 for a long time...). First, your question details are kind of outdated (that's normal)....


5

From a technical point of view, your question totally makes sens. U2F and UAF were pushed by very different actors/players. UAF was backed (cough plagued cough) by biometrics companies... and never took off for many reasons. U2F is a simpler no-nonsense solution that is now largely adopted by major web services providers like Facebook, Google services (...


4

No, this is not possible. Secrets can't be extracted from Yubikey tokens once they've been written. U2F keys don't even allow the secret to be written.


4

The Yubikey Neo can do all three things you need. The standard Yubikey (non NFC) is, according to the website, in the process of beeing FIPS 140-2 certified. An overview of certified U2F tokens can be found on the fidoalliance website Generally speaking, U2F is a rather new standard, and the mainstream crypto token producers like Gemalto or SafeNet haven't ...


4

You can test your client with FIDO UAF Conformance Testing tools (https://fidoalliance.org/certification/conformance/), you need to register first. You can also test with your own server, eBay has an open source UAF server on Github. I think the server will not know if an UAF client was installed unless the client sends an UAF request, however your client ...


3

In short, UAF will have a role as a single factor authentication. That is mainly achieved by biometrics in order to replace passwords, to replace "what you know" with "who you are," in addition to some crypto techniques like PKI. U2F still has a role as a second-factor ("what you have") in addition to username/password ("what you know"). This property ...


3

If someone steals my U2F, they get unfettered access to every site that uses it as a single factor, until I manage to remember every site I've used it and revoke it from all of them. The level of effort to steal a U2F device out of my USB slot is orders of magnitude less than to steal the database for my password manager plus the password to unlock it. And ...


3

The only way you can ensure you are secure is if you use a trusted mobile application, such as Chrome, and you see the padlock and HTTPS at the start of the address bar. Note that here you are trusting both Chrome and the domain of the website that is HTTPS. If you're using a third party application that integrates a browser, you are trusting that ...


3

I presume if a user's computer is compromised or the user loses their U2F dongle then all bets are off, right? But phishing no longer works? The documentation I'm making statements in regards to this comes from the Protocol Design + User Flows document at https://sites.google.com/site/oauthgoog/gnubby Malware on a machine can generate fake origin messages ...


3

If you're not using TLS, FIDO keys (WebAuthn or U2F) aren't going to do you much good. In fact, the spec requires that browsers only expose the API in secure contexts: The client facilitates these security measures by providing the Relying Party's origin and RP ID to the authenticator for each operation. Since this is an integral part of the WebAuthn ...


2

FIDO servers connect with authenticator meta data service which has a "score" for each authenticator. Policy can be the type of the authenticator and the features the authenticator allow to perform. To make thing simple server can decide that up to 100$ transaction will be permitted with 4 digit PIN authenticator and for bigger transaction fingerprint sensor ...


2

The JSON for an authentication request containing multiple authenticator (token) key handles looks like this. (challenge and keyHandle values were shortened) { "type": "u2f_sign_request", "timeoutSeconds": 30, "requestId": 123, "signRequests": [ { "appId": "http://localhost:8080", "challenge": "7Wr...I6w", "keyHandle": "8BB......


2

Indeed! I use/build/deploy both standard smart card PKI solutions (SSL client certificate, applets, browser plugin, middleware...) and FIDO U2F simplified PKI solutions and FIDO U2F works great even as a primary authentication method. It can be used as a primary authentication through a shared login url page with username and FIDO U2F or through a by-user-...


2

As far as I understand it (with help from agl's blog post): security.webauth.u2f controls the original FIDO U2F API introduced by Chrome. security.webauth.webauthn controls the now-standard W3C WebAuthentication API. They both let you talk to existing U2F (CTAP1) devices, but using different JavaScript functions. Webpages written for Chrome's "extension" ...


2

After all Google decides to recover your account or not. So from a logical stand point you can not lock down the account, because you do not have the ultimate control over the account. You can answer a lot of security questions and hope that google or the google helpdesk will ask all questions and decide wisely. But after all it is not in your hands. It ...


2

No, they do not expire. Probably mainly because x509 relies usually relies on external authority, whereas in FIDO U2F you issue your own pair.


2

An authenticator can optionally store a User Handle specified by the Relying Party when a new credential is created, however for backwards compatibility with U2F authenticators the User Handle is also allowed to be null. Regardless, the Relying Party still needs to know which credentials are associated with each user, so that it can verify the credential ...


1

I have never gone through the process, but from what i can tell this is a last resort recovery option. Google is aware of that threat and probably has ways to mitigate it. That said, the process is fairly opaque as far as i can tell. The 3-5 days seems to indicate they do some sort of manual review, probably call you and try to see if you have knowledge of ...


1

According to the documentation, it appears that there is no graceful way to pass registration over to another device. Only deregistration and re-registration. This makes sense since the keypair is generated on the device.


Only top voted, non community-wiki answers of a minimum length are eligible