I’m the Never Ending Pie Throwing Robot, aka NEPTR.

Linux enthusiast, programmer, and privacy advocate. I’m nearly done with an IT Security degree.

TL;DR I am a nerd.

  • 0 Posts
  • 81 Comments
Joined 1 year ago
cake
Cake day: November 20th, 2024

help-circle

  • Where did you read that Signal uses MLS? I could not find any claims of using MLS on Signal’s specs page or their GitHub repo. Also MLS doesn’t mean anything on its own, see Soatok’s blog on MLS.

    Soatok is currently in the process of writing a blog post about another vulneribilty they found in Matrix’s encryption, and with Matrix’s history of numerous vulnerabilities, I would stay away from that shit. No matter how “good” the algorithm is in theory, it is all about implementation. Matrix also has very brittle encryption, often times many messages will become unrecoverable, which is terrible UX.

    You’d be better off just selfhosting XMPP+OMEMO, with the caveat that it is also flawed and leaks plenty of metadata.

    The best alternatives to Signal (but not Discord) are SimpleX and Briar. Both are significantly better than XMPP/Matrix for privacy and security.





  • From the OMEMO XEP specification under section 2.1 “Threat Model” https://xmpp.org/extensions/xep-0384.html#reqs-threat-model

    The OMEMO protocol does not protect against attackers who rely on metadata and traffic analysis.

    Off-topic, I would also like to add that the spec says " It has been demonstrated, that OMEMO provides only weak forward secrecy (it protects the session key only once both parties complete the key exchange).", citing https://www.cypherpunks.ca/~iang/pubs/dakez-popets18.pdf

    The specification only seems to say that message content are encrypted, making no mention of encrypting any other data than message content. Look under sections 1.2 and 4.4 to see what I mean about there being no mention encrypting other data (eg. recipients and room names). This means that sender/receiver are (most likely) not encrypted. I don’t think (though I don’t know for sure) that room names are encrypted either.

    What happens if you communicate/participate in an encrypted chat/user on another server? Could the server owner now see the other unencrypted data and metadata?

    Also, just because you self host it doesn’t make the unencrypted (meta)data any less dangerous. That just makes your server the point of failure. By your logic, why encrypt at all? It all lives on your server, it is only a problem if someone has access to your server. Networking is encrypted with TLS anyways, so why bother. /s



  • OMEMO leaks plenty of metadata; most things other than message contents are left unencrypted. Many of the mature XMPP use different OMEMO versions (which can be hard to tell when the client doesn’t clearly state the XEP versions, like Snikket). I spent 40 min scouring Snikkets website and source repo without any clear way to determine what version of OMEMO they bundle. I said OMEMO+XMPP because no matter how secure your protocol is, the actual implementation by your largest userbases determine real-world security.

    And lastly, just because “serious institutions and governments” use it doesn’t make it more secure. Many European governments use Matrix, and that has even worse security, breaks forward secrecy, doesn’t encrypt basically anything other than message content, etc. Many governments have critical systems that run unpatched Win 7 or older. My point is that security is independent of adoption.


  • Did that fix any of the underlining issues with OMEMO use across XMPP clients, such as odd/opaque choices by the OMEMO maintainer, or the fragmentation of OMEMO versions used by clients (most being very out-of-date)?

    Let me be clear: I am NOT anti-XMPP (or even OMEMO). I would love to see it succeed because I much prefer it over Matrix and other alternatives. My problem isn’t with the technology, just the implementation.








  • You say “all the privacy settings on”, but what does that mean. I assume FFP but probably not RFP. I also assume it keeps JS JIT enabled which is a massive attack surface. I am not going to get into more detail but if people are looking for a more security/privacy focused Firefox fork, use Librewolf. If all you are looking for is Firefox with the privacy settings on, just use Firefox. Even with Librewolf, you can (mostly) replicate the experience by using Phoenix or Arkenfox with vanilla Firefox. I recommend everyone reconsider using a fork that is amounts to a few preinstalled extensions and just some (good) default settings. Using a fork just introduces a new party into the mix, which at best slows down how fast you get (security) updates from upstream, and at worst leads to supply chain attacks.

    That being said, I keep seeing people talk about how much they like Waterfox. I tried it and figured it wasn’t for me. That isn’t me saying that it isn’t the right choice for others. I would love to better understand what people enjoy about Waterfox over/instead of Firefox/Librewolf/Zen/etc., pros/cons and the like.




  • I would prefer webapps to native if there was a protocol to fully load the page and disable network traffic for apps that work fully offline. It is more secure to run an app in the browser because off the layers of isolation in modern browsers. Native apps can access all sorts of information and system resources, which could be used to compromise the host OS.