Давайте Вместе Разработаем Безопасное Приложение Для Обмена Сообщениями

Большинству из нас известно, что «защищенные» приложения для обмена сообщениями, которыми мы пользуемся каждый день (SMS, WhatsApp, Viber, Skype и т. д.), на самом деле изобилуют возможностями по перехвату переписки.

Они используют промежуточные серверы для передачи сообщений и сохраняют копию каждого сообщения.

Автоматически копия каждого сообщения дублируется на государственных серверах и никогда оттуда не удаляется.

Также автоматически протоколируется информация о том, какой IP с кем и в какое время общался.

Пару месяцев я думал о том, как реализовать по-настоящему безопасное приложение для обмена сообщениями, которое невозможно перехватить никаким образом.

Иногда они пытаются зашифровать сообщения и отправить их на сервер уже зашифрованными, но работает ли это на самом деле? Здесь легко может быть реализована атака «Человек посередине», когда сервер выдает себя за клиента, которому предназначено сообщение, и получает сообщение в незашифрованном виде, хотя клиент думает, что сообщение может быть прочитано только конечным получателем.

Размышляя об архитектуре приложения, которым можно было бы пользоваться каждый день, не задумываясь о проблемах конфиденциальности, я придумал следующий набор:

  1. Открыть источник.

    Таким образом, любой желающий сможет подробно изучить, как именно работает приложение, и убедиться в отсутствии бэкдоров.

  2. P2P. Клиенты устанавливают связь друг с другом напрямую.

    Сообщения никогда не проходят через сервер, что исключает возможность их перехвата в какой-либо форме.

    в настоящее время я рассматриваю WebRTC Джингл реализовать P2P с помощью libjingle для iOS и Android.

  3. ТЗ .

    Клиент устанавливает все соединения внутри анонимной сети Tor. Таким образом скрываются IP-адреса клиентов и происходит первоначальное шифрование трафика, что предотвращает подслушивание.

  4. ОТР используется для дополнительного шифрования всех коммуникаций между пользователями и целей аутентификации.

  5. Версия для Android разрабатывается на основе ЧатБезопасный .

    Версия для iOS разрабатывается с нуля.

  6. Чтобы помочь клиентам найти друг друга и установить прямые P2P-соединения, используется XMPP-сервер.

    На данный момент выбор стоит между Openfire и ejabberd.

Что я упустил при разработке безопасной архитектуры приложения? Что можно улучшить? Теги: #безопасность #nsa #конфиденциальность #конфиденциальность #коммуникация #конфиденциальность данных #im #messenger #sms #sms #информационная безопасность
Вместе с данным постом часто просматривают: