I’m not sure if it is entirely accurate to compare them in this way, as “Matrix” refers to simply the protocol, whereas “Signal” could refer to the applications, server, and protocol. That being said, is there any fundamental difference in how the Matrix ecosystem of federated servers, and independently developed applications compares to that of Signal that would make it less secure, overall, to use?

The most obvious security vulnerability that I can think of is that the person you are communicating with (or, conceivably, oneself, as well) is using an insecure/compromised application that may be leaking information. I would assume that the underlying encryption of the data is rather trustworthy, and the added censorship resistance of federating the servers is a big plus. However, I do wonder if there are any issues with extra metadata generation, or usage tracking that could be seen as an opsec vulnerability for an individual. Signal, somewhat famously, when subpoenaed to hand over data, can only hand over the date that the account was created, and the last time it was used. What would happen if the authorities go after a Matrix user? What information about that user would they be able to gather?

  • ono@lemmy.ca
    link
    fedilink
    arrow-up
    54
    ·
    edit-2
    1 year ago

    Key points off the top of my head:

    • Both Signal and Matrix have solid cryptography. (In fact, the Matrix Megolm protocol is built upon Signal’s Olm protocol.)
    • Signal’s client is open-source, but not its server. Matrix clients and servers are open-source. (Note that open server code is less important than open client code when end-to-end encryption is used.)
    • Both have had security audits, and presumably will have more in the future.
    • Both have cross-platform support. Matrix has a greater variety of clients, and last time I checked, the desktop clients were better than Signal’s.
    • Signal prides itself on minimizing metadata exposure. Matrix started later, and hasn’t yet moved all metadata (e.g. reactions, group membership?) to an encrypted channel. (Note that metadata protection can’t ever be complete for either one of them, because an attacker that can gain access to the servers could just as well gain access to the routers, and correlate packets at the network level.)
    • Signal is a centralized service (hosted by Amazon last time I checked), meaning all traffic flows through one place and can be shut down or monitored there. Matrix is federated, much like Lemmy.
    • Signal does not offer self-hosting. Matrix does. (One might do this to be sure they always have a copy of their past messages, or to be independent of public server outages, or to be the sole keeper of data and metadata in conversations between local users.)
    • Signal requires a phone number, which makes having an anonymous account challenging for many people. Matrix doesn’t require anything, but some Matrix servers require an email address for account recovery purposes.
    • Signal apparently integrates cryptocurrency payments. Matrix does not.

    The most obvious security vulnerability that I can think of is that the person you are communicating with (or, conceivably, oneself, as well) is using an insecure/compromised application that may be leaking information.

    Indeed, end-to-end encryption is unable to protect the endpoints. That’s true of both messengers.

    Since you brought it up, note that smartphones generally run system-level software that is controlled by the OS maker, meaning that Google or Apple have the ability to monitor those endpoints. Signal’s approach to addressing this is to offer a Google-free build of their app, if you can find it, buried on their web site and with a scary-looking warning against using it. Matrix publishes their apps on F-Droid, so there’s an easy Google-free option. Of course, most of the people using either messenger will have downloaded from the big app stores, so even if your phone and app are Google-free, it’s likely that most of your contacts’ phones are not. I believe Matrix has an advantage here, simply because their Google-free builds are easier to find and keep updated, and are therefore probably in use by more people.

    • Matricaria@feddit.de
      link
      fedilink
      arrow-up
      17
      ·
      1 year ago

      Until now, Matrix federation isn’t great in practice, because most accounts are on the main server Matrix.org. This may (and hopefully will) change in the next years.

    • poVoq@slrpnk.net
      link
      fedilink
      arrow-up
      16
      ·
      edit-2
      1 year ago

      In general I agree, but with one caveat: Matrix has two e2e encryption algorithms: OLM and MegOLM. OLM is indeed comparable to Signal’s however it isn’t used by default. MegOLM on the other hand is a severely watered down version that offers much weaker protection compared to Signal’s algorithm (or OMEMO used by XMPP). It’s a trade-off Matrix did to make some things more user-friendly at the expense of message security.

        • poVoq@slrpnk.net
          link
          fedilink
          arrow-up
          7
          ·
          1 year ago

          Two ways mainly: the private key is no longer device specific but rather account specific and the ratchet required for perfect forward secrecy is not forwarded on every message AFAIK.

          The benefits are better scalability in larger group chats and generally less key exchange hassles. But this comes at a significant downgrade in security.

          Basically MegOLM is only slightly better than OpenPGP / OTR or similar older generation e2ee systems.

          • src@lemmy.ml
            link
            fedilink
            arrow-up
            7
            ·
            1 year ago

            Not to downplay the security of OLM, but if MegOLM is as cryptographically sound as OpenPGP, then that’s already very secure.

            As long as my private key is safe, it would be computationally impossible for anyone to decrypt messages intended for me.

            • poVoq@slrpnk.net
              link
              fedilink
              arrow-up
              5
              ·
              1 year ago

              Yes, the problem with MegOLM however is that the private key is automatically exchanged between devices using the same account. I think 2-3 years ago there was an exploit allowing malicious home-server admins to add additional devices under their control and thus listen in on what appeared to be e2ee conversations to the user. This specific exploit was fixed, but the principal problems of potentially insecure exchange of private keys remains in MegOLM to this day.

              • src@lemmy.ml
                link
                fedilink
                English
                arrow-up
                1
                ·
                1 year ago

                How so?

                If my keys use elliptic curves, you couldn’t possibly brute force it.

      • ninchuka@lemmy.one
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        Olm is used to secure sending keys to sessions while megolm is used to encrypt messages in rooms