第一个没有任何形式的用户识别码的消息平台——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常见问题汇总
- SimpleX 如何在没有任何用户标识符的情况下传递消息? 请参阅 v2 发布公告 ,解释 SimpleX 的工作原理。
- 为什么我不应该只使用 Signal? Signal 是一个集中式平台,它使用电话号码来识别其用户及其联系人。 这意味着,虽然 Signal 上的消息内容受到强大的端到端加密的保护,但 Signal 可以看到大量元数据 - 您与谁交谈以及何时交谈。
- 它与同样不需要用户身份的 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 是一项正在进行中的工作——我们将在它们准备就绪时发布改进。 您必须确定当前状态是否足以满足您的使用场景。
已经实施的内容:
- 代替所有其他平台使用的用户配置文件标识符,即使是最私有的平台,SimpleX 使用成对的每个队列标识符(每个单向消息队列有 2 个地址,iOS 上的推送通知有一个可选的第三个地址,每个连接中的 2 个队列)用户)。 它使在应用程序级别上观察网络图变得更加困难,至于
n用户最多可以n * (n-1)消息队列。 - 在每个消息队列中进行端到端加密 NaCl cryptobox 。 添加此功能是为了在未来允许冗余(通过多个服务器传递每条消息),以避免在不同的队列中具有相同的密文(只有在 TLS 被破坏时攻击者才能看到)。 用于此加密的加密密钥不会轮换,而是我们计划轮换队列。 Curve25519 密钥用于密钥协商。
- 双棘轮 端到端加密。 这与 Signal 和许多其他消息传递应用程序中使用的算法相同; 它为 OTR 消息传递提供前向保密(每条消息都由其自己的临时密钥加密)、入侵恢复(密钥作为消息交换的一部分经常重新协商)。 两对 Curve448 密钥用于初始密钥协商,发起方通过连接链路传递这些密钥,接受方 - 在确认消息的标头中。
- 使用 NaCL 密码盒对从服务器传递到接收者的消息进行附加加密层。 该层避免在 TLS 内服务器的发送和接收流量之间有任何共同的密文(并且也没有共同的标识符)。
- 多个级别的内容填充以阻止消息大小的攻击。
- 从 SMP 协议 v2(当前版本为 v4)开始,所有消息元数据,包括服务器接收消息的时间(四舍五入到一秒)都在加密信封内发送给收件人,因此即使 TLS 受到威胁它不能被观察到。
- 客户端-服务器连接仅允许使用 TLS 1.2/1.3,仅限于加密算法:CHACHA20POLY1305_SHA256、Ed25519/Ed448、Curve25519/Curve448。
- 为了防止重放攻击,SimpleX 服务器需要 tlsunique 通道绑定 作为每个客户端命令中的会话 ID,并使用每个队列的临时密钥签名。
- 为了保护您的 IP 地址,所有 SimpleX Chat 客户端都支持通过 Tor 访问消息服务器 - 请参阅 v3.1 发布公告 了解更多详细信息。
我们计划很快添加:
- 消息队列轮换。 目前,在两个用户之间创建的队列一直使用到联系人被删除,从而提供对话的长期成对标识符。 我们计划添加队列轮换,以使这些标识符成为临时标识符,并根据一些计划 TBC(例如,每 X 条消息,或每 X 小时/天)进行轮换。
- 本地数据库加密。 目前存储在您设备上的本地聊天数据库未加密。
- 消息“混合” - 增加消息传递的延迟,以防止按消息时间产生流量相关性。
- 独立实施审计。
对于开发人员
我们计划将 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 中进行了审查并进行了许多改进; 我们目前正在安排独立的实施审计。
您可能会发现一些错误 - 如果您使用它并让我们知道需要修复或改进的任何内容,我们将不胜感激。