隐私不是一项政策。 它是数学。
在您自己运行的中继上进行端到端加密通讯。消息在离开您的手机之前就已加密,并带有后量子保护,中继只转发密文,并不持有解开它的密钥。
- X3DH + Double Ratchet 密钥协商,与后量子 ML-KEM-768 混合
- XChaCha20-Poly1305 AEAD 加密
- 仅 TLS 1.3 传输:没有 TLS 1.2,也没有明文回退
- 签名的密钥包 每个账户都对自己的密钥签名,并在 TLS 会话上证明
- 无日志 中继不记录任何能识别谁与谁通信的信息
中继传递的是密文。
消息在您的手机上用 Double Ratchet 加密。您运行的中继在设备之间路由这些消息,但没有读取它们的密钥。它并非看不到谁与谁通信,安全模型准确说明了它能看到什么。
ciphertext = XChaCha20Poly1305(key=k_ratchet, msg=plaintext) 只在设备上。
私钥在您的手机上生成,从不发送到任何地方。每个账户都对自己的公钥签名,因此中继无法替换成自己的密钥。消息和请求都受到端到端后量子加密保护(X25519 与 ML-KEM-768 结合),与中继之间的连接也使用后量子密钥交换,因此今天录下的流量将来也无法被量子计算机读取。
日志精简,局限明示。
运行期间,中继能看到哪些账户在线、何时在线、来自哪个 IP 地址,以及哪两个账户之间有打开的会话。它不会把这些写入日志。两人第一次会话之后,他们用一个每天都会变化的代码重新连接。会话打开期间,中继的内存仍会把两位成员关联在一起(与以前一样)。两人都离开约 10 分钟后,中继保存的任何内容都不再指明这一对;等待中的盲化请求不指明任何人;也没有任何令牌或电路 ID 能把一次连接期间与下一次关联起来。实时观察中继的人仍能看到两个账户相互连接。发给离线用户的消息最多在内存中保存 72 小时,按接收方存放,发送方的身份在加密内容内部。可选的稳定流量功能在应用打开时减少消息时间所透露的信息。
仅 TLS 1.3。
所有流量都是 TLS 1.3 内的 WebSocket,由中继自行终止 TLS。加入中继只需扫描一次它的邀请,邀请会固定中继的身份。每条消息都会被填充到一个大小档位,而每个中继都会向非 rChat 应用的访问者展示自己独有的伪装网站。
不是一项服务,而是您运行的软件。
没有 rChat 云,无需注册,也没有订阅。您在自己控制的服务器上部署中继,然后把它的邀请(一个二维码)交给大家。运行中继的人就是它的运营者,由其决定中继在哪里运行、谁可以使用。
- 中继 运行在您的服务器上,受您运行地的法律管辖归您所有
- 密钥 在每部手机上生成,从不发送给中继仅在设备上
- 账户 没有账户。身份就是您手机上的一对密钥无
- 软件 由香港的 PDG Global Limited 开发开源
与其他应用的对比。
rChat 用一个由您控制的服务取代托管服务。它更年轻、规模更小,也不具备大型通讯应用的全部功能。
| 功能 | rChat | Signal | Telegram |
|---|---|---|---|
| 谁运行服务器 | 您 | Signal | Telegram |
| 默认端到端加密 | 是 | 是 | 否(仅限秘密聊天) |
| 用官方应用连接您自己的服务器 | 是 | 否 | 否 |
| 联系人密钥核对 | 安全码与二维码 | 安全码 | 仅限秘密聊天 |
不必信任我们。运行您自己的节点。
您不应该需要信任运行服务器的任何人。rChat 是开源的:审计代码,构建中继,并在您控制的主机上运行它。
中继自行终止 TLS,并通过 443 端口上的 TLS-ALPN-01 自行获取和续期证书。不需要 80 端口,前面也不需要终止 TLS 的代理。
cargo build --release --bin rchat-server
# point an A/AAAA record for relay.example.com at this host
sudo install -m 0755 target/release/rchat-server /usr/local/bin/
sudo useradd --system --home /var/lib/rchat --shell /usr/sbin/nologin rchat
# /etc/rchat/server.toml
[server]
bind_addr = "0.0.0.0:443"
websocket_path = "/a-long-random-path"
relay_identity_path = "/var/lib/rchat/relay_identity.key"
[server.acme]
enabled = true
domains = ["relay.example.com"]
contacts = ["mailto:[email protected]"]
cache_dir = "/var/lib/rchat/acme"
# once, as the service user: create the relay identity (prints its pin)
sudo install -d -m 0700 -o rchat -g rchat /var/lib/rchat
sudo -u rchat rchat-server --config /etc/rchat/server.toml --init-relay-identity
sudo systemctl enable --now rchat-server
# invite people: a link and a QR code with the address and the relay identity
sudo -u rchat rchat-server --config /etc/rchat/server.toml --print-invite 谁在开发 rChat。
开发者
rChat 由 PDG Global Limited 开发,这是一家位于香港的公司,不在“五眼联盟”情报同盟的管辖范围内。
管辖
由于 rChat 是自托管的,管辖中继的是其运营者运行它所在地的法律,而不是开发者所在地的法律。消息内容受端到端加密保护,这不依赖于任何司法管辖。
没有托管服务
PDG Global Limited 不为用户运行中继,也不持有任何账户或消息。关于中继能看到什么,请阅读安全模型。
运行 rChat。
在您自己的服务器上设置中继,然后用一个二维码邀请大家加入。