2. Аутентичность. Личность вашего собеседника должна быть подтверждена. В надежном мессенджере для подтверждения аутентичности используются более надежные и безопасные идентификаторы, чем адрес электронной почты или номер телефона, – специальные внутренние идентификаторы, зашифрованные в виде QR-кодов, которыми собеседники должны обмениваться по другим каналам связи (и подтверждать, что у каждого код отображается без изменений). Кроме того, вы, возможно, не хотите, чтобы адрес вашей электронной почты и номер вашего телефона были известны собеседникам или хранились в вашем профиле в мессенджере.
3. Целостность. Вы должны быть уверены, что ваш собеседник получил сообщение именно в том виде, в котором вы его передали, т. е. никто не изменил его во время передачи. Благодаря шифрованию, если посторонний попробует что-то изменить в передаваемом сообщении, то собеседник получит поврежденное сообщение, которое невозможно расшифровать, – так реализуется целостность.
Для сокрытия факта разговора используется еще один уровень шифрования: после того как сообщение было зашифровано вашим с собеседником открытым ключом, оно шифруется еще раз с другой парой ключей – вашим и тем, который создан сервером. Злоумышленник может обнаружить, что вы послали сообщение, но благодаря второму уровню шифрования даже не узнает кому именно. На сервере сообщение расшифровывается (только второй уровень), определяется адресат и вновь зашифровывается парой ключей сервера и получателя, чтобы злоумышленник не смог узнать, кто отправитель (он может определить только получателя). Цель злоумышленника – выявить два одинаковых по размеру сообщения из числа поступивших на сервер и отправленных с него и таким образом определить отправителя и получателя. Чтобы предотвратить сравнение всех зашифрованных сообщений, система добавляет некоторую дополнительную нагрузку, чтобы все сообщения отличались по размеру. Недостаток лишь в том, что разработчикам мессенджера известны оба фрагмента информации – и об отправителе, и о получателе, – но все же им неизвестно содержание сообщения.
4. Прямая секретность. Если разговор услышал посторонний, вы должны быть уверены, что он не слышал, о чем говорили до его появления.
5. Будущая (обратная) секретность. Если разговор услышал посторонний, вы должны быть уверены, что он не услышит, о чем будут говорить после его ухода.
6. Для достижения секретности (как прямой, так и обратной) нужно время от времени менять ключи. В этом случае злоумышленник сможет прочитать только фрагмент переписки между перевыпусками ключей.
7. Возможность отрицать сказанное. В случае действительно приватного разговора только вы и ваш собеседник можете процитировать его. В этой ситуации ваши слова («Я такого не говорил!») противоречат словам вашего собеседника («Вы это сказали!»), и ни одна из сторон не может доказать свою правоту
[352]. Так как сообщения обоих собеседников шифруются одним и тем же открытым ключом, невозможно точно определить отправителя каждого сообщения.
Максимально безопасный мессенджер сочетает все описанные аспекты и, кроме того, шифрует резервные копии сообщений; также он защищен от создания снимков экрана (обратите внимание: это не панацея, так как собеседник может сфотографировать экран смартфона). Кроме того, рекомендуется выбирать мессенджер с открытым исходным кодом
[353] – это позволяет сообществу исследователей и специалистов по информационной безопасности (ИБ) убедиться в отсутствии «подводных камней» и проинформировать разработчиков о багах, если таковые обнаружены. Также полезна функция самоуничтожения сообщений, которые автоматически удаляются сразу или спустя определенное время после прочтения. Функция имеет свои недостатки, например получатель может сделать снимок вашего сообщения, прежде чем оно будет удалено. Вы будете об этом уведомлены (кроме случаев, когда скриншот сделал пользователь macOS)
[354].
Примечание. Настороженно относитесь к веб-версиям мессенджеров. К примеру, существует веб-интерфейс WhatsApp, работающий через защищенный протокол HTTPS
[355]. Но, как и при использовании любых других сайтов, ресурсы, необходимые для запуска приложения, загружаются при каждом новом посещении сайта, т. е. даже если веб-браузер поддерживает шифрование, веб-приложение может быть подменено вредоносной версией и ваши сообщения могут быть перехвачены злоумышленниками
[356].
У каждого «защищенного» мессенджера есть свои преимущества и недостатки. К примеру, Threema не запрашивает для идентификации адрес электронной почты или номер телефона, что, безусловно, плюс, но этот мессенджер имеет закрытый исходный код и внесен в «Реестр организаторов распространения информации»
[357]. Исходный код мессенджера Signal открыт и протестирован специалистами по ИБ, которые не нашли в нем существенных недостатков
[358], но в то же время для аутентификации он запрашивает номер телефона, деанонимизируя пользователя. Это особенно опасно, поскольку в РФ оператор мессенджера имеет право оказывать услуги только тем пользователям, которых он идентифицировал по номерам их мобильных телефонов и которым присвоил уникальный код идентификации
[359],
[360]). Бесплатный кроссплатформенный мессенджер Wire поддерживает сквозное шифрование переписки и переговоров. При регистрации требуется адрес электронной почты, телефонный номер указывать необязательно. Недостаток большинства мессенджеров – они централизованы, т. е. имеют центральное звено перенаправления трафика, серверы. Это тоже важный аспект, потому что: