mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2026-11-11 13:57:42 +00:00
254 lines
25 KiB
Markdown
254 lines
25 KiB
Markdown
# The World's Most Secure Messaging
|
||
|
||
**Ultimate security**: SimpleX network uses the most secure end-to-end encryption, with continuous post-quantum key exchange to protect all messages and metadata.
|
||
|
||
**Unique privacy**: SimpleX network has no user profile IDs, not even random numbers or keys. It provides better privacy of your contacts, protecting who you talk with from network servers.
|
||
|
||
**No spam**: nobody can contact you unless you share 1-time link or long-term address.
|
||
|
||
**Data ownership**: only your device stores your profiles, contacts and messages. You can securely move your data to another device. Servers store encrypted messages only while your device is offline.
|
||
|
||
**Secure decentralization**: you control which servers to connect to. For security 4 different servers are used in each chat — they can't observe which IP addresses talk to each other.
|
||
|
||
#### How to connect to others
|
||
|
||
- Tap new chat button in the corner, then create 1-time link.
|
||
- Share the link with your contact via any other messenger or email - it is secure.
|
||
- Ask your contact to use the link in the app - click it after the app is installed or paste into the search field in the app.
|
||
|
||
## Почему SimpleX уникален
|
||
|
||
### У Вас есть полная конфиденциальность
|
||
|
||
SimpleX защищает конфиденциальность Вашего профиля, контактов и метаданных, скрывая их от серверов сети SimpleX и любых наблюдателей.
|
||
|
||
В отличие от любой другой существующей сети обмена сообщениями, SimpleX не имеет идентификаторов пользователей — **нет даже случайных цифр**.
|
||
|
||
### Вы защищены от спама и злоупотреблений
|
||
|
||
Поскольку у Вас нет идентификатора или фиксированного адреса в сети SimpleX, никто не сможет связаться с Вами без Вашего явного согласия mdash; это возможно, только если Вы сами поделитесь адресом в виде QR-кода или ссылки.
|
||
|
||
### Только Вы контролируете Ваши данные
|
||
|
||
SimpleX хранит все пользовательские данные на клиентских устройствах в **портативном формате зашифрованной базы данных** — их можно перенести на другое устройство.
|
||
|
||
Сквозные зашифрованные сообщения временно хранятся на серверах SimpleX до получения, после чего они удаляются безвозвратно.
|
||
|
||
### Вы владеете сетью SimpleX
|
||
|
||
Сеть SimpleX полностью децентрализована и независима от любой криптовалюты/блокчейна или любой другой сети, кроме Интернета.
|
||
|
||
Вы можете **использовать SimpleX со своими собственными серверами** или с серверами, предоставленными нами — и при этом подключаться к любому пользователю SimpleX.
|
||
|
||
# Полная конфиденциальность Вашей личности, профиля, контактов и метаданных
|
||
|
||
В отличие от других сетей обмена сообщениями, SimpleX **не имеет идентификаторов, присвоенных пользователям**. Он не полагается на номера телефонов, доменные адреса (например, электронную почту или XMPP), имена пользователей, публичные ключи или даже случайные числа для идентификации своих пользователей — операторы серверов SimpleX не знают, сколько людей пользуются их серверами.
|
||
|
||
Для доставки сообщений SimpleX использует [попарные, анонимные адреса](https://csrc.nist.gov/glossary/term/Pairwise_Pseudonymous_Identifier) однонаправленных очередей сообщений, раздельные для полученных и отправленных сообщений, обычно через разные серверы.
|
||
|
||
Этот дизайн защищает конфиденциальность Ваших контактов, скрывая их от серверов SimpleX и от любых внешних наблюдателей. Чтобы скрыть свой IP-адрес от серверов, Вы можете **подключиться к серверам SimpleX через сеть Tor**.
|
||
|
||
# Лучшая защита от спама и злоупотреблений
|
||
|
||
Поскольку у Вас нет идентификатора в сети SimpleX, никто не сможет связаться с Вами, если Вы сами не предоставите одноразовый или временный адрес в виде QR-кода или ссылки.
|
||
|
||
Хоть злоумышленники и могут использовать постоянный адрес для отправки нежелательных запросов или спама, Вы можете легко его изменить или просто удалить, не теряя связи с уже установленными контактами.
|
||
|
||
# Контроль и безопасность Ваших данных
|
||
|
||
SimpleX Chat хранит все пользовательские данные на клиентских устройствах в **портативном формате зашифрованной базы данных** которую можно перенести на другое устройство.
|
||
|
||
Сквозные зашифрованные сообщения временно хранятся на серверах SimpleX до получения, после чего они удаляются безвозвратно.
|
||
|
||
В отличие от серверов федеративных сетей (электронной почты, XMPP или Matrix), серверы SimpleX не хранят учетные записи пользователей, они только ретранслируют сообщения, защищая конфиденциальность обеих сторон.
|
||
|
||
Со стороны не видно разницы между отправлением или получением сообщений — если кто-то наблюдает за этим, он не cможет легко определить, кто с кем общается, даже если протокол TLS будет скомпрометирован.
|
||
|
||
# Полностью децентрализованная — пользователи владеют сетью SimpleX
|
||
|
||
Вы можете **использовать SimpleX со своими собственными серверами** или с серверами предустановленными в приложении, при этом имея возможность общаться с любым пользователем.
|
||
|
||
Сеть SimpleX использует [открытый протокол](https://github.com/simplex-chat/simplexmq/blob/stable/protocol/overview-tjr.md) и предоставляет [SDK для создания чат-ботов](https://github.com/simplex-chat/simplex-chat/tree/stable/packages/simplex-chat-client/typescript), позволяя внедрять сервисы, с которыми пользователи могут взаимодействовать через приложение SimpleX Chat — мы с нетерпением ждем сервисы SimpleX, которые Вы создадите.
|
||
|
||
Если Вы рассматриваете возможность разработки для сети SimpleX, например, чат-бота для пользователей SimpleX или интеграции библиотеки SimpleX Chat в Ваше мобильное приложение, пожалуйста, [обращайтесь](https://simplex.chat/contact#/?v=1&smp=smp%3A%2F%2FPQUV2eL0t7OStZOoAsPEV2QYWt4-xilbakvGUGOItUo%3D%40smp6.simplex.im%2FK1rslx-m5bpXVIdMZg9NLUZ_8JBm8xTt%23MCowBQYDK2VuAyEALDeVe-sG8mRY22LsXlPgiwTNs9dbiLrNuA7f3ZMAJ2w%3D) за любыми советами и поддержкой.
|
||
|
||
## Функции
|
||
|
||
Сообщения с E2E-шифрованием
|
||
с форматированием и редактированием
|
||
|
||
Изображения, видео и файлы
|
||
с E2E-шифрованием
|
||
|
||
Децентрализованные группы — известные только участникам
|
||
|
||
Голосовые сообщения с E2E-шифрованием
|
||
|
||
Исчезающие сообщения
|
||
|
||
Аудио и видео звонки с E2E-шифрованием
|
||
|
||
Зашифрованное база данных — Вы можете перенести профиль на другое устройство
|
||
|
||
Режим инкогнито —
|
||
уникальный для SimpleX Chat
|
||
|
||
## Что делает SimpleX конфиденциальным
|
||
|
||
### Временные анонимные парные идентификаторы
|
||
|
||
SimpleX использует временные анонимные парные адреса и учетные данные для каждого контакта пользователя или члена группы.
|
||
|
||
Это позволяет доставлять сообщения без идентификаторов профиля пользователя, и обеспечивает лучшую конфиденциальность метаданных, чем альтернативы.
|
||
|
||
### Обмен ключами вне протокола
|
||
|
||
Многие коммуникационные сети уязвимы для MITM-атак со стороны серверов или сетевых провайдеров.
|
||
|
||
Чтобы предотвратить это, приложения SimpleX передают одноразовые ключи вне протокола, когда Вы делитесь адресом в виде ссылки или QR-кода.
|
||
|
||
### 2-уровневое сквозное шифрование
|
||
|
||
Протокол двойного обновления ключей —
|
||
"отрицаемые" сообщения с идеальной прямой секретностью и восстановлением после взлома.
|
||
|
||
NaCL cryptobox в каждой очереди для предотвращения корреляции трафика между очередями сообщений, в случае компрометированного TLS.
|
||
|
||
### Проверка неизменности сообщений
|
||
|
||
Для обеспечения неизменности, сообщения нумеруются по порядку и содержат хеш предыдущего сообщения.
|
||
|
||
Если какое-либо сообщение будет добавлено, удалено или изменено, получатель будет предупрежден об этом.
|
||
|
||
### Дополнительный уровень шифрования с сервером
|
||
|
||
Дополнительный уровень шифрования между сервером и получателем для предотвращения корреляции полученного и отправленного трафика сервера, в случае компрометированного TLS.
|
||
|
||
### Смешивание сообщений для уменьшения корреляции
|
||
|
||
Серверы SimpleX действуют как узлы-миксеры с низкой задержкой — входящие и исходящие сообщения имеют разный порядок.
|
||
|
||
### Безопасное аутентифицированное соединение TLS
|
||
|
||
Для соединений клиента и сервера используется только протокол TLS 1.2/1.3 с безопасными алгоритмами.
|
||
|
||
Идентификатор сервера и привязка к TLS сессии предотвращают атаки перехвата (MITM) и повторного использования.
|
||
|
||
Возобновление соединения отключено для предотвращения сеансовых атак.
|
||
|
||
### Возможен доступ через сеть Tor
|
||
|
||
Чтобы защитить свой IP-адрес Вы можете подключаться к серверам через сеть Tor или какую-либо другую транспортную оверлейную сеть.
|
||
|
||
Чтобы использовать SimpleX через сеть Tor, пожалуйста, установите [приложение Orbot](https://guardianproject.info/apps/org.torproject.android/) и включите прокси (или режим VPN [на iOS](https://apps.apple.com/us/app/orbot/id1609461599?platform=iphone)).
|
||
|
||
### Однонаправленные очереди сообщений
|
||
|
||
Каждая очередь сообщений передает сообщения в одном направлении с разными адресами отправки и получения.
|
||
|
||
Это уменьшает векторы атак и доступные метаданные, по сравнению с традиционными серверами доставки сообщений.
|
||
|
||
### Многоуровневое дополнение сообщений
|
||
|
||
SimpleX использует дополнение содержания для каждого уровня шифрования, чтобы скрыть размер сообщений.
|
||
|
||
Это делает сообщениям разного размера одинаковыми для серверов и сети.
|
||
|
||
## Сеть SimpleX
|
||
|
||
SimpleX Chat обеспечивает наилучшую конфиденциальность, сочетая преимущества P2P и федеративных сетей.
|
||
|
||
### В отличие от P2P-сетей
|
||
|
||
Все сообщения отправляются через серверы, что обеспечивает лучшую конфиденциальность метаданных и надежную асинхронную доставку сообщений, избегая при этом многих .
|
||
|
||
# Сравнение с протоколами обмена сообщениями P2P
|
||
|
||
Протоколы и приложения для обмена сообщениями [P2P](https://ru.wikipedia.org/wiki/%D0%9E%D0%B4%D0%BD%D0%BE%D1%80%D0%B0%D0%BD%D0%B3%D0%BE%D0%B2%D0%B0%D1%8F_%D1%81%D0%B5%D1%82%D1%8C) имеют различные проблемы, которые делают их менее надежными, чем SimpleX, более сложными для анализа и уязвимыми для нескольких типов атак.
|
||
|
||
1. Сети P2P используют [DHT](https://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D1%91%D0%BD%D0%BD%D0%B0%D1%8F_%D1%85%D0%B5%D1%88-%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0) (распределенные хеш-таблицы) для маршрутизации сообщений. DHT должны обеспечивать баланс между гарантией доставки и задержкой. SimpleX имеет как лучшую гарантию доставки, так и меньшую задержку, чем P2P. В сетях P2P сообщение передается через нескольких узлов, последовательно, кол-во узлов-посредников будет расти параллельно размеру сети — *O(log N)*.
|
||
2. В отличие от многих P2P сетей, SimpleX спроектирован так, чтобы не нуждаться в глобальных идентификаторах пользователей, даже временных, используя только временные попарные идентификаторы, обеспечивая лучшую анонимность и защиту метаданных пользователей.
|
||
3. P2P не решает проблему [MITM-атаки (Атака посредника)](https://ru.wikipedia.org/wiki/%D0%90%D1%82%D0%B0%D0%BA%D0%B0_%D0%BF%D0%BE%D1%81%D1%80%D0%B5%D0%B4%D0%BD%D0%B8%D0%BA%D0%B0), и многие сети не используют сообщения вне протокола для первоначального обмена ключами. SimpleX использует сообщения вне протокола или, в некоторых случаях, ранее существовавшие защищенные и доверенные соединения для первоначального обмена ключами.
|
||
4. Реализации P2P могут быть заблокированы некоторыми интернет-провайдерами (например, [BitTorrent](https://ru.wikipedia.org/wiki/BitTorrent)). SimpleX протокол не зависит от транспорта — он может быть реализован через стандартные веб-протоколы, например WebSockets.
|
||
5. Все известные P2P-сети могут быть уязвимы для [Атаки Сивиллы](https://ru.wikipedia.org/wiki/%D0%90%D1%82%D0%B0%D0%BA%D0%B0_%D0%A1%D0%B8%D0%B2%D0%B8%D0%BB%D0%BB%D1%8B), поскольку каждый узел доступен для обнаружения, и сеть работает как единое целое. Известные меры по уменьшению риска требуют либо централизованного компонента, либо дорогостоящего [Proof-of-work](https://ru.wikipedia.org/wiki/%D0%94%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%D0%BE_%D0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B). Сеть SimpleX не позволяет обнаруживать серверы, она фрагментирована и работает как множество изолированных подсетей, из-за чего провести атаку на всю сеть невозможно.
|
||
6. P2P сети могут быть уязвимы для [DRDoS атаки](https://www.usenix.org/conference/woot15/workshop-program/presentation/p2p-file-sharing-hell-exploiting-bittorrent), когда клиенты могут ретранслировать и увеличивать трафик, что приводит к отказу всей сети. Клиенты SimpleX ретранслируют трафик только из известных соединений и не могут быть использованы злоумышленником для усиления трафика во всей сети.
|
||
|
||
---
|
||
|
||
### В отличие от федеративных сетей
|
||
|
||
Серверные узлы SimpleX НЕ хранят профили пользователей, контакты и доставленные сообщения, НЕ подключаются друг к другу, и НЕ имеют каталога серверов.
|
||
|
||
---
|
||
|
||
### Сеть SimpleX
|
||
|
||
серверы предоставляют однонаправленные очереди для подключения пользователей, но у них нет видимости графика сетевых подключений — это делают только пользователи.
|
||
|
||
## Как SimpleX работает
|
||
|
||
1. Что видят пользователи
|
||
|
||
2. Как это работает
|
||
|
||
3. Что видят серверы
|
||
|
||
1. Что видят пользователи
|
||
|
||
Вы можете создавать контакты и группы, а также вести двусторонние беседы, как и в любом другом мессенджере.
|
||
|
||
Как это может работать с однонаправленными очередями и без идентификаторов профиля пользователя?
|
||
|
||
2. Как это работает
|
||
|
||
Для каждого контакта Вы используете две отдельные очереди сообщений, отправляя и получая сообщения через разные серверы.
|
||
|
||
Серверы передают сообщения только в одну сторону, не имея полной информации о разговорах и контактах пользователя.
|
||
|
||
3. Что видят серверы
|
||
|
||
Серверы имеют отдельные, анонимные учётные данные для каждой очереди и не знают, каким пользователям они принадлежат.
|
||
|
||
Пользователи могут дополнительно повысить конфиденциальность метаданных, используя Tor для подключения к серверам. Это предотвращает сопоставление действий по IP-адресу.
|
||
|
||
## Сравнение с другими протоколами
|
||
|
||
| | | Signal, большие платформы | XMPP, Matrix | Протоколы P2P |
|
||
| --- | --- | --- | --- | --- |
|
||
| Требуется глобальный идентификатор | Нет - конфиденциальный | Да [1] | Да [2] | Да [3] |
|
||
| Возможность MITM | Нет - безопасный [4] | Да [5] | Да | Да |
|
||
| Зависимость от DNS | Нет - устойчив | Да | Да | Нет |
|
||
| Единая или Централизованная сеть | Нет - децентрализованный | Да | Нет - федеративные [6] | Да [7] |
|
||
| Центральный компонент или атака на всю сеть | Нет - устойчив | Да | Да [2] | Да [8] |
|
||
|
||
---
|
||
|
||
1. Обычно требуется номера телефона, в некоторых случаях — имя пользователя
|
||
2. Адреса на основе DNS
|
||
3. Публичный ключ или какой-либо другой глобально уникальный идентификатор
|
||
4. Сервера SimpleX не могут скомпрометировать сквозное шифрование
|
||
5. Если операторы серверов скомпрометированы. В Signal, и некоторых других приложениях, есть возможность подтвердить код безопасности
|
||
6. Не защищает конфиденциальность пользовательских метаданных
|
||
7. Хотя P2P распределены, они не являются федеративными, то есть P2P — работают как единая сеть
|
||
8. Сети P2P либо имеют центральный компонент, либо вся сеть может быть атакована — [подробнее здесь](https://github.com/simplex-chat/simplex-chat/blob/stable/docs/SIMPLEX.md#comparison-with-p2p-messaging-protocols)
|
||
|
||
## Сравнение безопасности сквозного шифрования в мессенджерах
|
||
|
||
| | Session | Briar | Element | Cwtch | Signal | SimpleX |
|
||
| --- | --- | --- | --- | --- | --- | --- |
|
||
| Дополнение сообщений | ✗ | ✔︎[1] | ✗ | ✔︎ | ✔︎[1] | ✔︎ |
|
||
| Отрицаемые сообщения | ✗ | ✗ | ✗ | ✔︎[2] | ✔︎[3] | ✔︎ |
|
||
| Прямая секретность | ✗ | ✔︎ | ✔︎ | ✔︎ | ✔︎ | ✔︎ |
|
||
| Безопасность после взлома | ✗ | ✗ | ✗ | ✔︎ | ✗[4] | ✔︎ |
|
||
| 2-факторный обмен ключами | ✔︎ | ✔︎[5] | ✔︎[5] | ✔︎ | ✔︎[5] | ✔︎ |
|
||
| Гибридное постквантовое шифрование | ✗ | ✗ | ✗ | ✗ | ✔︎[6] | ✔︎ |
|
||
|
||
---
|
||
|
||
1. Briar дополняет сообщения до размера кратного 1024 байтов, Signal - до кратного 160 байтов.
|
||
2. Отрицаемость сообщений не включает в себя соединеие между клиентом и сервером.
|
||
3. По всей видимости, использование криптографической подписи исключает отражаемость, но это требует уточнения.
|
||
4. Реализация поддержки нескольких устройств подрывает безопасность после взлома алгоритма Double Ratchet. — [подробнее здесь](https://eprint.iacr.org/2021/626.pdf).
|
||
5. 2-факторный обмен ключами опциональный, через верификацию кода безопасности.
|
||
6. Пост-квантовое согласование ключей происходит не всегда, защищая только часть согласований.
|