第一个没有任何形式的用户识别码的消息平台——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 中进行了审查并进行了许多改进; 我们目前正在安排独立的实施审计。

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

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