• lastlybutfirstly@lemmy.world
    link
    fedilink
    arrow-up
    17
    arrow-down
    2
    ·
    1 day ago

    So… Uh… What’s a passkey? The article is saying they’re pure evil. Everyone here is saying they’re good. Everyone knows what they are except for me.

    What’s the difference between a passkey and a password?

    • dropdrip@lemmy.ml
      link
      fedilink
      arrow-up
      2
      ·
      13 hours ago

      It’s something you pass around–like a word, but a key instead. If you’re familiar with passwords–instead of a word–imagine a key: a passkey. That’s what passkeys are. The issue with passkeys is–as you pass them around they begin to open more and more stuff; everyone is opening stuff with your key as it’s passed. So they need to be sanitized every now and then. Deposit them into a furnace and buy a new passkey. Every two to three days. If you have more questions please feel free to ask!

      • lastlybutfirstly@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        6 hours ago

        Okay. I think I’m understanding. A passkey is a virtual key? That we have to buy? And some company makes these virtual keys? And there’s a virtual locksmith who makes virtual locks? And you have to hire them to install them on your computer? Is this what’s going on?

    • JoshCodes@programming.dev
      link
      fedilink
      English
      arrow-up
      2
      ·
      14 hours ago

      Imagine if a romantic partner said “I will send you a unique string, probably exactly 8 characters” to verify that I am your partner. You would laugh and remind them it takes less than a second to generate every 8 character combination possible.

      Instead, your SO makes a key and keeps it with them at all times, and you promise to talk to them using a machine that makes secret messages only their key can decipher. For fun, they give you a key and make a machine too… Explaining this shit is complicated I’m sorry for what you’re about to read.

      They send “heyy”, You send “whatup”, They send “send pics”, You take one, encrypt and send the pic, They say “huh? Wtf?”, You remind them about the secret key, They have no idea what you’re talking about -fail OR they send something in return back (which you decrypt) -success

      That’s basically the same thing as authentication with a passkey oversimplified and only slightly wrong but good enough. There’s shitloads of devices that do it, yubikeys, authenticator apps, but they’re all doing that.

    • RedGreenBlue@lemmy.zip
      link
      fedilink
      arrow-up
      11
      arrow-down
      1
      ·
      23 hours ago

      Password is a shared secret: When you want me to prove myself, i repeat the password we both know. Both of us could loose that password and it happens every day. Can’t go a day without a major data breach news.

      passkeys use public-private keys. Anyone can posses the public key, so that is ok to leak. The private key you keep to yourself. When you ask me to prove myself, you hand me a challange which i manipulate with my private key and hand back to you. You check it with the public key and conclude that i am indeed the one that posseses the private key. Mathematical magic! The private key was never shared.

      For the user, the password is replaced with a file stored somewhere. Either in your usb security key or in your password manager of choice. Stored in a security key (aka authenticator), the private key never leaves the authenticator and all cryptographic operations are done inside it. The private key can’t leak. Amazing! Passkes in a security key are called hardware bound, very secure and nice. The security key, you can plug out and take with you. There are built in hardware like this in phones and computers. But you can’t take that with you. That sucks. They only authenticate that device. But you can make any number of passkes for all your devices.

      The bad part is that some big corporatins would like to control where and how you can store the passkeys and preferably make it harder for you to escape them. The solution is to not use the services of these malicious corpos.

      • skippy@sh.itjust.works
        link
        fedilink
        arrow-up
        2
        ·
        17 hours ago

        Nice explanation!

        Can you elaborate on this part?

        some big corporatins would like to control where and how you can store the passkeys

        • RedGreenBlue@lemmy.zip
          link
          fedilink
          arrow-up
          5
          ·
          edit-2
          13 hours ago

          Attestation means that whatever code runs on your authenticator has been submitted to the FIDO Alliance (google and buddies) and they signed off on it. After that it can’t be changed.

          Security keys like the Solokey Hacker (the superior version), is not signed and never will be, cause I can tinker with it in any way I wish. It’s truly mine.

          Like the article highlights, attestation is part of the standard. The remote service can ask for cryptographic proof that your authenticator, where you stored your passkey, is attested. I have not seen any service doing that so far. IT managers are doing that internally, for their employees for sure. They don’t trust bobs homemade solution, only their chosen vendors. From that standpoint it’s reasonable.

          This gives the service the power to deny you freedom of choice of where to store your passkey. They might say only yubikeys allowed or only microsoft hello or only IOS secure enclave or whatever they wish. It might become a scenario where they don’t allow any passkey solution that can run outside their platform. Running LineagOS or Linux? Google and microsoft will say it’s “not secure enough”.

          They will abuse that power to make your decision for you and lock you in. “Password manager not allowed, Use our cloud insted”.

          Ideally it’s not part of the standard and they don’t get the option of knowing anything about your authenticator. It’s none of their bussines how i choose to store my secrets.

          Any sane service will just not ask about the attestation. They don’t have to ask. I would not ask my users on my webpage. You can store your passkeys on printed paper for all i care. Although, storing them on a usb/nfc key is pretty damn secure and cool!

        • Jayjader@jlai.lu
          link
          fedilink
          arrow-up
          4
          ·
          15 hours ago

          Personal anecdote to illustrate: the last time I tried creating and using passkeys for my Google account, I got the impression they (Google) would only accept keys coming from either Google Authenticator (their 2fa smartphone app) or something like macos’s built-in keychain. No way to give them a key generated using a local, offline service that I could store however I want - it needed to be accessible using, basically, a big corpo['s software] as the intermediary. This coming from how their website would request the keys from my browser (which means mozilla seem to be in on it as well :/).

          Given that I currently use a pure file-based password manager that I can move around and switch the keys for as I please, the current state of passkeys feels like a step back in terms of allowing me to control my digital identities.

    • LedgeDrop@lemmy.zip
      link
      fedilink
      arrow-up
      11
      ·
      edit-2
      1 day ago

      So in order to log into most websites, you need your username/email address and a password.

      You can save your username/password in your web browser or in the cloud.

      Sometimes people get lazy and reuse passwords, sometimes people forget their passwords.

      Passkey is a replacement for usernames/passwords. It does require that the passkey is saved somewhere, often on your device (in the cloud is possible, but non-standard).

      When you “create” a passkey, this passkey is used only at a single place. For example, you’d have a passkey for your bank, another one for your email, another one for Lemmy. You have no say in the matter, that’s just how it works.

      When you log into a website that has passkey enabled, your passkey/password manager pops up, you click on the passkey and that’s it. There is no email address, there is no password, no MFA.

      edit: oh, you also asked about the difference between passwords.

      It’s all about improved security.

      You go to certain websites, and they’ll only allow a-zA-Z0-9, others require a minimum length of 8 characters, needs 3 symbols (except ! for whatever reason ;)

      Then you have no idea how the website is storing your password. Are they encrypting it? Did they do it correctly?

      If you look at the number of “breached/leaked” passwords on the internet, it’s because it’s hard to securely store passwords.

      Passkey solves all this. Websites are just given “a public key” and it can be “just stored”, no special treatment necessary.

        • nanometer1625@thelemmy.club
          link
          fedilink
          arrow-up
          16
          ·
          23 hours ago
          10 PRINT "So in order to log into most websites, you need your username/email address and a password."
          20 PRINT ""
          30 PRINT "You can save your username/password in your web browser or in the cloud."
          40 PRINT ""
          50 PRINT "Sometimes people get lazy and reuse passwords, sometimes people forget their passwords."
          60 PRINT ""
          70 PRINT "Passkey is a replacement for usernames/passwords. It does require that the passkey is saved somewhere, often on your device (in the cloud is possible, but non-standard)."
          80 PRINT ""
          90 PRINT "When you "; CHR$(34); "create"; CHR$(34); " a passkey, this passkey is used only at a single place. For example, you"; CHR$(39); "d have a passkey for your bank, another one for your email, another one for Lemmy. You have no say in the matter, that"; CHR$(39); "s just how it works."
          100 PRINT ""
          110 PRINT "When you log into a website that has passkey enabled, your passkey/password manager pops up, you click on the passkey and that"; CHR$(39); "s it. There is no email address, there is no password, no MFA."
          120 PRINT ""
          130 PRINT "edit: oh, you also asked about the difference between passwords."
          140 PRINT ""
          150 PRINT "It"; CHR$(39); "s all about improved security."
          160 PRINT ""
          170 PRINT "You go to certain websites, and they"; CHR$(39); "ll only allow a-zA-Z0-9, others require a minimum length of 8 characters, needs 3 symbols (except ! for whatever reason ;)"
          180 PRINT ""
          190 PRINT "Then you have no idea how the website is storing your password. Are they encrypting it? Did they do it correctly?"
          200 PRINT ""
          210 PRINT "If you look at the number of "; CHR$(34); "breached/leaked"; CHR$(34); " passwords on the internet, it"; CHR$(39); "s because it"; CHR$(39); "s hard to securely store passwords."
          220 PRINT ""
          230 PRINT "Passkey solves all this. Websites are just given "; CHR$(34); "a public key"; CHR$(34); " and it can be "; CHR$(34); "just stored"; CHR$(34); ", no special treatment necessary."
          
          • d-RLY?@lemmy.ml
            link
            fedilink
            arrow-up
            1
            ·
            21 hours ago

            I wish I could give more than one upvote for the commitment to the bit on this.

          • lastlybutfirstly@lemmy.world
            link
            fedilink
            arrow-up
            1
            arrow-down
            1
            ·
            22 hours ago

            No, I mean the actual code. It’s been decades since I’ve used BASIC but a password programd would look vaguely like this:

            10 x=1234

            20 Print “What is the password?”

            30 If user input equals 1234 goto 60

            40 Print “Incorrect”

            50 Goto 20

            60 Print “Correct”

            • paris@lemmy.blahaj.zone
              link
              fedilink
              arrow-up
              1
              ·
              21 hours ago

              Your 1234 example is stored in plaintext, which is bad practice but still happens sometimes. Usually 1234 will be hashed (irreversible and functionally unique string) and the user input gets hashed with the same algorithm to check against the server’s stored hash.

              Passkeys are fundamentally different and work with public-private key pairs. It’s not possible for your public key to be “stored incorrectly” because it’s meant to be public. Your private key stays private and you never have to send it to the server to be checked against what they have stored. Instead, the server sends you a mathematical challenge that you solve with your private key. The resulting answer is also irreversible and functionally unique, but in such a way that the answer can be checked with the public key to make sure it was solved by the associated private key. It’s really clever math that’s worth watching or reading up on to understand.

              I don’t understand the maths well enough to give you a pseudocode example, but I always found trying to simplify it made it difficult to understand anyway. Every analogy ended up falling short because it was an analogy and not what was actually happening under the hood.

        • Jason2357@lemmy.ca
          link
          fedilink
          arrow-up
          1
          ·
          24 hours ago

          Imagine instead of inventing and storing passwords in your head and typing them in each device. With passkeys each device generates a real, cryptographically strong password for each site and stores it in a secured part of the device. Nothing to memorize.

          Sites must now to let you have many passwords so you can have many devices without needing to sync between devices like a password manager might do.

          No one can guess your password and it is never reused because they are machine generated. They are protected on device by the security of your device (typically behind a pin) so if you trust your OS, it is safe (which, in effect is the same as passwords you type).

          Unfortunately, the experience still sucks and shitty companies might use them to further lock people in if they end up with all their passkeys on one iphone, for example.

            • Helix 🧬@feddit.org
              link
              fedilink
              English
              arrow-up
              2
              ·
              14 hours ago

              Password reset, and your mail account used for that is secured by a passkey 😬

              Please send a blood sample to Google Gemini to confirm your identity.

          • d-RLY?@lemmy.ml
            link
            fedilink
            arrow-up
            1
            ·
            20 hours ago

            Microsoft has been a major annoyance on me with passkeys. I don’t like not knowing for sure that I can get back into an account if any of my devices get fucked (authenticators are nice and I do have some things setup but always worry if my phone is broken or lost out of nowhere). They (Microsoft) have such a dark pattern way of pushing passkeys. When I have to help someone get into their MS account at work (normal consumer PC stuff not IT/corp stuff) which is already hard since the people I try to help already don’t tend to realize how important even simple things they don’t think about WILL fuck them later. Some examples are stereotypical “boomers” that default to adding their land-line when an account asks for a phone number, or that they were even making an account (another dark pattern from Windows 8 where sooooo many people created @outlook.com accounts without really paying attention).

            Obviously I experience a higher than average amount of tech illiterate folks (that also seem to just not care like shit is still the Windows 7 and earlier times). But Microsoft pushes dialog prompts/boxes for physical security keys and passkeys in a way that at first seems like the person has one of those setup. In some cases trying to sign into an account without a passkey/security key it will do what I expect. Give an extra option to not keep using a password or password+text/email code, or setup passkeys to “not have to worry about remembering passwords”. Though I still think they don’t really clearly explain how crucially important it is to make sure the person’s information for the account is correct and making damn sure to know recovery options if anything happens.

            But I started seeing just a box pop-up that looks like a system prompt that only gives two options. Enter your PIN/insert security key, or to use the authenticator app. No obvious option for picking that neither are setup. The only way for not using those is to click the X on the top-right of the prompt. In some cases I have seen people click on the options and it just acts like they are setup. Pick the authenticator option and it asks for the code on an app/device that doesn’t exist. In the cases that it does start the process of setting up passkeys, I still feel like they are trying to trick people into it rather than the users choosing to do it.

            Again I deal with more than average “I’m not a ‘techy’!” kinds of people along with older folks. But it really does seem like any level of tech literacy keeps getting worse based on running into more and more people of all ages. Which is what freaks me out about how these things are suddenly seemingly pushed on folks at the worst moments. A lot of people first trying to setup their new device just want to get into it as fast as possible, and really don’t understand how they can just lose access to so many things they didn’t realize are now tied together. Let alone be aware that they should export those things to something that isn’t tied to the OS in the event they for some reason want to get something else (PC to Mac/Mac to PC/Android to iOS/iOS to Android/etc).

      • lastlybutfirstly@lemmy.world
        link
        fedilink
        arrow-up
        8
        arrow-down
        2
        ·
        1 day ago

        Sounds like a turbo encabulator.

        Also, that website is full of sand traps. Every time I accidentally mouse over something, a huge menu covers up the definition.

    • leftzero@lemmy.dbzer0.com
      link
      fedilink
      arrow-up
      6
      arrow-down
      4
      ·
      1 day ago

      As the article states, they’re an extremely malicious solution to a problem that has better, simpler, and easier to understand solutions.

      It’s also a very good solution to the “problem” of users being able to do things our corporate overlords don’t want us to do.

      In short, they’re even worse malware than the ones they’re sold as protecting us from.

      Enshittification manifest.

        • alottafagina@lemmy.ml
          link
          fedilink
          arrow-up
          1
          ·
          7 hours ago

          Amazon/whatever login:

          Email login:

          • username: chlamidiyasux
          • password: hunter3

          There. You’ve solved 90% of online fraud that begins with website(s) leaking your credentials and someone combining leaks to gain access to everything in your life via your email (including bank, socials, porn habits, whatever).