• @Gigan
    link
    English
    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.

    • @[email protected]
      link
      fedilink
      English
      318 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.

        • @[email protected]
          link
          fedilink
          English
          218 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
            link
            English
            18 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?

        • @[email protected]
          link
          fedilink
          English
          14
          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.

            • @IHawkMike
              link
              English
              88 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.

              • @[email protected]
                link
                fedilink
                English
                38 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
                  link
                  English
                  28 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.

        • @[email protected]
          link
          fedilink
          English
          28 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

  • @KISSmyOSFeddit
    link
    English
    2
    edit-2
    8 months ago

    Hopefully. Passwords are inherently unsafe.

  • @mystik
    link
    English
    18 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
      link
      English
      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.