• CaptObvious@literature.cafe
    link
    fedilink
    arrow-up
    48
    arrow-down
    11
    ·
    1 year ago

    You’re still entering the password or pin for your password manager. I genuinely do not see how this is better. It’s simply an alternative, not an improvement.

    • 📛Maven@lemmy.sdf.org
      link
      fedilink
      English
      arrow-up
      64
      arrow-down
      4
      ·
      1 year ago
      1. Password managers are, generally speaking, far more security conscious than the average website. I’d rather send a password to my password manager a couple times a day than send passwords to every website I interact with.

      2. One click to confirm vs. 2-3 to autofill. Tiny gains in speed 🤷‍♀️ If you make a password manager even slightly more convenient than just using gregspassword123 for everything, you can onboard more normies.

      • Lem453@lemmy.ca
        link
        fedilink
        arrow-up
        18
        arrow-down
        2
        ·
        1 year ago

        Most people that have password managers are already using different passwords for each website. Usually randomly generated. What’s the difference between that and a passkey?

        • jet@hackertalks.com
          link
          fedilink
          English
          arrow-up
          19
          ·
          edit-2
          1 year ago

          The secret key pair of a passkey is never transmitted over the internet. Even if somebody snoops the authentication, they will not be able to reproduce the secret key to login in the future.

          Think of it just like SSH public and private keys.

          Normal passwords, are typically provided at login time, and get transmitted, relying on HTTPS to keep them secure, if somebody could observe the authentication, they could reproduce the password later.

          (Yes someone could hash the password client side and send over the output… But that’s extra work and not guaranteed)

          • towerful@programming.dev
            link
            fedilink
            arrow-up
            9
            ·
            1 year ago

            Client side hashing of a password just makes the hashed result the password, as far as security is concerned.
            Unless there is some back-and-forth with the server providing a one-time-use salt or something to make each submission of the password unique and only valid once, at which point that might get snooped as well.
            Better off relying on client certificates if you are that concerned

          • Lem453@lemmy.ca
            link
            fedilink
            arrow-up
            4
            arrow-down
            1
            ·
            1 year ago

            Ah, thanks for that explanation. That makes sense. Eliminates a possible attack vector with https

        • AmberPrince@kbin.social
          link
          fedilink
          arrow-up
          9
          ·
          1 year ago

          A pass key is the private key in a private/public key pair. The private key is stored in the TPM on your device. The website contains the public key. When you use your “one password” you’re in effect giving your device permission to access the key storage in your TPM to fetch the private key to present it to the site.

          What this means in practice is that if a website has a data breach they won’t have your hashed password, only your public key which… is public. It doesn’t and can’t do anything on its own. It needs the private key, which again only you have and the website doesn’t store, to do anything at all.

          If you want to read more about it look into cryptographic key pairs. Pretty neat how they work.

          • meteokr@community.adiquaints.moe
            link
            fedilink
            arrow-up
            3
            ·
            1 year ago

            When you use your “one password” you’re in effect giving your device permission to access the key storage in your TPM to fetch the private key to present it to the site.

            Very small correction as I understand, but your private key is never presented. The web service should never interact with the private key directly. Your device is signing some bit of data, then the server uses your public key to verify that it was signed by your private key. Its a small distinction, but is one of the principal uses of asymmetric encryption is that the public key can truly be public knowledge and given to anyone, while the private key is 100% always only accessed by you the user.

            • Natanael@slrpnk.net
              link
              fedilink
              arrow-up
              2
              ·
              1 year ago

              Yeah, the TPM should perform the signature inside of the security chip, the key is always off limits from everything else

          • jet@hackertalks.com
            link
            fedilink
            English
            arrow-up
            3
            ·
            1 year ago

            I’m not sure there’s a requirement for the TPM to be used. To me that would imply the private key is stored in the TPM so you couldn’t export it. But a lot of the passkey providers have remote sync available.

            Which to implement, would mean they’re storing the key outside of the TPM, but using the local TPM to decrypt the secret stored outside of the TPM. IE the certificate payloads are decryptable by a variety of keys that are stored in different TPMs. There’s lots of assumptions here of course.

            • Natanael@slrpnk.net
              link
              fedilink
              arrow-up
              1
              ·
              1 year ago

              It would be backed up at the point of provisioning.

              A TPM can be set to allow exports or block them, so if you program the TPM to export a key once and then flip the switch to block exports then you can have this kind of backups and synchronization

        • 📛Maven@lemmy.sdf.org
          link
          fedilink
          English
          arrow-up
          9
          arrow-down
          1
          ·
          1 year ago

          Right. Most people that have password managers. Making a password manager easier and more convenient to use means some portion of people who aren’t using one may start.

          • Amju Wolf@pawb.social
            link
            fedilink
            arrow-up
            3
            ·
            1 year ago

            Realistically this is the biggest overall advantage.

            Sure, there are minor advantages to people already using password managers, but that’s such a tiny minority of people…

        • Natanael@slrpnk.net
          link
          fedilink
          arrow-up
          2
          ·
          1 year ago

          Passkeys use cryptographic keys held client side which are never transmitted, they user cryptographic challenge-response protocols and send a single use value back. You can’t intercept and reuse it unlike with passwords.

      • locuester@lemmy.zip
        link
        fedilink
        English
        arrow-up
        5
        arrow-down
        2
        ·
        1 year ago

        But does their advantage in security overcome the fact that they’re a much larger target?

        It’s similar to how money under a pillow could be safer than money in the bank; depending on who you are.

        • 📛Maven@lemmy.sdf.org
          link
          fedilink
          English
          arrow-up
          5
          ·
          edit-2
          1 year ago

          In general, yes. Big sites get hacked all the time. Passwords from those sites get cracked all the time. Anyone who uses the same password on multiple sites is almost guaranteed to have that password stolen and associated with a username/email at some point, which goes on a list to try on banks, paypal, etc.

          Conversely, to my knowledge, there has been one major security breach at a password manager, LastPass, and the thieves got more-or-less useless encrypted passwords. The only casualty, at least known so far, is people who used Lastpass to store crypto wallet seed phrases in plaintext, who signed up before 2018 when the more secure master password requirements were put in effect, chose an insecure master password, and never changed it once in the four years prior to the breach.

          It’s not perfect, but the record is lightyears better.

          Put it this way: Without a password manager, you’re gambling that zero sites, out of every single site you sign on to, ever gets hacked. From facebook, google, netflix, paypal, your bank, your lemmy or mastodon instances, all the way down to the funny little mom-n-pop hobby fansite you signed up for 20 years ago that hasn’t updated their password hashing functions since they opened it. With a password manager, you’re gambling that that one site doesn’t get hacked, a site whose sole job is not to get hacked and to stay on the forefront of security.

          (Also, you don’t even have to use their central servers; services like BitWarden let you keep your password record locally if you prefer, so with a bit of setup, the gamble becomes zero sites)

          • locuester@lemmy.zip
            link
            fedilink
            English
            arrow-up
            2
            ·
            1 year ago

            I use a different password for every site tho. Using same pw for every site, that’s another extreme entirely.

            • 📛Maven@lemmy.sdf.org
              link
              fedilink
              English
              arrow-up
              4
              ·
              1 year ago

              Most people do not. The average user has one or two passwords, and maybe swaps out letters for numbers when the site forces them to. Because remembering dozens of passwords is hard. If you, personally, can remember dozens of secure passwords, you’re some kind of prodigy and the use-case for a password manager doesn’t apply to you, but it still applies to the majority.

              • locuester@lemmy.zip
                link
                fedilink
                English
                arrow-up
                2
                arrow-down
                1
                ·
                1 year ago

                One doesn’t have to remember dozens. Just a basic algorithm for deriving it from the name of the site. Complex enough that it’s not obvious looking at a couple passwords but easy to remember.

                This method works for me. I understand its dangers (can still correlate. Dozen passwords and figure out the algo). But it’s my current approach. I hate even discussing it since obscurity helps.

                • 📛Maven@lemmy.sdf.org
                  link
                  fedilink
                  English
                  arrow-up
                  4
                  ·
                  1 year ago

                  Okay, I’m glad you have a system, but it’s not really relevant? I didn’t say you should use a password manager. I said it’s good for the majority of people who can only remember one or two passwords.

                  • locuester@lemmy.zip
                    link
                    fedilink
                    English
                    arrow-up
                    2
                    ·
                    1 year ago

                    I’m of the mindset that locally stored keys and/or social solutions are better than throwing all passwords in a single place.

                    All passwords for large amounts of people in a single place is begging for a break-in.

                    I spend a lot of time studying solutions in this space as I’m a long time crypto solutions dev. Lots of ideas and discussions to be had.

                    I’m not disagreeing with you, just having a dialogue.

                • Amju Wolf@pawb.social
                  link
                  fedilink
                  arrow-up
                  4
                  ·
                  1 year ago

                  Your system is most likely way less secure than you think. I mean, possibly not since you’re here, but most schemes are trivial to solve even automatically.

                  …and that doesn’t really matter either, because so many people have such shitty passwords (and use the same ones everywhere) that noone really bothers checking for permutations when they have thousands of valid accounts.

                  But if truly enough people are convinced to be more secure your scheme may eventually become a target, too.

                  With passkeys (and password managers in general) the security gets so good that the vast majority of current attacks on passeord protection get obsolete.

                  • locuester@lemmy.zip
                    link
                    fedilink
                    English
                    arrow-up
                    2
                    ·
                    1 year ago

                    I agree 100%. As mentioned, I rarely share my approach and I’ll be deleting that comment in a bit. It works well for me.

                    No hacker is attempting to decode the password algorithm because they don’t know of its existence on my logins, and they have thousands of better ways to go - as you said.

    • ellotheth@artemis.camp
      link
      fedilink
      arrow-up
      32
      arrow-down
      2
      ·
      1 year ago

      You’re entering your password into your password manager, which is stored by a company or entity whose entire job is to keep it secure. You’re not giving your password, in any form, to the website or service you’re accessing. When the website gets compromised, your hashed password is not in a database waiting to be cracked. All the attacker gets is a public key they can’t use for anything.

    • PastaGorgonzola@lemmy.world
      link
      fedilink
      English
      arrow-up
      28
      arrow-down
      1
      ·
      1 year ago

      The biggest difference: nothing sensitive is stored on the server. No passwords, no password hashes, just a public key. No amount of brute forcing, dictionary attacks or rainbow tables can help an attacker log in with a public key.

      “But what about phising? If the attacker has the public key, they can pretend to be the actual site and trick the user into logging in.” Only if they also manage to use the same domain name. Like a password manager, passkeys are stored for a specific domain name. If the domain doesn’t match, the passkey won’t be found.

      https://www.youtube.com/watch?v=qNy_Q9fth-4 gives a pretty good introduction on them.

      • xinayder@infosec.pub
        link
        fedilink
        arrow-up
        2
        arrow-down
        1
        ·
        1 year ago

        This is something being sold in favor of passkeys but I can’t ser how “more secure” it is for me.

        I use Bitwarden, the domain name matching works exactly like passkey’s. How more secure a passkey is, if it has 0 changes to this domain name detection?

        • PastaGorgonzola@lemmy.world
          link
          fedilink
          English
          arrow-up
          8
          ·
          1 year ago

          That’s the part where the server doesn’t story any information that an attacker could use to log in. The attacker would need the private key, which is stored inside a secure chip on your device (unless you decide to store it in your password manager). All that’s stored server side, is the public key.

          When you’re using a password, the server will store a hashed version of that password. If this is leaked, an attacker can attempt to brute-force this leaked password. If the server didn’t properly store hash the password, a leak simply exposes the password and allows the attacker access. If the user didn’t generate unique passwords for each site/server, that exposes them further to password spraying. In that case an attacker would try these same credentials on multiple sites, potentially giving them access to all these accounts.

          In case of passkey, the public key doesn’t need to be secret. The secret part is all on your end (unless you store that secret in the managed vault of your password manager).

          I do agree that your risk is quite small if you’re already

          • using a decent password manager
          • doing that the right way
          • have enabled 2FA wherever possible
        • Natanael@slrpnk.net
          link
          fedilink
          arrow-up
          2
          ·
          edit-2
          1 year ago

          With a breach of the server then they can get your password the next time you log in and maintain persistent access until they’re both kicked out and everybody has changed passwords.

          With passkeys you don’t need to do anything, they never had your secret.

    • m-p{3}@lemmy.ca
      link
      fedilink
      arrow-up
      16
      ·
      1 year ago

      If you’re using a hardware token like a YubiKey then you do need to enter your PIN before being able to use it.

      The main benefit is that you cannot extract the Passkey from the secure element (the token cannot be transformed from what you have to what you know) and it cannot be phished through a fake domain as the challenge-response will not match.

      • jet@hackertalks.com
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        I like the yubikey bio series so you use a fingerprint on the key itself. Fido2 only right now

    • skillful_garbage@beehaw.org
      link
      fedilink
      arrow-up
      15
      ·
      1 year ago

      Passkeys are asymmetric, meaning that the server only ever sees your public key. If the server gets breached, then only your public key is leaked, which isn’t a big deal. Functionally, it’s almost identical to SSH keys.

      • lud@lemm.ee
        link
        fedilink
        arrow-up
        3
        ·
        1 year ago

        Since you should use a password manager anyways, it wouldn’t make a difference if they get a randomised password or public key.

        • lemmyvore@feddit.nl
          link
          fedilink
          English
          arrow-up
          9
          ·
          1 year ago

          If they get your password they can impersonate you to the server. They can’t do that with just the public key part of your passkey.

          • lud@lemm.ee
            link
            fedilink
            arrow-up
            2
            arrow-down
            3
            ·
            1 year ago

            That’s true.

            Ideally my password should be hashed and salted anyways, so that shouldn’t make a huge difference.

    • Feirdro@lemmy.world
      link
      fedilink
      arrow-up
      13
      ·
      1 year ago

      And all of my tech challenged family screamed out in unison, “What’s the fucking 1Password password again?!”

      • fubarx@lemmy.ml
        link
        fedilink
        arrow-up
        29
        ·
        edit-2
        1 year ago

        Wife: I don’t remember my {service} password.

        Me: Did you put it in {password manager}? We have a family plan.

        Wife: groans I never remember it. What’s the password?

        Me: How would I know? It’s your password.

        Wife: ruffles through desk, picks up tattered handwritten note. Aha! Here’s the {service} password. Same as {30 other sites}.

        Me: slowly bangs head on table

        [ Repeat once a month]

        • CosmicTurtle@lemmy.world
          link
          fedilink
          English
          arrow-up
          10
          ·
          1 year ago

          Sounds like you need to get the latest patch for your wife. While you’re doing that, you can add the password manager extension which should fix the issue.

          • InputZero@lemmy.ml
            link
            fedilink
            arrow-up
            5
            ·
            1 year ago

            Also write that password down somewhere in case you pass away in an accident or whatever. If you can afford it, a safety deposit box is great just because it can’t get lost but is also wayyyyyy overkill.

            • jet@hackertalks.com
              link
              fedilink
              English
              arrow-up
              6
              ·
              1 year ago

              https://github.com/cyphar/paperback

              Here’s a cool project that makes writing down your secrets a little less risky. You can split the secret up into multiple parts that require collusion to decrypt. This is an excellent project that makes it pretty easy and straightforward.

              So keep one copy at home, one copy of the neighbors, one copy at a relatives, well maybe at the bank if you have one. Then when you’re significant other forgets their password, you can figure it out

            • BastingChemina@slrpnk.net
              link
              fedilink
              arrow-up
              2
              ·
              1 year ago

              For this bitwarden has a solution: the emergency contact. You can designate an emergency contact that can request access to your account at any time.

              If you don’t manually deny the request they can get access to your bitwarden passwords after X days (X can be configured)

    • loathsome dongeater@lemmygrad.ml
      link
      fedilink
      English
      arrow-up
      9
      arrow-down
      1
      ·
      1 year ago

      You don’t have to memorize a ton of passwords for multiple sites which helps prevent password reuse. Whatever you use to decrypt your passkey or password is not transported over the network.

      It’s not foolproof of course but it’s a huge improvement.

    • Natanael@slrpnk.net
      link
      fedilink
      arrow-up
      4
      ·
      1 year ago

      Because you don’t send a secret value, you only send a cryptographic asymmetric single use value which is safe to disclose