Cleanup 2.0 instant messenger page #1836

Merged
dngray merged 12 commits from pr-p2p_cleanup into master 2020-04-19 05:51:35 +00:00
dngray commented 2020-04-18 04:40:34 +00:00 (Migrated from github.com)
Closes: https://github.com/privacytoolsIO/privacytools.io/issues/1835 Some interesting articles about it (just for future reference, not linked on the site). - https://decrypt.co/25629/status-wants-to-be-the-worlds-most-private-instant-messaging-app - https://decrypt.co/24767/blockchain-privacy-app-waku-whisper https://deploy-preview-1836--privacytools-io.netlify.app/software/real-time-communication/
netlify[bot] commented 2020-04-18 04:42:58 +00:00 (Migrated from github.com)

Deploy preview for privacytools-io ready!

Built with commit b20cb664c5

https://deploy-preview-1836--privacytools-io.netlify.app

Deploy preview for *privacytools-io* ready! Built with commit b20cb664c57e35cd47a9b52970292238e9dd1726 https://deploy-preview-1836--privacytools-io.netlify.app
jonah reviewed 2020-04-18 04:50:04 +00:00
jonah left a comment

Thanks

Thanks
@ -148,0 +116,4 @@
<li>Allows you to choose who to trust your data with by choosing between multiple "public" servers.</li>
<li>Often allows for third party clients which can provide a more native, customized, or accessible experience.</li>
<li>Generally a less juicy target for governments wanting <a href="#exploiting-centralized-networks">backdoor access to everything</a> as the trust is decentralized. The server may be hosted independently from the organization developing the software.</li>
<li>Server software can be verified that it matches public source code, assuming you have access to the server or you trust the person who does (e.g., a family member)</li>

I wonder if this should be alphabetized.

I wonder if this should be alphabetized.
dngray (Migrated from github.com) reviewed 2020-04-18 05:10:27 +00:00
@ -148,0 +116,4 @@
<li>Allows you to choose who to trust your data with by choosing between multiple "public" servers.</li>
<li>Often allows for third party clients which can provide a more native, customized, or accessible experience.</li>
<li>Generally a less juicy target for governments wanting <a href="#exploiting-centralized-networks">backdoor access to everything</a> as the trust is decentralized. The server may be hosted independently from the organization developing the software.</li>
<li>Server software can be verified that it matches public source code, assuming you have access to the server or you trust the person who does (e.g., a family member)</li>
dngray (Migrated from github.com) commented 2020-04-18 05:10:27 +00:00
  • Users advanced enough to want to use another matrix client can find it themselves.
  • Kontalk, a fork of XMPP, yay more fragmentation. Does anyone actually use this?
  • XMPP, thinking of removing this when https://github.com/vector-im/riot-web/issues/6779 finally closes. We should in future not recommend clients/protocols that do not have E2EE on by default for private chat.
- Users advanced enough to want to use another matrix client can find it themselves. - Kontalk, a fork of XMPP, yay more fragmentation. Does anyone actually use this? - XMPP, thinking of removing this when https://github.com/vector-im/riot-web/issues/6779 finally closes. We should in future not recommend clients/protocols that do not have E2EE on by default for private chat.
dngray (Migrated from github.com) reviewed 2020-04-18 05:29:32 +00:00
@ -148,0 +116,4 @@
<li>Allows you to choose who to trust your data with by choosing between multiple "public" servers.</li>
<li>Often allows for third party clients which can provide a more native, customized, or accessible experience.</li>
<li>Generally a less juicy target for governments wanting <a href="#exploiting-centralized-networks">backdoor access to everything</a> as the trust is decentralized. The server may be hosted independently from the organization developing the software.</li>
<li>Server software can be verified that it matches public source code, assuming you have access to the server or you trust the person who does (e.g., a family member)</li>
dngray (Migrated from github.com) commented 2020-04-18 05:29:31 +00:00

Taking another look at Kontalk, it looks like it requires phone numbers, and additionally uses openpgp for group chat so that would indicate no PFS.

Also looks like the encryption is some custom thing not documented. They were looking at doing OpenPGP, but now that's looking like OMEMO.

Taking another look at Kontalk, it looks like it [requires phone numbers](https://github.com/kontalk/specs/blob/master/register.md), and additionally uses [openpgp for group chat](https://github.com/kontalk/specs/blob/master/group.md#encryption) so that would indicate no PFS. Also looks like the encryption is some [custom thing](https://github.com/kontalk/specs/blob/master/encryption.md) not documented. They were [looking at doing OpenPGP](https://github.com/kontalk/androidclient/issues/633#issuecomment-469674332), but now that's [looking like OMEMO](https://github.com/kontalk/androidclient/issues/132).
dngray (Migrated from github.com) reviewed 2020-04-18 05:34:15 +00:00
@ -148,0 +116,4 @@
<li>Allows you to choose who to trust your data with by choosing between multiple "public" servers.</li>
<li>Often allows for third party clients which can provide a more native, customized, or accessible experience.</li>
<li>Generally a less juicy target for governments wanting <a href="#exploiting-centralized-networks">backdoor access to everything</a> as the trust is decentralized. The server may be hosted independently from the organization developing the software.</li>
<li>Server software can be verified that it matches public source code, assuming you have access to the server or you trust the person who does (e.g., a family member)</li>
dngray (Migrated from github.com) commented 2020-04-18 05:34:15 +00:00

Removing XMPP recommendations, as all future clients must support E2EE by default. This is something we've discussed in the past thoroughly.

While Matrix does not at this moment, https://github.com/vector-im/riot-web/issues/6779#issuecomment-614822531 is imminent, so we make an exception for that.

Removing XMPP recommendations, as all future clients must support E2EE by default. This is something we've discussed in the past thoroughly. While Matrix does not *at this moment*, https://github.com/vector-im/riot-web/issues/6779#issuecomment-614822531 is imminent, so we make an exception for that.
nitrohorse (Migrated from github.com) reviewed 2020-04-18 07:41:45 +00:00
Mikaela (Migrated from github.com) reviewed 2020-04-18 08:41:46 +00:00
Mikaela (Migrated from github.com) left a comment

I disagree on delisting of XMPP as I understand Conversations to still fullfil the criteria.

In general I see XMPP as a bit complicated case as the specification doesn't require E2EE and will not be doing that as E2EE is not required for everything that XMPP does. I guess they could be asked if it could be required for client compliance.

I disagree on delisting of XMPP as I understand Conversations to still fullfil the criteria. In general I see XMPP as a bit complicated case as the specification doesn't require E2EE and will not be doing that as E2EE is not required for everything that XMPP does. I guess they could be asked if it could be required for client compliance.
@ -204,2 +178,2 @@
<li><a href="https://bitmessage.org">Bitmessage</a> is a decentralized, encrypted, peer-to-peer, trustless communications protocol that can be used by one person to send encrypted messages to another person, or to multiple subscribers.</li>
</ul>
<div class="container">
<div class="row">
Mikaela (Migrated from github.com) commented 2020-04-18 08:39:37 +00:00

Is anyone using it?

Is anyone using it?
Mikaela (Migrated from github.com) commented 2020-04-18 08:38:25 +00:00

I think delisting XMPP from federated protocols is a disservice.

I think delisting XMPP from federated protocols is a disservice.
Mikaela (Migrated from github.com) commented 2020-04-18 08:38:56 +00:00

Has OMEMO enabled by default, but I am not willing to clear data on my setup to confirm.

Has OMEMO enabled by default, but I am not willing to clear data on my setup to confirm.
dngray (Migrated from github.com) reviewed 2020-04-18 08:43:24 +00:00
@ -204,2 +178,2 @@
<li><a href="https://bitmessage.org">Bitmessage</a> is a decentralized, encrypted, peer-to-peer, trustless communications protocol that can be used by one person to send encrypted messages to another person, or to multiple subscribers.</li>
</ul>
<div class="container">
<div class="row">
dngray (Migrated from github.com) commented 2020-04-18 08:43:24 +00:00

The reason I left retroshare was because it appears to have continuous development. They haven't had a release in a while.

To be honest it looks more like a collaboration platform. It could very well be removed from this particular page. Maybe this would be better moved to another section in another PR?

The reason I left retroshare was because it [appears to have continuous development](https://github.com/RetroShare/RetroShare/commits/master). They haven't had a [release in a while](https://github.com/RetroShare/RetroShare/releases). To be honest it looks more like a collaboration platform. It could very well be removed from this particular page. Maybe this would be better moved to another section in another PR?
dngray (Migrated from github.com) reviewed 2020-04-18 08:50:26 +00:00
dngray (Migrated from github.com) commented 2020-04-18 08:50:26 +00:00

The issue is one client that does this isn't really enough.

We want to in the future make a criteria for the instant messenger page that all recommendations must have E2EE on by default for private chat. Allowing XMPP to remain means we can never do that.

The issue is one client that does this isn't really enough. We want to in the future make a criteria for the instant messenger page that all recommendations must have E2EE on by default for private chat. Allowing XMPP to remain means we can never do that.
dngray (Migrated from github.com) reviewed 2020-04-18 08:56:17 +00:00
dngray (Migrated from github.com) commented 2020-04-18 08:56:16 +00:00

It does hurt to de-list things we once recommended, really we owe it to our readers to make the best and most succinct choices. I think we must ensure that we keep in mind with our recommendations:

  • security of the product, eg auditing, documentation of crypto etc
  • user experience, (nobody is going to use air-gapped openpgp and pasting text files into pastebins, even though that would be "most secure")
  • consistency, typically a criteria helps with this.
It does hurt to de-list things we once recommended, really we owe it to our readers to make the best and most succinct choices. I think we must ensure that we keep in mind with our recommendations: - security of the product, eg auditing, documentation of crypto etc - user experience, (nobody is going to use air-gapped openpgp and pasting text files into pastebins, even though that would be "most secure") - consistency, typically a criteria helps with this.
dngray (Migrated from github.com) reviewed 2020-04-18 10:21:23 +00:00
@ -204,2 +178,2 @@
<li><a href="https://bitmessage.org">Bitmessage</a> is a decentralized, encrypted, peer-to-peer, trustless communications protocol that can be used by one person to send encrypted messages to another person, or to multiple subscribers.</li>
</ul>
<div class="container">
<div class="row">
dngray (Migrated from github.com) commented 2020-04-18 10:21:23 +00:00

Retroshare is still listed as a self-contained-networks.html#L65 as it is appropriately a self contained network of its own, instant-messaging seems like it always a secondary functionality.

Retroshare is still listed as a [self-contained-networks.html#L65](https://github.com/privacytoolsIO/privacytools.io/blob/master/_includes/sections/self-contained-networks.html#L65) as it is appropriately a self contained network of its own, instant-messaging seems like it always a secondary functionality.
muppeth (Migrated from github.com) reviewed 2020-04-18 18:35:02 +00:00
@ -148,0 +116,4 @@
<li>Allows you to choose who to trust your data with by choosing between multiple "public" servers.</li>
<li>Often allows for third party clients which can provide a more native, customized, or accessible experience.</li>
<li>Generally a less juicy target for governments wanting <a href="#exploiting-centralized-networks">backdoor access to everything</a> as the trust is decentralized. The server may be hosted independently from the organization developing the software.</li>
<li>Server software can be verified that it matches public source code, assuming you have access to the server or you trust the person who does (e.g., a family member)</li>
muppeth (Migrated from github.com) commented 2020-04-18 18:35:02 +00:00

Wait, so you will delist xmpp (a protocol) because not all clients have it enabled by default, but leave matrix because atm pretty much only one client has e2ee and all the rest does not even have a support for it not to mention having it by default?

At the same time keeping and promoting matrix with all it's metadata stored indefinatelly in the database?

Wait, so you will delist xmpp (a protocol) because not all clients have it enabled by default, but leave matrix because atm pretty much only one client has e2ee and all the rest does not even have a support for it not to mention having it by default? At the same time keeping and promoting matrix with all it's metadata stored indefinatelly in the database?
muppeth (Migrated from github.com) reviewed 2020-04-18 18:50:53 +00:00
muppeth (Migrated from github.com) commented 2020-04-18 18:50:52 +00:00

@dngray But XMPP is a protocol and you are talking about client feature. If you are listing only clients, then of course xmpp should not be there as its a protocol, but otherwise, why not. To my knowledge there is more xmpp clients supporting OMEMO then for example matrix clients with e2ee support.

@dngray But XMPP is a protocol and you are talking about client feature. If you are listing only clients, then of course xmpp should not be there as its a protocol, but otherwise, why not. To my knowledge there is more xmpp clients supporting OMEMO then for example matrix clients with e2ee support.
dngray (Migrated from github.com) reviewed 2020-04-19 03:36:00 +00:00
dngray (Migrated from github.com) commented 2020-04-19 03:36:00 +00:00

XMPP is a protocol and you are talking about client feature.

I am referring to the ecosystem of specifications. The issue is that we don't just recommend a protocol (that would be like recommending http, and not a specific web browser).

To put it more simply:

  • a client that talks the XMPP protocol
  • if we're not recommending those clients, then we're not recommending the protocol.

To my knowledge there is more xmpp clients supporting OMEMO then for example matrix clients with e2ee support.

This may be the case, the issue however is that not all streams of transmission are actually E2EE (eg voice/video) and we're looking at implementing a rule (we have been for a while) that all instant messenger recommendations must do E2EE by default for private communications. We wanted to avoid the footgun of "oops that particular action was not E2EE, sorry you didn't know about that" to our readers.

Incidentally this PR only recommends Riot, currently that is the most fully featured. Fortunately for any other client (which lets face it is an advanced user at this point) can make use of pantalaimon. (We don't mention that though).

> XMPP is a protocol and you are talking about client feature. I am referring to the ecosystem of specifications. The issue is that we don't just recommend a protocol (that would be like recommending http, and not a specific web browser). To put it more simply: - a client that talks the XMPP protocol - if we're not recommending those clients, then we're not recommending the protocol. > To my knowledge there is more xmpp clients supporting OMEMO then for example matrix clients with e2ee support. This may be the case, the issue however is that not all streams of transmission are actually E2EE (eg voice/video) and we're looking at implementing a rule (we have been for a while) that all instant messenger recommendations *must* do E2EE by default for private communications. We wanted to avoid the footgun of "oops that particular action was not E2EE, sorry you didn't know about that" to our readers. Incidentally this PR only recommends Riot, currently that is the most fully featured. Fortunately for any other client (which lets face it is an advanced user at this point) can make use of [pantalaimon](https://github.com/matrix-org/pantalaimon). (We don't mention that though).
danarel (Migrated from github.com) reviewed 2020-04-19 05:09:47 +00:00
danarel (Migrated from github.com) left a comment

Looks good!

Looks good!
jonah approved these changes 2020-04-19 05:39:18 +00:00
jonah left a comment

okay, I think this looks good

okay, I think this looks good
dngray (Migrated from github.com) reviewed 2020-04-19 05:40:37 +00:00
@ -148,0 +116,4 @@
<li>Allows you to choose who to trust your data with by choosing between multiple "public" servers.</li>
<li>Often allows for third party clients which can provide a more native, customized, or accessible experience.</li>
<li>Generally a less juicy target for governments wanting <a href="#exploiting-centralized-networks">backdoor access to everything</a> as the trust is decentralized. The server may be hosted independently from the organization developing the software.</li>
<li>Server software can be verified that it matches public source code, assuming you have access to the server or you trust the person who does (e.g., a family member)</li>
dngray (Migrated from github.com) commented 2020-04-19 05:40:37 +00:00

Wait, so you will delist xmpp (a protocol) because not all clients have it enabled by default, but leave matrix because atm pretty much only one client has e2ee and all the rest does not even have a support for it not to mention having it by default?

We are referring to Riot specifically because it will very shortly have E2EE on by default.

At the same time keeping and promoting matrix with all it's metadata stored indefinatelly in the database?

Individual XMPP servers also store metadata (or can). High security environments where that is an issue will operate non-federating Matrix and XMPP servers.

> Wait, so you will delist xmpp (a protocol) because not all clients have it enabled by default, but leave matrix because atm pretty much only one client has e2ee and all the rest does not even have a support for it not to mention having it by default? We are referring to Riot specifically because it will very shortly have E2EE on by default. > At the same time keeping and promoting matrix with all it's metadata stored indefinatelly in the database? Individual [XMPP servers also store metadata](https://infosec-handbook.eu/blog/xmpp-aitm/) (or can). High security environments where that is an issue will operate non-federating Matrix and XMPP servers.
nitrohorse (Migrated from github.com) approved these changes 2020-04-19 05:50:28 +00:00
muppeth (Migrated from github.com) reviewed 2020-04-19 20:08:00 +00:00
muppeth (Migrated from github.com) commented 2020-04-19 20:07:59 +00:00

Does Riot do e2ee by default. Does it do e2ee for voip too?

Does Riot do e2ee by default. Does it do e2ee for voip too?
muppeth (Migrated from github.com) reviewed 2020-04-19 20:10:12 +00:00
@ -148,0 +116,4 @@
<li>Allows you to choose who to trust your data with by choosing between multiple "public" servers.</li>
<li>Often allows for third party clients which can provide a more native, customized, or accessible experience.</li>
<li>Generally a less juicy target for governments wanting <a href="#exploiting-centralized-networks">backdoor access to everything</a> as the trust is decentralized. The server may be hosted independently from the organization developing the software.</li>
<li>Server software can be verified that it matches public source code, assuming you have access to the server or you trust the person who does (e.g., a family member)</li>
muppeth (Migrated from github.com) commented 2020-04-19 20:10:12 +00:00

Individual XMPP servers also store metadata (or can).

Though on matrix they just DO regardless of whether you want it or not. And while others do it in logs, matrix does it in database.

We are referring to Riot specifically because it will very shortly have E2EE on by default.

Conversations already does have it on by default so not sure whats the logic behind it.

> Individual XMPP servers also store metadata (or can). Though on matrix they just DO regardless of whether you want it or not. And while others do it in logs, matrix does it in database. >We are referring to Riot specifically because it will very shortly have E2EE on by default. Conversations already does have it on by default so not sure whats the logic behind it.
dngray (Migrated from github.com) reviewed 2020-04-20 07:20:40 +00:00
dngray (Migrated from github.com) commented 2020-04-20 07:20:40 +00:00

Does Riot do e2ee by default. Does it do e2ee for voip too?

Yes, it does for 1:1 VOIP.

Not for group meetings but nobody has that at the moment. We can't have a requirement for something that doesn't exist. Jitsi is working on that though https://jitsi.org/blog/e2ee/ (group meetings in Riot use Jitsi).

> Does Riot do e2ee by default. Does it do e2ee for voip too? Yes, it does for 1:1 VOIP. Not for group meetings but nobody has that at the moment. We can't have a requirement for something that doesn't exist. Jitsi is working on that though https://jitsi.org/blog/e2ee/ (group meetings in Riot use Jitsi).
dngray (Migrated from github.com) reviewed 2020-04-21 16:41:44 +00:00
@ -148,0 +116,4 @@
<li>Allows you to choose who to trust your data with by choosing between multiple "public" servers.</li>
<li>Often allows for third party clients which can provide a more native, customized, or accessible experience.</li>
<li>Generally a less juicy target for governments wanting <a href="#exploiting-centralized-networks">backdoor access to everything</a> as the trust is decentralized. The server may be hosted independently from the organization developing the software.</li>
<li>Server software can be verified that it matches public source code, assuming you have access to the server or you trust the person who does (e.g., a family member)</li>
dngray (Migrated from github.com) commented 2020-04-21 16:41:44 +00:00

Though on matrix they just DO regardless of whether you want it or not. And while others do it in logs, matrix does it in database.

The logic is if something can, then we assume it does. Particularly in a federated network. Better to assume that it does than pretend like it might not.

Unless you have a non-federating server there's really no way to know what remote servers do.

Conversations already does have it on by default so not sure whats the logic behind it.

Yes it does, but the issue is a lack of other high quality clients like it for other platforms.

Future discussion about XMPP should be in our issue https://github.com/privacytoolsIO/privacytools.io/issues/1838

> Though on matrix they just DO regardless of whether you want it or not. And while others do it in logs, matrix does it in database. The logic is if something can, then we assume it does. Particularly in a federated network. Better to assume that it does than pretend like it might not. Unless you have a non-federating server there's really no way to know what remote servers do. > Conversations already does have it on by default so not sure whats the logic behind it. Yes it does, but the issue is a lack of other high quality clients like it for other platforms. Future discussion about XMPP should be in our issue https://github.com/privacytoolsIO/privacytools.io/issues/1838
5a384507-18ce-417c-bb55-d4dfcc8883fe commented 2020-04-23 12:55:23 +00:00 (Migrated from github.com)

No Session, then?

No Session, then?
dngray commented 2020-04-24 07:18:15 +00:00 (Migrated from github.com)

No Session, then?

Out of scope for this issue see https://github.com/privacytoolsIO/privacytools.io/issues/1678

> No Session, then? Out of scope for this issue see https://github.com/privacytoolsIO/privacytools.io/issues/1678
This repo is archived. You cannot comment on pull requests.
No reviewers
No Milestone
No Assignees
1 Participants
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: privacyguides/privacytools.io#1836
No description provided.