第一个没有任何形式的用户识别码的消息平台——simplex-chat

作者:Sec-Labs | 发布时间:

软件介绍

SimpleX--第一个没有任何形式的用户标识的信息平台--100%私密的设计!

  • 🖲 保护您的消息和元数据 - 您与谁以及何时交谈。
  • 🔐 双棘轮端到端加密,带有额外的加密层。
  • 📱 适用于 Android( Google Play 、 APK )和 iOS 。
  • 🚀  iOS 版 TestFlight 预览版 1-2 周前带有新功能 仅限 10,000 名用户 !
  • 🖥 在 Linux、MacOS、Windows 上可用作终端(控制台)应用程序/CLI。

软件地址

https://github.com/simplex-chat/simplex-chat

目录

  • 为什么隐私很重要
  • SimpleX 的隐私和安全方法
    • 完全隐私
    • 防止垃圾邮件和滥用
    • 您数据的所有权和安全性
    • 用户拥有 SimpleX 网络
  • FAQ常见问题汇总
  • 新闻和更新
  • 建立私人连接
  • 快速安装终端应用程序
  • SimpleX 平台设计
  • 隐私:技术细节和限制
  • 对于开发人员
  • 路线图
  • 免责声明,许可

为什么隐私很重要

每个人都应该关心他们通信的隐私和安全——即使没有什么可隐瞒的,无害的谈话也会让你处于危险之中。

最令人震惊的故事之一是 Mohamedou Ould Salahi ,他在回忆录中写道,并在毛里塔尼亚电影中展示。 他未经审判就被关押在关塔那摩营地,并在与阿富汗的亲戚打了电话后在那里遭受了 15 年的酷刑,被怀疑参与了 9/11 袭击,尽管他在 10 年前曾在德国生活过 10 年,攻击使用端到端加密信使是不够的,我们都应该使用保护我们个人网络隐私的信使——我们与谁联系。

SimpleX 的隐私和安全方法

您的身份、个人资料、联系人和元数据的完整隐私

与任何其他现有消息传递平台不同,SimpleX 没有分配给用户的标识符 - 甚至没有随机数。 这可以保护您与谁通信的隐私,将其隐藏在 SimpleX 平台服务器和任何观察者之外。 阅读更多 。

防止垃圾邮件和滥用的最佳保护

由于您在 SimpleX 平台上没有标识符,除非您共享一次性邀请链接或可选的临时用户地址,否则无法联系到您。 阅读更多 。

数据的完全所有权、控制权和安全性

SimpleX 将所有用户数据存储在客户端设备上,消息仅在 SimpleX 中继服务器上临时保存,直到收到。 阅读更多 。

用户拥有 SimpleX 网络

您可以将 SimpleX 与您自己的服务器一起使用,并且仍然可以使用在应用程序中预配置的服务器或任何其他 SimpleX 服务器与人们进行通信。 阅读更多 。

FAQ常见问题汇总

  1. SimpleX 如何在没有任何用户标识符的情况下传递消息? 请参阅 v2 发布公告 ,解释 SimpleX 的工作原理。
  2. 为什么我不应该只使用 Signal? Signal 是一个集中式平台,它使用电话号码来识别其用户及其联系人。 这意味着,虽然 Signal 上的消息内容受到强大的端到端加密的保护,但 Signal 可以看到大量元数据 - 您与谁交谈以及何时交谈。
  3. 它与同样不需要用户身份的 Matrix、Session、Ricochet、Cwtch 等有何不同? 尽管这些平台不需要 真实身份 ,但它们确实依赖匿名用户身份来传递消息——例如,它可以是身份密钥或随机数。 使用持久的用户身份,即使是匿名的,也会产生用户的连接图被观察者和/或服务提供者知道的风险,并且可能导致一些用户去匿名化。 如果使用相同的用户配置文件通过 SimpleX 以外的任何信使连接到两个不同的人,这两个人可以确认他们是否连接到同一个人 - 他们将在消息中使用相同的用户标识符。 使用 SimpleX,您与不同联系人的对话之间没有共同的元数据——这是其他消息传递平台所没有的质量。

新闻和更新

选定的更新:

2022 年 8 月 8 日。v3.1:秘密聊天组、通过 Tor 访问、减少电池和流量使用、高级网络设置等。

2022 年 7 月 11 日。v3.0:iOS 即时推送通知、e2e 加密 WebRTC 音频/视频通话、聊天数据库导出/导入、隐私和性能改进

2022 年 5 月 11 日。 v2.0 发布 - 在移动应用中发送图像和文件

2022 年 3 月 8 日发布适用于 iOS 和 Android 的移动应用程序

2022 年 1 月 12 日,SimpleX v1 发布:唯一没有用户身份的消息传递和应用平台

所有更新

建立私人连接

您需要共享链接或扫描 QR 码(亲自或在视频通话期间)以建立连接并开始发送消息。

您共享链接的渠道不一定是安全的 - 您可以确认谁向您发送了消息并且您的 SimpleX 连接已建立就足够了。

建立私人连接

 

⚡ 快速安装终端应用程序

curl -o- https://raw.githubusercontent.com/simplex-chat/simplex-chat/stable/install.sh | bash

安装聊天客户端后,只需运行 simplex-chat从您的终端。

单纯聊天

阅读有关 安装和使用终端应用程序的 。

SimpleX 平台设计

SimpleX 是一个具有独特网络拓扑的客户端-服务器网络,它使用冗余的一次性消息中继节点通过单向(单工)消息队列异步传递消息,从而提供接收者和发送者的匿名性。

与 P2P 网络不同,所有消息都通过一个或多个服务器节点传递,甚至不需要持久性。 事实上,当前的 SMP 服务器实现 使用内存中的消息存储,只保留队列记录。 SimpleX 提供比 P2P 设计更好的元数据保护,因为没有使用全局参与者标识符来传递消息,并且避免 了 P2P 网络的问题 。

与联邦网络不同,服务器节点 没有用户记录, 彼此 之间不通信, 并且 不存储消息 传递给接收者后 无法发现参与 SimpleX 网络的服务器的完整列表。 这种设计避免了所有联合网络都具有的元数据可见性问题,并更好地防止了网络范围的攻击。

只有客户端设备有关于用户、他们的联系人和组的信息。

请参阅 SimpleX 白皮书 。

请参阅 SimpleX 聊天 在聊天客户端之间发送的消息格式, SimpleX 消息传递协议 。

隐私:技术细节和限制

SimpleX Chat 是一项正在进行中的工作——我们将在它们准备就绪时发布改进。 您必须确定当前状态是否足以满足您的使用场景。

已经实施的内容:

  1. 代替所有其他平台使用的用户配置文件标识符,即使是最私有的平台,SimpleX 使用成对的每个队列标识符(每个单向消息队列有 2 个地址,iOS 上的推送通知有一个可选的第三个地址,每个连接中的 2 个队列)用户)。 它使在应用程序级别上观察网络图变得更加困难,至于 n用户最多可以 n * (n-1)消息队列。
  2. 在每个消息队列中进行端到端加密 NaCl cryptobox 。 添加此功能是为了在未来允许冗余(通过多个服务器传递每条消息),以避免在不同的队列中具有相同的密文(只有在 TLS 被破坏时攻击者才能看到)。 用于此加密的加密密钥不会轮换,而是我们计划轮换队列。 Curve25519 密钥用于密钥协商。
  3. 双棘轮 端到端加密。 这与 Signal 和许多其他消息传递应用程序中使用的算法相同; 它为 OTR 消息传递提供前向保密(每条消息都由其自己的临时密钥加密)、入侵恢复(密钥作为消息交换的一部分经常重新协商)。 两对 Curve448 密钥用于初始密钥协商,发起方通过连接链路传递这些密钥,接受方 - 在确认消息的标头中。
  4. 使用 NaCL 密码盒对从服务器传递到接收者的消息进行附加加密层。 该层避免在 TLS 内服务器的发送和接收流量之间有任何共同的密文(并且也没有共同的标识符)。
  5. 多个级别的内容填充以阻止消息大小的攻击。
  6. 从 SMP 协议 v2(当前版本为 v4)开始,所有消息元数据,包括服务器接收消息的时间(四舍五入到一秒)都在加密信封内发送给收件人,因此即使 TLS 受到威胁它不能被观察到。
  7. 客户端-服务器连接仅允许使用 TLS 1.2/1.3,仅限于加密算法:CHACHA20POLY1305_SHA256、Ed25519/Ed448、Curve25519/Curve448。
  8. 为了防止重放攻击,SimpleX 服务器需要 tlsunique 通道绑定 作为每个客户端命令中的会话 ID,并使用每个队列的临时密钥签名。
  9. 为了保护您的 IP 地址,所有 SimpleX Chat 客户端都支持通过 Tor 访问消息服务器 - 请参阅 v3.1 发布公告 了解更多详细信息。

我们计划很快添加:

  1. 消息队列轮换。 目前,在两个用户之间创建的队列一直使用到联系人被删除,从而提供对话的长期成对标识符。 我们计划添加队列轮换,以使这些标识符成为临时标识符,并根据一些计划 TBC(例如,每 X 条消息,或每 X 小时/天)进行轮换。
  2. 本地数据库加密。 目前存储在您设备上的本地聊天数据库未加密。
  3. 消息“混合” - 增加消息传递的延迟,以防止按消息时间产生流量相关性。
  4. 独立实施审计。

对于开发人员

我们计划将 SimpleX 平台发展成为支持任何分布式 Internet 应用程序的平台。 这将允许您使用基于 Web 的自定义 UI 小部件构建人们可以通过聊天访问的任何服务,任何具有基本 HTML/CSS/JavaScript 知识的人都可以在几个小时内创建这些小部件。

您已经可以:

  • 使用 SimpleX 聊天库将聊天功能集成到您的应用程序中。
  • 在 Haskell 中使用 SimpleX 聊天机器人模板来构建您自己的聊天机器人服务(TypeScript SDK 即将推出)。

如果您正在考虑使用 SimpleX 平台进行开发,请联系以获得任何建议和支持。

路线图

  • ✅ 易于部署具有内存消息存储的 SimpleX 服务器,没有任何依赖关系。
  • ✅ 具有组和文件支持的终端(控制台)客户端。
  • ✅ 在 Linode 上一键部署 SimpleX 服务器。
  • ✅ 使用带有附加加密层的双棘轮协议的端到端加密。
  • ✅ 适用于 Android 和 iOS 的移动应用程序 v1。
  • ✅ 使用后台服务的 Android 私人即时通知。
  • ✅ Haskell 聊天机器人模板。
  • ✅ v2.0 - 支持移动应用程序中的图像和文件。
  • ✅ 手动删除聊天记录。
  • ✅ 通过移动应用程序进行端到端加密的 WebRTC 音频和视频通话。
  • ✅ 使用 Apple 推送通知服务的 iOS 隐私保护即时通知。
  • ✅ 聊天数据库导出和导入
  • ✅ 移动应用程序中的聊天组。
  • ✅ 通过 Tor 连接到消息服务器。
  • 🏗 双服务器地址,以作为 v3 隐藏服务访问消息服务器(正在进行中)。
  • 🏗 聊天服务器和 TypeScript 客户端 SDK,用于开发聊天界面、集成和聊天机器人(正在进行中)。
  • 聊天数据库加密。
  • 消失的消息,双方同意。
  • 用于聊天中自定义交互的 Web 小部件。
  • SMP 协议改进:
    • SMP 队列冗余和轮换。
    • 消息传递确认。
    • 在多个设备上支持相同的配置文件。
  • 用于可选的基于 DNS 的联系人/组地址的隐私保护身份服务器,以简化连接和发现,但不用于传递消息:
    • 即使您丢失了域,也可以保留您的所有联系人和群组。
    • 服务器没有有关您的联系人和组的信息。
  • 大型群组和广播频道的频道服务器。
  • 媒体服务器优化向群组发送大文件。

 

免责声明

SimpleX 协议和安全模型 在 v1.0.0 中进行了审查并进行了许多改进; 我们目前正在安排独立的实施审计。

您可能会发现一些错误 - 如果您使用它并让我们知道需要修复或改进的任何内容,我们将不胜感激。

标签:工具分享, 私密聊天