• historicaldocuments@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    2 days ago

    Correct, except I signed my public key. You now have cryptographic proof that I’m me. And as me, you can take my word for it that I only made that key to see what signed messages would look like on lemmy so that I could post in these sorts of situations and so that I could test Kleopatra. It’s not intended to be used for anything serious.

    It should also enable anyone who wanted to send an encrypted message to me to do so.

    • percent@infosec.pub
      link
      fedilink
      arrow-up
      3
      ·
      1 day ago

      Oh I see. Very cool :)

      There’s actually a social media network/protocol (which is even more decentralized than the Fediverse) built on this sort of thing called Nostr. Every message is cryptographically signed, so you own your identity (private key), regardless of where/how you access the network. Pretty cool tech overall, and lots of nice people, but a very disproportionately large amount of Bitcoin content over there.

      • historicaldocuments@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        20 hours ago

        Hard pass for me I think on nostr. The signup says to continue with google (heard of 'em) or NIP-07 (not heard of 'em), and the generate nsec button offers me an opportunity to download “my” private key. The file has a keypair and a helpful message that I can share the public key, and that I should never share the private key that it just sent me.

        Maybe there’s something I’m missing, but all the previous systems I’m used to use that to mean that you generate the keypair yourself, and then you can post the public key publicly while you should always keep the private key private which breaks the guarantee of the math that only the person with the private key can undo the message that the public key locked.

        I feel like there’s something I’m not understanding.

        • percent@infosec.pub
          link
          fedilink
          English
          arrow-up
          1
          ·
          20 hours ago

          The signup

          So, there’s not really “a signup” to use Nostr. That would be similar to saying “the signup” for ActivityPub – it’s just not specific enough for me to understand where you found this signup thing.

          But also, you don’t really need to sign up anywhere. You just need a keypair. You can generate that offline, or use a trustworthy site to generate it “offline” in your web browser with JavaScript so the private key is never sent over the wire.

          No idea what the Google login thing was. If I had to take a wild guess, maybe you found some place that also offers some key management/signing features as a way to make things more user friendly?

          If it helps, the first Nostr client I ever tried was Iris.to. I think Primal might be the most popular though.

          (This might be the extent of my Nostr knowledge. I was never a frequent user, and haven’t really thought about it in months.)

          • historicaldocuments@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            20 hours ago

            https://nostr.com/

            No idea what the Google login thing was. If I had to take a wild guess, maybe you found some place that also offers some key management/signing features as a way to make things more user friendly?

            I’ll buy that. I just have trouble squaring things like that with things like gpg-agent and how they cache passphrases and keep them from swapping to disk, etc. I’d want to know more about it and whether it’s generated in the browser or on the server. I’m also not even sure how I’d go about doing some sort of review of the javascript algorithms or where their random numbers come from. I’m not throwing shade on them; I just don’t know.

            iris.to […] Primal.net

            I’ll look.

            • percent@infosec.pub
              link
              fedilink
              English
              arrow-up
              2
              ·
              edit-2
              18 hours ago

              I’d want to know more about it and whether it’s generated in the browser or on the server.

              FWIW, most of these web-based Nostr clients are just static JS files. They’re SPAs that connect to the relay servers (via WebSocket, IIRC). You can open up your browser’s devtools, go to the “Network” tab, and see what’s happening.

              I don’t think I’d trust one that does any server-side rendering. No particular reason (though I’m sure I could think of some) other than it just wouldn’t feel right for Nostr.

              I’m also not even sure how I’d go about doing some sort of review of the javascript algorithms or where their random numbers come from

              I’d guess they just use the native WebCrypto APIs, but I have not verified. More info on native crypto APIs available in JS here:

              (FWIW, every Node.js distro I’ve ever used leveraged OpenSSL for those, under the hood. I imagine other runtimes do too.)