• kevincox@lemmy.ml
    link
    fedilink
    arrow-up
    5
    arrow-down
    1
    ·
    6 months ago

    I also find passkeys to be underwhelming and hope they don’t catch on. It seems like a huge mire of complexity for very little gain. It seems like there are two main goals here:

    1. Don’t sent secrets to the sever.
    2. Stop phishing.

    Both great goals. However I wonder if we threw out the baby with the bathwater with passkeys.

    A password manager is already a huge step to blocking phishing, because if the password doesn’t auto-fill you get super suspicious. If you push your user to randomly generate their passwords then they also don’t remember them so would have to look them up, then copy them over. If you are worried about users who are a risk to themselves you can make the route to extract a password from the password manager as complicated as you like.

    As for not sending secrets to the server I think using a PAKE would have been a great option. If this was paired in a browser-integrated password manager it could be very secure. Think about some type of form field that can be filled with a password that isn’t accessible to the page itself. The browser would then tag the password as PAKE and never expose it to the page again.

    Another cool think able PAKE is that they can also authenticate the server. TLS-integrated SRP was very cool like this as you could have a self-signed certificate but verify it by entering your username and password. The UX may not have been good enough for public sites but it was an amazingly easy and secure option for private sites. This would actually be more secure than a PKI signed certificate as you aren’t risking CA compromise. That being said integrating this with browsers with good UX may be quite difficult. I would love to see it.

    But the biggest thing we lost was understandability. Even my grandmother understood what a password is. She knew how to back it up, how to transfer it to a new device. She could use it in two different browsers without setting up some multi-browser sync tool. She could write it in a notebook and log in at the library computer.

    I really think that we should have just iterated on passwords. Switch to a PAKE and keep improving password-manager UX and pushing most users to auto-generated passwords. So much was lost by switching to a system that most users don’t understand.

    I wrote a blog about this a while ago. https://kevincox.ca/2022/04/07/passwords/

    • lemmyreader@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      6 months ago

      Glad to see another person who is not keen on the passkeys. I have the feeling it is being hyped and perhaps without good reasons. Therefore I was glad to share this blog post when I saw it on Mastodon. btw, the blog post author turns out to be the software developer of similar software like Authentik and Keycloak. In other words, not just the average Linux user :)

      I really think that we should have just iterated on passwords. Switch to a PAKE and keep improving password-manager UX and pushing most users to auto-generated passwords. So much was lost by switching to a system that most users don’t understand.

      When I search with a search engine for PAKE I don’t find anything useful. Got a link ?

      I like your reasoning about just using passwords. However, my experience is that a scary amount of users are using the same rather weak password for lots of different accounts. And a still scary amount of users does get tricked into phishing emails. What I like for myself is have a bunch of security keys and use them as much as possible for important logins.Some applications allow for five different security keys to be configured.And this could theoretically also be a way to use 2FA within teams. One team person does the login, adds a key, then let’s the second team member put in their key and so on.

      I wrote a blog about this a while ago. https://kevincox.ca/2022/04/07/passwords/

      Thanks. I see you shared it two years ago on Lobsters and got a fair amount of comments. 👍

      • kevincox@lemmy.ml
        link
        fedilink
        arrow-up
        2
        ·
        6 months ago

        https://en.wikipedia.org/wiki/Password-authenticated_key_agreement

        Cloudflare also had a fairly good post a while ago about a newer PAKE algorithm: https://blog.cloudflare.com/opaque-oblivious-passwords

        a scary amount of users are using the same rather weak password for lots of different accounts

        This is true, but you can force them to use a random password just as easily as you can force them to use a randomly generated key. The end UX can look basically identical if you want it to. My point is that this is basically a UX problem. Instead of just making the change we are inventing this new protocol to shuffle along a UX change at the same time. Maybe part of this is because the change has major unaddressed downsides that would be too obvious to slip by if made as an incremental upgrade to passwords.

        One team person does the login, adds a key, then let’s the second team member put in their key and so on.

        There is no reason you can’t have multiple passwords associated with an account.

        • lemmyreader@lemmy.mlOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          6 months ago

          This PAKE post by Cloudflare is way over my head, but very good to see that new things are explored to make security really better.