Конфиденциальность — не политика. Это математика.
Сквозное шифрование переписки через ретранслятор, который вы запускаете сами. Сообщения шифруются на телефоне ещё до отправки, с постквантовой защитой, а ретранслятор передаёт дальше шифротекст, ключей к которому у него нет.
- 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 минут, ничто из хранимого им не называет их по имени; ожидающие слепые запросы никого не называют; и никакой токен или идентификатор цепи не связывает один период подключения со следующим. Тот, кто наблюдает за ретранслятором вживую, всё ещё видит, как две учётные записи соединяются друг с другом. Сообщения для тех, кто не в сети, хранятся в памяти до 72 часов и учитываются только по получателю, а отправитель скрыт внутри шифрования. Необязательный равномерный трафик уменьшает то, что выдаёт время ваших сообщений, пока приложение открыто.
Только TLS 1.3.
Весь трафик — это WebSocket внутри TLS 1.3, который завершает сам ретранслятор. Чтобы подключиться, достаточно один раз отсканировать приглашение ретранслятора, которое закрепляет его идентичность. Каждое сообщение дополняется до размерной ступени, а каждый ретранслятор показывает свой собственный сайт-приманку всему, что не является приложением.
Не сервис, а программа, которую вы запускаете.
Нет облака rChat, регистрации и подписки. Вы разворачиваете ретранслятор на своём сервере и раздаёте его приглашение — один QR-код. Тот, кто запускает ретранслятор, — его оператор: он решает, где тот работает и кто может им пользоваться.
- Ретранслятор Работает на вашем сервере, по законам места, где вы его запускаетеваш
- Ключи Создаются на каждом телефоне и никогда не отправляются ретрансляторуна устройстве
- Учётные записи Их нет. Идентичность — это пара ключей на вашем телефоненет
- Программа Разработана PDG Global Limited, Гонконготкрытый код
Как это выглядит в сравнении.
rChat меняет размещённый сервис на тот, которым управляете вы. Он моложе и меньше, и в нём есть не всё, что есть у крупных мессенджеров.
| Возможность | rChat | Signal | Telegram |
|---|---|---|---|
| Кто управляет сервером | Вы | Signal | Telegram |
| Сквозное шифрование по умолчанию | Да | Да | Нет (только секретные чаты) |
| Свой сервер с официальным приложением | Да | Нет | Нет |
| Проверка ключей контакта | Коды безопасности и QR | Коды безопасности | Только секретные чаты |
Не доверяйте нам. Запустите свой узел.
Вам не нужно доверять тому, кто управляет сервером. rChat — программа с открытым кодом: проверьте код, соберите ретранслятор и запустите его на своём хосте.
Ретранслятор сам завершает TLS, сам получает и продлевает свой сертификат через TLS-ALPN-01 на порту 443. Без порта 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 версии 3: постквантовое гибридное рукопожатие, наборы ключей, подписанные и привязанные к сеансу TLS, беседы, которые открываются, только когда об этом просят оба, слепое сопряжение, равномерный трафик, приглашения на ретранслятор и дополнение до размера. В нём также прямо сказано, что самостоятельно размещаемый ретранслятор знает о вас и чего у него никогда нет.
Кто делает rChat.
Разработчик
rChat разрабатывает PDG Global Limited — компания из Гонконга, вне юрисдикции разведывательного альянса «Пять глаз».
Юрисдикция
Поскольку rChat размещается самостоятельно, ретранслятор подчиняется законам места, где его запускает оператор, а не месту, где находится разработчик. Содержимое сообщений защищено сквозным шифрованием, которое не зависит от юрисдикции.
Никакого размещённого сервиса
PDG Global Limited не запускает ретрансляторы для пользователей и не хранит ни учётных записей, ни сообщений. Что видит ретранслятор, описано в документе «Модель безопасности».
Запустите rChat.
Настройте ретранслятор на своём сервере, затем пригласите людей одним QR-кодом.