Tox


Tox — протокол для децентрализованной текстовой, голосовой и видеосвязи в интернете на основе асимметричного шифрования. Эталонная реализация протокола представляет собой свободное программное обеспечение с открытым исходным кодом, обеспечивающее полный набор привычных функций: голосовая и видеосвязь, режим конференции с несколькими участниками, указание и смена сетевого статуса, поддержка эмотиконов, демонстрация экрана, возможность отправлять мгновенные сообщения и передавать файлы. Отсутствует реклама. Позиционируется как открытая, свободная, лишённая бэкдоров и не шпионящая за пользователями альтернатива Skype, владельцы которого (Skype) предоставили АНБ доступ к своей инфраструктуре с 6 февраля 2011 года[5].

Взаимодействие участников Tox реализовано примерно так же, как в облачном сервисе BitTorrent Sync. Используется пиринговый обмен информацией для улучшения пропускной способности, но, в отличие от централизованных мессенджеров (Telegram, WhatsApp, Viber, Skype), не требует регистрации на централизованных серверах третьих лиц, идентификатор пользователя создаётся локально. После установки Tox автоматически генерируется пара ключей — публичный и приватный. Публичный ключ можно передавать кому угодно — он служит как уникальный идентификатор для поиска собеседника. Приватный ключ хранится только у владельца и подтверждает его подлинность, не раскрывая персональные данные. Центральный сервер отсутствует, поиск собеседников происходит через DHT.

DHT-хранение идентификаторов организовано так, что пользователи не видят IP-адреса друг друга, пока не добавят друг друга в свои контакт-листы, только после этого у них появляется возможность совершать коммуникацию (сообщения, звонки и т. д.) В случае необходимости не показывать свой IP-адрес собеседнику, Tox позволяет перенаправлять трафик через SOCKS прокси-серверы, в том числе через Tor. Криптографические функции выполняются с помощью криптобиблиотеки NaCl, созданной международной группой специалистов по безопасности под руководством Дэниела Бернштейна[англ.] (Daniel J. Bernstein) из Университета штата Иллинойс в Чикаго.

Помимо самостоятельных клиентов, сторонними разработчиками были также выпущены плагины для Pidgin[32] (не поддерживается и не обновляется с 4 мая 2017 года[33]) и Miranda NG[34].