Разработка защищенных мессенджеров
У каждого из нас есть хотя бы один мессенджер на телефоне. Сегодня это часть повседневных будней —мы используем чаты не только для общения с семьей и друзьями, но и для того, чтобы читать новости, скидывать мемы в группы и даже записываться на стрижку с помощью чат-бота. Мы регулярно получаем много вопросов о том, как создать свой мессенджер?

Приложениями для обмена сообщениями пользуется как минимум половина населения планеты. Одни только WhatsApp и Facebook Messenger насчитывают 2 миллиарда и 1,3 миллиарда активных пользователей соответственно. А насколько безопасно использовать их при общении на такие темы, о которых никто кроме вас и вашего собеседника не должен узнать?
Большинство популярных мессенджеров строятся на двух типах безопасных протоколов обмена сообщениями:
- HTTP + push-уведомления. Это когда вы получаете уведомление о том, что пришло сообщение, а сервер отвечает вам уже только после того, как вы открыли приложение.
- Расширяемый протокол обмена сообщениями (XMPP) на основе сокетов. Этот протокол используется чаще, так как здесь вы всегда остаётесь подключённым к серверу, а если вдруг соединение пропадёт, то вы перейдёте в автономный режим.
У каждого мессенджера есть своя цель и задачи, как и слабые места, угрожающие кибербезопасности. А злоумышленники как раз выбирают приложения, которые обрабатывают конфиденциальные данные. Они потом могут использоваться против пользователей или компании, ведущих частную или корпоративную переписку. Информация, передаваемая в их сообщениях, будь то текст, изображение или видео, должна быть надёжно защищена.
Каждое приложение для обмена сообщениями использует собственные методы обеспечения безопасности, но главная разница между защищенными и классическими мессенджерами заключается в области реализации и подходе к пользовательским данным. Защищенные стали отдельной категорией из-за растущего осознания, что общение в Интернете небезопасно — там третья сторона может получить доступ к переписке. Известны случаи, когда крупные компании использовали данные пользователей, включая личные сообщения, для таргетированной рекламы.
Сквозное шифрование
Основным принципом безопасного обмена сообщениями является сквозное шифрование. Например, приложение Signal работает на одноимённом криптографическом протоколе, разработанном Open Whisper Systems ещё для первого приложения (TextSecure). Такой тип шифрования использует многоуровневый подход, который затрудняет грубое проникновение в переписку с доступом к данным. Signal Protocol также применяется по умолчанию в WhatsApp, и как дополнительная функция в Facebook Messenger (Secret conversations) и Skype (Private conversations).
Любой защищенный мессенджер строится на принципе сквозного шифрования, который выглядит следующим образом:
- Два пользователя начинают диалог. Это событие генерирует два набора ключей:
- закрытый ключ (остаётся на устройстве пользователя);
- открытый ключ (хранится на сервере поставщика услуг).
- Когда первый пользователь пишет второму, открытый ключ извлекается и используется для шифрования сообщения, чтобы оно было доступно только через закрытый ключ. Затем сообщение отправляется второму пользователю через сервер и расшифровывается им с помощью закрытого ключа.
В такой схеме данные, хранящиеся на сервере, бесполезны в зашифрованном виде. Они выглядят как набор букв с цифрами, который никто не может прочитать, не имея закрытого ключа. А ключ настолько сложен, что методы дешифрования ему не подходят — его случайно сгенерированные символы несопоставимы с символами открытого ключа. Если злоумышленник не может найти способ получить закрытый ключ с устройства пользователя, то вероятность прочтения переписки и выуживания информации сводится к нулю.
Удаление сообщений
Возможность удаления сообщений — это ещё одна важная часть головоломки. Хотя функция удаления сообщений есть во многих мессенджерах, нельзя быть уверенным на 100%, что сообщения действительно удаляются с серверов приложений и из баз данных. Только поставщики услуг знают правду, но часто не раскрывают её. Достоверно известно, что Facebook и Google хранят сообщения из вашей переписки. Но так не во всех мессенджерах, по крайней мере, можно лишь надеяться на это. В любом случае возможность удаления сообщений — большой шаг к построению доверительных отношений с пользователями.
Метаданные тоже считаются проблемным элементом при соблюдении конфиденциальности. Они используются для идентификации пользователей и их учётных данных. Большинство мессенджеров по умолчанию хранят метаданные сообщений, такие как время, отправитель и получатель, список контактов, идентификатор устройства. Эта информация может быть использована хакерами для идентификации пользователя и применения социальной инженерии, чтобы получить ключ дешифрования. В качестве примера приложения, хранящего метаданные, можно привести тот же WhatsApp.
Прозрачность для защищенных мессенджеров звучит двояко. С одной стороны, у вас должны быть прописаны определённые условия обслуживания, в которых говорится о намерении предоставить пользователю безопасную платформу с защитой конфиденциальности. Значит, переписка и данные о пользователях должны быть приватными, а не открытыми. С другой стороны, настоящим признаком безопасности приложения является открытый исходный код, который каждый может проверить на надёжность. Заодно это лёгкий способ повысить качество приложения силами программистов-энтузиастов, готовых проводить бесплатное тестирование интересных новинок.
Итого получается, что ценность защищенных мессенджеров основана на четырёх принципах:
- Сквозное шифрование.
- Возможность удаления сообщений.
- Ограниченное использование метаданных.
- Прозрачность сервиса и продукта.
Специалисты компании Usertch готовы заняться разработкой технического задания системы защиты информации, учтя все 4 принципа.
Популярные мессенджеры с шифрованием
Как правило, рейтинги составляются без учёта особенностей приложений (протоколы, функции), даже без сортировки на защищенные и классические. Поэтому, для полноты картины и соответствия теме, мы приводим выверенные списки защищенных мессенджеров, то есть использующих шифрование по умолчанию.
Лучшие мессенджеры с шифрованием по версии сайта AVG (компании Avast) от марта 2020 года:
- Signal.
- Wickr Me.
- Dust.
- WhatsApp.
- Telegram.
Лучшие мессенджеры с шифрованием по версии онлайн-издания TechRadar от апреля 2020 года:
- Signal.
- WhatsApp.
- Telegram.
- Threema.
- Silence.
Надеемся, что ваше будущее приложение для обмена сообщениями попадёт в один из таких рейтингов. А начать его разрабатывать мы можем в любое время, хоть прямо сейчас, если напишете нам.
Мессенджеры на блокчейне: почему они бесполезны
Даже защищенные мессенджеры сталкиваются с проблемами безопасности. Многие уже знают о технологии блокчейн и считают её решением безопасности. Естественно, компании пробуют внедрять блокчейн повсюду. Только потом оказывается, что чудо-технология не способна обезопасить абсолютно всё, снизить расходы и одновременно повысить доход.
В теории у блокчейна много областей применения, но на практике он пока приносит пользу лишь в сфере финансовых услуг, торговле и производстве. Если сузить круг интересов до мессенджеров, то здесь возникают два препятствия, которые приводят к несовместимости трендовой технологии с приложениями для обмена сообщениями.
Блокчейну нужно место для хранения
Первым препятствием при попытке использования блокчейна в мессенджерах становится хранилище для всего, что сопутствует отправляемым и получаемым сообщениям. Давно прошли те времена, когда сообщение представляло собой чистый текст. Сейчас это больше фотографии, голосовые сообщения, видеоролики, документы. Всему этому требуется место для хранения, о чём не задумываются пользователи неблокчейн-приложений.
Создатель блокчейн-мессенджера должен решить, где размещать все данные из сообщений. Блокчейну ведь нужны фуллноды — полные узлы с синхронизируемой копией реестра. Ими станут либо серверы владельца мессенджера, но тогда не будет децентрализации, либо устройства пользователей. А захотят ли люди хранить у себя гигабайты посторонней информации, тем более в смартфонах? У них встроенная память всего лишь 32–128 ГБ; карта microSDXC на 256 ГБ стоит около 3000 рублей. Для сравнения: в мае 2020 года размер блокчейна Биткоина достиг 280 ГБ, а Эфириума — 140 ГБ. Это только информация о транзакциях, без фото, аудио-, видеофайлов. Придётся как-то мотивировать участников сети поддерживать её функционирование.
Кроме того, у защищенных мессенджеров возникнет конфликт интересов: блокчейн будет хранить либо все сообщения (включая вложения), либо метаданные, и удалить их не получится. А это нарушение двух принципов из четырёх, на которых строится защита.
Блокчейну нужны валидаторы
Вторым препятствием становится алгоритм консенсуса, который необходим любому блокчейну для создания доверия между участниками сети. Недостаточно просто распределить реестр на тысячи устройств для хранения информации. Часть из них должна постоянно подтверждать действия пользователей перед тем, как добавить записи в блок. Например, в пиринговых платежных системах такими действиями являются криптовалютные транзакции. За валидацию транзакций майнеры, стейкеры или делегаты берут комиссию, за добавление блока в цепь получают от системы монеты. Валидаторам нужен стимул в виде вознаграждения, а иначе им нет смысла поддерживать сеть.
Если кому-то покажется интересной идея создать защищенный мессенджер на блокчейне, то новатор должен быть готов делиться чем-то с главными участниками сети. Тогда они тоже будут делиться своими ресурсами и временем на валидацию проходящих через сеть сообщений. Придётся заодно создавать токеномику там, где изначально она не была нужна. Всё взаимосвязано: без оплаты за действия не появятся валидаторы, без валидаторов не возникнет доверия, без доверия не найдётся столько пользователей, готовых держать фуллноды активными.
И в то же время эти главные участники сети становятся её узким местом. Если их будет мало, или если количество операций в секунду будет пиковым для системы, то они не будут успевать валидировать совершаемые пользователями действия, что приведёт к сильной задержке.
Возьмём Bitcoin: в идеальных условиях BTC-транзакция валидируется через 10 минут — столько времени нужно на создание блока. В мае 2020-го через сеть Биткоина проводилось в среднем 3,44 транзакции в секунду (задержек не было). Максимальная проходимость там составляет 7 транзакций в секунду. Лимит для блока получается: 7 * 60 * 10 = 4200 транзакций, а всё, что превысит его, ставится в очередь на следующие блоки.
Сравним с WhatsApp: в апреле 2020-го через этот мессенджер отправлялось в среднем 752 тысячи сообщений в секунду. Если бы WhatsApp работал на блокчейне Биткоина, то пользователи стояли бы в очереди на создание 179 блоков, которые смогут вместить такое количество сообщений. И вместо 1 секунды ждали бы 1790 минут, то есть на доставку сообщения уходили бы 1 сутки 5 часов 50 минут.
Кроме того, для защищенных мессенджеров никуда не денется нарушение принципов защиты конфиденциальности: сотни валидаторов плюс тысячи других участников сети будут видеть метаданные сообщений. Ценителей приватности беспокоит, что одна компания (например, Facebook) владеет их данными, а тут вся сеть будет знать, когда и кому они отправляли сообщения.
Какие возможности должен предоставлять пользователям защищенный мессенджер
Регистрация по номеру телефона
Удобство должно стоять на первом месте. Учитывая, что пользование начинается с регистрации, то оно станет проще, если людям не придётся запоминать пароли и другую информацию, необходимую для входа в приложение. К тому же злоумышленники могут получить доступ к электронной почте, а к сим-карте уже вряд ли.
Удаление сообщений и аккаунта
Возможность удаления сообщений — неотъемлемая функция, которая должна присутствовать в защищенном мессенджере. В некоторых мессенджерах можно включить удаление сообщений через заданный промежуток времени. Также и с удалением аккаунта: если пользователь не заходил в приложение в течение установленного срока, то аккаунт автоматически удаляется вместе со всеми диалогами и прочими данными.
Голосовые и видеозвонки
Общение не только с помощью текстовой переписки, но и в формате аудио- и видеозвонка — полезное свойство мессенджеров, про которое нет смысла много рассказывать. Предназначение и необходимость такого способа связи очевидны.
Групповые чаты
Создавая безопасные приватные чаты, пользователи могут вести зашифрованные беседы: с родственниками и друзьями — о личном, с коллегами и партнёрами — о бизнесе. При этом приложение станет идеальным, если сервер не будет иметь доступа ни к каким групповым метаданным, включая значки, заголовки, списки участников.
Обмен контентом
Передача изображений, аудио- и видеофайлов, документов — обязательная функция любого мессенджера. В защищенных она тоже должна присутствовать. Только желательно добавить в настройки опцию не сохранять или автоматически удалять полученные файлы из папки по умолчанию.
Какие возможности открывает бизнесу свой защищенный мессенджер
В бизнес-операциях общение стало важным элементом поддержания эффективного и динамичного рабочего процесса. Поскольку бизнесмены и их работники загружены множеством задач, мессенджеры превратились в их главных помощников. Однако так же, как помочь, они могут и навредить.
Потоки информации в Интернете всегда кем-то контролируются. Данные передаются через серверы из точки А в точку Б и далее. Переписка через мессенджер происходит через стороннего поставщика услуг. Хотя условия сервиса предполагают, что все пользовательские данные считаются конфиденциальными и поэтому неприкасаемыми, они доступны поставщику услуг. Это значит, что теоретически они могут использоваться и в других целях, помимо хранения информации, поскольку пользователи принимают условия соглашения. А люди обычно не читают условия, либо не замечают хитрых формулировок, где представитель сервиса снимает с себя ответственность за конфиденциальность данных.
Выходит, что пользоваться некоторыми приложениями для обмена сообщениями небезопасно: поставщик услуг может оказаться ненадёжным. Одно дело, когда пользователь идёт на компромисс, и совсем другое, когда сервис скомпрометирован. Бизнесмены не должны рисковать своей конфиденциальной информацией.
В таком случае собственный мессенджер с шифрованием решит проблему защиты ваших данных при общении. Вы можете сделать приложение закрытым: регистрация будет доступна только по приглашению существующим пользователем или конкретным человеком. Хранить данные на своём сервере, всегда иметь возможность полностью удалить их — вы сами будете контролировать информацию, которая проходит через ваш мессенджер.
Стоимость создания мессенджера с шифрованием
Разработка защищенного мессенджера — это сложный и трудоёмкий процесс. Нельзя собрать толпу из недорогих фрилансеров и выполнить задачу за несколько дней. Бэкенд для такого приложения имеет особые нюансы, и только с грамотным подходом можно упростить процесс, уменьшить срок разработки и её стоимость. Всё зависит от используемого стека технологий и реализуемых функций.
Для такой работы нужна квалифицированная команда разработчиков с тестировщиками. Профессионалы сделают так, чтобы безопасность общения и решения бизнес-вопросов через мессенджер была на 100% конфиденциальной, а информация не утекла в посторонние руки.
Если приложение разрабатывается не для узкого круга пользователей, а для всего мира, то надо планировать шире и дальше. Чтобы ваш новый мессенджер заметили, вам понадобится уникальная бизнес-модель, удобный и дружелюбный пользовательский интерфейс, а также проработанный маркетинговый план.
Само создание защищенного мессенджера состоит из таких этапов:
Написание технического задания (если у вас его нет) — от 50 часов.
Бизнес-анализ и спецификация — от 40 часов.
UI и UX дизайн — около 150 часов.
Разработка бэкенда — более 500 часов, в зависимости от требуемых функциональных возможностей приложения и количества платформ (ОС).
Разработка мобильного приложения — более 320 часов.
Тестирование — около 250 часов, в зависимости от количества платформ и функциональности.