• Gigan@lemmy.world
    link
    fedilink
    English
    arrow-up
    16
    ·
    edit-2
    8 months ago

    I still don’t understand passkeys. What prevents someone else from using my passkey? Maybe I should just set one up to get a better idea of how they work.

    • BakedCatboy@lemmy.ml
      link
      fedilink
      English
      arrow-up
      32
      arrow-down
      1
      ·
      8 months ago

      Passkeys are like using a private key to log in. There are several ways it’s better:

      • Passwords can be stored improperly by a website leading it to be leaked
        • Passkeys never leave the device so a website being breached can never leak your passkey
        • The website only stores the public portion of the key which is useless to an attacker
        • Passkeys can only be stolen by attacking and breaching the device or password manager that holds it
      • Passwords can and often are reused across multiple sites so a single leaked password can compromise many sites
        • Passkeys are created for each site so an attacker would need to steal each one separately
      • Passwords can be phished by fooling a user into entering the password
        • Passkeys can’t be phished easily since it’s designed not to leave the device - if such an attack was found it could be patched in the browser / password manager. You can’t patch all password forms to stop phishing in the same way

      If you’re familiar with ssh keys, it’s similar to that and why the top security recommendation for new servers is to disable passwords and use keys instead.

        • shortwavesurfer@monero.town
          link
          fedilink
          English
          arrow-up
          22
          arrow-down
          1
          ·
          8 months ago

          Yes, but a password is a shared secret. So both you and the person you are interacting with need the password and therefore it is more vulnerable. With a past key, only you have the private key and the company or service you are interacting with never has access to the secret. Basically, they encrypt a message to you using your public key and then your private key decrypts it and sends them a response back with the correct answer.

          • AtariDump@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            arrow-down
            1
            ·
            8 months ago

            With a past key, only you have the private key and the company or service you are interacting with never has access to the secret.

            But if you’re using it now, wouldn’t it be a present key?

        • Steve
          link
          fedilink
          English
          arrow-up
          15
          arrow-down
          1
          ·
          edit-2
          8 months ago

          The difference is, you literally never give the private key to anyone. Nobody will ever ask for it.

          It works through public private key encryption. To login the site will send your computer a “challenge” (some kind of math problem) that’s first encrypted with your public key. That means only your private key will be able to decrypt the challenge. Then your machine will generate an answer, encrypt it with the private key and sent that back. If the public key decrypts the answer and it matches, they know you are you.

          • 4am@lemm.ee
            link
            fedilink
            English
            arrow-up
            4
            arrow-down
            4
            ·
            8 months ago

            “Websites ask me for it every time I visit them bro 🤪”

            • IHawkMike@lemmy.world
              link
              fedilink
              English
              arrow-up
              9
              arrow-down
              1
              ·
              8 months ago

              Except they don’t. They may request a passkey which is just an oversimplification about what is going on behind the scenes, with information being passed back and forth as Steve described.

              But the private key never leaves the device. This is such a huge distinction that is easy to overlook. But it is very, very important.

              • 4am@lemm.ee
                link
                fedilink
                English
                arrow-up
                4
                arrow-down
                1
                ·
                8 months ago

                I guess my sarcasm needed the /s; was just mocking people who would try to retort with some half brained comment like that.

                Of course passkeys are better and more secure, I’m 100% on board with them.

                • IHawkMike@lemmy.world
                  link
                  fedilink
                  English
                  arrow-up
                  2
                  ·
                  8 months ago

                  Haha fair enough. I should have known from the quotes. It is something I hear a lot from people who don’t know the difference, and I’m sure you do too.

        • Vilian@lemmy.ca
          link
          fedilink
          English
          arrow-up
          3
          arrow-down
          1
          ·
          8 months ago

          not exacly, if someone hack a site that has poor security they gonna have your password, it you put your passkey there, it’s useless, also people can’t see you writibg yoyr password if don’t write it

  • mystik@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    8 months ago

    Passkeys are great, and generally a plus for security; but (a) all the most popular implementations have not implemented key export and transfer to alternate implementations (b) It includes an implementation ID + hardware attestation feature which can be used to disable ‘unapproved’ implementations by key consumers. Considering the most common device with a ‘secure’ environment, and can implement this are your cell phones, and they are made by Apple + Google, this effectively locks your identity to either of these platforms. © All the public signals smell and look like the providers (apple, google, Microsoft) are doing everything they can to implement the features to make lock in all but inevitable, including mandating that implementations user-hostile features, or risk being rejected by sites.

    It’s a great idea, and it could be awesome, but things are not being addressed. Or being handwaved as “we can address them later”. This recent discussion from last month (both the discussion in the linked github issue, and in the HN thread both including some key players in the PassKey system) is pretty telling: https://news.ycombinator.com/item?id=39698502

    • asudox@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      7 months ago

      I remember reading the W3C or FIDO Alliance docs for passkeys and they talked about the exportability of them. I think they said that they shouldn’t be exportable.