P2P的缺点和信号防御

2021-01-31 17:22:01

不久前,我发布了具有离网功能的安全Messenger的综述。随后进行了一些交谈,这使我考虑了P2P协议的一些问题。

最近,勇敢地采用IPFS引起了很多关注。 IPFS本质上是一个分散的分布式Web。这个概念有很大的希望。但是,请看一下IPFS隐私文档。一些要强调的地方:

“节点宣布DHT功能必不可少的各种信息-包括其唯一的节点标识符(PeerID)和它们提供的数据的CID-因此,有关正在检索和/或重新提供哪些CID的信息公开可用。”

这些DHT查询是公开进行的。因此,第三方可能会监视此流量,以确定正在请求什么CID,何时以及由谁发出。”

“节点的唯一标识符本身就是公共的……您的PeerID仍然是节点的长期唯一标识符。请记住,可以在PeerID上进行DHT查找,特别是如果您的节点定期从同一位置(例如您的家)运行时,请找到您的IP地址…此外,对公共IPFS网络的长期监视可能会产生有关您的节点正在请求和/或重新提供的CID以及何时的信息。”

因此,在这种情况下,您已经进行交易以将有关您所请求内容的信息提供给特定站点,以将其提供给潜在的数百个不受信任的对等方,其中一些出于恶意目的可能会将其记录下来。更糟糕的是,您有一个持久的PeerID,可用于跟踪并绑定到IP地址,这是数据收集者的梦想。该PeerID结合DHT请求和您托管的事物的CID(内容ID)(暗示您过去查看过它们),可用于建立您现在所请求和最近所请求的图像。

从Scuttlebutt到GNU Jami,可以说类似。任何基于P2P运作的服务都可能会泄露您的IP,并将您的身份与IP(以及IP地址历史记录)相关联。在某些情况下,例如Jami,仅限于您添加的朋友;在其他方面,例如Scuttlebutt和IPFS,则可以向任何人公开。

P2P的优点是不可否认和深刻的,但是很少能有效解决隐私问题。我知道的是,Briar将所有流量路由到Tor上; Tor洋葱服务可以到达每个节点。

在联合模型中,每个客户端都连接到服务器,并且有许多服务器相互参与。 Matrix和Mastodon是联邦模型的示例。在这种情况下,只有一台服务器(您自己的家庭服务器)可以通过IP跟踪您。在联合模型中当然可以进行端到端加密,而Matrix支持这种加密。这确实可以使第三方(您使用的特定服务器)了解您的IP,但是这种知识可能会受到很大的限制。

这种方法的缺点是,如果您的特定家庭服务器出现故障,您将无法通信。真正去中心化的P2P解决方案没有这个问题-认为它们确实有一个相关的问题,那就是彼此通信的客户端必须同时在线才能传输消息,这对于移动设备而言可能是一个真正的挑战。

信号集中它有一个中央服务器场,如果它关闭了,您也将无法通信或选择任何其他服务器。在埃隆·马斯克(Elon Musk)提到它之后,我们最近发现它下降了。

Signal带来了加密和隐私功能,可以结识相处的人们,而不是相反。人们不必选择服务器,它可以自动识别使用Signal的联系人,它具有表情符号,附件,安全的语音和视频通话,并且(除了Musk事件之外)都可以正常工作。感觉就像并且曾经是人们习惯的钟声和口哨声的一种抛光,现代的体验。

我是Matrix(aka Element)的忠实粉丝,甚至运行自己的实例。它有巨大的希望。但事实并非如此。那里。然而。为什么我看到有关Matrix的信息?

Synapse是当前唯一可行的Matrix服务器,尚未准备就绪。我的Matrix实例托管一个人,我。 Synapse使用许多GB的RAM和10 + GB的磁盘空间。尽管进行了广泛的调整,但无济于事。造成OOM的原因不止一次。它无法托管在Raspberry Pi甚至是便宜的VPS之一上。

现在,如何选择Matrix实例呢?好吧,您可以告诉一个人使用matrix.org。但是由于Synapse的限制,去年它花了很大一部分时间无法与其他流行节点建立联盟。或者,您可以选择一个随机节点,但是当有人需要说“我的车坏了吗?”时,节点是否会出现?有些是在宿舍计算机上运行的,有些是由数据中心中的团队运行的,有些是由一个拥有EC2的人员运行的,您真的不知道。您的家庭服务器是否稳定且使用寿命长?很难说。

Matrix中尚不存在语音和视频通话。 Matrix有两种不兼容的视频呼叫方法(Jitsi和内置),两种方法都不能始终如一地工作,两种方法都难以管理,并且都面临NAT挑战。

Matrix很难在服务器上设置,因此存在matrix-docker-ansible-deploy。这样可以使它变得更好,但部署起来仍然非常困难,而且甚至还没有像“如何删除用户”或“让我缩小30GB数据库”之类的非常简单的东西。

在Matrix中,加密不是必需的。在最近的几个版本中,E2EE取得了显着改善,但是它仍然是可选的,特别是对于人们称为“群聊”(聊天室)的地方。信号始终被加密。总是。 (除非,我想除非您将其设置为Android上的SMS提供商)。您必须承担起验证加密状态的责任,而要使其成为使用生态系统的唯一方法。

同样,我爱MAtrix。我每天都使用它与Matrix,IRC,Slack和Discord频道进行互动。它有很多希望。但是,我可以依靠它来传达“我的车坏了,我被困”的信息吗?没有。

那其他一些选择呢?我在上面提到了Briar。太棒了,它的离线选项新颖而有前途。但是通常情况下,除非两个设备同时在线并且不能在iOS上运行(尽管两者都在运行),否则它不会传递消息。它还无法发送照片或进行语音或视频通话。

其中一些相同的限制也适用于大多数其他Signal替代方案。要么是加密可选,要么很难设置和使用。我最近提到了状态,它显示了很多希望,但没有语音或视频通话功能。 Scuttlebutt是一种出色的协议,具有非常困难的启动(冗长的过程,容易发现错误的酒吧,数GB的初始下载等),而且如上所述,其中许多泄漏IP地址。

加密所有内容,包括语音和视频通话,以及发送加密的照片和视频的功能 如果您要告诉某人,“将文字从Facebook和AT& T撤离很容易”,那么Signal是您必须指出的内容。 可能不会在两年后,但现在是。 不要让完美成为善良的敌人。 它可以在不损害可用性的情况下提高现状,这是目前为止所没有的。 我知道对Signal的所有非常合理的批评。 它们是真实的,这就是为什么令我兴奋的是,有这么多有希望的替代方案,我会积极使用其中一些。 让我们的技术人员使用,调试,贡献和传播替代方案。