Шифрование в мессенджерах не работает так, как нужно (Даже в Telegram)
Загляните в описание современного мессенджера. Везде вы увидите надпись, что сообщения и звонки зашифрованы сквозным шифрованием. И что ни мессенджер, ни третьи лица не смогут прочитать и прослушать переписку. End-to-end - так называется эта технология. И она стала популярна в маркетинговых материалах социальных сетей и мессенджеров в 2019 году.
Частично это объясняется скандалами вокруг Facebook и приватности данных пользователей. Причем, во многих случаях, очередная новость про шифрование лишь объявляет, что оно уже было включено в социальную сеть изначально. Facebook недавно запустил целый сайт для осведомления пользователей о своих технологиях защиты данных. (вставить ссылку)
Но фишка в том, что эти технологии не способны обеспечить 100% защиты. Из за особенностей использования современных мессенджеров, технологии защиты приватности просто не могут работать так как надо.
Технические детали
Сквозное шифрование или end-to-end encryption (E2EE) это система связи, где единственными людьми, которые могут читать сообщения, являются люди, которые общаются друг с другом. Ни один перехватчик не может получить доступ к криптографическим ключам, необходимым для расшифровки разговора. Сообщения не сможет прочитать даже сама компания Telegram и WhatsApp.. или все таки сможет? Разберемся, как это работает.
Слово «сквозное» означает, что сообщения шифруются так, что допускается только один уникальный получатель сообщения, который может его расшифровать. Другими словами, криптографические ключи хранятся только на компьютерах или телефонах собеседников, а сервер компании действует как почтальон, передавая сообщения, которые сам не может. Но если сервер компании не знает ключ, то как ключ попадает на устройство пользователя?
Ответ: Шифрование с открытым ключом.
В криптосистемах с открытым ключом программа на вашем телефоне генерирует пару ключей. Один, называемый секретным ключом, используется для расшифровки принятых сообщений и никогда не покидает ваше устройство. Другой, называемый открытым ключом, используется для шифрования отправляемых сообщений и разработан так, что только определенный закрытый ключ может расшифровывать эти сообщения. Перед началом переписки, два пользователя, незаметно для себя, обмениваются открытыми ключами, и после этого никто другой не сможет прочитать их сообщения друг для друга.
Почему это не работает?
Но сквозное шифрование не панацея от всех бед. Есть 3 определения, разбивающих могущество end-to-end, и поднимающие вопрос безопасности в мессенджерах. Это: массовые чаты, атака MITM (человек посередине), и особенности использования мессенджеров людьми.
Массовые чаты, по определению, не предполагают наличия сквозного шифрования, потому что количество пользователей в них больше одного. В них, по старинке, ключ шифрования хранится на сервере мессенджера. А, следовательно, любой массовый чат может быть дешифрован по желанию владельцев мессенджера, или силовых структур, которые получили ключ дешифровки.
Атака MITM
Вместо того, чтобы пытаться расшифровать сообщения, злоумышленник может выдать себя за одного из собеседников. В этом случае, он перехватит сообщения от одного человека прочитает их при помощи ключа другого человека, потом зашифрует обратно и пошлет адресату. Собеседники даже не в курсе, что между ними третье лицо, читающее переписку. Такая хакерская атака известна как «человек посередине», или Man-in-the-middle. Чтобы бороться с этой тактикой, некоторые программы шифрования генерируют уникальные одноразовые строки символов на основе открытых ключей, которые нельзя использовать дважды. Но и такой способ защиты можно обойти.
Особенности использования мессенджеров
Мы обожаем смайлики, любим быстрые, короткие сообщения. Еще мы пишем тогда, когда нам хочется, а не когда собеседник находится онлайн. И это все плохо сказывается на шифровании end-to-end.
Шифровать множество коротких сообщений одним ключом — плохая идея. Всего за день переписки их создаются сотни (если не тысячи). Во многих сообщениях количество шифротекста минимальное и предсказуемое (смайлик, стикер). Современные компьютеры, буква за буквой, смогут подобрать ключ к расшифровке ваших больших сообщений, перехватив множество маленьких и однотипных.
А офлайн-собеседники, которые не могут принять ваше сообщение в данный момент, вынуждают WhatsApp и Telegram хранить копии зашифрованных сообщений на серверах. Ничего не мешает серверам мессенджеров в этот момент выполнить ту самую атаку «человек посередине», и сама эта возможность подрывает безопасность переписки.
И, наконец, самое главное. Любое шифрование требует больших вычислительных затрат со стороны телефонов пользователей. По-этому, пользователям помогают сервера мессенджеров, упрощая некоторые моменты шифрования. И в эти моменты наши сообщения становятся уязвимыми, и мы ничего не можем с этим поделать.
Существуют относительно безопасные мессенджеры, вроде Signal. Но они не смогут предложить пользователям того многообразия функция и простоты использования, которое предлагают популярные программы, вроде Telegram и Whatsapp. Каждый раз мы все больше меняем нашу приватность на удобство пользования.
Это не призыв отказаться от удобных повседневных инструментов общения. Но вам, однозначно, нужно держать эту информацию в голове.