...

среда, 30 октября 2013 г.

Проектируем вместе защищенное приложение для обмена сообщениями


сегодня в 23:30


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

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



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


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



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

  2. P2P. Клиенты устанавливают соединение друг с другом напрямую. Сообщения никогда не проходят через сервер, что исключает возможность их перехвата в любом виде. В данный момент я рассматриваю WebRTC Jingle, чтобы реализовать P2P с использованием libjingle для iOS и Android.

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

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

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

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




Что я упустил при разработке безопасной архитектуры приложения? Что может быть улучшено?



Developers, stick with Russians – work in London




Переводы с

карты на карту


Переводы

через QR-Код


Новая функция

«Мой контроль»




Возьми Lumia 925 на тест-драйв сейчас.




Впечатляющие возможности

в стильном тонком корпусе из металла




Boomburum

исследует LTE


Эволюция средств связи

в путешествии по России




Проблемы коммуникации внутри бизнеса?


Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers. Five Filters recommends:



Комментариев нет:

Отправить комментарий