11 ms·
There are several projects moving toward this. Matrix is probably the most well-known project, but its crypto isn't actually operational yet, AFAIK. Tox works
by qwertyuiop924 10y ago
There are several projects moving toward this. Matrix is probably the most well-known project, but its crypto isn't actually operational yet, AFAIK.
Tox works now, but for all their talk of trying to be user-friendly, asking users to exchange long alphanumeric sequences inherently isn't.
Psyc, maybe?
- SamWhited 10y agoMatrix's protocol design is terrible for realtime messaging though (I'm sure there are other uses for which it's more adept); it's effectively a giant, inefficient, JSON datastore that syncs data everywhere. It's also pull based so it consumes battery like crazy. If that's what you need, fine, but for realtime messaging I'd argue that it's really unacceptable.
- qwertyuiop924 10y agoOkay. Tox, anybody?
- SamWhited 10y agoI haven't looked into Tox, but I'd be curious to find out the highlights. Really I've just never understood why people complain about XMPP; yes, it's XML which is ugly, but it's also the right tool for the job (easy to stream, very fast SAX-style parsers, event based, etc.), it certainly has its warts, I won't pretend it's perfect, but for the most part it's been around for 20+ years getting the kinks worked out. If we just keep creating new protocols because it's not perfect, we'll never get a more or less universally federated chat protocol like we have for more long form messages (email). I don't know anyone who would say email was the most wonderful modern thing in the world, but they still use it because it's good enough and was lucky enough to become ubiquitous. Similarly, I feel like people should just use XMPP even if they don't like it for that reason (although I'd still love to find out more about Tox, what it's strengths and weaknesses are, etc.)
- qwertyuiop924 10y agoTox is a fully distributed (not federated) p2p system. It supports 2-way messaging, multi-way chatrooms, voice and video calling (using Opus and VP8, respectively), file sharing, and desktop streaming, although not all features are supported by all clients. Although any client can implement any feature they like, so long as they can do it atop the actual network system, sticking to the Tox Client Standard is reccomended for maximum compatability. It implements perfect forward security, and uses libsodium for its crypto. There are a variety of clients, although most seem to use toxcore, the reference protocol implementation, under the hood. However, the spec is readily available, and there are independant implementations. Tox's goal is essentially to create a user-friendly Skype-like chat application, with not centralized server, and strong security by default. The downside is that your user ID on tox looks like this: 56A1ADE4B65B86BCD51CC73E2CD4E542179F47959FE3E0E21B4B0ACDADE51855D34D34D37CB5 And you have to give it to anybody who wants to connect to you on tox. There are services like ToxMe which can give you email-style shorthands, but as the Tox FAQ notes, this can leave you and your contacts vulnerable to an MITM attack, if the site you use is untrustworthy.
- SamWhited 10y ago> Tox is a fully distributed (not federated) p2p system Ah, see, you lost me there already. I'm sure it's clever and well made and all the rest of it, but fully distributed systems either almost never work, are very difficult to get setup and use properly, or end up just not being fully distributed systems (eg. early Skype and it's "supernodes" or whatever it called them, aka "servers", or Tor [which I love] and it's directory authorities which admittedly are elected, but even so are effectively just "servers", or Bittorrent which has either trackers, aka "servers", or hard-coded DHT bootstrap nodes, aka also "servers"). Distributed systems sound great in theory, but in the real world I just never think they're worth the effort, or you have to compromise them and add some centralized element anyways, at which point you might as well just use a federated system so that people who don't want to deal with all that can use a third party server and people who do want their own specially contained distributed node can just run their own server and client.
- 10y ago
- snvzz 10y agoI use and love Tox as it got some key fundamentals right. First, they have full forward secrecy. This is notably unlike Ring, which does not. Secondly, all communications are end to end encrypted and endpoint-verified, as there's no "legacy SIP support" (eg: SIP) or such nonsense and the DHT addresses your contacts gave you are actual ec25519 public keys.
- qwertyuiop924 10y ago>the DHT addresses your contacts gave you are actual ec25519 public keys. For nontechnical users, that's a massive downside. The first tox client to integrate ToxMe into itself will get very popular, very fast, provided it's got the right marketing.
- snvzz 10y ago> For nontechnical users, that's a massive downside. I disagree entirely. It's an upside. They get to benefit from PKI without even understanding anything. A person's address gets them the actual person. ToxMe requires trusting the ToxMe identity provider, and is an obvious point of attack. And we'd no doubt see fake addresses that resemble other peoples, and other such nonsense. There's minimising the inconvenience (with ideas like the QR code feature they have), and there's plain giving up security for minimal gained convenience, which we should just avoid.
- qwertyuiop924 10y ago>I disagree entirely. It's an upside. They get to benefit from PKI without even understanding anything. A person's address gets them the actual person. Yes, but which messaging service will the nontechnical user use? The one where they can exchange usernames, or even phone numbers, and it Just Works? Or the one where they have to give their friends a long alphanumeric sequence of gibberish? It doesn't benefit them if they don't use the protocol. >ToxMe requires trusting the ToxMe identity provider, and is an obvious point of attack. And we'd no doubt see fake addresses that resemble other peoples, and other such nonsense. Obviously. This is why it's a bad thing that nontechs will probably go in that direction, if they use Tox at all. >(with ideas like the QR code feature they have) I was hoping somebody had implement QR: that helps a lot, but I'm not sure if it's enough...
- Arathorn 10y agoAs per elsewhere on this thread, this isn't entirely fair. Matrix uses HTTP+JSON as its lowest common denominator, but the whole idea is for people to use WS+CBOR or capnproto or whatever whenever they need efficiency. In terms of "syncing data everywhere" being 'terrible for realtime messaging'... i'm not sure that holds water ;)
- nickik 10y agoMatrix actually has e2e crypto working right now. Its in beta but you can active it in the room settings.
- qwertyuiop924 10y agoReally? Finally. Thank god.
- Arathorn 10y agoturns out that implementing a new double ratchet implementation from scratch... and then adding in all the additional semantics required for Matrix's history-synced group chats etc... and then getting publicly audited... and getting it running on Web/iOS/Android... not to mention writing a formal spec for everything (both for the crypto, and the Matrix aspects of it), is a significant amount of time & work ;)
- qwertyuiop924 10y agoI'm not surprised, and I'm grateful for it. But it has been a long time coming, and it's been a major flaw in Matrix's offerings up to this point.
- Arathorn 10y agoE2E Crypto is very nearly operational. It's live (in beta) on the web on https://riot.im/app https://riot.im/app, and meanwhile the iOS & Android implementation PRs have (almost) landed on the develop branches of matrix-ios-sdk and matrix-android-sdk respectively. Our crypto audit is complete, and we're hoping to unveil it to the world in the next week or two.
- qwertyuiop924 10y agoGood to hear it!