5

Since I use 1Password to store my passkeys along with emails and passwords, it appears to be that passkeys are not as secure as using the email and password with U2F flow that I currently use on many websites/apps.

I am starting to think that passkeys should only replace email and passwords but not email, passwords, and 2FA.

3
  • Passkeys aren't more secure – but they're a great way to bring the phishing resistance of WebAuthn/FIDO/U2F to the masses, without having to buy expensive hardware keys.
    – amon
    Commented Jun 13 at 20:26
  • Passkeys can be more secure than U2F keys. There are hardware passkeys as well, and they don't suffer from the downgrade problems of 2FA described in my answer.
    – Ja1024
    Commented Jun 13 at 21:04
  • Which platform are you using it on? While I don't use 1password but Apple's equivalent, I believe 1password on Mac and iOS will require TouchID/FaceID, doesn't it?
    – jcaron
    Commented Jun 14 at 9:58

2 Answers 2

5

Comparing a software passkey with the combination of a hardware U2F key and a password isn't really fair. You should compare the underlying protocols, not concrete implementations which can vary greatly in the security they provide.

The problem of U2F is that it still involves a password and that it can enable downgrade attacks to weaker 2FA methods, which may result in an account compromise. Incorporating a password into an authentication protocol means that at least the first factor is highly susceptible to phishing and of course all other password-related attacks (brute-force attacks, man-in-the-middle attacks etc.). Even worse, passwords are often reused, so that an attack which “only” affects the first factor of an account in one application may lead to a complete compromise of an account in a different application. U2F tries to at least address the first issue, and a hardware key is indeed a very strong authentication factor. However, since the U2F key is merely a second factor, a lot of applications will offer other – weaker – 2FA methods as an alternative, in particular OTP. This is when downgrade attacks come into play. As described in the linked paper, an attacker who has set up a phishing website may convince the victim to enter their password and insert the U2F key. They ignore the key and ask the user to also enter the OTP. If the user does this, the attacker has both the password and the OTP and can authenticate at the target site.

In comparison, passkeys completely eliminate passwords, so the issues described above no longer apply. Ideally, you should use a hardware passkey, so that it cannot be obtained by attacks against your password manager. If you're using a software passkey, then such attacks are a problem, of course. The security of the passkey then depends on how well you protect the password manager and the client device in general.

6
  • My main issue with how passkeys are being used at the moment is that software passkeys rely entirely on the "something you know/are" and don't give me the option to add the "something you have". Basically, a combination of software and hardware passkey would be useful, yet I haven't encountered a single service that allows this. Commented Jun 13 at 21:24
  • 2
    Why not a hardware passkey protected with a PIN? Something like a YubiKey. This should be the exact combination you're asking for.
    – Ja1024
    Commented Jun 13 at 21:37
  • If you insist on a software passkey, you could in principle use a password manager which supports hardware tokens (like KeePass). However, the benefit compared to using a hardware passkey right from the beginning is questionable.
    – Ja1024
    Commented Jun 13 at 21:39
  • I didn't know you could set up a PIN on a YubiKey and I've had several for years. Thanks! Commented Jun 13 at 21:41
  • @EduardoBautista "Something you know" and "Something you are" (i.e. biometric authentication such as face or fingerprint recognition) are two different factors.
    – jcaron
    Commented Jun 14 at 9:58
1

Passwords are a shared secret. The value is sent over the network to the server to be evaluated against (hopefully) a stored hash w/ salt.

Passkeys are based on public key cryptography, which ensures that the secret element of the credential isn’t shared with the website and that no secrets are transferred between the user’s device and the server.

ref:

3
  • 1
    It should be noted that a sufficiently long password would be more cryptographicly secure than current passkeys. People argue this back and fort in terms of passwords vs ssh keys. Commented Jun 13 at 19:32
  • It should also be noted that while you can store your passkey in various password managers which could in theory be remotely compromised ... They can also be created / stored in hardware keys like Yubikey or a Titan Security Key which cant be remotely stolen. Commented Jun 13 at 19:35
  • 2
    This seems to be a comparison of passwords and passkeys, not of passkeys and 2FA using U2F keys as the OP requested.
    – Ja1024
    Commented Jun 13 at 21:01

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .