I installed Bitwarden from F-Droid, but I happened to notice yesterday that Bitwarden was in my list of apps with updates available from Play Store, even though I installed it via F-Droid. Why would that be?

I know this is a better question for the Bitwarden forums, but I don’t have enough street cred there to make a post.

  • LinkOpensChest.wav@lemmy.oneOP
    link
    fedilink
    English
    arrow-up
    9
    ·
    1 year ago

    Ok thanks. Assuming I’m a colossal moron, an absolute clown-shoe wearing buffoon about technology … what is a signature? I’ve heard this term used in tech forums, but as a humanities guy I’ve never quite grasped it.

    • hikaru755@feddit.de
      link
      fedilink
      English
      arrow-up
      28
      ·
      edit-2
      1 year ago

      It’s a way to verify that an app, or any package of data really, actually comes from the source you’re expecting it to.

      It’s based on some clever math, but basically, an app developer has two very large numbers that share a certain mathematical relationship, but if you only know one of them, it’s extremely hard to calculate the other one. One of those numbers (the private key) they keep securely to themselves, the other number (the public key) they publish permanently for everyone to see.

      Now when the releases an app or an update to it, they put both the app and their private key into a special formula, which produces a new big number, called the “signature”. Then, they publish both the app and the signature to the play store.

      Now, when your app store sees an update of the app, it won’t just blindly trust it, but first check that it’s actually legit, so that it doesn’t accidentally install a virus or something. To do that, it downloads the app and the signature, and puts them into another special function, together with the public key that was used to sign the version of the app that you currently have installed. Now the clever part is, because of the special mathematical relationship between the public key and the private key, this function can check whether the signature was in fact produced by combining the app with the private key of the developer, without actually having to know that private key. This way, it can now be sure that this app update is actually coming from the original developer - unless they have been compromised and their private key leaked.

      So, technically, saying “it has the same signature” is not quite correct. The signature changes with every update. The thing that’s the same and allows to install the update is the key being used to generate the signature.


      This I very close to how (asymmetrically) encrypted messaging works, btw. If you have a key pair like above, you can encrypt a message with one of the keys in a way that it’s only decryptable with the other one. This way you can have people send you encrypted messages without anyone else knowing the encryption key, not even the sender of the message.

    • varaki@lemmy.world
      link
      fedilink
      English
      arrow-up
      7
      ·
      1 year ago

      Apps (apks) must be signed before uploading to distribution sites like play store or f-droid. Some devs are signing their app releases with different keys, because for example the google play version of the app has to contain stuff they don’t include in f-droid versions. These are mostly privacy related things, google does not allow in their play store. In case of bitwarden the two versions are most probably the same and they’re signed with the same key. So if there’s an update in either of the two distribution sites it will show you, that there’s an update. Now I use Aurora Store instead of play store for apps that are not available in F-Droid and you can blacklist apps there, so I only get updates from F-Droid.

      • LinkOpensChest.wav@lemmy.oneOP
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        So are you saying that the Google Play version of an app is likely to have more privacy than the F-Droid version?

        Also, I’ve noticed the F-Droid filter on Aurora Store is broken. All of my F-Droid apps still appear in my list of updates.

          • LinkOpensChest.wav@lemmy.oneOP
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 year ago

            Blacklist apps: By blacklisting apps, Google will not know that the selected apps are installed on your device

            I think blacklisting only hides the apps from Google, not Aurora

            • merde alors@sh.itjust.works
              link
              fedilink
              English
              arrow-up
              2
              ·
              1 year ago

              then when you blacklist apps, aurora no longer searches for their updates either 🤷

              try it for yourself. next time there is an update for an app; instead of updating, blacklist it. (you can always undo

        • varaki@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          edit-2
          1 year ago

          the Google Play version of an app is likely to have more privacy than the F-Droid version?

          No, the opposite