How does using Matrix compare with using Signal, privacy-wise?
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?
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.
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.
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.
On the other hand, matrix stores your profile info, group membership, and ongoing conversation metadata in plaintext, some of them replicated across homeservers. In addition to metadata that matrix doesn't encrypt, they also do not encrypt some actual data like emoji reactions.
Edit: clarified that conversations are not in plaintext. My wording what confusing as hell sorry.
As I am not exactly sure what you are referring to.
In addition to metadata that matrix doesn’t encrypt
I'm assuming that this statement is referring to what was said here:
On the other hand, matrix stores your profile info, group membership, and ongoing conversation in plaintext, some of them replicated across homeservers
Matrix is less secure than Signal. While Signal and Matrix use the same encryption, Matrix doesn't encrypt everything. This includes: message sender, message timestamps, reactions, members, read receipts, etc. All of this data can be accessed by the homeserver admin. On Matrix, you should assume that only the message content itself (text and attachments) is encrypted. Your account data is also not protected, you have to trust your homeserver admin. Signal is designed not to trust the server. It's important to consider your threat model. Matrix doesn't require a phone number, which makes it better for anonymity, but Signal has better security.
There are several different questions here that run the gamut of security related questions, not just privacy.
If you want a lay persons answer, the gist of it is both are secure enough for the vast majority of situations. If you don't have nation states after you, use what is most convenient for your primary use case.
If you are worried about nation states... You need to do your own technical analysis, and if you are incapable of doing so... You should not be trusting random idiots on the web.
That said... The biggest difference is that signal is more secure by default, forcing end to end encryption on all communications but you have to trust a closed source private organization. Arguable the signal protocol is probably provably more secure with perfect forward secrecy (the double ratchet algorithm is legit).
Matrix has a significantly larger public surface area for non nation state level actors to observe and Messaging is arguably slower... But you have much more freedom with how much trust you give entities. Unfortunately, more of the security is up to you and your contacts which makes it less secure. (We on average are terrible at security). Matrix is probably also more resilient as a network.
Finally, Signal does not provide any anonymity whatsoever. I'm fact, it directly ties your messaging to other highly personal information. (But nobody other than you and the other participants can read any of the messages). Provide you know your contacts in real life, you can prove message authorship (you know for a fact that the message was written on their device and nobody other than the intended recipients read it).
Matrix does provide anonymous access. If this is something you need... This is the answer.
Not if they're outside the country's jurisdiction. The point is that a company that has a business entity in the UK is required to follow UK laws. This is why signal is shutting down in the UK.
A disorganisation run by volunteers in Japan can ignore the UK's silly backdoor encryption laws; the UK has no legal authority over their servers.
Hm, I have trouble trusting any information on that site for a number of reasons:
They don't seem to grasp the concept of a federated service, and how that plays a role with "Matrix". As stated on this page, under "Riot/Element":
There have been no code audit and an independent security analysis, and hence we must take Element’s word. No one can mark his own homework.
Matrix has had at least one embarrassing security breach, indicating that their infrastructure security is lacking.
They seem to be referring to "Matrix", and "Element" interchangeably which doesn't make any logical sense as "Matrix" describes the underlying federation protocol, and "Element" one of many clients that exist. This line of thinking can also be seen in the comparison table; the column title is "Element/Riot", and yet much of the data contained in the table is referring to things related to the protocol.
Furthermore, it should also be noted that the quote in point #1 is complete misinformation, and blatantly false (it should also be noted that this information is repeated elswhere, including the comparison table). Firstly,
There have been no code audit and an independent security analysis, and hence we must take Element’s word. No one can mark his own homework.
Ignoring that they say "Element", and, instead, assuming that they intended to say "Matrix", from what I can see, there are at least two independent audits that have been done -- their respective information can be found on the blog posts here, and here.
and secondly,
Matrix has had at least one embarrassing security breach, indicating that their infrastructure security is lacking.
Ignoring the fact that this statement makes no logical sense since "Matrix" is a protocol, and therefore the idea of a "security" breach does not even apply, I'm going to instead assume that they are referring to the home-server "matrix.org". The security breach I'm assuming that they are referring to is described in the blog post here:
TL;DR: An attacker gained access to the servers hosting Matrix.org. The intruder had access to the production databases, potentially giving them access to unencrypted message data, password hashes and access tokens.
I'm not entirely sure what the author was insinuating, since this is just something that affected the matrix.org homeserver and no one else, and has absolutely nothing to do with the security of the protocol on the whole. The only important thing with this is whether or not the retrived unencrypted data (ignoring the messages) has any affect of compromising the security of the user -- this author, unfortunately, makes no effort to explore this idea, and just moves on.
There are plenty of other discontinuties that can be picked apart from this person's site, but these were the most immediately glaring.
Not really. They are moving away from requiring the phone number as a user identifier during normal usage, but they have shown no indication of moving away from phone numbers as a sign up requirement.
for decentralyzed private and anonymous messaging, try Session. its like cross between matrix and signal. it is supposed to hide metadata, not just message content. #notsponsored
Signal is a smartphone app, so you can trust it as much as you trust smartphones. :) It is more reliable and user friendly however, which is important too.